← Гомоку против компьютера

Как выиграть в гомоку: тройки, четвёрки, вилки и победа над компьютером

Числа на этой странице получены на игре в том виде, в каком она идёт здесь, — поле 15×15, свободные правила, первый ход ваш — по коду самой страницы для всех трёх уровней компьютера: 3000 смоделированных партий на каждое число против «Простого», 1000 против «Сложного», 500 против «Эксперта». Выигрышные последовательности проверены ход за ходом на настоящем движке, а самая короткая победа над «Простым» найдена полным перебором партий.
Коротко

В гомоку выигрывают вилкой: одна фишка создаёт сразу две угрозы — две открытые тройки или четвёрку и тройку, — а закрыть можно только одну. Чтобы до неё дойти, нужна инициатива: в моделировании игрок, который закрывает только настоящие угрозы, а в остальное время строит свой ряд, выигрывает у здешнего «Простого» 74% партий, а тот, кто сначала закрывает, как играет сам «Простой», выигрывает 5% и сводит вничью 91%. «Простой» и «Сложный» на одну и ту же позицию всегда отвечают одинаково, поэтому их каждый раз обыгрывает одна и та же последовательность ходов: семь ходов против «Простого» — быстрее нельзя — и девять против «Сложного».

Четыре фигуры: сколько ходов до пятёрки

Всё в гомоку меряется одним вопросом: сколько фишек не хватает этому ряду до пятёрки и в скольких точках его можно остановить? Почти любое решение сводится к четырём фигурам.

Открытая тройка. Синие — это вы. Любая из отмеченных точек даёт открытую четвёрку, поэтому отвечать надо сразу.
Тройка с разрывом. Та же угроза, только с пропуском: отмеченная точка даёт открытую четвёрку.
Четвёрка. Один конец занят красными (компьютером), так что выигрышная точка одна, и закрыть её нужно немедленно.
Открытая четвёрка. Две выигрышные точки и один ход на защиту: партия решена.
  • Четвёрка — в одном ходе от победы. Ответ на неё вынужден, и в этом её ценность: вы сами выбираете, куда соперник поставит следующую фишку.
  • Открытую четвёрку остановить нельзя. Сильнее только пятёрка, поставленная раньше.
  • Открытая тройка, сплошная или с разрывом, — в двух ходах от победы и в одном от открытой четвёрки. Отвечать на неё надо сразу: закрыть или поставить свою четвёрку.
  • Закрытая тройка — один конец упирается в чужую фишку или в край — пока ничем не грозит. Из неё получится обычная четвёрка, которая закрывается одним ходом.

Все три уровня компьютера эти фигуры знают. В проверочных позициях каждый из них закрыл открытую тройку с одного конца, занял разрыв в тройке с пропуском и закрыл четвёрку. Одним рядом не обыграть никого из них; обыгрывают двумя рядами сразу.

Правила здесь свободные: ряд из шести и длиннее тоже выигрывает, запрещённых ходов нет ни у одной из сторон. Так устроен сам код, а не только текст правил: победа — это любой непрерывный ряд из пяти и больше.

Вилки: 4-4, 4-3 и 3-3

Вилка — это фишка, которая создаёт две такие угрозы одновременно. Видов три, и они различаются скоростью:

  • 4-4 — две четвёрки сразу. Две выигрышные точки, один ход на защиту: вы выигрываете следующим ходом.
  • 4-3 — четвёрка и открытая тройка. Четвёрку приходится закрывать, после чего тройка становится открытой четвёркой. Победа через два хода, и свободного хода у соперника не появляется ни разу.
  • 3-3 — две открытые тройки. Одну закрывают, вторая становится открытой четвёркой. Тоже два хода, но после вилки у соперника есть один свободный ход — значит, она работает, только если у него нет своей четвёрки, которую можно поставить раньше.

Вот вилка 3-3 против «Сложного» — из выигрышной последовательности, приведённой ниже. В одной из двух троек есть разрыв, а такую точку труднее заметить — и человеку, и программе.

Против «Сложного» после шести ходов с каждой стороны; синие — вы, красные — компьютер, его последняя фишка в кружке. Отмеченная точка j9 создаёт две тройки: диагональ h7–i8–j9 и ряд g9, h9, пропуск, j9.
«Сложный» закрыл диагональ (фишка в кружке). Теперь ход в разрыв, на i9, превращает ряд в открытую четвёрку с двумя выигрышными точками — f9 и k9.

Против «Простого» разрыв важнее всего. «Простой» оценивает точку по сплошному ряду, который получится, если поставить туда фишку, поэтому тройку с дыркой он не видит, пока кроме этой дырки ничего не останется. Если на пустой точке пересекаются два ваших сплошных ряда, он эту точку займёт; если в одном из них есть разрыв, вилку он не заметит.

В рэндзю, турнирном варианте игры, первому игроку вилки 3-3 и 4-4 запрещены вовсе. Здесь обе разрешены, а первый игрок — вы: вилка здесь не трюк, а основное оружие.

Инициатива: сначала стройте, закрывайте только настоящее

Самая дорогая привычка в гомоку — отвечать на всё подряд. Мы проверили это напрямую, сыграв против «Простого» по его же правилу: каждая точка оценивается по тому, что она строит вам и что отнимает у соперника, причём защита весит чуть больше. Такой игрок выиграл 4,6% из 3000 партий, проиграл 4,3% и свёл вничью 91%: доска просто заполнялась.

Стоит поменять приоритеты — закрывать только настоящую угрозу, а в остальное время продлевать свой лучший ряд, — и тот же «Простой» чаще проигрывает:

  • закрывать только четвёрки: 56% побед, но и 42% поражений;
  • закрывать четвёрки и открытые тройки: 65% побед;
  • ещё и ставить свои вилки, считая тройки с разрывом, и занимать точку, где вилку мог бы поставить компьютер: 74% побед, 14% поражений.

Настоящих угроз немного: четвёрка, открытая тройка (сплошная или с разрывом) и пустая точка, на которой два ряда соперника разом стали бы угрозами. Закрытая тройка к ним не относится. Две фишки подряд — тоже. Каждый ход, потраченный на них, — это ход, за который ваша собственная позиция не выросла.

У «Простого» есть ещё одна слабость, о которой стоит знать. Закрыть вашу открытую тройку для него чуть важнее, чем поставить собственную открытую четвёрку. В проверочной позиции, где открытая тройка была у обеих сторон, а ход — за компьютером, «Простой» закрылся, вместо того чтобы выиграть; «Сложный» и «Эксперт» поставили открытую четвёрку. Так что против «Простого» каждая ваша тройка или четвёрка выигрывает ход — даже когда компьютер в шаге от победы.

Ничьи редки, когда обе стороны атакуют, но не вообще. «Простой» против собственной копии свёл вничью 84% из 2000 партий — поле заполнялось до последней точки, — а «Сложный» против «Сложного» — 30% из 1000.

Первый ход и центр

При свободных правилах на поле 15×15 первый игрок выигрывает при идеальной игре: это доказано машинным перебором в начале 1990-х (Виктор Аллис с коллегами). Результат известный, не наш, и идеально никто не играет — но преимущество видно и в обычных партиях.

Мы заставили каждый уровень играть с самим собой, поставив первые две фишки случайно около центра. «Сложный» против «Сложного»: первый игрок выиграл 47% из 1000 партий, второй — 23%, остальные ничьи. «Эксперт» против «Эксперта» при переборе на четыре хода: 69% против 20% в 500 партиях. Из партий, где кто-то победил, первый игрок взял две из трёх на уровне «Сложного» и почти четыре из пяти на уровне «Эксперта». Здесь первый ход всегда ваш.

Начинайте в середине. Пятёрку на этом поле можно построить в 572 разных местах. Любая точка центрального квадрата 7×7 входит в 20 из них, точка в середине края — в 8, угол — в 3. Фишке у края некуда расти, а сам край работает как блок на любом ряду, который до него дошёл.

Со второго хода играйте плотно. Компьютер вообще не рассматривает точки дальше двух шагов от всех фишек на доске, и не зря: фишка, которая ничего не касается, ничего и не строит.

Как обыграть каждый уровень здесь

Вот как простые способы выбирать ход играют против каждого уровня. Вы играете синими и ходите первыми; первая фишка ставится в центр, вторая — случайно не дальше двух точек от неё, а между одинаково хорошими ходами выбор случайный.

Ваше правилопротив «Простого»против «Сложного»против «Эксперта»*
Случайная точка рядом с любой фишкой0%0%0%
Сначала закрывать, как «Простой» (его же правило оценки)5%15%4%
Продлевать свой лучший ряд; закрывать только четвёрку56%1,5%0%
…и закрывать открытые тройки, ставить свою открытую четвёрку65%18%19%
…и ставить вилки, считая разрывы; занимать точку вилки компьютера74%36%35%

* «Эксперт» ограничен по времени и считает на два, четыре или шесть ходов вперёд — смотря какое устройство. Столбец «Эксперта» смоделирован при фиксированной глубине четыре. На полной глубине шесть последнее правило выиграло 26% из 200 партий. Правило «сначала закрывать» в основном даёт ничьи: 91% партий против «Простого», 34% против «Сложного», 32% против «Эксперта».

В «Простом» и «Сложном» нет случайности: на одну и ту же позицию всегда один и тот же ответ. Значит, партия, которая обыграла их однажды, обыгрывает их всегда. Точки называются как клетки шахматной доски: буквы a–o слева направо, ряды 1–15 сверху вниз (в самой игре подписей нет); центр — h8.

«Простой» за семь ходов. Сыграйте h8, e9, f10, e10, e11, g9, d12. Компьютер отвечает g7, h7, d8, d10, e8, i7. Ваш пятый ход, e11, создаёт две тройки сразу — вертикаль e9–e10–e11 и диагональ h8, пропуск, f10, e11. «Простой» закрывает вертикаль, ход g9 заполняет пропуск и даёт открытую четвёрку, а d12 достраивает пятёрку. Короче выигрыша нет: мы проверили все партии из шести ходов и меньше при любом первом ходе — 16,4 миллиона позиций.

«Простой» после четырёх ходов с каждой стороны: синие — вы, красные — компьютер. Отмеченная точка e11 даёт тройку по вертикали и тройку с разрывом по диагонали до h8.
Конец партии: d12 (в кружке) достраивает диагональ d12–e11–f10–g9–h8.

«Сложный» за девять ходов. Сыграйте h8, h6, i8, g9, h9, h7, j9, i9, k9. «Сложный» отвечает g7, h5, g8, i7, j7, h10, g6, f9. Седьмой ход, j9, — та самая вилка, что показана выше; i9 даёт открытую четвёрку, k9 выигрывает. Это самая короткая последовательность из найденных нами, но не доказанный минимум.

«Сложный» после вашего девятого хода, k9 (в кружке): пять в ряд от g9 до k9.

«Эксперт» зависит от скорости вашего устройства, поэтому гарантированной последовательности против него нет. На быстром компьютере, где он успевает досчитать на все шесть ходов, он так же предсказуем, и вот эта партия выигрывалась при каждой нашей проверке: h8, g5, g6, i5, f7, h4, i6, d7, i7, i2, j6, k5, g9 — «Эксперт» отвечает h6, f6, g7, f5, h5, g4, e6, i3, h3, i8, g3, l4. Если на h8 он первым ходом ответил g7, а не h6, устройство не даёт ему досчитать, и последовательность не сработает. Тогда играйте по правилам ниже: последнее правило из таблицы выиграло у «Эксперта» около трети партий, а выигранные партии длились в среднем 23 хода.

Правила по порядку важности

  1. Ставьте пятёрку, если можете; если нет — закройте четвёрку соперника.
  2. Ставьте открытую четвёрку или четвёрку, которая заодно даёт тройку, как только такая есть.
  3. Закройте открытую тройку, сплошную или с разрывом, — если только не можете ответить своей четвёркой.
  4. Ставьте фишку туда, где она создаёт две угрозы сразу, и при поиске считайте тройки с разрывом.
  5. Займите пустую точку, на которой два ряда соперника разом стали бы угрозами.
  6. В остальных случаях продлевайте свой лучший ряд — ближе к центру и к своим фишкам. Двойки и закрытые тройки не закрывайте.

Против «Простого» одни только правила 1 и 6 выигрывают 56% партий, правило 3 поднимает это до 65%, правила 4 и 5 — до 74%. Против «Сложного» те же шаги дают 1,5%, 18% и 36%.

Вопросы и ответы

Как выиграть в гомоку?

Вилкой: одна фишка создаёт две угрозы сразу — например, две открытые тройки или четвёрку и тройку. Закрыть можно только одну. Пока вилки нет, закрывайте только настоящие угрозы — четвёрку, открытую тройку, точку, где вилку мог бы поставить соперник, — а все остальные ходы тратьте на свой ряд.

Какой первый ход в гомоку лучший?

В центр. На поле 15×15 пятёрку можно построить в 572 местах; точка центрального квадрата 7×7 входит в 20 из них, точка в середине края — в 8, угол — в 3.

Правда ли, что в гомоку всегда выигрывает первый игрок?

При идеальной игре — да: для свободного гомоку на поле 15×15 это доказано машинным перебором в начале 1990-х. В нашем моделировании, где компьютер играл сам с собой на уровне «Сложный», первый игрок выиграл 47% партий, второй — 23%. В этой игре первыми всегда ходите вы.

Разрешена ли в гомоку двойная тройка (вилка 3-3)?

В свободном гомоку, по правилам которого идёт эта игра, — да: 3-3, 4-4 и ряды длиннее пяти разрешены обеим сторонам. В рэндзю, турнирном варианте, первому игроку они запрещены.

Выигрывает ли в гомоку ряд из шести фишек?

Здесь — да. Правила свободные, выигрывает любой непрерывный ряд из пяти и больше. В некоторых вариантах (стандартное гомоку, рэндзю для первого игрока) ряд из шести не засчитывается.

Можно ли обыграть компьютер в гомоку?

Да. «Простой» и «Сложный» здесь полностью предсказуемы, и заранее известные последовательности обыгрывают их каждый раз: семь ходов против «Простого» (h8, e9, f10, e10, e11, g9, d12) — быстрее невозможно — и девять против «Сложного» (h8, h6, i8, g9, h9, h7, j9, i9, k9). «Эксперт» сильнее и зависит от скорости устройства; простые атакующие правила выигрывают у него примерно треть партий.

В гомоку лучше атаковать или защищаться?

Атаковать, а защищаться только от настоящих угроз. Против здешнего «Простого» игрок, который сначала закрывает, выиграл 5% смоделированных партий и свёл вничью 91%; игрок, который строит свой ряд и закрывает только четвёрки, открытые тройки и точки вилок, выиграл 74%.

Сыграть в гомоку с компьютером →
Куда отсюда
Как сослаться: «Как выиграть в гомоку: тройки, четвёрки, вилки и победа над компьютером», You vs Computer, https://youvscomputer.com/games/ru/gomoku-strategy.html