除了“二进制”外,逻辑学对计算机的发明还有哪些贡献?为什么说基础学科很重要
逻辑学在人工智能中的应用
人工智能作为计算机科学的一个重要分支,是解决计算机如何能表现出人类智能的问题。而人工智能的知识表示方法、归纳推理方法等对于计算机如何表现出人工智能来说至关重要。在对人工智能进行研究的同时,要重视知识表示、知识推理和知识运用等基本问题。谓词逻辑语言的演绎过程的形式化能帮助研究者更好的理解人工智能知识表示及推理中的某些子命题。其中,逻辑学中的经典逻辑在人工智能研究知识表示、知识推理,应用逻辑规则等方面也起到关键的作用,能为数学语句准确定义,经典逻辑是人工智能研究领域的数学基础。PROLOG,是基于逻辑的程序设计语言,同时也是建立在逻辑学的理论基础之上的,PROLOG是逻辑学家开发的一种描述式语言。PROLOG语言以谓词逻辑为其表现形式,以消解原理为其实现基础。
逻辑学在计算机科学中的作用及意义
对着科学技术的不断发展,计算机科学的发展也在不断进步和完善。计算机科学之所以能有这么快的发展和提升,逻辑学是主要原因,逻辑学是推动计算机科学前进的主要动力,对于计算机科学来说,逻辑学从硬件设计和软件处理两方面都起到很大作用。同时,逻辑学对于计算机的产生和发展也起到很大的促进作用。首先,从硬件设计来讲,命题逻辑和逻辑代数主要应用在计算机的电路设计中,同时在命题逻辑的基础上又发展了组合逻辑和时序逻辑等新的逻辑学。其次,从软件如理来讲,逻辑学对于计算机语言和程序的应用和发展又有很大的贡献。
因此,基础学科很重要。
问题一:计算机语言有哪些?怎么分类? 计算机语言(puter Lnguage)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。
计算机程序设计语言的发展,经历了从机器语言、汇编语言到高级语言的历程。
计算机语言主要分为三类:
- 低级语言
- 高级语言
- 专用语言
1、低级语言
- 机器语言、汇编语言和符号语言。
- 汇编语言源程序必须经过汇编,生成目标文件,然后执行。
2、高级语言
- BASIC(True basic、Qbasic、Virtual Basic)、C、PASCAL、FORTRAN、智能化语言(LISP、Prolog)等等。
- 高级语言源程序可以用解释、编译两种方式执行。通常用后一种。
我们使用的C语言就是使用的后者。
3、专用语言
CAD系统中的绘图语言和DBMS的数据库查询语言。
11机器语言
电子计算机所使用的是由0和1组成的二进制数,二进制是计算机的语言的基础。计算机发明之初,人们只能降贵纡尊,用计算机的语言去命令计算机干这干那,一句话,就是写出一串串由0和1组成的指令序列交由计算机执行,这种计算机能够认识的语言,就是机器语言。使用机器语言是十分痛苦的,特别是在程序有错需要修改时,更是如此。
因此程序就是一个个的二进制文件。一条机器语言成为一条指令。指令是不可分割的最小功能单元。而且,由于每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了重复工作。但由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。机器语言,是第一代计算机语言。
12汇编语言
为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用ADD代表加法,MOV代表数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言,即第二代计算机语言。然而计算机是不认识这些符号的,这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。
汇编语言同样十分依赖于机器硬件,移植性不好,但效率仍十分高,针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,程序精炼而质量高,所以至今仍是一种常用而强有力的软件开发工具。
13高级语言
131高级语言的发展
从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。经过努力,1954年,第一个完全脱离机器硬件的高级语言--FORTRAN问世了,40 多年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、C、PROLOG、Ada、C++、VC、VB、Delphi、JAVA等。
特别要提到的:在C语言诞生以前,系统软件主要是用汇编语言编写的。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接操作(这正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级语言特性>>
问题二:计算机语言都包括什么语言?及其各个应用领域? 1、web page script languages
就是网页代码,比如Html、javascript、Css、Asp、Php、Xml都应该属于此类(照蔡的意思,Html不应该属于anguages的,可能他觉得太简单了吧,不过我觉得Html也应该算的,大家爱听谁的就听谁的好了,这个不重要)
2、Interpreted Languages(解释型语言)
包括Perl、Python、REBOL、Ruby等(后面三个听豆没听过),也常被称作Script语言,通常被用于和底下的操作系统沟通。照蔡的意思,每个人至少应该学会一套这类的语言。这类语言的缺点是效率差、源代码外露――所以不适合用来开发软件产品,一般用于网页服务器。
3、Hybrid Laguages(混合型语言)
代表是JAVA和C#。介于解释型和编译型之间。蔡认为C#是NET最重要的语言,值得期待其后续发展;至于JAVA,蔡叫看他的《Sleepless in Java》――我倒!
4、PILING Languages(编译型语言)
C/C++,JAVA都是编译型语言。蔡说C++很复杂,要成为高手没三五年是不行的(就凭这句话,我决定向JAVA投降),虽然如此,但真正要成为高手的都应该懂C/C++。
关于Delphi,蔡说如果想要跨Linux和Windows平台的语言,则Delphi似乎是最好的选择。
5、Assembly Languages(汇编语言)
汇编语言是最接近于硬件的语言,不过现在几乎没多少人用了。
程序语言学习顺序建议
如果完全没有程序经验,可照这个顺序:javascript――解释型语言――混合型语言――编译型语言――汇编(如果需要的话)
用业界流行一句话做结尾“真正的程序员用C++,聪明的程序员用Delphi”,那么,什么样的程序员用JAVA呢?
虚怀若谷题外话
看在我这么晚了还这么辛苦的敲字的面子上,看到这篇帖子的朋友给点掌声吧,虽然没什么自己的思想。
另外,本文完全据蔡学镛先生同名文章精简,所以如果这篇文章给你的程序员生涯有什么不好的作用,那我不介意你去扁他。当然如果这篇文章对你有什么积极影响,我很高兴你能请我吃大餐。
如果您想学习编程,却又不知从何入手,那么您不妨看看下面的几种学习方案,可能会给您一些启示吧!
方案一 Basic语言 & Visual Basic
优点
(1)Basic 简单易学,很容易上手。
(2)Visual Basic 提供了强大的可视化编程能力,可以让你轻松地做出漂亮的程序。
(3)众多的控件让编程变得象垒积木一样简单。
(4)Visual Basic 的全部汉化让我们这些见了English就头大的人喜不自禁。
缺点
(1)Visual Basic 不是真正的面向对象的开发文具。
(2)Visual Basic 的数据类型太少,而且不支持指针,这使得它的表达能力很有限。
(3)Visual Basic 不是真正的编译型语言,它产生的最终代码不是可执行的,是一种伪代码。它需要一个动态链接库去解释执行,这使得Visual Basic 的编译速度大大变慢。
综述:方案一适合初涉编程的朋友,它对学习者的要求不高,几乎每个人都可以在一个比较短的时间里学会vB编程,并用VB>>
问题三:常用的计算机编程语言有那些 种类很多,要学的话,主要看你要从事哪个方面,编程都是大同小异,如果你学会一门,其他的学起来也就轻松许多。 如果你想当个普通的公司职员,建议C\C++这类的。 如果你想当个破解人员,建议汇编(我觉得是相当的难)。 如果你想当个黑客,拥有一定的软件知识(很低层的那种)和硬件知识(使用软件掌控硬件)和网络知识(入侵这类的)。 如果你想当个红客,主要是网络安全知识。
这需要看将来想从事什么类型软件的开发吧。如果在国内开发windows类型应用程序,据说vb比较流行,但如果开发和硬件关系较大的嵌入式程序,则使用较多的还是C语言,而网络这个方面,无论是有线还是无线,大多数都选择了JAVA。以上是从应用角度来讲的,如果从性能和投入方面分析,C语言无疑性能上最好的,但它的复杂度太高,开发和维护费用较大,一般比较好的游戏程序或者速度要求较高的程序会选择C++来开发,而VB等由于它的简易性,可以极大缩短开发周期,也是程序员的宠儿之一。另外有一种语言python在国内逐渐出现,国外好像已经流行了十几年吧,linux的引导程序和BT的一些组件都是用它开发的,具有开发周期短,易维护等特点,运行速度也比JAVA要快,并且面向对象,无平台限制,据说还开放了源码,不过由于在国内流行时间不长,各大公司出于对以前开发代码的兼容性的需要,可能一时间接受不这个语言,但可以明显看出,它的发展潜力相当大。 总而言之,C为基础,掌握JAVA,会用VB,了解python,应该看得出这几个词汇之间的轻重差别吧。:)单机编程语言主要有qb,vb,c++,vc++,c语言,我觉得最常用的是c语言,因为现在我们常用的windows操作系统就是用c 语言编写的.非常常用. 网络编程语言现在用的是html 语言,还有javaada
asp(含aspNET)
basic(含VB)
b(C语言的前身)
css
c(含VC)
c#(含VC#NET)
c++(含VC++NET)
fortran
foxbase
html(含xhtml和shtml)
jacc(不确定是不是这个名字了,一种开发语言的语言)
java
java script
jsp
latex
lua
pascal
perl
php
prolog
python
ruby
sgml(html和xml用得很多,单独列出,其实也是一种sgml)
shell
sql
tcl/tk
vb script
xml 最常用的是 JAVA C C++java VB 是比较好学的 最牛的要属C#了
世界上编程语言太多了,就像每个国家都有自己的语言一样的但是从编程语言发展的角度说:
大概经历 这样 四个阶段: ############################################################
第一个阶段是 机器码编程 (你肯定知道计算机只能识别0和1,以前就是这样编程的)现在的PC计算机依然是这样,冯诺依曼结构的计算机你可以去网上搜索 冯诺依曼 是干什么的你会想,为什么现在编程不是0,1,计算机怎么识别呢当你开始编程的时候,你用的编译器就在做这些事情
########################################################### ##########################################################
第二个阶段是 低级语言,比如汇编语言,台湾叫做组合语言其实组合>>
问题四:最简单的计算机语言有哪些 网页上的html是最简单的语言,但是功能实在少得可怜,除了描述网页就没有别的用途了(不过话说回来,直接描述网页也只有它才能做到,其他语言做不到)
Script(脚本)系列 也很简单
这里有很多种,常见的有Javascript(引进了Java的一些思想,不过实际内容简单得多了),VBScript (Visual Basic的一部分), C#Script(C#的一部分), 这三种主要用于网页网站设计,辅助html间接描述网页,让网页变得丰富多彩绚丽,而单机上也可以运行以执行一些可自动化的操作,实现一些简单的小程序和一些手动操作非常麻烦甚至是不可能的操作,但还是难以编完整的独立的程序,还有批处理bat,这也是一种脚本,也很简单,专门单机使用,擅长代替大量的手工操作和系统维护,但要做出我们常用的这种漂亮的程序,是不可能的。
想要做我们常用的程序要用以下几种语言,不过相比之上面的语言都复杂许多:
Basic系列是最简单的,不过因为版本多样不统一还有一些效率的问题,所以用的人不是非常多
不过其中有一个例外:Visual Basic 有微软的支持,可视化的,可以很快有成就感编出像样的程序,而且很多文档中的宏 VBA(Visual Basic for Application)还有以上说的VBScript都是它的一部分,所以还是很受欢迎的。
C语言,入门还比较简单,但挺枯燥,初学没什么成就感,要想编大程序要学得挺深,有点难,编出来的程序在高级语言中效率最高,所以是第二广泛使用的语言仅次于Java。
C++,C#,会更难一点,但是程序要编大的会相比之下简单点,这些都是C语言的扩展,其中C++擅长本机大程序,C#适合网络编程(刚才说的C#Script是它的一部分)
Java,语法上类似C++,在跨平台的时候会省你很多麻烦,所以由于手机的普及近一两年它才超过C/C++成了应用最广泛的语言。不过开发出来的程序效率比较不怎么样,但有些人挺喜欢它的思想,所以不跨平台的话,见仁见智
其余的还有Delphi,Pascal,等等不过那些都不怎么常用而且比较复杂,要图简单,强烈推荐Visual Basic,要深究程序内部的东西那还是从C开始比较好
问题五:计算机有哪些语言 工业编程语言: A+ | Ada | 汇编语言| B | Brain | C | C++ | C++/CLI| Cg | COBOL | Eiffel | Erlang | FORTRAN | IronPython | Java | JRuby | Jython | LISP | Oberon | Objective-C| Ocaml | Pascal | Perl | Powerbuilder | Python | QBASIC | R | REXX | Ruby | Self | Smalltalk | SQL | Tcl/Tk | Visual Basic | PHP | C# | F# | J# | Visual Basic NET
脚本编程语言: ActionScript | JavaScript | JScript | Nuva | PostScript | VBScript | lua
学术编程语言: APL/J | Haskell | Logo | ML | pascal|Prolog | Scheme | SAC
其他编程语言: ALGOL | BASIC| Clipper | Forth | Modula-2/Modula-3 | MUMPS | PL/I | Simula
问题六:计算机所有的编程语言都有哪些? ALGOL (also under FORTRAN)
Atlas Autocode
ALGOL 60
Simula (see also Simula based languages)
ALGOL 68
Burroughs Extended ALGOL
ALGOL W
Pascal
Ada
SPARK
Turbo Pascal
Object Pascal (Delphi)
Free Pascal (FPC)
Kylix (same as Delphi, but for Linux)
Euclid
Concurrent Euclid
Turing
Turing Plus
Object Oriented Turing
Modula-2
Modula-3
Oberon (Oberon-1)
Oberon-2
ponent Pascal
Objective Modula-2 (also under Objective-C and Smalltalk)
CPL
BCPL
B
C
tcsh (also under sh)
Alef
Limbo
Coyote
C++
Java
Groovy
Join Java
J#
Processing
X10
C#
Windows PowerShell (also under DCL, ksh and Perl)
C--
D
ColdFusion
eC (Ecere C)
LPC
Pike
Objective-C (also under Smalltalk)
Objective Modula-2 (also under Modula-2 and Smalltalk)
PCASTL (also under Lisp)
Perl
Windows PowerShell (also under C#, DCL and ksh)
S2
PHP
PDL (also under APL)
QuakeC
MCPL
APL
A+
Glee
J (also under FL)
K (also under LISP)
NESL
PDL (also under Perl)
BASIC (also under FORTRAN II)
Amiga Basic
AMOS BASIC
BASIC Stamp
BASIC09
Basic4GL
BlitzBasic
Blitz3D
BlitzMax
BlitzPlus
Business Basic
Caché Basic
AL
DarkBASIC
Euphoria
PlayBASIC
PowerBASIC
Quickbasic
QBasic
Liberty BASIC
Just BASIC
Run BASIC RealBasic
thinBasic
TI-BASIC
TrueBASIC
Visual Basic
VBScript
Visual Basic for Applications (VBA)
Visual Basic NET
YaBasic
COBOL
DIBOL
WATBOL
MS-DOS Batch files
Winbatch
CLIST
IBM Job Control Language (JCL)
IT
SNOBOL
Icon
Unico>>
问题七:计算机语言中常用的有哪些? 1 计算机常用语言除了C ,C++ ,VB ,JAVA 外还有什么? 他们的优点和区别?
还有很多了,不过一般都不怎么常用
优点嘛,C,C++运行比VB要快
VB是解释型语言,运行的话需要对应的运行库的支持。不过上手容易。
JAVA的话最大的优点是跨平台。
2 学习做网页HTML PHP ASP JSP 和(问题1)中的哪些语言挂钩 ? 是否均需要HTML做基础?
一般HTML中的脚本和VB与JAVA都有点联系。
不过语言都是通的,就是关键字,系统保留字不一样而已。
学习的话最好是要有HTML的基础。
3 PHP ASP JSP 和SQL MYSQL 等其他数据库怎样搭配?
随意的,看具体的用途。
有些数据库不能用于大型的站点,好象有限制的。
具体可以查一下数据库的说明。
问题八:电脑编程语言都有哪些啊? 工业编程语言: A+ | Ada | 汇编语言| B | Brain | C | C++ | C++/CLI| Cg | COBOL | Eiffel | Erlang | FORTRAN | IronPython | Java | JRuby | Jython | LISP | Oberon | Objective-C| Ocaml | Pascal | Perl | Powerbuilder | Python | QBASIC | R | REXX | Ruby | Self | Smalltalk | SQL | Tcl/Tk | Visual Basic | PHP | C# | F# | J# | Visual Basic NET
脚本编程语言: ActionScript | JavaScript | JScript | Nuva | PostScript | VBScript | lua
学术编程语言: APL/J | Haskell | Logo | ML | pascal|Prolog | Scheme | SAC
其他编程语言: ALGOL | BASIC| Clipper | Forth | Modula-2/Modula-3 | MUMPS | PL/I | Simula
问题九:计算机语言有多少种?分别是哪些?最早的是? 太多了 主要分为三类:高级、低级、专用语言。
高级有:FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、C、PROLOG、Ada、C++、VC、VB、JAVA等
低级有:机器语言、汇编语言和符号语言等
专用语言:CAD系统中的绘图语言和DBMS的数据库查询语言等
最早的应该是汇编语言
问题十:计算机语言有哪些?怎么分类? 计算机语言(puter Lnguage)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。
计算机程序设计语言的发展,经历了从机器语言、汇编语言到高级语言的历程。
计算机语言主要分为三类:
- 低级语言
- 高级语言
- 专用语言
1、低级语言
- 机器语言、汇编语言和符号语言。
- 汇编语言源程序必须经过汇编,生成目标文件,然后执行。
2、高级语言
- BASIC(True basic、Qbasic、Virtual Basic)、C、PASCAL、FORTRAN、智能化语言(LISP、Prolog)等等。
- 高级语言源程序可以用解释、编译两种方式执行。通常用后一种。
我们使用的C语言就是使用的后者。
3、专用语言
CAD系统中的绘图语言和DBMS的数据库查询语言。
11机器语言
电子计算机所使用的是由0和1组成的二进制数,二进制是计算机的语言的基础。计算机发明之初,人们只能降贵纡尊,用计算机的语言去命令计算机干这干那,一句话,就是写出一串串由0和1组成的指令序列交由计算机执行,这种计算机能够认识的语言,就是机器语言。使用机器语言是十分痛苦的,特别是在程序有错需要修改时,更是如此。
因此程序就是一个个的二进制文件。一条机器语言成为一条指令。指令是不可分割的最小功能单元。而且,由于每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了重复工作。但由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。机器语言,是第一代计算机语言。
12汇编语言
为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用ADD代表加法,MOV代表数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言,即第二代计算机语言。然而计算机是不认识这些符号的,这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。
汇编语言同样十分依赖于机器硬件,移植性不好,但效率仍十分高,针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,程序精炼而质量高,所以至今仍是一种常用而强有力的软件开发工具。
13高级语言
131高级语言的发展
从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。经过努力,1954年,第一个完全脱离机器硬件的高级语言--FORTRAN问世了,40 多年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、C、PROLOG、Ada、C++、VC、VB、Delphi、JAVA等。
特别要提到的:在C语言诞生以前,系统软件主要是用汇编语言编写的。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接操作(这正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级语言特性>>
如果把编程语言比作一种武器
C语言是M1式加兰德步枪,很老但可靠
C++是双截棍,挥舞起来很强悍,很吸引人,但
需要你多年的磨练来掌握,很多人希望改用别的武器
Perl语言是燃烧弹,曾经在战场上很有用,但现在很少人使用它
Java是M240通用弹夹式自动机枪,有时它的弹夹是
圆的,但有时候不是,如果不是,当你开火时,会遇
到NullPointerException问题,枪就会爆炸,你被炸死。
Scala是M240通用机枪的变种,但它的使用手册
是用一种看不懂的方言写的,很多人怀疑那只是一些梦话
JavaScript是一把宝剑,但没有剑柄
Go语言是一种自制的"if err l= nil"发令枪,每一次
发射后,你都必须要检查它是否真的发射了。
Rust语言是一种3D打印出的枪。将来也许真的能派上用场。
bash是一个十分碍手的锤子,你抢起它时会发现
所有东西看起来都像钉子,尤其是你的指头。
Python是一种"v2/v3”双管枪,每次只能用一个管
子发射,你永远不知道该用哪个管子发射好。
Ruby是一把外嵌红宝石的宝刀,人们使用它通常是因为看起来很炫。
PHP是水管子,你通常会把它的一段接到汽车的排
气管,另一端插进车窗里,然后你坐进车里,开动引擎。
Mathematica是一种地球低轨道粒子大炮,它也许
能够干出很神奇的事情,但只有付得起费用的人才能使用它
C#是一种强悍的激光大炮,架子一头驴子上,
如果从驴子上卸下来,它好像就发不出激光。
Prolog语言是一种人工智能武器,你告诉它要做什
么,它会照做不误,但之后,它会弄几个终结者出来,烧掉你的房子。
Lisp语言是一把剃须刀,有很多款式只有寻求刺激和危险的人才会使用它
人工智能技术是当前信息技术应用发展的热点之一。与一般的信息处理技术相比,人工智能技术在求解策略和处理手段上具有独到之处。“人工智能初步”模块介绍了人工智能的基本概念和人工智能领域内容易为高中学生所理解和掌握的部分内容,是选修模块。
通过本模块的学习,学生应能描述人工智能的基本概念,会使用一种人工智能语言解决简单问题,把握其基本特点;能利用简易的专家系统外壳开发简单的专家系统;知道人工智能对人类学习、生活的影响;通过感受人工智能技术的丰富魅力,增强对信息技术发展前景的向往和对未来生活的追求。
本模块的教学应强调让学生体验若干典型人工智能技术的应用;要根据高中学生的知识基础和本校实际情况开展教学;要发现有特长的学生并对他们进行有针对性的教学。本模块对采用的人工智能语言与专家系统工具不作具体要求,可以根据实际情况自主选择。
本模块由3个主题组成。
(一)知识及其表达
1.内容标准
(1)能描述人工智能的概念与基本特点;知道人工智能技术随着计算机硬、软件技术的进步和应用需求而发展的事实和客观规律。
(2)列举人工智能的主要应用领域;通过演示或实际操作,体验人工智能的若干典型应用,知道其发展现状。
例1 符号运算: 通过网站http://wwwwolframcom/ 在线执行符号运算软件Mathematica,进行多项式乘、除以及因式分解等代数运算。
例2 模式识别:声音识别、指纹识别、签名识别等识别技术的应用越来越广泛。
例3 机器证明:这是我国科学家做出过重要贡献的人工智能应用领域之一。
例4 智能代理:该技术在网上信息检索、个性化服务等方面有着广泛的用途。
(3)掌握知识的概念;学会知识表达的基本方法。
例1 用产生式规则表达简单的“动物识别”知识。
例2 将上述“动物识别”的产生式规则用“与/或图”来表达。
例3 采用框架表达“天气预报”知识。
2.活动建议
(1)就下列话题展开讨论:利用符号运算软件能解决中学课程中的哪些问题?具有哪些优点?
(2)对产生式规则、与/或图、框架等常用的知识表示方法的特点、适用场合进行比较。
(3)人工智能的基本思想已经在许多领域中得到了应用,“在家里寻找外星人”(SETI@home)项目就是利用人工智能的分布计算思想的一个成功案例。该项目由美国行星学会和美国加州大学伯克利分校于1999年5月开始实施,它利用特定屏幕保护程序调用全球上网的个人计算机的闲置能力,分析世界上最大的射电望远镜获得的数据,帮助科学家探索外星生物。
教师先向学生简单解释分布计算的基本思想以及SETI@home项目的社会意义,学生登录http://setiathomesslberkeleyedu/home_chinesehtml 网站了解或亲自参与该项目。通过该活动使学生知道人工智能领域中分布式计算的概念,了解SETI@home项目的具体内容,感受现代信息技术服务于人类文明的价值。
(二)推理与专家系统
1.内容标准
(1)演示或使用简单的产生式专家系统软件,感受用专家系统解决问题的基本过程;了解专家系统的基本结构。
例 通过网站 http://wwwexpertise2gocom/ 在线执行“PC产品顾问”(Desktop PC Product Advisor)专家系统,为准备添置的个人电脑规划合理的硬软件配置。
(2)通过实例分析,知道专家系统正向、反向推理的基本原理;会描述一种常用的不精确推理的基本过程。
(3)了解专家系统解释机制的基本概念及其在专家系统中的重要作用。
例 执行专家系统,分别使用“Why”和“How”命令,了解其解释过程。
(4)了解专家系统外壳的概念;学会使用一个简易的专家系统外壳,并能用它开发简单的专家系统。
例 在专家系统的开发过程中,通常采用“原型化”策略。
2.活动建议
(1)针对学生熟悉或感兴趣的一个分类问题,利用简易专家系统外壳开发一个简单的专家系统。例如,用于识别校园中植物的专家系统。
(2)有人认为:“信息技术的应用已经经历了数值计算、数据处理、知识处理三个阶段,专家系统是知识处理阶段的典型代表。”在学习了专家系统的相关内容后,让学生从信息技术的应用对象、策略与方法等方面对上述三个阶段的特点进行比较。
(三)人工智能语言与问题求解
1.内容标准
(1)了解一种人工智能语言的基本数据结构和程序结构,掌握相关概念,知道人工智能语言的主要特征。
例 浏览Prolog语言网站http://wwwvisual-prologcom/,考察它的实例程序。
(2)初步学会使用该语言设计程序求解简单问题,并能够上机调试、执行相应的程序。
例1 用匹配方法解决简单的查询问题。
例2 用递归方法求解汉诺塔(Hanoi)问题。
(3)了解状态空间的概念与方法,学会用该方法描述待求解的问题。
例 “井字棋”问题。
(4)通过简单博弈问题的分析,了解用盲目搜索技术进行状态空间搜索的基本过程,知道启发式搜索的基本思想及其优点。
例 1996年,“深蓝”计算机向国际象棋世界冠军卡斯帕罗夫挑战失败。1997年,“深蓝”的后嗣替“父”报仇,以35:25的总比分击败卡斯帕罗夫。事实上,“深蓝”序列计算机中存放了包括卡斯帕罗夫的所有比赛棋谱在内的近百年的棋谱历史记录,它的“智能”主要体现在对海量的实战棋谱所进行的启发式搜索上。
2.活动建议
(1)以小组为单位,对本模块教学中尚未涉及的人工智能应用问题展开调查,就它们的应用情况、工作过程、优点与局限性以及对人们生活和工作所产生的影响进行讨论与分析。
(2)观看、阅读与人工智能相关的影视作品或文学作品,发挥自己的想象力,描述人工智能技术的应用前景,以班级网站或板报的方式展示和交流。
顺祝你2015幸福快乐。
(1)LISP具有和图灵机相同的(也就是理论上最高的)计算能力;
在计算机科学的可计算理论中,人们已经证明递归函数和图灵机具有相同的(也就是理论上最高的)计算能力,通常指的是自然数集上的递归函数。这个结论对符号集上的递归函数也成立。JMcCarthy在LISP中设计了一套符号处理函数,它们具有符号集上的递归函数的计算能力,因此原则上可以解决人工智能中的任何符号处理问题。
(2)数据类型的唯一性,程序与数据的一致性;
LISP的数据类型和句法结构简单,甚至简单到具有唯一性和一致性:其数据和程序的表现形式是一样的, 都是用S-表达式一种形式基本的数据结构是表(表是S-表达式的特例)。
(3)数据和程序的 等价性;
LISP的数据和程序不仅类型一致,而且作用也等价;
即:程序可作为数据被处理,数据也可作为程序来执行。
(4)LISP一切功能由函数来实现,程序的运行就是求值;
LISP程序的通常形式是一串函数定义,其后跟着一串带有参数的函数调用,函数之间的关系只是在调用执行时才体现出来。
(5)LISP语言的控制结构以递归为主;
大多数语言使用的控制结构是以循环为主的,有的程序语言允许递归,而LISP以递归形式为主。递归是LISP能力的源泉。当然现在LISP也有循环结构和迭代。
(6)原子可以有任意多个值(特性值);
LISP非常重要的一个特点是每个文字原子可以加许多特性,每个特性有一个特性表及对应的特性值。由于原子的多值性给使用者带来很多方便,给问题表示带来好处,使LISP很好用。
(7)LISP具有表的结构形式和规模的灵活性,不必预先设定;
(8)具有收集无用单元的功能。
//--------------------------------------------------------------------
prolog语言
(1)WHAT型语言;
Prolog 由程序设计的“How to do the Job”向 “What you want to do”前进一步。用户只要说明已知事实是什么,定义规则(说明对象间的关系),再告诉要解决的问题是什么(询问)就行了,不必告诉计算机如何一步一步做,问题的求解是通过Prolog的内部机制自动生成。
(2) 基于一阶谓词逻辑,既有坚实的理论基础,又有较强的表现能力;
Prolog的文法简单,描述能力强,更接近于自然语言,程序易写易读,程序量小。
(3) Prolog自动实现模式匹配(合一功能),自动回溯,这两种是人工智能系统中常用的基本操作;
(4)内部的回溯能力及不确定性使Prolog对同一个问题可给出多个解;
Prolog具有不确定的原因有二个:①过程性的不确定性:Prolog谓词调用是用模式匹配方式、自顶向下的深度优先搜索自动回溯策略,当变元值不满足谓词时产生回溯,求得变元之另一值,如此下去直到谓词为真;②变元特性的不确定性:系指谓词中变元既可用来作输入变元又可作输出变元的这种性质。变元特性的非确定性引起提问方式的多样性,增强了交互能力(会话能力)。过程的不确定性和变元特性的不确定性,这是传统程序设计语言以及另一种AI语言LISP所不具备的智能特性。
(5)Prolog的数据和程序的统一,Prolog提供了一种统一的数据结构--项(term),用来构造数据和程序。数据和程序并没有明显区别,同样存在数据库中。并且提供了修改数据库的指令ADDCL和DELCL,在程序执行中,可以自行修改数据、改变控制,因而可以编制能自行修改程序和数据的程序,为实现某些智能提供了方便;
(6)递归是Prolog语言的重要特点之一。
缺点:
(1)在编译系统实现问题上,在执行效率低问题上,在系统开销大的问题上,Prolog遇到了比LISP更大的困难;
由于深度优先算法,由于控制机制具有普遍性,由于递归和自动回溯,Prolog程序中间变量过多严重浪费内存,对具体的问题不免有多余的回溯,因而浪费了较多的机器时间和空间,降低了效率。
(2) 大型的Prolog程序调试不容易;
Prolog算法都是深度优先搜索和自动回溯,在程序执行过程中细节由系统内部掌握,减少了人设计控制的工作。但反过来,用户很难或根本无法控制算法的细节,对程序控制的唯一途径是通过“cut”操作(但cut影响了prolog的完备性)。因此大型prolog程序比LISP程序调试困难得多。
(3) Prolog的“not”是“失败的not”,不是逻辑否定,只有在封闭世界假设基础上才能认为是逻辑否定。Prolog对量词的处理也不够。它视所有规则前面有对规则中所有变元的全称量词,而视询问公式前有对询问中变元的存在量词。但实际应用中封闭世界假设不一定合适。
(4) Prolog是描述笥语言,处理的是关系,因而在过程性控制方面局限性较大。
但目前不少国家已经实现了Prolog和LISP语言之间或它们与传统语言之间的转换软件接口。所以在过程控制方面也有推广使用Prolog的,例如PC-Prolog。又如,POPLOG是LISP、PROLOG和POP-11的混合物,其中允许这三种语言写的程序互相调用。也有以一种程序设计风范为主、引进并兼顾另一种风范的,例如LOGLISP(以LISP结构为基础,加进逻辑程序成分的)。
近年来,世界各个发达国家竞相发展机械电子工程,以提高本国的成产力水平,机械电子工程也不断向智能化、网络化、柔性化发展,机械电子工程与人工智能的完美融合给这一产业带来了革命性的变革和惊人的经济效益。以下是我精心整理的人工智能论文读书报告的相关资料,希望对你有帮助!
人工智能论文读书报告篇一机械电子工程与人工智能的关系探究
摘 要 近年来,世界各个发达国家竞相发展机械电子工程,以提高本国的成产力水平,机械电子工程也不断向智能化、网络化、柔性化发展,机械电子工程与人工智能的完美融合给这一产业带来了革命性的变革和惊人的经济效益。本文分别从机械电子工程、人工智能、两者融合3个方面探讨了这一趋势。
关键词 机械电子工程;人工智能;信息处理
0 引言
传统的机械工程一般分为两大类,包括动力和制造。制造类工程包括机械加工、毛坯制造和装配等生产过程,而动力类工程包括各式发电机。电子工程与传统的机械工程相比来言是较新的学科,两者于上世纪逐渐结合在一起。最初,电子工程与机械工程是以块与块的分离模式或功能替代的模式相结合,随着科学技术的不断向前推动,传统的机械工程与现代的电子工程通过信息技术有机的结合起来,形成了现在的机械电子工程学科。随着人工智能技术的不断发展,机械电子工程由传统的能量连接、动能连接逐步发展为信息连接,使得机械电子工程具有了一定的人工智能。传统的机械电子工程通过现代的科学技术进入到一个新的发展领域,同时,人工智能技术伴随着机械电子工程的日益复杂,也得到了长足的发展。
1 机械电子工程
11 机械电子工程的发展史
20世纪是科学发展最辉煌的时期,各类学科相互渗透、相辅相成,机械电子工程学科也在这一时期应运而生,它是由机械工程与电子工程、信息工程、智能技术、管理技术相结合而成的新的理论体系和发展领域。随着科学技术的不断发展,机械电子工程也变的日益复杂。
机械电子工程的发展可以分为3个阶段:第一阶段是以手工加工为主要生产力的萌芽阶段,这一时期生产力低下,人力资源的匮乏严重制约了生产力的发展,科学家们不得不穷极思变,引导了机械工业的发展。第二阶段则是以流水线生产为标志的标准件生产阶段,这种生产模式极大程度上提高了生产力,大批量的生产开始涌现,但是由于对标准件的要求较高,导致生产缺乏灵活性,不能适应不断变化的社会需求。第三阶段就是现在我们常见的现代机械电子产业阶段,现代社会生活节奏快,亟需灵活性强、适应性强、转产周期短、产品质量高的高科技生产方式,而以机械电子工程为核心的柔性制造系统正是这一阶段的产物。柔性制造系统由加工、物流、信息流三大系统组合而成,可以在加工自动化的基础之上实现物料流和信息流的自动化。
12 机械电子工程的特点
机械电子工程是机械工程与电子技术的有效结合,两者之间不仅有物理上的动力连结,还有功能上的信息连结,并且还包含了能够智能化的处理所有机械电子信息的计算机系统。机械电子工程与传统的机械工程相比具有其独特的特点:
1)设计上的不同。机械电子工程并非是一门独立学科,而是一种包含有各类学科精华的综合性学科。在设计时,以机械工程、电子工程和计算机技术为核心的机械电子工程会依据系统配置和目标的不同结合其他技术,如:管理技术、生产加工技术、制造技术等。工程师在设计时将利用自顶向下的策略使得各模块紧密结合,以完成设计;2)产品特征不同。机械电子产品的结构相对简单,没有过多的运动部件或元件。它的内部结构极为复杂,但却缩小了物理体积,抛弃了传统的笨重型机械面貌,但却提高了产品性能。
机械电子工程的未来属于那些懂得运用各种先进的科学技术优化机械工程与电子技术之间联系的人,在实际应用当中,优化两者之间的联系代表了生产力的革新,人工智能的发展使得这一想法变成可能。
2 人工智能
21 人工智能的定义
人工智能是一门综合了控制论、信息论、计算机科学、神经生理学、心理学、语言学、哲学等多门学科的交叉学科,是21世纪最伟大的三大学科之一。尼尔逊教授将人工智能定义为:人工智能是关于怎样表示知识和怎样获得知识并使用知识的科学。温斯顿教授则认为:人工智能就是研究如何使计算机去做过去只有人才能做的智能工作。至今为止,人工智能仍没有一个统一的定义,笔者认为,人工智能是研究通过计算机延伸、扩展、模拟人的智能的一门科学技术。
22 人工智能的发展史
221 萌芽阶段
17世纪的法国科学家BPascal发明了世界上第一部能进行机械加法的计算器轰动世界,从此之后,世界各国的科学家们开始热衷于完善这一计算器,直到冯诺依曼发明第一台计算机。人工智能在这一时期发展缓慢,但是却积累了丰富的实践经验,为下一阶段的发展奠定了坚实的基础。
222 第一个发展阶段
在1956年举办的“侃谈会”上,美国人第一次使用了“人工智能”这一术语,从而引领了人工智能第一个兴旺发展时期。这一阶段的人工智能主要以翻译、证明、博弈等为主要研究任务,取得了一系列的科技成就,LISP语言就是这一阶段的佼佼者。人工智能在这一阶段的飞速发展使人们相信只要通过科学研究就可以总结人类的逻辑思维方式并创造一个万能的机器进行模仿。
223 挫折阶段
60年代中至70年代初期,当人们深入研究人工智能的工作机理后却发现,用机器模仿人类的思维是一件非常困难的事,许多科学发现并未逃离出简单映射的方法,更无逻辑思维可言。但是,仍有许多科学家前赴后继的进行着科学创新,在自然语言理解、计算机视觉、机器人、专家系统等方面取得了卓尔有效的成就。1972年,法国科学家发现了Prolog语言,成为继LISP语言之后的最主要的人工智能语言。
224 第二个发展阶段
以1977年第五届国际人工智能联合会议为转折点,人工智能进入到以知识为基础的发展阶段,知识工程很快渗透于人工智能的各个领域,并促使人工智能走向实际应用。不久之后,人工智能在商业化道路上取得了卓越的成就,展示出了顽强的生命力与广阔的应用前景,在不确定推理、分布式人工智能、常识性知识表示方式等关键性技术问题和专家系统、计算机视觉、自然语言理解、智能机器人等实际应用问题上取得了长足的发展。
225 平稳发展阶段
由于国际互联网技术的普及,人工智能逐渐由单个主体向分布式主体方向发展,直到今天,人工智能已经演变的复杂而实用,可以面向多个智能主体的多个目标进行求解。
3 人工智能在机械电子工程中的应用
物质和信息是人类社会发展的最根源的两大因素,在人类社会初期,由于生产力水平低,人类社会以物质为首要基础,仅靠“结绳记事”的方法传递信息,但随着社会生产力的不断发展,信息的重要性不断被人们发现,文字成为传递信息最理想的途径,最近五十年间,网络的普及给信息传递带来了新的生命,人类进入到了信息社会,而信息社会的发展离不开人工智能技术的发展。不论是模型的建立与控制,还是故障诊断,人工智能在机械电子工程当中都起着处理信息的作用。
由于机械电子系统与生俱来的不稳定性,描述机械电子系统的输入与输出关系就变得困难重重,传统上的描述方法有以下几种:1)推导数学方程的方法;2)建设规则库的方法;3)学习并生成知识的方法。传统的解析数学的方法严密、精确,但是只能适用于相对简单的系统,如线性定常系统,对于那些复杂的系统由于无法给出数学解析式,就只能通过操作来完成。现代社会所需求的系统日益复杂,经常会同时处理几种不同类型的信息,如传感器所传递的数字信息和专家的语言信息。由于人工智能处理信息时的不确定性、复杂性,以知识为基础的人工智能信息处理方式成为解析数学方式的替代手段。
通过人工智能建立的系统一般使用两类方法:神经网络系统和模糊推理系统。神经网络系统可以模拟人脑的结构,分析数字信号并给出参考数值;而模糊推理系统是通过模拟人脑的功能来分析语言信号。两者在处理输入输出的关系上有相同之处也有不同之处,相同之处是:两者都通过网络结构的形式以任意精度逼近一个连续函数;不同之处是:神经网络系统物理意义不明确,而模糊推理系统有明确的物理意义;神经网络系统运用点到点的映射方式,而模糊推理系统运用域到域的映射方式;神经网络系统以分布式的方式储存信息,而模糊推理系统则以规则的方式储存信息;神经网络系统输入时由于每个神经元之间都有固定联系,计算量大,而模糊推理系统由于连接不固定,计算量较小;神经网络系统输入输出时精度较高,呈光滑曲面,而模糊推理系统精度较低,呈台阶状。
随着社会的不断发展,单纯的一种人工智能方法已经不能满足日益增长的社会需要,许多科学家开始研究综合性的人工智能系统。综合性的人工智能系统采用神经网络系统与模糊推理系统相结合的方法,取长补短,以获得更全面的描述方式,模糊神经网络系统便是一成功范例。模糊神经网络系统做到了两者功能的最大融合,使信息在网络各层当中找到一个最适合的完全表达空间。逻辑推理规则能够对增强节点函数,为神经网络系统提供函数连结,使两者的功能达到最大化。
4 结论
科学的不断发展带来的不仅是学科的高度细化、深化,而且是学科间的高度融合。人工智能就是各学科交叉与综合之后的结果,秉承这一天性,人工智能与机械电子工程自然的进行了完美融合,这一全新领域的发展必将引领世界潮流,促进生产力的飞速发展。
最难学的编程语言是:汇编语言。
编程语言大全:
工业编程语言: A+ |Ada |
汇编语言:B | Brainfuck | C | C++ | C++/CLI| Cg | COBOL | Eiffel | Erlang | FORTRAN | IronPython | Java | JRuby | Jython | LISP | Oberon | Objective-C| Ocaml | Pascal | Perl | Powerbuilder | Python | QBASIC | R | REXX | Ruby | Self | Smalltalk | SQL | Tcl/Tk | Visual Basic | PHP | C# | F# | J# | Visual Basic NET
脚本编程语言: ActionScript | JavaScript | JScript | Nuva | PostScript | VBScript | lua
学术编程语言: APL/J | Haskell | Logo | ML | pascal|Prolog | Scheme
其他编程语言: ALGOL | BASIC| Clipper | Forth | Modula-2/Modula-3 | MUMPS | PL/I | Simula
除了“二进制”外,逻辑学对计算机的发明还有哪些贡献?为什么说基础学科很重要
本文2023-10-02 15:59:12发表“资讯”栏目。
本文链接:https://www.lezaizhuan.com/article/157674.html