-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTasks.todo
50 lines (49 loc) · 2.92 KB
/
Tasks.todo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
This file is formatted for the `plaintasks` plugin (lots of love to you!) for Sublime Text 3.
It is in markdown and any markdown editor should in principle be able to read/edit this file.
Development:
☐ Document configuration options specified in config.py
✔ ArgParser @done (17-03-31 14:15)
✔ Snake with increasing length @done (17-03-30 02:42)
✔ Head differently colored @done (17-03-30 02:42)
✔ Prevent reverse moves @done (17-03-30 02:42)
✔ Fix toggling between GUI and non GUI versions @done (17-04-01 14:54)
✔ Move score, foodScore and livingScore to gameState @done (17-03-30 02:42)
✔ Check if food is valid @done (17-03-30 02:43)
✔ Check if update causes death @done (17-03-30 02:43)
☐ Special power food
✔ Add border to cells @done (17-04-01 14:54)
✔ Add gameover message @done (17-03-30 02:43)
☐ Add walls
☐ Add some graphics which actually looks like head/tail
☐ Typo; replace all 'cordinate' with 'coordinates'
☐ Whenever a next action or related method is being called, check first if game is over!
☐ Add a proper way to specify the dependency between certain search agents and the depth argument
✔ PRIORITY: Modify `dlsnake.base.gameState` to use lazy evaluation for grid creation. @done (17-04-02 01:05)
Technically, grid construction is unnecessary for the logic to work
and this lazy evaluation can significantly speed things up.
☐ `--csv` and `--silent` options seem to be broken. Investigate.
☐ Add flag to save pygame rendered images to folder.
✔ Create a separate script to simulate on multiple threads. @done (17-04-05 21:35)
☐ Figure out how to dump and load trained data and game episodes.
Pertaining to Project:
✔ Implement manual play @done (17-03-30 02:43)
✔ Implement Reflex Agent @done (17-03-30 02:43)
☐ Implement intelligent adversary controlling food capsules so as to trap snake.
✔ Adversary maximizing Manhattan distance from snake @done (17-03-30 04:06)
☐ Adversary trying to place food in circular configurations formed by snake
☐ Adversary trying to place food near walls
✔ Implement adversarial search (minMax) @done (17-04-01 14:54)
✔ Verify the algorithm in depth @done (17-04-01 14:55)
There is a lot of nuts and bolts that can be loose. Analyze the algorithm
especially since your hypothesis of minMax trees growing out of proportion
turned out to be wrong.
☐ Implement Alpha-Beta Pruning
☐ Implement a variation wherein the living penalty and food scores are the only rewards.
That is, replace the evaluation function used at the terminal state with 0 and instead
assign values to actions. All non-food eating action gets -1 and all food eating actions
get +50.
✔ Implement expectimax search @done (17-04-05 21:33)
Won't do.
✔ Implement MDP based Q-Learning. Won't do @done (17-04-05 21:33)
☐ Implement Feature based approximate Q-learning
☐ Extract features from deep learning.