Архив рубрики: игры

Мое баловство с Q-learning или ML + Python + Pygame

Q-learning (калькированный термин — Q-обучение) — это один из алгоритмов реализации метода машинного обучения с подкреплением (reinforcement learning, RL).
Рассмотренный далее пример «Q-learning in action» может оказаться полезным для новичков в этой области.
Человечек (агент, agent) агентный подход живет в плоском мире размером 11 на 11 клеток (environment):
q-learning
Агент может пошагово совершать действия, а каждое действие (action) заключается в попытке перемещения на соседнюю клетку по любому из 8 направлений:
машинное обучение
(«попытке», так как выход за границы мира запрещен — можно считать, что граница «выталкивает» агента в прежнюю позицию):
В мире агента имеются стены , которые не пускают агента на занятые ими клетки, и ловушки , «телепортирующие» агента в начальную позицию.
Состояние (state) агента на каждом шаге (step) описывается его позицией — порядковым номером клетки:

Стартовая позиция агента в начале эпизода (episode) — верхний левый угол, цель агента — достичь конечной позиции — правого нижнего угла по кратчайшему пути.
Вся прелесть алгоритма Q-learning в том, что он работает тогда, когда агент даже и не знает КАК добиться желаемого результата («model-free»).

Читать далее

«Охота на лис» — моя первая игра на HTML5/JavaScript

Осваивая создание HTML5-приложений, я решил написать игру, в которую играл еще на советских программируемых калькуляторах МК-61 и МК-52 — «Охота на лис»:
логическая игра на HTML5

«Охота на лис» — это логическая игра, цель которой — найти «лис», спрятавшихся на игровом поле за меньшее число ходов. Игра создана по мотивам спортивной радиопеленгации («охоты на лис» (foxhunting) — ARDF (Amateur Radio Direction Finding). В этом состязании предлагается с помощью радиопеленгатора найти на труднопроходимой пересеченной местности за возможно меньший период времени заданное количество (обычно пять) установленных в произвольных местах радиопередатчиков, которые и называются «лисами».
Читать далее

От винта!!! Мои опыты с авиасимулятором FlightGear

Лет шесть-семь назад я увлекался полетами в популярном в те времена авиасимуляторе «Ил-2 Штурмовик»:
Ил-2 Штурмовик
Прошли годы и я решил опять полетать. Изучив современные авиасимуляторы, я выбрал для себя реалистичный симулятор с открытым (под лицензией GNU GPL) кодом FlightGear (www.flightgear.org), доступный для Windows, Linux, Mac (объем дистрибутива около 1,6 Гбайт).

Я начал обучение на версии FlightGear 2017.2.1 (последняя версия — FlightGear 2020.3.11). Для полноценного ощущения полета я подключил джойстик.
При запуске симулятора нам предлагается по умолчанию полет на самолете Cessna 172P Skyhawk («Небесный ястреб» ):


Cessna 172 — самый массовый (!) самолет в истории авиации.
Особенности этого самолета — шасси не убираются, фиксированный шаг винта.

В полете Cessna управляется элеронами (1), рулем высоты (2) и рулем направления (3):

Итак, мы сидим в кресле левого пилота. Что же дальше?
Читать далее