DRAKON.SU https://forum.drakon.su/ |
|
Преимущества языка ДРАКОН для деревьев принятия решений https://forum.drakon.su/viewtopic.php?f=228&t=6666 |
Страница 2 из 6 |
Автор: | Дмитрий Бардынин [ Среда, 09 Октябрь, 2019 18:54 ] |
Заголовок сообщения: | Re: Преимущества языка ДРАКОН для деревьев принятия решений |
При всем богатстве выбора, лаконичнее и понятнее Дракона я пока способов выражения алгоритмов не встречал. Поэтому согласен с автором темы, преимущества существенные. |
Автор: | Alexey_Donskoy [ Среда, 09 Октябрь, 2019 21:38 ] |
Заголовок сообщения: | Re: Преимущества языка ДРАКОН для деревьев принятия решений |
Дмитрий Бардынин писал(а): лаконичнее и понятнее Дракона я пока способов выражения алгоритмов не встречал. Напомню, что алгоритмический слой составляет весьма незначительную часть сложных проектов, поэтому язык его отображения не требует столь сильного внимания, которое...Цитата: Поэтому согласен с автором темы, преимущества существенные. ...склонно склоняться к религиозному догматизму.
|
Автор: | Дмитрий Бардынин [ Четверг, 10 Октябрь, 2019 09:52 ] |
Заголовок сообщения: | Re: Преимущества языка ДРАКОН для деревьев принятия решений |
склонно или не склонно, а оно работает )) расскажите, как можно качественно объяснить новичкам в возрасте от 7 до 70 основы алгоритмизации, чтобы они могли написать прошивку для микроконтроллерного устройства и т.д., и я, возможно, усомнюсь в своих догмах. мой текущий опыт показывает, что все, что не Дракон, сложно. причем, отталкиваемся не от выразительности способа, а от возможностей обычного человека. только на Драконе я могу рассуждать о гастрономических пристрастиях Карлсона, описать работу светофора и тут же его запрограммировать, составить должностную инструкцию для сотрудника, будь он хоть человек, хоть горилла, хоть электровеник, и описать схему документооборота для фирмы, а заодно посадить помидоры по науке. именно так мы и работаем: на понятном языке объясняем основы. а если будет нужно, и остальные аспекты программирования опишем: и про переменные расскажем, и ООП притянем, и т.д. узкие же специалисты пусть используют специальный инструментарий, на то они и специалисты. |
Автор: | Alexey_Donskoy [ Четверг, 10 Октябрь, 2019 15:40 ] |
Заголовок сообщения: | Re: Преимущества языка ДРАКОН для деревьев принятия решений |
Дмитрий Бардынин писал(а): узкие же специалисты пусть используют специальный инструментарий, на то они и специалисты. Вот это разделение и плохо.А потом у нас ракеты и самолёты падают - как вы думаете, неужто из-за того, что новичкам сложно объяснили? Нет, потому, что объяснили НЕ ТО. Тем "специалистам", которые когда-то были новичками и сейчас продолжают находиться в плену мэйнстрима, где на действительно важные вопросы обращается недостаточное внимание. Тут, блин, дыра огромная, проблема во всей IT-отрасли, а вы про новичков да про Карлсона. И таки да, ДРАКОН не выполняет даже своей главной на сегодня задачи - ЭРГОНОМИЧНОГО представления алгоритмов. Полтора десятка лет говорю об этом Паронджанову, но он упёрся и не хочет ничего менять ни в графическом изображении типовых элементов, ни в подходах к проектировнию. Исключительно только потому, что "книг уже выпущено много"! А сейчас многочисленные уже энтузиасты распространяют этот язык, рассчитанный на кульман с шаблонной линейкой, как новое Откровение. Нет бы взять и подумать! Обозначить проблемные места, провести НАУЧНЫЕ исследования в части когнитивной эргономики. И сделать действительно полезный инструмент - и для посторонних, и для новичков, и для профессионалов. А фиг. Никому не надо. |
Автор: | Дмитрий Бардынин [ Четверг, 10 Октябрь, 2019 18:24 ] |
Заголовок сообщения: | Re: Преимущества языка ДРАКОН для деревьев принятия решений |
Ну почему же. Сформулируйте, и возможно народ потянется. Если есть более эргономичные способы донести алгоритм, без применения упорядоченных прямоугольных графов, покажите. |
Автор: | Alexey_Donskoy [ Четверг, 10 Октябрь, 2019 20:05 ] |
Заголовок сообщения: | Re: Преимущества языка ДРАКОН для деревьев принятия решений |
Дмитрий Бардынин писал(а): Ну почему же. Сформулируйте, и возможно народ потянется. Если есть более эргономичные способы донести алгоритм, без применения упорядоченных прямоугольных графов, покажите. Формулировать что-либо без серьёзной проработки и экспериментальной проверки бессмысленно и вредно. Но я уже 25 лет как не работаю в университете, у меня нет студентов для проведения экспериментов и набора статистики.Что до способов представления алгоритма, то на этом форуме были рассмотрены почти все нотации, визуальные и текстовые языки. У всех есть свои плюсы и минусы. Как и следовало ожидать, серебряной пули не обнаружено (да, собственно, само понятие алгоритма чуть более чем расплывчато). Вот в данной теме затронут вопрос полноты анализа, который, на мой взгляд, важнее формы представления алгоритма. И что? Каков результат обсуждения? Что до формы представления блок-схемы, то регулярно расположенные прямоугольники и прямоугольные линии - ярчайший пример агрессивной визуальной среды, которая насквозь антиэргономична. Предложений по улучшению формы на данном форуме было высказано множество, но примечательно, что автор, в первой книге рассуждавший о когнитивной эргономике (за что ему честь и хвала), отмёл их напрочь. В результате на сегодня остался широко пропагандируемый ДРАКОН, который не отвечает требованиям ни эргономики, ни софтверной инженерии. Да, он лучше классических блок-схем - но на самую капельку. А мог бы стать существенно лучше, но. И никто (кроме, вероятно, Лаптева с семантическим редактором) вообще не занимается сколько-нибудь серьёзно научной стороной проблемы. Ну грустно это, что скажешь. |
Автор: | Дмитрий Бардынин [ Суббота, 12 Октябрь, 2019 11:47 ] |
Заголовок сообщения: | Re: Преимущества языка ДРАКОН для деревьев принятия решений |
Я сейчас занимаюсь планированием экспериментов с когнитивными аспектами применения Дракона. Предлагайте, возможно используем ваши идеи. С указанием авторства. |
Автор: | Alexey_Donskoy [ Суббота, 12 Октябрь, 2019 20:17 ] |
Заголовок сообщения: | Re: Преимущества языка ДРАКОН для деревьев принятия решений |
Дмитрий Бардынин писал(а): Я сейчас занимаюсь планированием экспериментов с когнитивными аспектами применения Дракона. Предлагайте, возможно используем ваши идеи. С указанием авторства. Так вы всё же почитайте старые темы на форуме. Там за десять лет обсуждения - сотни полезных идей. Не пересказывать же вам их здесь.Навскидку из главных моих предложений: - убрать псевдодетский новояз, привести терминологию в человеческий инженерный вид; - убрать прямые углы; - убрать контуры элементов, выделяя их только заливкой фона (сейчас маршрут, контуры и текст внутри графически равнозначны, что категорически плохо с точки зрения "когнитивных аспектов"); - маршрутные линии делать плавно закруглёнными, в т.ч. показывая закруглениями направление движения (как рельсы, как синтаксические диаграммы Паскаля и т.п.); - не требовать одинакового размера фигур и регулярного расположения (это создаёт агрессивную визуальную среду, что антиэргономично); - ряд элементов (особенно громоздкий "выбор" aka "case", "switch") требует абсолютно нового дизайна; - по возможности не использовать т.н. "силуэт", поскольку он рвёт маршруты (по сути он ничуть не лучше классической общей шины на электрических схемах - источника труднообнаружимых ошибок); - если таки использовать "силуэт", то т.н. "веточные циклы" должны быть строго под запретом; - отменить абсолютно неформализуемое правило "чем хуже, тем правее" (вместо этого наиболее часто используемый маршрут должен быть самым первым - слева; можно даже ввести правило "чем реже, тем правее" - оно хотя бы имеет логический смысл); - убрать надписи "да/нет" на "развилке" (поскольку они рвут т.н. "симультанное восприятие", что опять же антиэргономично"); вместо этого фиксировать, что "нет" всегда вниз, "да" - всегда вправо; сделать фигуру несимметричной и явно показывающей, что выполнение условия ИЗМЕНЯЕТ прямой маршрут (уводит вправо). Ну и ещё много всякого разного, в т.ч. в части требований к среде разработки (но это уже другая тема). |
Автор: | А_МУР [ Воскресенье, 13 Октябрь, 2019 12:57 ] |
Заголовок сообщения: | Re: Преимущества языка ДРАКОН для деревьев принятия решений |
Alexey_Donskoy писал(а): Навскидку из главных моих предложений: - убрать псевдодетский новояз, привести терминологию в человеческий инженерный вид; Алексей можно подробнее расписать данный пункт Alexey_Donskoy писал(а): - убрать прямые углы; тоже не совсем понял Alexey_Donskoy писал(а): - не требовать одинакового размера фигур и регулярного расположения (это создаёт агрессивную визуальную среду, что антиэргономично); Согласен с Алексеем Alexey_Donskoy писал(а): - ряд элементов (особенно громоздкий "выбор" aka "case", "switch") требует абсолютно нового дизайна; Да, более компактную макроикону Выбора очень сильно растягивается по экрану, читаем пока есть два выбора, если больше то уже не читаемо Alexey_Donskoy писал(а): - по возможности не использовать т.н. "силуэт", поскольку он рвёт маршруты (по сути он ничуть не лучше классической общей шины на электрических схемах - источника труднообнаружимых ошибок); - если таки использовать "силуэт", то т.н. "веточные циклы" должны быть строго под запретом; Алексей совершенно прав, в силуэте найти ошибку практически не возможно, либо Силуэт нужно дорабатывать, либо вводить правила его использования Alexey_Donskoy писал(а): - отменить абсолютно неформализуемое правило "чем хуже, тем правее" (вместо этого наиболее часто используемый маршрут должен быть самым первым - слева; можно даже ввести правило "чем реже, тем правее" - оно хотя бы имеет логический смысл); Действительно имеет смысл! Alexey_Donskoy писал(а): - убрать надписи "да/нет" на "развилке" (поскольку они рвут т.н. "симультанное восприятие", что опять же антиэргономично"); вместо этого фиксировать, что "нет" всегда вниз, "да" - всегда вправо; сделать фигуру несимметричной и явно показывающей, что выполнение условия ИЗМЕНЯЕТ прямой маршрут (уводит вправо). Здесь не согласен, противоречит предыдущему высказыванию, А если "ДА" основной маршрут. Очень спорная иконка!!! Мыслей и вариантов по ней много, в ходе теста посмотрим, как ее лучше изобразить, и какими свойствами наделить. Alexey_Donskoy писал(а): Ну и ещё много всякого разного, в т.ч. в части требований к среде разработки (но это уже другая тема). Алексей Давайте систематизируем все требования в отдельной теме с поддержкой Владимира Даниловича и всех форумчан. Я не знаю, может быть по графическим примитивам, или еще по каким то свойствам. Так сказать попробуем выработать стандарт языка? Дмитрий Бардынин: Вы используете в Сириусе Российские ОС из реестра? |
Автор: | Alexey_Donskoy [ Воскресенье, 13 Октябрь, 2019 15:37 ] |
Заголовок сообщения: | Re: Преимущества языка ДРАКОН для деревьев принятия решений |
А_МУР писал(а): Alexey_Donskoy писал(а): - убрать псевдодетский новояз, привести терминологию в человеческий инженерный вид; Алексей можно подробнее расписать данный пунктЦитата: Alexey_Donskoy писал(а): - убрать прямые углы; тоже не совсем понялСледовательно, надо избавляться и от того, и от другого. В разумных пределах, конечно. Цитата: Alexey_Donskoy писал(а): - убрать надписи "да/нет" на "развилке" (поскольку они рвут т.н. "симультанное восприятие", что опять же антиэргономично"); вместо этого фиксировать, что "нет" всегда вниз, "да" - всегда вправо; сделать фигуру несимметричной и явно показывающей, что выполнение условия ИЗМЕНЯЕТ прямой маршрут (уводит вправо). Здесь не согласен, противоречит предыдущему высказыванию, А если "ДА" основной маршрут.Паронджанов по этому поводу возражает, дескать, потребуется использование логического отрицания, что затрудняет и всё такое. Но это неверно, возражение неадекватное. Правильная формулировка вопроса избавляет от логической инверсии. Проверено многолетней практикой. А бонус при этом существенный: развилка считывается автоматически (симультанно, подсознательно), не требуя отвлечения на анализ "где там да и куда оно направлено". Цитата: Давайте систематизируем все требования в отдельной теме с поддержкой Владимира Даниловича и всех форумчан. Я не знаю, может быть по графическим примитивам, или еще по каким то свойствам. Так сказать попробуем выработать стандарт языка? Да пробовали неоднократно. Но всё ушло в неструктурированный архив форума.В нынешней структуре форума вроде как предусмотрены подходящие разделы, но там пусто. Потому что Паронджанов готов обсуждать только нововведения (элементы языка, которых раньше не было), а уже имеющиеся - строгое табу. Потому что "книг уже выпущено много", о чём он неоднократно и заявлял... Это принципиально неверный подход, имхо. Вон, IEC не стесняется с каждой очередной ревизией выворачивать стандарты наизнанку, потому что все понимают, как далеко ещё до идеала. |
Автор: | Дмитрий Бардынин [ Воскресенье, 13 Октябрь, 2019 17:14 ] |
Заголовок сообщения: | Re: Преимущества языка ДРАКОН для деревьев принятия решений |
А_МУР писал(а): Дмитрий Бардынин: Вы используете в Сириусе Российские ОС из реестра? В пределах моей досягаемости только Win10. Пару раз, для эксперимента, запускал DrakonBar на Android. Других ОС не использую. Вас интересует перенос на что-то конкретное? Можно обсудить, т.к. помнится, что линуксоводы как-то запускались. |
Автор: | Дмитрий Бардынин [ Воскресенье, 13 Октябрь, 2019 17:39 ] |
Заголовок сообщения: | Re: Преимущества языка ДРАКОН для деревьев принятия решений |
Alexey_Donskoy писал(а): Человеческое визуальное восприятие не настроено на параллельные прямые и обилие прямых углов. Следовательно, надо избавляться и от того, и от другого. В разумных пределах, конечно. КМК, спорное утверждение. Прямые линии сильно экономят время, и упрощают понимание, т.к. всегда понятно где верх-низ-право-лево. Если не определить четко, где-какая сторона, то придется дополнительно задумываться, где Вход, где Выход. Сомневаюсь, что обилие округлостей добавит понятности. А вот запутать - запросто. Вложение: Я себе представил что-то похожее, и ужаснулся. На самом деле, можно провести серию экспериментов, оформив один и тот-же алгоритм с помощью прямых Дракон-П ("дракон прямоугольный") и округлых линий типа Дракон-О ("дракон округлый"). Сравнив уровень восприятия у незнакомых с ДРАКОНом учащихся, сделаем выводы и вопрос будет закрыт. |
Автор: | Alexey_Donskoy [ Воскресенье, 13 Октябрь, 2019 21:08 ] |
Заголовок сообщения: | Re: Преимущества языка ДРАКОН для деревьев принятия решений |
Дмитрий Бардынин писал(а): Прямые линии сильно экономят время, и упрощают понимание, т.к. всегда понятно где верх-низ-право-лево. Если не определить четко, где-какая сторона, то придется дополнительно задумываться, где Вход, где Выход. Вы откровенно передёргиваете (или вообще не поняли смысл предложения).1) речь здесь идёт в первую очередь о восприятии! Если симультанное восприятие не срабатывает, приходится подключать когнитивные функции (задумываться), что резко снижает скорость считывания содержательной информации; 2) линии остаются прямыми и строго направленными (вертикаль и горизонталь); 3) закругления делаются на изломах (прямой угол рвёт плавное восприятие и требует подключать "обдумывание", снижая скорость); 4) закругления ("рельсовые сопряжения") делаются в сопряжениях линий, чтобы визуально направлять движение глаза (иначе на Т-образных перекрёстках опять-таки приходится подключать "обдумывание", что резко снижает скорость и даже может создать визуальную двусмысленность, приводя к неверной трактовке маршрута). Блин, это совсем недавно ведь обсуждали (до вашего появления, правда), с картинками и разжёвыванием... 5) закругления делаются при входе в нижнюю шину "силуэта", чтобы показать, справа адресуемая ветка или слева. Это заменяет визуально непонятный закрашенный угол элемента "адрес". Цитата: Сомневаюсь, что обилие округлостей добавит понятности. А вот запутать - запросто. Вы привели совершенно неадекватный пример - лабиринт.А речь здесь шла о том, о чём было сказано выше: когда контур визуального элемента, текст внутри него и маршрутные линии графически "равномощны" (один цвет, одна толщина линии) - это плохо и даже недопустимо, если мы говорим о когнитивной эргономике. Контур же с острыми краями создаёт дополнительное напряжение при визуальном восприятии. Так что при прочих равных условиях: - прямоугольник с закруглёнными краями - лучше простого прямоугольника: - прямоугольник без контура, но с заливкой - лучше простого прямоугольника. Сравните наспех на коленке сделанный пример: Вложение: Вложение: Цитата: можно провести серию экспериментов, оформив один и тот-же алгоритм с помощью прямых Дракон-П ("дракон прямоугольный") и округлых линий типа Дракон-О ("дракон округлый") НУЖНО провести!Только предварительно: - обсудить здесь данные тесты; - сформулировать чёткие критерии оценки когнитивной сложности; - обеспечить равные условия и репрезентативность. |
Автор: | Дмитрий Бардынин [ Понедельник, 14 Октябрь, 2019 11:59 ] |
Заголовок сообщения: | Re: Преимущества языка ДРАКОН для деревьев принятия решений |
Alexey_Donskoy писал(а): Вы откровенно передёргиваете (или вообще не поняли смысл предложения). Как схемотехник схемотехнику: Я представил себе топологию Топор.И сравнил её с традиционной. С т.з. понимания традиционная мне ближе. Извините, увлекся. А пример с монотонными линиями вы привели не совсем удачный. В моем редакторе шампуры очень даже выделяются. И честно говоря, я не вижу криминала в визуальном представлении диаграммы "на выбор": хочешь с рамочками, хочешь одним цветным пятном. Степан этот момент, кажется, в своем редакторе предусмотрел. Палитры точно менять можно. |
Автор: | Дмитрий Бардынин [ Понедельник, 14 Октябрь, 2019 12:06 ] |
Заголовок сообщения: | Re: Преимущества языка ДРАКОН для деревьев принятия решений |
Alexey_Donskoy писал(а): Цитата: можно провести серию экспериментов, оформив один и тот-же алгоритм с помощью прямых Дракон-П ("дракон прямоугольный") и округлых линий типа Дракон-О ("дракон округлый") НУЖНО провести!Только предварительно: - обсудить здесь данные тесты; - сформулировать чёткие критерии оценки когнитивной сложности; - обеспечить равные условия и репрезентативность. Думаю, что это возможно. А специально обсуждать - по мере конкретизации моей работы в течение года. Думаю, мы вернемся к этому вопросу в отдельной теме форума. |
Автор: | Дмитрий Бардынин [ Понедельник, 14 Октябрь, 2019 12:19 ] |
Заголовок сообщения: | Re: Преимущества языка ДРАКОН для деревьев принятия решений |
Alexey_Donskoy писал(а): 1) речь здесь идёт в первую очередь о восприятии! Если симультанное восприятие не срабатывает, приходится подключать когнитивные функции (задумываться), что резко снижает скорость считывания содержательной информации; 2) линии остаются прямыми и строго направленными (вертикаль и горизонталь); 3) закругления делаются на изломах (прямой угол рвёт плавное восприятие и требует подключать "обдумывание", снижая скорость); 4) закругления ("рельсовые сопряжения") делаются в сопряжениях линий, чтобы визуально направлять движение глаза (иначе на Т-образных перекрёстках опять-таки приходится подключать "обдумывание", что резко снижает скорость и даже может создать визуальную двусмысленность, приводя к неверной трактовке маршрута). Блин, это совсем недавно ведь обсуждали (до вашего появления, правда), с картинками и разжёвыванием... 5) закругления делаются при входе в нижнюю шину "силуэта", чтобы показать, справа адресуемая ветка или слева. Это заменяет визуально непонятный закрашенный угол элемента "адрес". на первый взгляд ваши доводы не противоречат идее "скольжения" взглядом. я посмотрю архивы форума, но думаю, что новая итерация обсуждений не должна просто ссылаться на "совсем недавно обсуждали", а иметь все необходимое здесь и сейчас. не все столь терпеливы, чтобы фильтровать старые ветки в надежде выдернуть оттуда трезвую мысль. давайте целенаправленно эргономику и когнитивность культивировать, в т.ч. применяя цитирование со ссылками к оригиналу. |
Автор: | Дмитрий Бардынин [ Понедельник, 14 Октябрь, 2019 12:25 ] |
Заголовок сообщения: | Re: Преимущества языка ДРАКОН для деревьев принятия решений |
Alexey_Donskoy писал(а): Вы привели совершенно неадекватный пример - лабиринт. А речь здесь шла о том, о чём было сказано выше: когда контур визуального элемента, текст внутри него и маршрутные линии графически "равномощны" (один цвет, одна толщина линии) - это плохо и даже недопустимо, если мы говорим о когнитивной эргономике. Контур же с острыми краями создаёт дополнительное напряжение при визуальном восприятии. Так что при прочих равных условиях: - прямоугольник с закруглёнными краями - лучше простого прямоугольника: - прямоугольник без контура, но с заливкой - лучше простого прямоугольника. Собственно, я могу данные моменты проработать в DrakonBar, а там уже индивидуально будет решение приниматься, кому какие линии и визуальное оформление удобнее/понятнее/привычнее Пример, к утверждению о "равномощности": |
Автор: | Alexey_Donskoy [ Понедельник, 14 Октябрь, 2019 14:52 ] |
Заголовок сообщения: | Re: Преимущества языка ДРАКОН для деревьев принятия решений |
Дмитрий Бардынин писал(а): на первый взгляд ваши доводы не противоречат идее "скольжения" взглядом. Фига се.Они как раз её последовательно и возможно более полно реализуют! При этом убирая всё, что этому скольжению мешает. Цитата: не все столь терпеливы, чтобы фильтровать старые ветки в надежде выдернуть оттуда трезвую мысль Равно как и не у всех есть свободные ресурсы, чтобы пережёвывать одно и то же по десятому разу, уж простите...Цитата: Собственно, я могу данные моменты проработать в DrakonBar, а там уже индивидуально будет решение приниматься, кому какие линии и визуальное оформление удобнее/понятнее/привычнее Это очень правильно.
|
Автор: | PSV100 [ Среда, 16 Октябрь, 2019 19:03 ] |
Заголовок сообщения: | Re: Преимущества языка ДРАКОН для деревьев принятия решений |
А_МУР писал(а): Alexey_Donskoy писал(а): - отменить абсолютно неформализуемое правило "чем хуже, тем правее" (вместо этого наиболее часто используемый маршрут должен быть самым первым - слева; можно даже ввести правило "чем реже, тем правее" - оно хотя бы имеет логический смысл); Действительно имеет смысл! А_МУР писал(а): Alexey_Donskoy писал(а): - убрать надписи "да/нет" на "развилке" (поскольку они рвут т.н. "симультанное восприятие", что опять же антиэргономично"); вместо этого фиксировать, что "нет" всегда вниз, "да" - всегда вправо; сделать фигуру несимметричной и явно показывающей, что выполнение условия ИЗМЕНЯЕТ прямой маршрут (уводит вправо). Здесь не согласен, противоречит предыдущему высказыванию, А если "ДА" основной маршрут. Очень спорная иконка!!! Мыслей и вариантов по ней много, в ходе теста посмотрим, как ее лучше изобразить, и какими свойствами наделить. Уже была (или есть) вариация ДРАКОН-а в виде "ДАЛВЯЗ": https://forum.oberoncore.ru/viewtopic.php?f=121&t=5628 , где неявное "да" всегда вниз, нет отдельной конструкции вида "выбор", ветки также помечаются "условием". Однако, видимо, подобные принципы нарушают или ограничивают возможности основной Д-концепции -- так называемой двумерной структурной алгоритмизации. Д-методология избегает применение операции отрицания, комплексные ("сложные") условия с операторами and/or должны "распадаться" на совокупность отдельных икон-вопрос. В результате возможны гибкие переплетения между условиями и связанными действиями, с гибкими переходами (в определенной мере), на чём вновь сделал акцент автор этой темы с конкретными примерами. Без возможности выбора да/нет-направления либо резко возрастает необходимость применения конструкции "силуэт" из-за необходимости снятия возникающих пересечений линий (с соответствующим "снижением наглядности" и прочими сложностями), либо неизбежна форма отрицания условий в каком-либо виде. Последнее, скорее всего, для ДРАКОН-а как предельно универсального средства, в том числе и вне технической сферы применения, весьма затруднительно. Например, пользователи, прежде всего -- гуманитарии -- вынужденны будут трансформировать условия, их части по сравнению с первичной постановкой или описанием задачи и т.п. Необходимой также окажется и косвенная форма отрицания перед "вопросами" в стиле: Код: ok := not some_operation(); ... if ok then ... Видимо, "ДРАКОН-комитет" вряд ли примет решение, ведущее к конструкциям "сложнее", чем в блок-схемах... |
Автор: | PSV100 [ Среда, 16 Октябрь, 2019 19:10 ] |
Заголовок сообщения: | Re: Преимущества языка ДРАКОН для деревьев принятия решений |
В целом, Д-методология критикует "классическую структурщину", о чём вновь заговорили здесь на форуме, например: https://forum.drakon.su/viewtopic.php?f=62&t=6595&start=40#p103780 С другой стороны, на смежном Оберон-форуме было множество "баталий" по поводу читабельности алгоритмов и принципов их построения. Не только насчёт циклов, к примеру, и по поводу уменьшения уровня вложенности условий и максимальной "линеаризации" вместо "развесистости" (да много чего было разного...): Замена IF произв-й влож-ти на последовательные с 2 ур. вл-ти Конструкция AND THEN? В Оберон-07 убран даже оператор LOOP-END с операцией exit. В циклах нет не только continue (неструктурный переход в начало), но и досрочного выхода (зато добавлен "цикл Дейкстры"). Т.е ограничения "структурности" по максимуму. От Д-методологии "досталось" и Р-схемам -- "пионеру" в области "графических структур", где придерживались базовых принципов "стуктурщины" -- вместо "разложения" условия по дугам (которое возможно, однако) есть акцент на "привязке" действий к условиям (предикату/защитному выражению). В результате имеются традиционные и отрицания с and/or-операциями, и дублирование элементов в условиях, "увеличивается" применение иерархической композиции и отношения подстановки вместо следования -- определение подпрограмм/функций и их вызов. И т.д. и т.п. Но условия не нужно "собирать" дополнительно ("откатываясь" назад), возникающие дуги указывают на отношения именно (прежде всего) между действиями (упорядоченно выражая (с автоматическим выравниванием) последовательность, альтернативы, циклы, параллельность и т.д.). В целом возможен даже "ракетный ввод" как здесь (построение диаграмм в том числе по ходу набора текста, поскольку, фактически, можно уравновесить архитектурные особенности/возможности текстового и графического представлений): https://youtu.be/_LohGp7ey2s В Д-схемах "гибкости" больше, есть возможность отразить алгоритм в более оптимальной форме, используя явные связи вместо дублирования элементов (но о возможностях "гибкости" и выражения "оптимальности" -- далее). В целом упорядочиваются не столь действия/операции, а, в общем-то, все "иконы", и, как отмечено выше в теме, акцент на "развилках" -- "условных" иконах ("вопрос"/"выбор") -- переплетение связей между ними, "структуры" (алгоблоки) вторичны или как производная, в некоторой степени с размытыми границами. Мысленно оперировать "валентными точками" (и прочими "пересадками лиан") сложно -- лишь редактор их может показать/выделить по требованию для дальнейшего принятия решения (не создатель алгоритма первично определяет структуру (архитектуру) алгоритма и указывает редактору что делать, а редактор "управляет" созданием алгоритма). В общем, для технической области (или для всех) напрашивается некое "примирение" между "двумерной" и "обычной структурщиной", что ли... |
Страница 2 из 6 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |