下载此文档

人工智能.doc


文档分类:IT计算机 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
人工智能50811设有两个聪明的先生S和P,以及两个自然数X和Y,2<=X,Y<=99。S先生知道这两个数之和S,P先生知道这两个数之积P。S先生和P先生有下面一段对话:S:我不知道这两个数是什么,但是我确信你也不知道。P:听了你这句话,我就知道这两个数了。S:现在我也知道了。你能从他们的对话中推断出这两个数是什么吗?解答:(1)S先生说:“我不知道这两个数。”,这就可知S决不是:4(=2+2),5(=2+3),197(=98+99),198(=99+99)。(2)S先生说:“我确定你也不知道这两个数。”,这就可知P决不是:两端的数之积,如4(=2*2),6(=2*3),8=(2*4),10(=2*5),…9801(=99*99),9702(=98*99),9604(=98*98)。素数或者素数之积,如5,7,11,…25(=5*5),35(=5*7)。如此一来,就可以初步总结出S可能的数的集合:S={11,17,23,27,29,35,37,41,47,53}。同理,可初步总结出P可能的数的集合。但此时P的数目还是很大的,总计有6817个。P={12,16,18。。。4317,4318,4319。。。9798,9799,9800}(3)P先生说:“一听你的话,我就知道了。”,这是可以判断P的可能数值的。我们这样来分析,将P分解后,将得到多个X,Y的组合,分别求出每个组合对应的S(=X+Y)。那要在什么条件下P先生才能确定唯一的X,Y组合呢?答案就是:当从P中分解出来的多个X,Y组合中有且仅有一个属于S。按照这个方法,P先生就可以把他所知道的P进行分解,然后把分解出来的多个X,Y组合一个个去构成对应的S,这样就可以找到唯一的X,Y组合。(4)S先生说:“我也是,现在我也知道了。”,这样一来,就完全可以判断x,y的数值了。其原理和第3步相同。即将S分解后,将得到多个X,Y的组合,分别求出每个组合对应的P(=X*Y)。当从S中分解出来的多个X,Y组合中有且仅有一个属于P时,就能确定唯一的X,Y组合了。这样,S先生根据自己猜出的集合P,再把自己的S分解成x,y组合,把不同的X,Y组合放到P中去验证,求出唯一的解。最终求出的解为:X=4,Y=13。相应的Prolog程序为Predicatespuzzle(integer,integer,integer,integer)boundd(integer,integer,integer)unique(integer,integer,integer,integer)find(integer,integer,integer)cond1(integer,integer,integer,integer)cond2(integer,integer,integer,integer)cond3(integer,integer,integer,integer)Goalpuzzle(2,99,X,Y),write("Theresultis:"),nl,write("X=",X),nl,write("Y=",Y).Clausespuzzle(Lb,Hb,X,Y):-Hx=Hb/2,boundd(Lb,Hx,X),boundd(X,Hb,Y),cond1(Lb,Hb,X,Y),cond2(Lb,Hb,X,Y),cond3(Lb,Hb,X,Y).boundd

人工智能 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人kt544455
  • 文件大小84 KB
  • 时间2020-01-03