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 a state which is not a fundamental process state, Define a state whi...

Define a state which is not a fundamental process state Answer: Blocked state is not a fundamental process state

Explain structure, Explain Structure The Grammar for programming langua...

Explain Structure The Grammar for programming language is a formal description of Structure

What are the allocation methods of a disk space, What are the allocation me...

What are the allocation methods of a disk space? Methods of allocating disk space which are widely in use are a. Contiguous allocation b. Linked allocation c. Indexed

Explain process description in the unix system, Process Description A pr...

Process Description A process in UNIX is a somewhat complex set of data structures that provides the operating system with all of the information necessary to dispatch and manag

What is the purpose of system programs, What is the purpose of system progr...

What is the purpose of system programs? System programs can be thought of as bundles of useful system calls. They give basic functionality to users and so users do not require

What is the use of system calls, Q. What is the use of system calls? A...

Q. What is the use of system calls? Answer: System calls permit user-level processes to request services of the operating system.

Define what an assembler is, Define what an assembler is An assembler i...

Define what an assembler is An assembler is machine dependant.

Define buffering, Define buffering. A buffer is a memory area that keep...

Define buffering. A buffer is a memory area that keeps data whereas they are transferred among two devices or among a device and an application. Buffering is done for three rea

Benefits of dynamic linkage of libraries, Q. What are three benefits of dyn...

Q. What are three benefits of dynamic (shared) linkage of libraries compared to static linkage? What are two situations where static linkage is preferable? Answer: The

What do you meant by the term ergonomics, Question 1: "Three entities m...

Question 1: "Three entities must be accountable and responsible for accident prevention." (a) List and explain these three entities. (b) Discuss the role of workers in ma

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