Практика СПИ

Обсуждение различных проектов связанных с ИИ. Например:
<a href=http://www.aicommunity.org/Game.html> Статья</a>
Траян
Posts: 1005
Joined: Sun Jun 06, 2004 4:27 am

Post by Траян » Tue Apr 24, 2007 8:59 pm

>Вопрос, как можно обменяться файлами. Может, создать тему-близнец на образце (без модерации, пусть флудят , если хотят, а использовать в чисто технических целях для обмена файлами, там можно вставлять вложения).

Да, вопрос обмена файлами очень актуальный, образцом никогда не пользовался, не знаю как там это делается.

Попробовал файлообменник http://ifolder.ru - вроде бы неплохо работает.
Попробовал положить файл world (5кб) сюда:
http://ifolder.ru/1795995

а личность номер 6 (14кб) сюда:
http://ifolder.ru/1795955

есть ещё один мир, но там проход через комнаты (по дорожке) настолько сложный, что я даже не знаю, возможен ли он вообще, в принципе (world1):
http://ifolder.ru/1796116

Перед употреблением файлы следует распаковать.

> Гдето на середине пряничного пути я вспомнил, что есть еще и кнут и изменил цикл работы. Нажимал choice, смотрел, какое действие собирается предпринять перс. Если действие правильное, я нажимал action и learn, а если неправильное, то я предварительно вставлял кнут в то место, куда передвинется квадрат, а затем нажимал action и learn.

Мдя... А ведь я так и не додумался, что так можно делать.

>Я бы хотел переслать эти файлы, чтобы вы, как автор, объяснили, в чем причина такого закидона- мое воспитание или особенности самого перса.

Высылайте, разберемся.

Алхимик
Posts: 158
Joined: Tue Jun 13, 2006 6:11 pm
Location: Украина, г. Горловка

Post by Алхимик » Wed Apr 25, 2007 6:42 pm

Траян wrote: Высылайте, разберемся.
Мир http://ifolder.ru/1805408

Память http://ifolder.ru/1805467

Ваши миры скачал, личность пока не стал, попробую сам помороковать на досуге.

Траян
Posts: 1005
Joined: Sun Jun 06, 2004 4:27 am

Post by Траян » Wed Apr 25, 2007 11:01 pm

Мдя... Вы меня убили. Наповал!

А я ещё удивлялся, зачем вам понадобилось перса координатами перемещать, думал, нафига это нужно, если слалом состоит из 4, максимум 5 блоков... И даже похвастать хотел миром, из пяти блоков на которые я перса научил.
Короче, готов был поспорить на что угодно, что уж на 6-7 блоков его ну никак нельзя научить, в принципе.

А вы заедренили слалом из СОРОКА (!!!) блоков. Охренеть.

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

А ведь тот мир, который я предлагал вам решить, просто усыпан пряниками... думал, иначе никак нельзя, без постоянного подкрепления выработанный условный рефлекс будет быстро размываться.

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

Очень вдохновляющий результат, спасибо. Похоже, зря я пока все это дело стараюсь в тени держать, на опыты со следующей версией СПИ надо будет привлекать как можно больше тестеров.


PS Хотя, конечно, может я и напрасно так обрадовался, надо будет сейчас покопаться в персе, посмотреть, может это просто глюк какой. Тем паче, что и ориентиры как-то неожиданно расставлены.

Алхимик
Posts: 158
Joined: Tue Jun 13, 2006 6:11 pm
Location: Украина, г. Горловка

Post by Алхимик » Thu Apr 26, 2007 11:34 am

Траян wrote:Мдя... Вы меня убили. Наповал!

А я ещё удивлялся, зачем вам понадобилось перса координатами перемещать, думал, нафига это нужно, если слалом состоит из 4, максимум 5 блоков... И даже похвастать хотел миром, из пяти блоков на которые я перса научил.
Короче, готов был поспорить на что угодно, что уж на 6-7 блоков его ну никак нельзя научить, в принципе.

А вы заедренили слалом из СОРОКА (!!!) блоков. Охренеть.
Я сейчас продлил дистанцию до сто блоков - бежит. В конце концов он наверное сорвется с дистанции или остановтися, или затопчется на месте, но ломает рисовать столько блоков. Надо его по кругу запустить.
То, что перс бежит длинную дистанцию, меня не очень удивляет. Все-таки циклический процес, через восемь ходов ситуация повторяется. А разметка подобрана так, чтобы ситуации были разными на каждом из этих ходов. Персу нужно запомнить восемь ситуаций и ход для каждой из них. Удивляет меня другое - те микроскопические отклонения от циклической процедуры (первое после 13 блока) Никаких внешних оснований для них нет, а они происходят, причем разные, а после них перс бежит как ни в чем не бывало. Обучение перса прошло сумбурно, я всех деталей не вспомню, вот и хочется узнать - можно ли достигать подобых микроэфектов целенаправлено.
Вы должны более понимать логику действий перса, посмотрите, чем отличается внутреннее состояние при эти отклонениях и на гладких участках.

Алхимик
Posts: 158
Joined: Tue Jun 13, 2006 6:11 pm
Location: Украина, г. Горловка

Post by Алхимик » Thu Apr 26, 2007 3:05 pm

Слалом по кругу

мир http://ifolder.ru/1814109

память http://ifolder.ru/1814145

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

Траян
Posts: 1005
Joined: Sun Jun 06, 2004 4:27 am

Post by Траян » Wed May 16, 2007 10:24 am

Алхимик:
>Если с первой попытки сорвется с дистанции, попробуйте повторно загрузить мир и память. По каким-то причинам он по разному начинает бежать с начальной точки.

Там маленький глючок был, сейчас исправил. Перс оглядывался вогруг себя и оценивал окружающую обстановку лишь один раз (на третьем этапе) когда оценивал последствия совершенного действия. А это неверно. Ведь если за время между этапами оценки (learn) и выбора (choice) во внешней среде произойдут какие-то изменение, то выбор будет ошибочным, поскольку будет оцениваться на прежних представлениях о ситуации в мире.

Это и происходило, когда после learn пользователь загружал новый мир - перс выбирал действие думая, что он ещё находится в старом.
:))

Сейчас он два раза оглядывается вокруг - перед learn т перед choice и все работает пока нормально... По идее, он и перед самым совершением действия, в самый последний момент должен бы ещё раз оглядеться и посмотреть - не изменилась ли ситуация вокруг за то время, пока он подбирал нужное действие... но пока это отложу. Сейчас нужно сосредоточиться на главном, шероховатости потом уберу.

PS Если хотите (и дадите мыло), я вам подправленный вариант вышлю (+ ещё добавлю туда возможность немного заглядывать в нутро перса).

Траян
Posts: 1005
Joined: Sun Jun 06, 2004 4:27 am

Post by Траян » Wed May 16, 2007 10:37 am

> (+ ещё добавлю туда возможность немного заглядывать в нутро перса).

что поможет понять, почему происходят "...те микроскопические отклонения от циклической процедуры (первое после 13 блока) Никаких внешних оснований для них нет, а они происходят, причем разные, а после них перс бежит как ни в чем не бывало"

Эффект, вообще говоря, довольно интересный и неожиданный.

amoke
Posts: 108
Joined: Wed Jul 11, 2007 9:46 pm

Post by amoke » Sat Jul 14, 2007 8:16 pm

Запустил версию от 2007.04.07 (ОС WinXP SP2, разрешение 1280х1024)
Всё не проверил, но на первый взгляд работает корректно - персонаж бегает, звуки слышно, загружается/выгружается без проблем. Продолжаю тестирование.

amoke
Posts: 108
Joined: Wed Jul 11, 2007 9:46 pm

Post by amoke » Sat Jul 14, 2007 8:26 pm

Кстати, сразу предложение от меня - в будущем все проекты СПИ делать с реализацией ИИ в отдельной DLL, по крайней мере у меня уже появилось желание в будущем испробовать в этом мире свой алгоритм, может и ещё у кого возникнет. Таким образом, можно будет не отвлекаться на программную оболочку и заниматься чисто ИИ :)

Траян
Posts: 1005
Joined: Sun Jun 06, 2004 4:27 am

Post by Траян » Sat Jul 14, 2007 9:09 pm

amoke wrote:Кстати, сразу предложение от меня - в будущем все проекты СПИ делать с реализацией ИИ в отдельной DLL...
100%-ое попадание в цель! Практически во всех обсуждениях СПИ по личке мы сходились в том, что его надо разбить на два практически независимых друг от друга блока, т.е. "интеллект" нужно делать в виде отдельной DLL, а мир и интерфейс взаимодействия с этим миром - в другом, отдельном от "интеллекта", блоке.

Правда, причины для такого разделения мы находили другие, чем вы.
:))

amoke
Posts: 108
Joined: Wed Jul 11, 2007 9:46 pm

Post by amoke » Mon Jul 16, 2007 7:17 am

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

P.S. пока с тестированием не особо получается - работой завалили :)

Траян
Posts: 1005
Joined: Sun Jun 06, 2004 4:27 am

Post by Траян » Thu Jul 19, 2007 12:30 pm

C dll-кой возикли проблемы - в той среде, в которой был сделан СПИ нормальные StandAlone dll-ки не делаются, только ActiveX.dll
А чем они отличаются пока до конца не понятно.

amoke
Posts: 108
Joined: Wed Jul 11, 2007 9:46 pm

Post by amoke » Fri Jul 20, 2007 12:41 pm

Ну так у вас на Visual Basic приложение написано, а он только dll с COM объектом поддерживает. Ну ничего - и такие напишем :)
Главное - заранее и дальновидно специфицировать интерфейс

amoke
Posts: 108
Joined: Wed Jul 11, 2007 9:46 pm

Post by amoke » Fri Jul 20, 2007 12:47 pm

offtop: а в какой стадии находится проект игра-полигон, про который на главной странице написано? Ничего про него здесь не нашел

Траян
Posts: 1005
Joined: Sun Jun 06, 2004 4:27 am

Post by Траян » Fri Jul 20, 2007 4:32 pm

amoke wrote:Ну так у вас на Visual Basic приложение написано, а он только dll с COM объектом поддерживает. Ну ничего - и такие напишем :)
Очень хорошо. Сам я, увы, кодить не умею и не люблю (при всем при том, что прекрасно понимаю, что это является для иишника серьезнейшим недостатком). То, что СПИ удалось написать за две недели, и получилась довольно неплохая вещица, полностью оправдавшая возложенные на неё ожидания - это какое-то чудо. Так что ещё один программист для СПИ был бы большим подспорьем. Исходники "мира" СПИ могут открыть в любой момент. "Интеллекта" пока только частично.
amoke wrote:Главное - заранее и дальновидно специфицировать интерфейс
Имхо, интерфейс связи "интеллекта" с "материальным телом", существующим в некоем мире, достаточно прост и незатейлив.
Мудрить тут нечего, пожалуй.

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

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

А что там ещё оговаривать? Вроде бы нечего, может я что-то важное упускаю из виду?

Locked

Who is online

Users browsing this forum: No registered users and 1 guest