← На главную Воспоминания

Понедельник, 30 Октября 2023

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

Способ как решить задачу

  1. Способ 1. Кидать фишку в рандомное место. Метод рандома.
  2. Способ 2. Кидать фишку в одну определенную колонку, например в первую колонку. Будет работать лучше рандомного агента, так как задача сделать 4 в ряд, и раз мы кидаем в ряд, то шанс что рандомный метод не попадет в наш колонку 4 раза довольно велик. Однако там мы можем проигрывать много раз против рандомного, просто из за того что мы все еще кидаем в одну колонку, а в той колонки нет места
  3. Один шаг вперед(Step Lookahead). Способ следующий. Используем евристическую функцию. Эвристическая функция эта такая которая не вполне решает задачу, однако довольно хороша для практического применения. Смысл следующий: смотрим текущее состояние игры, что лежит в каждой колонке. Далее присваиваем каждой колонке цифру: если следующий шаг в этой колонке приведет к 4 в ряд - цира 100000, если будет 3 в ряд - 100, два в ряд - 10, 1 - 0, если сопернику 2 в ряд то -10, если 3 в ряд -100, если 4 в ряд соперник то -1000000. Далее выбираем колонку с наибольшим рейтингом. Если одинаковый рейтинг у нескольких колонок с максимальным рейтингом, выбираем среди них случайную. Таким образом мы выбираем следующий наилучший шаг основываясь на текущем состоянии игры, текущем шаге. Из минусов, мы продумываем только 1 шаг, который не всегда может окозаться лучшим и иногда может весьти к проигрышу. Лучше продумывать несколько шагов вперед

Начал изучать N-Step ahead