03信息技术学科基础与前沿.docx
- 文档编号:27486245
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:206
- 大小:1.60MB
03信息技术学科基础与前沿.docx
《03信息技术学科基础与前沿.docx》由会员分享,可在线阅读,更多相关《03信息技术学科基础与前沿.docx(206页珍藏版)》请在冰豆网上搜索。
03信息技术学科基础与前沿
硕士学位课程教材系列
信息技术学科技术与前沿
FoundationandFrontierofInformationTechnology
目录
目录····································································02
课程信息································································03
专题一计算机科学基础···················································06
第二节人工智能综述·····················································18
第三节信息学竞赛简介与OJ简介··········································30
第四节计算机安全中的计算机病毒·········································45
第五节高校数字化校园概述···············································66
第六节交换技术简介·····················································77
第七节搜索引擎简介····················································100
第八节多核计算概述····················································119
第九节嵌入式系统开发技术··············································135
第十节Android基础及其应用开发技术简介·································155
文献资源································································171
课程简介
【课程性质】
专业必修课程
【课程学分】
本课程共计3学分
【教学目标】
以深化教学改革、更新教育理念为先导,以培养专业基础扎实、适应性强的教师人才的培养要求为目标,以建设优秀教材为核心,以提高师资队伍素质和教学方法为关键,努力把《学科基础与发展前沿》这门课程建设成为集科学性、先进性、教育性、整体性、有效性和示范性于一身的精品课程。
【教学方式】
网络教学
【考核方式】
本课程要进行期中和期末两次阶段测试,测试方式为实时在线测试。
考核测试题包括思考讨论题、在线测试题和小组合作任务题等。
思考讨论题将以专题为单位,每个专题提供2-3个思考与讨论题。
思考与讨论题有助于加深教育硕士研究生对课程内容的理解,有助于引导研究生运用所学理论思考和分析教育实践问题。
在线测试题将提供不少于4套测试题(期中和期末各2套)。
阶段性在线测试旨在监控研究生的学习过程,促进研究生注重平时学习,同时检查研究生对课程基本内容的掌握情况。
小组合作研究题要提供3-5个的小组合作研究题供研究生选择。
合作研究题应有助于引导研究生运用所学知识,通过相互合作,解决教育实际问题。
课程内容简介:
在《学科基础与发展前沿》这门课程中,我们将从“可计算性”、“计算复杂性分析”、“物联网”、“云计算”、“神经网络”、“模式识别”、“数字图像处理”、“视频跟踪”、“智能算法”、“信息搜索”这十个专题来进行授课。
【学习建议】
一、结合自己的工作实际学习本课程
理论联系实际是我们学习任何知识的一条基本原则。
所谓理论联系实际原则,就是在学习过程中,既要能够联系实际以掌握理论基础知识,又要能够运用理论去分析和说明实际,达到观点和材料、理论和实际、学与用、知与行的辩证统一。
理论联系实际原则的基本要求是:
一要掌握理论,二要联系实际。
单纯强调理论固然不对,如果抛弃理论,单纯强调经验和实际也是不对的,关键是在两者的结合上下工夫。
二、在弄懂各专题逻辑结构的基础上掌握本课程的知识点
学习本课程,首先应该在各专题网络资源的指导下认真通读必读文献,弄懂知识的逻辑结构,然后再着重学习各个部分的内容,既突出重点,又覆盖全面,以收“事半功倍”之效。
三、掌握开放学习的策略和方法
开放学习是学习化社会中人们学习的主要形式。
它与开放教育是一致的,它强调教育工作的出发点应以学习者为转移,无论是教学信息、资料、教学过程、教学方法、教学媒体、教学管理等都应以学习者为中心。
开放学习是相对于封闭学习而言的,远程开放学习则是开放学习系统的一个部分。
所谓开放学习的策略和方法,是指一个人在开放学习的新环境中,用以促进其获得知识或技能的内部的和外部的策略、方法、技巧的总和。
在现代远程开放学习的情境中,学习者最关键的是要学会怎样学习。
学会学习是指:
学习者要能把更多的时间(包括闲暇时间)用于积极学习,并能从学习中得到乐趣,喜欢学习并希望能多学些;要发展向自己提供反馈的技能;知道在哪些方面已学好,哪些方面学得不太好,并懂得需要做些什么,以便改进学习;在遇到学科中特定而具体的学习困难时,能熟练地从书本、电子邮件、朋友和教师那儿寻找答案与寻求帮助。
开放学习的策略和方法主要包括以下5个方面:
1.激发动机,确定学习目标
日新月异的现代信息社会带来了新的环境,不断地激励着人们要继续学习。
人们为了适应社会的发展和自身的发展需求,也从内部自发地产生要不断学习的需求,这样的需求产生学习的动机,学习动机是使个人趋向一定目标的内在动力,是隐藏在学习行为背后的内驱力。
内驱力的大小与开放学习的成效密切相关。
对每个学习者来说其学习的动机都各不相同,不同的动机会产生不同的目标;同时,目标又对激发、维持学习动机起支配和调节作用。
因此,一个人在学习之前,就应该磨砺自己的学习动机,同时制定远大而具体的学习目标。
2.分析自我,制定学习计划
确定了自己的学习目标以后,应拟定实现目标的计划,即如何充分利用新环境的一切资源,包括人、财、物、时空和教学信息等为开放学习服务。
要拟定自我计划,首先要进行自我分析,包括与自我相关的新环境的分析。
如分析自己已有的认知水平,找出自己的长处、短处;分析与开放学习相关的物质环境和人际环境;科学地运筹学习的时间与空间等。
3.运用反馈,进行自我调节
在开放学习中,由于与教师接触少,在学习过程中要想取得成效,自我调节控制显得十分重要。
开放学习的自我调节不仅与个人有关,而且还受所处的环境和行为事件的影响。
人、行为和环境三者之间相互影响又要靠反馈的信息产生作用。
作为开放学习的学员,应善于寻找、运用学习过程中的反馈信息。
开放学习中的反馈信息有教师的辅导、教师批改的作业、平时练习、终结性考试和实践性操作等。
由于是开放学习,这些反馈信息往往是难以获取而且时间较长,善于自我调节者就要善于及时捕捉反馈信息,并运用它。
4.寻求合作,协同学习
开放学习系统创造了个别化学习的环境,有利于民主化、个性化学习,但不能把个体学习封闭化。
21世纪,要求懂知识,能操作,善合作,会生存的人才,因此,要在开放学习中提倡合作学习精神。
合作学习要求学习者在一定区域范围内根据不同合作的条件组成学习小组,在各自独立学习,获取教学信息之后,交换学习心得、体会,互相提问,相互评价,以寻找协作之间的非线性的学习增长效益。
事实证明,在开放学习中,有组织小组学习的学习者比没有组织学习小组的学习者的平均学习成绩更高,学习效果更好。
5.讲求实效,自我评价
开放学习不是敷衍、搪塞他人的被动学习。
它是个体内在的自我的学习需求,因此,要求学习应有自我负责精神,要能增长知识,有改变个体行为的实际作用。
自我评价就是开放学习中自我发起的自我负责学习的主要手段之一。
开放学习中的自我评价具有自我诊断、自我激励、自我调控和自我改进学习的功能。
只有在学习者对自己决定评价准则、学习目的,以及达到目的的程度等都认真地负起责任的时候,开放学习才会真正取得实效。
专题一计算机科学基础
【主要内容】
1.基础知识
2.可计算性
3.计算复杂性
4.求解NP问题的基本思路
5.进一步理解NP问题
一、简介
本讲主要介绍可计算性与计算复杂性理论涉及到的最基本知识以及相关概念,集中在计算理论的可计算性与计算复杂性。
计算机的基本能力和限制是什么?
这个问题要回溯到20世纪30年代,那时数理逻辑学家们首先开始探究计算的含义。
自那时起以来,技术进步极大地增强了我们的计算能力,并且把这个问题从理论王国带进现实世界。
在可计算性与计算复杂性中的每一个领域内,对这个问题作了不同的解释,并且答案随着解释的不同而各不相同。
我们将分别介绍可计算性和计算复杂性的相关知识。
1.可计算性理论
对于计算机这门学科,他的最基本问题是要考虑研究对象是什么的问题,换言之,什么是可以计算的,什么是不可以计算的。
这就引出了计算机科学领域的一个非常重要的概念:
可计算性。
在21世纪前半叶,数学家们,如歌德尔(KurtGödel)、图灵(AlanTuring)及丘奇(AlonzoChurch),发现一些基本问题是不能用计算机解决的。
确定一个数学命题是真是假就是一个例子。
这项工作是数学家的生计。
用计算机来解决似乎是天经地义的,因为这是数学王国里的事。
但是,没有计算机算法能够完成这项工作。
关于计算机理论模型思想的发展是这一意义深远的结论的成果之一,它最终促使建造出实际的计算机。
可计算理论与复杂性理论是密切相关的。
在复杂性理论中,目标是把问题分成容易的和困难的;而在可计算理论中,是把问题分成可解的和不可解的。
2.计算复杂性理论
计算的问题是各种各样的,有的容易,有的困难。
例如,排序是一个容易的问题,比如说需要按升序排列一张数表,即使一台小型计算机都相当快地处理100万个数。
与时间表问题比较一下,比如说要制定一所大学的课程表,课程表必须满足某些合理的限制,如不能有两个班在同一时间使用同一教室。
时间表问题看来比排序问题困难得多。
如果有1000个班,即使是使用一台超级计算机,制定一份最好的课程表也可能需要若干世纪。
是什么使某些问题很难计算,又使另一些问题容易计算?
这是复杂性理论的核心问题。
值得注意的是,虽然在过去的二十多年里对它进行了深入细致的研究,但是我们仍然不知道它的答案。
以后我们将探究这个迷人的问题和它的一些分支。
迄今为止,复杂性理论的一个重要成果是,发现了一个按照计算难度给问题分类的完美体系。
它类似按照化学性质给元素分类的周期表。
运用这个体系,我们能够提出一种方法给出某些问题是难计算的证据,尽管还不能证明它们是难计算的。
当你面对一个看来很难计算的问题时,有几种选择。
首先,搞清楚问题困难的原因,你可能会做某些变动,使问题变的容易解决。
其次,你可能会求出问题的不那么完美的的解。
在某些情况下,寻找问题的近似解相对容易一些。
第三,有些问题仅仅在最坏的情况下是困难的,而在绝大多数的时候是容易的。
就应用而言,一个偶尔运行得很慢、而通常运行得很快的过程是能够令人满意的。
最后,你可以考虑其他类型的计算,如随机计算,它能够加速某些工作。
受到复杂性理论直接影响的一个应用领域是密码技术,这是一个古老的研究领域。
在绝大多数的情况下,容易计算的问题比难计算的问题更可取,因为求解容易的问题的代价要小。
密码技术与众不同,它特别需要难计算的问题,而不是容易计算的问题。
在不知道密钥或口令时,密码应该是很难破译的。
复杂性理论给密码研究人员指出了寻找计算问题的方向,围绕这些问题已经设计出新的革命性的编码。
二、可计算性与图灵机
1.可计算函数
在这一节将引进整个讲义的最基本概念――可计算函数。
设P为一n元程序,则对每组输入值
x1=a1,x2=a2,¼xn=an
都计算出一个值y,因此可使每一个程序P对应一个函数。
不同的程序可对应于同一函数。
设P是以x1,x2,¼xn为输入变量的n元程序,则将用
jp(x1,x2,…,xn)
表示程序P所对应的函数。
具体如下:
因此jp2(x1,x2)是无定义函数。
上面两个程序是处处无定义的一元和二元函数。
定义1函数f(x1,x2,¼,xn)被称为部分可计算的,若有一程序P使得
jp(x1,x2,¼,xn)=f(x1,x2,¼,xn)
这里等号“=”表示:
或者两边都无定义,或者两边都有定义并且其值相同。
定义2函数f(x1,x2,¼,xn)被称为全函数,若它对一切x1,x2,¼,xn的值都有定义。
定义3函数f(x1,x2,¼,xn)被称为可计算函数,若它是部分可计算的而且是全函数。
可计算函数不只要求有计算它的程序,且要求永远有定义。
可计算函数是部分可计算函数的特殊情形
2.图灵机
现在开始研究一种新的计算装置—Turing(图灵机)。
Turing机和Post-Turing机类似,它有一个带和指针
Turing和Post-Turing机一样有三个基本动作:
1.往带上输出符号
2.把指针右移一格;
3.把指针左移一格。
每个Turing机都有自己的字母表和状态集:
字母表S={S0,S1,S2,…,SK}
状态集Q={q1,q2,q3,…,qN}
在状态集中有一个特殊的状态叫做初始状态。
我们假定q1为初始状态。
Turing机的每步动作由所谓的四元组来确定。
每个四元组完成一个基本动作并转入下一个状态。
四元组有三类,具体如下:
四元组中L和R是特殊符,它们区别于字母表中符号Si。
四元组中前两个符号表示条件,第三个符号表示动作内容,第四个符号表示要转入的下一个状态。
图灵用形式化方法成上述这种功地表述了计算这一过程的本质:
所谓计算就是计算者(人或机器)对一条两端可无限延长的纸带上的一串0和1执行指令,一步一步地改变纸带上的0或1,经过有限步骤,最后得到一个满足预先规定的符号串的变换过程。
图灵机具有如下性质:
定义4函数f(x1,x2,…,xn)是Turing部分可计算的。
若有—Turing机计算它。
(而不是程序)
定义5函数f(x1,x2,…,xn)是Turing可计算的,若函数f(x1,x2,…,xn)是Turing部分可计算并且是全函数。
由此图灵机存在一个重要的论题:
Church-Turing论题:
凡是可计算的过程都可用图灵机实现;
换言之,图灵机的计算能力要强于目前任何一台计算机,计算机科学所处理的研究对象是:
可以被图灵机实现的计算问题
三、计算复杂性与图灵机
1.P问题与NP问题
考虑计算复杂类中最常见的两类问题:
P类和Np类问题,我们可以利用图灵机对P和NP问题进行划分:
P类:
确定性图灵机在多项式时间内可以判定的问题
NP问题:
在非确定型图灵机上多项式时间可解的问题
由上可知,P类包含于NP类中。
P与NP的另一种定义:
多项式时间算法,设某算法C的时间复杂度是
,其中
是问题规模,有
,
是多项式函数,则称C算法是多项式时间算法。
即:
时间复杂度函数是
的算法
指数时间算法:
时间复杂性函数不能表示成
的算法(包括:
:
非多项式函数,不是指数函数)
P类问题={有多项式时间算法解决的判定问题}。
NP类问题={对问题的一个猜想存在多项式时间算法来验证它的判定问题}
2.NP完全问题和NP难问题
NP完全问题:
我们称一个问题q是NP完全的,那么q满足如下性质:
q是NP的
对于任意的一个NP问题q0,都可以在多项式的时间转换为等价的q问题
换言之,要证明一个问题是NP完全的,首先需要证明它至少是一个NP问题,再证明其中一个已知的NP完全问题能约化到它。
根据NP完全问题的定义可以看出,如果我们可以证明一个NP完全问题可以在多项式时间求解,那么P等于NP。
因为既然所有的NP问题都能约化成NP完全问题,那么只要任意一个NP完全问题找到了一个多项式的算法,那么所有的NP问题都能用这个算法解决了,NP也就等于P了。
NP难问题和NP完全问题的区别在于,不需要满足上述性质中的第一个性质,从这我们可以看出NP难问题要比NP完全问题更为困难。
3.NP完全问题实例
问题1图着色问题
判定问题:
是否存在不超过k种颜色的着色方案?
优化问题:
求图的最小着色数和着色方案
问题2子集和数问题s1,s2,┅,sn,C
判定问题:
是否存在和数等于C的子集?
优化问题:
求≤C的最大子集和数.
可归约为背包问题:
pi=wi.
问题3TSP(旅行商)问题
判定问题:
任意给定一整数k,是否存在一长度不超过k的Hamiltonian回路?
优化问题
问题4:
顶点覆盖:
无向图中的每一条边都被某些节点关联
判定问题:
给定无向图G和正整数k,是否存在一k节点覆盖.
优化问题:
最小节点覆盖
问题5:
给定一无向图G,k-独立集;最大独立集.
问题6:
给定一无向图G,k-集团;最大集团.
四、NP完全问题的求解方法
1.完全算法
假设P、NP不相等,理论上只存在求解NP完全问题的指数时间算法;因此对最坏情况下算法时间上界的一个微小改进,例如从O(ck)改进为O((c-e)k)都会提高甚至大幅度的提高算法的求解效率和难解问题的可解范围。
对算法时间上界的改进通常采用两种方法,其一是引入新的化简规则,其二是选择合适的时间测度。
以3-SAT问题为例,Dantsin等人提出了短语覆盖方法,证明了O(1.5n)的算法时间上界。
Schiermeyer利用纯文字预测的方法,提出了在O(1.497n)时间内求解3-SAT问题的算法。
Dantsin等人采用覆盖码技术将算法上界改进为O(1.481n)。
目前精确算法的3-SAT问题的最好的算法在最坏情况下时间上界是Kutzkov等人给出的O(1.439n)。
Schoning从随机算法的角度通过在随机行走算法中引入了多次启动的概念证明了其在求解3-SAT问题时的上界是O(1.334n)。
在随机算法方面目前最好的上界为Rolf等人给出的(O(1.323n))。
但是从无论采用何种改进,目前尚无求解NP完全问题的高效的完全算法。
2.近似求解算法
由于完全算法无法快速高效的求解NP完全问题,近似求解算法就是很好的补充,利用近似求解算法我们虽然无法保证求解的完备性和最优性,但是可以以较大概率求得解或者求得次优解。
在这些近似求解算法中,局部搜索算法是其中的重要组成部分之一,主要包括:
1)爬山算法
从当前的节点开始,和周围的邻居节点的值进行比较。
如果当前节点是最大的,那么返回当前节点,作为最大值(既山峰最高点);反之就用最高的邻居节点来,替换当前节点,从而实现向山峰的高处攀爬的目的。
如此循环直到达到最高点。
2)模拟退火算法
模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。
根据Metropolis准则,粒子在温度T时趋于平衡的概率为e-ΔE/(kT),其中E为温度T时的内能,ΔE为其改变量,k为Boltzmann常数。
用固体退火模拟组合优化问题,将内能E模拟为目标函数值f,温度T演化成控制参数t,即得到解组合优化问题的模拟退火算法:
由初始解i和控制参数初值t开始,对当前解重复“产生新解→计算目标函数差→接受或舍弃”的迭代,并逐步衰减t值,算法终止时的当前解即为所得近似最优解。
3)遗传算法
遗传算法是仿真生物遗传学和自然选择机理,通过人工方式所构造的一类搜索算法,从某种程度上说遗传算法是对生物进化过程进行的数学方式仿真。
生物种群的生存过程普遍遵循达尔文进化准则,群体中的个体根据对环境的适应能力而被大自然所选择或淘汰。
进化过程的结果反映在个体的结构上,其染色体包含若干基因,相应的表现型和基因型的联系体现了个体的外部特性与内部机理间逻辑关系。
通过个体之间的交叉、变异来适应大自然环境。
生物染色体用数学方式或计算机方式来体现就是一串数码,仍叫染色体,有时也叫个体;适应能力是对应着一个染色体的一个数值来衡量;染色体的选择或淘汰则按所面对的问题是求最大还是最小来进行。
4)粒子群算法
属于进化算法的一种,和遗传算法相似,它也是从随机解出发,通过迭代寻找最优解,它也是通过适应度来评价解的品质,但它比遗传算法规则更为简单,它没有遗传算法的“交叉”(Crossover)和“变异”(Mutation)操作,它通过追随当前搜索到的最优值来寻找全局最优。
这种算法以其实现容易、精度高、收敛快等优点引起了学术界的重视,并且在解决实际问题中展示了其优越性。
5)禁忌搜索
禁忌搜索(TabuSearch简称TS)的思想最早由Glover(1986)提出,它是对局部领域搜索的一种扩展,是一种全局逐步寻优算法,是对人类智力过程的一种模拟。
TS算法通过引入一个灵活的存储结构和相应的禁忌准则来避免迂回搜索,并通过藐视准则来赦免一些被禁忌的优良状态,进而保证多样化的有效探索以最终实现全局优化。
相对于模拟退火和遗传算法,TS是又一种搜索特点不同的meta-heuristic算法。
6)蚁群算法
蚁群算法(antcolonyoptimization,ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。
它由MarcoDorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。
蚁群算法是一种模拟进化算法,初步的研究表明该算法具有许多优良的性质.针对PID控制器参数优化设计问题,将蚁群算法设计的结果与遗传算法设计的结果进行了比较,数值仿真结果表明,蚁群算法具有一种新的模拟进化优化方法的有效性和应用价值。
3.未来进展
P是否等于NP迄今无人证明,研究人员从其他途径试图寻找比图灵机更为强大的计算工具来求解NP问题,比较著名的有DNA计算和量子计算方法
1)DNA计算
DNA计算是计算机科学和分子生物学相结合而发展起来的新型研究领域。
它以DNA为计算工具,利用DNA反应的强大并行计算能力,成功地解决了诸如哈密尔顿路径、最大Clique等NP难题。
DNA可能是完成计算的最完美材料。
DNA计算的创始人是美国南加州大学的莱昂那多·阿德莱曼教授,他于1994年利用DNA计算方法解决了一个著名的数学难题“七顶点哈密尔顿路径”。
最近,科学家们开始利用DNA计算来创造生物计算机,放在人体或生物体工作,其计算结果可通过荧光蛋白的活动来读取。
DNA计算是利用DNA双螺旋结构和碱基互补配对规律进行信息编码,将要运算的对象映射成DNA分子链,通过生物酶的作用,生成各种数据池,再按照一定的规则将原始问题的数据运算高度并行地映射成DNA分子链的可控的生化反应过程。
最后,利用分子生物技术(如聚合链反应PCR、超声波降解、亲和层析、克隆、诱变、分子纯化、电泳、磁珠分离等),检测所需要的运算结果。
从数学上讲,单链DNA可看作由符号A、C、G、T组成的串,同电子计算机中编码0和1一样,可表示成4字母的集合来译码信息。
特定的酶可充当“软件”来完成所需的各种信息处理工作。
不同的酶用于不同的算子,如限制内核酸酶可作为分离算子,DNA结合酶可作为绑结算子,DNA聚合酶可作为复
制算子,外核酸酶可作为删除算子等。
这样,通过对DNA双螺旋进行丰富的、精确可控的化学反应以完成各种不同的运算过程,就可研制成一种以DNA为芯片的新型计算机。
已被证
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 03 信息技术 学科 基础 前沿