| University | National University of Singapore (NUS) |
| Subject | CS2109S: Introduction to AI and Machine Learning |
Missionaries and Cannibals
We discussed the Missionaries and Cannibals problem, which is a classic river-crossing logic puzzle. It is not difficult to solve this problem by hand when we have 3 Missionaries and 3 Cannibals. However, the solution becomes less obvious when we generalize the problem to m Missionaries and c Cannibals where m and c are some positive integers. To solve this problem, we will implement both BreadthFirst Search and Depth-First Search. In the process, we hope that you will conceptually learn the differences in performance between these two search strategies.
The Missionaries and Cannibals problem is usually stated as follows: 3 missionaries and 3 cannibals are on one side of a river, along with a boat that can hold 1 or 2 people. Find a way to get everyone to the other side, without ever leaving a group of missionaries in one place outnumbered by the cannibals in that same place. You can try it online to test your understanding of the problem. The following is an example of how to help 2 Missionaries and 2 Cannibals cross the river.

Breadth-First Search and Depth-First Search
For this problem, all actions have the same cost (number of steps). BFS is an appropriate strategy to search all possible states. It first expands the root node, and then all the successors of the root node, and their successors. However, a BFS-based tree search algorithm will encounter a large number of repeated states in the tree and waste a lot of time in searching redundant nodes. On the other hand, the BFS-based graph search algorithm will check for redundant paths to avoid visiting states more than once. To see the connection between tree search and graph search, you are tasked to implement both BFS tree search and BFS graph search.
DFS is another commonly seen algorithm in solving AI problems. It always expands the deepest node in the frontier first. DFS proceeds directly to the deepest level of the search tree. The search then “backs up” to the previous node that has unexpanded successors. Your task is to implement both DFS tree search and DFS graph search. You will observe that a DFS-based tree search is susceptible to getting stuck in a looped path. In the context of this problem, it could mean keeping 2 Missionaries on the boat, rowing back and forth until exhaustion.
Hire a Professional Essay & Assignment Writer for completing your Academic Assessments
Native Singapore Writers Team
- 100% Plagiarism-Free Essay
- Highest Satisfaction Rate
- Free Revision
- On-Time Delivery
Assignment writing service is available at Singapore assignment help. We have a team of Ph.D. expert writers who can assist you and write your Introduction to AI and Machine Learning Assignment in a 100% error-less and well-formatted manner before the deadline at a nominal price. You can also hire us to complete your Artificial Intelligence assignment.
Looking for Plagiarism free Answers for your college/ university Assignments.
- NCO205 User-Centred Design: Human Factors and Design Thinking Tutor-Marked Assignment-01 Semester July 2025
- ECE200 Supporting Sensory and Motor Development End-of-Course Assessment – July Semester 2025
- 7WBS2007-0901-2025 Human Resource Management Assignment 2 Brief 2025
- Bachelor of Engineering in Electrical and Electronic Engineering Assignment Brief
- MKT373 Strategic Content Management End-of-Course Assessment – July Semester 2025
- HRM335 Leadership Development End-of-Course Assessment – July Semester 2025
- EL1101E The Nature of Language Individual Essay Guidelines Semester 1, AY2025/2026
- The Problem of Poverty Essay – Comparing Differential Association and General Strain Theories
- EMT223 Venue Management in Performing Arts Spaces Tutor-Marked Assignment 02 July 2025 Presentation
- FinTech Individual Assignment: Power Dynamics and Climate Transparency in Digital Carbon Markets
