Программная модель гомеостаза искусственного живого существа

Автор Palarm, января 09, 2023, 17:45:23

« назад - далее »

Palarm

Хотелось быть послушать конструктивную критику по поводу модели гомеостаза: насколько по вашему мнению она соответствует реальному гомеостазу некоего абстрактного живого существа в самых общих принципах.

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

Ниже дается описание части проекта программной реализации системы индивидуальной адаптивности искусственного существа, условно названного  Beast, а именно системы Гомеостаза.
Она включает в себя:
  • Базовые потребности – определяют первичную гомеостатическую цель адаптации, меняют значение под воздействием внешних и внутренних раздражителей.
  • Базовое состояние – три первичных уровня самоощущения, направляющих процесс адаптации: Плохо, Норма, Хорошо. Базовое состояние бывает локальным, для каждой Базовой потребности, и интегральным, на основе локальных состояний всех Базовых потребностей. Базовое состояние всегда находится в одном из Интегральных базовых состояний.
  • Порог выхода из нормы – значение Базовой потребности, пересечение которого изменяет Базовое состояние. Есть локальный Порог для каждой Базовой потребности, есть общий Порог, определяющий Интегральное базовое состояние на основе локальных Порогов Базовых потребностей.
  • Базовые контексты – стили реагирования, активирующиеся при изменениях значений Базовых потребностей и Интегрального базового состояния. Комбинация текущих активных контекстов образуют гомеостатический Образ восприятия, запускающий Безусловные рефлексы. Кроме того, существуют тормозные связи между Базовыми контекстами, задающие пары контекст – антагонист, которые не могут быть одномоментно активны.
  • Базовые действия – активные действия с Пульта, посылаемые оператором, и воздействующие на Базовые потребности, изменяя их значения.
Оператор, имитируя внешние воздействия, через Базовые действия Пульта меняет значения Базовых потребностей, что вызывает изменения Базовых контекстов, провоцирующих изменение Базового состояния и активацию Безусловных рефлексов. Рефлексы в качестве ответной реакции запускают аналогичные Базовые действия. В результате образуется система индивидуальной адаптации: действия оператора изменяют Базовое состояние, ответные действия рефлексов, спровоцированные действиями оператора, стабилизируют эти изменения.

Базовые потребности
При  запуске программы запускается генератор пульсации с частотой 1 сек, который синхронизирует выполнение следующих процедур:
  • Коррекция текущих значений базовых потребностей и базовых контекстов при внешних воздействиях.
  • Определение текущего состояния по каждой базовой потребности, затем общего интегрального состояния.
  • Взаимодействие с Пультом связи.
Основа гомеостаза – Базовые потребности (параметры), количество которых определяет сложность системы и возможную вариабельность адаптации. Базовые потребности задают первичную гомеостатическую цель адаптации – стабилизацию вышедших из нормы базовых потребностей. Они могут быть нарастающие и убывающие при пульсации, что определяет тип стабилизации: повышение или понижение значения параметра, если он соответственно станет выше или ниже критического уровня.
Вам недоступны вложения в этом разделе.
Критическое значение базовой потребности определяет Порог (компаратор), пересечение которого означает переход из одного Базового состояния в другое. Оно может принимать три величины, в зависимости от текущих значений базовой потребности и порога:
  • Плохо – если значение лежит в области после Порога у нарастающей базовой потребности, или в области до Порога для убывающей.
  • Норма – если значение лежит в области до Порога у нарастающей базовой потребности, или в области после Порога для убывающей.
  • Хорошо – состояние возникающее при переходе из Плохо в Норма. Оно всегда кратковременно, в данной версии длится 50 пульсов.
Вам недоступны вложения в этом разделе.
Вам недоступны вложения в этом разделе.
На графиках красным показаны критические зоны с нарастающей величиной ухудшения (значимости) состояния по мере удаления от Порога: чем дальше от порога, тем хуже по экспоненте. В данном случае в градации от 0 до 10. Показаны варианты с положительными и отрицательными величинами значимостей, что не принципиально.

Если текущее Базовое состояние Норма, то диапазон значений от текущего до Порога определяет Зону комфортного состояния, если текущее Базовое состояние Плохо, тогда диапазон значений от него до Порога определяет Критическую зону. Отсюда определяются уровни стабилизации Базовых потребностей:
  • стало Лучше – если произошло приближение или заход в Зону комфорта
  • стало Хуже – если произошло удаление или выход из Зоны комфорта
В общем смысле стабилизация Базовой потребности означает нахождение в Зоне комфорта, а выход из зоны – необходимость принятия мер для возврата в нее. При этом, чем больше Базовых потребностей, тем очевидно сложнее система гомеостаза и возникает вопрос о теоретическом минимуме (максимум определяется уже ТЗ на разработку, фантазией проектировщика и возможностями обработки массива сигналов).

Возможна ли самоадаптирующаяся система с одной базовой потребностью? В принципе да, можно даже уверенно сказать, что это будет энергобаланс. Всем нужна энергия, кто не следит за ее оптимальным уровнем – тот умрет. Но если вся адаптация будет крутиться только вокруг подзарядки, то например робот-пылесос быстро сообразит, что лучший способ сохранить заряд – не слезать с базы. Это станет его единственной целью и смыслом жизни, все прочее, включая заложенные разработчиком алгоритмы уборки, станут вторичны. Чтобы заставить его шевелиться придется прошить как минимум еще одну потребность, противоречащую первой – страсть к чистоте. И начнется борьба противоположностей с поиском компромиссов: начнешь убирать – будет потеря энергии, не будешь убирать – будет потеря жизненных ориентиров. И чем больше базовых потребностей, тем сложнее жить. Это можно сравнить с жонглером, крутящим тарелки на шесте: можно наловчиться с одной тарелкой подобрать такой ритм, чтобы она ровно и стабильно крутилась, но уже с парой тарелок такой номер не пройдет: пока одну стабилизируешь, другая идет вразнос. Придется метаться между ними в поисках оптимума, который тем сложнее найти, чем больше тарелок.
В текущем проекте используются Базовые потребности с одним порогом, но в принципе возможны схемы с несколькими. Ниже показан вариант с двумя.
Вам недоступны вложения в этом разделе.
Два Порога в этом случае задают границы зоны комфорта, и можно сказать, что схема с одним Порогом является частным случаем общей схемы с несколькими. Просто в этом случае в качестве Порога используется граничные значения Базовой потребности: 0 или 100. В зависимости от типа потребности – нарастающей или убывающей.

Базовое состояние
На основе локальных базовых состояний определяется Общее интегральное базовое состояние, которое является первым уровнем интегрального пускового образа рефлексов и автоматизмов. Для его получения учитываются уровни Плохо (насколько удалено текущее значение от Порога) по каждой потребности в виде суммарного отклонения, которое сравнивается с общим Пороговым значением 100, при превышении которого активируется интегральное Базовое состояние Плохо. Соответственно, если суммарное по всем Базовым потребностям Плохо меньше Порога – активно Базовое состояние Норма, а при переходе из Плохо в Норма активируется  Хорошо.

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

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

Базовые действия
Базовые действия имитируют внешнее воздействие на существо с определенной значимостью. Практически это реализовано в виде кнопок на пульте, нажатие которых активирует соответствующее действие.
Вам недоступны вложения в этом разделе.
Подобно контекстам, действия тоже могут быть антагонистичны, что означает невозможность одновременной активации анатагонистической пары, например «Заплакать/Засмеяться». Для удобства они выделены разным цветом (красным и зеленым). Допускается одновременная активация нескольких действий, но не более 3.

Рефлексы
Безусловные рефлексы активируют базовые действия, аналогичные действиям оператора с Пульта, то есть воздействия Оператора аналогичны ответным (рефлекторным) действиям Beast. Активация рефлексов происходит через интегральный пусковой образ, который включает в себя три иерархически заданных уровня:
  • текущее интегральное базовое состояние
  • комбинация актуальных базовых контекстов – контекстный рисунок
  • комбинация базовых действий
Такая иерархия определяет допустимые комбинации составляющих интегрального пускового образа рефлексов и определяет 2 типа безусловных рефлексов, у которых обязателен 1 уровень, но не обязательны 2 и 3:
  • Древние безусловные – у которых в интегральном пусковом образе присутствует только сочетание активных контекстов (контекстный рисунок)
  • Новые безусловные – где добавляется активация через кнопки действий.
Когда задан 1 и 2 стимул образа – это древний безусловный рефлекс, когда все 3 – новый безусловный. Нельзя задавать 1 и 3 пропустив 2, это ограничено иерархией формирования интегрального пускового образа, при такой попытке будет выдано соответствующее предупреждение.

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

Шаройко Лилия

#1
Вроде бы здорово как идея.
В целом похоже на базовые ориентиры живого как схему с упрощениями

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

Цитата: Palarm от января 09, 2023, 17:45:23Базовые действия имитируют внешнее воздействие на существо с определенной значимостью. Практически это реализовано в виде кнопок на пульте, нажатие которых активирует соответствующее действие.

 в примере не похожи на естественные стимулы сенсорики.

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

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

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

Картинки из лекций курса Дубынина "Нейрофизиология поведения":



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

Примерно по типу php оператора if-else

if(условие){
    // Код, который будет выполнен, если условие истинно
} else{
    // Код, который будет выполнен, если условие ложно
}

if(наказание){ $koord1=3,  $koord2=4;
    // если наказание отползание
} else{ $koord1=1,  $koord2=1;
      // нет наказания - остаемся на месте
}

Ну то есть понятно, что все сложнее, конечно
:)

То есть в программе отображена внутренняя стимуляция которая происходит уже после поступления внешнего и внутреннего воздействия на живое существо. Здесь наказание однозначное входящее воздействие.

Или я не до конца поняла схему.
И не ясно  - это программа, которая уже работает или схема плана программы?

Маikov

Цитата: Palarm от января 09, 2023, 17:45:23Хотелось быть послушать конструктивную критику по поводу модели гомеостаза: насколько по вашему мнению она соответствует реальному гомеостазу некоего абстрактного живого существа в самых общих принципах.
За конструктивной критикой лучше обращаться на форум dxdy. Это единственный русскоязычный действительно научный форум, где важны аргументы по существу, факты и логика, в противовес всяческой идейности или личной убеждённости. Неадекватов модераторы оперативно удаляют, поэтому продвигать идеи фикс там не выйдет. В основном там физика и математика, но есть и биология, и искусственный интеллект, программирование и так далее. Здесь же модераторы следят только за научностью в специальных палеонтологических разделах (это тематика форума, и они специалисты именно в этих вопросах). Поэтому все остальные разделы заполнены различного рода галиматьёй. Задумайтесь, что «конструктивного» вы сможете здесь получить. Пример такого «конструктива» в посте выше.

Цитата: Palarm от января 09, 2023, 17:45:23Наиболее общий признак, отличающий живое от не живого – наличие системы гомеостаза с жизненными параметрами с определенным оптимумом, выход за пределы которого для критически важных параметров приближает к противоположному состоянию – не живому.
Вы столько написали и не удосужились перед этим узнать, что такое гомеостаз? На dxdy тогда рано, если у вас ошибки уже в таких общих вопросах. Систем с гомеостазом огромное множество, биологические («живые» то есть) только их часть. А возникает гомеостаз только в открытых термодинамически неравновесных системах, к каковым относятся и биологические.

«Предыстория» гомеостаза — это хаотический режим активности системы, возникающий вследствие её интенсивного обмена со средой. Если это есть, то может произойти скачкообразное упорядочивание системы, то есть активность элементов системы скачком станет согласованной. И, соответственно, упорядочение — это и одновременное появление гомеостаза, как реакций сохранения возникшего порядка, несмотря на продолжающийся интенсивный обмен системы со средой. Общая причина упорядочения в том, что такое состояние энергетически выгоднее системе, так как позволяет более активно выводить поступающую в систему энергию. Упрощённо говоря, элементам системы проще двигаться, разделяя разнонаправленные потоки в пространстве, чем постоянно сталкиваться. В биологии это всё сложнее происходит, но общие физические принципы те же.

Цитата: Palarm от января 09, 2023, 17:45:23выход за пределы которого для критически важных параметров приближает к противоположному состоянию – не живому.
«Не живое» состояние — это равновесное. Например, как только вы ограничиваете интенсивность обмена организма со средой (перекрывает воздух, например), он «умирает» — интенсивность обмена со средой падает, а так как именно этот обмен причина его организованного состояния, то организм необратимо устремляется в состояние равновесия, покоя и беспорядка, распадаясь на отдельные элементы и растворяясь в среде. Поэтому, например, говорят, что системы с гомеостазом — это системы активные и необратимые.

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

В целом ваша затея — это, как я понял, создать программно живой организм. «Живой» прежде всего в том смысле, чтобы он «сам» в борьбе конкурирующих потребностей формировал своё поведение. Но у вас ничего не выйдет, так как вы всё пишете программно. Программа сделает только то, что вы в неё внесёте, и сделает это только так, как конкретно вы это в ней пропишете. То есть «само» ничего в программе не возникнет. А если не возникнет само, то всю сложность поведения вам придётся непосредственно прописывать самому, во всех нюансах. То есть то, что вы хотели бы, возникло «само», вам нужно будет непосредственно прописать. Но тогда что же возникнет «само»? Ничего. И затея с гомеостазом в этом случае тоже не имеет смысла — вы ведь всё равно всё прописываете непосредственно. Какая разница, как вы назовёте прописанное вами во всех подробностях поведение, если в сути оно так и останется обычной программой? Хоть балериной его назовите — от названия ничего не изменится.

Чтобы программа обучалась «сама», вам нужна нейронная сеть (или клеточный автомат). Но, во-первых, нейронная сеть всё равно не научится большему, чем позволит её структура — а параметры структуры задаёте вы. А во-вторых, и контролировать обучение тоже всё равно придётся вам, ведь без гомеостаза у сети нет того общего основания, что позволяет нам отделать разумное от неразумного, опасное от полезного и т. д.. Только это всё уже и так делается — вы же, наверное, слышали о нейронных сетях. При этом у сетей тоже есть принципиальные ограничения — и связанные с физикой, и с пределами возможного контроля их обучения человеком. Но это уже отдельный разговор.

Palarm

Цитата: Шаройко Лилия от января 09, 2023, 22:42:30И не ясно  - это программа, которая уже работает или схема плана программы?
Это часть программы Реализация моделей живых существ Но там слишком много всего, подумалось, что лучше по частям выкладывать.

Цитата: Шаройко Лилия от января 09, 2023, 22:42:30В природе нет внешнего стимула наказания как прямого сенсорного воздействия, есть цепочка последовательных шагов, воспринимаемых как наказание, точнее система положительного и отрицательного подкрепления действия
Совершенно верно. Никакое внешнее воздействие само по себе не может быть негативным/позитивным. Для этого нужна субъективная оценка его значимости для существа. Которое должно на чем то основываться. В данной модели такая основа - базовое состояние, которое изменяется от внешних воздействий и внутренних изменений. Выход из Нормы базового параметра означает активацию его локального состояния Плохо, интегральная оценка нескольких БП в виде суммы с учетом значимости каждого параметра - общее интегральное состояние Плохо. Оно является первым уровнем пускового образа запуска рефлексов.

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

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

АrefievPV

У меня сложилось впечатление, что вы описываете «оболочку» гомеостаза – то есть, логический уровень над  программным «гомеостатическим ядром». А ведь уровень  «гомеостатического ядра», как раз, и есть самый главный – на него в конечном итоге всё завязано.
 
Важный вопрос в теме уже прозвучал (система должна быть открыта), поэтому возникает следующий вопрос – каким образом обеспечивается открытость «гомеостатического ядра»?
 
На мой взгляд, «гомеостатическое ядро» должно существовать в сети (типа, одновременно на «железе» сразу множества компьютеров) и поддерживаться «притоком/оттоком» (или кратко – «перетоком») сигналов из сети (там ведь отдельный компьютеры в постоянном режиме обмениваются сигналами по сетевым протоколам (плюс пересылают друг другу пакеты данных)). Если утрировать до безобразия, то «гомеостатическое ядро» «питается» сигналами из сети (возможно, сигналами сетевых протоколов) и «выделяет» в сеть отходы своего примитивного «метаболизма», перемещается туда, где «пищи» больше и т.д.

Я немного об этом упоминал:
Цитата: АrefievPV от декабря 13, 2022, 06:24:32P.S. Допускаю, что и на программном уровне можно создать аналоги таких физических систем. То есть, создать некую программу (некий программный модуль), в которой внутренние алгоритмы были бы сцеплены/взаимосвязанными друг с другом и могли бы немного изменяться, при этом, не выходя за некие пределы. Разумеется, и петли обратной связи, и сами воздействия и т.п. – всё на программном уровне. Получилось бы нечто вроде программного «гомеостатического ядра», как основы самосохранения, присущего (и проявляемого в активной фазе своего существования) всем живым системам и необходимого для систем ИР.

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

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

Кстати, примечательный момент (из статьи на Википедии):
https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%87%D0%B8_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85
ЦитироватьСетевые протоколы предписывают правила работы компьютерам, которые подключены к сети. Они строятся по многоуровневому принципу. Протокол некоторого уровня определяет одно из технических правил связи. В настоящее время для сетевых протоколов используется сетевая модель OSI (Open System Interconnection — взаимодействие открытых систем, ВОС).

Обратите внимание: взаимодействие открытых систем.
 
А как это дело (открытость и пр.) реализовано у вас? 

Маikov

Цитата: Palarm от января 10, 2023, 06:27:08И как я понимаю, это одна из ключевых проблем построения само-адаптирующихся систем: если убрать учителя, кто будет говорить верно/не верно? Это будет определяться системой гомеостаза, ее базовыми интегральными состояниями. Из нее в дальнейшем вырастает более сложное внутреннее самоощущение.
Не будет определяться. Потому что гомеостаз вы не смоделируете. Как следствие, самостоятельное обучение системы у вас реализовать не получится. Попытка перейти от нынешних общих идей к практической реализации приведёт к тому, что поведение системы будет неадекватным. Попросту говоря, вам будет постоянно требоваться столько правок и постоянных уточнений и усложнений алгоритма системы, что по факту всё «обучение» системы будет проходить только вручную. Собственно, с этим вы уже и столкнулись, поэтому от слов к делу перейти никак не получается, одни только неработающие модели и громадьё планов.

Гомеостаз — это вообще не то, что вы думаете. Гомеостаз проходит на всех уровнях системы. За него не отвечает какой-то орган или система организма, а весь организм сразу. Например гомеостаз нашего организма имеет несколько уровней — от клеточного и оргазменного (гуморальная регуляция, морфогенез), до синхронизации активности нейронов в мозге. Вот это всё и является причиной нашей адекватности, а не просто какая-либо «потребность» в чём-то. «Потребности» — это выделенное нами проявление гомеостаза, а не наоборот.
***

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

Цитата: АrefievPV от января 10, 2023, 07:18:41Обратите внимание: взаимодействие открытых систем.
Это не открытые системы из физики. А гомеостаз - это физика (или биология).

Открытая система в информатике — аппаратура и/или программное обеспечение, которое обеспечивает переносимость и совместимость, а часто и их вместе с другими компьютерными системами.

Открытая система в физике — система, которая обменивается веществом и энергией с внешним по отношению к системе миром, в отличие от закрытых и изолированных систем, в которые и из которых ни вещество, ни энергия не могут войти или выйти. С понятием изолированной системы тесно связано понятие энтропии.

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

Два последних определения суть одно и то же, первое - не имеет к ним никакого отношения.

Palarm

Цитата: АrefievPV от января 10, 2023, 07:18:41Важный вопрос в теме уже прозвучал (система должна быть открыта), поэтому возникает следующий вопрос – каким образом обеспечивается открытость «гомеостатического ядра»?
 
Оператор - часть системы. Так же как среда обитания для живых существ. Если поместить новорожденного человеческого детеныша в сурдокамеру - получим через какое то время на выходе "овощ" с минимальным набором рефлексов. Здесь будет тоже самое, если просто включить программу и смотреть на нее.

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

Маikov

Цитата: Palarm от января 10, 2023, 07:43:49Оператор - часть системы. Так же как среда обитания для живых существ. Если поместить новорожденного человеческого детеныша в сурдокамеру - получим через какое то время на выходе "овощ" с минимальным набором рефлексов. Здесь будет тоже самое, если просто включить программу и смотреть на нее.
Родители не часть ребёнка. Поэтому им достаточно говорить с ребёнком, прикасаться к нему, а не лезть к нему в голову, чтобы поправлять код. Что будет у вас - см. в моём предыдущем посте.

И про аргументы ещё раз прочитайте. Ищите сильных оппонентов, а не тех, кто с вами согласен. Вы на Форните второй вариант уже пробовали - ничего не вышло.

Palarm

Цитата: Маikov от января 10, 2023, 07:54:27Родители не часть ребёнка
Они часть внешней среды, которая воздействует на него и направляет адаптацию. Если отдать его животным - будет маугли. Они не лезут ему в голову - он получает от них стимулы и модифицирует свои врожденные реакции.

Дарвинист

Цитата: Palarm от января 10, 2023, 08:03:00Они часть внешней среды, которая воздействует на него и направляет адаптацию. Если отдать его животным - будет маугли. Они не лезут ему в голову - он получает от них стимулы и модифицирует свои врожденные реакции.

Согласен, в первую очередь - мама.

Palarm

Цитата: АrefievPV от января 10, 2023, 07:18:41Если утрировать до безобразия, то «гомеостатическое ядро» «питается» сигналами из сети (возможно, сигналами сетевых протоколов) и «выделяет» в сеть отходы своего примитивного «метаболизма», перемещается туда, где «пищи» больше и т.д.
Почему обязательно сеть? Если я сделаю устройство-ящик с одной кнопкой, при нажатии которой в ящике что то будет меняться, а потом восстанавливаться, например разряжаться по кнопке конденсатор а потом заряжаться - это не будет модель гомеостаза? Есть внутренняя система подзаряда, есть внешне разряжающее воздействие - система самоподдерживает заряд, сопротивляясь моим воздействиям. Этого не достаточно?

Palarm

Вот пример моделирования простого живого существа с гомеостазом.

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

1. заведем переменную с диапазоном значений условно от 0 до 100
2. заведем 2 константы - критические значения, например 30 и 70. В итоге получим: 0-30 - зона недостатка, 70-100 зона избытка, 31-69 комфортная зона.
3. добавим ритмичное убывание параметра, имитирующее "остывание", естественный процесс потери температуры.
4. получим автоматически гомеостатическую цель твари: держаться зоны комфорта, иначе сдохнешь.
5. добавим 2 абстрактных рефлекса: 1 будет срабатывать при попадании в зону 0-30 и возвращать уровень энергии в зону 31-69, другой аналогично отрабатывать для возврата в комфортную зону из зоны избытка 70-100.

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

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

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

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

АrefievPV

Цитата: Palarm от января 10, 2023, 08:09:21
Цитата: АrefievPV от января 10, 2023, 07:18:41Если утрировать до безобразия, то «гомеостатическое ядро» «питается» сигналами из сети (возможно, сигналами сетевых протоколов) и «выделяет» в сеть отходы своего примитивного «метаболизма», перемещается туда, где «пищи» больше и т.д.
Почему обязательно сеть? Если я сделаю устройство-ящик с одной кнопкой, при нажатии которой в ящике что то будет меняться, а потом восстанавливаться, например разряжаться по кнопке конденсатор а потом заряжаться - это не будет модель гомеостаза? Есть внутренняя система подзаряда, есть внешне разряжающее воздействие - система самоподдерживает заряд, сопротивляясь моим воздействиям.
Потому что сеть не зависит от воли программиста и её ему не надо программировать (типа, она сама по себе).
В противном случае, программисту постоянно придётся программировать уже саму среду (а, как я понимаю, нам нужно чтобы эволюция происходила без участия программиста).

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

Цитата: АrefievPV от января 10, 2023, 07:18:41Этого не достаточно?
Этого не достаточно для эволюции, для поддержания гомеостаза достаточно. Таких систем с жёстко заданными обратными связями для саморегулировки и поддержания определённого состояния в технике очень много, но ведь не одна из них не эволюционирует, верно? Мало того, эти системы и живыми-то никто не считает.

Возможно, я плохо пояснил в прошлый раз...

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

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

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

Дарвинист

Цитата: Palarm от января 10, 2023, 08:18:00Обозначился ... тренд мутаций, ...

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

Популярные - имеются, вроде таких, см., https://elementy.ru/novosti_nauki/433625/Izolirovannye_populyatsii_podorozhnika_khuzhe_spravlyayutsya_s_paraziticheskim_gribom. Половой отбор обозначает некоторый тренд - но вследствие предпочтений особей другой подсистемы. Однако, если понятие тренда применимо к мутационным процессам, то это значит, что к ним можно подвести серьезную математическую базу, https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B5%D0%BD%D0%B4. Поэтому, может, лучше говорить о трендах в  о т б о р е  тех или иных мутаций?

Если я Вас неправильно понял, заранее прошу прощения...

Маikov

Цитата: Palarm от января 10, 2023, 08:03:00Они часть внешней среды, которая воздействует на него и направляет адаптацию. Если отдать его животным - будет маугли. Они не лезут ему в голову - он получает от них стимулы и модифицирует свои врожденные реакции.
Всё верно. Только вы исходите из того, что система, с которой осталось только говорить/обучать уже создана. Я же вам описываю причины, по которым это у вас не получится. Вы увязли в лишней для вашей программы сущности - гомеостазе. Лишней - потому что программно не реализуемой. А в том виде, как вы гомеостаз представляете, он ничего нового к программно заданному поведению системы не добавит, кроме лишней сложности самой программы. Фактически вы ничего нового не делаете, вы реализуете тот же самый подход, от которого давно отказались - вы пишете сложное поведение прямыми средствами, то есть без обучения. А об обучении только говорите, ошибочно полагая, что оно когда-нибудь вдруг появится.

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