PGR писал(а):
Владимир Паронджанов писал(а):
...
То есть математика здесь безукоризненная.
...
Где можно прочитать это математически строгое описание
Дракона?
Где можно прочитать это математически строгое описание Дракона?
Уважаемый PGR!
Благодарю за вопрос. Вы подняли важную проблему, которая до сих пор не получила критического внимания и должного критического анализа со стороны участников форума.
Мой ответ состоит из трех частей:
• предварительные замечания;
• ответ по существу
• дополнение.
ПРЕДВАРИТЕЛЬНЫЕ ЗАМЕЧАНИЯМое математическое описание открыто для критики. Более того, я в высшей степени заинтересован в получении критических замечаний на мое теоретическое обоснование.
Вопрос. Кому нужно знать эту математику?
Ответ. Только разработчику дракон-редактора. Пользователю дракон-редактора знать ее не нужно. Эта математика должна быть реализована в алгоритмах дракон-редактора и скрыта от пользователя. Имеется в виду, что автор дракон-редактора правильно его спроектировал. Если же автор редактора допустил математические погрешности (прекрасный пример такой погрешности привел Алексей Донской), то редактор не выполняет своих защитных функций. И неприятности вываливаются на пользователя. Это не есть хорошо.
ОТВЕТ ПО СУЩЕСТВУОтвет делится на пять пунктов.
Пункт 1. Конструктивное определение, о котором пишет Илья Ермаков, приведено в книге «Как улучшить работу ума…» в главе 15 «Описание визуального синтаксиса языка Дракон». Оно дано в виде 37 тезисов и охватывает все содержание главы.
Пункт 2. Второй частью математического обоснования языка Дракон является модифицированный мною метод Ашкрофта-Манны (связанный с введением переменной состояния).
Этот метод обосновывает конструкцию «силуэт».
Данный метод только упомянут мною, но не раскрыт. См. Теоремы 1 и 2 на стр. 100 и сноску на стр. 101, в которой читателю предлагается самостоятельно их доказать.
Примечание. В теореме 2 говорится о введении дополнительных переменных (идентификаторов ветки) --- это и есть (почти) переменные состояния.
Прошу обратить внимание на такую деталь. В классических методах введения переменной состояния и в методе Ашкрофта-Манны говорится об ОДНОЙ переменной состояния.
В модифицированном мною методе говорится не о об ОДНОЙ переменной состояния, а о НЕСКОЛЬКИХ переменных состояния.
Более того, я предпочитаю не говорить о переменной состояния, а говорить о введении дополнительных переменных (идентификаторах ветки, которые записываются в иконах «имя ветки»).
Особенность в том, что ветки силуэта и иконы «имя ветки» можно трактовать двояко ПО ЖЕЛАНИЮ пользователя.
Тот, кто трактует силуэт, как конечный автомат, вправе говорить о ветках, как о состояниях автомата.
Такая трактовка не является единственно возможной или обязательной. Конструкция силуэт позволяет пользователю
полностью отказаться от понятий «состояние», «переменнАя состояния» или «переменнЫе состояния». И выбросить все понятия, связанные, с состоянием, ЗА ПОЛНОЙ НЕНАДОБНОСТЬЮ.
Далее. Силуэт вовсе не обязательно трактовать как CASE, вложенный в цикл WHILE. Я бы сказал, что это делается по привычке или по инерции.
Есть две альтернативы. На стр. 91 я предложил два новых оператора ВЕТКА и АДРЕС. Еще одна альтернатива --- использовать GOTO.
Короче, выбор есть.
В новой книге (которая выходит осенью) я привожу шесть рисунков, детально поясняющих вопрос. Они позволяют проследить, каким образом модифицированные схемы Ашкрофта-Манны превращаются в конструкцию силуэт.
Пункт 3. Еще одним обоснованием является разработанное мною исчисление икон. См. «Глава 17. Исчисление икон и попытка предсказать будущее» (только стр. 267—272).
Параграф «Об одном распространенном заблуждении» можно опустить.
Речь идет о классической математической логике. Новация в том, что я провел частичную визуализацию понятий математической логики. Введены два новых понятия:
• визуальный логический вывод;
• визуальное логическое исчисление.
В итоге разработано исчисление икон.
Пункт 4. Показано, что силуэт при желании можно рассматривать как конечный автомат. (См. сноску на стр. 260 и рис. 136 и 137).
Пункт 5. Мне известно, что Илья Ермаков разработал математическую модель, которую со временем он собирается опубликовать.
ДОПОЛНЕНИЕОсобняком стоят три математических комментария.
Комментарий 1. Показано, что математический метод эквивалентных преобразований позволяет улучшить эргономические характеристики дракон-схем
Имеются в виду эквивалентные преобразования:
• рокировка;
• вертикальное объединение;
• горизонтальное объединение.
(стр. 108---119)
Комментарий 2. Математические преобразования, связанные с визуализацией логических функций И, ИЛИ, НЕ и сложных логических функций. «Глава 9. Визуализация логических формул» (стр. 143---153).
Комментарий 3. Шампур-метод. Абстрактная модель программы. Интерпретация дракон-схемы и шампур-языка. Частичное доказательство правильности программ. (См. 272---275).
Все ссылки даны по книге "Паронджанов В.Д. Как улучшить работу ума: Алгоритмы без программистов -- это очень просто! М.: Дело, 2001. 360с."viewtopic.php?p=21078#p21078