GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.11 (14)<< < Пред. | След. > >>   Поиск:  
 Автор Тема: На: Проект Projetc-CNS
tac
Сообщений: 2601
На: Проект Projetc-CNS
Добавлено: 28 сен 11 1:52
Цитата:
Автор: mozgobrain

Да, конечно есть модель жук. Это компонент bug.cs
Там задано, каким именно образом влияют эффекторы на сенсоры.
Еще есть компонент caple.cs - это типа цапля - одноногое тело. Но она по моему не работает. И тот и другой реализуют интерфейс ICreaure, который поставляет данные о количестве эффекторов и сенсоров. Их текущих значения. И позволяют выставлять свои эффекторы.
Можно разработать организм произвольной сложности, лишь бы он реализовывал этот интерфейс.
Затем этим интерфейсом инициализируется объект ЦНС.

Ну и идет такой процесс:

Увеличивается момент времени (метод Advantage)
Creature на основе значений эффекторов выставляет сенсоры.
Среда вносит свои коррективы в эти сенсоры.
ЦНС проверяет прогноз предикторов.
ЦНС выставляет эффекторы своему Creature
ЦНС делает прогноз
увеличивается момент времени (метод Advantage)
и дальше по кругу.

Визуализировать то жука можно запросто, это вопрос одного дня, но пока в этом смысла мало.
В программе визуализирована пара сенсоров (горизонтальный и вертикальный угол ноги)


Не про "эту" модель идет речь. У вас нет модели ФИЗИЧЕСКОЙ среды, т.е. например силы тяжести и столкновений с землей. А ходить в невесомости невозможно ! Да и не зачем.

Если же была бы, то под моделью жука я имею введу то НИ КАК он думает и действует, а то как он себя ведет как неодушевленное тело. Падает, бьется, растягивается и т.п. Без этой модели вы не понятно чему собираетесь его учить.

Далее. Если жук скребется об землю - это гусеница , а не жук.

У вас же как я понимаю, если ЖУК не будет двигаться - то на сенсоры будет подаваться одно и тоже
[Ответ][Цитата]
tac
Сообщений: 2601
На: Проект Projetc-CNS
Добавлено: 28 сен 11 1:56
Цитата:
Автор: Egg

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


Разница в булевой логике по сравнению с нечеткой логикой.
[Ответ][Цитата]
tac
Сообщений: 2601
На: Проект Projetc-CNS
Добавлено: 28 сен 11 2:02
Цитата:
Автор: mozgobrain
Как то я с трудом продираюсь сквозь термиологию (


Практика, мой друг - практика
Вообще-то этот пост я адресовал Данеру, надеюсь он продерется ... посмотрим, что он ответит

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

Без физического мира - это бессмысленно.

А уже потом лучше лезть в дебри.

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

[Ответ][Цитата]
tac
Сообщений: 2601
На: Проект Projetc-CNS
Добавлено: 28 сен 11 2:11
Цитата:
Автор: mozgobrain

Цель жук знает:
1) главная цель - не допустить обнуление сенсора голода
2) второстепенная цель - обнулить сенсор расстояния до еды. Причем каждое уменьшение значения этого сенсора для жука - это "хорошо"
3) не допускать увеличения значения сенсоров боли. Кадое такое увеличени для жука - это "плохо"



Вот теперь когда вы ввели сенсоры боли ! Теперь я могу наконец-то спросить прямо, какой алгоритм их действия ? Можете кинуть сюда кусок кода, где описано когда жуку больно, а когда нет ?

Это будет та модель жука как неодушевленного объекта, которую я хочу понять. Если вы ее напишите, то можно обойтись и без физической среды, другой вопрос будет ли этот алгоритм достаточным чтобы на основании боли жук научился бы ходить (это в отличии от физической среды - если она есть, то делая мышечные усилия и падая(!), но не лежа на брюхе - он научится и этого достаточно).

На основании же сенсора голода и расстояния до еды - ЖУК физически не может научится ходить, эта информация просто не о том, и не нужна на этом этапе - это ему никак не помогает коррелировать мышечные усилия.

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

От них он научится ходить не ломаясь, плохо или хорошо - это не важно на этапе обучения ходьбы - вот это и есть этап генезиса. Далее умея так или иначе ходить, ему останется лишь совершенствоваться чтобы лучше бегать за едой, но это уже другой этап.
[Ответ][Цитата]
tac
Сообщений: 2601
На: Проект Projetc-CNS
Добавлено: 28 сен 11 2:38
Цитата:
Автор: mozgobrain


Активная адаптация отличается от пассивной возможностью объекта изменять среду? А пассивная адаптация - это изменение структры объекта под среду? Что такое задача компенсации?



Если упростить - активная адаптация - это когда агент действует в среде. а пассивная это когда он использует те моменты в среде, которые иногда происходят.

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

[Ответ][Цитата]
tac
Сообщений: 2601
На: Проект Projetc-CNS
Добавлено: 28 сен 11 2:45
Цитата:
Автор: mozgobrain

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


Ну нельзя наоборот! Это как раз вначале! Нельзя прогнозировать, не двигаясь ... или не имея плана действий. Когда среда изменяет жука (дует ветер) она его никак все равно не обучит ходить. Максимум при наличии сенсоров боли - он научится избавляться от боли пока дует ветер. Это в тот же момент снимет ограничения на ходьбу, но как-то пробовать ходить нужно в любом случае - или пробовать дергаться случайно или имея некие примитивные (врожденные) планы действий и пробовать их выполнять.

[Ответ][Цитата]
tac
Сообщений: 2601
На: Проект Projetc-CNS
Добавлено: 28 сен 11 3:28
Цитата:
Автор: mozgobrain


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



А вот это кстати и есть структурная адаптация. Только задача совсем другая, чем вы описываете. Называется "угадай функцию" - и не имеет ни какого отношения к движению жука. С тем же успехом, можно взять любую функцию, которая выкидывала бы 5-10 значений и задачу поставить угадай аналитический вид функции ... это имеет отдельный интерес, и потом поможет жуку ...

Если что-то тут придумаете пишите, но не думаю что это вообще необходимо для задачи с ЖУКом ... ну и тут я несколько пессимист - вряд ли что дельное получится ...

Кстати, можно еще проще, Данер как-то предлагал турниры по прогнозированию в игре Камень-Ножницы-Бумага, и даже убедил меня, что это не так просто как кажется. И тогда действительно можно сосредоточится только на прогнозировании, не отвлекаясь на отвлеченные темы, типа ЖУКа.

какие то детали тут

Кстати, Данер, у тебя случайно не остался наш разговор в скайпе по этому поводу ? Если удалил жаль (я то переставлял машину и затер), придется вспоминать твои аргументы по поводу того почему в ответ на случайность не играть случайностью ...
[Ответ][Цитата]
Вольфрамовый клaпaн
Сообщений: 13070
На: Проект Projetc-CNS
Добавлено: 28 сен 11 3:41
Цитата:
Автор: tac
Разница в булевой логике по сравнению с нечеткой логикой.

не угадали... это Вам не википедию в помойку превращать, для понимания этой разницы знания нужны...
[Ответ][Цитата]
tac
Сообщений: 2601
На: Проект Projetc-CNS
Добавлено: 28 сен 11 4:03
Цитата:
Автор: mozgobrain

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



Кстати, вот ! Вы не сможете получить устойчивого решения - предсказания. Это доказанный факт.

Если переформулировать вашу задачу на терминологию искусственных нейронных сетей, то вы пытаетесь обучить т.н. S-управляемую систему. Т.е. такую систему, когда предсказание делается только на основании стимулов, без того чтобы решать какое действие правильно, а какое нет. (решать не в смысле - взял ЖУК и решил, что это есть хорошо, а в смысле, что он получит достоверный сигнал от среды, что это есть хорошо. И приближение к еде даже если ветер случайно его туда подбросит - не будет таким сигналом, т.к. связи между сенсорами ног и их эффекторов не было - ноги в этот момент двигались случайно)

(это грубо говоря то, что я выше описал как то, что "жук не научится ходить от того, что на него дует ветер")

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

Или еще проще - это обучение без учителя - оно не способно решить задачу классификации, оно пригодно только для задач кластеризации (а может и не проще )
[Ответ][Цитата]
tac
Сообщений: 2601
На: Проект Projetc-CNS
Добавлено: 28 сен 11 4:04
Цитата:
Автор: Egg


не угадали... это Вам не википедию в помойку превращать, для понимания этой разницы знания нужны...


Я знаю что говорю, это вы тут всякий бред пишите и людей с толку сбиваете. Андрей прямым текстом говорит о применении нечеткой логики вместо булевой. А вам что в лоб, что по лбу - мол одно и тоже ..

Хотя бы Заде почитали бы ... а то поди не знаете даже кто такой ..

если холоднее (никогда не равно) если тебе холодно
[Ответ][Цитата]
tac
Сообщений: 2601
На: Проект Projetc-CNS
Добавлено: 28 сен 11 4:57
И вот еще что. Если это не жук - а лежащая на брюхе гусеница, то ей ходить не нужно - ей надо уметь ползать. Для этого ей не нужны 4 ноги, достаточно двух. Если двигает одной, то проворачивается, если одновременно двумя, то ползет. (аналогично лодке) 2 другие - это баласт для скорости. (вот тут кстати, и нужна задача выделения объекта из среды, т.к. для ничего не умеющего жука - его ноги это объекты среды, которые он может использовать, а может и не использовать, ниже прикидка случайности, и если не убрать две лишние ноги, то смело еще возводиде в квадрат - и ждите уже нереальное время, или же нужно решить что они не нужны и мешают - но это уже не возможно, возможно лишь чисто эволюционно когда уже есть врожденные программы действий от существа умеющего работать двумя ногами, тогда он приспособит и другие две, не тратя время на ожидание чудесного сбора автомобиля на свалке пронесшимся ураганом)

И тут мы переходим к задаче которые ранее обсуждали с Данером о передвижении ящика. Закладывать в общий алгоритм решение как показал Данер, мы не хотим, тогда надо писать алгоритм с обучением. НО тут дело случайности - конечно проблема не такая как мы обсуждали с 10 агентами, тут случайно можно и дождаться, когда две ноги синхронно дернутся по одному углу. Зависит от того какой минимальный угол поворота. Скажем если 15, то 360/15= 24^2 = 576, то 1 случай из 576 реально. Впрочем у вас сложнее - так ноги зачем-то двухсуставные - и еще нужно синхронизировать суставы (тут можно было бы последовательно решить, научившишь их синхронизировать на повороте одной ногой, но у вас опять нет положительного стимула чтобы решить, что поворот вообще нужен - поворт нисколько не отдаляет и не приближает к пище, а чтобы оценить что он нужен, надо как минимум уже уметь ползти вперед). Тогда 24^4 = и ждете чудного события около 300 тыс. моментов времени (кстати, устанете нажимать на кнопку в программе - нужна бы просто кнопка пуск). Если же будет сенсор боли, он существенно сократит все варианты - и гусенице останется только взять и ползти. Останется ей только решать когда повернуть (одной ногой), а когда ползти прямо (двумя) - т.е. уже по более высокоуровневым алгоритмам.
[Ответ][Цитата]
Вольфрамовый клaпaн
Сообщений: 13070
На: Проект Projetc-CNS
Добавлено: 28 сен 11 6:24
Цитата:
Автор: tac
Я знаю что говорю

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

З.Ы. ни о какой "нечеткой" логике (чтобы Вы под этим не понимали) Андрей вообще не говорил...
Андрей говорил об импликации...
почитайте: http://en.wikipedia.org/wiki/Logical_implication
[Ответ][Цитата]
tac
Сообщений: 2601
На: Проект Projetc-CNS
Добавлено: 28 сен 11 8:09
Цитата:
Автор: Egg


а я читал Вас и очень хорошо помню...


Это вы о чем ?
[Ответ][Цитата]
tac
Сообщений: 2601
На: Проект Projetc-CNS
Добавлено: 28 сен 11 8:11
Цитата:
Автор: Egg

З.Ы. ни о какой "нечеткой" логике (чтобы Вы под этим не понимали) Андрей вообще не говорил...
Андрей говорил об импликации...
почитайте: http://en.wikipedia.org/wiki/Logical_implication


Если на то пошло Андрей не говорил ни об импликации, ни об нечеткой логике прямо. Но его идею нельзя реализовать без импликации в нечеткой логике, булева импликация - отдыхает
[Ответ][Цитата]
tac
Сообщений: 2601
На: Проект Projetc-CNS
Добавлено: 28 сен 11 8:28
Цитата:
Автор: mozgobrain


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

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

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

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

[Ответ][Цитата]
 Стр.11 (14)1  ...  7  8  9  10  [11]  12  13  14<< < Пред. | След. > >>