![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
ALexusB |
![]()
Сообщение
#1
|
Разработчик ВМЛ-КВЛ ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 16,554 Регистрация: 2-November 04 Пользователь №: 3 ![]() |
Нужна ваша помошь!
Некоторые знают, а кто-то догадывается, но я не забросил поприще пиратски игр с концами ![]() Дело движется, медлено и как обычно ночами, но идет - кубики уже играбельны. Начитался статей, много думал - понял, что к моменту начала кодинга ИИ кораблей нужно иметь базу знаний. Помогите ее сделать! Знания - это калька поведения нас - игроков в бою. Берем за основу бой в КВЛ-ГПК и текстом записываем свои действия. Начну с себя, как пример, без деталей. В бою у меня сразу идет 1. анализ состояния: * сил противника (примерно равны, больше, меньше, сильно больше, сильно меньше). * направления ветра 2. мои цели * слинять из боя * всех потопить * всех абордировать * часть абордировать и часть потопить * часть абордировать и слинять из боя Подзадачи: * продержаться какое-то время (если это задача такая по квесту) * защитить купца - все это сводится в списку выше 3. Корректировка стратегии со временем, то есть повтор 1. и смена на 2. 4. Шаги для достижения цели 2. * перезарядка * выстрел * маневрирование * поднять-опустить паруса * абордаж * выкинуть товар что еще обычно бывает? И давайте лезть в детали - на что смотрим, когда оцениваем больше-меньше? Паруса, корпус, команда, типы кораблей? Попробуйте на примере конкретного боя описать свои действия - мне нужна статистика, я сам сведу по полочкам. Пойдет рассказ "как я брал золотой флот" и типа того. Но в описании решений и критериев их оценки, а не литературных изысков про "отлетающие доски после бортового залпа". |
![]() ![]() |
ALexusB |
![]()
Сообщение
#2
|
Разработчик ВМЛ-КВЛ ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 16,554 Регистрация: 2-November 04 Пользователь №: 3 ![]() |
Наконец-то подошел к задачам уровня ИИ для их практического решения. Есть полигон для применения - кораблики плывут, палят, тонут.
Есть замысел вообще для режима отладки сделать в коде возможность подключения разных ИИ, что б их можно было натравливать друг на друга. И тем калибровать параметры. Но пока все понятные логики использования стратегий на несколько ходов (что выше описаны по делу) разбиваются о реальность - зрею, с какой стороны это все начать грызть. Кругами хожу и пока не нашел. Начал с метрик описания всего, что есть в бою (дальности, попадание в сектор и тп). Потом это все нужно как-то анализить, чтоб принимать решения по маневру и уже от них сами команды (лево-право). То есть, еще и траектории некие или последовательности движения нужно задавать. Чтоб не забыл ИИ в середине оверштага, зачем он его делал и что он вообще его делает ![]() |
Hovgaard |
![]()
Сообщение
#3
|
матрос ![]() ![]() ![]() Группа: форумчанин Сообщений: 73 Регистрация: 25-January 11 Пользователь №: 24,087 ![]() |
Наконец-то подошел к задачам уровня ИИ для их практического решения. Есть полигон для применения - кораблики плывут, палят, тонут. Есть замысел вообще для режима отладки сделать в коде возможность подключения разных ИИ, что б их можно было натравливать друг на друга. И тем калибровать параметры. Но пока все понятные логики использования стратегий на несколько ходов (что выше описаны по делу) разбиваются о реальность - зрею, с какой стороны это все начать грызть. Кругами хожу и пока не нашел. Начал с метрик описания всего, что есть в бою (дальности, попадание в сектор и тп). Потом это все нужно как-то анализить, чтоб принимать решения по маневру и уже от них сами команды (лево-право). То есть, еще и траектории некие или последовательности движения нужно задавать. Чтоб не забыл ИИ в середине оверштага, зачем он его делал и что он вообще его делает ![]() Я не программист и не математик (базовые/средние познания), но немного читал о применении эвристического подхода в кибернетике, заинтересовало. Популярно и красиво изложен в книге Стаффорда Бира "Мозг фирмы" (рус. пер.), очень рекомендую всем, кому интересна теория управления. Исходя из почерпнутых сведений, осмелюсь предложить где-то такую структуру расчетов ИИ: Глобальная задача , определяется со старта, по входным параметрам. Инициализирует дробный (например, [0 - 1]) управляющий параметр, или "параметр успеха" (ПУ) на пути достижения глобальной задачи. Дальнейшие действия ИИ будут его повышать (в случае успешных тактик) либо понижать (противник успешно огрызается). При выборе одной из возможных тактик (оформленных в в виде дочерних к глобальной задаче процедур) достижения задачи ИИ пытается грубо просчитать, каким будет ПУ через (например) минутные интервалы в результате применения каждой из шаблонных тактик (процедур). Среднесрочная стратегия боя будет избрана та, которая в прогнозе дала наибольший ПУ (или сумму ПУ дискретных чекпоинтов прогноза) в виде запуска действия по программе одной из алгоритмических тактик или их комбинации (ход в лоб 40с, залп ядрами, сближение, на книппеля и т.п.). При этом, сама стратегия НЕ является алгоритмом - через определенный промежуток времени, либо при драматическом изменении ключевых параметров (успешный залп бомбами с тремя критикалами) проводится извлечение текущего значения ПУ и проводится новый среднесрочный расчет (прогноз) его значения как результата применения различных стандартных тактик или их комбинаций. В итоге, предположительно наиболее успешная (с наибольшим ПУ) среднесрочная стратегия заменяет собой текущую. Такой подход устраняет сразу несколько классических недостатков ИИ: 1. Узколобость, ограниченность в инструментарии тактик и стратегии в целом. 2. Стоический консерватизм - удержание давно неактуальной стратегии боя, определенной в начале боя или просто по слишком устаревшим параметрам. 3. Предсказуемость - даже если оставить в стороне постоянное жонглирование алгоритмическими тактиками (хотя бы, "в уме" компа, при прогнозировании на чекпоинтах, пускай он и будет выбирать одну пол-боя), эвристический подход будет иногда вносить "непредсказуемый тупизм" наряду с оригинальными, свежими боевыми комбинациями (вторых будет меньше), неизбежных вследствие проявления главного недостатка эвристического подхода - принципиальной сложности оценки и прогнозирования ПУ в процессе выполнения задачи. Собственно, оценка ПУ и есть самым сложным во всем этом. 4. Ну и резюмируя, он не страдает этим Цитата Слабость ИИ в практически любых компьютерных играх состоит в том, что он не умеет мыслить абстрактно и тем самым он не может мыслить комбинационно. Другими словами ИИ действует только по обстановке, но он не может создать логически направленную цепь определённых действий, имеющую общую конечную цель. , так как именно увеличение ПУ и есть той нитью Ариадны, ведущей ИИ к успеху (выполнению глобальной задачи. |
Serginio |
![]()
Сообщение
#4
|
инопланетянец ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: форумчанин Сообщений: 2,018 Регистрация: 7-August 07 Из: Днепропетровск Пользователь №: 11,632 ![]() |
Глобальная задача , определяется со старта, по входным параметрам... Интересный метод, но его применение чревато ситуацией, которую мы можем наблюдать и сейчас - реагируя на тактическое изменение ситуации, ИИ постоянно перезаряжает орудия на различные боеприпасы (по мере приближения к нему противника), в конечном итоге гибнет, так и не сделав ни единого выстрела.Причина в том, что не идёт просчёт "предполагаемых действий противника" - игрока. Поэтому игроку не составляет труда растянуть караван ИИ так, как ему (игроку) будет удобнее его щипать. ИМХО - обучать ИИ нужно с того, что определить ему чёткие "варианты боевого построения" в зависимости от выбранной тактики. А тактику выбирать исходя из единой стратегической задачи, как то - утопить ГГ; абордировать ГГ; сохранить все свои корабли; сохранить грузовые корабли каравана (один спецкорабль); увести грузовой транспорт в порт; и т.д.... В этом случае действия ИИ будут более адекватны и похожи на морской бой, а не настойчивые попытки суицида. |
![]() ![]() |
Текстовая версия | Сейчас: 30th April 2025 - 05:41 |