Метод Шашина

Тема в разделе "Мастерская", создана пользователем Zayats, 22 авг 2013.

  1. TopicStarter Overlay

    Zayats Без определенного статуса

    • Ветеран
    • Старожил
    Рег.:
    09.01.2007
    Сообщения:
    2.446
    Симпатии:
    1.651
    Репутация:
    156
    Оффлайн
    Универсальный метод: пятимерное пространство позиций разбивается на три зоны, для каждой из которых разработан свой алгоритм. Все параметры имеют численное выражение и физическую интерпретацию.

    Ищу сильнейший ход
    Шахматный план - фикция или реальность? (часть 1)
    Шахматный план - фикция или реальность? (часть 2)
    Фрагмент из книги

    По последней ссылке можно скачать небольшой фрагмент в формате .pdf, там же есть ссылки на интервью А. А. Шашина.

    Кратко анонс был и на этом форуме.
  2. Bushido Учаcтник

    • Участник
    Рег.:
    24.09.2006
    Сообщения:
    345
    Симпатии:
    11
    Репутация:
    1
    Адрес:
    Novosibirsk
    Оффлайн
    Любителям играть по формулам, могу сказать только одно: всё это "nonsense dog". 500 страниц, мда. Такие методики по аналогии, если вам выдадут толмут, как надо ходить: вначале правая нога на 37%, потом левая с загибом.

    Пусть резко, но выскажу своё мнение: любая теория должна укладываться в одну страницу.! Всё остальное мусор для головы. Лет 7-8 занимаюсь теориями о стратегии. Что только мне не довелось видеть, читать.

    Чтобы сразу расставить все точки, да, признаю, что одно время продвигал методику Бангиева-Алаторцева о стратегии полей. Но пока нет издания в 12 листовой школьной тетради со всеми примерами и без цветных стрелок и прочей мути в повторах - даже не грейте голову.

    Второй, важный момент - это тема "Статика и динамика". Пока даже близко не видел концепций в теории. Всё на уровне интуиции и практического опыта.
  3. Crest Админ, МГ

    • Команда форума
    Рег.:
    05.02.2006
    Сообщения:
    57.241
    Симпатии:
    21.126
    Репутация:
    626
    Адрес:
    Москва, Россия
    Оффлайн
    Да-а-а... После такого теория Чужакина кажется детской игрушкой, чрезвычайно простой в употреблении.
    А по сути верно ответил MS. Шашин пытается выстроить компьютерный алгоритм, сочиняет оценочную функцию. Только он это делает с нуля, а компьютерщики уже 25 лет это делают в конкурентной среде, дополняя и улучшая друг друга.
    А к людям, к практикам всё это не имеет ни малейшего отношения. Даже в игре по переписке такие наукообразные громоздкие системы вряд ли применимы.
    Diamond нравится это.
  4. Фримен Учаcтник

    • Участник
    Рег.:
    11.05.2010
    Сообщения:
    488
    Симпатии:
    122
    Репутация:
    7
    Оффлайн
    Человеческий разум предмет умный и самостоятельный. Он умеет вырабатывать свои алгоритмы. Его можно учить. Ему можно подсказать. Его нельзя программировать. Не его стезя принимать решения таким образом.
    Человеческий разум привык обучаться в социальной среде.
    Поэтому в античном государстве СССР работа демонстратора считалась одним из лучших способов повысить навык шахматной игры. Волей-неволей приходится "играть" партию вместе с вожаками шахматной стаи. Задумываться когда задумываются они, анализировать, пытаться понять над чем гросс думает.
    Второй аспект это обильное общение среди подобных себе. Трудно представить что-то более плодотворное чем когда на предложенную идею, вас обзовут слепым идиотом, приведут опровержение и альтернативу. Поневоле подтянешься.
    По-моему сейчас, лучшим вариантом будет следить онлайн за партией. Без комментариев и компьютерной оценки. Не отвлекаться в ожидании хода, а работать. Потом обсудить не боясь высказать своё мнение. Надо же знать в чём вы ошиваетесь.
    Я полагаю этот способ может оказаться действенным. Уверен вреда от него не будет. Но я не считаю себя вправе настаивать на его истинности, учтите пожалуйста.:)
    дикий муцио нравится это.
  5. TopicStarter Overlay

    Zayats Без определенного статуса

    • Ветеран
    • Старожил
    Рег.:
    09.01.2007
    Сообщения:
    2.446
    Симпатии:
    1.651
    Репутация:
    156
    Оффлайн
    Возможно, система не столь проста в употреблении, по крайней мере с непривычки. Но если она заметно коррелирует с компьютерными оценками, то систему можно использовать post factum, при комментировании. Если сравнивать с компьютерными алгоритмами, то параметров осталось на три порядка меньше, а расчет вариантов предусмотрен на лишь один полу-ход. Последовательность, если правильно понял, такая:

    1. Рассчитываем параметры.
    2. Определяем зону.
    3. Генерируем ходы-кандидаты, которые будут улучшать тот или иной параметр.

    Сомневаюсь, что столь ограниченные средства могут заинтересовать разработчиков комп. алгоритмов, разве что при игре 1 мкс на ход. Ведь тут нет огромного числа тонких эвристик (дефекты структуры, открытые линии и др.)

    Принципиально важно, что метод является проверяемым, т.е. он открыт для критики. Не как в теории супер-струн: "Дайте нам решение, а мы сможем его обосновать".

    Разберем пример одного из параметров, p. Это подвижность фигур - фактор, отвечающий за шахматное время (и, некоторым образом, аналог кинетической энергии). Очевидно, что речь идет о критерии, который применим и другим видам шахмат: шатрандж, xiang-qi, shogi.



    Известная табия, возникающая после 10-ого или 11-ого ходов. Согласно Нимцовичу, имеет смысл избыточно защитить пешку d4, т.е. сыграть 11.Се3. В современной гроссмейстерской практике этот несколько пассивный ход встречается редко, однако он вполне возможен и приводит с перестановкой к хорошо известной примерно равной позиции. В духе Стейница или Свешникова следует рассмотреть выпад 11.Сg5, белые должны проявлять активность. Так играют значительно чаще. Наконец, наиболее популярным остается полу-выжидательное 11.Ле1. Сравним эти возможности по указанному параметру:

    Изначально (белые/черные): 45/36
    Оборона (11.Се3): 48/36, итого +3
    Агрессия (11.Сg5): 49/35, итого +5
    Нейтральный ход (11.Ле1): 50/36, итого +5

    Итак, современная практика предпочитает ходы, увеличивающие разницу подвижности фигур. Однако остается открытым вопрос, какое продолжение максимизирует данный параметр? Небольшая проверка указывает на 11.Сf4 (53/36): +8, прекрасный результат. Диагональ h2-b8 пуста, работы на ней слону немного, поэтому почти никто слона туда и не ставит. Тем не менее по формальным критериям именно 11.Сf4 обеспечивает максимальное приращение р.

    Очевидно, проверка метода должна вестись следующим образом. Из MegaBase следует выбросить партии движков и партии с слишком длинными и короткими контролями (блиц и переписку). Отрезать первые ходы, выкинуть также строго вынужденные ответы, т.к. в этих случаях игроки не решают проблему выбора (или решена дома, или отсутствует). Останется сто миллионов позиций. Выявить те, в которых по Шашину надо увеличивать подвижность фигур. Составить статистку отклонений для Houdini на фиксированной глубине: рекомендация системы / рекомендация движка / реально сделанный ход.

    Надеюсь, что адепты учения проделают эту скучную, но важную для оценки методики, работу. Сам я не могу провести исследование, хотя бы потому, что технические возможности моего компьютера 1999 года выпуска весьма ограничены.
  6. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Я думаю, что из первой сотни программ в рейтинге концепция подвижности (мобильности) фигур так или иначе реализована у 99. Причём в гораздо более рафинированном варианте, чем просто подсчёт возможных ходов. А ещё у одной реализовано что-нибудь ей эквивалентное :)
  7. TopicStarter Overlay

    Zayats Без определенного статуса

    • Ветеран
    • Старожил
    Рег.:
    09.01.2007
    Сообщения:
    2.446
    Симпатии:
    1.651
    Репутация:
    156
    Оффлайн
    Вне всяких сомнений. Равно как у всех рассчитывается преимущество двух слонов, минусы сдвоенных пешек и многое другое. Суть в том, что из 6000 критериев (столько было у старого Шреддера) выбрано всего пять, по Шашину - наиболее релевантных. Остальные не помогают типировать позицию и лишь незначительно влияют на оценку (если я верно уловил идею автора). Следовательно, в практической партии ими можно пренебречь.
  8. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Ну как, незначительно... По сравнительному рейтингу разных версий вполне можно сказать, насколько значительно.
    В общем, перед нами очередная попытка научить человека играть как компьютер. Прямо по Михаилу Моисеевичу.
    Только у Ботвинника сначала надо было построить человекообразный ИИ, а потом у него учиться чему-то новому. А здесь за основу берётся изрядно обрезанный Шреддер :)
  9. TopicStarter Overlay

    Zayats Без определенного статуса

    • Ветеран
    • Старожил
    Рег.:
    09.01.2007
    Сообщения:
    2.446
    Симпатии:
    1.651
    Репутация:
    156
    Оффлайн
    Строго говоря, концепция Шашина появилась, когда Шреддера и в проекте не было. Но это не столь существенно.

    Важнее иное: скорее всего, программа, базирующаяся лишь на этих пяти параметрах и не считающая варианты вовсе будет играть сносно. И уж точно обыграет любой движок, пренебрегающий только одной (первой) из указанных Шашиным эвристик. Конечно, современные движки в том или ином виде используют все упомянутое в системе и, чтобы добиться перевеса над конкурентом, им приходится использовать все более изощренные эвристики и все более точные отсечки малоперспективных вариантов. Это, конечно, дает прогресс, измеряемый в сотнях пунктов. А базовые параметры - в тысячи.
  10. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    А вот здесь не соглашусь.
    Программа, считающая на N + 2 ходов, но с самой примитивной оценкой, всегда выиграет у программы, считающей на N ходов, сколь бы сложной у неё оценка не была.
    Такие эксперименты неоднократно проводились.

    Да вы и сами, при известной сноровке в настройке движков/оболочек, можете легко это проверить.
  11. TopicStarter Overlay

    Zayats Без определенного статуса

    • Ветеран
    • Старожил
    Рег.:
    09.01.2007
    Сообщения:
    2.446
    Симпатии:
    1.651
    Репутация:
    156
    Оффлайн
    Хорошо, проведем смелый эксперимент. Я постараюсь эмулировать собой "систему Шашина" (мне система известна фрагментарно, так что много ждать не стоит). Осталось найти движок, в котором вручную можно сбить настройки. В нашем случае следует приравнять к нулю силу всех фигур и пешек. Если мне удастся победить движок с оценочной функцией вообще игнорирующей силу фигур, то попробуем сделать вес юнитов по единице, тогда движок получит здравое целеполагание - надо обладать большим по сравнению с противником числом юнитов. Обещаю не торопить железного друга, пусть по часу над каждым ходом размышляет. Глубина, невзирая на старомодность моего компа, будет всяко больше чем N+2.

    Итак, у меня оболочка XBoard, на просторах интернета мне попалась программа Greko 10.2 с исходниками. Кто-нибудь в курсе как в ней изменить веса фигур?
  12. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Поставьте в .ini - файле Material=0, и будет вам щастье.
  13. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Это под Winboard.
    Для протокола UCI можно сделать то же самое из стандартного диалога настройки движка в оболочке.
  14. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Разумеется, правило "N+2 бьёт N" подразумевает, что оценка материала есть у обоих движков, хотя бы самая примитивная (1-3-3-5-9).
  15. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    А если хочется изменить именно соотношение фигур, то без перекомпиляции не обойтись.
    Править нужно в файле eval.cpp вот эти строчки:

    EVAL VAL_P = 100;
    EVAL VAL_N = 400;
    EVAL VAL_B = 400;
    EVAL VAL_R = 600;
    EVAL VAL_Q = 1200;
  16. Rosso Учаcтник

    • Участник
    Рег.:
    03.10.2008
    Сообщения:
    1.048
    Симпатии:
    140
    Репутация:
    0
    Оффлайн
    Смотря чему равно N. Если 2-3-4, то утверждение верно.
  17. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    На досуге проведу с Грекой эксперимент при разных значениях N.
  18. Vladimirovich Консультант

    • Ветеран
    • Заблокирован
    • Старожил
    Рег.:
    27.09.2006
    Сообщения:
    6.007
    Симпатии:
    810
    Репутация:
    31
    Нарушения:
    31
    Адрес:
    https://quantoforum.ru/
    Оффлайн
    Уже давно несколько статей Шашина было на http://www.e3e5.com/
    Я пробовал читать, сама идея казалась очень интересной, но потом уснул.
    Такое впечатление, что каждый раз задача подгоняется под ответ.
    Разве что "метод поднятия" короля хорошо обоснован :)
    Если делать нечего, нужно поднять короля с 1й на 2ю. Каспаровский прием :)
  19. Crest Админ, МГ

    • Команда форума
    Рег.:
    05.02.2006
    Сообщения:
    57.241
    Симпатии:
    21.126
    Репутация:
    626
    Адрес:
    Москва, Россия
    Оффлайн
    Вот, кстати, что писал сайт РШФ о новой книге Шашина.
    Там есть предисловие Морозевича и возможность скачать фрагмент книги.
  20. TopicStarter Overlay

    Zayats Без определенного статуса

    • Ветеран
    • Старожил
    Рег.:
    09.01.2007
    Сообщения:
    2.446
    Симпатии:
    1.651
    Репутация:
    156
    Оффлайн
    13359 - это Шашин, эвристика номер 1 (см. пост 9). Так сказать, результат осмысления многовекового опыта. При настройке Material=0 я действительно испытал немало приятных минут. Всего один кирпичик вынут из оценочной функции, и падение рейтинга на 2-3 тысячи пунктов налицо. Конечно, если убрать двух слонов или сдвоенные пешки, результат не окажется столь впечатляющим. Значит, есть эвристики важные, которые можно компенсировать лишь сверхглубоким расчетом (на сотню полуходов), а есть второстепенные, которые можно покрыть одним ходом (N+2).

    P.S. К двум последним постам, ссылки и на е3е5, и на фрагмент книги на странице федерации даны в заглавном сообщении.

    to WinPooh: Что-то make выдает кучу ошибок, а ./configure отсутствует. Есть инструкция или что-то в этом роде? Хочу все-таки дать шанс Греке, поставлю 12223.
  21. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Попробуйте make -f Makefile.linux
    Autotools я не использую, configure работать не будет.
  22. Rosso Учаcтник

    • Участник
    Рег.:
    03.10.2008
    Сообщения:
    1.048
    Симпатии:
    140
    Репутация:
    0
    Оффлайн
    Не знаю кто у кого заимствовал, но у Дорфмана много похожих идей.
  23. TopicStarter Overlay

    Zayats Без определенного статуса

    • Ветеран
    • Старожил
    Рег.:
    09.01.2007
    Сообщения:
    2.446
    Симпатии:
    1.651
    Репутация:
    156
    Оффлайн
    Да, я пытался, вот так получается:

    Совсем меня эти репозитарии разбаловали.
  24. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    К сожалению, у меня нет под рукой Линукса, чтобы проверить сборку.
    В качестве быстрого фикса, удалите из utils.h все реализации функции inline void out() (строки 25 - 65),
    и напишите вместо них:

    #define out printf
  25. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Нет, ошибка в другом месте. Даже без Линукса понятно :)

    unix.cpp, строка 19
    void SleepMilliseconds(int ms) { usleep(1000 * ms); }

    Удалите лишнюю точку перед usleep.
  26. TopicStarter Overlay

    Zayats Без определенного статуса

    • Ветеран
    • Старожил
    Рег.:
    09.01.2007
    Сообщения:
    2.446
    Симпатии:
    1.651
    Репутация:
    156
    Оффлайн
    Мистика какая-то. Все заработало. Завтра проведу ряд тестов.

    P.S. Сыграл 4 партии с установкой 12223, движок играет лучше мною ожидаемого, под 2000 где-то. Все же, даже с подсказкой, что пешки слабее фигур, среди последних ферзь - самый главный, падение силы имеет порядок 500-1000 пунктов. Видимо, есть фундаментальные критерии (по Шашину их 5), которых достаточно, чтобы догнать силу современного движка до 3000+, а есть ряд второстепенных (защищенная проходная опаснее отдаленной, разноцвет усиливает атаку, но несет ничейные тенденции в эндшпиле и пр.), которых очень много, но добавляют они 1-2 разряда.

    Можно предложить критерий существенности эвристики: у движка ее отключение не компенсировать глубиной перебора на ход дальше (N+2).
  27. XAJIK 22

    • Участник
    Рег.:
    05.05.2010
    Сообщения:
    1.308
    Симпатии:
    415
    Репутация:
    34
    Оффлайн
    Случайно смотрел "битву машин" Вяленого со Шкафом :), обратил внимание, что сейчас 4-й по рейту(3089) -некий Vitrivius итальянских программистов - шахматистов .
    Полез в их блог, натолкнулся на интересный пост http://www.vitruviuschess.com/article/The-opening-according-to-Vitruvius.html
    метод Шашина в приложении к шахматным прогам, и дебютным /миттельшпильным трактовкам прог в частности.
    Коротко-автор делает вывод, что сегодняшние проги отлично работают в "зоне Петросяна", и проваливаются в "зонах Таля и Капабланки-в особенности ".
    То есть метод Шашина-не панацея, конечно, но вполне рабочий метод, притом что гибкий для применения и оригинальный.
  28. Локомотив Старожил

    • Участник
    • Старожил
    Рег.:
    30.03.2012
    Сообщения:
    4.948
    Симпатии:
    3.696
    Репутация:
    120
    Оффлайн

Поделиться этой страницей