Anatoly Levenchuk (ailev) wrote in openmeta,
Anatoly Levenchuk
ailev
openmeta

Category:

Моделирование, метамоделирование, программирование, кодирование

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

ailev> Я бы тут завел другой не менее, а более жаркий спор: чем отличается моделирование от программирования?
А еще есть -- кодирование. Вот тут можно крепко засесть

metanymous> Программирование создает язык, а затем с помощью его создает новые объекты.
1. Моделирование создает Язык модели, который должен компилироваться нервной системой с NLP+некоторым числом Языкоидов+некоторым числом кодов, которорые уже есть "внутри" человека. Человек - это "машина компиляции".
2. Основная цель модели вызвать Изменение. В Восприятии, Представлении, Мышлении, Эмоциях, Физиологии, Поведении.


Это какое такое тотальное Изменение должна вызвать модель в человеке? Формулировочка-то не про "обеспечение изменений", а про Изменение! Ну да ладно -- пока потушим тут свет, завтра разберемся ;)

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

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

Коммуницирующий homo sapience -- это "Человек разумный общительный", а не Человек, коммуницирующий в момент разумности или Человек разумный в момент коммуникации. Это такое уточнение в названии вида, чтобы показать неотрывность разумности и общительности.

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

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

Кодирование -- это этап создания исполняемой модели на заданном исполнителе ("процессоре"), перевод из tacit knowledge в explicit knowlegde для этого исполнителя. Ежели исполнителем является человек, то это обеспечение понятности модели для других людей. Код -- это отчужденный от конкретного исполнителя текст (в общем семиотическом смысле этого слова, необязательно из букв и цифр) модели.
Так, можно хорошо воспроизводить работу Милтона Эриксона и быть его (натурной) моделью, но кодирование подразумевает изложение этой модели в знаковом виде и в таком виде передача для исполнения другому субстрату.

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

Вот в таком аксепте.

Таким образом, в нашем случае (исполнитель модели -- человек). Человек является исполнителем двух кодов:
1. Код "модели моделирования" (корпус знаний НЛП), получается путем понимания и присвоения знаний по НЛП. В нашем случае -- это Третий (новый, классический) код. Понятно, что у психоаналитика тоже есть свой Фрейдистский код ;)
2. Код конкретной модели поведения, полученной и выполняемой (а иногда -- и кодируемой) в языке Третьего кода.

Разные Коды (как и любые другие модели) конкурируют между собой по

  • точности воспроизведения целевых аспектов моделирования мира

  • скорости исполнения полученного кода

  • эффективности инсталляции

  • возможности кодирования конкретных моделей, полученных с использованием Кода (отслюнявливания модели от ее носителя)


Старый код выигрывает у Ad Hoc психологических кодов в точности воспроизведения и скорости исполнения полученного кода и эффективности инсталляции.
Новый Код выигрывает у Старого по точности воспроизведения целевых аспектов, но проигрывает по возможности кодирования конкретных моделей.
Третий код в данный момент топчется на возможности выигрыша у его предшественников по эффективности инсталляции (вся тема ОВД и Паттерн Моделирования -- это про это) и возможность кодирования конкретных моделей (вся дискуссия о том, достаточна ли новокодовая возможность натурного моделирования других людей).

Конечно, предлагаемое понимание связи понятий Моделирования, Кодирования, Программирования нуждается в коренной лексической переработке -- ну да уж пока хоть какое-то письменное выражение лучше, чем никакого ;)

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

Из подходов программирования-моделирования, которые четко выделяют подход с абстрактрыми Исполнителями, действующими в своих Мирах -- подход Лебедева-Кушниренко. Он учит не столько программированию на языках, сколько моделированию. Поэтому программисты недолюбливают эти учебники программирования (школьный и вузовский), а другие люди не могут понять, о чем это их авторы талдычат. Ведь они явно не учат программистским заморочкам про двойные циклы, а только знай себе тренируют мышление по этому самому"мета"-переходу...
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 8 comments