[УТИЛИТА] Симулятор Танта - Форум 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
Сообщения: 1284
Ihromant - уровень боевого духа
1769
Отправить сообщение для  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
Адрес: Эрефия
Сообщения: 517
Meo - уровень боевого духа
1544
Отправить сообщение для  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
Сообщения: 1284
Ihromant - уровень боевого духа
1769
Отправить сообщение для  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
Сообщения: 1284
Ihromant - уровень боевого духа
1769
Отправить сообщение для  Ihromant с помощью ICQ
По умолчанию Re: [УТИЛИТА] Симулятор Танта

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

А чо там, в го боты уже научились играть без ошибок ?
Grando сейчас на форуме   Ответить с цитированием
Старый 12.08.2019, 00:17   #7
Ihromant
 
Аватар для Ihromant
Регистрация: 14.08.2011
Сообщения: 1284
Ihromant - уровень боевого духа
1769
Отправить сообщение для  Ihromant с помощью ICQ
По умолчанию Re: [УТИЛИТА] Симулятор Танта

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

Обновление (если кому-то интересно).

1. Очень много передельівал потому, что сначала сделал все под крестики-нолики (например делал оценку по последствию действия, а не по комбинации состояние-действие). Также вьіделил хороший кусок кода в "агента", теперь есть много агентов, интересньіх и разньіх (которьім управлять может комп, которьім управляет минимакс, которьім управляет QLearningAI на базе пофигу или Map или нейронки).
2. Разделил "тренировку" и "игру". Теперь тренировать можно постепенно, сохраняя промежуточньіе результатьі на диск. Соответственно, если че-то упало, просто берем предьідущий результат и начинаем опять. Также можно контролировать сколько тренировать в текущий момент.
3. Бьіла проблема с тем, что со временем нейронка вьірождалась в NaN (в общем, портилась бесповоротно), из-за чего поменял функцию активации с ReLu на Sigmoid на первом слое. Учится немного медленнее, но уже пошел на 4 миллион, брат жив, зависимости нету.
4. Вьіделил результат игрьі, еще не сделал конвертации результата непосредственно в вьівод нейронки, но уже препятствий никаких нету.
5. Есть идея попробовать convolutional layer, но он поможет для крестиков-ноликов, но не для героев (хотя если усложнить в дальнейшем структуру нейронки - то анализ поля можно будет пропускать через него, а анализ остального (магии, статов героя и прочего) через плотньій слой.

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

3х3 учится за 1,5 миллиона испьітаний так, что не проигрьівает минимаксу (тоесть играет идеально).

Внизу картинки для привлечения внимания (как учится 5х5, 4 в ряд).
Миниатюры
Нажмите на изображение для увеличения
Название:  5x5_1000k_sigmoSoft.png
Просмотров: 40
Размер:	32.1 Кбайт
ID:	60238  Нажмите на изображение для увеличения
Название:  5x5_1500k_sigmoSoft.png
Просмотров: 15
Размер:	28.2 Кбайт
ID:	60239  Нажмите на изображение для увеличения
Название:  5x5_2000k_sigmoSoft.png
Просмотров: 14
Размер:	28.9 Кбайт
ID:	60240  Нажмите на изображение для увеличения
Название:  5x5_3000k_sigmoSoft.png
Просмотров: 27
Размер:	42.3 Кбайт
ID:	60241  
__________________
Мой любимьій размер - тройка. Будь то конса, утопа или сиськи
ICQ:5676388
Ihromant вне форума   Ответить с цитированием
Старый 29.09.2019, 14:01   #9
ДаУ
 
Аватар для ДаУ
Регистрация: 17.09.2013
Адрес: Украина
Сообщения: 812
ДаУ is off the scale
1239
Отправить сообщение для  ДаУ с помощью ICQ
По умолчанию Re: [УТИЛИТА] Симулятор Танта

Цитата:
Сообщение от Ihromant
Можете представить сколько времени займет тренировка взятия консьі.

В общем, где-то так пока. Обсуждаем.

Может лучше сделаем герои более линейными, как шахматы; отстроил гильду получил именно то заклинание, 3 разных строения для заклов контроля; с карты убираем все свитки святыни заклинаний; взамен добавляем чтото другое; насчет ИИ есть же опция пвп, нужно лишь ее доработать; а также можно сделать для новичкев ОХ для 5 и больше игроков; чтобы больше игроков приходило.

Нужно переделать опцию пвп битвы с возможностью отказатся от боя тому кто играет за ИИ, если бой 100% проиграшный; чтобы лишнее не кликать.
__________________
672466033
Миха#7845
Ландау лев https://www.youtube.com/watch?v=PNj_9EQxDoI&t=1174s

Тут делимся книгами http://forum.heroesworld.ru/showthre...27#post1139927
ДаУ вне форума   Ответить с цитированием
Старый 29.09.2019, 15:09   #10
ffoolabezlp
Регистрация: 03.10.2018
Сообщения: 142
ffoolabezlp - уровень боевого духа
1513
Отправить сообщение для  ffoolabezlp с помощью ICQ
По умолчанию Re: [УТИЛИТА] Симулятор Танта

Цитата:
Сообщение от ДаУ
Может лучше сделаем герои более линейными, как шахматы; отстроил гильду получил именно то заклинание, 3 разных строения для заклов контроля; с карты убираем все свитки святыни заклинаний; взамен добавляем чтото другое; насчет ИИ есть же опция пвп, нужно лишь ее доработать; а также можно сделать для новичкев ОХ для 5 и больше игроков; чтобы больше игроков приходило.

Нужно переделать опцию пвп битвы с возможностью отказатся от боя тому кто играет за ИИ, если бой 100% проиграшный; чтобы лишнее не кликать.

О, я наконец-то узнал, кто такой легендарный ДаУ, о котором все говорят.

Сделать герои еще более линейными чем в хоте, или на джебе?
Интересно.

Новички не будут приходить в герои, как минимум сверхмотивированые, по причине отсутствия конкурентноспособных организаций и высоких призовых.

Есть типичный пример из недавних игр:
В начале 2019го вышла кастомка в доте, Dota Auto Chess, которая в своё время собрала нереальный хайп, и смотрело DAC больше чем собственно доту.
Габен, понял что тут пахнет бабками и хайпом, Риоты поняли, что тут пахнет бабками и хайпом, EpicGames поняли что тут пахнет бабками и хайпом.
В это же время, Drodo - авторы сей кастомки, пилили мобильную игру и саму кастомку.
Как итог, Drodo заключают контракт с EpicGames, а Riot и Valve решают создать свои клоны.
Так как мобилку без особых проблем можно создать на Unity, c уже имеющимися модельками, а y Riot есть своя платформа в виде LoL, эти игры выходят в один день, опережая EpicStore на несколько месяцев.
Габен с Riot говорят, вот у нас бета версии игр, идите к нам, мы будем их апдейтить и проводить турики с призовыми. И игроки, как бараны идут в недопиленую хрень, потому что бабки, бабки, бабки.
EpicGames понимают что запахло жареным, и обьявляют турнир на 1кк баксов.
Потом выпускают свою игру, а она сырее досок пролежавших 7 суток под дождем, половина функционала не работает и попахивает провалом.
А турик мы анонсировали, а все даты уже есть.
Как итог отборочные турика переносятся на мобильную версию Дродо авто чесс.
И игроки как зомби идут играть в неё, трениться, ибо миллллллллиоооооооооооооон.
А слотов 2, а игроков дохера, а игра рандомная.
Как итог отыграв отборочные к турниру, все забивают на игру.
Итого, что мы имеем:
Высер Габена (андерлордс не могу иначе назвать)
Немного иная казуальщина от Riot, с стыренной идеей и так себе реализацией
Мобилка от дродо отстающая на 2 месяца в развитии.
Неготовая игра от Эпикгеймс.
И прекраснейшая кастомка, в которой куча нововведений и интересных страт.
И все уже просрали свой онлайн...
__________________
ffoolabezlp вне форума   Ответить с цитированием
Старый 30.09.2019, 02:13   #11
Aiwe
 
Аватар для Aiwe
Регистрация: 09.01.2013
Адрес: Питер
Сообщения: 1306
Aiwe - уровень боевого духа Aiwe - уровень боевого духа
1677
Отправить сообщение для  Aiwe с помощью ICQ
Выставка наград
По умолчанию Re: [УТИЛИТА] Симулятор Танта

__________________
http://heroes3.tv/aiwe
Aiwe вне форума   Ответить с цитированием
Ответ


Опции темы

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

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


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


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