Atitit.5gl 第五代语言编程语言 PROLOG教程  人工智能语言的标准 与实现

1. 第五代语言就是自然语言又被称为知识库语言或人工智能语言,1

2. 人工智能语言特点2

2.1. 试探法2

2.2. 3.要有递归功能和回溯功能;2

2.3. prolog程序没有特定的运行顺序,其运行顺序是由电脑决定的,而不是编程序的人。 2

2.4. prolog程序中没有if、when、case、for这样的控制流程语句 前面已经说了,程序的运行方式有电脑自己决定,当然就用不到这些控制流程的语句了2

2.5.  prolog程序和数据高度统一2

2.6. 4. prolog程序实际上是一个智能数据库2

2.7. 5. 强大的递归功能2

3. ROLOG语言只有三种语句,分别称为事实、规则和问题。3

3.1. 完整的prolog程序是有事实和规则组成的。3

4. Index4

1. 第五代语言就是自然语言又被称为知识库语言或人工智能语言,

目标是最接近日常生活所用语言的程序语言。真正意义上的第五代语言尚未出现,LISP和PROLOG号称第五代语言,其实还远远不能达到自然语言的要求。

对于人工智能技术要解决的问题,往往无法把全部知识都体现在固定的程序中。通常需要建立一个知识库(包含事实和推理规则),程序根据环境和所给的输入信息以及所要解决的问题来决定自己的行动,所以它是在环境模式的制导下的推理过程。这种方法有极大的灵活性、对话能力、有自我解释能力和学习能力。这种方法对解决一些条件和目标不大明确或不完备,(即不能很好地形式化,不好描述)的非结构化问题比传统方法好,它通常采用启发式、试探法策略来解决问题。

在处理一些简单问题时,一般传统方法和人工智能用的方法没有什么区别。但在解决复杂问题时,人工智能方法与传统方法有差别。

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

2. 人工智能语言特点

2.1. 试探法

人工智能方法:人工智能要解决的问题,无法把全部知识都体现在固定的程序中。这种方法对解决一些弱结构(ill structured)问题比传统方法好。弱结构指“x”、“y”不大明确或不完备,即不能很好地形式化,不好描述。“->”用试探法。AI也尚未发展到完全能解决这类问题的全部问题。这类问题是AI研究要解决的问题

2.2. 3.要有递归功能和回溯功能;

2.3. prolog程序没有特定的运行顺序,其运行顺序是由电脑决定的,而不是编程序的人。

2.4. prolog程序中没有if、when、case、for这样的控制流程语句
前面已经说了,程序的运行方式有电脑自己决定,当然就用不到这些控制流程的语句了

2.5.  prolog程序和数据高度统一

2.6. 4. prolog程序实际上是一个智能数据库

prolog的原理就是关系数据库,它是建立在关系数据库的基础上的。在以后的学习中你会发现它和SQL数据库查询语言有很多相似之处。使用prolog可以很方便的处理数据。

2.7. 5. 强大的递归功能

在其它的语言中,你也许已经接触过递归程序了。递归是一种非常简洁的方式,它能够有效的解决许多难题。而在prolog中,递归的功能得到了充分的体现,你甚至都会感到惊奇,递归居然又如此巨大的能力。

3. ROLOG语言只有三种语句,分别称为事实、规则和问题。

定义规则。上面这句话的意思就是,某人甲和某人乙是情侣的规则就是:某人甲爱某人乙,并且某人乙爱某人甲。上面用来分隔两个爱的句子的“,”表示并且的意思。

当然为了能够让电脑运行,这个句子要改为英文的:

lovers(X,Y):-love(X,Y),love(Y,X).

3.1. 完整的prolog程序是有事实和规则组成的。

love(zhangxueyou,wanfei). 
love(zhangxueyou,zouhuimin). 
love(wanfei,xietinfen). 
love(zouhuimin,zhangxueyou). 
love(xietinfen,wanfei). 
love(xietinfen,zouhuimin). 
love(liudehua,zouhuimin). 
lovers(X,Y):-love(X,Y),love(Y,X).

我们可以看出来,完整的prolog程序是有事实和规则组成的。事实用来储存一些数据,而规则用来储存某种可以推理出来的关系。

prolog解释器的提示符号为“?-”,你只需要在在这个提示符后面输入自己的句子就可以了。让我们来看第一个询问:

?-love(zhangxueyou,wanfei).

在询问中我们可以使用大写字母代表未知的事物,让解释器找到答案。例如:

?-love(zhangxueyou,X).

这句话询问的是:都喜欢那些人。解释器将给出答案:

X=wanfei; 
X=zouhuimin; 
no.

注意1:上面的两个“;”是人工输入的,当解释器找到一个答案之后,它将这个答案输出,并且等待用户的进一步输入,如果用户输入“;”,解释器将继续寻找其他的答案,如果输入的是别的符号,解释器将终止查询。

4. Index

Prolog教程1-补充教程(写在正式教程的前面)

Prolog教程2-入门

Prolog教程3-事实

Prolog教程4-简单查询

Prolog教程5-混合查询

Prolog教程6-规则

Prolog教程7-小结

Prolog教程8-算术

Prolog教程9-数据管理

Prolog教程10-递归

Prolog教程11-数据结构

Prolog教程12-列表

Prolog教程13-操作符

Prolog教程14-截断

Prolog教程15-流程控制

Prolog教程16-自然语言

Prolog调用C语言 - 以扩展谓词为例

C语言调用Prolog Amzi逻辑服务器

人工智能语言--PROLOG

Prolog教程_prolog吧_百度贴吧.htm

Prolog教程 - zhaoyang17的博客 - 博客频道 - CSDN.NET.htm

Atitit.5gl 第五代语言编程语言 PROLOG教程  人工智能语言的标准 与实现的更多相关文章

  1. Atitit 基于sql编程语言的oo面向对象大规模应用解决方案attilax总结

    Atitit 基于sql编程语言的oo面向对象大规模应用解决方案attilax总结 1. Sql语言应该得到更大的范围的应用,1 1.1. 在小型系统项目中,很适合存储过程写业务逻辑2 1.2. 大型 ...

  2. Atitit.软件与编程语言中的锁机制原理attilax总结

    Atitit.软件与编程语言中的锁机制原理attilax总结 1. 用途 (Db,业务数据加锁,并发操作加锁.1 2. 锁得类型 排它锁 "互斥锁 共享锁 乐观锁与悲观锁1 2.1. 自旋锁 ...

  3. Apple Swift编程语言入门教程

    Apple Swift编程语言入门教程 作者: 日期: 布衣君子 2015.09.22 目录 1   简介 2   Swift入门 3   简单值 4   控制流 5   函数与闭包 6   对象与类 ...

  4. 苹果Swift编程语言新手教程【中国版】

    Swift代码语言教程:在刚刚过去的WWDC2014大会上,苹果公司新公布了一种编程语言Swift.据悉.Swift语言继承了C语言以及Objective-C的特性,且克服了C语言的兼容性问题.对于广 ...

  5. Atitit java c# php c++ js跨语言调用matlab实现边缘检测等功能attilax总结

    Atitit java c# php c++ js跨语言调用matlab实现边缘检测等功能attilax总结 1.1. 边缘检测的基本方法Canny最常用了1 1.2. 编写matlab边缘检测代码, ...

  6. Atitit.软件的建模种类and 建模语言选型and UML???

    Atitit.软件的建模种类and  建模语言选型and UML??? 1. 4大的建模种类:ui建模,业务流程建模 , 业务对象建模, 数据库建模 1 2. 文本还是图片化(推荐)的建模 1 3.  ...

  7. 2013年6月编程语言排行榜,C语言位据第一位

    2013年6月编程语言排行榜,C语言位据第一位 C语言是很多主流开发语言的母体,.NET的底层,Java的底层都是C开发的,虽然很多新语言来势汹汹,但究其根源,都脱离不开C语言

  8. Swift初体验之HelloWord+苹果Swift编程语言新手教程【中文版】

    AppDelegate.swift : <span style="font-size:24px;"><strong>// // AppDelegate.sw ...

  9. swift编程语言基础教程 中文版

    swift编程语言基础教程 中文版 http://download.csdn.net/detail/u014036026/7845491

随机推荐

  1. 在apache2.4.6中配置虚拟主机支持web.py

    web.py 是一个简单好用的python web框架. (http://webpy.org/) apache httpd是一款开源配置简单的web容器. (http://apache.org/) 假 ...

  2. poj2774(最长公共子串)

    poj2774 题意 求两个字符串的最长公共子串 分析 论文 将两个字符串合并,中间插入分隔符,在找最大的 height 值的时候保证,两个字符串后缀的起始点分别来自原来的两个字符串. code #i ...

  3. 【bzoj1951】【古代猪文】Lucas定理+欧拉定理+孙子定理

    (上不了p站我要死了,当然是游戏原画啊) Description (题面倒是很有趣,就是太长了) 题意: 一个朝代流传的猪文文字恰好为N的k分之一,其中k是N的一个正约数(可以是1和N).不过具体是哪 ...

  4. 图论常用算法之一 POJ图论题集【转载】

    POJ图论分类[转] 一个很不错的图论分类,非常感谢原版的作者!!!在这里分享给大家,爱好图论的ACMer不寂寞了... (很抱歉没有找到此题集整理的原创作者,感谢知情的朋友给个原创链接) POJ:h ...

  5. 六. 异常处理5.多重catch语句的使用

    某些情况,由单个代码段可能引起多个异常.处理这种情况,你可以定义两个或更多的catch子句,每个子句捕获一种类型的异常.当异常被引发时,每一个catch子句被依次检查,第一个匹配异常类型的子句执行.当 ...

  6. A标签几种状况下的样式问题

    正常状态下的a标签是这样的. 去掉下划线只需要在样式里面加入a{text-decoration:none;}或者<a href="www.kanbuchuan.com"sty ...

  7. etcd集群日常维护

    配置文件和启动参数说明 命令行 | 配置文件 | 说明 data-dir | ETCD_DATA_DIR | 指定节点的数据存储目录,包括节点ID,集群ID,集群初始化配置,Snapshot文件,若未 ...

  8. 无法通过windows installer服务安装此安装程序包。您必须安装带有更新版本windows Installer服务的Windows

    无法通过windows installer服务安装此安装程序包.您必须安装带有更新版本windows installer服务的Windows 出现这个问题不让安装程序,可以到微软网站更新Windows ...

  9. mysql行转列,单列转多行

    行转列 使用CASE语句: SELECT SUM(CASE USER_NAME='A' THEN KILLS END) AS 'A', SUM(CASE USERNAME='B' THEN KILL ...

  10. 智能选择器和语义化的CSS

    本文由白牙根据Heydon Pickering的<Semantic CSS With Intelligent Selectors>所译,整个译文带有我自己的理解与思想,如果译得不好或不对之 ...