Jump to content

Функция оценки

Функция оценки , также известная как эвристическая функция оценки или функция статической оценки , представляет собой функцию, используемая компьютерными программами, играющими в игровой игре для оценки стоимости или достоинства позиции (обычно в листовом или терминальном узле) в дереве игры. [ 1 ] Большую часть времени это значение является либо реальным числом , либо квантованным целым числом , часто в рамках стоимости игрового произведения, такого как камень в ходу или пешка в шахматах, где n могут быть десятыми, сотни или другими удобными Фракция, но иногда значение представляет собой массив из трех значений в интервале единицы , представляя победу, рисунок и процент потерь позиции.

Не существует аналитических или теоретических моделей для функций оценки для нерешенных игр, а также такие функции полностью специально. Состав функций оценки эмпирически определяется путем вставки функции кандидата в автомат и оценки ее последующей производительности. В настоящее время существует значительный объем доказательств для нескольких игр, таких как шахматы, Shogi, и касается общего состава функций оценки для них.

Игры, в которых играет в игре компьютерные программы, используют функции оценки, включают шахматы , [ 2 ] идти , [ 2 ] Shogi (японские шахматы), [ 2 ] Отелло , Хекс , Бакга , [ 3 ] и шашки . [ 4 ] [ 5 ] Кроме того, с появлением таких программ, как Muzero , компьютерные программы также используют функции оценки для воспроизведения видеоигр , например, из Atari 2600 . [ 6 ] Некоторые игры, такие как Tic-Tac-Toe и , решительно решены не требуют поиска или оценки, поскольку доступно дискретное дерево решений.

[ редактировать ]

Дерево таких оценок, как правило, является частью алгоритма поиска, такого как поиск дерева Монте -Карло или алгоритм минимакса , такой как поиск Альфа -Бета . Предполагается, что значение будет представлять относительную вероятность победы, если дерево игры было расширено от этого узла до конца игры. Функция смотрит только на текущую позицию (то есть в каких пространствах находятся части, а их связь друг с другом) и не учитывает историю позиции или исследуйте возможные движения вперед узела (следовательно, статический). Это подразумевает, что для динамических позиций, где существуют тактические угрозы, функция оценки не будет точной оценкой позиции. Эти позиции называются не в состоянии покоя ; Они требуют, по крайней мере, ограниченного вида расширения поиска, называемого поиском покоя, чтобы разрешить угрозы перед оценкой. Некоторые значения, возвращаемые функциями оценки, являются абсолютными, а не эвристическими, если в узле происходит победа, потеря или рисование.

Существует сложная связь между поиском и знаниями в функции оценки. Более глубокий поиск благоприятствует менее краткосрочным тактическим факторам и более тонкими позиционными мотивами длинноходов в оценке. Существует также компромисс между эффективностью кодируемых знаний и вычислительной сложностью: вычисление подробных знаний может занять столько времени, что производительность снижается, поэтому приближения к точным знаниям часто лучше. Поскольку функция оценки зависит от номинальной глубины поиска, а также от расширений и сокращений, используемых в поиске, для функции оценки не существует общей или отдельной формулировки. Функция оценки, которая хорошо работает в одном приложении, обычно должна быть в значительной степени повторно настраивать или повторно обучать для эффективной работы в другом приложении.

В шахматах

[ редактировать ]

В компьютерных шахматах вывод функции оценки обычно является целым числом , а единицы функции оценки обычно называют пешками . Термин «пешка» относится к значению, когда у игрока есть одна пешка, чем противник в положении, как объяснено в относительной цене шахмат . Целое число 1 обычно представляет некоторую долю пешки, а обычно в компьютерных шахматах являются заносители , которые представляют собой сотую пешки. Большие оценки указывают на материальный дисбаланс или позиционное преимущество или что победа материала обычно неизбежна. Очень большие оценки могут указывать на то, что Checkmate неизбежно. Функция оценки также косвенно кодирует значение права на движение, которое может варьироваться от небольшой доли пешки, чтобы выиграть или потерю.

Функции оценки ручной работы

[ редактировать ]

Исторически в компьютерных шахматах термины функции оценки строится ( т.е. Общий подход к построению функций оценки ручной работы является как линейная комбинация различных взвешенных терминов, определяемых для влияния значения позиции. Однако не все термины в функции оценки ручной работы являются линейными, некоторые, такие как безопасность короля и структура пешки, нелинейные. Каждый термин может считаться состоит из факторов первого порядка (тех, которые зависят только от пространства и любой части на нем), факторов второго порядка (пространство по отношению к другим пространствам) и факторов NTH ORDER (зависимости от истории от истории позиция).

Функция оценки ручной работы, как правило, имеет термин материального баланса, который обычно доминирует в оценке. Обычные значения, используемые для материала, являются Queen = 9, Rook = 5; Рыцарь или епископ = 3; Пешка = 1; Королю присваивается произвольно большое значение, обычно больше, чем общее значение всех других частей. [ 1 ] Кроме того, он, как правило, имеет набор позиционных терминов, обычно составляет не более того, чем значение пешки, хотя в некоторых положениях позиционные термины могут стать намного больше, например, когда Checkmate неизбежно. Функции оценки ручной работы обычно содержат десятки до сотен отдельных терминов.

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

Пример функции оценки ручной работы для шахмат может выглядеть следующим образом:

  • C 1 * Материал + C 2 * Мобильность + C 3 * Королевская безопасность + C 4 * Center Control + C 5 * Структура пешки + C 6 * Король Тропизм + ...

Каждый из терминов - это вес, умноженный на разностно -коэффициент: значение материала белого или позиционных терминов за вычетом черных.

  • Термин материала получается путем присвоения значения в подразделениях пешки каждому из частей.
  • Мобильность - это количество юридических шагов, доступных для игрока, или попеременно, сумма количества пространств, атакованных или защищенных каждым произведением, в том числе пространства, занятые дружественными или противоположными предметами. Эффективная подвижность, или количество «безопасных» пространств, к которым может перемещаться часть, также может быть принята во внимание.
  • Безопасность короля - это набор бонусов и штрафов, оцениваемых для расположения короля, и конфигурации пешек и кусочков, прилегающих к или перед королем, и противоположные предметы, несущие на пространствах вокруг короля.
  • Центральное управление получено из того, сколько пешек и кусочков занимают или несут на четырех центральных пространствах, а иногда и 12 мест расширенного центра.
  • Структура пешки - это набор штрафов и бонусов за различные силы и слабые стороны в структуре пешки, такие как штрафы за удвоенные и изолированные пешки.
  • Королевский тропизм - это бонус за близость (или штраф за расстояние) определенных произведений, особенно королев и рыцарей, к противоположному королю.

Нейронные сети

[ редактировать ]

В то время как нейронные сети использовались в функциях оценки шахматных двигателей с конца 1980 -х годов, [ 7 ] [ 8 ] Они не стали популярными в компьютерных шахматах до конца 2010 -х годов, поскольку оборудование, необходимое для обучения нейронных сетей, в то время было недостаточно сильным, а алгоритмы быстрого обучения и топология сети и архитектуры еще не были разработаны. Первоначально функции оценки на основе нейронной сети, как правило, состояли из одной нейронной сети для всей функции оценки, причем входные функции, выбранные из платы, и чьи выводы являются целым числом , нормализованным по шкале Sentipawn, так что значение 100 примерно эквивалентно материалу Преимущество пешки. Параметры в нейронных сетях, как правило, обучаются с использованием обучения подкрепления или контролируемого обучения . Совсем недавно функции оценки в компьютерных шахматах начали использовать несколько нейронных сетей, причем каждая нейронная сеть обучена для определенной части оценки, таких как структура пешки или конечные игры. Это допускает гибридные подходы, когда функция оценки состоит из нейронных сетей и терминов ручной работы.

Глубокие нейронные сети использовались, хотя и редко, в компьютерных шахматах после жирафа Мэтью Лай [ 9 ] 2015 году и DeepMind Alphazero В в 2017 году продемонстрировали возможность глубоких нейронных сетей в функциях оценки. Распределенный вычислительный проект Leela Chess Zero был запущен вскоре после попытки повторить результаты бумаги DeepMind Alphazero. Помимо размера сети, нейронные сети, используемые в Alphazero и Leela Chess Zero, также отличаются от тех, которые используются в традиционных шахматных двигателях, поскольку у них есть два выхода, один для оценки ( головка стоимости ) и один для упорядочения движения ( голова политики ), а не только один вывод для оценки. [ 10 ] Кроме того, хотя можно установить выходной сигнал головы значения нейронной сети Лилы на реальное число , чтобы приблизительно для сонвонной шкалы, используемой в традиционных шахматных двигателях, по умолчанию выходы-это процент потери победы, вектор три значения из интервала единиц . [ 10 ] Поскольку глубокие нейронные сети очень большие, двигатели, использующие глубокие нейронные сети в их функции оценки, обычно требуют единицы графической обработки для эффективного расчета функции оценки.

Кусочки таблицы

[ редактировать ]

Важным методом оценки, по крайней мере, в начале 1990-х годов является использование таблиц кусочков (также называемые таблицами частями) для оценки. [ 11 ] [ 12 ] Каждая таблица представляет собой набор из 64 значений, соответствующих квадратам шахматной доски. Самая основная реализация таблицы кусочков состоит из отдельных таблиц для каждого типа пьесы на игрока, что в шахматах приводит к общей сумме 12 таблиц квадратной квадратной квадрат. Более сложные варианты таблиц-квадратных таблиц используются в компьютерных шахматах, один из наиболее заметных из которых из-это таблица квадратной площадки, используемая в Stockfish , Komodo Dragon , Ethereal и многих других двигателях, где каждый стол рассматривает положение каждого Тип произведения по отношению к королю игрока, а не в позиции любого типа кусочков. Значения в таблицах представляют собой бонусы/штрафы за местоположение каждого изделия в каждом пространстве и кодируют состав из многих тонких факторов, трудных для аналитической оценки аналитической оценки. В функциях оценки ручной работы иногда бывает два набора таблиц: один для открытия/среднего игры и один для конечного года; Позиции средней игры интерполируются между ними. [ 13 ]

Первоначально разработан в компьютерном Shogi в 2018 году Yu Nasu, [ 14 ] [ 15 ] Наиболее распространенная функция оценки, используемая в компьютерных шахматах сегодня [ Цитация необходима ] Является ли эффективно обновляемой нейронной сетью , или NNUE для краткости, редкой и мелкой нейронной сети , которая имеет только таблицы квадратной квадрат в качестве входов в нейронную сеть. [ 16 ] Фактически, самая основная архитектура NNUE-это просто 12 таблиц, описанных выше, нейронная сеть с одним слоем и без функций активации . Эффективно обновляемая архитектура нейронной сети, с использованием таблиц King-Peece-Peece-Square в качестве своих входов, была впервые перенесена в шахматы в производном Stockfish под названием Stockfish nnue, публично выпущенной 30 мая 2020 года, [ 17 ] и был принят многими другими двигателями, прежде чем в конечном итоге был включен в официальный двигатель Stockfish 6 августа 2020 года. [ 18 ] [ 19 ]

Конечные базы таблиц

[ редактировать ]

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

Исторически, функции оценки в компьютере GO приняли во внимание как контролируемое территорией, влияние камней, количество заключенных и жизнь и смерть групп на совете директоров. Тем не менее, Modern Go Играя в компьютерные программы в основном используют глубокие нейронные сети в своих функциях оценки, такие как Alphago , Leela Zero , Fine Art и Katago , и выводят процент выигрыша/рисования/потери, а не значение количества камней.

  1. ^ Подпрыгнуть до: а беременный Шеннон, Клод (1950), Программирование компьютера для игры в шахматы (PDF) , Ser. 7, том. 41, философский журнал , извлеченный 12 декабря 2021 года
  2. ^ Подпрыгнуть до: а беременный в Серебро, Дэвид ; Хьюберт, Томас; Шритвизер, Джулиан; Antonoglou, ioannis; Лай, Мэтью; Гуэз, Артур; Ланктот, Марк; Сифре, Лоран; Кумаран, Дхаршан; Грэпель, Тор; Lillicrap, Timothy; Симоньян, Карен; Хасабис, Демис (7 декабря 2018 г.). «Общий алгоритм обучения общего подкрепления, который магистр шахмат, Shogi и проходит через самостоятельную работу» . Наука . 362 (6419): 1140–1144. Bibcode : 2018sci ... 362.1140s . doi : 10.1126/science.aar6404 . PMID   30523106 .
  3. ^ Тесоро, Джеральд (март 1995 г.). «Временная разница в обучении и TD-Gammon» . Коммуникации ACM . 38 (3): 58–68. doi : 10.1145/203330.203343 . S2CID   8763243 . Получено 1 ноября 2013 года .
  4. ^ Schaeffer, J.; Burch, N.; Y. Björnsson; Кишимото, а.; Müller, M.; Озеро, Р.; Лу, П.; Сатфен С. (2007). «Шеферы решаются» (PDF) . Наука . 317 (5844): 1518–22. doi : 10.1126/science.1144079 . PMID   17641166 . S2CID   10274228 .
  5. ^ Schaeffer, J.; Björnsson, Y.; Burch, N.; Кишимото, а.; Müller, M.; Озеро, Р.; Лу, П.; Sutphen, S. "Решение шашек" (PDF) . Материалы Международных совместных конференций 2005 года по организации искусственного интеллекта .
  6. ^ Шритвизер, Джулиан; Antonoglou, ioannis; Хьюберт, Томас; Симоньян, Карен; Сифре, Лоран; Шмитт, Саймон; Гуэз, Артур; Локхарт, Эдвард; Хассабис, Демис; Грэпель, Тор; Lillicrap, Timothy (2020). «Освоение Атари, Го, шахматы и сёги, планируя с учетной моделью». Природа . 588 (7839): 604–609. Arxiv : 1911.08265 . Bibcode : 2020nater.588..604S . doi : 10.1038/s41586-020-03051-4 . PMID   33361790 . S2CID   208158225 .
  7. ^ Thurn, Sebastian (1995), научиться играть в игру в шахматы (PDF) , MIT Press , извлеченные 12 декабря 2021 года.
  8. ^ Левинсон, Роберт (1989), самоуправляемая, ориентированная на узоры программа шахмат , вып. 12, ICCA Journal
  9. ^ Лай, Мэтью (4 сентября 2015 г.), Giraffe: использование глубокого подкрепления обучения для игры в шахматы , Arxiv : 1509.01549v1
  10. ^ Подпрыгнуть до: а беременный «Топология нейронной сети» . lczero.org . Получено 2021-12-12 .
  11. ^ Бил, Дон; Смит, Мартин С., учебные ценности с использованием временных различий , вып. 22, ICCA Journal
  12. ^ Nagashima ; Jun
  13. ^ Руководство по оценке рыб , полученное 12 декабря 2021 г.
  14. ^ Ю Насу (28 апреля 2018 г.). «Эффективно обновляемая функция оценки на основе нейронной сети для компьютерного сёги» (PDF) (на японском языке).
  15. ^ Ю Насу (28 апреля 2018 г.). «Эффективно обновляемая функция оценки на основе нейронной сети для компьютерного сёги (неофициальный английский перевод)» (PDF) . GitHub .
  16. ^ Гари Линскотт (30 апреля 2021 года). "Nue " GitHub 12 2020,
  17. ^ Noda, раннего (30 мая 2020 года). "Relesese Stockfish-2020-05-30 " Останавливаться . 12 2021декабря
  18. ^ «Представление оценки NNUE» . 6 августа 2020 года.
  19. ^ JOOST VANDEVONDELE (25 июля 2020 г.). «Официальные шоковые рыбы / stockfish, nnue слияние» . GitHub .
  • Slate, D и Atkin, L., 1983, «Шахматы 4.5, Шахматная программа Северо -Западного университета» в «Шахматной мастерстве в человеке и машине» 2 -е изд., С. 93–100. Springer-Verlag, Нью-Йорк, Нью-Йорк.
  • Ebeling, Carl, 1987, Все правильные движения: архитектура VLSI для шахмат (ACM отличительная диссертация), стр. 56–86. MIT Press, Кембридж, Массачусетс
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 951123e6fce10cbfe6109304a0e41bb2__1721727060
URL1:https://arc.ask3.ru/arc/aa/95/b2/951123e6fce10cbfe6109304a0e41bb2.html
Заголовок, (Title) документа по адресу, URL1:
Evaluation function - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)