设 SK=(Nx,Ny,C) 表示修道士和野人在河的左岸的状态,其中,Nx表示修道士在左岸的实际人数,Ny表示野人在左岸的实际人数,C用来指示船是否在左岸 (C=1 表示在左岸, C=0 表示不在左岸)。第二步,用所定义的状态描述形式把问题的所有可能状态都表示出来,并确定出问题的初始状态集和目标状态集。对于状态 SK=(Nx...
该谓词的含义是:状态S下,在z岸,保证修道士安全,当且仅当修道士不在该岸上,或者修道士在该岸上,但人数超过野人数。该谓词同时也描述了相应的状态。 再定义描述过河方案的谓词: L-R(x, x1, y, y1,S):x1个修道士和y1个野人渡船从河的左岸到河的右岸 条件:Safety(L,x-x1,y-y1,S’)∧Safety(R,3-...
2.11 用谓词表示法求解修道士和野人问题。在河的北岸有三个修道士、三个野人和一条船,修道士们想用这条船将所有的人都运过河去,但要受到以下条件限制:(1) 修道士和野人都会划船,但船一次只能装运两个人。(2) 在任何岸边,野人数不能超过修道士,否则修道士会被野人吃掉。假定野人愿意服从任何一种过河安排,请...
设SK=(Nx,Ny,C)表示修道士和野人在河的左岸的状态,其中,Nx表示修道士在左岸的实际人数,Ny表示野人在左岸的实际人数,C用来指示船是否在左岸(C=1表示在左岸,C=0表示不在左岸)。第二步,用所定义的状态描述形式把问题的所有可能状态都表示出来,并确定出问题的初始状态集和目标状态集。对于状态SK=(Nx,Ny,C)来...
野人和3个修道士以及一条小船,修道士们想用这条小船把所有的人都运到河的右岸,但又受到以下限制:1、 修道士和野人都会划船,但船一次只能载2人;2、 在任何岸边,野人数不能超过修道士数,否则修道士将会被野人吃掉.假定野人愿意服从任何一种过河的安排,请规划出一种确保修道士安全的过河方案.注意:用问题归约法...
问题归约法从目标(要解决的问题)出发,逆向推理,通过一系列变换把初始问题变换为子问题集合和子子问题集合,直至最后归约为一个平凡的本原问题集合.已知条件1:最后一次乘船的一定是两人.已知条件2:往与返的组合不能重复,否则没有意义.已知条件3:左岸人数除最末次外,不为零.目标0:右岸有3个野人3个修道士,船在右...
有n个修道士和n个野人准备渡河,但只有一条能容纳c人的小船,为了防止野人侵犯修道士,要求无论在何处,修道士的个数不得少于野人的人数,否则修道士就会有危险,设计一个算法,确定他们能否渡过河去,若能,则给出一个小船来回次数最少的最佳方案。用三元组(x1,x2,x3)来表示渡河过程中各个状态,其中,x1表示起始岸上...
河的左岸有3个野人和3个修道士以及一条小船,修道士们想用这条小船把所有的人都运到河的右岸,但又受到以下限制:1、修道士和野人都会划船,但船一次只能载2人;2、在任何岸边,野人数不能超过修道士数,否则修道士将会被野人吃掉.假定野人愿意服从任何一种过河的安排,请规划出一种确保修道士安全的过河方案.注意:用...
河的左岸有3个野人和3个修道士以及一条小船,修道士们想用这条小船把所有的人都运到河的右岸,但又受到以下限制:1、修道士和野人都会划船,但船一次只能载2人;2、在任何岸边,野人数不能超过修道士数,否则修道士将会被野人吃掉.假定野人愿意服从任何一种过河的安排,请规划出一种确保修道士安全的过河方案.注意:用...
根据给出的小船上的位置数量,生成小船上的安全状态,即在船上的时候修道士的人数也要比野人的数量要多(除非修道士人数为0)。 让修道士跟野人上船后,检测当船到达对岸后,两岸修道士的安全状态,若修道士安全,则将此结点加入到邻接表中 渡船优先规则:起始岸一次运走的人越多越好(即起始岸运多人优先),同时野人优先...