GotAI.NET

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

 

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

 Все темы | Новая тема Стр.4 (9)<< < Пред. | След. > >>   Поиск:  
 Автор Тема: На: Нулевой уровень - интеллект таракана
Vpolevoj
Сообщений: 1408
На: Нулевой уровень - интеллект таракана
Добавлено: 12 июл 13 6:50
Наконец-то запустил игровой мир - так сказать, вдохнул в него жизнь.

http://yadi.sk/d/KH8PQ4oE6dskh

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

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

Отопление само по себе иногда (случайно) включается и выключается (так же будет ночью включаться свет).

Рекомендую (тем, кто будет смотреть) включить прогон на самой большой скорости - один тик в час, тогда изменения будут очень заметными. Наблюдать за ними нужно в Инспекторе объектов, вкладки "Вода" и "Крошки".

Со следующего понедельника начинаю вплотную заниматься мозгами таракана. (По ходу дела буду поправлять недоделки в игровом мире.)
[Ответ][Цитата]
Vpolevoj
Сообщений: 1408
На: Нулевой уровень - интеллект таракана
Добавлено: 12 июл 13 10:21
До понедельника еще ой как далеко, поэтому пока можно немного и поболтать - заняться теорией. Расскажу-ка я о том, что же я собираюсь делать.

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

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

Поэтому нам гораздо интереснее не сама реализация того или иного конкретного поведения, а - процесс ПЕРЕКЛЮЧЕНИЯ между ними. Как и по каким правилам происходит переключение между различными видами поведения у таракана - это и есть самый главный вопрос, который нас должен интересовать на данном этапе.

Предварительные рассуждения.

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

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

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

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

И наконец, на последнем месте у меня будет стоять потребность отдыхать. Когда все потребности таракана удовлетворены, либо усталость достигла больших высот, либо днем, когда делать все равно нечего, таракан отдыхает.

Конкретную схему, реализующую процесс переключения между этими пятью видами поведения, я планирую сделать непосредственно в процессе программирования. Но возможно, пока тянутся выходные, я к этому вопросу еще вернусь, и если получится, нарисую эту схему в виде блок-схемы.
[Ответ][Цитата]
DCV
Сообщений: 746
На: Нулевой уровень - интеллект таракана
Добавлено: 12 июл 13 10:46
Поведение таракана будет состоять не столько из потребностей, сколько из рефлексов. Реакция таракана на свет, воду, еду, женщину, и взаимодействие реакций между собой и игровым полем.
[Ответ][Цитата]
Vpolevoj
Сообщений: 1408
На: Нулевой уровень - интеллект таракана
Добавлено: 13 июл 13 23:59
Поскольку мы считаем, что у таракана все поведение инстинктивное, то есть оно запрограммировано его генами, и не может меняться, то мы вправе "пропустить" конкретную реализацию его инстинктов (сделать их так, как нам удобнее, по принципу черного ящика, лишь бы то что на входе и на выходе у нас и у него совпадало бы), и заняться непосредственно структурой.

А что у нас должно быть в структуре?

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

Начну с поведения.

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

У меня (в моей модели) в таракане предусмотрено всего пять потребностей: есть, пить, отдыхать, спасаться и трахаться.

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

Потребность в отдыхе, я так думаю, это чисто физическая характеристика, которую можно привязать к интенсивности затрат энергии и ко времени (что тоже связано с затратами энергии).

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

Поскольку я хочу поставить потребность в размножении на самое первое, самое значимое для таракана место, то и химические сигналы от возможного полового партнера я хочу сделать тоже самыми сильными и значимыми, воспринимаемыми на самом большом расстоянии. К тому же, из учебников биологии мы знаем, что это именно так и есть, многие насекомые способны улавливать ферромоны за много километров в концентрации 1:1000000.

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

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

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

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

Структура же непосредственной деятельности таракана при удовлетворении им какой-нибудь конкретной потребности очень простая: она связывает между собой ПОТРЕБНОСТЬ, Целевой ОБЪЕКТ и ДЕЯТЕЛЬНОСТЬ. На самом деле нужно было бы привязать сюда еще и ИСПОЛНИТЕЛИ, но, поскольку в рассматриваемой нами в данное время модели поведения таракана, во всех без исключения случаях исполнителем являются его ноги, то мы их из этой схемы исключаем (но будем подразумевать).

То есть, схема конкретного поведения таракана будет у меня такая: возникла (включилась, активировалась и т.д.) ПОТРЕБНОСТЬ, она автоматически назначила Целевой ОБЪЕКТ, который следует найти, и на который следует реагировать таракану в первую очередь, и уже по отношению к этому Целевому Объекту реализуется вполне конкретная ДЕЯТЕЛЬНОСТЬ (в нашем случае она практически всегда одна и та же: найти Целевой ОБЪЕКТ, сблизиться с ним, произвести с этим Целевым ОБЪЕКТОМ необходимые действия в течении некоторого времени: поесть, попить, поспать, потрахаться) и можно переключаться на новую потребность.

А вот каков должен быть механизм переключения между потребностями - это пока для нас и является задачей.
[Ответ][Цитата]
Nuarez
Сообщений: 107
На: Нулевой уровень - интеллект таракана
Добавлено: 14 июл 13 15:46
Скажите, у таракаша память какая то предполагается? Я вроде понимаю, что нет. Для интеллекта это как бы важно. Имено структура памяти одна из главных загадок. Я не очень знаком с господами насекомыми, но у них, вроде, если и есть память, то она не накопительная, а так, временная. Пока че-то надо-помнит, другое надо-предыдущее перезаписывается. Так как у него с памятью планируете поступить?

И тараканы вроде не пьют, а едят жидкую пищу. Нужно ли вам лишнюю работу делать? Или это для вас важно?
[Ответ][Цитата]
Vpolevoj
Сообщений: 1408
На: Нулевой уровень - интеллект таракана
Добавлено: 14 июл 13 23:03
Цитата:
Автор: Nuarez
Скажите, у таракаша память какая то предполагается? Я вроде понимаю, что нет. Для интеллекта это как бы важно.

И тараканы вроде не пьют, а едят жидкую пищу. Нужно ли вам лишнюю работу делать? Или это для вас важно?

Нет, память я делать у таракана не планирую. На данном этапе это не нужно.

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

Но для этого нужно для начала (хотя бы грубо и очень приблизительно) эту самую схему воспроизвести.

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

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

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

Еще раз насчет памяти.

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

А в будущем - да, я планирую задействовать память. В следующих своих проектах.
[Ответ][Цитата]
Vpolevoj
Сообщений: 1408
На: Нулевой уровень - интеллект таракана
Добавлено: 22 июл 13 6:27
Приступил к моделированию поведения таракана.

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

Как только в комнате будет включаться свет, все тараканы должны будут разбежаться по домикам. Кто не спрячется - тот считается убитым.

http://yadi.sk/d/KH8PQ4oE6dskh

Рекомендуемые действия для прогона этой части игры:
- запустить программу;
- вызвать Инспектор объектов (через меню);
- нажать кнопку "Генерация нового мира" (волшебная палочка);
- посмотреть, где возник таракан (координаты), и найти его в поле.

Далее можно поступать двояко:
- можно нажимать пустую кнопочку сбоку (я её специально сделал для отладки программы) и посмотреть, что происходит с тараканом пошагово;
- а можно нажать кнопку ПУСК (быстрая кнопка) и посмотреть, как таракан спрячется в ближайший домик в режиме онлайн. (Субъективно медленнее.)

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

Да. Еще одно замечание. Я временно отключил смену дня и ночи - теперь у меня в игре постоянно ночь. Это нужно для отладки режима избегания света. Тараканы должны будут прятаться при включении света. Свет я буду пока включать вручную.
[Ответ][Цитата]
Vpolevoj
Сообщений: 1408
На: Нулевой уровень - интеллект таракана
Добавлено: 24 июл 13 6:04
Сделал у таракана по аналогии с поиском убежища поиск источников воды... (и так же, или примерно так же, у меня будут реализованы поиск пищи и поиск полового партнера - то есть, проблем с добавлением новых потребностей особых нет)... и понял, что даже имея всего две расписанные потребности, мне уже нужно создавать (закладывать) механизм их согласования. А это - и есть та самая "структура", о которой так долго говорили нам большевики, то есть, не большевики, конечно же, а я, я сам так долго об этом говорил, и ни разу еще не показал. Но время для показа видимо уже пришло.



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

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

Как это работает?

Возьмем в качестве примера того же таракана.

У него (в моей программе) всего пять потребностей: ПИТЬ, ЕСТЬ, ОТДЫХАТЬ, ПРЯТАТЬСЯ и ТРАХАТЬСЯ (размножаться). Отсюда и пять "лепестков" у его "ромашки" (это, как наверное нетрудно догадаться, я сделал специально).

Как же они между собой переключаются?

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

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

Значит, нам для правильности работы нашей "ромашки" нужно задать их иерархию - порядок значимости. Я принудительно сам установил среди них такой порядок. Первой по значимости у меня идет потребность в РАЗМНОЖЕНИИ. Это означает, в частности, что вполне возможна такая ситуация, когда таракан желая потрахаться выбежит даже на свет и погибнет. То есть, потребность трахаться может оказаться даже сильнее стремления выжить.

Второй по порядку у меня идет потребность ПРЯТАТЬСЯ (выжить). Третьей - ПИТЬ, четвертой - ЕСТЬ, и на последнем пятом месте - СПАТЬ (отдыхать). Это означает, что таракан будет в первую очередь, скажем, пить, и лишь затем - есть, и т.д. А отдыхать и экономить силы он будет в последнюю очередь, лишь удовлетворив все остальные свои потребности.


Как я планирую задать подобные приоритеты?

Примерно так. Поскольку у меня всего пять потребностей, то внимание между ними должно распределяться почти поровну. И если принять всё внимание оказываемое системой управления всем этим потребностям за 100 ед (или процентов, если кому так удобнее), то на каждую из пяти потребностей должно приходится где-то по 20 единиц внимания (или по 20%). Но поскольку мне хотелось бы установить между ними иерархию, то я искусственно сдвигаю (изменяю) эти весовые приоритеты, например так: ОТДЫХАТЬ - 15, ЕСТЬ - 18, ПИТЬ - 20, ПРЯТАТЬСЯ - 22, РАЗМНОЖАТЬСЯ - 25.

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



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

[Ответ][Цитата]
Fractaler
Сообщений: 2490
На: Нулевой уровень - интеллект таракана
Добавлено: 24 июл 13 11:17
Вот пытаются:
http://it.tut.by/358524 - "Наша главная цель — "прямая" эмуляция свойств нейронов и контактов между ними при помощи полупроводниковых микросхем. Благодаря нашей методике нейроморфные чипы можно сконфигурировать для исполнения роли самых разных видов нейронов. Полученные нами результаты станут отправной точкой для разработки новой нейро-электроники
[Ответ][Цитата]
гость
78.25.123.*
На: Нулевой уровень - интеллект таракана
Добавлено: 25 июл 13 21:59
Vp.> Я принудительно сам установил среди них такой порядок
> то внимание между ними должно распределяться примерно поровну

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

можно и нужно говорить о самоорганизации 'мотивационной' cистемы как можно в большем числе аспектов, включая и базовые уровни.

По крайней мере на мэнфреймах были операционные системы с весьма изощренной логикой распределения ресурсов (потому что сильны были ограничения и относительн высоки требования) между заданиями. Причем логика была отчасти 'самоорганизующейся'. Современные ОС имеют механизмы динамических приоритетов (особенно ОСРВ). Операционная система таракана (ее функциональный эквивалент) должна быть по логике своей работы 'с самого начала' (и хотя бы в потенции) не проще логики ОС, если целью является постижение интеллекта их разработчиков..


[Ответ][Цитата]
Vpolevoj
Сообщений: 1408
На: Нулевой уровень - интеллект таракана
Добавлено: 25 июл 13 23:41
Цитата:
Автор: Vpolevoj
Я принудительно сам установил среди них такой порядок...
... то внимание между ними должно распределяться примерно поровну...
Цитата:
Автор: гость (78.25.123.*) (Хмур - ?)
поскольку гранд-целью проекта было заявлено что-то вроде экстракции 'общих принципов' интелектуальной регуляции,...

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

... то такая статичная и фиксированная схема потребностей выглядит крайне странной.

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

Во-первых, потому что это модель. Моя модель - как хочу, так и делаю. И таракана я, кстати, тоже придумал фактически целиком - это не повторение поведения реального таракана, а - тоже модель. Опять же - моя модель - придуманная мною.

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

Цитата:
Автор: гость (78.25.123.*) (Хмур - ?)

можно и нужно говорить о самоорганизации 'мотивационной' cистемы как можно в большем числе аспектов, включая и базовые уровни.

По крайней мере на мэнфреймах были операционные системы с весьма изощренной логикой распределения ресурсов (потому что сильны были ограничения и относительно высоки требования) между заданиями. Причем логика была отчасти 'самоорганизующейся'. Современные ОС имеют механизмы динамических приоритетов (особенно ОСРВ). Операционная система таракана (ее функциональный эквивалент) должна быть по логике своей работы 'с самого начала' (и хотя бы в потенции) не проще логики ОС, если целью является постижение интеллекта их разработчиков..

С этим я абсолютно и полностью согласен.

Мало того, я считаю, что этот принцип построения сложных (а возможно в будущем и интеллектуальных) систем должен стать ОБЯЗАТЕЛЬНЫМ, базовым для всех.

И конечно же, веса не должны устанавливаться принудительно и произвольно. Вы стопроцентно правы в этом вопросе. Они в обязательном порядке должны настраиваться и подстраиваться под текущие условия.

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

У меня же - совсем другие цели и задачи (как вы выразились - "Гранд-цели").

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

Поэтому и начинать нужно именно с этого - "нулевого" уровня.
[Ответ][Цитата]
Vpolevoj
Сообщений: 1408
На: Нулевой уровень - интеллект таракана
Добавлено: 30 июл 13 6:39
Сделал у таракана поиск воды - выглядит довольно забавно, особенно, когда знаешь, по каким алгоритмам всё это работает.

http://yadi.sk/d/KH8PQ4oE6dskh

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

А затем зайти в параметры игрового мира, поставить число тараканов побольше (от 1 до 100), рекомендуется 12 (так как в мемо-поле больше не умещается), и нажать кнопку "пуск". Можете сгенерировать 100 штук, и увидите, как они хаотично бегают, но все они в конце концов найдут воду и их статус смениться с "ищет воду" на "пьет".
[Ответ][Цитата]
Анатоль
Сообщений: 1964
На: Нулевой уровень - интеллект таракана
Добавлено: 30 июл 13 7:07
А как они ищут? Бегают случайно пока не наткнутся, или чувствуют на расстоянии?
[Ответ][Цитата]
Vpolevoj
Сообщений: 1408
На: Нулевой уровень - интеллект таракана
Добавлено: 30 июл 13 9:50
Цитата:
Автор: Анатоль
А как они ищут? Бегают случайно пока не наткнутся, или чувствуют на расстоянии?

В программе я применил алгоритм поиска, который окрестил как "хаос с растущей амплитудой" (или просто - "Растущий хаос").

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

Получается постепенно растущий хаос, который в некоторый момент прерывается и возобновляется с новой позиции. Такое вот поисковое поведение.

Каждый вид цели таракан обнаруживает с конкретного расстояния (задается в настройках). У меня: воду таракан обнаруживает с 10 клеток, еду - с 20 клеток, дом - с 50 клеток, самку - со 100 клеток.

Почему я выбрал именно эти расстояния?

Я считаю, что концентрация химических агентов падает обратно пропорционально кубу расстояния. Поэтому с расстояния 10 клеток концентрация упадет в 10^3=1000 раз (то есть, таракан должен обладать чувствительностью к воде 1/1000), на расстоянии 20 клеток - 20^3=8000 (примерно равно 10000), то есть чувствительность таракана к еде должна быть 1/10000, 50 клеток - 50^3=125000 (примерно равно 100000), то есть чувствительность таракана к запаху убежища должна быть 1/100000, и наконец расстояние 100 клеток - 100^3=1000000, значит, чувствительность таракана к запахам половозрелой самки должна быть не ниже 1/1000000. Кстати, расстояние в 100 клеток при размере поля 100х100 вовсе не означает, что таракан почует самку везде. Из угла игрового поля в противоположный угол расстояние будет примерно в полтора раза больше, чем 100 клеток, и значит там таракан не почует самку. В этом, довольно редком, впрочем, случае, таракану придется самку бегать искать (примерно так, как он это делает в случае поиска воды), да и размер игрового поля всегда можно увеличить.

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

PS Хочу еще сделать у таракана переменной скорость бега, эмулируя тем самым различную активность. Активность будет зависеть от степени выраженности текущей потребности. Чем сильнее будет потребность, тем быстрее (и дальше) должен будет бегать у меня таракан. При этом, при быстром беге у таракана быстрее будут расходоваться силы, при медленном беге силы будут расходоваться медленнее.
[Ответ][Цитата]
Vpolevoj
Сообщений: 1408
На: Нулевой уровень - интеллект таракана
Добавлено: 05 авг 13 1:06
Вот ведь как бывает... (на самом деле, так бывает всегда, просто, я еще раз хочу на собственном примере проиллюстрировать это житейское правило).

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

Как выяснилось, так у меня не получается. Оказалось, что проще и удобнее все же делать программу, изначально закладывая в неё ту задачу, ради которой она и пишется. То есть, мне удобнее отлаживать различные потребности у таракана, если единая структура УЖЕ БУДЕТ ЗАЛОЖЕНА. Структура программы - это как скелет: если он есть, то нарастить на кости мясо - дело техники.

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

И теперь я вынужден НАЧИНАТЬ с того, чем собирался ЗАКОНЧИТЬ. С общей структуры психики таракана, а точнее, со схемы взаимодействия различных его потребностей, коих я планирую замоделировать всего пять.

Почему пять? Я об этом уже писал. Для наглядности. Меньше будет, на мой взгляд, не очень показательно (при меньшем числе потребностей, в таракане будет "мало жизни" - его поведение будет бедным и сильно механистичным, не гибким), а больше - уже бессмысленно (сложно, да и не нужно). Кроме того, я постарался для примера взять такие потребности, которые бы имели различную природу и отличались бы друг от друга (опять же, для наглядности и для большей "жизненности").

Итак, вот эта структура.



Немного пояснений.

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

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

А теперь немного о самих потребностях.

1. В сексе. (Или трахаться).

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

При каждом трахе уровень скачком падает на 10 ед, и таракан на время теряет интерес к сексу. После достижения уровня 50 ед, у него снова просыпается тяга к противоположному полу, он ищет себе партнера, трахается, и т.д.

2. В безопасности (выживании).

Триггерного типа. При включении света (наступлении дня) скачком поднимается от минимума до максимума (сразу до 100 ед). И таракан должен быстренько найти домик и спрятаться в него. Если он не успевает сделать это за 1 мин - он считается убитым.

До нуля эта потребность никогда не опускается, всегда держится на каком-то уровне - у меня 50 ед (но возможно этот порог будет корректироваться в процессе отладки программы). Это означает, что как только все остальные потребности таракана более или менее удовлетворены, он автоматически будет вспоминать про "безопасность", и сам, даже без включения света, будет прятаться в домик.

3. Пить.

Потребность в воде у таракана одна из базовых.

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

Восполняет таракан воду за счет питья. Сколько ед воды он потребил, столько потребности он удовлетворил. Условно, максимальное количество воды, которое таракан способен потребить (и носить в своем желудке) равно 100 ед. Следовательно, полностью заполненный водой желудок таракана - под завязку - тождественен полностью удовлетворенной потребности в питье. Наполовину полный желудок - означает текущую потребность в питье равную 50 ед. Пустой желудок означает потребность в питье равную 100 ед.

При отсутствии воды таракан у меня долго не живет - одни сутки - и всё! Это не совсем совпадает с жизнью, но так уж я захотел.

4. Есть.

Потребность в пище также одна из основных. Еда расходуется тараканом, также как и вода, равномерно по 1 ед в сек, и ускоренно при беге.

Восполняется при поглощении еды. Максимальное количество еды в желудке таракана - тоже 100 ед. И так же считается потребность. Полностью полный желудок - потребность в еде - 0 ед. Полностью пустой желудок - потребность - 100 ед.

Когда еды нет, то таракан может жить до 10 суток за счет "внутренних запасов питательных веществ" - жиров. Когда кончаются и они - таракан умирает. "Внутренние запасы" откладываются у таракана постепенно, при условии наполненности его желудка в течении, как минимум, полных суток (из 2 ед еды в желудке во "внутренние запасы" уходит 1 ед).

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

И последняя потребность.

5. Отдых.

Когда таракан бегает (перемещается), он расходует "запас сил" - устает. Чем быстрее он бегает, тем быстрее устает.

Максимальный запас сил, условно, 100 ед. Снижение запаса сил означает потребность. Чем меньше осталось сил - тем сильнее потребность в отдыхе.

Силы у таракана накапливаются во время отдыха - когда таракан неподвижен. По 1 ед в сек. Если таракан отдыхает в домике - скорость восстановления сил возрастает вдвое. Это значит, что отдыхать в домике выгоднее.

Весовой коэффициент у этой потребности самый маленький. Это значит, что отдыхать таракан будет "хотеть" только при условии явной выраженности данной потребности (сильной усталости) и при удовлетворении всех остальных потребностей хотя бы до приемлемого уровня. Но я так думаю, что при достаточно высоком пороге потребности безопасности, таракан и без того все свое "свободное время" будет проводить в домике, а значит, и отдыхать.
[Ответ][Цитата]
 Стр.4 (9)1  2  3  [4]  5  6  7  8  9<< < Пред. | След. > >>