人工智能实验报告(装错信封问题).docVIP

  • 11
  • 0
  • 约2.55千字
  • 约 4页
  • 2023-10-15 发布于湖北
  • 举报
实验报告 实验目的 1.掌握Visual Prolog软件编程使用方法; 2.掌握Prolog程序的各域段含义; 3.学习列表数据结构的使用。 实验设备 计算机、Visual Prolog软件开发平台。 实验内容 糊涂先生给他的五个朋友写信,他写了五封信,但是当他的朋友收到信后,都告诉他:“你的信寄错了”。那么请你计算一下:出现这种情况的概率有多少?(假设糊涂先生是随机地往信封里装信),你能不能把所有的情况都列出来呢? 提示:我们先来分析一下问题。往五个不同的信封里装五封不同的信,一共有5!=120种装法,这实际上是5封信的全排列。由于所有的信都装错了,所以一号信不在一号信封里,二号信不在二号信封里,......,如果用列表[1,2,3,4,5]表示所有的信都装对了的情况(1在第一位,2在第二位,......)。那么[5,4,2,3,1]就是一种装错了的情况。 先熟悉一下几个谓词: % delete(A,B,C), B为列表,A为B中的某个元素,C为把B中的元素A除去后的列表。 delete(A,[A|X],X). delete(A,[B|X],[B|Y]) :- delete(A,X,Y). % permutation(A,B), 列表A为列表B的全排列之一时,成功。 permutation([],[]). permutation([A|X],Y):-delete(A,Y,Y1)

文档评论(0)

1亿VIP精品文档

相关文档