代写AI Algorithm for Reversed Reversi
AI Algorithm for Reversed Reversi
March 14, 2024
Abstract
Reversed Reversi is a relatively simple board game. Players take turns placing chess
pieces on the board with their assigned color facing up. During a play, any pieces of the
opponent’s color that are in a straight line and bounded by the piece just placed and
another piece of the current player’s color are turned over to the current player’s color.
The object of the game is to have the fewest pieces turned to display your color when
the last playable empty square is filled. In this assignment, we use the default board of
size 8*8 board (administrators can modify the settings as needed). Students need to
implement the AI algorithm of Reversed Reversi according to the interface requirements
and submit it to the platform as required for the usability tests and round-robin.
1 Schedule
The Project is divided into two phases, each with one or two weeks for coding and improving
your current coding.
Evaluation Rule DeadLine
Phase 1 Score according to the number of test cases passed. 2024/03/29
Phase 2 Score according to the rank in round-robin. 2024/04/12
Coding_Score = Phase1+Phase2 (Parse1:Parse2=1:2)
2 How to Use The Platform
The Reversed Reversi platform is logged in with your student ID and password. The default
password is your student ID. At the first login, the platform will ask you to change your
password. After logging in successfully, you can see the page below.
Now, you can submit your own AI algorithm to the Reversed Reversi battle platform.
The platform will first do the usability tests after submission. The submission is successful
only if your AI algorithm passes the usability tests. After submitting your AI algorithm
successfully, you can click on “Auto Play” to challenge the players who rank ahead of you for
a PK. In order to avoid the first-hand advantage, the PK is played for 2 rounds with each
1
Figure 1: Home page
other starting the game first. In each round, if one of your wins, then his (or her) score is
increased by 5 points. If one of you loses, then his (or her) score is reduced by 5 points. If
a draw occurs, both of your scores remain unchanged.
The whole battle process will be recorded for each match. You can play back the game
you just experienced by playing and backing buttons, or you can download the game data as
a text file so that you can debug or review their code and algorithms. On the right side, you
can see the leader-boards, showing only the top ten and their points, as well as your ranking
and points. Click on “play” to see the live broadcast for the battle of the top-ten players.
If you want to evaluate your newly uploaded algorithm, please use the function of “playto”.
Just input the opponent’s Student ID you want to challenge and click “playto”, then you can
play a pre-PK with this opponent. This pre-PK will not affect your rankings.
Your ranking on the platform does not affect your final score. The platform
is just a tool to help you improve your algorithm.
After the Phase 2 DDL, the round-robin is started. Every students will play a PK with
each other students. The score is accumulated, and each student’s ranking is given according
to the final points.
3 Code Requirements
1. Version Details
2
(a) Python version: 3.7.6
(b) Numpy: 1.21.0
(c) Numba: 0.56.4
2. Code template:
1 import numpy as np
2 import random
3 import time
4
5 COLOR_BLACK=−1
6 COLOR_WHITE=1
7 COLOR_NONE=0
8 random.seed(0)
9 #don’t change the class name
10 class AI(object):
11 #chessboard_size, color, time_out passed from agent
12 def __init__(self, chessboard_size, color , time_out):
13 self .chessboard_size = chessboard_size
14 # You are white or black
15 self . color = color
16 # the max time you should use, your algorithm’s run
17 # time must not exceed the time limit.
18 self .time_out = time_out
19 # You need to add your decision to your candidate_list.
20 # The system will get the end of your candidate_list as your decision.
21 self . candidate_list = []
22
23 # The input is the current chessboard. Chessboard is a numpy array.
24 def go( self , chessboard ):
25 # Clear candidate_list, must do this step
26 self . candidate_list . clear ()
27 #============================================
28 #Write your algorithm here
29 #Here is the simplest sample:Random decision
30 idx = np.where(chessboard == COLOR_NONE)
31 idx = list (zip(idx [0], idx [1]))
32 #==============Find new pos==================
33 # Make sure that the position of your decision on the chess board is empty.
34 # If not, the system will return error.
35 # Add your decision into candidate_list, Records the chessboard
36 # You need to add all the positions which are valid
37 # candidate_list example: [(3,3),(4,4)]
38 # You need append your decision at the end of the candidate_list,
39 # candidate_list example: [(3,3),(4,4),(4,4)]
3
40 # we will pick the last element of the candidate_list
41 # as the position you choose.
42 # In above example, we will pick (4,4) as your decision.
43 # If there is no valid position , you must return an empty list.
3. Time measurement
1 start = time.time()
2 # Your algorithm
3 run_time = (time.time() − start)
4. Note: import os is not allowed to use.
5. The usage of memory cannot go more than 100M, the time to find a place to drop
cannot be longer than 5s, the whole battle cannot be longer than 180s.
4 Requirements for Each Phase
4.1 Phase 1
Usability tests: In this tests, we will use some simple board test cases where students need
to find the best place to drop. Only jobs that pass the usability test can pass. This is to
prevent students from submitting code including illegal operations, infinite loop or random
drop. The usability tests includes: the os package cannot be imported in the code file to
prevent the student code from affecting the platform.
A total of 10 test cases were prepared, each with 10 points, and the scores were determined
by the number of test cases passed.
4.2 Phase 2
Students who pass the usability tests can use the platform to improve the algorithm. The
specific competition rules of the platform are as follows: Students can submit their AI
algorithm to the Reversed Reversi battle platform (it is a successful submission if it passes
the usability tests). After a successful submission, you can click on “Auto Play” to challenge
the player who ranks ahead of you for a PK. In order to avoid the first-hand advantage, the
PK is played for 2 rounds with each one starting the game first. In each round, if one of
your wins, then his (or her) score is increased by 5 points. If one of you loses, then his (or
her) score is reduced by 5 points. If a draw occurs, both of your scores remain unchanged.
Students can submit and update their AI algorithm to the Reversed Reversi battle platform before Phase 2 DDL. After the Phase 2 DDL, the round-robin is started. Every student
will play a PK with each other. The score is accumulated and the ranking for each student
is given according to the final points.
请加QQ:99515681 邮箱:99515681@qq.com WX:codinghelp
- Ins最好用的群发软件,Instagram脚本打粉引流工具即将发布!
- instagram最靠谱群发引流营销软件,ins最强自动采集粉丝工具
- Ins批量筛选群发营销采集神器,Instagram营销工具,助你轻松营销!
- CapitalXtend以卓越的监管水平为中国交易者铺平道路
- Instagram营销群发软件,Ins自动群发助手,助你实现营销梦想!
- 数字之光 WhatsApp拉群营销工具新功能引爆市场热潮 答案在我们的工具里
- WhatsApp拉群营销工具新手上路 有人能分享一下使用心得吗 感激不尽
- InBody体成分系列产品荣获欧盟CE-MDR认证 加速全球布局步伐
- 世界级云ERP U9 cloud再升维,助推中国制造向高质量发展迈进!
- Ins群发脚本助手,Instagram一键群发工具,让你打造营销新格局!
- Instagram营销软件购买指南,Ins自动引流推广采集软件一键搞定!
- Ins群发群控工具,Instagram多开云控群发软件,助你快速推广!
- WhatsApp群发软件一键覆盖,多语言推送!WhatsApp群发云控打破语言壁垒,全球推广无阻碍
- 走向国际市场新高度,Telegram协议号注册器为您保驾护航
- 代写program程序、代做c++,Python编程
- ins群发软件,ins拉群营销软件,联系天宇TG轻松爆粉!
- Instagram群发脚本助手,Ins群发注册工具,助你实现营销目标!
- 不知道如何在WhatsApp拉群上引爆品牌 这个工具一键解决你的烦恼 品牌传播无压力
- 数据赋能,AI创新 | 云捷亮数年会在京举办
- 绿色国际:构建绿色生态,共创美好未来
推荐
- 升级的脉脉,正在以招聘业务铺开商业化版图 长久以来,求职信息流不对称、单向的信息传递 科技
- 全力打造中国“创业之都”名片,第十届中国创业者大会将在郑州召开 北京创业科创科技中心主办的第十届中国创业 科技
- 创意驱动增长,Adobe护城河够深吗? Adobe通过其Creative Cloud订阅捆绑包具有 科技
- 智慧驱动 共创未来| 东芝硬盘创新数据存储技术 为期三天的第五届中国(昆明)南亚社会公共安 科技
- 老杨第一次再度抓握住一瓶水,他由此产生了新的憧憬 瘫痪十四年后,老杨第一次再度抓握住一瓶水,他 科技
- 苹果罕见大降价,华为的压力给到了? 1、苹果官网罕见大降价冲上热搜。原因是苹 科技
- 如何经营一家好企业,需要具备什么要素特点 我们大多数人刚开始创办一家企业都遇到经营 科技
- 疫情期间 这个品牌实现了疯狂扩张 记得第一次喝瑞幸,还是2017年底去北京出差的 科技
- B站更新决策机构名单:共有 29 名掌权管理者,包括陈睿、徐逸、李旎、樊欣等人 1 月 15 日消息,据界面新闻,B站上周发布内部 科技
- 丰田章男称未来依然需要内燃机 已经启动电动机新项目 尽管电动车在全球范围内持续崛起,但丰田章男 科技