DRAKON.SU

Текущее время: Пятница, 29 Март, 2024 01:42

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 143 ]  На страницу 1, 2, 3, 4, 5 ... 8  След.
Автор Сообщение
СообщениеДобавлено: Понедельник, 03 Октябрь, 2016 20:33 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Чем отличается силуэт от примитива? Ответ Рифату

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Октябрь, 2016 08:47 

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

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

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

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

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

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

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

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Октябрь, 2016 09:30 
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Октябрь, 2016 09:43 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Пример 1. Соедините середину ветки силуэта с любой точкой в середине соседней ветки.
это будет незаконная, паразитная связь (ошибка). Программа ИС Дракон никогда не сделает такой ошибки.

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Октябрь, 2016 09:58 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Напомню, что речь идёт о доказательстве правильности программ.
Владимир Паронджанов писал(а):
Соедините середину ветки силуэта с любой точкой в середине соседней ветки... Сделайте в дракон-схеме пересечение линий.
В чём ошибка?
Вы не понимаете или специально подменяете понятие правильности программ понятием соответствия синтаксису Дракона?!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Октябрь, 2016 09:58 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
Владимир Паронджанов писал(а):
Чем отличается силуэт от примитива? Ответ Рифату

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

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

Примитив и силуэт — это две аксиомы, которые называются:
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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Октябрь, 2016 10:09 
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Октябрь, 2016 10:14 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
Цикл с двумя входами (один вход в середину цикла) и двумя выходами (один выход из середины цикла) можно описать в силуэте, но скорее всего нельзя описать в примитиве.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Октябрь, 2016 10:30 
Аватара пользователя

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Октябрь, 2016 10:41 

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

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Октябрь, 2016 10:52 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1356
У В.Д. Паронджанова происходить смешивание понятий Дракон-схема, аксиома, теорема.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Октябрь, 2016 11:06 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Rifat писал(а):
Цикл с двумя входами (один вход в середину цикла) и двумя выходами (один выход из середины цикла) можно описать в силуэте, но скорее всего нельзя описать в примитиве.
Прошу прощения, но это утверждение не имеет никакого отношения к языку ДРАКОН. Ни к примитиву, ни к силуэту.

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Октябрь, 2016 11:23 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
Если я правильно понимаю, то запретили вы это совсем недавно, только после того, как я показал этот пример.
И пока в дракон-редакторах это изменение скорее всего еще не реализовано.
И запрет касался только много-веточного цикла.
Но в принципе из без циклов, можно различные "неправильные" схемы в силуэте нарисовать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Октябрь, 2016 11:46 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Алексею Донскому

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

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

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

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Октябрь, 2016 12:07 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
Пример схемы, который не разрешен в структурном программировании, но который можно изобразить в силуэте, и скорее всего нельзя изобразить в примитиве.
По мне так схема неправильная, так как возможен бесконечный переход от левой ветки к правой и обратно. Но правилами Дракона - это никак не запрещается.
Вложение:
Pic.png
Pic.png [ 11.11 КБ | Просмотров: 20113 ]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Октябрь, 2016 12:11 

Зарегистрирован: Среда, 07 Январь, 2015 14:53
Сообщения: 1356
Есть Дракон-схемы.
Есть виды Дракон-схем: Примитив, Силуэт и Гном.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Октябрь, 2016 12:36 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Rifat писал(а):
Пример схемы, который не разрешен в структурном программировании, но который можно изобразить в силуэте, и скорее всего нельзя изобразить в примитиве.
По мне так схема неправильная, так как возможен бесконечный переход от левой ветки к правой и обратно. Но правилами Дракона - это никак не запрещается.

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Октябрь, 2016 12:40 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Владимир Паронджанов писал(а):
Визуальная формула называется истинной, если она – либо аксиома, либо выводится из аксиом с помощью правил вывода (то есть является теоремой). И ложной в противном случае.
Повторю:
вы подменяете понятие правильности программ понятием соответствия синтаксису Дракона!

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Октябрь, 2016 12:43 

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 04 Октябрь, 2016 12:43 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 219
Откуда: Казань
Вот еще более криминальная схема :) :
Вложение:
Wrong.png
Wrong.png [ 5.95 КБ | Просмотров: 20104 ]


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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 143 ]  На страницу 1, 2, 3, 4, 5 ... 8  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


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

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB