“Я – человек. И я, как таковой, еже-дневно получаю свою долю от всех вещей мира. Эта доля приходит ко мне благодаря моим собственным усилиям вместе с усилиями других. Упростив этот процесс, я найду способ, которым питание достигает людей и узнаю кое-что о "как и почему". Упрощай свои обстоятель-ства, и природа поступит примерно так же” Так говорил отшельник из одного суфийского сказания. Он понял, что мир устоен так, что в нем уживаются люди и звери с разными способностями и несмотря на это каждый получает свою долю. Чтобы построить модель мира в компьютере нужно для всех существ, в нем обитающих, установить такой же закон. Итак: Агент, усложняя свою нейронную сеть, не удлиняет, а усложняет себе жизнь. У этого закона должны быть следствия: Те, кто знает, что погибают от голода, обречены всю жизнь есть; Те, кто знает, что пища распределена неравномерно, обречены всю жизнь искать где больше еды; Те, кто знает, что переедать необязательно, а запас ограничен, обречены всю жизнь ограничивать себя; Те, кто знает, что другие могут съесть их пищу, обречены на одиночество; Те, кто знает, что можно поделиться с другими, когда им голодно, обречены всю жизнь ждать от других того же, когда будет голодно им; Те, кто знает, что не все одинаково добры, обречены всю жизнь помнить о прошлых поступках каждого; Те, кто знает, что главное производить впечатление доброго, обречены всю жизнь притворяться; ... Примерно тот же закон заключен в пирамиду Маслоу. Пирамида Маслоу была разработана с целью описания наиболее общими понятиями и объяснения причинно-следственных связей процесса самореализации личности. Привязка понятия к уровням Пирамиды Маслоу означает возникновение нового качества среды, в которой происходит формирование и реализация личности. Уровни оптимизирует инфраструктуру для: • удовлетворения физиологических потребностей • безопасной жизнедеятельности • развитых коммуникаций Агент поднимаясь на более высокий уровень «самореализации» добавляет в свою нейронную сеть по нейрону: Есть еда или нет Еды много или мало Я сыт или не очень Рядом есть другие агенты или нет Что дороже репутация доброго агента или сытость Какова репутация другого агента На каком уровне развития другой агент ... Таким образом соблюдая всего один закон мы можем сколь угодно усложнять нейронную сеть агента, не увеличивая колличество фундаментальных мотивов агента. А это значит что можно построить мир одинакого справедливый ко всем: Когда в стране засуха страдают и крестьяне, и синоптики, и священники. Это свойство «заточенноси» мира на одну цель может пригодиться во многих реальных системах. Допустим строится поисковая система. Так как цель устанавливается нами, мы можем заставить всех агентов искать нужную нам информацию сообща, указав что они теперь должны питаться найденными упоминаниями ключевых слов. Примеры нейронных сетей агентов, находящихся на разных уровнях «самореализации»: В таблицах по вертикали перечислены нейроны получающие сигнал из внешней среды, по горизонтали - нейроны, получающие сигнал о внутреннем состоянии агента. По последним формируются мотивации. Нейроны, разделенные двойной чертой альтернативные и имеют веса, которые учитываются при выборе действия. Действия: е – ест х – ходит у – удаляется д – отдает часть еды ? – настраеваемая величина, принимает значения соседних клеток
1) Однонейронный Есть еда е Нет еды х
2) Нечеткий однонейронный Много еды е Мало еды ? Нет еды х
3) Нечеткий двухнейронный Сам сыт Сам в норме Сам голоден Много еды е е е Мало еды х ? е Нет еды х х х
4) Нечеткий трехнейронный с весами (асоциальный) Сам сыт Сам в норме Сам голоден Много еды е е е Мало еды х ? е Нет еды х х х Сосед у ? х
5) Нечеткий четырехнейронный с весами (социальный) Надо подымать репутацию Своя репутация нормальная Своя репутация хорошая Сам сыт Сам в норме Сам голоден Много еды х е е е е е Мало еды х х х х ? е Нет еды х х х х х х Сосед д ? х х х х
6) Нечеткий четырехнейронный с нечеткими весами (мультисоциальный) Надо подымать репутацию Своя репутация нормальная Своя репутация хорошая Сам сыт Сам в норме Сам голоден Много еды х е е е е е Мало еды х х х х ? е Нет еды х х х х х х Злой сосед ? х х х х х Норм. сосед д ? ? х х х Добр. сосед д д д д х х Все перечисленные особи составляют «лестницу природы», где каждая высшая особь содержит признаки общие с низшей. Это дает надежду, что в искусственном мире, построенном по этим правилам смогут сосуществовать разные особи и эволюция популяции не будет однобокой. Был проведен эксперемент для трехнейронных особей и показал что агенты с разными нейронными сетями могут конкурировать. Программа была написана на Delphi. Характеристика модели. Компоненты. В модели рассматривается 6 агентов 2-х видов, перемещающихся по квадратному полю StringGrid 16х16. Описание поля: Поле имеет 2 численных настройки: Edit1 и Edit2 В клетках поля могут находиться ресурсы двух видов простые и бонусы, соответственно клетки бывают небонусными и бонусными. Бонусной является каждая Edit2-ая клетка. Она отмечается знаком $ и содержит 10 единиц ресурса. Остальные небонусные клетки содержат от 0 до Edit1 единиц. Алгоритм на Delphi Делфи выглядит так: for i:=0 to 16 do for j:=0 to 16 do begin StringGrid.Cells[i,j]:=random(Edit1); if (random(Edit1) mod Edit2=0) then StringGrid.Cells[i,j]:='$'; end; Описание агентов: Каждый агент описывается структурой: TAgent=record stylelife:string; pos:TPoint; kkal:integer; color:TColor; end; где pos – двумерные координаты положения агента на поле, kkal – энергетический ресурс агента, stylelife – стиль жизни, может принимать значения: 'radical', 'conservator' или 'dead' При рождении агенты принимают первый или второй стиль жизни, который диктует, как определяются мотивации агента. Стиль жизни агента становится 'dead', если его внутренний ресурс истрачен, а внешнего ресурса больше нет. if (StringGrid1.Cells[P^.pos.x,P^.pos.y])<1)and(P^.kkal<1) then P^.stylelife:='dead'; Определены две пороговые настраевыемые величины, определяющие агент голоден, в нормальном состоянии или сыт: MinKkal и MaxKkal. Мотивация. Логично, что когда агент голоден, он ест при любом удобном случае, когда сыт – вообще обходится без еды. Но если он и не сыт, и не голоден то он руководствуется некими личными мотивами и выбирает одну из 2-х стратегий для выживания: (1) Копить ресурсы оставаясь на месте (е), (2) Перемещаться по полю в надежде найти бонус, который сразу даст 10 единиц (х). Агентов, выбирающих первую стратегию, назовем консерваторами, вторую радикалами. Не исключается, что агент-консерватори может также обнаружить бонус, но так как бонусы быстро кончаются его шансы меньше. Итак каждый имеет по 3 нейрона (группы нейронов): 1) Бонус\Простой ресурс\Пусто 2) Сам сыт\Сам в норме\Сам голоден 3) Консерватор\Радикал Первый зависит от внешней среды, второй и третий зависят от внутреннего состояния агента и формируют мотивации, причем у второго преоритет выше. Сам сыт Сам в норме Сам голоден Консерватор Радикал Бонус $ е Е е е х Простой ресурс х ? е е х Пусто х Х х е х Нейронная сеть выглядит так: И ИЛИ И И И ИЛИ Интерпритация и применение. 1) Агенты – конкурирующие предприятия, клетки – неосвоенные секторы рынка. 2) Агенты – стада, клетки - пастбища. 3) Агенты - соискатели , клетки - работодатели при наемном характере работы с повременной оплатой. 4) Агенты – поисковые системы, за ход выдающие ограниченное количество ссылок, близких к искомому с разной степенью, клетки – тематические сайты. ... Результаты эксперемента. Edit1=5 и Edit2=3; MinKkal=10; MaxKkal=50; Радикалы достигают большего богатства, но часто 1 раз в жизни, при малом количестве бонусов их жизнь короче, чем у консерваторов. Консерваторы достигают достаточного богатства несколько раз в жизни и почти не умирают на начальных стадиях. Настраивая величины Edit1,Edit2,MinKkal,MaxKkal можно моделировать разные ситуации.

Скрин1
Скрин2

Используются технологии uCoz