Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
オセロCPU/Othello CPU
Search
tasotaku
December 01, 2023
0
150
オセロCPU/Othello CPU
tasotaku
December 01, 2023
Tweet
Share
More Decks by tasotaku
See All by tasotaku
duel_masters_RAG
tasotaku
0
6
DQNによるポーカーの強化学習/Reinforcement Learning in Poker with DQN
tasotaku
0
770
オセロAI / OthelloAI
tasotaku
0
160
私、ChatGPTがChatGPTを解説するよ! / ChatGPT explains ChatGPT
tasotaku
0
460
機械学習入門
tasotaku
0
430
AIが作る予想外な画像を考える / Consider the unexpected images that AI creates
tasotaku
0
320
Google Colaboratory でStable Diffusionの実装 / Implementation of Stable Diffusion at Google Colaboratory
tasotaku
0
390
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
4.9k
Code Reviewing Like a Champion
maltzj
526
40k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
Thoughts on Productivity
jonyablonski
72
4.9k
The Cult of Friendly URLs
andyhume
79
6.7k
Navigating Team Friction
lara
190
15k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
YesSQL, Process and Tooling at Scale
rocio
174
15k
We Have a Design System, Now What?
morganepeng
54
7.9k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.3k
Transcript
オセロCPU
目次 ◼ 評価関数 ◼ αβ法 ◼ ビットボード
評価関数 ◼ 評価関数は以下の三つから求める ⚫ 盤面の駒と位置(盤位置) ⚫ もうひっくり返らないコマの数(確定石) ⚫コマを置ける位置の数(候補数) ◼ 盤位置
+ 35 * 確定石 + 5 * 候補数 にした ⚫確定石を重視する ◼評価関数を機械学習で実装すると強い
盤位置 右の画像のように各位置に 得点が設定されている 相手が取ったら-を掛けたものを得る 角が取れたら30点 相手がとったら-30点
確定石 ◼ 全て求めようとすると計算量が多いので外周のみ求める。 ◼ 角から連続で続いているともう挟めない
候補数 ◼ 打てる手の候補数 ◼ 多いほど良いと言われている ◼ 盤位置と確定石だけでは、角を取るまで自分の駒を少なくしようと し、序盤に自分の駒が無くなって負けることがある
αβ法 ◼ minimax法を効率化したもの ◼ minimax法とは、評価関数をもとに自分の番では値が高い手、相 手の番では値が低い手を打つと想定して、先読みをする ◼ 無駄な探索をカットしたものがαβ法
ビッドボード ◼ ボードの実装には配列、インデックス化、ビッドボードなどがある ◼ ビッドボードが一番早い 何もないマスは0、自分の駒があるマスを1、同じ相手用のものを用意、 計二つのボードを用意する
参考・引用資料 ◼https://interprism.hatenablog.com/entry/bitboard ⚫Javaで実装している ◼https://note.com/nyanyan_cubetech/m/m54104c8d2f12 ⚫理論を学ぶのにわかりやすい ◼https://bassy84.net/othello-kakuteiseki1.html