联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> C/C++编程C/C++编程

日期:2024-03-31 06:26

2 Programming [50 Points]
For this question, you will implement the value iteration algorithm for MDPs. Modify mdp.py,
which takes an environment file as an argument and prints out the calculated utilities of each
state. Use the value iteration algorithm to calculate the utilities.
Input
The file mdp.py will take as input an environment file. For example, you can run your program
using the following command, where gridtest.txt is the environment file: python mdp.py
gridtest.txt The environment file will specify the MDP. The available actions in any environment are moving north, south, east, and west (there is no possibility of being stationary). Any
action can be taken from any non-terminal state, but hitting a wall causes you to remain in
the same place. Moving into a terminal state ends a run. The first line of the environment file
specifies the discount factor (gamma). The second line specifies the “cost of living” (negative
reward), for the transition to a non-terminal state. The third line specifies the transition
probabilities in the following order:
1. Going in the intended direction
2. Going 90 degrees clockwise from what you intended
3. Going the opposite direction from what you intended
4. Going 90 degrees counterclockwise from what you intended
The rest of the file contains the grid (with no trailing newlines). An asterisk ‘*’ represents a
state, ‘x’ represents a wall, and numbers represent the values of terminal states. Columns are
separated by spaces, and rows are separated by newlines. All grids are rectangular. Here is an
example environment file:
1
-0.04
0.8 0.1 0 0.1
* * * 1
* x * -1
* * * *
In this example file, the discount factor is 1, and the “cost of living” for transition into nonterminal states is -0.04. There is an 80% chance of going in the direction you intended to, a 10%
chance of going 90 degrees clockwise from what you intended, a 0% chance of going in the
opposite direction you intended, and a 10% chance of going 90 degrees counter-clockwise of
the direction you intended. The environment is a grid with 3 rows and 4 columns.
Output
Your program should print out a grid in the same format as the input grid, but with the stars
replaced by the utility values you calculated. Utilities should be accurate to three decimal
places. The output from the above file should be:
0.812 0.868 0.918 1
0.762 x 0.660 -1
0.705 0.655 0.611 0.388
7
Miscellaneous
We will run your code on several test files to ensure accuracy. Important note: Do not add
any extra print statements when submitting to Gradescope. This will cause you to
fail the tests. You should only be printing the resulting grid once (as we already have
for you in the code). You will need to submit your code implementation (mdp.py) to
Gradescope Homework 4.
8

相关文章

版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp