【人工智能Prolog】Prolog解决数独问题

Prolog解决数独问题

  • 问题简述
  • 建立Prolog.pl文件
  • 解决数独问题

问题简述

【人工智能Prolog】Prolog解决数独问题_第1张图片
我们尝试使用 Prolog 来解决这道数独问题。
已知可以填充的所有单词为:
dog, run, top, five, four, lost, mess, unit, baker, forum, green, super, prolog, vanish, wonder, yellow.
已知数独的填充格式如上图所示。


建立Prolog.pl文件

首先将已知输入到pl文件中:

word(d,o,g).
word(r,u,n).
word(t,o,p).
word(f,i,v,e).
word(f,o,u,r).
word(l,o,s,t).
word(m,e,s,s).
word(u,n,i,t).
word(b,a,k,e,r).
word(f,o,r,u,m).
word(g,r,e,e,n).
word(s,u,p,e,r).
word(p,r,o,l,o,g).
word(v,a,n,i,s,h).
word(w,o,n,d,e,r).
word(y,e,l,l,o,w).

构建数独结构:

solution(L1,L2,L3,L4,L5,L6,L7,L8,L9,L10,L11,L12,L13,L14,L15,L16) :- 
	word(L1,L2,L3,L4,L5),
	word(L9,L10,L11,L12,L13,L14),
	word(L1,L6,L9,L15),
	word(L3,L7,L11),
	word(L5,L8,L13,L16).

构建结束!


解决数独问题

使用prolog运行文件,输入求解:

?- solution(L1,L2,L3,L4,L5,L6,L7,L8,L9,L10,L11,L12,L13,L14,L15,L16).

得到答案:
【人工智能Prolog】Prolog解决数独问题_第2张图片
即:
【人工智能Prolog】Prolog解决数独问题_第3张图片
关于Prolog安装与简单逻辑,见博客:https://blog.csdn.net/weixin_43098506/article/details/124411405

你可能感兴趣的:(人工智能)