DRAKON.SU

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

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




Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Правильность перехода
СообщениеДобавлено: Вторник, 22 Декабрь, 2009 22:09 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Всем доброго времени суток!

У меня вопрос к знатокам Дракона.
Удовлетворяет ли конструкция перехода, выделенная на рисунке 1, правилам Дракона?
Если я правильно понял описание (Паронджанов В.Д. «Как улучшить работу ума» глава 15 тезис 28), то да, удовлетворяет. Но на мой взгляд выглядит она нехорошо.

Является ли конструкция перехода, выделенная на рисунке 2, «образованием нового цикла» (согласно тезису 28) и, соответственно, запрещена правилами? Или она допустима?
Вложение:
img.png
img.png [ 186.23 КБ | Просмотров: 20772 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Правильность перехода
СообщениеДобавлено: Вторник, 22 Декабрь, 2009 22:17 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Ужас.

Так делать нельзя.

Можно строить цикл только в узел-доминатор. Вершину A в графе называют доминатором для B, если все пути из начальной вершины графа в B обязательно проходят через A. Т.е. нет второго входа в цикл. А у Вас он получается (мы можем прийти в вершину "Потребуй заменить борщ" по красному пути в первый раз - т.е. красный путь окажется не циклом, возвращающим в уже пройденное место, а прямым ходом).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Правильность перехода
СообщениеДобавлено: Вторник, 22 Декабрь, 2009 22:44 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
То, что ужас и так делать нельзя, я понимаю : )
Вопрос в том, допустимы ли такие конструкции правилами языка Дракон?
А если допустимы, то чем они обоснованы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Правильность перехода
СообщениеДобавлено: Вторник, 22 Декабрь, 2009 22:50 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Лично я применяю своё определение: в каждой ветке Дракон-схема имеет топологию планарного сводимого (оно же - планарного аранжируемого, планарного устремлённого - в разных определениях) графа. Т.е. выше описанное требование по доминаторам + укладка на плоскости без пересечений.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Правильность перехода
СообщениеДобавлено: Среда, 23 Декабрь, 2009 12:23 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Уважаемый Эдуард Ильченко!

Простите, но Вы кое-что нарушили. Что именно?
Если я правильно понимаю, Вы оторвали конец и присоединили в некоторую точку.
Можно ли так делать? Вообще говоря, нельзя.
Почему нельзя?
Посмотрите рис. 2, макроикону 4 "обычный цикл" (по книге).
В обычном цикле Вы видите две валентные точки.
___________________________________________________

Какие права у Вас есть? Вы имеете право производить операцию
"ввод атома" в валентные точки. И еще кое-что.
Это значит --- Вы имеете право ВЫРАЩИВАТЬ нужный Вам цикл
из макроиконы 4 "обычный цикл", строго следуя правилам строительства.
_____________________________________________________________

Но Вы поступили по- другому. Вы ничего не выращивали и не соблюдали
правил. Так нельзя.
_____________________________________________________________

Вы можете сделать проверку. Возьмите редактор Геннадия Тышова и
попробуйте с помощью этого редактора нарисовать Ваш цикл.
У вас ничего не получится. Редактор забастует и откажется рисовать
неправильные циклы.
Секрет в том, что все мои правила " спрятаны" в алгоритмах редактора.

Большое Вам спасибо за поднятый Вами интересный вопрос.

Если мой ответ Вас не удовлетворит, я с удовольствием выслушаю
Вашу критику.


Последний раз редактировалось Владимир Паронджанов Среда, 23 Декабрь, 2009 12:42, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Правильность перехода
СообщениеДобавлено: Среда, 23 Декабрь, 2009 12:38 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Добавление. В Тезисе 28 сказано:
запрещается образовывать новый цикл.
А в обоих Ваших примерах Вы строите новый цикл, что запрещено.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Правильность перехода
СообщениеДобавлено: Среда, 23 Декабрь, 2009 16:02 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Владимир Паронджанов писал(а):
Вы можете сделать проверку. Возьмите редактор Геннадия Тышова и
попробуйте с помощью этого редактора нарисовать Ваш цикл.
У вас ничего не получится. Редактор забастует и откажется рисовать
неправильные циклы.

Меня интересуют теоретические основы запрета, а не конкретная реализация в конкретном редакторе.

Владимир Паронджанов писал(а):
Но Вы поступили по- другому. Вы ничего не выращивали и не соблюдали
правил. Так нельзя.

Я пытался пересадить лиану и соблюдать правила.
Похоже, я не разобрался с некоторой двусмысленностью. Если лиану опускать вниз, то она «лиана». Если лиану поднимать вверх, то она «петля цикла».
Попробую проиллюстрировать.

Допустим, рисунок А1 является фрагментом алгоритма «Рыбная ловля для неудачника». Выделенная линия является лианой (Тезис 26) и алгоритм имеет право на существование в рамках правил языка Дракон. Правильно ли я это понимаю?
Цветные кружочки — это валентные точки.

Отываем лиану и переносим её, как показано на рисунке 4 (Паронджанов В.Д. «Как улучшить работу ума» глава 6 стр. 86). Получаем алгоритм «Рыбная ловля».
Вроде бы произошло «образование нового цикла», что запрещено правилами (Тезис 28), но тем не менее получена правильная Дракон-схема.

В таком случае ничто не мешает пересадить лиану (или образовать новый цикл, не знаю как правильнее выразиться) так, как показано на рисунке А2 и даже так, как показано на рисунке А3.
В случае рисунка А3 получаем бесконечный цикл, который не противоречит правилам языка Дракон. Фактически цикл «Созерцая пупок» эквивалентен алгоритму, в котором удалена икона «Конец» (Тезис 34), но при этом присутствует икона «Начало». Пример — алгоритм управления движением на перекрёстке (работа светофора, есть начало алгоритма, но нет конца), к сожалению сейчас не помню где его видел.

Считаю,что вышесказаного достаточно для того, чтобы показать, что преобразование лианы в часть маршрута «нового цикла» возможно и более того - естественно. В таком случае, не является ли ограничение на подобные операции в языке Дракон и, соответственно, в редакторе Геннадия Тышова искусственным препятствием к быстрому и простому построению Дракон-схем. (С указанным редактором я не работал, поэтому полагаюсь на слова Владимира Паронджанова «Возьмите редактор Геннадия Тышова и попробуйте с помощью этого редактора нарисовать Ваш цикл. У вас ничего не получится. Редактор забастует и откажется рисовать неправильные циклы.”)

Геннадию Тышову приношу свои извинения за суждение о его программе без самостоятельной работы в ней.
Вложение:
fish1.png
fish1.png [ 113.98 КБ | Просмотров: 20743 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Правильность перехода
СообщениеДобавлено: Среда, 23 Декабрь, 2009 18:33 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Уважаемый Эдуард Ильченко!

От всего сердца благодарю Вас за поставленные Вами вопросы.

Суть дела вот в чем. Вы хотите образовать цикл с помощью операции "пересадка
лианы". Но этого нельзя делать. Это запрещено.

Операция "пересадка лианы" НЕ ПРЕДНАЗНАЧЕНА для строительства циклов.
С равным успехом можно строить цикл из фиалок, стрекоз и мимоз.

Есть законный способ строительства конструкции "обычный цикл". Я уже рссказывал
о нем. Повторю еще раз.

Цитата:
Посмотрите рис. 2, макроикону 4 "обычный цикл" (по книге).
В обычном цикле Вы видите две валентные точки.
Чтобы построить цикл, Вы имеете право производить операцию
"ввод атома" в валентные точки. И еще кое-что.
Это значит --- Вы имеете право ВЫРАЩИВАТЬ нужный Вам цикл
из макроиконы 4 "обычный цикл", строго следуя правилам строительства.
_____________________________________________________________

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


КАК ПОСТРОИТЬ ОБЫЧНЫЙ ЦИКЛ?


Ответ дан в книге на стр. 228, рис. 116, пример 5 и 6.
Более подробно см. главу 8.

Еще раз благодарю Вас за интересный вопрос.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Правильность перехода
СообщениеДобавлено: Среда, 23 Декабрь, 2009 19:08 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Продолжение.
Эдуард Ильченко пишет:
Цитата:
Считаю,что вышесказаного достаточно для того, чтобы показать, что
преобразование лианы в часть маршрута «нового цикла» возможно и
более того - естественно.

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


Уважаемый Эдуард!

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

Отвечаю: я не знаю. Вы предлагаете внести существенные изменения в язык.
А кто будет нести ответственность за возможные ошибки?
Я боюсь ошибок. Язык дракон в нынешнем виде (без Ваших улучшений и изменений),
как мне кажется, не содержит ошибок.
Предположим, мы введем в язык Ваши улучшения. И вдруг выяснится, что
Ваши улучшения приводят к ошибке.
Я боюсь этого.
Как говорится, чем журавль в небе, лучше синицу в руки.
Еще раз спасибо за интересную постановку вопроса.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Правильность перехода
СообщениеДобавлено: Среда, 23 Декабрь, 2009 20:53 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Если пользоваться ограничением, сформулированным мной выше, то можно разрешить замыкать лиану куда угодно - редактор будет строго контролировать правильность...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Правильность перехода
СообщениеДобавлено: Среда, 23 Декабрь, 2009 21:47 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Владимир Паронджанов писал(а):
Есть законный способ строительства конструкции обычный цикл".

Т.е. для того, чтобы преобразовать схему на рисунке А1 к схеме на рисунке 4 (файл «fish1.png”) мне нужно будет выполнить последовательно действия изображённые на рисунке в файле «fish2.png», перенести текст и удалить куски предыдущей схемы?

Как-то это не просто, учитывая, что все элементы для преобразования были на схеме.
(ИМХО, где не просто, там ошибки)

Владимир Паронджанов писал(а):
Вас интересует вопрос: а нельзя ли снять часть ограничений?

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

А вот в чём потенциальная опасность превращения лианы в ветку цикла мне не понятно.
Я произвёл построения (см. рисунки) для преобразования одной схемы в другую. В одном случае это просто (на мой взгляд), в другом сложно. Результат один и тот же. В чём опасность? Не могли бы Вы привести пример?
Вложение:
fish2.png
fish2.png [ 108.2 КБ | Просмотров: 20696 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Правильность перехода
СообщениеДобавлено: Среда, 23 Декабрь, 2009 21:51 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Илья Ермаков писал(а):
Если пользоваться ограничением, сформулированным мной выше, то можно разрешить замыкать лиану куда угодно - редактор будет строго контролировать правильность...

Кажется, я понял. Не важно как происходит переход из одного состояния схемы в другое (этим занимается редактор). Главное чтобы состояния соответствовали определениям языка Дракон.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Правильность перехода
СообщениеДобавлено: Среда, 23 Декабрь, 2009 23:52 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 631
Откуда: Россия, Орёл
Да.

У Владимира Даниеловича определение правильной Дракон-схемы завязано на последовательность преобразований (конструктивное определение - "как построить...").
Определение через класс планарных сводимых графов - статично (аксиоматическое определение).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Правильность перехода
СообщениеДобавлено: Четверг, 24 Декабрь, 2009 00:29 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 143
Откуда: Россия, Орёл
Илья Ермаков писал(а):
конструктивное определение - "как построить..."
http://oberoncore.ru/wiki/drakon/%D0%B2 ... D1%81._115


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Правильность перехода
СообщениеДобавлено: Четверг, 24 Декабрь, 2009 08:42 
Аватара пользователя

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

Вариант 1. Мы не поддерживаем механизм пользовательских транзакций и требуем согласованного состояния системы после каждого атомарного действия. Работать с подобной системой не то что некомфортно, а неэргономично до полной невозможности. По этому пути, увы, идёт Тышов.

Вариант 2. Мы разрешаем любые разумные действия (вырезка, перемещение любых участков схемы, произвольное проведение связей) внутри пользовательской транзакции редактирования.
Однако при таком подходе необходимо явное завершение транзакции с автоматическим контролем корректности состояния и исправлением ошибок.

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

Кстати, в варианте 1 всегда будет возникат вопрос доказательства достаточности операций для любого допустимого преобразования :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Правильность перехода
СообщениеДобавлено: Четверг, 24 Декабрь, 2009 17:13 

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


По-моему законный способ строительства второй ветки рис.4 (см. книгу) состоит в следующем.
Мне кажется, что мой способ лучше чем Ваш. Если у Вас другое мнение, просьба пояснить, в чем преимущества Вашего способа.


Вложения:
Комментарий к файлу: Законный способ строительства
клюнула 3.png
клюнула 3.png [ 65.8 КБ | Просмотров: 20636 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Правильность перехода
СообщениеДобавлено: Четверг, 24 Декабрь, 2009 17:57 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Владимир Паронджанов писал(а):
Мне кажется, что мой способ лучше чем Ваш.

Полностью с Вами согласен. Если схема строится с нуля.

А вот если, например, схему на рис.А1 (fish1.png) я построил неделю назад, потом долго мучился над проблемой : ) и решил, что алгоритм должен быть таким, как на рис.4 (fish1.png), то для меня очень естественно оторвать конец лианы и переместить его вверх, получив новый цикл. И старая схема и новая абсолютно правильны в рамках языка Дракон. Так зачем же мне выращивать новую схему заново с нуля, если делов-то - перенести одну линию? Но язык это запрещает. Поскольку я о Драконе узнал месяц назад, то меня гложат сомнения, что же я не понимаю? К каким ошибкам это может привести?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Правильность перехода
СообщениеДобавлено: Четверг, 24 Декабрь, 2009 20:06 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
Ильченко Эдуард писал(а):
...меня гложат сомнения, что же я не понимаю?
Вы, оставьте сомнения и перейдите к практике в вашей проблемной области. Используйте и.с. DRAKON, сейчас других доступных средств нет. Свои сомнения можно проверять логикой проблемной области.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Правильность перехода
СообщениеДобавлено: Четверг, 24 Декабрь, 2009 20:36 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Геннадий Тышов писал(а):
Используйте и.с. DRAKON

Уже использую. Спасибо Вам за программу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Правильность перехода
СообщениеДобавлено: Четверг, 24 Декабрь, 2009 21:53 

Зарегистрирован: Вторник, 11 Август, 2009 11:44
Сообщения: 42
Откуда: Бердск
Геннадий Тышов писал(а):
Вы, оставьте сомнения и перейдите к практике в вашей проблемной области.

А если есть люди, которые разбираются в практике :?: :D
В приципе, сегодняшнее положение дел, мне напоминает ситуацию, которая была в PCAD на ранних (скажем ДОС-овских) версиях. Атавизмы которой встречаются до сих пор, между прочим...
Должен (!!!) был я перед рисованием схемы заранее знать про нее все: подготовить базу (ПЭ) элеменов, вместе с их конкретным исполнением (скажем: вертикальное или горизонталное расположение ризистора на плате).
За меня кто-то решил, что он лучше знает технологию проектирования (джигит, в общем)
А мое утверждение таково: решивший это - не более чем ЛОХ в нашей профессии.

Видимо, я пытался изложить те же мысли, что и Alexey_Donskoy, но без "транзакции редактирования интерактивных систем" :)


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

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


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

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


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

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