[userpic]

Молекула программирования человеческой активности

metanymous в Metapractice (оригинал в ЖЖ)

Программирование для моделирования ЧА, выпуск 3

Программирование для моделирования ЧА
  3. Молекула программирования человеческой активности 43 metanymous
  2. UML-моделирование 4 metanymous
  1. Разбираемся с UML 62 eugzol
Местоимения для позиций восприятия
  3. Пятая позиция восприятия для моделиста metanymous
Феномены/паттерны ЧА
  5. Сверхчеловечина metanymous
    Восемь типов паттернов metanymous
Программирование для моделирования ЧА
  2. UML-моделирование metanymous
Metapractica
  8. Коммуникативные метанойи – актуализируем список meta_eugzol
    Метанойя ЦИ meta_eugzol
Моделирование Ценностных Иерархий (ЦИ)
  43. "Прозрачный ящик" с архитектурными компонентами психики metanymous
    Re: офф metanymous
Сводные темы
  11. Всеобщая человечность vs ч. на жизненном цикле проектов vs бесчеловечность metanymous
Местоимения для позиций восприятия
  3. Пятая позиция восприятия для моделиста metanymous
http://metapractice.livejournal.com/383873.html
Оригинал взят у meta_eugzol в Молекула программирования человеческой активности
Единицей программирования ЧА (ПЧА), вероятно, является следующая триада:
— Детектор
— Программатор
— Актуатор

Слайд1
Ага, как там было: «атом переводится с греческого неделимый и состоит из ядра и электронов» :) Разъясню противоречие. В данном случае составные элементы единицы существуют лишь концептуально, для удобства разговоров о ней.
Если попытаться буквально разделить единицу на несколько частей, то получится примерно как с магнитом (только у того два полюса, а тут три элемента): разделённые части вновь образуют каждая по целостной единицей, в каждой из которых будут все три концептуальных элемента.
Вероятно, всё же, отдельные концептуальные элементы молекулы ПЧА обладают относительной автономностью: молекулы могут как бы обмениваться элементами. Или, если сказать иначе, отдельные элементы образуют свои собственные пулы, то есть, условно говоря в "психике", есть:
— пул всех детекторов
— пул всех программаторов
— пул всех актуаторов (или делателей, экспрессоров — не знаю, какое слово будет лучше выбрать)
Мы никогда не сможем выявить отдельный (из трёх возможных концепутальных типов) "атом" — из-вне всегда будет наблюдать единомоментная активность одной или более "молекулы". При этом есть устойчивые тройки детектор-программатор-актуатор (именно поэтому и имеет смысл вообще заводить разговоры о молекуле ПЧА).
Но, вдруг может так оказаться, что атомы скомбинировались в совершенно новую, причудливую конструкцию, новую молекулу, которая раньше не наблюдалась.
В свою очередь, именно поэтому имеет смысл говорить о наличии этих концепутальных элементах, атомах. Потому что молекулы смешиваются.
Где живут молекулы ПЧА — никто не знает. Некоторые, наверняка, частично "во вне", некоторые почти полностью "внутри".
Слайд2
Внутренняя структура молекулы могла бы быть, например, вот какая.
Слайд3
Детектор "зажигается", когда приходит определённый сигнал от восприятия (синяя линия сверху). Точнее сказать вот как: все детекторы подключены к общей "шине" восприятия. Практически, ресурсы общей шины не ограничены.
То есть можно подключить сколько угодно единомоментно активных детекторов, они не будут создавать никакой нагрузки.
Более точно, конечно же восприятие это активный процесс (задействующий определённые движения), поэтому каждый детектор будет задавать (и задействовать) определённый сорт постоянно делаемых (всегда включенных) движений. То есть детектор, методологически корректно было бы назвать "извлекателем" (паттернов/инвариантов).
Может быть и переименую потом в "экстрактор" :)
Поэтому, казалось бы, множество задействованных в системе детекторов должны бы вызывать, условно говоря, увеличение нагрузки на систему. Но на деле, похоже что так получается, что движения "детектирования" (извлечения инвариантов) так ловко, бессознательно складываются в иерархическую систему, которая работает чрезвычайно эффективно.
Поэтому, добавление распознавания/извлечения ещё одного паттерна, не вызывает линейного увеличения времени исполнения всего кванта "воспринимающих действий".
Все детекторы работают априори (в конфигурации по умолчанию) параллельно. Соответственно, все молекулы ПЧА, детекторы которых были задействованы, начинают свою работу также одновременно.
Детектор вызывает непосредственное, связанное с последними выставленными установками, срабатывание актуатора. Типа таких рефлекторных действий. Это обозначено синей стрелкой слева вокруг прямоугольника (непосредственная реакция).
Одновременно, программатор поглощает текущие параметры срабатывания детектора.
С некоторой задержкой (условно говоря, на один такт) программатор делает две вещи.
Во-первых, передаёт актуатору результат обработки сигнала детектора. В этот момент акутатор модифицируется: на следующем такте он уже будет реагировать по линии непосредственной реакции.
Во-вторых, передаёт детектору новые параметры сигнала, на который требуется реагировать. Или, точнее: модифицирует функцию отклика детектора на некий сорт/класс сигналов.
Именно поэтому программатор так и назван: он изменяет функционирование детектора и актуатора, то есть, программирует их.
Детектор, в сущности, аналоговое устройство. Актуатор — тоже. Программатор — может быть и чисто аналоговым, но в общем случае представляет собой цепочку (схему из) аналоговых и дискретных преобразователей. Аналогового-цифровой и цифро-аналоговый преобразователь.
Актуатор передаёт команду на двигательный процессор. Задача двигательного процессора, по меньшей мере, синхронизировать и стабилизировать двигательную активность, которая возникла по итогам сигналов различных актуаторов.
Наконец, срабатывание детектора может в свою очередь по цепочке заставить сработать другие детекторы (или другие молекулы ПЧА). Иначе говоря, когда мы что-то обнаруживаем внутри нашего сенсорного опыта, сам факт такой находки становится сенсорным опытом. Так как детекторы, по сравнению с другими двумя компонентами, работают очень быстро, можно сказать, что даже подобное цепочное "зажигание" детекторов происходит одновременно.
Рассмотрим простую "молекулу" ПЧА: тебе-управление дыханием (то есть, управление дыханием субъекта).

пча
Верхней пунктирной линией обозначена условная граница "восприятия". По "ту" (сверху, внешнюю) сторону находится сырой опыт, бесконечное количество инвариантов и паттернов. Или, ВАКОГ.

По "эту сторону" находится восприятие, которое вычленяет ограниченный набор паттернов из внешнего ВАКОГ. Это условность, для удобства практического понимания.
В данном случае нам не требуется привлекать концепцию собственно "восприятия": мы можем пока что отделаться, сказав, что восприятие, это простая сумма всех работающих детекторов (вероятней всего — мы это предполагаем, но в данном заходе на будем на этом делать акцент — в том числе упорядоченных иерархически).
То есть "восприятие" — это как бы та (виртуальная) "шина", на которой работают (к которой подключены) детекторы.
Молекула состоит из двух детекторов: один настроен воспринимать "твоё" дыхание, а другой "своё дыхание" (субъекта и оператора, соответственно). Как детекторы обучились (были настроены/запрограммированы) это делать — вопрос отдельный — в данном примере рассматриваем уже функционирующую, эволюционировавшую молекулу.
Центральный прямоугольник (подпись вынужденно уехала направо — "процессор") отвечает за атом программатора.
Например, наша молекула в целом работает следующим образом:
(1) Поддерживает некую разницу фаз между дыханием субъекта и дыханием оператора, так чтобы дыхание субъекта легче "прилипало" к дыханию оператора.
(2) Медленно уменьшает частоту дыхания оператора. Но так, чтобы разность фаз не выходила дальше предельной (поскольку иначе "раппорт прилипания" будет потерян). При этом сдвиг происходит в ту сторону и до тех пор, пока не будет достигнута целевая частота.
Теперь понятна условная схема структуры процессора. Можно было бы изобразить её гораздо точней, чему помехой лишь объём вложенного в её обдумывание труда и времени. Хочется подчеркнуть, что её можно изобразить с абсолютной точностью, буквально как схему некоторого радиотехнического/кибернетического устройства. Такая чрезвычайная точность для иллюстрирующего примера не требуется, но она в описании подобных молекул прагматически достижима.
Отдельно отмечу, наличие в процессоре "целевой частоты". Как она там живёт это, в общем-то, большая методологическая и практическая сложность. Более корректно (но менее удобно для описания) было бы изобразить её отдельным детектором — например, некий внешний периодический процесс (часы, метроном и т.д.) может служить эталонным генератором целевой частоты. С другой стороны, это может быть внутренний процесс (определённые ощущения от своего дыхания, например, связанные с переходом в режим ПовДыха).
Наконец, рассчитанные данные по необходимой коррекции фазы и коррекции частоты поступают на акутатор, который, суммируя их, корректирует сигнал поступающий двигательному процессору. Если нет никакого конкурирующего актуатора, задействующего дыхание, это приводит непосредственно к его изменению.
Мы рассмотрели пример чисто аналоговой молекулы (то есть молекулы с чисто аналоговым программатором). Теперь можно перейти к обобщённому устройству программатора.
Слайд4
Каждый из выделенных блоков может быть любой комбинацией цифровых и аналоговых преобразователей.
В предыдущем примере блок "памяти" не требовался: достаточно было информации о предыдущем такте, которая извлекалась либо непосредственно из внешнего опыта ("моё дыхание" всегда в известных пределах запаздывает или опережает, в зависимости от направления воздействия, "твоё дыхание"), либо из "задержки" процессора (информация из процессора поступает на актуатор с задержкой, по сравнению с информацией непосредственно от детектора).
В общем же случае, для функционирования молекулы может потребоваться доступ больше чем к одному-двум предыдущим состояниям, для чего нужен блок памяти (данный блок не имеет отношения, в общем случае, к "памяти человека" в общеупотребительном смысле, это набор необходимой для функционирования лишь отдельного процесса, молекулы ЧА, информации). "Стеком" я его называю в терминологии/традиции программирования, или дискретной математики, имея в виду что указанный блок иногда целесообразно рассматривать как набор упорядоченных элементов, работающих по принципу "последний вошёл, первый вышел" (то есть самая новая информация всегда есть первая доступная/извлекаемая).
С блоком "цель" мы уже знакомы в нашем примере.
Ровно те же рассуждений, что мы для этого блока проделали выше, стоит повторить и для блока "память". То есть ключевой вопрос в том, где она живёт и как оказывается доступна процессору. И удовлетворительным ответом на этот вопрос может быть только следующий: она каждый такт сызнова считывается специализированным детектором (который мы не указываем на схеме для простоты получаемых иллюстраций).
То есть операция записи в память — это специальная команда актуатору, которая на следующем же шаге зажигает специализированный детектор, факт чего передаётся процессору. То есть "память" как относительно неизменный (сущий) объект может существовать лишь во внешнем опыте. Для молекулы ПЧА "память" есть постоянно активный процесс перезаписи/пересчитывания.
Процессор может перенастраивать детектор. Нам это не потребовалось в предыдущем примере (будет рассмотрено в дальнейших), поскольку мы сделали специальную оговорку, что детекторы уже были готовы к работе априори.
Наконец, актуатору доступен блок "вариатор", то есть целесообразно считать, что процессор может подать актуатору весьма обобщённую команду изменить режим работы (потребовать вариации), на что тот, в зависимости от параметров такой команды, может ответить разной степени детерминированности (от совсем случайного до точно предсказуемого) изменением.
Если интересно, в следующем посте расскажу о концепциях самообучения/самонастройки и взаимодействия молекул:
— через слияние, на примере функции интеграции якорей
— через размножение почкованием :), на примере калибровки сигнальной системы
— через растворение молекулы в среде

43 комментария

сначала старые сначала новые