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

Композитный ввод-вывод. Или иконка "Преобразователь"
https://forum.drakon.su/viewtopic.php?f=229&t=6780
Страница 1 из 1

Автор:  Дмитрий Бардынин [ Воскресенье, 09 Февраль, 2020 19:19 ]
Заголовок сообщения:  Композитный ввод-вывод. Или иконка "Преобразователь"

По собственному опыту, а также по итогам общения с Муравицким Алексеем пришел к выводу, что в ДРАКОН-схемах была бы полезна новая иконка: "Композитный ввод-вывод", или проще "Преобразователь".
Существуют функции, на вход которых подается некое число параметров, и на выходе мы тоже имеем некое число выходных параметров. Для таких функций полезной будет иконка с тремя текстовыми полями, описывающими соответственно Ввод, Наименование функции и её Вывод. В качестве Ввода могут выступать имена переменных, списки, числовые данные, устройства ввода. В качестве Вывода аналогично могут выступать имена переменных, списки, числовые данные, устройства вывода.
Вложение:
Комментарий к файлу: Вариант №1 иконы "Преобразователь"
сумматор1.PNG
сумматор1.PNG [ 21.97 КБ | Просмотров: 4084 ]

Вложение:
Комментарий к файлу: Вариант №2 иконы "Преобразователь"
сумматор2.PNG
сумматор2.PNG [ 21.12 КБ | Просмотров: 4084 ]


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

Думаю, подобная иконка будет полезна для описания слоёв простых нейронных сетей, описание которых мне также хочется реализовать на ДРАКОНе.

Автор:  Владимир Паронджанов [ Воскресенье, 09 Февраль, 2020 20:03 ]
Заголовок сообщения:  Re: Композитный ввод-вывод. Или иконка "Преобразователь"

Из двух представленных рисунков лучше верхний, ибо он имеет более простую форму.

Вопрос: зачем нужна такая икона?
Чем она лучше, чем последовательное соединение трех ее составных частей?

Автор:  Дмитрий Бардынин [ Понедельник, 10 Февраль, 2020 10:14 ]
Заголовок сообщения:  Re: Композитный ввод-вывод. Или иконка "Преобразователь"

Очевидные преимущества:
1. В случае, если мы описываем многократное преобразование данных, то количество отображаемых традиционных икон увеличивается двух-трехкратно. В случае же с иконой "Преобразователь" количество икон соответствует этапам преобразования.

2. В классическом ДРАКОНе бедно представлены инструменты работы с данными, для чего требуется вспомогательная система (Чижик-Пыжик ГРАФИТ-ФЛОКС). В случае с Преобразователем мы частично решаем эту проблему, позволив последовательным иконкам для Ввода использовать Вывод предыдущей. Получается визуализация простейшего приема "Два пишем, три в уме". Традиционные иконы такой возможности акцентирования не дают.
Вложение:
сумматор31.png
сумматор31.png [ 30.98 КБ | Просмотров: 4064 ]


3. Используя прием из п.2, как мне кажется, довольно легко описывать простые нейросети, привлекая тем самым к данной тематике внимание непрограммистов. В любом случае, обученный Перцептрон такой иконой описывается замечательно. (Способ обучения, думаю, можно рассматривать отдельно. На ДРАКОНе это направление - "поле непаханное".)

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

Неочевидные моменты:
5. Преобразователь позволяет сохранить высокую понимаемость диаграмм ДРАКОНа. Например, операция обмена значениями двух переменных может быть описана тремя иконами Полка, с использованием буферной переменной: буф = А; А = Б; Б = буф. В этом случае вводится новый элемент, временная переменная, что никак не ускоряет понимание схемы, число элементов которой итак велико.
Можно записать этот обмен быстрее: А,Б = Б,А; или, если переменные глобальные, с привлечением внешней функции ОБМЕН(А,Б). Но в случае А,Б = Б,А ускользает представление об иконе Полка, как о способе работы с одной переменной, или с одним объектом, ведь в верхнем текстовом поле будут упоминаться две переменные. В случае с привлечением сторонней функции появляются вопросы к характеру работы с переменными. В случае с Преобразователем такая операция становится предельно понятной: в верхнем тексте перечисляются исходные данные, а в нижнем тексте - итоговые, причем очередность перечисления переменных в нижнем текстовом поле перестает нести процедурный характер, т.к. не обязана описывать способ обмена. Этот способ описывается в среднем текстовом поле явно, ссылаясь на внешнюю функцию: Обмен, Ротация, Перемешивание и т.п.

Автор:  Дмитрий Бардынин [ Понедельник, 10 Февраль, 2020 19:57 ]
Заголовок сообщения:  Re: Композитный ввод-вывод. Или иконка "Преобразователь"

6. Оформленный Преобразователь позволяет удобно разделить параметры, код/название обработчика и выходные данные. Это упрощает работу с данными, например, подобно CoDeSys. Причем одновременно можно определять и входные, и выходные потоки. Это важно при визуальном контроле ввода-вывода. И при потоковой визуализации работы алгоритма.
Изображение

Автор:  PSV100 [ Понедельник, 10 Февраль, 2020 20:07 ]
Заголовок сообщения:  Re: Композитный ввод-вывод. Или иконка "Преобразователь"

Дмитрий Бардынин писал(а):
В классическом ДРАКОНе бедно представлены инструменты работы с данными, для чего требуется вспомогательная система (Чижик-Пыжик ГРАФИТ-ФЛОКС). В случае с Преобразователем мы частично решаем эту проблему, позволив последовательным иконкам для Ввода использовать Вывод предыдущей...

Здесь на форуме когда-то рассматривался более универсальный подход отражения потока данных, а-ля операторные схемы, не только для последовательного соединения. Например:
https://forum.drakon.su/viewtopic.php?p=89395#p89395

Автор:  Дмитрий Бардынин [ Понедельник, 10 Февраль, 2020 20:21 ]
Заголовок сообщения:  Re: Композитный ввод-вывод. Или иконка "Преобразователь"

PSV100 писал(а):
Дмитрий Бардынин писал(а):
В классическом ДРАКОНе бедно представлены инструменты работы с данными, для чего требуется вспомогательная система (Чижик-Пыжик ГРАФИТ-ФЛОКС). В случае с Преобразователем мы частично решаем эту проблему, позволив последовательным иконкам для Ввода использовать Вывод предыдущей...

Здесь на форуме когда-то рассматривался более универсальный подход отражения потока данных, а-ля операторные схемы, не только для последовательного соединения. Например:
https://forum.drakon.su/viewtopic.php?p=89395#p89395

Да, я видел подобные схемы, и сам обдумывал такие варианты. Мне представляется, что решение, предложенное andr, достаточно интересное. Однако, у него есть сильный минус: мы вынуждены удерживать в поле зрения две диаграммы: потока управления и потока данных. Мой способ дает щадящий режим подачи информации о данных. Мы их обозначаем явно, или неявно, но в диаграмме отображаем их наличие. Так мы не привязаны к визуально скрытым переменным, и не обязаны их учитывать. Что показали в диаграмме - то и используется в алгоритме.

Автор:  Дмитрий Бардынин [ Среда, 26 Август, 2020 14:59 ]
Заголовок сообщения:  Re: Композитный ввод-вывод. Или иконка "Преобразователь"

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

Если ничего не описано на выходе, значит Преобразователь сохранил что-то в среде, в стеке или в глобальных переменных. То самое значение "Икс в уме". Эта логика похожа на логику иконы "Вывод", когда данные являются параметром некой функции/процедуры, но в деталях отличается, т.к. в "Выводе" имеющийся результат, сохраненный в глобальных переменных, никак не отображается.
Вложение:
Вывод-преобразователь.png
Вывод-преобразователь.png [ 4.55 КБ | Просмотров: 3400 ]

В случае, если входная ячейка пуста, то логика работы напоминает икону "Ввод", когда некая функция записывает значение в переменную. Однако пустой вход поясняет, что для работы Преобразователя не просто использовалась некая функция/процедура, но и еще некие значения "Икс в уме".
Вложение:
Ввод-Преобразователь.png
Ввод-Преобразователь.png [ 4.46 КБ | Просмотров: 3400 ]


В результате оценки графики всплыло интересное наблюдение: икона Вывод сверху изображает получателя, а снизу - отправляемые данные. Это несколько выбивается из бытовой логики подготовки к отправке сообщений, когда сначала определяется Сообщение, а затем Приемник. Думается, что перевернутое по горизонтали изображение иконки Вывод выглядело бы логичнее.
У иконки Ввод очередность при движении взгляда сверху-вниз соответствует: Источник => Сообщение. У иконки Полка очередность тоже соответствует: Хранилище => Содержимое.


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

Например, так:
Вложение:
Вариант преобразователя.png
Вариант преобразователя.png [ 2.09 КБ | Просмотров: 3400 ]

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