|
|
|
|
|
|
|
|
|
|
Сток тоже начал работать с Касымжановым или это слухи? |
|
|
номер сообщения: 54-31-7346 |
|
|
|
Скорее Касымджанов давно работает со стоком, да он и не скрывает особо |
|
|
номер сообщения: 54-31-7347 |
|
|
|
Какая-то абсолютная фантастика в партии.
https://www.chess.com/computer-chess-championship#event=ccc-19-bullet-alt-finals&game=161
https://lichess.org/drmwTPfR
Просто приведу в пример что там было -
|
|
|
номер сообщения: 54-31-7348 |
|
|
|
Вот у меня нет впечатления "абсолютной фантастики". То есть очень красиво, конечно, но именно по-человечески красиво. Я имею в виду игру белых. Стокфиш накатывает вполне логично, даже кажется, что "из общих соображений". Вот защита чёрных действительно оставляет впечатление комповщины. По-людски кажется, что чёрные просто "без понятия", и их вот-вот заматуют. В принципе, так и есть, но чтобы это доказать, надо быть Стокфишем, вероятно |
|
|
номер сообщения: 54-31-7349 |
|
|
|
Мне очень понравилось расположение белых фигур на картинке, если честно.
Такое в реальной партии как-то не особо увидишь.
Ну и забавно ещё, что в какой-то момент у чёрных было 2 ферзя, а через несколько ходов не осталось ни одного, при этом у белых количество ферзей не менялось. |
|
|
номер сообщения: 54-31-7350 |
|
|
|
Ну да, картинно, но ведь получилось-то оно вполне человеческими ходами. Такими, которые, конечно, не каждый бы сделал, но вот в голову бы они каждому пришли. |
|
|
номер сообщения: 54-31-7351 |
|
|
|
Ну а вообще пока что после 170 партий сток набирает 106 очков, не проиграв ни одной пары игр, как-то вот так. |
|
|
номер сообщения: 54-31-7352 |
|
|
|
https://www.chess.com/computer-chess-championship#
Небольшой эксперимент сейчас, стокфиш на 1 ядре против других движков на 250.
Пока что Weiss и Black Marlin он успешно разгромил, против Igel матч более равный, но сток всё равно сильно впереди, набирает 24 очка в 39 партиях. |
|
|
номер сообщения: 54-31-7353 |
|
|
|
В итоге обыграл Koivisto и проиграл 47-53 4-5 по силе движку Ethereal. |
|
|
номер сообщения: 54-31-7354 |
|
|
|
Михаил, а вот такой вопрос. Нельзя ли интегрировать Стокфиш с чат-ботом, чтобы играл блиц со звоном? Кроме шуток, кстати |
|
|
номер сообщения: 54-31-7355 |
|
|
|
Evgeny Gleizerov: Михаил, а вот такой вопрос. Нельзя ли интегрировать Стокфиш с чат-ботом, чтобы играл блиц со звоном? Кроме шуток, кстати |
Да можно, почему нет.
Просто это не особо кому интересно.
А так было бы желание - исходный код открытый, вставляйте куда угодно. |
|
|
номер сообщения: 54-31-7356 |
|
|
|
Ну, не знаю. Думаю, что почитать, а то и послушать, как Стокфиш с Лилой друг друга подкалывают, интересно многим |
|
|
номер сообщения: 54-31-7357 |
|
|
|
Ну это скорее фанатский контент |
|
|
номер сообщения: 54-31-7358 |
|
|
|
Можно попробовать обучить что-то воде ChatGPT комментировать партии. Давать ему на вход в каком-то виде позицию и итерации SF, с целью на выходе получить обычные комментарии шахматного комментатора. Без всяких подколок. |
|
|
номер сообщения: 54-31-7359 |
|
|
|
Мне кажется, эти игры с ChatGPT носят чисто литературный характер, легко разрушаемый алгеброй. Вот если б как-то саму Лилу научить описывать, почему она считает оценку позиции такой-то, это имело бы какую-то практическую пользу. |
|
|
номер сообщения: 54-31-7360 |
|
|
|
Не думаю, что это реально сделать.
Была какая-то гифка, где показывалось, как стокфиш считает на определённую глубину.
Ну там в общем-то очень немного полезного для людей, как по мне. |
|
|
номер сообщения: 54-31-7361 |
|
|
|
Roger: Мне кажется, эти игры с ChatGPT носят чисто литературный характер, легко разрушаемый алгеброй. Вот если б как-то саму Лилу научить описывать, почему она считает оценку позиции такой-то, это имело бы какую-то практическую пользу. |
Ну так я и предполагаю, что это будет литературное описание не ограниченное рассматриваемой партией. Не знаю как ChatGPT обучается, но предполагаю, если обучать его шахматными книгами и базами сыгранных партий, то он сможет рассказывать о дебюте, какие идеи в нем возникают, какие ходы играются в данной позиции, и что соперники или другие игроки предпочитали раньше. А вывод из SF поможет описывать уже, кто кого давит, кто кого и куда пытается затащить, кто ошибся и т.д.
Т.е. самому ChatGPT не нужно уметь играть в шахматы, а нужно иметь корреляцию между позицией или классом подобных позиций и как все это литературно описывать благодаря изучению книг, ну и оценке позиций от программы. |
|
|
номер сообщения: 54-31-7362 |
|
|
|
Vizvezdenec: Не думаю, что это реально сделать.
Была какая-то гифка, где показывалось, как стокфиш считает на определённую глубину.
Ну там в общем-то очень немного полезного для людей, как по мне. |
стокфиш считает на определённую глубину все возможные ходы и все возможные ответы на них? |
|
|
номер сообщения: 54-31-7363 |
|
|
|
RыbkaКАРП: Vizvezdenec: Не думаю, что это реально сделать.
Была какая-то гифка, где показывалось, как стокфиш считает на определённую глубину.
Ну там в общем-то очень немного полезного для людей, как по мне. |
стокфиш считает на определённую глубину все возможные ходы и все возможные ответы на них? |
Разумеется, это не так.
Я недавно писал очень базовое описание того, что он делает, на английском, правда.
https://yh.reddit.com/r/chess/comments/11aswt5/completely_winning_position_the_engine_on_my/j9w7qv7/
Описанная процедура совсем не "считает на определённую глубину все возможные ходы и все возможные ответы на них", наоборот, он почти никаких ходов не считает, зато многие ветки просчитывает глубже, чем "положено". |
|
|
номер сообщения: 54-31-7364 |
|
|
|
Играми с ChatGPT сейчас полон интернет. Вот интересная статья (и комментарии к ней):
https://habr.com/ru/post/716216/
В принципе, ничего не мешает попросить бота давать комментарии к партии. |
|
|
номер сообщения: 54-31-7365 |
|
|
|
Всё бы хорошо, если бы он не делал нелегальных ходов. |
|
|
номер сообщения: 54-31-7366 |
|
|
|
Как определяется какие ветви отсекать какие продолжать анализировать ?
Оценкой позиции? |
|
|
номер сообщения: 54-31-7367 |
|
|
|
RыbkaКАРП:
Как определяется какие ветви отсекать какие продолжать анализировать ?
Оценкой позиции? |
Там много разных эвристик.
Во-первых, математически строгая альфа-бета, которая делает то же самое, что и минимакс, только быстрее, причём тем быстрее, чем лучше у вас работает сортировка ходов, а она в стоке неплохая.
Дальше по очерёдности применения - это всё "спекулятивные" эвристики, в том плане, что альфабета определённой глубины всегда вернёт то же самое, что и минимакс той же глубины, а вот каждая из этих - нет:
1) razoring - идея в том, что если оценка позиции достаточно плохая, мы можем предположить, что ветку дальше исследовать не стоит. Для подтверждения этого делается тактический поиск, который называется quiescence search, он же qsearch, из этой позиции, чтобы проверить, что тактически из этой позиции выбраться не получится, и если он возвращает плохой результат, дальше ветку не исследуем, отсекая её как fail low - т.е. "плохой результат"; (~1 эло)
2) futility pruning - отсечение по оценке. Если оценка очень хорошая, так ещё и ход наш, вероятно, смотреть особо нечего, тут у нас всё очень хорошо. Возвращается fail high - "хороший результат";(~40 эло)
3) null move pruning - если оценка достаточно неплохая, мы передаём ход противнику. И если он не может сделать её достаточно плохой, возвращаем fail high. Идея в том, что если даже с лишним темпом противник не может сделать оценку плохой, то уж без него и подавно;(~35 эло)
4) probcut - исследуются в позиции взятия с глубиной (данная глубина - 3), и смотрится, могут ли они загнать оценку сильно выше beta - если могут, возвращается fail high. Идея в том, видимо, что если противник зевнул какое-то взятие, то и считать особо нечего :) ;(~10 эло)
5) probcut под шахом - примерно то же самое, что и прошлое, только если мы под шахом. Если в таблице повторений позиция уже есть, результат поиска хороший и глубина хорошая, считаем, что шах противника не проходит и он просто зевнул фигуру (насколько я знаю, только в стокфише используется);(~4 эло)
дальше идёт, собственно, перебор ходов в позиции - до этого отсекалась ветка текущая целиком.
Стоит отметить, что все следующие эвристики не делаются для самого первого хода, или когда лучшая оценка - нас матуют в сколько-то ходов, чтобы ложные маты не возвращать. Также множество из "достаточно хороших" и т.д. описаний - функции глубины поиска, работают только на малых глубинах.
6) futility pruning for captures - статическое отсечение взятий. Если текущая оценка + достаточно большая величина + ценность взятой фигуры < alpha, то, вероятно, получить хороший результат поиска мы не сможем и можно ход дальше не считать (насколько я знаю, только сток так делает);(~2 эло)
7) see pruning for captures and checks - отсечение взятий и шахов, которые имеют плохой static exchange evaluation, т.е. вида "взял взял взял взял" на одном и том же поле (на которое мы пошли) размен теряет материал. Например, если мы просто пойдём ферзём под бой, то значение see будет -QueenValueMg (стоимость ферзя в миттельшпиле);(~11 эло)
8) continuation history based pruning - смотрятся истории ходов, и если истории текущего хода достаточно плохи, он выбрасывается;(~2 эло)
9) futility pruning for quiet moves - если статическая оценка + некоторое большое значение + истории ходов, делённые на некоторую величину, всё ещё меньше alpha, выкидываем ход;(~13 эло)
10) see pruning for quiet moves - то же самое, что и 7), только для тихих ходов;(~4 эло)
11) late move reductions (LMR)- если ход не первый в очереди, мы делаем усечённый поиск, чтобы проверить, может ли он превысить alpha. Если нет - дальше не считаем, если да, считаем его на полную глубину. Очень важная эвристика, которая в основном и отвечает за то, что стокфиш так глубоко ищет. Идея в том, что мы верим в наши эвристики сортировки ходов и чем дальше ход в сортировке их тем он, скорее всего, хуже.(~117 эло).
В LMR "базовое" уменьшение глубины поиска - линейная функция от производных логарифма глубины и номера хода, но сверху идёт много добавок всяких, всего там их штук 10.
Это что касается отсечения веток поиска, уменьшение / увеличение глубины это немного другое, тут писать это не стал. |
|
|
номер сообщения: 54-31-7368 |
|
|
|
Спасибо за ответ
Вы сами играете.Можно ли таким образом как то формализовать ,что ли,
алгоритм поиска лучшего хода для человека? |
|
|
номер сообщения: 54-31-7369 |
|
|
|
RыbkaКАРП: Спасибо за ответ
Вы сами играете.Можно ли таким образом как то формализовать ,что ли,
алгоритм поиска лучшего хода для человека? |
Нет.
Потому что алгоритмы поиска стокфиша оптимизированы под "хреновая оценка, зато очень быстрая".
У человека же "очень хорошая оценка, но крайне медленная".
Поэтому, например, сток всегда в верх поиска загоняет взятия, т.к. их считать достаточно недолго (их мало в принципе), а тактика - вещь важная, но человек вряд ли сможет на каждом ходу все подряд взятия высчитывать.
Ну и эвристики сортировки ходов у человека и движка просто почти никак не совпадают, поэтому это имеет мало смысла.
Кстати, забыл ещё из отсечений movecount pruning - отсекаются тихие ходы дальше определённого числа просчитанных ходов. (~8 эло) |
|
|
номер сообщения: 54-31-7370 |
|
|
|
Vizvezdenec: RыbkaКАРП: Спасибо за ответ
Вы сами играете.Можно ли таким образом как то формализовать ,что ли,
алгоритм поиска лучшего хода для человека? |
Нет.
Потому что алгоритмы поиска стокфиша оптимизированы под "хреновая оценка, зато очень быстрая".
|
я имел ввиду не на основе алгоритма поиска стокфиша
а просто алгоритм поиска лучшего хода для человека.
Написать, например,какие то программы для поиска лучшего хода для человека. |
|
|
номер сообщения: 54-31-7371 |
|
|
|
А как их тестировать? Поиск у стока оптимизирован десятилетием+ оттачивания всего этого через статистические тесты, а как это делать для людей?
Я просто скажу, что помимо некоторых эвристик небольших в 2-4 эло, всё, что есть в стоке, на принципиальном уровне было ещё в 2000-х известно. А если и не известно, то в других похожих играх было известно.
Ну, именно в плане поиска, никаких NNUE тогда, конечно, не было.
Дьявол кроется в деталях. Настолько "вылизанных" программ в истории ещё не было, да это и понятно, потому что мало кто мог раньше позволить в тестировании наиграть 5,5 миллиардов партий. |
|
|
номер сообщения: 54-31-7372 |
|
|
|
Human vs AI Elo ratings over time |
|
|
|
номер сообщения: 54-31-7373 |
|
|
|
номер сообщения: 54-31-7374 |
|
|
|
lasker emanuel: Human vs AI Elo ratings over time |
|
Не очень хороший график. Как обычно, автор взял рейтинг микромашин (скорее всего SSDF) и добавил в него Дип Блю. Все остальные большие машины полностью проигнорированы. Кроме того, непонятное плато в районе 2007 - 2011 гг.
Сам как-то делал подобный график, но с обязательной разбивкой для больших и малых машин. Тоже пора бы его подкорректировать - перестал он меня устраивать. Но всяко лучше того, что выше. По состоянию на апрель 2020 года:
пояснительные записки к графику я здесь опускаю. |
|
|
номер сообщения: 54-31-7375 |
|
|
|
|
|
|
|
|
Copyright chesspro.ru 2004-2024 гг. |
|
|
|