൫໘෼ׂήʔϜ4FQBSP
Separo: A Board-Dividing Game

5BLBTIJ4VXB

4FQBSPͱ͸
What’s Separo?

w ਡ๚͕ߴࠒʢ೥ʣʹͭͬͨ͘ਓ༻ͷ൫্ήʔϜ
A two-player board game created by myself in my high school daysw ‫׬‬શ৘ใήʔϜͰɼϓϨΠϠʔ͸֤ʑಠཱʹ൫໘ΛͰ͖Δ͚ͩଟ͘ͷྖҬʹ෼ׂ͠Α͏ͱ͠ɼ‫ʹ͍ޓ‬अຐ͋͠͏
A game with perfect information where both players try to divide
the board into as many regions as possible and hamper the otherw ༑ਓͨͪʹͦͦ͜͜΢έͯ౰࣌༡Μͩʢࠇ൘ͰͰ͖Δʣ΄͔ɼ਺೥લʹͦͷ͏ͪͷਓ͕ͳΜͱରઓ"*Λ࣮૷ͯ͘͠Εͨ
Somewhat popular among some friends at that day,and one of them implemented an AI player for this game a few years ago!

ϧʔϧ
Rulesw ‫۝‬࿏൫ͷ࢛۱ʹ྆ऀͭͣͭ௖఺͕ஔ͍ͯ͋Δঢ়ଶ͔Β։࢝Starts with the state whereboth players have two vertices on corners

w ϓϨΠϠʔ͸ख൪࣌ʹ‫ʹط‬൫্ʹ͋Δࣗ෼ͷੴ͔ΒࢬΛ৳͹͠ɼͦͷઌʹ৽ͨͳੴΛஔ͘ʢ৳͹͠ํ͸‫ޙ‬ड़ʣ
The player at their turn extends edges fromone of their vertices on the board andputs new vertices (details are explained later)w ྆৭ͷࢬ͕֤ʑಠཱʹ൫໘Λ෼ׂ
Edges of both colors divide the board independently࠷ऴ݁ՌͷྫAn example final resultw ൫໘͕Կ‫ʹݸ‬෼ׂ͞Ε͔ͨΛ৭͝ͱʹಠཱʹ਺͑ɼଟ͍ํ͕উͪ
Count the number of regions
divided by edges of one color
ignoring the other color,
and the larger winsw ໘ੵҎԼͷྖҬ͸਺͑ͳ͍
Regions with area ≤ 1 arenot counted࠷ऴ݁ՌͷྫAn example final resultw ൫໘͕Կ‫ʹݸ‬෼ׂ͞Ε͔ͨΛ৭͝ͱʹಠཱʹ਺͑ɼଟ͍ํ͕উͪ
Count the number of regions
divided by edges of one color
ignoring the other color,
and the larger wins

w ໘ੵҎԼͷྖҬ͸਺͑ͳ͍
Regions with area ≤ 1 arenot counted࠷ऴ݁ՌͷྫAn example final resultw ൫໘͕Կ‫ʹݸ‬෼ׂ͞Ε͔ͨΛ৭͝ͱʹಠཱʹ਺͑ɼଟ͍ํ͕উͪ
Count the number of regions
divided by edges of one color
ignoring the other color,
and the larger wins

w ໘ੵҎԼͷྖҬ͸਺͑ͳ͍
Regions with area ≤ 1 arenot counted࠷ऴ݁ՌͷྫRed’s score: 8

An example final resultw ൫໘͕Կ‫ʹݸ‬෼ׂ͞Ε͔ͨΛ৭͝ͱʹಠཱʹ਺͑ɼଟ͍ํ͕উͪ

1

3

Count the number of regions
divided by edges of one color
ignoring the other color,
and the larger wins

w ໘ੵҎԼͷྖҬ͸਺͑ͳ͍
Regions with area ≤ 1 arenot counted

2
4

5

678

࠷ऴ݁ՌͷྫAn example final resultw ൫໘͕Կ‫ʹݸ‬෼ׂ͞Ε͔ͨΛ৭͝ͱʹಠཱʹ਺͑ɼଟ͍ํ͕উͪ
Count the number of regions
divided by edges of one color
ignoring the other color,
and the larger wins

w ໘ੵҎԼͷྖҬ͸਺͑ͳ͍
Regions with area ≤ 1 arenot counted࠷ऴ݁ՌͷྫAn example final resultw ൫໘͕Կ‫ʹݸ‬෼ׂ͞Ε͔ͨΛ৭͝ͱʹಠཱʹ਺͑ɼଟ͍ํ͕উͪ
Count the number of regions
divided by edges of one color
ignoring the other color,
and the larger wins

w ໘ੵҎԼͷྖҬ͸਺͑ͳ͍
Regions with area ≤ 1 arenot counted࠷ऴ݁ՌͷྫAn example final resultw ൫໘͕Կ‫ʹݸ‬෼ׂ͞Ε͔ͨΛ৭͝ͱʹಠཱʹ਺͑ɼଟ͍ํ͕উͪ
Count the number of regions
divided by edges of one color
ignoring the other color,
and the larger wins

w ໘ੵҎԼͷྖҬ͸਺͑ͳ͍
Regions with area ≤ 1 arenot counted࠷ऴ݁ՌͷྫBlue’s score: 7

An example final resultw ൫໘͕Կ‫ʹݸ‬෼ׂ͞Ε͔ͨΛ

2৭͝ͱʹಠཱʹ਺͑ɼଟ͍ํ͕উͪ

1
3

Count the number of regions
divided by edges of one color
ignoring the other color,
and the larger wins

w ໘ੵҎԼͷྖҬ͸਺͑ͳ͍
Regions with area ≤ 1 arenot counted

5467ख൪Ͱͷࢬͷ৳͹͠ํHow to extend your edges at your turn1135°

2 ·ͣࣗ෼ͷੴΛͭબͼɼ͔ͦ͜Βର֯ઢํ޲ʹϚεʹΘͨΔࢬΛ৳͹͠ɼͦͷઌʹ৽ͨͳࣗ෼ͷੴΛஔ͘
First, select one of your vertices and extends from it a diagonal edgethat spans one cell, and put a new vertex on the tip of the edge ଓ͍ͯͰஔ͍ͨੴ͔Βͷࢬͱͷ֯Λͳ͢Α͏ʹ͞ΒʹϚε෼ࢬΛ৳͹͠ɼͦͷઌʹ·ͨࣗ෼ͷੴΛஔ͘
Then, append another new edge to the new vertex so that the added
two edges form a 135° corner, and put another new vertex on the tipw ͍҃͸ 2 ͭ໨ͷࢬΛ৳͹ͨ͠ઌʹ΋ͱ΋ͱࣗ෼ͷੴ͕͋ͬͯ΋Α͍We also allow cases where one of your vertices is already on the last tipࢬͷ৳͹͠ํͷ੍໿
Restrictions on the extension of edgesw ͢Ͱʹੴ͕͋ΔҐஔʹ্͔Β৽ͨʹੴΛஔ͚ͨΓ͸͠ͳ͍You can’t overwrite an existing vertex byputting a new onew ͜ΕʹΑΓ྆ऀ͕अຐ͋͠͏
By this rule, two players disturb each otherw ࢬ͕ͷ֯Λͳͯ͠͸͍͚ͳ͍Your edges must not form a 45° corner45°🙅4FQBSPͷରઓ"*An AI player of Separo👈https://toruniina.github.io/separo-rs/

w ࡞ऀɿ5PSV/JJOBʢਡ๚ͷ༑ਓʣ
Creator: Toru Niina (a friend of mine)

w 3VTU੡Ͱɼ8BTNʹίϯύΠϧ͞Ε͍ͯΔImplemented in Rust and compiled to Wasmw ϞϯςΧϧϩ໦୳ࡧΛ΍͍ͬͯΔPerforms Monte Carlo tree searchw ৄࡉ͸ຊਓͷ‫ࢀࣄه‬রɿSee his blog post for detail:https://toruniina.github.io/posts/writing-board-game-ai/