zoukankan      html  css  js  c++  java
  • prolog例子1

    例子来自:Prolog是如何回答问题的

    1. 请看下图:

    "alt"

    我们的目的是要在上面表格中白色的方格(带有LXX标识的方格)里面填上英文单词,可供选择的单词有:

    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.

    solution(L1,L2,L3,L4,L5,L6,L7,L8,L9,L10,L11,L12,L13,L14,L15,L16).
    分析:单词1和单词3共享字母“L1”,单词4和单词1共享字母“L3”,单词4和单词2共享字母“L12”,依次类推,我们可以把所有的约束都写出来。这样,我们就告诉Prolog系统最后的答案长得什么样

    应该这么写:

    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文件word.pl的代码:

    运行结果:

    即 1 forum;2 vanish ;3  five;4 run;5 mess ;

  • 相关阅读:
    机器学习到底适合哪些人群?
    Window 下载Android系统源代码
    KeyguardSimPinView
    TrustManagerService.java
    ScrimState.java
    KeyguardSliceView.java
    博客
    name="verify-v1"是做什么用的
    基础练习 特殊回文数
    算法训练 P1103
  • 原文地址:https://www.cnblogs.com/hozhangel/p/7778771.html
Copyright © 2011-2022 走看看