1. 什么是数字证书?
数字证书就是网络通讯中标志通讯各方身份信息的一系列数据,其作用类似于现实生活中的身份证。它是由一个权威机构发行的,人们可以在交往中用它来识别对方的身份。
最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。一般情况下证书中还包括密钥的有效时间,发证机关(证书授权中心)的名称,该证书的序列号等信息,证书的格式遵循ITUT X.509国际标准。
一个标准的X.509数字证书包含以下一些内容:
证书的版本信息;
证书的序列号,每个证书都有一个唯一的证书序列号;
证书所使用的签名算法;
证书的发行机构名称,命名规则一般采用X.500格式;
证书的有效期,现在通用的证书一般采用UTC时间格式,它的计时范围为1950-2049;
证书所有人的名称,命名规则一般采用X.500格式;
证书所有人的公开密钥;
证书发行者对证书的签名。
使用数字证书,通过运用对称和非对称密码体制等密码技术建立起一套严密的身份认证系统,从而保证:信息除发送方和接收方外不被其它人窃取;信息在传输过程中不被篡改;发送方能够通过数字证书来确认接收方的身份;发送方对于自己的信息不能抵赖。
2. 为什么要使用数字证书?
由于Internet网电子商务系统技术使在网上购物的顾客能够极其方便轻松地获得商家和企业的信息,但同时也增加了对某些敏感或有价值的数据被滥用的风险。买方和卖方都必须保证在因特网上进行的一切金融交易运作都是真实可靠的,并且要使顾客、商家和企业等交易各方都具有绝对的信心,因而因特网电子商务系统必须保证具有十分可靠的安全保密技术,也就是说,必须保证网络安全的四大要素,即信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份的确定性。
信息的保密性
交易中的商务信息均有保密的要求,如信用卡的帐号和用户名被人知悉,就可能被盗用,订货和付款的信息被竞争对手获悉,就可能丧失商机。因此在电子商务的信息传播中一般均有加密的要求。
交易者身份的确定性
网上交易的双方很可能素昧平生,相隔千里。要使交易成功首先要能确认对方的身份,商家要考虑客户端是不是骗子,而客户也会担心网上的商店不是一个玩弄欺诈的黑店。因此能方便而可靠地确认对方身份是交易的前提。对于为顾客或用户开展服务的银行、信用卡公司和销售商店,为了做到安全、保密、可靠地开展服务活动,都要进行身份认证的工作。对有关的销售商店来说,他们对顾客所用的信用卡的号码是不知道的,商店只能把信用卡的确认工作完全交给银行来完成。银行和信用卡公司可以采用各种保密与识别方法,确认顾客的身份是否合法,同时还要防止发生拒付款问题以及确认订货和订货收据信息等。
不可否认性
由于商情的千变万化,交易一旦达成是不能被否认的。否则必然会损害一方的利益。例如订购黄金,订货时金价较低,但收到订单后,金价上涨了,如收单方能否认受到订单的实际时间,甚至否认收到订单的事实,则订货方就会蒙受损失。因此电子交易通信过程的各个环节都必须是不可否认的。
不可修改性
由于商情的千变万化,交易一旦达成应该是不能被否认的。否则必然会损害一方的利益。例如订购黄金,订货时金价较低,但收到订单后,金价上涨了,如收单方能否认收到订单的实际时间,甚至否认收到订单的事实,则订货方就会蒙受损失。因此电子交易通信过程的各个环节都必须是不可否认的。
数字安全证书提供了一种在网上验证身份的方式。安全证书体制主要采用了公开密钥体制,其它还包括对称密钥加密、数字签名、数字信封等技术。
我们可以使用数字证书,通过运用对称和非对称密码体制等密码技术建立起一套严密的身份认证系统,从而保证:信息除发送方和接收方外不被其它人窃取;信息在传输过程中不被篡改;发送方能够通过数字证书来确认接收方的身份;发送方对于自己的信息不能抵赖。
3. 数字认证原理
数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样信息就可以安全无误地到达目的地了。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密。
在公开密钥密码体制中,常用的一种是RSA体制。其数学原理是将一个大数分解成两个质数的乘积,加密和解密用的是两个不同的密钥。即使已知明文、密文和加密密钥(公开密钥),想要推导出解密密钥(私有密钥),在计算上是不可能的。按现在的计算机技术水平,要破解目前采用的1024位RSA密钥,需要上千年的计算时间。公开密钥技术解决了密钥发布的管理问题,商户可以公开其公开密钥,而保留其私有密钥。购物者可以用人人皆知的公开密钥对发送的信息进行加密,安全地传送以商户,然后由商户用自己的私有密钥进行解密。
如果用户需要发送加密数据,发送方需要使用接收方的数字证书(公开密钥)对数据进行加密,而接收方则使用自己的私有密钥进行解密,从而保证数据的安全保密性。
另外,用户可以通过数字签名实现数据的完整性和有效性,只需采用私有密钥对数据进行加密处理,由于私有密钥仅为用户个人拥有,从而能够签名文件的唯一性,即保证:数据由签名者自己签名发送,签名者不能否认或难以否认;数据自签发到接收这段过程中未曾作过任何修改,签发的文件是真实的。
4. 数字证书是如何颁发的?
数字证书是由认证中心颁发的。根证书是认证中心与用户建立信任关系的基础。在用户使用数字证书之前必须首先下载和安装。
认证中心是一家能向用户签发数字证书以确认用户身份的管理机构。为了防止数字凭证的伪造,认证中心的公共密钥必须是可靠的,认证中心必须公布其公共密钥或由更高级别的认证中心提供一个电子凭证来证明其公共密钥的有效性,后一种方法导致了多级别认证中心的出现。
数字证书颁发过程如下:用户产生了自己的密钥对,并将公共密钥及部分个人身份信息传送给一家认证中心。认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内附了用户和他的密钥等信息,同时还附有对认证中心公共密钥加以确认的数字证书。当用户想证明其公开密钥的合法性时,就可以提供这一数字证书。
5. 加密技术
由于数据在传输过程中有可能遭到侵犯者的窃听而失去保密信息,加密技术是电子商务采取的主要保密安全措施,是最常用的保密安全手段。加密技术也就是利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密)。
加密包括两个元素:算法和密钥。一个加密算法是将普通的文本(或者可以理解的信息)与一窜数字(密钥)的结合,产生不可理解的密文的步骤。密钥和算法对加密同等重要。
密钥是用来对数据进行编码和解码的一种算法。在安全保密中,可通过适当的密钥加密技术和管理机制,来保证网络的信息通讯安全。密钥加密技术的密码体制分为对称密钥体制和非对称密钥体制两种。
相应地,对数据加密的技术分为两类,即对称加密(私人密钥加密)和非对称加密(公开密钥加密)。对称加密以数据加密标准(DES,Data Encryption Standard)算法为典型代表,非对称加密通常以RSA(Rivest Shamir Ad1eman)算法为代表。对称加密的加密密钥和解密密钥相同,而非对称加密的加密密钥和解密密钥不同,加密密钥可以公开而解密密钥需要保密。
⑵ 加密算法和技术在生活中的应用
RSA算法主要是在建立HTTP保密通信的时候来用,微软先在windows上保存了自己用的公钥,然后通过微软认证的人给我们发了一个认证的信息,我们就可以用windows上的公钥来解密同时确认那个认证是不是有效的。HHTP保密通信建立了以后,我们主要是通过AES加密算法来做数据通信。
我们平时都是用用户名和密码来登陆网站,但是如果将用户名和密码直接发送到网站是有风险的,如果网站被别人攻击,人家就会拿到我们的用户和密码,一般的做法是将密码用SHA算法处理以后,将sha算法的结果发给网站。因为通过sha的结果不能算出输入的数据。所以攻击的人只能是拿到用户,他拿不到密码。
⑶ 人工智能算法解决新挑战,智能算法是什么是如何运行的
由于人工智能缺乏可解释性,人们越来越关注人工智能主体的接受和信任问题。多年来,对可解释性的重视在计算机视觉、自然语言处理和序列建模等领域取得了巨大的进展。随着时间的推移,这些类型的编码指令变得比任何人想象的都更加全面和复杂。人工智能算法已经进入了这一领域。人工智能算法是机器学习的一个子领域,它引导计算机学习如何独立工作。因此,为了优化程序并更快地完成工作,小工具将继续学习。
人工智能算法也每天都在使用。尽管关于美国联邦政府如何保护个人数据信息的问题尚不清楚,但对特定方面和通信的计算机软件监控已经在防止国内外的重大恐怖行为。这只是人类使用人工智能不断发展和扩大的一种经验。人类对人工智能的使用拓宽了我们的视野,使事情变得更简单、更安全,并使子孙后代更幸福。
⑷ 数字图像处理的基本算法及要解决的主要问题
图像处理,是对图像进行分析、加工、和处理,使其满足视觉、心理以及其他要求的技术。图像处理是信号处理在图像域上的一个应用。目前大多数的图像是以数字形式存储,因而图像处理很多情况下指数字图像处理。此外,基于光学理论的处理方法依然占有重要的地位。
图像处理是信号处理的子类,另外与计算机科学、人工智能等领域也有密切的关系。
传统的一维信号处理的方法和概念很多仍然可以直接应用在图像处理上,比如降噪、量化等。然而,图像属于二维信号,和一维信号相比,它有自己特殊的一面,处理的方式和角度也有所不同。
目录
[隐藏]
* 1 解决方案
* 2 常用的信号处理技术
o 2.1 从一维信号处理扩展来的技术和概念
o 2.2 专用于二维(或更高维)的技术和概念
* 3 典型问题
* 4 应用
* 5 相关相近领域
* 6 参见
[编辑] 解决方案
几十年前,图像处理大多数由光学设备在模拟模式下进行。由于这些光学方法本身所具有的并行特性,至今他们仍然在很多应用领域占有核心地位,例如 全息摄影。但是由于计算机速度的大幅度提高,这些技术正在迅速的被数字图像处理方法所替代。
从通常意义上讲,数字图像处理技术更加普适、可靠和准确。比起模拟方法,它们也更容易实现。专用的硬件被用于数字图像处理,例如,基于流水线的计算机体系结构在这方面取得了巨大的商业成功。今天,硬件解决方案被广泛的用于视频处理系统,但商业化的图像处理任务基本上仍以软件形式实现,运行在通用个人电脑上。
[编辑] 常用的信号处理技术
大多数用于一维信号处理的概念都有其在二维图像信号领域的延伸,它们中的一部分在二维情形下变得十分复杂。同时图像处理也具有自身一些新的概念,例如,连通性、旋转不变性,等等。这些概念仅对二维或更高维的情况下才有非平凡的意义。
图像处理中常用到快速傅立叶变换,因为它可以减小数据处理量和处理时间。
[编辑] 从一维信号处理扩展来的技术和概念
* 分辨率(Image resolution|Resolution)
* 动态范围(Dynamic range)
* 带宽(Bandwidth)
* 滤波器设计(Filter (signal processing)|Filtering)
* 微分算子(Differential operators)
* 边缘检测(Edge detection)
* Domain molation
* 降噪(Noise rection)
[编辑] 专用于二维(或更高维)的技术和概念
* 连通性(Connectedness|Connectivity)
* 旋转不变性(Rotational invariance)
[编辑] 典型问题
* 几何变换(geometric transformations):包括放大、缩小、旋转等。
* 颜色处理(color):颜色空间的转化、亮度以及对比度的调节、颜色修正等。
* 图像合成(image composite):多个图像的加、减、组合、拼接。
* 降噪(image denoising):研究各种针对二维图像的去噪滤波器或者信号处理技术。
* 边缘检测(edge detection):进行边缘或者其他局部特征提取。
* 分割(image segmentation):依据不同标准,把二维图像分割成不同区域。
* 图像制作(image editing):和计算机图形学有一定交叉。
* 图像配准(image registration):比较或集成不同条件下获取的图像。
* 图像增强(image enhancement):
* 图像数字水印(image watermarking):研究图像域的数据隐藏、加密、或认证。
* 图像压缩(image compression):研究图像压缩。
[编辑] 应用
* 摄影及印刷 (Photography and printing)
* 卫星图像处理 (Satellite image processing)
* 医学图像处理 (Medical image processing)
* 面孔识别, 特征识别 (Face detection, feature detection, face identification)
* 显微图像处理 (Microscope image processing)
* 汽车障碍识别 (Car barrier detection)
[编辑] 相关相近领域
* 分类(Classification)
* 特征提取(Feature extraction)
* 模式识别(Pattern recognition)
* 投影(Projection)
* 多尺度信号分析(Multi-scale signal analysis)
* 离散余弦变换(The Discrete Cosine Transform)
⑸ 北京北大青鸟:程序员为什么要学习算法以及应用领域
对于许多编程开发程序员来说,组织开发架构等技术应该都掌握了不少了,那么大家是否懂得算法相关的技术呢?今天,北京电脑培训http://www.kmbdqn.cn/就一起来了解一下,程序员为什么要学习算法以及应用领域的问题。
学习算法的重要性在介绍具体算法之前,我先谈一下个人对学习算法的初心。
我的初心无非有两点:一,BAT等互联网公司招聘面试时要问算法知识,如果想要进入互联网公司,我就必须学好算法;二,通过学习算法提升个人开发的基本功,这样一来,对于不同场景我就可以正确选择对应的数据结构和算法,使得程序更健壮,提高程序的运行效率。
应用领域目前计算机各个细分领域涉及到不同的算法。
比如说搜索引擎,平时我们使用google、网络等浏览器,只要我们输入一个关键字,浏览器就会快速地返回相关的集合,这个集合的背后就隐藏着许多算法。
如果没有这些算法,我们是不可能这么快速地得到想要的结果。
再比如说人工智能,通过计算模型算法实现人体识别、语音识别等各应用场景。
算法分析上文我们已经介绍到算法就是解决问题的方法,而对于同一个问题,可能存在不同的解决方法。
因此,为了衡量一个算法的优劣,提出了时间复杂度与空间复杂度这两个概念。
时间复杂度一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数f(n),算法的时间度量记为T(n)=O(f(n)),它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐近时间复杂度,简称时间复杂度。
空间复杂度空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度,记做S(n)=O(f(n))。
一个算法的优劣主要从算法的执行时间和所需要占用的存储空间两个方面衡量。
⑹ 算法给我们带来了巨大的影响,算法到底改变了什么
一、算法改变了我们接受信息的方式。算法技术应用在生活中的方方面面,无论我们是通过浏览器接受新闻,还是通过微博、微信、资讯类APP接受新闻,我们都不自觉地受着算法给我们带来的影响。基于大数据的算法,通过掌握用户以往的浏览记录和搜索历史推测用户可能感兴趣的内容。于是主动给用户推荐相关内容,我们接收信息的方式从偶然看到或是刻意检索,变成了各种APP主动给我们推荐。从这个角度来说,算法让我们接收信息的方式由主动变得被动起来。
我们享受着技术带来的便捷,同时我们也要警惕技术可能存在的问题。就像是算法技术可能存在的隐患,凡是有利有弊,一体有两面。因此,无论即便算法本身没有错,我们依然要谨慎使用该技术,并且要将此技术关在笼子里,不让居心叵测之人运用来侵害大多数的权益。
⑺ 贵阳北大青鸟:程序员为什么要学习算法以及应用领域
对于许多编程开发程序员来说,组织开发架构等技术应该都掌握了不少了,那么大家是否懂得算法相关的技术呢?今天,贵阳电脑培训http://www.kmbdqn.cn/就一起来了解一下,程序员为什么要学习算法以及应用领域的问题。
学习算法的重要性在介绍具体算法之前,我先谈一下个人对学习算法的初心。
我的初心无非有两点:一,BAT等互联网公司招聘面试时要问算法知识,如果想要进入互联网公司,我就必须学好算法;二,通过学习算法提升个人开发的基本功,这样一来,对于不同场景我就可以正确选择对应的数据结构和算法,使得程序更健壮,提高程序的运行效率。
应用领域目前计算机各个细分领域涉及到不同的算法。
比如说搜索引擎,平时我们使用google、网络等浏览器,只要我们输入一个关键字,浏览器就会快速地返回相关的集合,这个集合的背后就隐藏着许多算法。
如果没有这些算法,我们是不可能这么快速地得到想要的结果。
再比如说人工智能,通过计算模型算法实现人体识别、语音识别等各应用场景。
算法分析上文我们已经介绍到算法就是解决问题的方法,而对于同一个问题,可能存在不同的解决方法。
因此,为了衡量一个算法的优劣,提出了时间复杂度与空间复杂度这两个概念。
时间复杂度一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数f(n),算法的时间度量记为T(n)=O(f(n)),它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐近时间复杂度,简称时间复杂度。
空间复杂度空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度,记做S(n)=O(f(n))。
一个算法的优劣主要从算法的执行时间和所需要占用的存储空间两个方面衡量。
⑻ 2.算法设计或项目开发中,你碰到哪些问题或困难,如何解决的
开发过程中遇到具体的技术问题,解决方案如下:自己查阅官网,看官方文档,还有就是自己平时的积累(包括看书、资料、博客等等)。
遇到问题不要害怕,也不要烦躁,静下心来,想想问题出现的原因以及该怎么去解决,每解决一个问题都是对自己能力的提升。而且每解决一个难以搞定的问题,我相信大部分人都是很高兴的。
平时多看技术资料、博客、书,看重对自己知识的积累,才能有实质性的能力提升。掌握解决问题的方式,谦虚的向别人请教,日复一日,相信你一定可以解决掉所有的困难。
⑼ 如何解决算法多样化带来的问题
提倡算法多样化是新课标倡导的重要思想,是指尊重学生的独立思考,鼓励学生探索解题的不同方法。我在教学中也进行了算法多样化的尝试。
在教学时,我创设了一个情景:出示铅笔,“这是一盒铅笔,里面装了10支铅笔,这里还有5支铅笔,老师这里一共有多少支铅笔?”学生很快算出来是15支,我又问:“我有15支铅笔,要送给小朋友9支,还剩多少支?”并写出算式:15-9= 我让学生通过从15支铅笔中拿走9支铅笔的办法来解这个算式,问学生“谁愿意来拿走9支?并说说你是怎么拿的?”
生1:我是先拿走5支,再从10里拿4支。15-5=10 10-4=6
生2:我是从10里拿走9支。10-9=1 1+5=6
生3:我是先从10里拿走4支,再拿走外面的5支。10-4=6
生4:我还有不同的方法。我从外面拿走4支,再从10里面拿走5支。
5-4=1 10-5=5 1+5=6
生5:我从外面拿走1支,再从10里拿走8支。5-1=4 10-8=2 4+2=6
生6:我从10里面拿走7支,从5里拿走2支。10-7=3 5-2=3 3+3=6
生7:因为9+6=15 所以15-9=6
学生热闹的发言给出了多种不同的方法,确实可以说是做到算法多样化了,可是面对这许多种算法,我心里有点着急。一急:这每一种方法都要给学生一一介绍吗?光是第一种方法,如果要学生掌握,大概需要半节课。每一种方法都介绍,课怎么上得完呢?二急:要不要从这众多的算法中选出优算法?如何选?三急:如果要选优算法,应重点选择哪种方法?四急:还有一部分学生连一种方法都不清楚,我要不要讲解?五急:如果不把每一种算法都讲清楚,学生怎么会知道这种方法是否适合他?也许没讲到的那种方法刚好就是最适合他的呢?六急:对一部分学生,如果不把一些思维方式强加于他,他可能一直会用数手指头的方法,难道就让他一直这样吗?……
但是,课堂教学的紧迫容不得我的茫然,我选择了介绍了生1和生2的方法,并着重让学生通过摆小棒的办法领悟第2种方法。
这个处理过程可以说是我把我个人的看法和思想强加给了学生,这不是我希望看到的情形。学习是为了什么?要不要学到一定的知识?答案是肯定的。可是当不是所有的学生都能主动建构知识的时候,教师该如何做呢?
算法多样化的教学思考及其策略把握
“鼓励算法的多样化”是新课程标准的一个重要理念。当前,根据新课程标准编制的各种版本的教材,都将这个重要理念摆在突出的位置。算法多样化已得到广大教师的极大关注和积极实践,但在算化多样化的理解和把握上则各不相同:有的教师要求学生对各种方法都要理解掌握,有的教师认为应该从中选取一种最好的方法,还有的教师认为应尊重学生的“原创算法”,让学生“你想怎么算就怎么算”。可见,在算法多样化的教学中确实存在着急需解决的实践问题。
以“20以内退位减法”为例,叙述了自己在教学中进行算法多样化的尝试,并提出了自己的教学困惑(即文中的“六急”)。回顾我镇实施新课程的起步阶段,我镇基层教师在进行算法多样化教学时也曾经历过,因此她的困惑具有一定的普遍意义。下面就结合我镇在算法多样化上的研究和实践,谈谈我们对算法多样化的教学认识以及策略把握。
一、为什么要提倡算法多样化
1.这是计算教学的价值所在
随着计算机(器)的普及,计算教学的要求正在逐步降低,计算教学的目的正在发生转变,不仅是原先要求学生熟练、正确的计算技能(实际上新课程标准已降低了计算要求);更重要的是,计算教学的价值是突出算法思维,在倡导算法多样化的过程中,培养学生的创新精神、探索意识和解决问题的能力。我国着名数学家吴文俊院士在数学机械化领域的开创性工作,引发了国际数学界对中国古代数学的传统(即算法化思想)的重新审视。当前我们的中小学数学教学应当继承和挖掘我国古代数学传统之精华。因而有学者提出,身处信息社会的学生必须掌握两种重要的思维方法,即批判性思维和算法思维。长期以来,我国的小学数学教学把培养学生的计算能力作为小学数学基础的核心,但面对计算机信息技术的迅猛发展以及国际数学教育的改革潮流,小学数学的基础不能仅仅停留在“熟练的计算能力上”。对于计算教学,应当从传统的“方法统一和过分强调计算技能”转变为“尊重学生的个性特点、关注学生思维能力的培养”。所以,计算教学不仅仅是培养学生的计算技能,还要培养学生推理计算的能力,强调算法思维的多样性。算法多样化的本质是让学生从自己已有的知识与经验出发学习新知识,鼓励学生通过独立思考而探寻解题的方法。对于“15 -9”的算法探索,体现了“知识再发现”的要求,这对培养学生的创新精神和探索意识是极其有利的。
2.这是尊重学生不同认知方式的体现
以往的数学教学中,过分地强调解题方法的唯一性或计算方法的最优化,而忽视了学生解决问题过程中不同的思维方式和不同解决策略的探索。实际上,在计算教学中,由于学生认知方式的不同,在探索过程中必然会引发计算方法的多样性。认知方式是个体在知觉、思维、记忆和解决问题等认知活动中加工和组织信息时所显示出来的独特而稳定的风格。认知方式没有优劣之分,只是表现为学生对信息加工方式的某种偏爱。教学中,特别是在新知识的探索阶段,理应尊重每一个学生的个性特征,允许不同的学生从不同的角度认识问题,采用不同的方式表达自己的想法,用不同的知识与方法解决问题。面对新知识,学生用自己过去的经验与本领来加以解决,教师给予适当的鼓励和评价,这是尊重学生不同认知方式的体现。
二、如何把握算法多样化
1.注意算法的简约化和优化
一方面,学生认知水平各有高低,这决定了其解决问题的方法必然存在优劣之分。有时学生的方法会显得过于繁琐,如生4、生5和生6的方法;有时学生的方法缺乏思维的共性,无法作为基本方法而供学生选用等。另一方面,推动数学发展的内在动力之一,就是数学家探索方法的简单化和最优化。因此,教师在教学中倡导算法多样化的同时,还要引导学生对多样化的方法进行一定的简化与优化(不是指最优化),把简化与优化的过程作为学生反思以及进一步探索的过程。如果在教学中对学生良莠并存的各种思维方式以及算法视而不见,对影响学生后继学习的核心基础知识和基本方法放任不管,那么就会失去教师“教”的真正意义,学生也就失去了自我反思、比较、交流和提升的机会。
2.明确每个教学阶段的目的
(1)探索阶段,重在倡导算法的多样化。教学中,让学生通过自主探索、独立思考,提出自己解决问题的方法。如果有的学生有困难,允许学生之间进行一定的讨论与交流;对于认知水平较高的学生,还要鼓励他们提出不同的解决方法。这一阶段,教师教学的重要策略就是启发、引导、鼓励学生,让学生“你想怎么算就怎么算”。学生主要通过自主探索,提出解决问题的方法,培养学生的探索意识和解决问题的能力。需指出的是:其一,算法多样化不等同于“一题多解”。在教学中,有的老师往往把算法多样化等同于“一题多解”,要求所有学生尽可能地探索出几种方法,结果使一部分认知水平较低的学生产生畏惧情绪,也增加了学生不必要的负担。对此,北京师范大学周玉仁教授指出两者是有区别的。她认为,“一题多解”是面向学生个体,尤其是中等以上水平的学生,遇到同一道题可有多种思路多种解法,目的是为了发展学生思维的灵活性。而“多样化”是面向学生群体的,学生可以用自己喜欢或能理解的算法,对学生个体来说,不要求每人都想出或掌握两种或更多种算法;同时在群体多样化时,通过交流、评价可以吸收或改变自己原有的算法。这对我们广大教师来说,具有很强的实践指导意义。其二,算法多样化应防止陷入形式化的误区。我们强调自主探究,倡导算法多样化是以关注学生的独立思考,尊重学生的个性为重要目标的。教学中,教师不必煞费苦心“索要”多样化的算法,片面追求算法多样化的探究,那只能是造成学生低层次思维的重复,或者“依他人之样画瓢”而已。生4、生5和生6的计算方法,反映出教师在算法多样化的处理上有这样的影子,教师还没有准确把握操作和思维的关系。
(2)总结阶段,重在对算法进行归纳与优化。在学生自主探索的基础上,把自己解决问题的方法进行交流与汇总。这里要强调的是,教师一定要引导学生在交流与汇总的基础上对学生提出的各种解题方法给予分析、归纳与优化。不然,算法的多样化有时往往会让一些中、差生感到眼花缭乱,无所适从,以致方法越多越糊涂,达不到算法多样化的教学目的。事件中学生通过自己的探索,全班交流得出的计算方法有7种之多,但很可惜,教师没有引导学生对各种方法进行一定的分析与归纳、简化与优化。
其实在这一阶段,教师要引导学生对各种方法进行一定的考察,分析各种方法的特点,并对各种方法进行一定的归类。事件中生1的计算方法是“平十法”(又称“连减法”);生2的计算方法是“破十法”;生3、生4、生5和生6的计算方法都是通过把15和9进行分拆,再利用原有的不退位减法和加法知识加以解决的,属于同一类;生7的计算方法是利用加减法之间的关系,即“做减法,想加法”而加以解决的。在此基础上,对于各类方法可以作进一步分析,让学生感悟、理解探索和解决问题的数学思想方法,即把要解决的新知转化为学过的旧知而加以顺利解决。对于生3、生4、生5和生6的计算方法,引导学生去分析这些方法的缺点和弱点而加以舍弃,以突出基本原理和通用方法,切实加强数学课程的基础性。通过上述的教学处理,即在倡导算法多样化的基础上,引导学生对多样化的算法进行分析与归纳、简化与优化。
(3)应用阶段,则应当鼓励算法的个性化。即尊重学生的不同认知风格,允许学生“你喜欢用什么方法就用什么方法计算”。我们倡导算法的多样化,决不是简单地让学生“你想怎么算就怎么算”,而是在对多样化算法的分析与总结的基础上,倡导科学、合理的方法,舍弃不科学、不合理的方法,再让学生“你想怎么算就怎么算”,真正体现出算法多样化的本质要求。在应用阶段,教师鼓励学生算法个性化,自主选择经过大家归纳、优化后自己所理解、认可和喜欢的一种方法;但同时不排斥一部分认知水平较高的学生,用自己喜欢的多种计算方法计算;同样,也允许个别学习困难的学生暂时保留经过优化已遭淘汰的方法。当然,这里允许个别特殊学生保留已遭淘汰的方法,并不是说教师可以迁就学生的现有发展水平,放弃教师的主导作用,而是必须因势利导,不失时机地启发学生超越自我,真正体现教学是为了促进学生发展的宗旨。
视角2
对算法多样化的几点思考与建议
思考一:
到底什么是算法多样化?为什么要鼓励算法多样化?算法多样化不是对学生个体的要求,而是面向学生群体的。学习是学生在已有知识经验基础上的自主建构活动,而学生之间的差异是客观存在的,对于同一道计算题,解题思路往往不尽相同。面对全班学生,教师只讲解一种算法的教学,容易忽视学生的个别差异,遏制学生的创造性。鼓励算法多样化,是让每个学生用自己最能理解的方法进行计算,通过交流评价从中得到启发,在各自的基础上得到发展。
思考二:
算法多样化,是不是算法越多越好?在学生回答完一种方法后,教师常会不停地追问“还有吗?”,于是,学生有时会为算法的多样而挖空心思。案例中的学生,有从10里拿走9支的,也从10里拿走8支、拿走7支、拿走4支的。我想,在老师的“还有吗”下,可能有学生会从10里拿走6支、拿走5支的。上述每一种拿法应该是有区别的,但不是我们所要鼓励的算法多样化。其实,教师在这里应该适时引导:”小朋友们这几种拿法是不同的,但是,我们的想法其实是一样的,都是——“,引导学生归类,让他们体会到这些想法属于同一类,并进一步比较发现,从10里拿走9的方法,计算最简单方便。注意,算法多样化,关注的不是形式的多样,而是想法的多样。对于学生形式的多样,教师要作引导。算法多样化,绝不是算法越多越好。
思考三:
多样的算法要不要优化?在学生出现了多种算法后,教师常会说“你们可以用自己喜欢的方法进行计算”,看似非常尊重学生的选择,其实是一种简单化的处理。如若学生喜欢扳手指计算,教师也任其喜欢?数学是讲“优化”的,教师应该引导学生对多种算法进行比较,让学生体会到哪种算法是最简捷、最容易的方法。当然,有些算法很难说出孰优孰劣,就让学生凭经验自己做选择。
建议:
对本节课的教学,有三点建议:(1)“谁愿意来拿走9支?并说说你是怎么拿的?”这一提问会妨碍学生自己的思考,学生在拿的过程中不太会有“用加算减”的想法,然而,这也是应该让学生学会的一种算法;(2)问题出示后,教师要给出一定的时间让学生独立思考、尝试计算,最好能让学生在小组内交流自己的想法,而不是要求学生迅速做出反应,因为那样往往是少部分学优生积极参与,其余学生被动旁听,很难真正做到算法多样化;(3)教师要适时介入(特别是当学生中出现从10中拿几的想法一致、拿法不同的时侯),及时地引导,让学生在交流、比较中获得新的认识,思维得到发展。
⑽ 问题 : 结合不同算法技术解决某个实际问题的一个实例。 (就是一个问题中同时要用到多个算法技术,举
在3D图形运算里 需要计算平移 角度 映射 等等一系列坐标相关运算
这里就要用到矩阵 欧拉角 四元数来进行操作了 因为矩阵不能做插值运算 而四元数可以有很好的插值效果 四元数不好理解不便于输入 当然矩阵也是 矩阵需要输入9个值(3X3矩阵) 而欧拉角 只需要3个值 不过欧拉角在计算旋转时会有万向锁问题 所以需要用矩阵或四元数来计算。