mathlab , Computer Engineering

Assignment Help:
Windy Grid World

This assignment is to use Reinforcement Learning to solve the following "Windy Grid World" problem illustrated in the above picture. Each cell in the image is a state. There are four actions: move up, down, left, and right. This is a deterministic domain -- each action deterministically moves the agent one cell in the direction indicated. If the agent is on the boundary of the world and executes an action that would move it "off" of the world, it remains on the grid in the same cell from which it executed the action.
Notice that there are arrows drawn in some states in the diagram. These are the "windy" states. In these states, the agent experiences an extra "push" upward. For example, if the agent is in a windy state and executes an action to the left or right, the result of the action is to move left or right (respectively) but also to move one cell upward. As a result, the agent moves diagonally upward to the left or right.
This is an episodic task where each episode lasts no more than 30 time steps. At the beginning of each episode, the agent is placed in the "Start" state. Reward in this domain is zero everywhere except when the agent is in the goal state (labeled "goal" in the diagram). The agent receives a reward of positive ten when it executes any action {\it from} the goal state. The episode ends after 30 time steps or when the agent takes any action after having landed in the goal state.
You should solve the problem using Q-learning. Use e-greedy exploration with epsilon=0.1 (the agent takes a random action 10 percent of the time in order to explore.) Use a learning rate of 0.1 and a discount rate of 0.9.
The programming should be done in MATLAB. Students may get access to MATLAB here. Alternatively, students may code in Python (using Numpy). If the student would rather code in a different language, please see Dr Platt or the TA.
Students should submit their homework via email to the TA ([email protected]) in the form of a ZIP file that includes the following:
1. A PDF of a plot of gridworld that illustrates the policy and a path found by Q-learning after it has approximately converged. The policy plot should identify the action taken by the policy in each state. The path should begin in the start state and follow the policy to the goal state.
2. A PDF of a plot of reward per episode. It should look like the diagram in Figure 6.13 in SB.
3. A text file showing output from a sample run of your code.
4. A directory containing all source code for your project.
5. A short readme file enumerating the important files in your submission.
Updates
You can initialize the Q function randomly or you can initialize it to a uniform value of 10. That is, you can initialize Q such that each value in the table is equal to 10.
There have been questions about how to know when the algorithm has converged. The algorithm has converged when the value function has stopped changing signficantly and the policy has stopped changing completely. Since we are using q-learning, the algorithm should converge to a single optimal policy.
Please also submit a short readme file with your homework that enumerates the important files in your submission.


Related Discussions:- mathlab

Minimize the logic function using NAND gate, Minimize the logic function F(...

Minimize the logic function F(A, B, C, D) = ∑ m(1,3,5,8,9,11,15) + d(2,13) using NAND gate with help of K-map. Ans. Realization of given expression by using NAND gates:  In

Implementing recursive function the data structure, For executing recursive...

For executing recursive function the data structure used is: For executing recursive function, stack is used as a data structure.

Explain the structure of plasma panel display, a. Explain the meaning of fr...

a. Explain the meaning of frame buffer? Draw a block diagram showing the method for scanning out an image from frame buffer to display surface. b. Explain the structure of plasm

State about the multiple inheritance, State about the multiple inheritance ...

State about the multiple inheritance multiple inheritance is shown in Figure. In this, one class is inherited from more than one class.

Write a program using linq to find the sum of first 5 prime , Class Program...

Class Program { static void Main() { int[] MyPrimeNumbers = {1,2,3,5,7}; // Use the Count() and Sum() Standard Query Operators to // compute the count an whole su

Arrays of any size, Modify your program so that the line "int numStones = u...

Modify your program so that the line "int numStones = ui.readStones();" in the Game constructor is considered. Depending on the value of numStones read from the user, you should cr

Explain structured and modular programming, Structured and Modular programm...

Structured and Modular programming. Structured programming means the collection of principles and practices that are directed toward developing correct programs which are simpl

What is exception, a. Explain about exception? When do they occur? Show usi...

a. Explain about exception? When do they occur? Show using an example how to give your own exception handler. b. Can you restrict the types of exception that a function can thro

Pd controller, PD controller Student should aim for Kp and Kd value that...

PD controller Student should aim for Kp and Kd value that will minimize the steady error with improved rise time and settling time. The amount of over shoot should not be more t

Show typical microprocessor system architecture, Q. Show typical microproce...

Q. Show typical microprocessor system architecture? A microprocessor system bus consists of three physical buses: the address bus, the data bus, and the control bus. The types

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