第一天
看到‘地图着色’那个例子的时候觉得prolog这下牛逼了……的确,只要通过描述的事实,就能将其填色 :)
这里介绍一下怎么用prolog来解地图填色问题:

different(red, green). different(red, blue). different(green, red). different(green, blue). different(blue, red). different(blue, green). coloring(Alabama, Mississippi, Georgia, Tennessee, Florida) :- different(Mississippi, Tennessee), different(Mississippi, Alabama), different(Alabama, Tennessee), different(Alabama, Mississippi), different(Alabama, Georgia), different(Alabama, Florida), different(Georgia, Florida), different(Georgia, Tennessee). | -? coloring(Alabama, Mississippi, Georgia, Tennessee, Florida). Alabama = blue Florida = green Georgia = red Mississippi = red Tennessee = green ?
再输入a就可以获得另外几种着色的组合。如果换一种地图导致三种颜色无法获得填色结果,prolog会告诉你:no. 就是这样,感觉就像和程序在对话,再添加一种颜色也许就可以得到答案。
BTW,这次的作业蛮少的……

本文介绍了Prolog语言在解决地图着色问题中的应用,展示了如何通过描述事实来解决这一问题。此外,还展示了构建简单知识库的过程,包括作者和书籍的关系,并提供了查询作者所著书籍的示例。最后,提到了音乐家和乐器的知识库,以及如何查询使用吉他乐器的音乐家。
最低0.47元/天 解锁文章
2159

被折叠的 条评论
为什么被折叠?



