The missionaries and cannibals problem is one of the classic river-crossing problems.
Three missionaries and three cannibals must cross a river using a boat which can carry at most two people, under the constraint that, for both banks, if there are missionaries present on the bank, they cannot be outnumbered by cannibals (if they were, the cannibals would eat the missionaries). The boat cannot cross the river by itself with no people on board.
You can use either property proving mode (to generate counter example) or test generation mode (to generate test case directly) of Simulink Design Verifier.
Also a simple script for visualization of results is provided. Cannibals are red squares, missionaries are green circles, the boat is a triangle.
Mikhail (2019). Solving Missionaries and Cannibals Problem with Simulink Design Verifier (https://www.mathworks.com/matlabcentral/fileexchange/61198-solving-missionaries-and-cannibals-problem-with-simulink-design-verifier), MATLAB Central File Exchange. Retrieved .
Slight update of description
Use one Scope block for better visualization