首页 > > 详细

Tree Search讲解、program辅导、JAVA, C++编程设计调试、Python辅导 辅导R语言程序|调试Matlab程序

Reversi with Monte-Carlo Tree Search
Your program should work as follows. When it’s the computers turn to make a move
on a board, it should make a list of all legal moves. Then for each of the moves it
does some number of random playouts. A random playout is when the computer
simulates playing the game until it is over. During a random playout, the computer
makes random moves for each player until a win, loss, or draw is reached. When a
playout is done, the result (win, loss, or draw) is recorded, and then some more
random playouts are done. After random playouts are done for all legal moves, it
choses the move that resulted in the greatest number of wins (or least number of
losses, or most number of wins + draws, etc. — whatever formula you find is the best
way to make a decision based on these win/loss/draw statistics).
The markers will be looking for the following:
• Use of a language more efficient than Python such as JAVA, C++ etc. Doing
lots of playouts as quickly as possible is the key to success. You should keep
an estimate of how many playouts per second your program can do as a
measure of its performance.
• You program should play as well as possible.
So that games don’t go on too long, you should put a limit on the maximum
amount of time the computer can use (e.g. 5 seconds at most per move).
• In addition to the pure Monte Carlo Tree Search version of your program,
create a second modified version of your program that uses heuristics — and
any other additions you think would help — to make (hopefully) better-thanrandom
moves during the playouts.
Make this version of your program play against the other version to see which
one is better.
• A written report of at least one page that explains your implementations,
discusses how well they play, the extra techniques used by your second
version, a comparison of which program is stronger, etc. This should include
graphs and tables of relevant data.
What to Submit
Use the exact file and function names — otherwise marking scripts might give you 0!
Don’t use any code from the textbook, or any special libraries

联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!