首页 > 文章中心 > 正文

人工智能AI程序设计

人工智能AI程序设计

本文将介绍10多种不同的程序设计语言,以及如何下载它们的免费的编译器,(注意,是免费,而不是盗版),如果下载或者安装有问题,可以给我发邮件:

ruoyu0088@

20年后,我们用什么样的语言?也许现在谁都不好回答,20年前的程序员们会告诉你用汇编吧,今天人们也许会告诉你用c语言(c++?)吧。那么20年后呢,也许不是c语言了吧。下面都是所谓的非主流语言,不过它们的设计思想、所能够完成的功能,绝对不比c语言差。也许将来它们会成为主流,也许不会,可是不管怎样,它们都有自己的闪光之处。

---〉你要么站在电脑的硬件上编程,要么站在巨人的肩膀上编程,请选择吧。

*******Prolog**********

人工智能领域常用的语言,开发自然语言分析,专家系统,以及所有和智能有关的程序,都非常拿手。可以到我的主页来学习这门语言

----visualprolog

www.visual-

顾名思义,这是一个可以制作界面的Prolog,有试用版本下载,大概20M左右。这个prolog版本需要对谓词以及数据进行声明,就像C语言一样。因此在使用的时候比较复杂,不过更加适合编制较大的程序。编译出来的程序可以直接运行。

----amziprolog

这个prolog版本包含解释器、编译器,不过编译出来的程序不能够直接运行,需要运行器运行。可以很方便的和其它语言(例如visualbasic,java,C,CGI)连接,开发智能程序。解释器的运行效率较低。它所说使用的语法体系和visualprolog不同,程序需要进行适当的修改才能够在visualprolog中运行。

----SWI-Prolog

www.swi.psy.uva.nl/projects/SWI-Prolog/

我没有怎么使用过这个版本的prolog解释器,不过它的运行速度要比amziprolog的解释器快,和amzi的编译之后的程序差不多快,如果下载图形软件包XPCE的话,还可以开发有界面的程序。它的语法和amziprolog相同,程序可以通用,不过内部谓词有些不同,有时候需要修改一下。

----Turboprolog

/

Dos版本的prolog,有开发界面,可以编译成可执行文件,语法和visual-prolog相同,不过内部谓词有许多出入。

----Bprolog

www.cad.mse.kyutech.ac.jp/people/zhou/index.html

好像是中国人开发的prolog软件,据说比其它的prolog运算速度都要快,我曾经在linux下面使用过这个prolog,也有window版的,不过没有什么集成开发环境。语法和其它的几个都不太相同,需要适当的修改程序才能够在此环境下运行。此prolog提供了许多测试速度的解谜题的程序,这个版本的prolog支持constraint程序设计。

----strawberryprolog

1兆的容量,包括完整的开发界面,帮助,例程,提供了几个棋类游戏的源程序。可以直接开发有界面的prolog程序,共享版不能够编译,就解释执行吧

*********Lisp*******

人工智能语言的老大哥。语言格式只有一个形式:列表,所以也叫做表处理语言,这可不是一般的表,是可以包容任意结构的表,有了它,你还用c语言来写链表,二叉树的程序么?学习数据结构不妨使用lisp,让你更加关心算法,而不是数据如何在计算机内部表达。

----xemacs

与著名的gunsemacs编辑器的起名,并且界面更加友善,内带emacslisp,和许多使用lisp编写的工具软件,例如calc,是一个功能强大的计算器,支持符号运算,有全部的源程序,如果能够好好研究这些源程序,收获一定不小。

----AllegroCL

commonlisp

,windows下的commonlisp集成开发环境,60天试用。

----lispwork

commonlisp

/无限期使用,没有任何功能限制

*****functionallanguage****

这是一类语言,叫做函数型程序设计语言。是一种非常高级的语言。一种基于λ演算和在70年代后期才发展起来的新语言类型。大多数程序设计语言明显地规定要执行操作的次序。次序的详细规定是很需要的,因为语言的语句对程序的变量有“作用”,如果改变这些作用的次序,就可以改变产生的最后值。但是函数型语言却没有这种性质。在这个意义上,函数型语言能建立可计算性的数学公式模型。让我们来看一个简单的例子:

qsort::[a]->[a]|Orda

qsort[]=[]

qsort[a:xs]=qsort[x\\x<-xs|x<-xs|x>=a]

这段程序就是快速排序的代码,你看有多么简洁,并且它的这个qsort可以对任何类型的数据进行排序(只要这种数据可以比较大小)。想读懂上面的程序么?那么下载下面的clean,或者haskell,好好研究吧,祝你有新的发现。

----clean

www.cs.kun.nl/~clean/

并行的函数型语言,可以把源程序编译成exe文件,带有丰富的库,从tcp/ip,到界面设计,到游戏开发,无一不全。

----haskell

/hugs/

hugs是haskell的免费编译器,语法和clean相似,不过是解释执行,因此易于学习。

---caml

caml.inria.fr/

又一个函数型语言。

**********mozartoz*********

www.mozart-

20年后,我们用什么样的语言?也许现在谁都不好回答,20年前的程序员们会告诉你汇编是最棒语言,今天人们也许会告诉你用c语言(c++?)_吧。那么20年后呢,也许不是c语言了吧。世界上许多程序语言的研究机构都在开发下一代的语言,mozartoz也可以算是其中之一吧。

mozartoz是具有魔力的语言。它融合了目前几种流行的程序设计思想,我们叫它多范式语言。它是面向对象的语言,它是函数型的语言,它是约束逻辑的语言,它是并发式的语言,它还是分布式的语言,几句话很难概括它的功能。最好去它的网站看看吧,下载一个慢慢研究?

他使用emacs作为开发界面,因此你首先需要安装emacsforwindows(也可以在mozart的网上找到,也可以去去找),如果你安装了emacs那么你也就同时获得了emacslisp,呵呵,收获不小。

为了提起您的兴趣,请思考如下的问题如何编程解决,然后你可以在mozart中找到惊人简单的解决方案。

15个人每天出去玩,每天分为5组,每组3人,玩一个星期,使得任何两个人都曾经在一组中玩过,你如何安排?

*********J*****************

不要和java搞混淆了。它是一种面向阵列的语言,也就是说矢量。