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
51
オセロCPU/Othello CPU
tasotaku
December 01, 2023
Tweet
Share
More Decks by tasotaku
See All by tasotaku
DQNによるポーカーの強化学習/Reinforcement Learning in Poker with DQN
tasotaku
0
150
オセロAI / OthelloAI
tasotaku
0
60
私、ChatGPTがChatGPTを解説するよ! / ChatGPT explains ChatGPT
tasotaku
0
410
機械学習入門
tasotaku
0
360
AIが作る予想外な画像を考える / Consider the unexpected images that AI creates
tasotaku
0
270
Google Colaboratory でStable Diffusionの実装 / Implementation of Stable Diffusion at Google Colaboratory
tasotaku
0
320
Featured
See All Featured
Robots, Beer and Maslow
schacon
PRO
155
7.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
The Language of Interfaces
destraynor
151
23k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Fantastic passwords and where to find them - at NoRuKo
philnash
39
2.5k
From Idea to $5000 a Month in 5 Months
shpigford
378
45k
Being A Developer After 40
akosma
66
580k
Creatively Recalculating Your Daily Design Routine
revolveconf
211
11k
[RailsConf 2023] Rails as a piece of cake
palkan
27
4k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
The Pragmatic Product Professional
lauravandoore
26
5.8k
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