Чтение онлайн

на главную - закладки

Жанры

Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:

В случае эвристической оценки мы в подавляющем большинстве случаев не уверены в её точности. Из-за этой неуверенности оценка приобретает вероятностный характер. Казалось бы, разумно использовать в качестве оценки математическое ожидание количества очков: s ? [0; 1], s = 1 x p(W) + 0,5 x p(D), где p(W) — вероятность победы, p(D) — вероятность ничьей, а для удобства можно было бы преобразовать оценку к виду v ? [–1; 1], чтобы работал трюк с переменой знака. Однако вместо этого создатели первых шашечных и шахматных программ выбрали на первый взгляд весьма неудобную полиномиальную форму оценки f, где она может принимать большие по модулю положительные и отрицательные значения. Получается, что позиция, в которой у машины все 12 шашек стали дамками, а у противника не осталось ни одной

шашки, будет иметь оценку, равную, например, 48, а если бы дамки оценивались не в 4 единицы, а в 40, то мы получили бы число 480. Но каков смысл этого числа? Каким образом оно связано с ожидаемым результатом партии?

На самом деле такая аддитивная оценка, безусловно, связана с вероятностью победы каждой из сторон. Если бы мы взяли программу Стрейчи и заставили её разыграть астрономическое количество случайных позиций, а затем построили график, в котором по оси x отложили оценку позиции f, а по оси y — среднее количество очков, набранных в играх, начатых с позиции с оценкой x, то получили бы график, напоминающий график логистической функции: s(x) = 1 / (1 + ekx), где k — некоторый масштабный коэффициент, e — основание натурального логарифма.

Рис. 60. График зависимости вероятности выигрыша от оценки позиции

То есть выбранный Стрейчи способ оценки всё-таки был связан с вероятностью победы, хотя и неочевидным образом. Но к чему такие сложности, почему бы не использовать в качестве оценки собственно вероятность?

Всё дело в том, что именно такой способ оценки позиции, при котором мы просто представляем её в виде суммы оценок каждого взятого по отдельности признака, является более привычным для людей. В любом шашечном или шахматном учебнике вы найдёте способы оценки, сформулированные именно в таком виде. Например, шахматный учебник скажет, что слон и конь стоят примерно по три пешки, ладья — пять, а ферзь — девять. Такой способ оценки позиции является частью старинной традиции. Ещё итальянские шахматные мастера XVII–XVIII вв. пытались оценить «стоимость» фигур в пешках, а их последователи стали аналогичным образом оценивать и различные позиционные факторы. В шашках тоже удобно принять за эталон «стоимость» одной шашки и исчислять «стоимость» дамки, а также различных позиционных элементов оценки, сравнивая их с принятым эталоном. В XX в. машины учились играть в игры у людей и не слишком часто преподавали уроки людям, поэтому и развитие ИИ было в очень большой степени основано на человеческих экспертных знаниях. В 1967 г. Сэмюэл так охарактеризовал современное ему положение вещей: «…при нынешнем уровне развития знаний единственным практическим подходом будет, даже при наличии помощи со стороны цифрового компьютера, разработка эвристик, основанных на копировании (тут автор применяет глагол to ape, т. е. дословно «собезьянивании». — С. М.) поведения человека» [556] .

556

Samuel A.L. (1967). Some Studies in Machine Learning Using the Game of Checkers. II-Recent Progress / IBM Journal, November 1967 // https://researcher.watson.ibm.com/researcher/files/us-beygel/samuel-checkers.pdf

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

Рис. 61. Упрощённая диаграмма, показывающая, как оценки поднимаются по дереву возможных ходов, чтобы получить наилучший следующий ход. Процесс оценки начинается на уровне (3), где машина выбирает ветку с наиболее положительной оценкой. Далее на уровне (2) от противника ожидается выбор ветки с наименьшей оценкой, и на уровне (1) машина выбирает ветку с наибольшей оценкой

Изобретение минимакса часто приписывают фон Нейману, ведь он рассматривается в одной из его ранних работ — «К теории стратегических игр» (Zur Theorie der Gesellschaftsspiele), написанной в 1928 г. [557] В действительности приоритет в данном случае, по всей видимости, принадлежит

Сирио Форелю
Эмилю Борелю, который сформулировал отдельные положения теории игр раньше фон Неймана и независимо от него [558] . При некоторой фантазии можно говорить и о приоритете Бэббиджа [559] , который предложил похожий алгоритм для выбора хода в крестиках-ноликах. Как бы то ни было, и Борель, и фон Нейман, и Бэббидж отталкивались от окончательных оценок
в терминальных узлах дерева перебора, использовать же усечённое дерево и приближённые оценки первым предложил Норберт Винер [560] .

557

von Neumann J. (1928). Zur Theorie der Gesellschaftsspiele / Mathematische Annalen, Vol. 100, Iss. 1, pp. 295–320 // https://doi.org/10.1007/BF01448847

558

van den Herik H. J. (1983). Computerschaak, schaakwereld en kunstmatige intelligentie. Herik // https://books.google.ru/books?id=5HcWAAAACAAJ

559

Beal D. (1999). The Nature of MINIMAX Search. Ph. D. thesis // https://project.dke.maastrichtuniversity.nl/games/files/phd/Beal_thesis.pdf

560

Wiener N. (1948). Cybernetics or Control and Communication in the Animal and the Machine – MIT Press, Cambridge, MA // https://books.google.ru/books?id=NnM-uISyywAC

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

561

Epstein R., Roberts G., Beber G. (2007). Parsing the Turing Test: Philosophical and Methodological Issues in the Quest for the Thinking Computer. Springer Netherlands // https://books.google.ru/books?id=aggUJL_5_oQC

3.4.2 Продолжение. Шашечная программа Артура Сэмюэла

Программа, описанная Сэмюэлом в статье 1967 г., отличается от программы Стрейчи примерно так же, как ВАЗ-2101 («копейка», которую, к слову, начали производить тремя годами позже) от крестьянской телеги. В программе Сэмюэла уже можно разглядеть многие черты современных шашечных и шахматных программ.

Для начала Сэмюэл выбрал для оценки обычных шашек и дамок величины, относящиеся друг к другу как 3 : 4, что более точно соответствовало человеческим экспертным знаниям. Помимо подсчёта шашек и дамок на доске, Сэмюэл добавил в оценочную функцию множество позиционных факторов. Например, учитывались мобильность (количество потенциальных ходов у каждого из игроков без учёта взятий) и контроль каждой из сторон над различными участками поля. Сама игра была разделена на шесть стадий, в каждой из которых значения оценок каждого из факторов могли быть разными. Кроме того, оценочная функция Сэмюэла учитывала сочетания некоторых факторов, а также тот факт, что в зависимости от очерёдности хода эти сочетания могут иметь различную оценку. В результате итоговая оценочная функция имела более 10 000 параметров. Хотя Сэмюэл и использовал фиксированный набор факторов, он замахнулся ещё и на автоматический подбор их значений. Действительно, установить значения для такого внушительного набора параметров экспертным путём представлялось малореальным.

Однако для автоматической подстройки нужна была обучающая выборка. Для того чтобы её создать, примерно 250 000 позиций из игр шашечных мастеров было выбито на перфокартах, а затем перенесено на магнитную ленту. Для каждой позиции был отмечен ход, сделанный игроком (использовались только позиции с ходами не проигравших партию игроков). Затем Сэмюэл использовал весьма нетривиальную процедуру, включающую специальные способы сглаживания значений параметров, для подбора таких их значений, чтобы при переборе на один полуход в глубину его программа как можно чаще «угадывала» ходы, сделанные мастерами (в случае взятий глубина перебора могла увеличиваться). Сеанс обучения длился около десяти часов.

Для оценки качества предсказания Сэмюэл использовал простую метрику, напоминающую коэффициент корреляции: C = (LH) / (L + H), где L — суммарное количество всех возможных ходов, которые программа оценила ниже, чем «правильный» ход, сделанный мастером, H — суммарное количество всех возможных ходов, которые программа оценила выше, чем ход, сделанный мастером. Таким образом, при полном угадывании программой ходов мастера метрика C будет равна «1», при полном неугадывании — «–1», а при случайной оценке ходов — «0».

Хотя отдельные ходы мастеров могли быть ошибочными либо имели равные им по силе альтернативы, Сэмюэл считал, что при достаточно большом объёме выборки это не будет являться серьёзной проблемой. В результате экспериментов по подстройке параметров автору удалось получить значение C = 0,26 при использовании оценочной функции, учитывающей значение каждого из факторов по отдельности, и C = 0,48 для функции, использовавшей сочетания факторов. По оценке Сэмюэла, подобранные параметры позволяли программе при переборе в глубину на один полуход в 64% случаев ставить ход мастера по оценке на первое или второе место [562] .

562

Sampson J. R. (2012). Adaptive Information Processing: An Introductory Survey. Springer Science & Business Media // https://books.google.ru/books?id=OsaqCAAAQBAJ

Поделиться:
Популярные книги

Возрождение Феникса. Том 2

Володин Григорий Григорьевич
2. Возрождение Феникса
Фантастика:
фэнтези
попаданцы
альтернативная история
6.92
рейтинг книги
Возрождение Феникса. Том 2

Работа для героев

Калинин Михаил Алексеевич
567. Магия фэнтези
Фантастика:
фэнтези
героическая фантастика
6.90
рейтинг книги
Работа для героев

Школа. Первый пояс

Игнатов Михаил Павлович
2. Путь
Фантастика:
фэнтези
7.67
рейтинг книги
Школа. Первый пояс

На границе империй. Том 9. Часть 4

INDIGO
17. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 4

Дочь моего друга

Тоцка Тала
2. Айдаровы
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Дочь моего друга

Корпулентные достоинства, или Знатный переполох. Дилогия

Цвик Катерина Александровна
Фантастика:
юмористическая фантастика
7.53
рейтинг книги
Корпулентные достоинства, или Знатный переполох. Дилогия

На Ларэде

Кронос Александр
3. Лэрн
Фантастика:
фэнтези
героическая фантастика
стимпанк
5.00
рейтинг книги
На Ларэде

Пустоцвет

Зика Натаэль
Любовные романы:
современные любовные романы
7.73
рейтинг книги
Пустоцвет

Моя (не) на одну ночь. Бесконтрактная любовь

Тоцка Тала
4. Шикарные Аверины
Любовные романы:
современные любовные романы
7.70
рейтинг книги
Моя (не) на одну ночь. Бесконтрактная любовь

Сердце Дракона. Том 11

Клеванский Кирилл Сергеевич
11. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
6.50
рейтинг книги
Сердце Дракона. Том 11

Темный Лекарь 4

Токсик Саша
4. Темный Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Темный Лекарь 4

О, мой бомж

Джема
1. Несвятая троица
Любовные романы:
современные любовные романы
5.00
рейтинг книги
О, мой бомж

Новый Рал 5

Северный Лис
5. Рал!
Фантастика:
попаданцы
5.00
рейтинг книги
Новый Рал 5

Безумный Макс. Ротмистр Империи

Ланцов Михаил Алексеевич
2. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
4.67
рейтинг книги
Безумный Макс. Ротмистр Империи