Шашки, шахматы и го.

Несколько забавных фактов, которые попались мне разом за короткое время

— Шашки.

Первая программа написана в 1950 году. В 2007 году  игра полностью просчитана до конца.

— Шахматы

Первая программа написана около того же 1950 года. На нынешний день (2009 год), самый сильный движок работающий на 64bit 4процессорном компе (то-бишь эквивалент обычного нового проца для персоналки от от Intel’я) обладает ELO (система рейтинга силы)  порядка 3100-3200. Для сравнения, самый высокий рейтинг в мире, был у Каспарова — 2851.

— ГО

Увы не смог найти, когда была написана первая программа. Если не ошибаюсь, это было гораздо позже, чем шахматная и шашечная программа (где-то в 1970). Долгое время, почитатели ГО били себя в грудь, что этот бастион не падет, так как стратегия игры в ГО, гораздо сложнее, чем в шахматы.

В августе 2008 года, Kim Myung Wan профессиональный игрок 8 дана (фактически абсолютный потолок) проиграл компьютеру дав ему 9 камней форы. Дабы не вдаваться в детали рангов ГО, скажу, что сила такой программы выше, чем примерно 75% людей умеющих играть в ГО.

Вывод?

А… Куда же мы котимся….  (с паникой в голосе).

23 комментария to “Шашки, шахматы и го.”

  1. А в чём собственно паника… все эти игры предполагают что среди двух соперников выигрывает тот — кто лучше просчитывает ходы соперника.
    Кто-то будет спорить что компьютер считает хуже человека?… Так и в чём проблема?

    Да и вообще касательно шахмат — кто-то кажется из настоящих шахматистов сказал, что компьютерная шахматная программа играет настолько хорошо, насколько хорошо играет в неё программист, её создавший 🙂 Несколько спорное утверждение конечно, но не слишком далеко от истины.

    В сравнении с шашками у шахмат намного больше вариантов партий вот и все… у шашек всего два типа «фигур» — шашка и дамка — у шахмат аж 7: пешка, тура, конь, белый и черный офицер (разные фигуры как ни крути), ферзь и король. В шахматах 64 клетки — в шашках используется только половина клеток шахматной доски. Я это к чему — и шахматы когда-то просчитают 🙂 И человек просто не сможет выиграть у компьютера — НИКОГДА, как уже не сможет этого сделать в шашки.

    • Victor Ronin:

      Ну насчет игра = лучше просчитывать ходы, это дело спорное. Это как раз компьютеристический подход. Просчитывание ходов, безусловно важная часть большинства игр, но также есть множество вещей, которые входят в «общую стратегию».

      >шахматная программа играет настолько хорошо, насколько хорошо играет в неё программист, >её создавший 🙂 Несколько спорное утверждение конечно, но не слишком далеко от истины.

      Абсолютно неверное утверждение. См. статью. ELO — 3200. Таких шахматистов просто нету. А написал ее не чемпион мира.

      • Насчёт ELO — 3200 — вы поймите — программа играет настолько хорошо, насколько позволяет ей играть алгоритм, заложенный программистом — согласны? :))) Поэтому так и говорят (про программиста) — хотя имеют конечно ввиду не его шахматистские способности как конкретного человека…

        Ну вам как программисту должно быть понятно (я надеюсь) — если программа знает абсолютно все комбинации ходов, то выиграть у неё невозможно, как минимум можно свести в ничью… да и то — я не уверен что человек с его «погрешимой» логикой сможет не ошибиться.

        • Victor Ronin:

          >программа играет настолько хорошо, насколько позволяет ей играть алгоритм, >заложенный программистом — согласны?

          Нет, не согласен.

          Можно построить простой переборный алгоритм в глубь. Имея машину бесконечной скорости, она просчитает все ходы. Сам алгоритм можно уложить в 5 листов текста, а при этом она будет сильнее любого игрока.

          Естественно до конца досчитать шахматы пока нельзя.
          Но тем не менее сила программы = сила алгоритма * быстродействие компьютера.
          Причем чем выше множитель «быстродействие компьютера», тем меньше может быть первый множитель «сила алгоритма».
          Учитывая, что быстродействие увеличивается в 2 раза за 2 года, то даже программы с очень слабыми алгоритмами и использующие перебор вглубь написанные 20 лет назад будут обладать большой силой.

      • Ах да.. ещё про стратегию — вот это как раз «человеческий» подход — выстроить нападение так, что если соперник ошибётся, то сделать то, а если не ошибётся то сделать это и ждать когда он ошибётся на следующем ходу — я не спорю — чисто человеческий подход 🙂

        Только компьютер не ошибается 🙂 (если не ошибается человек, его запрограммировавший)

  2. Андрей:

    Все-таки 9 камней форы это очень много. Насколько я понимаю Го — то, что программа с 9ю камнями форы выиграла у 8-го дана вовсе не значит, что без форы она сможет выиграть хотя-бы у 1-го.

    • Олег:

      Угу. 9 камней форы — это серьезно. Т.е. в отличие от шахмат и шашек программа имела преимущество. Действительно не факт, что в равных условиях программа сможет выиграть.
      Может быть ошибка при переводе возникла? Может быть ЧЕЛОВЕКУ дали 9 камней форы?

      • Victor Ronin:

        Таки, программе дали 9 камней форы. Да, действительно это очень много. Сложно сказать точную силу программы. Но вероятнее всего она будет где-то поряка 1 любительского дана, что уже весьма серьезная величина.

        Как пример, лет 5 назад, программа проиграла при форе 14 камней у профессионала.

  3. Насколько я знаю, шашки «решены» только для английского варианта (checkers), но не, например, для русского. Отличаются правилами для дамок.

  4. Yuri Tarasov:

    Для самых сильных программ для Го сейчас используются модификации Монте_Карло и сила программы оень сильно зависит от мощности компьютера.
    Т.е. на обычной персоналке программа будет играть не сильнее 6-8кю.
    А для игры с данами использую очень большиые кластеры и достаточно большой лимит времени, чтобы программа могла общитать больше вариантов.
    Опять-таки, еще один немаловажный момент — пока все эти игры с профессионалами — маркетинговые.
    Из реального, Го-программа играет на уровне 1-3 дана (любительского) на поле 9на9.

    • Victor Ronin:

      О силе программ, можно поспорить.

      Из Wikipedia — Currently, the best Go programs running on stock hardware are ranked as 2 dan — 3 kyu[1].

      Согласен, что пока компьютерные программы в ГО не так сильны, как в других играх. Но, замечу, те супер пупер компьютеры на которых их запускали против профессионалов — 800 ядер с частотой 3Gz будут эквивалентом обычного компьютера через 15 лет.

      Опять же, если взглянуть на 15-20 лет назад, то мы увидем, что тогда ГО играла дай бог с силой 20кю.

  5. Yuri Tarasov:

    Зачем спорить — достаточно сыграть 🙂
    По некоторым оценкам программы уделают людей в Го в течение 10 лет при текущих темпах развития и железа и софта и количества людей, которые пытаются найти решение этой задачи.

    Это может поставить перед другим вопросом:) Не куда мы катимся? А зачем мы играем/соревнуемся?

    Может мы перестанем доказывать своему ближнему, что он хуже или слабее, а я круче, когда узнаем/поймем, что машины нас уделают в любом случае.
    И тогда сможем играть/тренироваться, чтобы сделать себя лучше, совершеннее, эфективнее, приспособленнее к среде обитания?

    • Victor Ronin:

      Отвечая на вторую часть вопроса. Не не сможем.
      Так люди устроены и никакой компьютер с победой в ГО не переделает психологию.

      • Vovix:

        Психология очень хорошо переделывается прямыми материальными и прочими наглядными стимулами. Тут следует различать конструктивную и деструктивную конкуренцию. Одно дело просто играть, а другое «решать» дилемму заключенного по принципу «выбей мне глаз, а соседу два». В отучении от второго помогает увеличение разнообразия жизни вообще и профессиональных путей в частности, а также медленная, но верная эволюция бизнес-культуры от конкуренции к кооперации на всех уровнях. Искоренить за 10 лет — вряд ли, но существенно уменьшить отрицательный эффект — почему бы и нет. А остаточную агрессию и конкуренцию можно и в CS выплеснуть:).

        • Victor Ronin:

          Как говорил Станиславский — не верю. 🙂

          По этому поводу есть хорошая книга — Эгоистичный ген.

          По моему мнению и из того что я знаю, конкуренция — один из основных факторов эволюции. Поэтому ее фактически нереально выкорчевать, а если выкорчевать, то тогда наиболее вероятно исчезнет прогресс.

  6. Yuri Tarasov:

    Конкуренция — один из факторов приспособления. Кто лучше устроиться, а кто хуже. И в конечном итоге может приводить к элиминации или выживанию.
    Но это никак не свзано с прогрессом, т.к. прогресса не бывает 🙂
    Бывает изменение системы для лучшей приспособленности к внешним условиям, которое может выглядеть как прогресс, т.к. будет иметь место усложнение. Но это только для получение эффективности в текущих условиях.
    Если условия изменятся, то для выживания может быть более актуальным «регресс» — упрощение организации.

    • Victor Ronin:

      ok. Переформулирую в этих терминах.

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

      Даже скажу больше. На самом деле, конкуренция — это не фактор, а метафактор. Под этим метафактором мы подразумеваем всей действия, которые приводят к повышению приспособляемости и получения ключевых ресурсов.

      Даже случай какого-то локального сотрудничества. Цель любого сотрудничества увеличить конкурентноспоспособность на больших масштабах.

  7. Yuri Tarasov:

    Вынужден не согласиться. Попробуем на кошках 🙂

    Кто в экосистеме червяк или лев находится на первом месте?
    Особенность вида Homo Sapiens в том, что каждый индивид, в некотором роде, равносилен целому виду более низкоорганизованных организмов.
    Поэтому люди могут пребывать в настолько удаленных нишах как червяк и лев, которым не за что и не где конкурировать 🙂
    Конкуренция внутривидовая и межвидовая подразумевает объект конкуренции. За территорию, за источник питания, енергии, за партнеров для размножения и т.д.
    И чем больше потребности, тем выше конкуренция. Поэтому львов мало, а червей мого 🙂
    Но наша текущая ментальность построена так, что все хотят быть львами — это типа круто. Так внушают все СМИ и не только.
    Так что дело не в конкуренции, а в понимании, что «мамы всякие нужны, мамы всякие важны» 🙂
    Но это все мое большое имхо …

    А если вернуться к теме, то личная, разносторонняя и сбалансированная эффективность (когда человек достаточно развит физически, интеллектуально и духовно и не относительно кого-то, а относительно осбственного потенциала), позволит эфективно занимать свободные и достаточно легко конкурировать за частично занятые ниши или избегать ненужых осложнений в «нечестной» конкуренции.
    И это кстати, довольно хорошо видно на примере Го 🙂

    • Victor Ronin:

      Итак вернемся к внутревидовой конкуренции.

      — Львами хотят быть не только потому, что так говорит СМИ, а потому, что это позволяет получиать доступ к дополнительным ресурсам.

      Как пример. Можно резко понизить необходимость конкурировать с кем либо не было, переселившись в центр Сахары.

      Почему этого не делают? Потому, что продолжительно жизни при этом резко падает.

      >личная, разносторонняя и сбалансированная эффективность (когда человек достаточно >развит физически, интеллектуально и духовно и позволит эфективно занимать свободные и >достаточно легко конкурироват

      Но ведь именно конкурировать? Почему собственно, мы хотим все сбалансировать? Потому, что это дает наилучший результат в длительности и качестве жизни. Причем замечу, что мы наилучший результат оцениваем относительно окружающих.

      — И возвращаясь к теме ограничения требования к внешним ресурсам. Вводить самому эти ограничения (а-ля уезд в Сахару) — бессмысленно. Эта стратегия выгодна только тогда, когда сама борьба за ресурс будет более дорогостоящей, чем ресурс. Да, в этой ситуации, действительно борьба за него серьезно упадет.

      — И насчет того, что я вот буду белый и пушистый и буду сбалансирован и никому не буду наносить вреда и конкурировать. Это невозможно по той простой причине, что любое наше действие кому-то точно мешает — мы поступили на работу, а кого-то не взяли (и возможно именно из-за того, что взяли нас), мы купили вещь, кому-то она не досталась, мы перешли улицу первым, кто-то потерял 3 секунды смотря нам в спину. Конечно, я утрирую, но собственно говоря, эти самые мелкие субоптимальные хода накапливаются и приводят к очень разным результатам (таким, что уже видно, что конкуренция таки есть).

  8. Yuri Tarasov:

    а вот это уже отбор, а не конкуренция 🙂

    занятие нишы льва, позволяет получить доступ к большему количеству ресурсов, но при этом накладывает и больше ограничений, так как на то чтобы оказаться в этой нише нужно потратить дофига, и чтобы в ней находиться нужно потратить еще больше, а еще, чтобы туда никого больше не пустить и это, кстати будет сокращать продолжительность жизни и не только это 🙂
    чем сложнее система(большее кол-во взаимосвязей), тем больший поток энергии она пропускает через себя и тем выше ее напряженность и если элемент не достаточно подготовлен, то его порвет на британский флаг

    Опять-таки, чтобы переселиться в Сахару, тоже нужно быть адаптированным к тем условиям. Ни вы ни я не сможете просто так отфанаря туда пойти и достаточно долга там поддерживать жизнь на достаточном уровне. Но при определенной подготовке там тоже можно жить достаточно долго и без проблем 🙂

    Конкурировать проще, поэтому туда все и лезут, т.к. 90% тех, с кем нужно будет конкурировать занимают ниши, которым они не соотвествую, в связи с чем и быстро элиминируются. Потому я и говорю об отборе.
    А ограничивать себя значительно сложнее…

    К вопросу об относительной оценке качеста — это тоже надуманная точка зрения. Попробуйте определить качество само по себе и когда не сможете — почитайте Роберта Пирсига.
    Можно себя сколь угодно долго обманывать и меряться с окружающими, но в конечном итоге, для тех, кто согласится быть честным с самим собой, придется примерять только на себя в зависимости от текущей обстановки.

    • Victor Ronin:

      Думаю стоит останавливать спор. Так как мы уже явно спорим о мнениях и терминологии, а не о фактах. 🙂