DRAKON.SU
https://forum.drakon.su/

Чем отличается силуэт от примитива? Ответ Рифату
https://forum.drakon.su/viewtopic.php?f=159&t=5907
Страница 1 из 8

Автор:  Владимир Паронджанов [ Понедельник, 03 Октябрь, 2016 20:33 ]
Заголовок сообщения:  Чем отличается силуэт от примитива? Ответ Рифату

Чем отличается силуэт от примитива? Ответ Рифату

Рифат писал(а):
Недостатки Дракона:

Нет взаимозаменяемости (симметричности) между примитивом и силуэтом. Если на силуэте отображена неструктурная схема, то в примитиве её уже не получится отобразить.

Рассмотрим мысль Рифата по частям.
Цитата:
Нет взаимозаменяемости (симметричности) между примитивом и силуэтом.
Правильно, взаимозаменяемости нет. Почему? Потому что ее и не должно быть.

Цитата:
Если на силуэте отображена [сложная] схема, то в примитиве её уже не получится отобразить.
Правильно, не получится. Но оно и не должно получиться. Силуэт для сложных схем. А примитив для простых.
Что дозволено Юпитеру (силуэту), то не дозволено быку (примитиву).

Объяснение такое. Примитив — аналог ветки (а не силуэта). Более того, примитив — аналог ветки, имеющей только одну икону Адрес.

Примитив всегда можно превратить в ветку.
Для этого.
1. Убираем икону Заголовок и вместо нее рисуем икону Имя ветки.
2. Убираем икону Конец и вместо нее рисуем икону Адрес.
Вот и все. Примитив превратился в ветку.

Зачем это нужно? Прелесть в том, что из нескольких (взаимосвязанных) примитивов, можно построить один силуэт.

Пока что мы построили очень простой силуэт, состоящий из одноадресных веток.
Если же использовать многоадресные ветки, мы получаем новое качество, а именно: можно в простой и наглядной форме демонстрировать СЛОЖНЫЕ алгоритмы.

МАТЕМАТИКА и доказательное программирование

Примитив и силуэт — это две аксиомы, которые называются:
1. аксиома-примитив
2. аксиома-силуэт

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

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

Визуальный синтаксис языка ДРАКОН представляет собой визуальное логическое исчисление, которое называется "Исчисление икон".

Уточнение. Речь идет об абстрактных дракон-схемах, то есть о схемах, где внутри икон отсутствует текст (за исключением икон Имя ветки и Адрес, где текст должен быть).

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

Подробнее см. книгу "Учись..." раздел "Теоретические основы языка ДРАКОН", стр. 425-472.
http://drakon.su/_media/01._parondzhano ... oritmy.pdf

Автор:  Владимир Паронджанов [ Вторник, 04 Октябрь, 2016 08:47 ]
Заголовок сообщения:  Re: Чем отличается силуэт от примитива? Ответ Рифату

Рифат, все знают, что Вы интересуетесь методами доказательства правильности программ.
Вот цитата из моей книги "Учись..." , стр. 433-434.
http://drakon.su/_media/01._parondzhano ... oritmy.pdf
Цитата:
Роберт Андерсон подчеркивает: «целью многих исследований в области доказательства правильности программ является... механизация таких доказательств» [8].

Дэвид Грис указывает, что «доказательство должно опережать построение программы» [9].

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

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

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

В начале главы мы задали смешной вопрос: если шампур-схемы – это теоремы, кто должен их доказывать? Ответ прост.

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

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

Частичное доказательство правильности алгоритма с помощью дракон-конструктора осуществляется без какого-либо участия человека и достигается совершенно бесплатно, так как дополнительные затраты труда, времени и ресурсов не требуются.

Так что полученный результат (безошибочное автоматическое проектирование графики дракон-схем) следует признать значительным шагом вперед

Автор:  Alexey_Donskoy [ Вторник, 04 Октябрь, 2016 09:30 ]
Заголовок сообщения:  Re: Чем отличается силуэт от примитива? Ответ Рифату

Владимир Паронджанов писал(а):
любая правильно построенная шампур-схема является строго доказанной теоремой... любая шампур-схема, построенная с его помощью, является истинной, то есть правильно построенной...
Или я чего-то здесь сильно не понимаю, или одно из двух...
Ну покажите хоть один пример ошибочной теоремы, НЕПРАВИЛЬНО построенной блок-схемы алгоритма!
Чтобы понимать, о чём речь вообще и за что боремся.

Автор:  Владимир Паронджанов [ Вторник, 04 Октябрь, 2016 09:43 ]
Заголовок сообщения:  Re: Чем отличается силуэт от примитива? Ответ Рифату

Пример 1. Соедините середину ветки силуэта с любой точкой в середине соседней ветки.
это будет незаконная, паразитная связь (ошибка). Программа ИС Дракон никогда не сделает такой ошибки.

Пример 2. Сделайте в дракон-схеме пересечение линий. Это тоже ошибка. Таких ошибок могут быть миллионы.

Не надо по пустякам использовать крупный шрифт

Автор:  Alexey_Donskoy [ Вторник, 04 Октябрь, 2016 09:58 ]
Заголовок сообщения:  Re: Чем отличается силуэт от примитива? Ответ Рифату

Напомню, что речь идёт о доказательстве правильности программ.
Владимир Паронджанов писал(а):
Соедините середину ветки силуэта с любой точкой в середине соседней ветки... Сделайте в дракон-схеме пересечение линий.
В чём ошибка?
Вы не понимаете или специально подменяете понятие правильности программ понятием соответствия синтаксису Дракона?!

Автор:  Rifat [ Вторник, 04 Октябрь, 2016 09:58 ]
Заголовок сообщения:  Re: Чем отличается силуэт от примитива? Ответ Рифату

Владимир Паронджанов писал(а):
Чем отличается силуэт от примитива? Ответ Рифату

Вашу логику я понял. До этого у меня было другое понимание, что один и тот же алгорит можно представить или примитивом или силуэтом.

Владимир Паронджанов писал(а):
МАТЕМАТИКА и доказательное программирование

Примитив и силуэт — это две аксиомы, которые называются:
1. аксиома-примитив
2. аксиома-силуэт

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

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


Если смотреть только на эти две аксиомы, то нет никакого пересечения, между дракон-схемой примитив и дракон-схемой силуэт. Кажется как будто бы их можно рассматривать отдельно.

И вообще эти аксиомы мне кажутся недостаточно математическими.
Есть, например, аксиоматическое описание стека.
Сначала описывается домен, то есть область значений:
- пустой стек - это стек
- стек, к которому добавлен один элемент, является стеком.
Затем описываются операции над стеком. При этом есть операции конструкторы, которые конструируют стек любой стек и прочие операции. Необходимо чтобы была как минимум одна аксиома, которая бы связывала операцию конструктор с прочей операцией.
Допустим, у нас есть следующие операции конструкторы:
- create - создаёт пустой стек.
- push(S, value) - операция добавляет значение value в стек S.
И прочие операции:
- pop(S) - выталкивает одно значение из стека S.
- isEmpty(S) - проверяет пустой ли стек S
- top(S) - получает значение верхнего элемента стека S.
Описываем аксиомы:
- pop(create) = undefined
- isEmpty(create) = TRUE
- top(create) = undefined
- pop(push(S, value)) = S
- isEmpty(push(S, value)) = FALSE
- top(push(S, value)) = value

Автор:  Alexey_Donskoy [ Вторник, 04 Октябрь, 2016 10:09 ]
Заголовок сообщения:  Re: Чем отличается силуэт от примитива? Ответ Рифату

Rifat писал(а):
До этого у меня было другое понимание, что один и тот же алгоритм можно представить или примитивом или силуэтом.
Правильное понимание.
Любой примитив можно преобразовать в силуэт.
Любой силуэт можно развернуть в примитив.
Принципиальной разницы между ними нет.
Силуэт как представление алгоритма отличается от примитива дополнительными визуальными элементами: разрывом схемы с соединением линий в общую шину.

Автор:  Rifat [ Вторник, 04 Октябрь, 2016 10:14 ]
Заголовок сообщения:  Re: Чем отличается силуэт от примитива? Ответ Рифату

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

Автор:  Alexey_Donskoy [ Вторник, 04 Октябрь, 2016 10:30 ]
Заголовок сообщения:  Re: Чем отличается силуэт от примитива? Ответ Рифату

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

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

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

Автор:  Владимир Паронджанов [ Вторник, 04 Октябрь, 2016 10:41 ]
Заголовок сообщения:  Re: Чем отличается силуэт от примитива? Ответ Рифату

Rifat писал(а):
И вообще эти аксиомы мне кажутся недостаточно математическими.
Рифат, буду Вам очень благодарен, если Вы укажете на мои математические ошибки.
Мне об этом ничего не известно.

Вот две аксиомы:
Вложение:
Аксиомы.png
Аксиомы.png [ 47.68 КБ | Просмотров: 20301 ]

Кружками показаны валентные точки.

Пример. Если в валентную точку аксиомы-примитив вставить
икону Действие, получим первую теорему.
В этой теореме будут уже две валентные точки —
выше и ниже иконы Действие.
И так далее.

Автор:  LKom [ Вторник, 04 Октябрь, 2016 10:52 ]
Заголовок сообщения:  Re: Чем отличается силуэт от примитива? Ответ Рифату

У В.Д. Паронджанова происходить смешивание понятий Дракон-схема, аксиома, теорема.

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

Автор:  Владимир Паронджанов [ Вторник, 04 Октябрь, 2016 11:06 ]
Заголовок сообщения:  Re: Чем отличается силуэт от примитива? Ответ Рифату

Rifat писал(а):
Цикл с двумя входами (один вход в середину цикла) и двумя выходами (один выход из середины цикла) можно описать в силуэте, но скорее всего нельзя описать в примитиве.
Прошу прощения, но это утверждение не имеет никакого отношения к языку ДРАКОН. Ни к примитиву, ни к силуэту.

Почему? Потому что такой цикл запрещен в языке ДРАКОН (о чем мы с Вами уже говорили). Запрещен цикл с двумя входами (один вход в середину цикла).

Это та самая ошибка, на которую именно Вы, Рифат, первым указали , за что я Вам благодарен.

Автор:  Rifat [ Вторник, 04 Октябрь, 2016 11:23 ]
Заголовок сообщения:  Re: Чем отличается силуэт от примитива? Ответ Рифату

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

Автор:  Владимир Паронджанов [ Вторник, 04 Октябрь, 2016 11:46 ]
Заголовок сообщения:  Re: Чем отличается силуэт от примитива? Ответ Рифату

Алексею Донскому

Цитата:
§9. СЕМАНТИКА ШАМПУР-СХЕМ

Известно, что изучение исчислений составляет синтаксическую часть математической логики. Кроме того, последняя занимается семантическим изучением формальных языков, причем основным понятием семантики служит понятие истинности [1].

В исчислении икон семантика тривиальна. Различные визуальные формулы (блок-схемы) могут быть истинными или ложными.

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

Таким образом, все правильно построенные шампур-схемы (теоремы) истинны. И наоборот, неправильно построенные схемы, не удовлетворяющие визуальным правилам языка ДРАКОН, считаются ложными.

Примеры ложных схем показаны на рис. 156, 158, 160, 162, 164.

Автор:  Rifat [ Вторник, 04 Октябрь, 2016 12:07 ]
Заголовок сообщения:  Re: Чем отличается силуэт от примитива? Ответ Рифату

Пример схемы, который не разрешен в структурном программировании, но который можно изобразить в силуэте, и скорее всего нельзя изобразить в примитиве.
По мне так схема неправильная, так как возможен бесконечный переход от левой ветки к правой и обратно. Но правилами Дракона - это никак не запрещается.
Вложение:
Pic.png
Pic.png [ 11.11 КБ | Просмотров: 20279 ]

Автор:  LKom [ Вторник, 04 Октябрь, 2016 12:11 ]
Заголовок сообщения:  Re: Чем отличается силуэт от примитива? Ответ Рифату

Есть Дракон-схемы.
Есть виды Дракон-схем: Примитив, Силуэт и Гном.

http://forum.oberoncore.ru/viewtopic.php?p=98460#p98460
Что же такое ШАМПУР-СХЕМА?
В приведенной цитате термин употреблен в заголовке, но нет его определения и нет упоминания или использования.

Автор:  Владимир Паронджанов [ Вторник, 04 Октябрь, 2016 12:36 ]
Заголовок сообщения:  Re: Чем отличается силуэт от примитива? Ответ Рифату

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

Согласно "Правилу Рифата" Надо убрать левую икону Адрес "Правая ветка главного условия" (чтобы не было входа в середину веточного цикла).

А насчет бесконечного цикла я не понял. Если нужна защита от бесконечного цикла, ее надо делать как обычно. Я не понял, в чем именно Вы увидели криминал.

Автор:  Alexey_Donskoy [ Вторник, 04 Октябрь, 2016 12:40 ]
Заголовок сообщения:  Re: Чем отличается силуэт от примитива? Ответ Рифату

Владимир Паронджанов писал(а):
Визуальная формула называется истинной, если она – либо аксиома, либо выводится из аксиом с помощью правил вывода (то есть является теоремой). И ложной в противном случае.
Повторю:
вы подменяете понятие правильности программ понятием соответствия синтаксису Дракона!

И таковая подмена по существу есть лженаучное мракобесие.

Вот, например, о проверке правильности программ (верификации): viewtopic.php?p=94282#p94282

То, о чём говорите вы, не имеет ни малейшего отношения к верификации.
А представляет собой банальное топологическое преобразование схемы. Которое, естественно, оставит схему "правильной" с точки зрения синтаксиса. Вода мокрая, масло масляное.

Автор:  Владимир Паронджанов [ Вторник, 04 Октябрь, 2016 12:43 ]
Заголовок сообщения:  Re: Чем отличается силуэт от примитива? Ответ Рифату

Цитата:
Что же такое ШАМПУР-СХЕМА?
Если из-дракон-схемы полностью убрать текст, получится шампур-схема. Проще говоря, слепыш.

Автор:  Rifat [ Вторник, 04 Октябрь, 2016 12:43 ]
Заголовок сообщения:  Re: Чем отличается силуэт от примитива? Ответ Рифату

Вот еще более криминальная схема :) :
Вложение:
Wrong.png
Wrong.png [ 5.95 КБ | Просмотров: 20270 ]


По мне такая Дракон схема не является правильной (валидной), так как к завершению никогда не попадаем.

Страница 1 из 8 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/