当前位置:问百书>百科问答>Prolog规则结构与实例

Prolog规则结构与实例

2024-06-19 10:04:33 编辑:join 浏览量:533

Prolog规则结构与实例

让我们先从一个简单的规则开始讨论:eats(john, Y) :- food(Y), sweet(Y).这个规则告诉我们,如果Y是食物且甜,那么约翰会去吃它。规则由三个要素组成:规则头(此例中为eats(john,Y));符号“:-”(这个符号的意思可以理解为“如果”或“是”);规则体(此例中为food(Y), sweet(Y))。

以下是相应的整个代码。

下面是运行结果。Prolog把试图满足讯问?- eats(john,Food).的任务变为同时满足food(Food).和sweet(Food).。

由于Prolog的特性使得它特别适合用于地图上色、日程安排之类没有算法或难以用算法描述的问题。接下来,以地图上色的问题作为例子。地图上色时,需要让相邻的两片区域用不同的颜色表示。下图是美国东南部的地图,尝试用三种颜色将它们区别出来。

在下面这个规则中,告诉了Prolog各个州的的接壤关系:coloring(Alabama, Mississippi, Georgia, Tennessee, Florida) :- different(Mississippi, Tennessee), different(Mississippi, Alabama), ……下图是整个代码。

运行时,对Prolog用下列语句进行提问:?- coloring(Alabama, Mississippi, Georgia, Tennessee, Florida).这样就生成了需要的结果。在这些问题中,我们没有使用算法!Prolog不是通过编写算法来解决逻辑问题的,而是通过如实地描述真实世界,来呈现计算机可以设法解决的逻辑问题,让计算机做这些工作吧。

标签:Prolog,实例,规则

版权声明:文章由 问百书 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.wenbaishu.com/answer/423741.html
热门文章
二维码