联系方式

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

您当前位置:首页 >> Python编程Python编程

日期:2020-08-10 11:39

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


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

python代写
微信客服:codinghelp