1、华 北 电 力 大 学 科 技 学 院实 验 报 告| 实 验 名 称PROLOG语 言 编 程 练 习 及 图 搜 索 问 题 求 解课 程 名 称 人 工 智 能 及 应 用| 专 业 班 级 : 学 生 姓 名 :学 号 : 成 绩 :指 导 教 师 : 实 验 日 期 :( 实 验 报 告 如 打 印 , 纸 张 用 A4, 左 装 订 ; 页 边 距 : 上 下 2.5cm,左 2.9cm,右 2.1cm; 字 体 : 宋 体 小 四 号 , 1.25 倍 行 距 。 )验 证 性 、 综 合 性 实 验 报 告 应 含 的 主 要 内 容 :一 、 实 验 目 的 及 要 求二 、
2、 所 用 仪 器 、 设 备三 、 实 验 原 理四 、 实 验 方 法 与 步 骤五 、 实 验 结 果 与 数 据 处 理六 、 讨 论 与 结 论 ( 对 实 验 现 象 、 实 验 故 障 及 处 理 方 法 、 实 验 中 存 在 的 问题 等 进 行 分 析 和 讨 论 , 对 实 验 的 进 一 步 想 法 或 改 进 意 见 )七 、 所 附 实 验 输 出 的 结 果 或 数 据设 计 性 实 验 报 告 应 含 的 主 要 内 容 :一 、 设 计 要 求二 、 选 择 的 方 案三 、 所 用 仪 器 、 设 备四 、 实 验 方 法 与 步 骤五 、 实 验 结 果 与
3、 数 据 处 理六 、 结 论 ( 依 据 “ 设 计 要 求 ” )七 、 所 附 实 验 输 出 的 结 果 或 数 据* 封 面 左 侧 印 痕 处 装 订华 北 电 力 大 学 科 技 学 院 实 验 报 告第 页 共 页一 、 实 验 目 的 及 要 求1. 熟 悉 PROLOG的 运 行 环 境 , 进 行 prolog的 基 本 编 程 练 习 。了 解 PROLOG语 言 中 常 量 、 变 量 的 表 示 方 法 。 PROLOG的 简 单 程 序 结 构 , 掌 握 分 析 问题 、 询 问 解 释 技 巧 ; 进 行 事 实 库 、 规 则 库 的 编 写 , 并 在 此
4、 基 础 上 进 行 简 单 的 询 问 。具 体 实 验 课 上 相 关 内 容 , 练 习 例 1到 例 6的 内 容 。2. 图 搜 索 问 题 求 解 。任 选 以 下 实 际 应 用 题 目 : 爱 因 斯 坦 的 超 级 问 题 、 字 谜 问 题 、 汉 诺 塔 问 题 、 八 数 码 问题 、 八 皇 后 问 题 、 过 河 问 题 等 , 选 两 个 。要 求 实 验 报 告 中 包 括 : 程 序 及 其 注 释 和 说 明 、 console表 单 中 的 程 序 运 行 结 果 。二 、 所 用 仪 器 、 设 备PC机 和 trinc prolog编 译 软 件三 、
5、 实 验 原 理PROLOG语 言 是 一 种 以 逻 辑 推 理 为 基 础 的 逻 辑 型 程 序 设 计 语 言 , 是 一 种 陈 述 性 语 言 而不 是 过 程 性 语 言 。 PROLOG语 言 能 够 自 动 实 现 模 式 匹 配 和 回 溯 、 具 备 递 归 技 术 , 而 且 语 法简 明 , 可 以 简 化 复 杂 问 题 求 解 。四 、 实 验 方 法 与 步 骤1, 先 搭 配 实 验 环 境 : PC机 和 trinc prolog编 译 软 件2, 写 好 程 序 进 行 编 译3, 用 “ ? -” 来 检 测 程 序 结 果4,实 验 一( 1) 定 义
6、 word规 则( 2) 定 义 crossword( 3) 定 义 行 列 重 复 的 设 为 变 量( 4) 递 归 算 法 查 找 结 果5, 实 验 二( 1) 设 计 该 问 题 的 状 态 。 例 如 : (左 岸 牧 师 数 , 左 岸 野 人 数 ),(右 岸 牧 师 数 , 右 岸野 人 数 ),船 的 位 置 )。( 2) 定 义 目 标 状 态 。 这 里 是 : (0,0),(3,3),1)( 3) 描 述 可 能 的 动 作 。 船 上 所 能 够 载 人 的 状 态 就 是 可 能 的 操 作 。 用 谓 词 move表华 北 电 力 大 学 科 技 学 院 实 验
7、 报 告第 页 共 页示 。( 4) 判 断 合 法 状 态( 5) 深 度 优 先 搜 索五 、 求 解 的 问 题 与 程 序实 验 一 : 字 谜 问 题/定 义 word规 则word(abalone,a,b,a,l,o,n,e).word(abandon,a,b,a,n,d,o,n).word(enhance,e,n,h,a,n,c,e).word(anagram,a,n,a,g,r,a,m).word(connect,c,o,n,n,e,c,t).word(elegant,e,l,e,g,a,n,t).crosswd(V1,V2,V3,H1,H2,H3):-/定 义 crosswd
8、规 则word(V1,_,A,_,B,_,C,_),/行 与 列 交 叉 的 设 为 变 量word(V2,_,D,_,E,_,F,_),word(V3,_,G,_,H,_,I,_),word(H1,_,A,_,D,_,G,_),word(H2,_,B,_,E,_,H,_),word(H3,_,C,_,F,_,I,_).实 验 二 : 传 教 士 与 野 人 问 题/从 左 岸 到 右 岸 船 上 的 人 数move(1,0).华 北 电 力 大 学 科 技 学 院 实 验 报 告第 页 共 页move(0,1).move(0,2).move(2,0).move(1,1)./判 断 当 前 状
9、 态 是 否 合 法legal(X,Y,_):-legal1(X), legal1(Y).legal1(X,Y):- X=:=0,Y=0,!.legal1(X,Y):- Y=:=0,X=0,!.legal1(X,Y):- X=Y,X=0,Y=0./根 据 (X,Y,0),Move, 求 出 Statu1update(X,Y,0),Move,Statu1):-(A,B)=X,/左 岸 的 状 态 给 变 量 X(C,D)=Y,/右 岸 的 状 态 给 变 量 Y(E,F)=Move,/移 动 的 人 与 传 教 士 的 个 数C1 is C+E,D1 is D+F,A1 is A-E,B1 is
10、 B-F,Statu1=(A1,B1),(C1,D1),1)./求 出 右 岸 的 状 态update(X,Y,1),Move,Statu1):-(A,B)=X,华 北 电 力 大 学 科 技 学 院 实 验 报 告第 页 共 页(C,D)=Y,(E,F)=Move,C1 is C-E,D1 is D-F,A1 is A+E,B1 is B+F,Statu1=(A1,B1),(C1,D1),0)./求 出 左 岸 的 状 态/调 用 connect 规 则 , 求 出 Statu1,并 对 其 进 行 判 断 是 否 合 法connect(Statu,Statu1):-move(X,Y),up
11、date(Statu,(X,Y),Statu1),legal(Statu1).member(X,X|Tail).member(X,Head|Tail):-member(X,Tail)./深 度 优 先 算 法findroad(X,X,L,L).findroad(X,Y,L,L1):-connect(X,Z),not(member(Z,L), findroad(Z,Y,Z|L,L1).六 、 讨 论 与 结 论根 据 本 次 实 验 收 获 很 大 , 又 了 解 一 门 新 的 编 程 语 言 , 与 平 时 用 的 不 一 样 ,是 面 向 逻 辑 的 , 通 过 老 师 上 课 和 课 下
12、 的 实 验 , 又 加 深 对 其 的 了 解 。华 北 电 力 大 学 科 技 学 院 实 验 报 告第 页 共 页对 字 谜 问 题 , 初 步 了 解 规 则 与 递 归 的 使 用 方 法 ; 对 于 传 教 士 与 野 人 问 题 ,稍 有 难 度 , 就 是 对 许 多 小 的 规 则 一 起 调 用 的 方 法 , 最 后 涉 及 到 深 度 优 先 的 算法 , 与 老 师 和 同 学 进 行 讨 论 , 并 一 步 步 算 出 结 果 , 加 深 深 度 优 先 算 法 , 提 高了 思 维 能 力 , 并 继 续 努 力 !七 、 所 附 实 验 输 出 的 结 果 或
13、数 据实 验 一 :SOLUTION:L=(3, 3), (0, 0), 0), (2, 2), (1, 1), 1), (3, 2), (0, 1),0), (3, 0), (0, 3), 1), (3, 1), (0, 2), 0), (1, 1), (2, 2), 1),(2, 2), (1, 1), 0), (0, 2), (3, 1), 1), (0, 3), (3, 0), 0),(0, 1), (3, 2), 1), (0, 2), (3, 1), 0), (0, 0), (3, 3), 1), (0,1), (3, 2), 0), (0, 0), (3, 3), 1SOLUTI
14、ON:L=(3, 3), (0, 0), 0), (3, 1), (0, 2), 1), (3, 2), (0, 1),0), (3, 0), (0, 3), 1), (3, 1), (0, 2), 0), (1, 1), (2, 2), 1),(2, 2), (1, 1), 0), (0, 2), (3, 1), 1), (0, 3), (3, 0), 0),(0, 1), (3, 2), 1), (0, 2), (3, 1), 0), (0, 0), (3, 3), 1),(0, 1), (3, 2), 0), (0, 0), (3, 3), 1SOLUTION:L=(3, 3), (0,
15、 0), 0), (2, 2), (1, 1), 1), (3, 2), (0, 1),0), (3, 0), (0, 3), 1), (3, 1), (0, 2), 0), (1, 1), (2, 2), 1),华 北 电 力 大 学 科 技 学 院 实 验 报 告第 页 共 页(2, 2), (1, 1), 0), (0, 2), (3, 1), 1), (0, 3), (3, 0), 0), (0,1), (3, 2), 1), (1, 1), (2, 2), 0), (0, 0), (3, 3), 1), (0, 1),(3, 2), 0), (0, 0), (3, 3), 1SOLU
16、TION:L=(3, 3), (0, 0), 0), (3, 1), (0, 2), 1), (3, 2), (0, 1),0), (3, 0), (0, 3), 1), (3, 1), (0, 2), 0), (1, 1), (2, 2), 1),(2, 2), (1, 1), 0), (0, 2), (3, 1), 1), (0, 3), (3, 0), 0), (0,1), (3, 2), 1), (1, 1), (2, 2), 0), (0, 0), (3, 3), 1), (0, 1),(3, 2), 0), (0, 0), (3, 3), 1SOLUTION:L=(3, 3), (
17、0, 0), 0), (2, 2), (1, 1), 1), (3, 2), (0, 1),0), (3, 0), (0, 3), 1), (3, 1), (0, 2), 0), (1, 1), (2, 2), 1),(2, 2), (1, 1), 0), (0, 2), (3, 1), 1), (0, 3), (3, 0), 0), (0,1), (3, 2), 1), (0, 2), (3, 1), 0), (0, 0), (3, 3), 1SOLUTION:L=(3, 3), (0, 0), 0), (3, 1), (0, 2), 1), (3, 2), (0, 1),0), (3, 0
18、), (0, 3), 1), (3, 1), (0, 2), 0), (1, 1), (2, 2), 1),(2, 2), (1, 1), 0), (0, 2), (3, 1), 1), (0, 3), (3, 0), 0), (0,1), (3, 2), 1), (0, 2), (3, 1), 0), (0, 0), (3, 3), 1SOLUTION:L=(3, 3), (0, 0), 0), (2, 2), (1, 1), 1), (3, 2), (0, 1),0), (3, 0), (0, 3), 1), (3, 1), (0, 2), 0), (1, 1), (2, 2), 1),华
19、 北 电 力 大 学 科 技 学 院 实 验 报 告第 页 共 页(2, 2), (1, 1), 0), (0, 2), (3, 1), 1), (0, 3), (3, 0), 0), (0,1), (3, 2), 1), (1, 1), (2, 2), 0), (0, 0), (3, 3), 1), (0, 2),(3, 1), 0), (0, 0), (3, 3), 1SOLUTION:L=(3, 3), (0, 0), 0), (3, 1), (0, 2), 1), (3, 2), (0, 1),0), (3, 0), (0, 3), 1), (3, 1), (0, 2), 0), (1
20、, 1), (2, 2), 1),(2, 2), (1, 1), 0), (0, 2), (3, 1), 1), (0, 3), (3, 0), 0), (0,1), (3, 2), 1), (1, 1), (2, 2), 0), (0, 0), (3, 3), 1), (0, 2),(3, 1), 0), (0, 0), (3, 3), 1SOLUTION:L=(3, 3), (0, 0), 0), (2, 2), (1, 1), 1), (3, 2), (0, 1),0), (3, 0), (0, 3), 1), (3, 1), (0, 2), 0), (1, 1), (2, 2), 1)
21、,(2, 2), (1, 1), 0), (0, 2), (3, 1), 1), (0, 3), (3, 0), 0), (0,1), (3, 2), 1), (1, 1), (2, 2), 0), (0, 0), (3, 3), 1SOLUTION:L=(3, 3), (0, 0), 0), (3, 1), (0, 2), 1), (3, 2), (0, 1),0), (3, 0), (0, 3), 1), (3, 1), (0, 2), 0), (1, 1), (2, 2), 1),(2, 2), (1, 1), 0), (0, 2), (3, 1), 1), (0, 3), (3, 0)
22、, 0), (0,1), (3, 2), 1), (1, 1), (2, 2), 0), (0, 0), (3, 3), 1SOLUTION:L=(3, 3), (0, 0), 0), (2, 2), (1, 1), 1), (3, 2), (0, 1),0), (3, 0), (0, 3), 1), (3, 1), (0, 2), 0), (1, 1), (2, 2), 1),华 北 电 力 大 学 科 技 学 院 实 验 报 告第 页 共 页(2, 2), (1, 1), 0), (0, 2), (3, 1), 1), (0, 3), (3, 0), 0), (0,1), (3, 2),
23、1), (0, 2), (3, 1), 0), (0, 0), (3, 3), 1), (1, 1),(2, 2), 0), (0, 0), (3, 3), 1SOLUTION:L=(3, 3), (0, 0), 0), (3, 1), (0, 2), 1), (3, 2), (0, 1),0), (3, 0), (0, 3), 1), (3, 1), (0, 2), 0), (1, 1), (2, 2), 1),(2, 2), (1, 1), 0), (0, 2), (3, 1), 1), (0, 3), (3, 0), 0), (0,1), (3, 2), 1), (0, 2), (3, 1), 0), (0, 0), (3, 3), 1), (1, 1),(2, 2), 0), (0, 0), (3, 3), 1No实 验 二 :华 北 电 力 大 学 科 技 学 院 实 验 报 告第 页 共 页华 北 电 力 大 学 科 技 学 院 实 验 报 告第 页 共 页