Что нового

[Автоматизация] Самообучающийся бот

Mzntrp

Новичок
Сообщения
2
Репутация
0
Вообщем появилась такая идея- сделать самообучающегося бота.
Суть идеи проста- берется несколько параметров игры (допустим текущее положение, текущая скорость и т.п) и анализируется как поведет себя игрок в этой ситуации.
И после определенного промежутка обучения программа будет в состоянии действовать в зависимости от значения параметров игры, т.е будет действовать максимально приближенно к человеческим действиям.
вот как то так...
У кого нибудь может есть идеи как это реализовать?
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,602
Репутация
941
Нейронные сети / Генетический алгоритм. Ждем тебя через 5-10 лет с результатом. Причем твоя нейронная сеть должна находиться в облаке, с целью наиболее корректного обучения
 
Автор
M

Mzntrp

Новичок
Сообщения
2
Репутация
0
Было очень понятно, но можно ли как то попроще? ;D
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,602
Репутация
941
Нет, в сложной трехмерной игре самообучение более простым способом ты не реализуешь. Проще сделать по заранее описанным сценариями. "Видишь моба, посмотри чо за моб, посмотри где он находится, посмотри сколько хп, подхилься". Сценарий пишешь ты или за за счет нормально реализации кода, его может написать игрок не имея доступа к коду.

Самообучение же, двумя строками ты не реализуешь. Понятия как такового самообучаемого ИИ еще в принципе не существует. ИИ не умеет мыслить как человек, анализировать самостоятельно свои ошибки и как следствие он не умеет самообучаться. Такое еще просто не реализовано. Все эти ваши "Умные самообучаемые чатботы". Которых одно время описывали на хабре, ни что инное как нейронные сети обучающиеся путем анализа миллиардов сообщений в срачах в таких сетях как например Твиттер. Нету еще ИИ способного логично ответить на вопрос который вместе с ответом не проиндексирован поисковиками и не занесен как следствие в его базу разумных ответов.

Не используя нейронные и генетические алгоритмы возможно построить "самообучение" в режиме "Вопрос ответ", аля бот видит все на экране/в памяти/еще где, спрашивает "Что я вижу и что мне делать с этим?", Юзер говорит что, и выбирает команду что боту делать при такой комбинации ситуаций. Подобный подход описывается в разделе EVE Online, в различных темах "Пишем бота за N минут\часов\дней"
 

Khasuist

Новичок
Сообщения
2
Репутация
0
Самостоятельно набирающий опыт и анализирующий ситуацию на основании этого опыта бот пока что фантастика. А вот бот с функцией запоминания реакций в режиме отслеживания действий игрока реализуем имхо. То есть стартуем бота, ставим его в режим запоминания (отслеживания, самонастройки) реакций игрока и начинаем гамать сами, а бот собирает статистику и вычисляет границы и девиации реакций игрока при конкретных действиях. Мне кажется это реализуемо, только пока мне очень туманно представляется та база данных и набор параметров, которые бот сможет вычленить из потока перемещений курсора, разумеется, он при этом будет "понимать" что именно делается в данный момент. Пример. Бот в доке и игрок андокается, бот сохраниет траекторию и точку клика и траекторию после клика в течении пары секунд ( проследите за собой, когда вы сами играете и кликаете на некоторую кнопку с последующим ожиданием завершения вызванного действия, то есть прогрузка космоса, - что делает ваш курсор сразу после клика? у меня например он возвращается в центральную область клиента - это меня лично отличает от абсолютно всех ботов и части игроков, и это можно вычислить на стороне сервера и записать мой ип\ключ винды\серийники железа в серый список). Сбор сатистики, её преобразование в характеристики границы-девиация и будет обучением бота. И после этой операции бот будет вести себя почти так же как вы сами.
пс: в будущем, появятся загружаемые "образы" игроков для ботов, определяющие их(ботов) поведение.
 

bugaj

Знающий
Сообщения
140
Репутация
11
Не используя нейронные и генетические алгоритмы возможно построить "самообучение" в режиме "Вопрос ответ", аля бот видит все на экране/в памяти/еще где, спрашивает "Что я вижу и что мне делать с этим?", Юзер говорит что, и выбирает команду что боту делать при такой комбинации ситуаций. Подобный подход описывается в разделе EVE Online, в различных темах "Пишем бота за N минут\часов\дней"

И что такое есть в нейронной сети, чего нельзя сделать без нее? Я вот так и не понял на кой черт с ней возиться и что она дает, тоже самое можно и обычными линейными алгоритмами запилить.

http://responza.ru/5996_a-gordon-iskusstvennyj-intellekt/
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,602
Репутация
941
В них есть относительное обучение. Те же OCR движки от Adobe и тд и тп. Посмотри на пример OCR на нейронной сети, на хабре оных навалом. И попробуй реализовать аналог линейными алгоритмами. Десяток-другой строк нейронного или генетического алгоритма против сто тысяче километровой портянки линейного алгоритма.

Ну и в принципе если не понял что такое есть в нейро сетях, хотябы почитай про них чтоли :smile:
 

bugaj

Знающий
Сообщения
140
Репутация
11
В них есть относительное обучение. Те же OCR движки от Adobe и тд и тп. Посмотри на пример OCR на нейронной сети, на хабре оных навалом. И попробуй реализовать аналог линейными алгоритмами. Десяток-другой строк нейронного или генетического алгоритма против сто тысяче километровой портянки линейного алгоритма.

Ну и в принципе если не понял что такое есть в нейро сетях, хотябы почитай про них чтоли :smile:

я с них и начинал свои мучения. Во первых сама сеть уже занимает дофига строк кода. И те OCR которые я видел просто выбирают самый подходящий шаблон, и походу просто по принципу наложения пикселей, так я тоже самое сделал без всяких нейронных сетей, причем основная часть кода это сегментация изображения, а собственно поиск шаблона занимает очень мало строк.

А что касается FineReader а, то там используется для распознавания метод Структурно-пятенный эталон. опять же что то не вижу тут нейросетей. Получается что они даже в коммерческих продуктах не используются, да и я читал, что это не самый надежный метод распознавания из существующих. И что касается обучения, у меня ОЦР тоже все неизвестные кракозябры записывает (и варианты одних и тех же) и можно к каждой указать чему она соответствует. А по-другому и нейросеть не сделает, вот если бы она сама решала что это за объект, а так ) и поиск у меня по нечеткому соответствию также, но все равно есть какой то порог совпадений по которому решается что объект распознан, в нейросети думаю он тоже есть )
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,602
Репутация
941
Я бы поглядел на реализацию алгоритма обучения бота, осознавать окружающую среду, линейными алгоритмами. Давно как-то видел на ютубе ролик, где цель была с помощью генетического алгоритма, без стороннего вмешательства заставить проехать машину по овальной трассе, не касаясь краев трассы. Если касается - значит выбирался другой вариант развития алгоритма, до тех пор пока она не проедет от старта до финиша. Ничего, когда-нибудь у меня доберутся руки серьезно заняться нейросетями и генетическими алгоритмами.
 

Alien

Новичок
Сообщения
1
Репутация
0
Глаз-рука-цель. Первые два оптимизировать по достижении третьей. Работаете по связям глаз-рука, связи меняете по достижимости цели. Это еще у Мартина Гарднера в "Математических мозаиках" описано. Без всяких компов. А нейро и генетические они спокойно реализуются через линейные.
В Autoit очень удачно реализованы и глаз и рука. Боты для всяких флеш-игр пишутся за день и самообучающиеся и просто адаптивные. Так, чисто для развлечения )
 

tref777

Новичок
Сообщения
38
Репутация
2
Теоретически можно заставить программу записывать все возможные параметры игры и с помощью многомерного анализа искать скрытые переменные и корреляцию в них. Через некоторое время бот научится предсказывать кое-какие элементы поведения конкретного игрока. Но это не будет интеллект, а скорее сложная калибровка, описывающая поведение некоего объекта. Это огромная работа с неизвестным результатом, наверно мало кто захочет этим заниматься.
 
Верх