Добавлен , опубликован

Начало

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

Что надо делать?

— Минимальный набор действий это: скачать карту, запустить на ~30+ минут. Ввести слово "save". Дождаться появления файла по пути ./save/GA_test_01/Cod.txt. Скинуть. Лучший найденный скидывается вам обратно. И так несколько раз =)

Кратко об ии

— Каждый объект представляет собой кольцевую цепочку команд. Каждая команда является точкой на отрезке. Проекция дерева решений на отрезок однозначно соотносит точку и конкретное решение.
Примерный список команд
  • Сравнить
    • Число
    • Юнит (случайный, ближайший, дохлый)
      • Жизнь
      • Дистанция
      • Количество
    • Зомби (...)
      • Жизнь
      • Дистанция
      • Количество
    • Я
      • Жизнь
      • Отклонение времени
      • Отклонение времени2
    • Кольцо
      • Положение
      • Дистанция
    • Центр
      • Дистанция
  • Сделать
    • Я
      • Остановится
      • Инвиз
    • Юнит (...)
      • Бежать
      • Атаковать
      • Проколоть
    • Зомби (...)
      • Бежать
      • Атаковать
      • Проколоть
    • Зона
      • К
      • От
      • Вправо
      • Влево
    • Пространство
      • Наверх
      • Вниз
      • Направо
      • Налево
Другие вопросы
Как сохранить ИИ?
Для сохранения лучшего экземпляра введите слово "save". Файл кода будет лежать в папке варкрафта ./save/GA_test_01/Cod.txt
Могу я сохранить понравившийся ии?
Да, для этого нажмите на юнита и введите слово "s save". Код сохранится, даже если юнит умрет до конца условного раунда.
Можно загрузить сохраненный ии?
Да, введите слово "download". В начале следующего раунда он будет загружен и подключен.

Ехало

Первое видео
Задача - прожить как можно дольше
Приветствую вырезки интересного поведения, а также предложения по улучшению обучающей среды и внутренних механизмов.
Скачать:
v02 Динамичное кольцо:
03 KodG3_king of the mountain.w3x оцениваются убийства и количество выживших
Можете улучшить готовый вариант или собрать свой с нуля Cod.txt
v01 Статичное кольцо:
02 KodG3_kill_and_life.w3x оцениваются убийства и жизни
01 KodG3_only_kill.w3x оцениваются только убийства
Пишите, какую разницу в поведении юнитов обучаемых разным способом вы заметили.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
32
4 года назад
0
Кстати по поводу атаки из невидимости, если мне не изменяет память ии не способен совершить атаку из инвиза
0
3
4 года назад
0
Образовалась одна интересная особь, чьё поведение заметно отличается и выглядит умнее остальных) Все сначала сразу бегут в центр, сбиваются в одну кучу с зомбаками, и начинают применять шипы, пока не перебьют всех зомби, задевая друг друга, после чего продолжают болтаться возле дерева, уходя в инвиз, но друг к другу агрессии не проявляют. А этот предпочитает остаться в стороне, а когда в центре перебьют всех зомби, подбегает и осторожно пытается добить выживших, ударил, отбежал, ударил, отбежал.
Загруженные файлы
0
17
4 года назад
0
IIIНекромантIII, спасибо! Про усложнение, удерживать флаг от кого, от зомби?) Просто бегать и стоять возле рандомных флагов легкая задача. Отмечу, что хоть мы и видим много юнитов, на самом деле мы обучаем одного. Если требуется два типа, то нужно создать две группы, одной сказать защищать, а другой нападать, тогда получатся кери и хиллеры, к примеру. С другой стороны мы обучаем группу, поэтому можно не разделять, кто то случайно станет хиллером, а кто то кери, а мы будем брать детей от двух случайных выживших, но в таком случае желательны более жесткие условия выживания и больший размер популяции.
2
13
4 года назад
Отредактирован Esea
2
Хм... у меня частые забеги за кольцо, при том бывает достаточно забавная ситуация когда один бежит за другим а тот бежит за кольцо.
0
17
4 года назад
Отредактирован Vlod
0
bifurcated, придерживается тактики самоубийства - звучит забавно) 1) Урон от инвиза я убрал см. РО 2) Все команды no target - указание в виде области или точки. По этому он физически не может никого ударить из инвиза, ему не дает вакрафт. Да таргет система в управлении стара как мы, по этому хотелось уйти от нее. Но спасибо за наводку, кажется я понял откуда дерганья у стандартной атаки. Сейчас ии как может узнать что он в инвизе? Нажать на инвиз и получить в ответ false. Не слишком удобный способ) Логично добавить ему флаг проверки на бафф, пока систему команд не трогал для совместимости Cod.txt между картами. Сам список команд добавил в описание. Спасибо!

Bergi_Bear, из инвиза да, только impale пустить.
Возможно, дерганья были из за отдачи кучи команд атаки в точку в один тик. Попробую сменить это на цель-объект и проверить.
function action_who_attack takes integer ind, unit tu returns boolean
  return IssuePointOrderById(Men[ind], 851983, GetUnitX(tu), GetUnitY(tu))
endfunction

Yagosha, спасибо! Согласен, поведение уже интереснее и подойдет для фарма стандартных мобов. А в плане логики мне как то встречалось, что ии сравнивает расстояние от центра зоны с жизнью случайного зомби. Мммм!

Esea, бывает и паровозик из трех) Помните, что каждый кон один из слабых заменяется на абсолютно рандомного. А те, что имеют ауру меткости - либо дети двух случайных лучших, либо тоже два рандома
3
13
4 года назад
3
Первый мой сейв (статическое кольцо убийства и жизни). Даже не знаю что сказать. Заметил 2 интересных персонажей: коричневый который то бегал на небольшое расстояние туда сюда рядом с деревом то вообще убегал за кольцо, и красный который один раз наматывал круги рядом с кольцом, но умер забежав за него (видимо его беговой круг расширялся). Ну и еще не могу смотреть на бесполезные инвизы и неравноценные размены ударами.
Загруженные файлы
0
11
4 года назад
0
удерживать флаг от кого, от зомби
Друг от друга.

Ну, я не особо понимаю чему можно научить такую штучку, да и есть ли смысл учить чему-то, кроме как для собственного удовольствия.
3
3
4 года назад
3
Я оставил на ночь несчастных ботов развиваться в их бессмысленном мире. Теперь уже они пытаются в первую очередь убить друг друга, а не зомби и, что самое главное, научились уверенно бить киркой, без сброса приказа!

Загруженные файлы
2
17
4 года назад
2
Esea, движение по кругу оказывается движением по спирали из за погрешности, поэтому юниты, которые не учитывают дистанцию до кольца, будут нещадно уничтожены)
Смотри, пользоваться инвизом по кд явно лучше, чем вообще им не пользоваться, а поиск правильного условия задача более сложная. Сначала ребенок учится двигать ногами, а потом уже бегать кросс, тут то же самое

IIIНекромантIII, в целом идея понятна. Надо будет увеличить количество ботов как минимум вдвое. Надеюсь вар справится.
Такую штуку можно научить чему угодно: строить города, сажать деревья, искать ягоды, драться, эмулировать спрос и предложение - рынок. Все зависит от доступных команд. Наш ии предназначен для управления одним или группой однотипных юнитов и делать может только то, что заложено в его самые команды)

Yagosha, воо, похоже ваши боты развились дальше всех! Это очень важно, так как ранее некоторые ссылались на дерганья киркой во время удара. Хотя со временем ГА легко оптимизирует положение команд.
На этой карте бонусы даются за убийства и за малое число выживших работников. Интересно, что с течением времени вторая задача перетягивает первую
0
3
4 года назад
0
Vlod, вы только посмотрите на красного чемпика в видео, как он держит дистанцию и маневрирует, ни разу не подставился, и ему не хватило буквально секунды чтобы добрать синего. Он доминировал ещё парочку раундов, а потом в его голове что-то щёлкнуло и, к моему огорчению он почему-то решил самоликвидироваться и целенаправленно убежал за круг в самом начале :(
0
17
4 года назад
Отредактирован Vlod
0
оценочная таблица двух раундов из видео
раунд_1раунд_2
10_451 7_403
7_369 10_397
5_366 4_346
4_352 1_345
2_348 5_336
0_294 2_325
9_275 0_318
1_256 9_258
11_084 3_044
3_077 11_038
8_000 8_000
Yagosha, так как этот чемпик красного цвета, то имеет индекс 0. Как видно из таблицы, он имеет рейтинг ниже среднего. Возможно, это связано с низким количеством убийств.
Все, кто попадают в последнюю четверку, будут перезаписаны. Скорее всего, это с ним и произошло. Как раз для таких случаев была создана команда s save)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.