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
68
オセロ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
200
オセロAI / OthelloAI
tasotaku
0
71
私、ChatGPTがChatGPTを解説するよ! / ChatGPT explains ChatGPT
tasotaku
0
420
機械学習入門
tasotaku
0
370
AIが作る予想外な画像を考える / Consider the unexpected images that AI creates
tasotaku
0
280
Google Colaboratory でStable Diffusionの実装 / Implementation of Stable Diffusion at Google Colaboratory
tasotaku
0
330
Featured
See All Featured
Designing with Data
zakiwarfel
96
5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
35
6.3k
GraphQLとの向き合い方2022年版
quramy
36
13k
Building Effective Engineering Teams - LeadDev
addyosmani
47
2.2k
It's Worth the Effort
3n
181
27k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
52k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
121
18k
Optimizing for Happiness
mojombo
373
69k
GraphQLの誤解/rethinking-graphql
sonatard
59
9.6k
Automating Front-end Workflow
addyosmani
1362
200k
Creatively Recalculating Your Daily Design Routine
revolveconf
214
11k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
360
22k
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