精华内容
下载资源
问答
  • 偏微分方程的弱形式
    千次阅读
    2019-09-26 10:43:31

    (1)理解1
    强弱的区分在于是否完全满足物理模型的条件。
    所谓强形式,是指由于物理模型的复杂性,各种边界条件的限制,使得对于所提出的微分方程,对所需要求得的解的要求太强,也就是需要满足的条件太复杂
    将微分方程转化为弱形式就是弱化对方程解的要求,不拘泥于个别特殊点的要求,而放松为一段有限段上需要满足的条件,使解能够以离散的形式存在
    链接1:http://blog.sina.com.cn/s/blog_642b4b710100lv4n.html
    (2)理解2:数学上的理解
    PDE方程是带有偏微分算子的方程,而能量方程是以积分形式表达的。积分形式的好处就是特别适合于有限元方法,而且不用担心积分变量的不连续,这在偏微分方程中比较普遍。弱形式一般是对强形式方程(微分方程)的积分方程形式,拥有和积分形式同样的优点,但是他对积分变量的连续性要求更低。
    链接2:http://blog.sina.com.cn/s/blog_6163bdeb0102dxmf.html

    更多相关内容
  • COMSOL_弱形式.doc

    2020-01-11 15:46:12
    一般情况下,PDE方程都已经内置在COMSOL Multiphysics的各个模块当中,这种情况下,没有必要去了解PDE方程及其相关的弱形式。有时候可能问题是没有办法用COMSOL Multiphysics内置模块来求解的,这个时候可以使用...
  • 形式和弱形式

    千次阅读 2012-06-23 03:51:48
    形式和弱形式 要从求解偏微分方程说起。。。 (1) 分部积分 偏微分方程(uv)中常用到分部积分,分部积分的前提是弱化方程中算子导数的阶次,即u的阶次减小了,v的阶次增加了。 (2)一维函数...

    http://blog.sina.com.cn/s/blog_642b4b710100lv4n.html

    强形式和弱形式 要从求解偏微分方程说起。。。




    (1) 分部积分

    偏微分方程(u和v)中常用到分部积分,分部积分的前提是弱化方程中算子导数的阶次,即u的阶次减小了,v的阶次增加了。

    (2)一维函数和二维函数的统一

    对于一维函数,能量的表达式是位移和力的乘积积分,求解的结果是u;

    对上述方程采用分部积分,得到第二个自变量v,此时方程为偏微分积分方程。

    (3) 强形式和弱形式

    强弱的区分在于是否完全满足物理模型的条件。所谓强形式,是指由于物理模型的复杂性,各种边界条件的限制,使得对于所提出的微分方程,对所需要求得的解的要求太强。也就是需要满足的条件太复杂。比如不连续点的跳跃等等。将微分方程转化为弱形式就是弱化对方程解的要求。不拘泥于个别特殊点的要求,而放松为一段有限段上需要满足的条件,使解能够以离散的形式存在。

    一个满足强形式微分方程的解,一定也是弱形式方程的解,这个是保证强弱转换合理性的根本。

    (4) 有限元的思路


    有限元就是这种弱形式的表现,不需要满足单元上任一点的条件,至少满足积分点的条件。如上所述,采用分部积分,本质上可以说:弱形式对函数(u)的连续性要求的降低是以提高权函数(v)的连续性要求为代价的,由于原来对权函数并无连续性要求,但是适当提高对其连续性要求并不困难,因为它们是可以选择的已知函数。
    展开全文
  • 类型和弱类型的语言有什么区别

    万次阅读 多人点赞 2019-09-11 17:20:50
    类型语言  类型语言也称为类型定义语言。是一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用。  java、.NET、C++等都是... 与其相对应的是类型语言:数据类型...

    强类型语言

      强类型语言也称为强类型定义语言。是一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用。

      java、.NET、C++等都是强制类型定义的。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。

    例如你有一个整数,如果不显式地进行转换,你不能将其视为一个字符串。

      与其相对应的是弱类型语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。

      强类型和弱类型的语言有什么区别

      弱类型语言

      弱类型语言也称为弱类型定义语言。与强类型定义相反。像vb,php等就属于弱类型语言·

      一种类型可以被忽略的语言,与强类型定义相反。VBScript是弱类型定义的。在VBScript中,可以将字符串‘12’和整数3进行连接得到字符串‘123’,然后可以把它看成整数123,而不需要显示转换。

      但其实它们的类型没有改变,VB只是在判断出一个表达式含有不同类型的变量之后,自动在这些变量前加了一个clong()或(int)()这样的转换函数而已。能做到这一点其实是归功于VB的编译器的智能化而已,这并非是VB语言本身的长处或短处。

      强类型语言和弱类型语言的区别

      编译型和解释型

      我们先看看编译型,其实它和汇编语言是一样的:也是有一个负责翻译的程序来对我们的源代码进行转换,生成相对应的可执行代码。这个过程说得专业一点,就称为编译(Compile),而负责编译的程序自然就称为编译器(Compiler)。如果我们写的程序代码都包含在一个源文件中,那么通常编译之后就会直接生成一个可执行文件,我们就可以直接运行了。但对于一个比较复杂的项目,为了方便管理,我们通常把代码分散在各个源文件中,作为不同的模块来组织。这时编译各个文件时就会生成目标文件(Object file)而不是前面说的可执行文件。一般一个源文件的编译都会对应一个目标文件。这些目标文件里的内容基本上已经是可执行代码了,但由于只是整个项目的一部分,所以我们还不能直接运行。待所有的源文件的编译都大功告成,我们就可以最后把这些半成品的目标文件“打包”成一个可执行文件了,这个工作由另一个程序负责完成,由于此过程好像是把包含可执行代码的目标文件连接装配起来,所以又称为链接(Link),而负责链接的程序就叫……就叫链接程序(Linker)。链接程序除了链接目标文件外,可能还有各种资源,像图标文件啊、声音文件啊什么的,还要负责去除目标文件之间的冗余重复代码,等等,所以……也是挺累的。链接完成之后,一般就可以得到我们想要的可执行文件了。

      上面我们大概地介绍了编译型语言的特点,现在再看看解释型。噢,从字面上看,“编译”和“解释”的确都有“翻译”的意思,它们的区别则在于翻译的时机安排不大一样。打个比方:假如你打算阅读一本外文书,而你不知道这门外语,那么你可以找一名翻译,给他足够的时间让他从头到尾把整本书翻译好,然后把书的母语版交给你阅读;或者,你也立刻让这名翻译辅助你阅读,让他一句一句给你翻译,如果你想往回看某个章节,他也得重新给你翻译。

      两种方式,前者就相当于我们刚才所说的编译型:一次把所有的代码转换成机器语言,然后写成可执行文件;而后者就相当于我们要说的解释型:在程序运行的前一刻,还只有源程序而没有可执行程序;而程序每执行到源程序的某一条指令,则会有一个称之为解释程序的外壳程序将源代码转换成二进制代码以供执行,总言之,就是不断地解释、执行、解释、执行……所以,解释型程序是离不开解释程序的。像早期的BASIC就是一门经典的解释型语言,要执行BASIC程序,就得进入BASIC环境,然后才能加载程序源文件、运行。解释型程序中,由于程序总是以源代码的形式出现,因此只要有相应的解释器,移植几乎不成问题。编译型程序虽然源代码也可以移植,但前提是必须针对不同的系统分别进行编译,对于复杂的工程来说,的确是一件不小的时间消耗,况且很可能一些细节的地方还是要修改源代码。而且,解释型程序省却了编译的步骤,修改调试也非常方便,编辑完毕之后即可立即运行,不必像编译型程序一样每次进行小小改动都要耐心等待漫长的Compiling…Linking…这样的编译链接过程。不过凡事有利有弊,由于解释型程序是将编译的过程放到执行过程中,这就决定了解释型程序注定要比编译型慢上一大截,像几百倍的速度差距也是不足为奇的。

      编译型与解释型,两者各有利弊。前者由于程序执行速度快,同等条件下对系统要求较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)、VB等基本都可视为编译语言,而一些网页脚本、服务器脚本及辅助开发接口这样的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言,如Java、JavaScript、VBScript、Perl、Python等等。

      但既然编译型与解释型各有优缺点又相互对立,所以一批新兴的语言都有把两者折衷起来的趋势,例如Java语言虽然比较接近解释型语言的特征,但在执行之前已经预先进行一次预编译,生成的代码是介于机器码和Java源代码之间的中介代码,运行的时候则由JVM(Java的虚拟机平台,可视为解释器)解释执行。它既保留了源代码的高抽象、可移植的特点,又已经完成了对源代码的大部分预编译工作,所以执行起来比“纯解释型”程序要快许多。而像VB6(或者以前版本)、C#这样的语言,虽然表面上看生成的是.exe可执行程序文件,但VB6编译之后实际生成的也是一种中介码,只不过编译器在前面安插了一段自动调用某个外部解释器的代码(该解释程序独立于用户编写的程序,存放于系统的某个DLL文件中,所有以VB6编译生成的可执行程序都要用到它),以解释执行实际的程序体。C#(以及其它.net的语言编译器)则是生成.net目标代码,实际执行时则由.net解释系统(就像JVM一样,也是一个虚拟机平台)进行执行。当然.net目标代码已经相当“低级”,比较接近机器语言了,所以仍将其视为编译语言,而且其可移植程度也没有Java号称的这么强大,Java号称是“一次编译,到处执行”,而.net则是“一次编码,到处编译”。呵呵,当然这些都是题外话了。总之,随着设计技术与硬件的不断发展,编译型与解释型两种方式的界限正在不断变得模糊。

      动态语言和静态语言

      通常我们所说的动态语言、静态语言是指动态类型语言和静态类型语言。

      (1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。

      (2)静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#、JAVA等。

      对于动态语言与静态语言的区分,套用一句流行的话就是:StaTIc typing when possible, dynamictyping when needed。

      强类型定义语言和弱类型定义语言

      (1)强类型定义语言:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。

      (2)弱类型定义语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。

      强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系的!

      例如:Python是动态语言,是强类型定义语言(类型安全的语言); VBScript是动态语言,是弱类型定义语言(类型不安全的语言);JAVA是静态语言,是强类型定义语言(类型安全的语言)。

      静态类型定义语言

      一种在编译时,数据类型是固定的语言。大多数静态类型定义语言强制这一点,它要求你在使用所有变量之前要声明它们的数据类型。Java和C是静态类型定义语言。

      动态类型定义语言

      一种在执行期间才去发现数据类型的语言,与静态类型定义相反。VBScript和Python是动态类型定义的,因为它们是在第一次给一个变量赋值的时候找出它的类型的。

      强类型定义语言

      一种总是强制类型定义的语言。Java和Python是强制类型定义的。如果你有一个整数,如果不显示地进行转换,你不能将其视为一个字符串。

      弱类型定义语言

      一种类型可以被忽略的语言,与强类型定义相反。VBScript是弱类型定义的。在VBScript中,可以将字符串‘12’和整数3进行连接得到字符串‘123’,然后可以把它看成整数123,而不需要显示转换。但其实它们的类型没有改变,VB只是在判断出一个表达式含有不同类型的变量之后,自动在这些变量前加了一个clong()或(int)()这样的转换函数而已。能做到这一点其实是归功于VB的编译器的智能化而已,这并非是VB语言本身的长处或短处。

      结论:

      静态是类型编译时判断;动态是类型运行时判断;强类型是类型独立,不轻易转化;弱类型是类型不严格区分,一般是只要大小放得下,就可以转化。这种是汇编级的观点。面向对象的观点并非这样的,对象并不是大小差不多就是类型兼容,而是关键的接口要相同才叫类型兼容。

      动态语言并非是弱类型,这是不等价的。恰好的,一般动态语言都是强类型语言,因为都是遵照面向对象的观点来设计对象的。

      动态语言的劣势很明显,就是缺少开发环境,运行效率差,当然语言设计上也不完美(静态语言何止千万,但c++也就一个)。

      优势也很明显,就是编写容易,层次高,接近自然语义。动态类型语言效率低下的原因,不在于变量的类型是动态的,而在于对象的方法是动态联编的,在这一点上动态类型语言和Java没什么不同。

      静态类型语言的优势究竟是什么?

      观点一:静态类型语言因为类型强制声明,所以IDE可以做到很好的代码感知能力,因为有IDE的撑腰,所以开发大型系统,复杂系统比较有保障。

      对于像Java来说,IDEA/Eclipse确实在代码感知能力上面已经非常强了,这无疑能够增加对大型系统复杂系统的掌控能力。但是除了Java拥有这么强的IDE武器之外,似乎其他语言从来没有这么强的IDE。C#的VisualStudio在GUI开发方面和Wizard方面很强,但是代码感知能力上和Eclipse差的不是一点半点。至于VisualC++根本就是一个编译器而已,羞于提及Visual这个字眼。更不要说那么多C/C++开发人员都是操起vi吭哧吭哧写了几十万行代码呢。特别是像LinuxKernel这种几百万行代码,也就是用vi写出来的阿,够复杂,够大型,够长生命周期的吧。

      观点二:静态语言相对比较封闭的特点,使得第三方开发包对代码的侵害性可以降到很低。动态语言在这点上表现的就比较差,我想大家都有过从网上下载某个JS包,然后放到项目代码里发生冲突的经历

      也就是说静态类型语言可以保障package的命名空间分割,从而避免命名冲突,代码的良好隔离性。但是这个观点也缺乏说服力。

      静态类型语言中C,VB都缺乏良好的命名空间分割,容易产生冲突,但是并没有影响他们做出来的系统就不够大,不够复杂。

      而Visual C++开发的DLL版本冲突也是臭名昭著的,似乎C++的命名空间没有给它带来很大的帮助。

      而动态类型语言中Ruby/Python/Perl都有比较好的命名空间,特别是Python和Perl,例如CPAN上面的第三方库成吨成吨的,也从来没有听说什么冲突的问题。

      诚然像PHP,JavaScript这样缺乏命名空间的动态语言很容易出现问题,但是这似乎是因为他们缺乏OO机制导致的,而不是因为他们动态类型导致的吧?

      说到大型系统,复杂业务逻辑系统,Google公司很多东西都是用python开发的,这也证明了动态类型语言并非不能做大型的复杂的系统。其实我个人认为:

      动态类型语言,特别是高级动态类型语言,反而能够让人们不需要分心去考虑程序编程问题,而集中精力思考业务逻辑实现,即思考过程即实现过程,用DSL描述问题的过程就是编程的过程,这方面像UnixShell,ruby,SQL,甚至PHP都是相应领域当之无愧的DSL语言。而显然静态类型语言基本都不满足这个要求。

      那静态类型语言的优势究竟是什么呢?我认为就是执行效率非常高。所以但凡需要关注执行性能的地方就得用静态类型语言。其他方面似乎没有什么特别的优势。

      给你来个例子把

      弱类型语言vbs:

      a=1

      b=a+“1”+“a” //结果是11a,这里 a 成了字符串

      c=a+1 //结果是2 ,这里a则是数字型

      强类型语言:c#

      int a=2

      string b=a.ToString()+“1”+“a”

      int c=a+1

      看到了吗?区分大小写,需要实现申明类型外,一个重要的区别是,弱类型的语言的东西没有明显的类型,他能随着环境的不同,自动变换类型

      而强类型则没这样的规定,不同类型间的操作有严格定义,只有相同类型的变量才能操作,虽然系统也有一定的默认转换,当绝没有弱类型那么随便

      ps:弱类型代码简单,但因为变量没有确定的类型,所以容易出错!强类型代码复杂(比如:转换日期显示格式 (convert.toDateTIme(“2007-1-1 08:08:08”)).ToString(“yyyy-MM-dd”),呵呵你可以看到这种写法相当麻烦),但因为有严格定义所以不容易出错

    展开全文
  • 本文希望通过比较浅显的方式来讲解弱形式,使用户更有信心通过COMSOL Multiphysics的弱形式用户界面来求解更多更复杂的问题。COMSOL Multiphysics是唯一的直接使用弱形式来求解问题的软件,通过理解弱形式也能...
  • 定义了决策形式背景的协调性与协调性.对于协调决策形式背景,给出了协调集的判定定理及约简方法.对于协调决策形式背景,定义了蕴含映射,研究了蕴含映射的属性约简,并给出了协调决策形式背景的约简与其蕴含...
  • 人工智能和弱人工智能

    千次阅读 2020-05-20 13:09:34
    但人工智能研究者不一定同意人工智能,也不一定在乎或者了解人工智能和弱人工智能的内容与差别,对定义争论不休。 就当下的人工智能研究领域来看,研究者已大量造出“看起来”像是智能的机器,获取相当丰硕的...

    来源:人机与认知实验室

    人工智能的一个比较流行的定义,也是该领域较早的定义,是由当时麻省理工学院的约翰·麦卡锡在1956年的达特矛斯会议上提出的(对此有争议):人工智能就是要让机器的行为看起来就像是人所表现出的智能行为一样。但是这个定义似乎忽略了强人工智能的可能性。另一个定义指人工智能是人造机器所表现出来的智能。总体来讲,当前对人工智能的定义大多可划分为四类,即机器“像人一样思考”、“像人一样行动”、“理性地思考”和“理性地行动”。这里“行动”应广义地理解为采取行动,或制定行动的决策,而不是肢体动作。

    强人工智能

    强人工智能观点认为“有可能”制造出“真正”能推理和解决问题的智能机器,并且,这样的机器将被认为是具有知觉、有自我意识的。强人工智能可以有两类:

    • 人类的人工智能,即机器的思考和推理就像人的思维一样。

    • 非人类的人工智能,即机器产生了和人完全不一样的知觉和意识,使用和人完全不一样的推理方式。

    弱人工智能

    弱人工智能观点认为“不可能”制造出能“真正”地推理和解决问题的智能机器,这些机器只不过“看起来”像是智能的,但是并不真正拥有智能,也不会有自主意识。

    弱人工智能是对比强人工智能才出现的,因为人工智能的研究一度处于停滞不前的状态下,直到类神经网络有了强大的运算能力加以模拟后,才开始改变并大幅超前。但人工智能研究者不一定同意弱人工智能,也不一定在乎或者了解强人工智能和弱人工智能的内容与差别,对定义争论不休。

    就当下的人工智能研究领域来看,研究者已大量造出“看起来”像是智能的机器,获取相当丰硕的理论上和实质上的成果,如2009年康乃尔大学教授Hod Lipson 和其博士研究生Michael Schmidt 研发出的 Eureqa计算机程序,只要给予一些数据,这计算机程序自己只用几十个小时计算就推论出牛顿花费多年研究才发现的牛顿力学公式,等于只用几十个小时就自己重新发现牛顿力学公式,这计算机程序也能用来研究很多其他领域的科学问题上。这些所谓的弱人工智能在神经网络发展下已经有巨大进步,但对于要如何集成成强人工智能,现在还没有明确定论。

    对强人工智能的哲学争论

     

    “强人工智能”一词最初是约翰·罗杰斯·希尔勒针对计算机和其它信息处理机器创造的,其定义为:

    “强人工智能观点认为计算机不仅是用来研究人的思维的一种工具;相反,只要运行适当的程序,计算机本身就是有思维的。”(J Searle in Minds Brains and Programs. The Behavioral and Brain Sciences, vol. 3, 1980)

    关于强人工智能的争论,不同于更广义的一元论和二元论的争论。其争论要点是:如果一台机器的唯一工作原理就是转换编码数据,那么这台机器是不是有思维的?希尔勒认为这是不可能的。他举了个中文房间的例子来说明,如果机器仅仅是转换数据,而数据本身是对某些事情的一种编码表现,那么在不理解这一编码和这实际事情之间的对应关系的前提下,机器不可能对其处理的数据有任何理解。基于这一论点,希尔勒认为即使有机器通过了图灵测试,也不一定说明机器就真的像人一样有自我思维和自由意识。

    也有哲学家持不同的观点。丹尼尔·丹尼特在其著作《意识的解释(英语:Consciousness Explained)》(Consciousness Explained)里认为,人也不过是一台有灵魂的机器而已,为什么我们认为:“人可以有智能,而普通机器就不能”呢?他认为像上述的数据转换机器是有可能有思维和意识的。

    有的哲学家认为如果弱人工智能是可实现的,那么强人工智能也是可实现的。比如西蒙·布莱克本(英语:Simon Blackburn)(Simon Blackburn)在其哲学入门教材Think里说道,一个人的看起来是“智能”的行动并不能真正说明这个人就真的是智能的。我永远不可能知道另一个人是否真的像我一样是智能的,还是说她/他仅仅是“看起来”是智能的。基于这个论点,既然弱人工智能认为可以令机器“看起来”像是智能的,那就不能完全否定这机器是真的有智能的。布莱克本认为这是一个主观认定的问题。

    需要指出的是,弱人工智能并非和强人工智能完全对立,也就是说,即使强人工智能是可能的,弱人工智能仍然是有意义的。至少,今日的计算机能做的事,像算术运算等,在一百多年前是被认为很需要智能的。并且,即使强人工智能被证明为可能的,也不代表强人工智能必定能被研制出来。

    研究方法

    当前没有统一的原理或范式指导人工智能研究。许多问题上研究者都存在争论。 

    其中几个长久以来仍没有结论的问题是:是否应从心理或神经方面模拟人工智能?或者像鸟类生物学对于航空工程一样,人类生物学对于人工智能研究是没有关系的?智能行为能否用简单的原则(如逻辑或优化)来描述?还是必须解决大量完全无关的问题? 

    智能是否可以使用高级符号表达,如词和想法?还是需要“子符号”的处理?约翰·豪格兰德(John Haugeland)提出了GOFAI(出色的老式人工智能)的概念,也提议人工智能应归类为synthetic intelligence(英语:synthetic intelligence),这个概念后来被某些非GOFAI研究者采纳。 

    控制论与大脑模拟

    20世纪40年代到50年代,许多研究者探索神经学、信息理论及控制论之间的联系。其中还造出一些使用电子网络构造的初步智能,如格雷·华特(W. Grey Walter)的乌龟(turtle)和约翰霍普金斯野兽。

    这些研究者还经常在普林斯顿大学和英国的Ratio Club举行技术协会会议。直到1960,大部分人已经放弃这个方法,尽管在80年代再次提出这些原理。

    符号处理

    当20世纪50年代,数字计算机研制成功,研究者开始探索人类智能是否能简化成符号处理。研究主要集中在卡内基梅隆大学,斯坦福大学和麻省理工学院,而各自有独立的研究风格。约翰·豪格兰德(John Haugeland)称这些方法为GOFAI(出色的老式人工智能)。60年代,符号方法在小型证明程序上模拟高级思考有很大的成就。基于控制论或神经网络的方法则置于次要。60-70年代的研究者确信符号方法最终可以成功创造强人工智能的机器,同时这也是他们的目标。

    • 认知模拟:经济学家赫伯特·西蒙和艾伦·纽厄尔研究人类问题解决能力和尝试将其形式化,同时他们为人工智能的基本原理打下基础,如认知科学、运筹学和经营科学。他们的研究团队使用心理学实验的结果开发模拟人类解决问题方法的程序。这方法一直在卡内基梅隆大学沿袭下来,并在80年代于Soar发展到高峰。

    • 基于逻辑:不像艾伦·纽厄尔和赫伯特·西蒙,约翰·麦卡锡认为机器不需要模拟人类的思想,而应尝试找到抽象推理和解决问题的本质,不管人们是否使用同样的算法。他在斯坦福大学的实验室致力于使用形式化逻辑解决多种问题,包括知识表示,智能规划和机器学习。致力于逻辑方法的还有爱丁堡大学,而促成欧洲的其他地方开发编程语言Prolog和逻辑编程科学。

    • “反逻辑”: 斯坦福大学的研究者 (如马文·闵斯基和西摩尔·派普特)发现要解决计算机视觉和自然语言处理的困难问题,需要专门的方案:他们主张不存在简单和通用原理(如逻辑)能够达到所有的智能行为。罗杰·单克(Roger Schank)描述他们的“反逻辑”方法为“scruffy”。常识知识库(如道格拉斯·莱纳特的Cyc)就是“scruffy”AI的例子,因为他们必须人工一次编写一个复杂的概念。

    • 基于知识:大约在1970年出现大容量内存计算机,研究者分别以三个方法开始把知识构造成应用软件。这场“知识革命”促成专家系统的开发与计划,这是第一个成功的人工智能软件形式。“知识革命”同时让人们意识到许多简单的人工智能软件可能需要大量的知识。

    子符号方法

    1980年代符号人工智能停滞不前,很多人认为符号系统永远不可能模仿人类所有的认知过程,特别是感知、机器人、机器学习和模式识别。很多研究者开始关注子符号方法解决特定的人工智能问题。

    • 自下而上、接口agent、嵌入环境(机器人)、行为主义、新式AI:机器人领域相关的研究者,如罗德尼·布鲁克斯(Rodney Brooks),否定符号人工智能而专注于机器人移动和求生等基本的工程问题。他们的工作再次关注早期控制论研究者的观点,同时提出了在人工智能中使用控制理论。这与认知科学领域中的表征感知论点是一致的:更高的智能需要个体的表征(如移动,感知和形象)。

    • 计算智能:1980年代中大卫·鲁姆哈特(David E. Rumelhart)等再次提出神经网络和联结主义。这和其他的子符号方法,如模糊控制和进化计算,都属于计算智能学科研究范畴。

    统计学方法

    1990年代,人工智能研究发展出复杂的数学工具来解决特定的分支问题。这些工具是真正的科学方法,即这些方法的结果是可测量的和可验证的,同时也是近期人工智能成功的原因。共享的数学语言也允许已有学科的合作(如数学,经济或运筹学)。Stuart J. Russell和Peter Norvig指出这些进步不亚于“革命”和“neats的成功”。有人批评这些技术太专注于特定的问题,而没有考虑长远的强人工智能目标。

    集成方法

    • 智能agent范式:智能agent是一个会感知环境并作出行动以达致目标的系统。最简单的智能agent是那些可以解决特定问题的程序。更复杂的agent包括人类和人类组织(如公司)。这些范式可以让研究者研究单独的问题和找出有用且可验证的方案,而不需考虑单一的方法。一个解决特定问题的agent可以使用任何可行的方法-一些agent用符号方法和逻辑方法,一些则是子符号神经网络或其他新的方法。范式同时也给研究者提供一个与其他领域沟通的共同语言--如决策论和经济学(也使用abstract agents的概念)。1990年代智能agent范式被广泛接受。

    • 代理架构和认知架构:研究者设计出一些系统来处理多agent系统中智能agent之间的相互作用。一个系统中包含符号和子符号部分的系统称为混合智能系统,而对这种系统的研究则是人工智能系统集成。分级控制系统则给反应级别的子符号AI和最高级别的传统符号AI提供桥梁,同时放宽了规划和世界建模的时间。

    基本应用

    人工智能基本的应用可分为四大部分:

    感知能力(Perception)

    指的是人类透过感官所收到环境的刺激,察觉消息的能力,简单的说就是人类五官的看、听、说、读、写等能力,学习人类的感知能力是AI当前主要的焦点之一,包括:

    • “看”:电脑视觉(Computer Vision)、图像识别(Image Recognition)、人脸识别(Face Recognition)、对象侦测(Object Detection)。

    • “听”:语音识别(Sound Recognition)。

    • “读”:自然语言处理(Natural Language Processing,NLP)、语音转换文本(Speech-to-Text)。

    • “写”:机器翻译(Machine Translation)。

    • “说”:语音生成(Sound Generation)、文本转换语音(Text-to-Speech)。

    认知能力(Cognition)

    指的是人类透过学习、判断、分析等等心理活动来了解消息、获取知识的过程与能力,对人类认知的模仿与学习也是当前AI第二个焦点领域,主要包括:

    • 分析识别能力:例如医学图像分析、产品推荐、垃圾邮件识别、法律案件分析、犯罪侦测、信用风险分析、消费行为分析等。

    • 预测能力:例如AI运行的预防性维修(Predictive Maintenance)、智能天然灾害预测与防治。

    • 判断能力:例如AI下围棋、自动驾驶车、健保诈欺判断、癌症判断等。

    • 学习能力:例如机器学习、深度学习、增强式学习等等各种学习方法。

    创造力(Creativity)

    指的是人类产生新思想,新发现,新方法,新理论,新设计,创造新事物的能力,它是结合知识、智力、能力、个性及潜意识等各种因素优化而成,这个领域当前人类仍遥遥领先AI,但AI也试着急起直追,主要领域包括:AI作曲、AI作诗、AI小说、AI绘画、AI设计等。

    智能(Wisdom)

    指的是人类深刻了解人、事、物的真相,能探求真实真理、明辨是非,指导人类可以过着有意义生活的一种能力,这个领域牵涉人类自我意识、自我认知与价值观,是ˋ当前AI尚未触及的一部分,也是人类最难以模仿的一个领域。 

    未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

      如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

    展开全文
  • Java中的引用和弱引用

    千次阅读 2018-07-19 14:36:14
    如下是引用的经典形式: object o = new object(); 特点: (1)创建一个对象,并将对这个对象的引用赋值给o,这样就是引用了 (2)当内存空间不足的时候,虚拟机宁愿抛出错误,也不愿意回收内存 (3)可以...
  • 对偶性 原对偶问题任何可行解的目标值都是另一问题最优目标值的界。(推论:原对 偶问题目标值相等的一对可行解是各自的最优解) 对偶性 原对偶问题只要有一个有最优解,另一个就有最优解,并且最优目标值相等。...
  • 浏览器的缓存与缓存

    千次阅读 2018-06-11 16:37:15
    缓存与缓存的区别: 获取资源形式 : 都是从缓存中获取资源的。 状态码 : 缓存返回200(from cache),缓存返回304状态码 请求(最大区别) : 缓存不发送请求,直接从缓存中取。 缓存需要发送一...
  • 类型语言和弱类型语言

    万次阅读 多人点赞 2014-11-03 16:30:01
    编译型解释型 我们先看看编译型,其实它汇编语言是一样的:也是有一个负责翻译的程序来对我们的源代码进行转换,生成相对应的可执行代码。这个过程说得专业一点,就称为编译(Compile),而负责编译的程序...
  • 投影相机,透视相机,透视相机和仿射相机的区别和联系 2019.11.03 FesianXu 前言 相机一般来说是一种从3D到2D的一种投影工具,其按照数学模型可以分为投影相机,透视相机,透视相机和仿射相机等,笔者在本文...
  • C# 引用与引用的区别

    千次阅读 2013-07-04 13:17:00
    我们平常用的都是对象的引用,如果有引用存在,GC是不会回收对象的。我们能不能同时保持对对象的引用,而又可以让GC需要的时候回收这个对象呢?.NET中提供了WeakReference来实现。引用可以让您保持对对象的...
  • 职能型、项目型、矩阵型(/平衡/) 第六版 1、职能型组织结构 职能型组织结构是目前最普遍的项目组织形式。它是一个标准的金字塔型组织形式,见图 职能型组织结构是一种常规的线型组织结构。采用这种...
  • 本文主要探讨优化问题中强、对偶性以及KKT条件的证明。
  • PDE弱形式介绍

    千次阅读 2012-06-23 01:33:59
     GJ:看到一个介绍COMSOL解决物理问题弱形式的文档,感觉很牛啊,通过COMSOL Multiphysics的弱形式用户界面来求解更多更复杂的问题,这绝对是物理研究的利器啊!而且貌似COMSOL是唯一可以直接使用弱形式来求解问题...
  • 首先我表示很悲剧,在看《程序员的自我修养--链接、装载与库》之前我竟不知道C有符号、符号、引用和弱引用。在看到3.5.5节符号和强符号时,我感觉有些困惑,所以写下此篇,希望能同样感觉的朋友交流也希望...
  • 符号和弱符号  在编程中碰到一种情况叫符号重复定义。多个目标文件中含有相同名字的全局变量的定义,那么这些目标文件链接的时候就会出现符号重复定义的错误。比如在目标文件 A 目标文件 B 都定义了一个...
  • 引用,软引用,引用

    千次阅读 2018-05-25 14:10:39
    引用(WeakReference)与软引用的区别在于,垃圾回收器一旦发现某块内存上只有引用(一定请注意只有引用,没引用),不管当前内存空间是否足够,那么都会回收这块内存。在第7行里,我们定义了SoftRef...
  •   在人工智能的早期,那些对人类智力来说非常困难、 且对计算机来说相对简单的问题迅速得到解决,比如,那些可以通过→系列形式化的数学规则来描述的问题 AI的真正挑战在于解决那些对人来说很容易执行、但很难形式...
  • 形式化验证调研报告

    千次阅读 2018-10-17 14:56:24
    摘要2018年初,SpectreMeltdown漏洞的发现,使得芯片安全备受重视。然而传统的基于仿真的芯片验证方法由于测试样例覆盖不完全,验证过程耗时巨大,逐渐适应不了日益复杂的芯片了。形式化方法作为一种静态验证方法...
  • 监督学习小目标检测

    千次阅读 2018-11-01 15:20:09
    在简书上看到一篇监督学习的帖子,由于没有使用简书的习惯,因此分享下这篇...本文收集整理监督学习小目标检测方面的资料。 [TOC] 监督学习 何谓监督学习 CV中的监督学习 People Approaches...
  • 3.1 对偶定理 与 对偶定理 对偶定理 对偶定理 ???? 3.2通过定义法求得对偶问题 对称形式 非对称形式 ???? 3.3通过拉格朗日函数转化求得对偶问题 1. 线性规划LP的标准形SLP 其中约束方程为加入松弛...
  • 可以分为一致性、顺序一致性与一致性。 一致性(Strict Consistency) 系统中的某个数据被成功更新后,后续任何对该数据的读取操作都将得到更新后的值; 也称为:原子一致性(Atomic Consistency)线性一致...
  • 类型语言与类型语言

    千次阅读 2018-02-01 22:57:19
     类型语言允许将一块内存看做多种类型。比如直接将整型变量与字符变量相加...Java、C# Python 等都是类型语言。 使用哪种语言还是要按需而定。编写简单小应用,使用类型语言可节省很多代码量,有更高
  • 2020形式化方法复习笔记

    千次阅读 多人点赞 2020-07-08 22:31:17
    每个形式系统应当包括语法+语义 2.1 语法 The syntax P⋁PP \bigvee PP⋁P :析取 P⋀PP \bigwedge PP⋀P:合取 P→PP \to PP→P:蕴含 2.2 证明系统 The proof system 数学上:Hibert系统,构造性,没有规律可言...
  • 最近在做相关的作业,看到三种组织结构形式,就记录一下。 首先,组织的定义是什么? 美国的管理学家巴纳德认为,由于生理上的、心理上的、物质的、社会的限制,人们为了达到个人的共同的目标就必须合作,于是...
  • SVM学习笔记-对偶形式的SVM

    千次阅读 2017-08-12 09:29:01
    Roadmap 上一篇笔记讲述了一个模型:线性支撑向量机。...这篇将要讲述的是将这个模型转化为另一种形式,以使得该模型可以更容易的延伸到其他不同的各种各样的应用当中去。 Non-Linear Support Vector Mac
  • ES5ES6区别浅析

    千次阅读 2018-07-27 17:27:46
    JavaScript一种动态类型、类型、基于原型的客户端脚本语言,用来给HTML网页增加动态功能,具体概念不做过多的说明。这里说一下JavaScript的主要组成: 【组成一】 ECMAScript(核心) ECMAScript是JS的核心,它...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 157,504
精华内容 63,001
关键字:

强形式和弱形式的区别

友情链接: els.rar