资源描述:
《Prolog语言解八皇后问题实验报告_人工智能》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、2016-2017第1学期《人工智能基础》实验报告Prolog语言解八皇后问题专业班级学号姓名1、实验环境VisualProlog2、实验目的和要求自学Prolog语言学习使用visualprolog解八皇后问题3、解题思路、代码3.1解题思路八个皇后分别为A,B,C,D,E,F,G,H其值分别为第1,2,3……8列皇后所在位置domainspredicatesclausesgoal3.2代码PREDICATESDOMAINScell=c(integer,integer)list=cell*in
2、t_list=integer*PREDICATESsolution(list)member(integer,int_list)nonattack(cell,list)CLAUSESsolution([]).solution([c(X,Y)
3、Others]):-solution(Others),member(Y,[1,2,3,4,5,6,7,8]),nonattack(c(X,Y),Others).nonattack(_,[]).nonattack(c(X,Y),[c(X1,Y1)
4、Others]
5、):-3/32016-2017第1学期《人工智能基础》实验报告Y<>Y1,Y1-Y<>X1-X,Y1-Y<>X-X1,nonattack(c(X,Y),Others).member(X,[X
6、_]).member(X,[_
7、Z]):-member(X,Z).GOALsolution([c(1,A),c(2,B),c(3,C),c(4,D),c(5,E),c(6,F),c(7,G),c(8,H)]).4、实验步骤4.1输入:3/32016-2017第1学期《人工智能基础》实验报告4.2输出:………
8、……..(后面还有一页输出,略)5、讨论和分析这个语言没教过,只有几页PPT,看了也没用,到网上下了一本Prolog语言教程看了好几天才会。Prolog语言及其基本结构是:事实、规则、目标(问题),prolog程序没有特定的运行顺序,其运行顺序是由电脑决定的,而不是编程序的人,prolog程序中没有if、when、case、for这样的控制流程语句,prolog程序和数据高度统一,prolog程序实际上是一个智能数据库,有强大的递归功能。3/3