Prolog application, Operating System

Assignment Help:

1. Problem Domain
You will be considering the Wumpus world introduced in Russell and Norvig (2009) Chapter 7. For this programming assignment you'll use Prolog's ability to do inference in order to write an agent that will make safe moves within its world.

2. Project Infrastructure
1) You will need to download and install your own version of SWI-Prolog. It is freely available for major operating systems. Major Linux distributions have copies available within their package system.

2) Download the following three files:
I attached these files.

3) The first two files comprise a simulator for the Wumpus world. The third is an empty agent skeleton program. Your assignment is to flesh out the details in my agent.pl

3. Running the code

Start SWI-Prolog:
pl
Load the world simulator:
?- [wumpus_world].
Load the agent:
?- [my_agent].
Run the agent:
?- evaluate_agent(1, Score, Time).
Correct to: "wumpus:evaluate_agent(1, Score, Time)"? y

If you read the output, you'll see the default agent just moves forward. It does this in the world shown in Russell and Norvig's Figure 7.2, which causes the agent's dead rather soon. (You use Ctrl+D to exit the programming environment.)

You will need to edit my agent.pl produce a more rational movement. To do this you will need to define an intelligent run_agent (Percept, Action). The percepts are provided as a list of five elements [Stench, Breeze, Glitter, Bump, Scream], where you receive a "yes" or a "no" in the respective position.

There is also an init_agent function which you can use for initialization.

The simulator knows the total state of the world, while your agent will know only what it senses through its perceptions. Initially the agent knows only the perceptions in position (1,1) and in order to acquire other information must be moved in other cells of the grid. Your agent must maintain its own state, containing all the information that gradually becomes available. The state will have to be update with the new perceptions every time an action is executed, and this information must be represented so as to permit reasoning (via interference) as to what operations are safe.


Related Discussions:- Prolog application

Define input - output operations, Q. Define Input - Output operations? ...

Q. Define Input - Output operations? Serial lines, Disks, tapes and other devices should be communicated with at a very low level. The user require only specify the device and

Explain tightly coupled systems and loosely coupled system, Differentiate t...

Differentiate tightly coupled systems and loosely coupled systems? Loosely coupled systems:-  Every processor has its own local memory  Every processor can communicate

What are tree-structured directories, What are Tree-structured directories ...

What are Tree-structured directories We can generalize the directory structure to a tree of arbitrary height. This permits the user to create their own sub directories and to c

Explain the types of system calls, Explain the Types of System Calls Th...

Explain the Types of System Calls The major types of system calls are like this: a. Process Control: These types of system calls are employed to control the processes.

What is a file, Question 1 What is a file? Write down the operations on fi...

Question 1 What is a file? Write down the operations on files Question 2 What do you mean virtual machine? Write down the application of virtual machine Question 3 What

Perform alpha-beta pruning on the following tree, Perform alpha-beta prunin...

Perform alpha-beta pruning on the following tree. Put an "X" over each node that is pruned. Put the final value next to all other nodes. Indicate which action MAX should take: to B

Describe services of operating systems, (a) Describe services of operating ...

(a) Describe services of operating systems. (b) Differentiate among the short term, medium term and long term scheduling that are given by multi-tasking operating systems.

priority-based scheduling algorithm , Your task is to replace the round ro...

Your task is to replace the round robin CPU scheduling scheme you developed in Practical 6 with a priority-based scheduling algorithm. To simplify matters, you can maintain the ori

Give an overview of windows 2000 file management, Give an overview of WINDO...

Give an overview of WINDOWS 2000 file management. Windows makes use of the NTFS and File Allocation Table file systems. The Older versions of the FAT file system had file name

Explain single-user systems, We have stressed the need for an operating sys...

We have stressed the need for an operating system to make efficient use of the computing hardware. When is it appropriate for the operating system to forsake this principle and to

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd