联系方式

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

您当前位置:首页 >> OS程序OS程序

日期:2020-08-11 08: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

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