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

Исключающее ИЛИ на языке ДРАКОН. Как изобразить?
https://forum.drakon.su/viewtopic.php?f=217&t=5182
Страница 2 из 4

Автор:  Владимир Паронджанов [ Четверг, 16 Апрель, 2015 10:33 ]
Заголовок сообщения:  Re: Исключающее ИЛИ на языке ДРАКОН. Как изобразить?

albobin писал(а):
2. Как-то не очень смотрится когда после ветвления по какой либо переменной далее в ветках есть ветвления по ней же, хотя значение же уже определено.
Вы правы. Так и есть.

Вместе с тем есть оправдание, точнее, пояснение.

ПОЯСНЕНИЕ. ПРАВИЛА ЧТЕНИЯ

1. Читать дракон-схему в данном случае надо по вертикалям (по шампурам).

2. Читаем 1-ю вертикаль (не обращая внимания на вторую). Том пошел, а Гек не пошел.

3. Читаем 2-ю вертикаль (не обращая внимания на первую). Том не пошел, а Гек пошел.

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

========================

Автор:  Владимир Паронджанов [ Четверг, 16 Апрель, 2015 10:43 ]
Заголовок сообщения:  Re: Исключающее ИЛИ на языке ДРАКОН. Как изобразить?

albobin писал(а):
В дополнении.
Если уж и необходимо выразить XOR, то IMHO лучше , имея ввиду, что нужно определить "нечётность", то и алгоритм построить на последовательном переборе переменных и на каждом этапе инвертировать или не инвертировать результат. Ведь всё равно у нас же последовательный процесс, а не параллельная электрическая схема, которая больше применима к выражению формулы "в лоб"

результат:=нет
if A then результат:=~результат
if B then результат:=~результат
...
В тексте эта мысль воспринимается с трудом. Вы не могли бы изобразить ее графически, в виде дракон-схемы?

Автор:  albobin [ Четверг, 16 Апрель, 2015 10:55 ]
Заголовок сообщения:  Re: Исключающее ИЛИ на языке ДРАКОН. Как изобразить?

Сожалею, но изобразить в виде схемы возможности нет.
Я имел ввиду схему (шампур) для вычисления X= (A xor B) в котором последовательно имеются:
1. переменной X присваивается логическое значение 0
2. если A, то инвертирование X
3. если B, то инвертирование X

PS.
Видимо, не рисуя Дракон-схем, не стоит и писать в форум.

Автор:  albobin [ Четверг, 16 Апрель, 2015 14:37 ]
Заголовок сообщения:  Re: Исключающее ИЛИ на языке ДРАКОН. Как изобразить?

Последнее уточнение.
Если в данном конкретном случае (рисуем XOR) схема строится по единому "шаблону" для любых логических выражений (используем разложение в ДНФ и сокращённые вычисления), то вопросов (претензий) нет. Но, если, тут частный случай (просто нужен XOR), то способ реализации разложением в ДНФ мне лично не очень (хотя о вкусах не спорят).

Автор:  Владимир Паронджанов [ Четверг, 16 Апрель, 2015 14:56 ]
Заголовок сообщения:  Re: Исключающее ИЛИ на языке ДРАКОН. Как изобразить?

albobin писал(а):
Последнее уточнение.
Если в данном конкретном случае (рисуем XOR) схема строится по единому "шаблону" для любых логических выражений (используем разложение в ДНФ и сокращённые вычисления), то вопросов (претензий) нет.
Я исхожу из того, что схема строится по единому "шаблону" для любых логических выражений.

Во избежание неточности и неверного понимания, добавлю следующее.

1. Общий метод подробно изложен здесь на стр. 153-183.

2. Суть моего метода состоит в том, чтобы передать суть дела в терминах предметной области, а не в разложении ДНФ с использованием абстрактных величин, таких как х и y.

3. В моем последнем примере (детская задача) терминами предметной области являются Том, Гек, Клад найден, Клад не найден, да, нет.

4. Почему анализируется XOR (Исключительное ИЛИ)? По двум причинам.
Во-первых, в моих книгах этот случай не рассмотрен (упущен из виду).
Во-вторых, мне был задан вопрос именно про "Исключительное ИЛИ" (см. начало темы):

Владимир Паронджанов писал(а):
Я получил письмо от читателя:
Цитата:
Здравствуйте. Я прочитал вашу книгу "Учись писать,читать и понимать алгоритмы". Она оказалась очень полезной, но в книге не было раздела про логическую связку "Исключающее ИЛИ" на языке ДРАКОН. Пожалуйста, не могли бы вы подсказать схему логической связки "Исключающее ИЛИ" на языке ДРАКОН?


Публикую письмо, поскольку предполагаю, что подобный вопрос может возникнуть и у других читателей.
viewtopic.php?p=88405#p88405

=============================

В чем основная идея?

Основная идея в том, что:

1. Знаки НЕ, И, ИЛИ можно полностью удалить из логических выражений и заменить их графикой.

2. Я хочу показать и доказать, что люди могут понять логические преобразования, не изучая алгебру логики.

=========================

Рэйлвэй Каген писал(а):
кратко поясню:
Вложение:
Изображение
Как видите, Владимир Паронджанов рекомендует записывать не смысл вопроса, а его разложение!

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

ВОЗРАЖЕНИЕ ПАРОНДЖАНОВА

1. Я никогда не предлагал и не предлагаю запись, которую представил уважаемый Рэйлвэй Каген. Это сложная запись, непонятная обычным людям, тем более детям.

2. В данной записи отсутствуют термины из предметной области, фигурирующие в детской задаче и знакомые детям: Том, Гек, Клад найден, Клад не найден, да, нет.

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

4. С детьми надо разговаривать на понятном ребенку языке. Именно так я и поступаю. Моя цель — сделать сложное простым. Язык алгебры логики, который использует уважаемый Рэйлвэй Каген, предназначен для специалистов. А я хочу понизить планку требований. И сделать логические преобразования доступными "для народа".

Автор:  Александр Ильин [ Четверг, 16 Апрель, 2015 21:01 ]
Заголовок сообщения:  Re: Исключающее ИЛИ на языке ДРАКОН. Как изобразить?

Читаем схему по правому верхнему пути: "Кто пошёл искать клад? - Том? - нет - Том? - да - Клад не найден."

Что за бред мы только что прочитали?

Автор:  Владимир Паронджанов [ Четверг, 16 Апрель, 2015 21:41 ]
Заголовок сообщения:  Re: Исключающее ИЛИ на языке ДРАКОН. Как изобразить?

Александр Ильин писал(а):
Читаем схему по правому верхнему пути: "Кто пошёл искать клад? - Том? - нет - Том? - да - Клад не найден."

Что за бред мы только что прочитали?

Александр Сергеевич, это совсем не бред. Это закон исключенного третьего. Все правильно. Так и должно быть.

ПОЯСНЯЮ

1. Клад найден, если за кладом отправился только один человек: либо Гек, либо Том.

2. Клад не найден, если:
— либо за кладом никто не пошел,
— либо за кладом пошли два человека: и Том, и Гек.

3. Что означает маршрут по правому верхнему пути:
Цитата:
"Кто пошёл искать клад? - Том? - нет - Том? - да - Клад не найден."
Это означает, что такой путь НЕ СУЩЕСТВУЕТ.
Почему? Потому что два условия вступают в противоречие и не могут выполняться одновременно (условие не может быть одновременно и истинным, и ложным по закону исключенного третьего):
Цитата:
Том пошел за кладом = Нет (Ложь)
Том пошел за кладом = Да (Истина)
По закону исключенного третьего этот маршрут отбрасывается — на него можно даже не смотреть.

Автор:  Александр Ильин [ Четверг, 16 Апрель, 2015 22:05 ]
Заголовок сообщения:  Re: Исключающее ИЛИ на языке ДРАКОН. Как изобразить?

Владимир Паронджанов писал(а):
По закону исключенного третьего этот маршрут отбрасывается — на него можно даже не смотреть.
Новый девиз визуальной эргономики?

Автор:  Александр Ильин [ Четверг, 16 Апрель, 2015 22:13 ]
Заголовок сообщения:  Re: Исключающее ИЛИ на языке ДРАКОН. Как изобразить?

Владимир Паронджанов писал(а):
3. Что означает маршрут по правому верхнему пути:
Цитата:
"Кто пошёл искать клад? - Том? - нет - Том? - да - Клад не найден."
Это означает, что такой путь НЕ СУЩЕСТВУЕТ.
По-моему, данный маршрут на схеме ясно показывает, что Том может одновременно и пойти, и не пойти. В этом случае, что бы ни делал Гек, клад не будет найден.

Автор:  Александр Ильин [ Четверг, 16 Апрель, 2015 22:17 ]
Заголовок сообщения:  Re: Исключающее ИЛИ на языке ДРАКОН. Как изобразить?

По-моему, давно ясно, что для исключающего или не найти удовлетворительной записи на плоскости без пересечений и дублирования проверок. Исключающее или можно вписать в икону, и тогда все проблемы решаются.
- Пошёл только один из мальчиков? - да - Клад найден.

Автор:  albobin [ Четверг, 16 Апрель, 2015 22:23 ]
Заголовок сообщения:  Re: Исключающее ИЛИ на языке ДРАКОН. Как изобразить?

Встряну.
Александр, там всё верно, противоречия нет.Не все пути, которые можно провести карандашом, возможны. :)

Автор:  Александр Ильин [ Четверг, 16 Апрель, 2015 22:32 ]
Заголовок сообщения:  Re: Исключающее ИЛИ на языке ДРАКОН. Как изобразить?

albobin писал(а):
Встряну.
Александр, там всё верно, противоречия нет.Не все пути, которые можно провести карандашом, возможны. :)
Логически вы правы. Но нам же тут логику и Дж. Буля запрещают поминать. Дескать, должно быть очевидно и понятно с первого взгляда. Или я не прав?

Конечно, если схему выполнять, как компьютер, то решение будет верное. С этим я вполне согласен. Я не согласен с тем, что это проще читать "ребёнку". Вот я прочитал наивно, а оказывается там какое-то "исключённое третье", и этот маршрут надобно накрыть чем-нибудь, чтобы вообще не видеть.

Автор:  Александр Ильин [ Четверг, 16 Апрель, 2015 22:37 ]
Заголовок сообщения:  Re: Исключающее ИЛИ на языке ДРАКОН. Как изобразить?

albobin писал(а):
Александр, там всё верно, противоречия нет.Не все пути, которые можно провести карандашом, возможны. :)
Вы, кстати, как считаете, должны ли быть на схеме невозможные пути? И если должны быть, стоит ли ограничить их максимальное количество на схему? Скажем, не больше пятнадцати? : )

Автор:  albobin [ Четверг, 16 Апрель, 2015 22:42 ]
Заголовок сообщения:  Re: Исключающее ИЛИ на языке ДРАКОН. Как изобразить?

Если Том - нет, то он везде -нет, если -да, то везде -да. Это же не двойной, независимый выбор, типа бросание монет :)

Автор:  albobin [ Четверг, 16 Апрель, 2015 22:49 ]
Заголовок сообщения:  Re: Исключающее ИЛИ на языке ДРАКОН. Как изобразить?

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

Автор:  Alexey_Donskoy [ Четверг, 16 Апрель, 2015 22:52 ]
Заголовок сообщения:  Re: Исключающее ИЛИ на языке ДРАКОН. Как изобразить?

albobin писал(а):
там всё верно, противоречия нет.
Там в так называемом "каноническом виде" есть неоправданная избыточность.
Я, блин, инженер с 30-летним стажем, чуть мозги этим "каноническим видом" не сломал, а тут оно детям предлагается?!!
Хотите канонический вид - должно быть три развилки, а никак не четыре.

Автор:  albobin [ Четверг, 16 Апрель, 2015 22:59 ]
Заголовок сообщения:  Re: Исключающее ИЛИ на языке ДРАКОН. Как изобразить?

В той схеме, которая вызвала спор, всё формально очевидно и правильно.
XOR в виде ДНФ, две ветки конъюнктов. При использовании сокращённых вычислений лог.выражений, переход на второй конъюнкт сразу же по достижении лог.0 в первом.

PS.
Но моё предпочтение для вычисления XOR уже высказал.

Автор:  albobin [ Четверг, 16 Апрель, 2015 23:04 ]
Заголовок сообщения:  Re: Исключающее ИЛИ на языке ДРАКОН. Как изобразить?

Alexey_Donskoy писал(а):
albobin писал(а):
там всё верно, противоречия нет.
Там в так называемом "каноническом виде" есть неоправданная избыточность.
Я, блин, инженер с 30-летним стажем, чуть мозги этим "каноническим видом" не сломал, а тут оно детям предлагается?!!
Хотите канонический вид - должно быть три развилки, а никак не четыре.


Вы имеете ввиду схема построенная по принципу таблицы значений.
Тремя развилками строим дешифратор 2->4, получаем четыре выхода, и назначаем значения реализуя функцию XOR от двух переменных?

Автор:  Рэйлвэй Каген [ Пятница, 17 Апрель, 2015 09:29 ]
Заголовок сообщения:  Re: Исключающее ИЛИ на языке ДРАКОН. Как изобразить?

Владимир Паронджанов писал(а):
ВОЗРАЖЕНИЕ ПАРОНДЖАНОВА

1. Я никогда не предлагал и не предлагаю запись, которую представил уважаемый Рэйлвэй Каген. Это сложная запись, непонятная обычным людям, тем более детям.
Владимир Паронджанов писал(а):
..Начнем с самого начала. Имеется дизъюнктивная нормальная форма
(А и неB) или (неА и B)
Ещё раз: "самое начало" - это смысл вопроса. И только потом можно получить днф. Но нужно ли?

[NB]Особенно, когда любой человек в состоянии сформулировать смысл:
Александр Ильин писал(а):
..- Пошёл только один из мальчиков?

Далее..
Владимир Паронджанов писал(а):
..Само собой разумеется, что созданная мной ВИЗУАЛЬНАЯ алгебра логики полностью эквивалентна классической ТЕКСТОВОЙ алгебре логики.
Цена эквивалентности наглядно показана ниже. Суть - подмена смысла разложением. Это для специалистов.
Для неспециалистов перевожу: Пока Том и Гек платят эту цену, у клада вырастут ноги, и он сам уйдёт к индейцам.
Вложение:
xor.png
xor.png [ 3.86 КБ | Просмотров: 16742 ]
Поэтому предложение Пароджанова приводит к крайне громоздкому и антикогнитивному решению.

Автор:  Alexey_Donskoy [ Пятница, 17 Апрель, 2015 09:35 ]
Заголовок сообщения:  Re: Исключающее ИЛИ на языке ДРАКОН. Как изобразить?

albobin писал(а):
Тремя развилками строим дешифратор 2->4, получаем четыре выхода, и назначаем значения реализуя функцию XOR от двух переменных?
Ну естественно.
Первична, конечно, таблица значений, а алгоритм - уже её реализация.
Реализацию теоретически можно расписать на 8 развилок (полное и буквальное покрытие таблицы).
Оптимальная реализация не может быть меньше 3 (при заданном ограниченном наборе операций сравнения).
Приведённая же схема из 4 штук является наполовину оптимизированной, и в силу своей незавершённости представляет собой бред как с технической, так и с когнитивной (и педагогической) точки зрения.

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