Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

******************THIS SHOULD BE USING PYTHON The program defines and prints a couple of states. A state is defined by the monster and munchkin count on

******************THIS SHOULD BE USING PYTHON

image text in transcribed

The program defines and prints a couple of states. A state is defined by the monster and munchkin count on the left river bank, and the side the boat is on.

Define and test two boolean methods:

goal(s) returns True if s is a goal state (all monsters and munchkins on right river bank).

and

legal(s) which returns True if s is legal (meets the conditions described in the puzzle).

Note that the state tuple stores how many Munchkins, Monsters are on the left bank. Subtracting these numbers from the total count gives the number on the right bank. In the program the variables munchkin_count and monster_count store the total counts.

if s is a state 3 tuple:

left_bank_munchkin_count = s[0]

right_bank_munchkin_count = munchkin_count - left_bank_munchkin_count

left_bank_monster_count = s[1]

right_bank_monster_count = monster_count - left_bank_monster_count

A legal state must meet the conditions:

left_bank_munchkin_count is between 0 and munchkin_count (this ensures the right bank is ok also)

left bank monsters cannot out number left bank munchkins and

right bank monsters cannot out number right bank munchkins

Note that it is not enough to just test left_bank_munchkin_count >= left_bank_monster_count

because there can be as any number of monsters on a river bank if there are no munchkins.

The state (2, 3, 1) us not legal, too many monsters on left bank.

(0, 3, 1) is legal.

(2, 1, 1) is not legal as there will be 1 munchkin and 2 monsters on the right river bank.

The last number is the boat side and it does not matter for checking legality, we will use it later when computing state changes.

******************THIS SHOULD BE USING PYTHON

Use Recursive Backytacking Search to solve River applying Puzzle: There are 3 monsters and 3 munchkins on the left river bank. A boat is available to move all 6 creatures to the right river bank. A maximum of two creatures are allowed in the boat for each applying The munchkins must never be outnumbered by the monsters. The boat will not move if there is no creature in it. Created on Sat Oct 12 22:26:17 2019 @author: rutkowsk + index number into state List mun = 0 mon=1 boat = 2 # boat side left = -1 right = 1 munchkin_count = 3 monster_count = 3 boat_capacity = 3 # state stores the state of the puzzle as a 3-tuple, # state[mun) = number of munchkins on left bank #state[mon) = number of monsters on left bank # state[boat] = boat side start_state = (munchkin_count, monster_count, left) prints a state def print_state(s): print(.. print('Munchkins\t'str(s[mun])+'\t\tMunchkins t'estr (munchkin_count-s(mun))) print("Monsters\t'str(s[mon])+"\t\tMonsters\t'str(monster_count-s[mon])) print(s[boat] \t\t\t\t Boat) print('-- print_state(start_state) state2 = (munchkin_count - 1, monster_count, right) print_state(state2)

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Basics Computer EngineeringInformation Warehouse Basics From Science

Authors: Odiljon Jakbarov ,Anvarkhan Majidov

1st Edition

620675183X, 978-6206751830

More Books

Students also viewed these Databases questions

Question

21. What is a gigapop?

Answered: 1 week ago