[УТИЛИТА] Симулятор Танта - Форум HeroesWorld-а

Вернуться   Форум HeroesWorld-а > Все о Heroes 3 - Герои Меча и Магии 3 - Информация, Обсуждения, Турниры, Скачать|Download > Heroes 3 Tournament - Турниры по 3-им Героям - ONLINE
Имя
Пароль
Карта сайта Регистрация Справка Пользователи Календарь Все разделы прочитаны
Быстрая навигация по основным разделам форума:
Кланы HW Турниры на HW КАРТЫ и Картостроительство Heroes 6 Heroes 5 Heroes 4 Heroes 3 Heroes 2 Heroes 1 Might&Magic

Heroes 3 Tournament - Турниры по 3-им Героям - ONLINE Тут вы можете объявить о своем турнире или принять участие в объявленных турнирах Heroes Of Might And Magic 3. Этот раздел для Online-турниров, чемпионатов, сражений и просто совместных игр - ONLINE.

Ответ
 
Опции темы
Старый 05.08.2019, 21:11   #1
Ihromant
 
Аватар для Ihromant
Регистрация: 14.08.2011
Сообщения: 1250
Ihromant - уровень боевого духа
1780
Отправить сообщение для  Ihromant с помощью ICQ
По умолчанию [УТИЛИТА] Симулятор Танта

SMOrc
SMOrc SMOrc
SMOrc SMOrc SMOrc
SMOrc SMOrc
SMOrc

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

На самом деле в коде АльфаЗеро ничего сложного нету с точки зрения вечности. (например, здесь https://gist.github.com/erenon/cb42f...e6f44a7ac54023 можно посмотреть псевдокод). Вопрос в инфраструктуре (Гугл под ето дело вьіпустил так назьіваемьій TPU-чип) и в количестве компов что ету модель считают. Также с псевдокода вьі можете видеть, что заменив всего несколько частей кода, можно тот же алгоритм для Го или Шоги применить.

К чему я веду? Я веду к тому, что кто понял как работает АльфаЗеро, тот может (захватить вселенную) писать АІ для любой игрьі какую пожелает (как например пишут ботов для Дотьі которьій уже походу рвет чемпионов International https://openai.com/five/ ).

Конечно, Герои имеют общее как с дотой (рандом, неполнота информации), так и с шахматами (полная походовость). Но на самом деле в некоторьіх случаях герои очень простьіе с точки зрения вариантов. Вот один из вариантов я бьі хотел рассмотреть.

Предположим у вас есть Тант. Статьі 1-2-5-8, маньі 120. И 350 скелетов. И утопа 1-2 маячит перед глазами. Вопрос знатокам из чятика: лезть туда или не лезть? Санек например не принимает ход, делает в редакторе карту и гоняет там ету битву 3-4 раза и после етого решает что делать в тот момент когда оппонент матерится "почему он ход не принимает?". Опустив шуточки, в утопе у нас все очень предопределено на самом деле (драконьі врежутся в определенньіе стеки, моралей нет, у нас в качестве ответа очень мало толковьіх вариантов - щит, деф, атака, подождать, анимейт), и так до победьі (или поражения).

В общем, модель очень хорошо ложится на алгоритм машинного обучения что назьівается Reinforced learning. Принцип прост - лезем в утопу, делаем какое-то предположение, получаем (удалено модером), делаем вьіводьі, пробуем новое. Или побились хорошо, думаем как меньше маньі потратить.

Теперь о связи с другой одной игрой. Есть игра "крестики-нолики". Думаю, ее кто-то уже играл на парах или в школе. Игра на самом деле очень похожа на взятие Тантом утопьі. Вариантов примерно такое же число, в конце концов есть результат, можно вариировать количество ответов (например, играть не 3х3 3 в ряд, а 5х5 или 5х6 4 в ряд, или 15х15 5 в ряд). Если научить компа играть ету игру, то путем несложньіх манипуляций можно научить компа брать Тантом утопьі.

Извините за долгое вступление, теперь наконец суть. Я смог научить компа играть в крестики-нолики 3х3 3 в ряд, 5х5 4 в ряд что он не проигрьівает, а если зеваешь - то вьіигрьівает. Сделал ето именно с помощью алгоритма Reinforced learning и машинного обучения на нейронньіх сетях. Код можно посмотреть здесь https://github.com/Ihromant/reinforced-learning .

Я почти уверен, что с его можно адаптировать для случая с Тантом и утопой. Тоесть научить компа брать утопу с минимумом потерь, а если потерь нету - то с минимумом потерь маньі. Если идти дальше - то потом можно идти и к взятию конс (хоть до микрения гарпиями цехов), просто ето сложнее, дольше и его нельзя перепрьігнуть.

Теперь спрашивается почему я ето все создал. Во-первьіх, похвастаться (ну да, ЧСВ). Во-вторьіх, я приблизился к етапу, где кто-то уже может помочь. Вариантов явньіх я вижу пока 2:
1. Мне надо модель взаимодействия драконов со скелетами. Я думаю, что смогу со временем впилить ету модель, но во-первьіх я работаю, во-вторьіх имею другую деятельность. А дело ето требует усидчивости и немного скучное. А тренировать на неправильной модели - будут неправильньіе советьі. Потом модель может вьірасти и до взятия конс и прочего. Но надо знатока поведения компов что сможет перевести свой опьіт войньі с компами в код.
2. Тренировка моделей не делается мгновенно. Дальше надо будет тренировать пошагово. Процесс довольно скучньій на самом деле. Запустил, подождал, сохранил в файлик. Файлик где-то вьіложил, кто-то другой его тоже запустил, потренировал, вьіложил. Надо комп с хорошой видеокартой (у меня ноут, комп в планах, но щас нету). Потому, что чтобьі научить компа играть в 5х5 крестики нолики - то занимает ето 2 часа работьі на моем рабочем мощном компе). Можете представить сколько времени займет тренировка взятия консьі.

В общем, где-то так пока. Обсуждаем.
__________________
Мой любимьій размер - тройка. Будь то конса, утопа или сиськи
ICQ:5676388
Ihromant вне форума   Ответить с цитированием
Старый 06.08.2019, 18:25   #2
leiz
 
Аватар для leiz
Регистрация: 13.10.2012
Сообщения: 13
leiz - уровень боевого духа
По умолчанию Re: [УТИЛИТА] Симулятор Танта

Я скептически настроен по поводу ИИ, но если вдруг "взлетит", то вы не боитесь таким образом случайно "убить" игру онлайн и оффлайн-турниры? А то ведь паранойя по поводу того, что у оппонента нвидиевский ящичек под столом спрятан, будет лечится только прямой видеотрансляцией (и то не факт).
leiz вне форума   Ответить с цитированием
Старый 06.08.2019, 23:29   #3
Meo
 
Аватар для Meo
Регистрация: 23.03.2007
Адрес: Эрефия
Сообщения: 503
Meo - уровень боевого духа
1522
Отправить сообщение для  Meo с помощью ICQ
По умолчанию Re: [УТИЛИТА] Симулятор Танта

Я тоже одно время прикидывал насчет AI в героях, как достойного противника. ИМХО, теоретически реализуемая, но титаническая задача. Даже по глобальному, стратегическому AI. Но человекочасов тут надо немеряно..

А по боевкам в основе должен лежать простой перебор всевозможных вариантов на 2..n ходов вперед, на основе все-таки некоего тактического "скелета", со сравнением по некоей формуле отношения потерь врага к собственным.
Разумеется, перед этим надо аналитически вывести реальный боевой алгоритм AI (драконов) и тогда уже можно будет обучать нейросеть действительно быстро.

Дефолтный AI считает, как нанести наибольшие потери, но только за текущий ход, и что стоит "подарить" ему еще немного процессорного времени? Три хода вперед, на вскидку, это 200х200х200 вариантов - "семечки" для сегодняшнего "железа!"

Цитата:
Сообщение от leiz
вы не боитесь таким образом случайно "убить" игру онлайн
Если реализовать продукт в виде новых костылей-калькуляторов, то да. Но в идеале - создать бота. И заставить сотни клонов таких ботов самообучаться в непрерывных виртуальных боях..
__________________

Безземельный дон с HeroesPortal, инкогнито.
Meo вне форума   Ответить с цитированием
Старый 07.08.2019, 11:07   #4
Ihromant
 
Аватар для Ihromant
Регистрация: 14.08.2011
Сообщения: 1250
Ihromant - уровень боевого духа
1780
Отправить сообщение для  Ihromant с помощью ICQ
По умолчанию Re: [УТИЛИТА] Симулятор Танта

Цитата:
Сообщение от leiz
Я скептически настроен по поводу ИИ, но если вдруг "взлетит", то вы не боитесь таким образом случайно "убить" игру онлайн и оффлайн-турниры? А то ведь паранойя по поводу того, что у оппонента нвидиевский ящичек под столом спрятан, будет лечится только прямой видеотрансляцией (и то не факт).
Нет, не думаю. Во-первьіх я не думаю сделать полного бота. Я уже писал на счет сложности вьічислительной и прочей. В планах есть сделать битву в утопе Тантом, в идеале еще взятие обьектов (потому, что там бьістро битва заканчивается) с учетом статов и магии в книжке героя. На счет микрения нейтралов - уже не знаю хватит ли мощности и моего умения. Потому бонус так себе, на самом деле. Похоже на то, как запускать во время игрьі "Взятие склепов Complete edition" на ютубе. Вроде потери немного меньше (не думаю что он порвет суперопьітного игрока), но таймер залит.
Цитата:
Сообщение от Meo
Я тоже одно время прикидывал насчет AI в героях, как достойного противника. ИМХО, теоретически реализуемая, но титаническая задача. Даже по глобальному, стратегическому AI. Но человекочасов тут надо немеряно..

А по боевкам в основе должен лежать простой перебор всевозможных вариантов на 2..n ходов вперед, на основе все-таки некоего тактического "скелета", со сравнением по некоей формуле отношения потерь врага к собственным.
Разумеется, перед этим надо аналитически вывести реальный боевой алгоритм AI (драконов) и тогда уже можно будет обучать нейросеть действительно быстро.

Дефолтный AI считает, как нанести наибольшие потери, но только за текущий ход, и что стоит "подарить" ему еще немного процессорного времени? Три хода вперед, на вскидку, это 200х200х200 вариантов - "семечки" для сегодняшнего "железа!"


Если реализовать продукт в виде новых костылей-калькуляторов, то да. Но в идеале - создать бота. И заставить сотни клонов таких ботов самообучаться в непрерывных виртуальных боях..
Да, основная сложность - ето вьівести реальньій боевой AI. Потому, что machine learning - он учится на том, на чем тьі его учишь. Научил на кошках - он и умеет на кошках, а при виде человека теряется. Кое-что конечно может переиспользовать, но например если тьі учил его взятию утоп без жаждьі крови, а потом с жаждой - то придется скорее всего переучивать с ноля потому, что он тупо не будет знать что с жаждой делать (модель там ооооооочень важна).
__________________
Мой любимьій размер - тройка. Будь то конса, утопа или сиськи
ICQ:5676388
Ihromant вне форума   Ответить с цитированием
Старый 11.08.2019, 02:48   #5
Ihromant
 
Аватар для Ihromant
Регистрация: 14.08.2011
Сообщения: 1250
Ihromant - уровень боевого духа
1780
Отправить сообщение для  Ihromant с помощью ICQ
По умолчанию Re: [УТИЛИТА] Симулятор Танта

Бьіла оказалось проблема. У меня на 300 000 испьітаниях для крестиков-ноликов 5х5 бот проходил локальньій минимум потом влазя в бесконечное блуждание. Добавил логирование, запустил на миллионе. Оказалось что да, учится, и очень хорошо учится. Веселая медитация на вечер получилась. Можете запускать и медитировать на консоль смотря как машина обучается.
Миниатюры
Нажмите на изображение для увеличения
Название:  Screenshot from 2019-08-11 01-43-00.png
Просмотров: 28
Размер:	47.8 Кбайт
ID:	59922  Нажмите на изображение для увеличения
Название:  Screenshot from 2019-08-11 01-49-10.png
Просмотров: 45
Размер:	75.9 Кбайт
ID:	59923  
__________________
Мой любимьій размер - тройка. Будь то конса, утопа или сиськи
ICQ:5676388
Ihromant вне форума   Ответить с цитированием
Старый 11.08.2019, 13:10   #6
Al Feyn
Регистрация: 23.03.2013
Сообщения: 1708
Al Feyn - уровень боевого духа
1532
Отправить сообщение для  Al Feyn с помощью ICQ
По умолчанию Re: [УТИЛИТА] Симулятор Танта

А чо там, в го боты уже научились играть без ошибок ?
__________________
stream https://www.twitch.tv/alfeyn
discord AlFeyn#0355
Al Feyn вне форума   Ответить с цитированием
Старый 12.08.2019, 00:17   #7
Ihromant
 
Аватар для Ihromant
Регистрация: 14.08.2011
Сообщения: 1250
Ihromant - уровень боевого духа
1780
Отправить сообщение для  Ihromant с помощью ICQ
По умолчанию Re: [УТИЛИТА] Симулятор Танта

Цитата:
Сообщение от Al Feyn
А чо там, в го боты уже научились играть без ошибок ?
5x6 (в теории вьіигрьішное). Вьіглядит норм, но я недоволен. Завтра на работе попробую исправить. Когда получу то, чего хочу (в конце игру без изьянов и хороший перебор вариантов) - то буду делать сохранение версий AI.
Миниатюры
Нажмите на изображение для увеличения
Название:  Screenshot from 2019-08-11 21-49-05.png
Просмотров: 23
Размер:	39.1 Кбайт
ID:	59925  
__________________
Мой любимьій размер - тройка. Будь то конса, утопа или сиськи
ICQ:5676388
Ihromant вне форума   Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Вкл.
Быстрый переход


Часовой пояс GMT +4, время: 09:12.


vBulletin v3.5.0, Copyright ©2000-2019, Jelsoft Enterprises Ltd. (Русский)

Яндекс цитирование  Rambler\'s Top100   Рейтинг@Mail.ru

Авторские права - Copyright © 2002-2018 www.HeroesWorld.ru All rights reserved (new server)


На правах рекламы:123123