Я вам просто для рефлексии ваш вопрос прокомментирую. Дело в том, что для моделирования сложных систем, нужно сперва понять, что из себя представляют эти системы. Moжете почитать про
World3 - компьютерная модель
для рассчета макро-показателей мира.
Модель никогда не будет идеальной. Поэтому нужно точно знать, что мы хотим смоделировать. И какие ограничения это накладывает.
Хочу создать маленький мирок с обитателями, по задумке в нем будет несколько сотен жителей в нескольких поселениях, которые смогут друг с другом общаться, заниматься какой-то деятельностью
Это агентное моделирование. Можете попробовать NetLogo, например.
Как лучше сделать "сознание" бота, чтобы он был самообучающимся
Чему он должен будет обучаться? Создать простейший механизм обучения можно по принципу
спичечных коробков Дональда Митчи но и в то-же время организованным?
что значит быть "организованным"?
Какую информацию о окружающей среде бот должен воспринимать
А он должен? Для чего это нужно?
Как организовать семантику языка жителей
А они должны общаться? Для чего им это нужно?
Ведь он должен быть значительно упрощен, чтобы вычислительные мощности позволили его воспроизвести, к тому же направлен на деятельность.
Не решив базовых вопросов вы углубляетесь в конкретику, на данном этапе не релевантную.
Я хочу чтобы жители обсуждали свои проблемы, решали их
Это предложение должно было стоять выше, поскольку описывает условие. Почему у жителей должны быть проблемы? Какие проблемы? Что значит решить проблему?
Общались, торговали, занимались политикой и может... философией
Какова будет цель этих действий, и что значит заниматься политикой, философией? Что вы понимаете под политикой?
Как видите, чтобы создать модель чего-то нужно сначала понять что-то.
И еще читайте про
имитационное моделирование