Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024)

Материал из 0x1.tv

Докладчик
Даниил Исакевич

Язык записи химических реакций обобщён для описания развития. Показан пример представления высокоуровневого понятия на полученном «метахимическом» языке.

Предложена графическая нотация, изображающая наборы формул языка в виде графов и реализованная средствами Рефал-М и graphviz.

Видео

Презентация

Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024).pdf

Thesis

Предыстория

Классической логики для описания развития недостаточно; нужна неклассическая[1] со своим языком — например, общеизвестным языком записи химических реакций.

Попытки расширить его применения: учение о «специальной химии», которая «рассматривает как элемент каждую субстанцию, имеющую отдельную функцию, даже самую сложную»[2]; утверждение о том, что «связи в ландшафтах напоминают цепочку реакций, которые совершаются в них»[3]; переусложнённая линейная логика Жирара[4].

Описание языка

Две связки, достаточные для записи реакций:

  • соединение «+» (коммутативное и ассоциативное) и превращение «→»;
  • «+» имеет приоритет перед «→», так что выражение

пишем без скобок. Чтобы строить формулы-определения, добавим в язык символ «=». Пример:

Формула определяет «C» — соединение «A» и «B».

Формула определяет «элемент» «C» — «субстанцию, имеющую отдельную функцию»[2] превращать (при его наличии) в «B».

Эти «субстанции» сами могут участвовать в соединениях и превращениях.

Так мы получаем «химическую» надстройку над языком реакций — «метахимический» язык соединений и превращений (ЯСП). Соединения этих «субстанций» могут повлечь недетерминированность их функции, например

есть превращение в одну из альтернатив и .

Это превращение можно использовать, чтобы формализовать понятие выбора и :

Полученный набор формул — второго уровня (содержит превращения превращений).

Графическая нотация

Набор формул ЯСП изображается схемой. Пример — на рисунке.

Схема набора формул «Выбор»

Схема — граф, имеющий узлы имён (с текстовыми метками), соединения «+» (частей в целое), превращения «→» (входа в выход).

Дуги входа и выхода снабжены стрелкой, направленной соответственно к узлу превращения и от него. Ещё одна дуга при узле превращения не имеет стрелок, определяет само превращение и может быть связана другим концом с узлом имени. Одна из дуг при узле соединения изображает соединение, а остальные дуги — его составляющие.

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

Катализаторы

Взаимодействие — реакция вида . Если одна из взаимодействующих частей неизменна, то реакция — действие неизменной части на меняющуюся. Например, в формуле

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

и схемы выразительней.

На схеме катализатор будем изображать при узле превращения как отдельную дугу с двумя стрелками.

Схемы формулы «Чтение»: без явного выделения катализатора
Схемы формулы «Чтение»: с явным выделением катализатора

Программная реализация

Для ввода связок ЯСП с клавиатуры используются +, ->, =:

Чтение = Читатель + Книга -> Умный читатель + Книга.

Имена можно снабжать HTML-разметкой. Формулу можно размещать на последовательных строках и нужно завершать точкой. Конец набора формул — пустая строка либо конец файла. Программа[5] на Рефале[6] читает набор формул и превращает его в описания узлов и дуг, которые включаются в описание графа схемы для программы dot пакета graphviz.

Язык соединений и превращений для формальной эвологии (Даниил Исакевич, OSSDEVCONF-2024)!.jpg

Примечания и ссылки

  1. Непейвода Н. Н. Прикладная логика: учебное пособие. 3-е изд., существ. перераб. и доп. — Москва, Берлин: Директ-Медиа, 2019. — 575 с.: ил. DOI: 10.23681/561272
  2. 2,0 2,1 Успенский П. Д. В поисках чудесного. Фрагменты неизвестного учения. Перевод Н. В. фон Бока. — СПб.: Издательство Чернышева, 1992. https://lib.ru/URIKOVA/USPENSKIJ/poiski.txt
  3. Кружалин В. И., Симонов Ю. Г., Симонова Т. Ю. Человек, общество, рельеф: Основы социально-экономической геоморфологии. — М.: Диалог культур, 2004. — 120 с., 8 с. цв. вкл.
  4. Girard J.-Y. Linear Logic: Its Syntax and Semantics. [1]
  5. Исакевич Д. Преобразователь формул ЯСП в схемы GraphViz. [2]
  6. Трусов С. strusov/refal-machine: Исполнитель диалекта Рефал. [3]