イフコンピュータ > IF/Prolog > 制約処理パッケージ > 例題プログラム > スミス氏パズル

スミス氏パズル

IF/Prolog by Siemens
MINERVA superseeded IF/Prolog. Please see http://www.ifcomputer.co.jp/MINERVA for details.

We discontinued to sell IF/Prolog Dec 31. 2003. For current customers, we continue to provide professional support for IF/Prolog until Dec 31, 2008.

夫妻と3人の子共がいるスミス家の人達は、訪問をしたいと考えてい ますが、皆がすることはできません。以下は訪問に関するいくつかの 条件です。

スミス氏が訪問すれば、スミス夫人も訪問する。 少なくともマットとジョンの2人の息子のうちの一人は訪問する。 スミス夫人とティムのいずれかが訪問する。しかし両方ではない。 ティムとジョンのいずれも訪問する。 あるいは、両方とも訪問しない。 マットが訪問すれば、ジョンと父親も訪問する。

以下の質問により問題を解決することができます。

[user] ?- Mr_Smith_comes => Mrs_Smith_comes,
| Matt_comes \/ John_comes <=> 1,
| Mrs_Smith_comes # Tim_comes <=> 1,
| Tim_comes <=> John_comes,
| Matt_comes => John_comes /\ Mr_Smith_comes,
| label(Mr_Smith_comes, Mrs_Smith_comes,
| Matt_comes, John_comes, Tim_comes]).

Mr_Smith_comes = 0 Mrs_Smith_comes = 0 Matt_comes = 0 John_comes = 1 Tim_comes = 1

yes

document: http://www.ifcomputer.co.jp/IFProlog/Constraints/ExamplePrograms/SmithPuzzle/print_jp.html
published 2008/7/21 update 1996/12/10 (c) 1996-2006 IF Computer Japan
IF Computer 〒113-0022 Tel 03-5814-3352 ifcj@ifcomputer.co.jp
Customer Support 東京都文京区千駄木5-28-2   http://www.ifcomputer.co.jp
戻る> managed with ubiCMS