Le problème des missionnaires et des cannibales

Objectif

Modéliser le problème des missionnaires et des cannibales

Trois missionnaires et trois cannibales sont sur la rive gauche d’un fleuve. Ils disposent d’une barque qui peut transporter deux personnes (rameur inclus). Si les cannibales se retrouvent en majorité absolue sur une rive, ils mangent les missionnaires présents sur cette rive. Les six peuvent-ils traverser le fleuve en sécurité (pour les missionnaires) ?

Questions supplémentaires:

Sont fournis comme inspiration : deux versions du problème de « l’homme, le loup, le mouton et le chou ».

Attention : une solution au problème des cannibales et missionnaires est en exemple dans la toolbox. Elle est bien plus compliquée que ce que l’on vous demande pour le moment, ce n’est pas (encore) une bonne source d’inspiration.

Mise en œuvre avec TLA Toolbox

Pour lancer TLA toolbox :

Outils en ligne de commande

Pour exécuter le vérificateur de modèle (« model checker »), il faut un fichier .cfg du même nom que le module à vérifier (cf les exemples) et faire :

 java -classpath /mnt/n7fs/tla/tla2tools.jar tlc2.TLC hlmc

Pour obtenir une jolie version imprimable :

 java -classpath /mnt/n7fs/tla/tla2tools.jar tla2tex.TLA -latexCommand pdflatex -shade hlmc.tla

qui engendre un fichier hlmc.pdf.