У нас с Вами получается разговор слепого с глухим.
Всяк на своем стоит.
Alexey_Donskoy писал(а):
Цитата:
Мы с Вами упорно держимся каждый своих установок.
Ну так не держитесь, кто заставляет-то?
Я же не держусь - у меня идёт чистая импровизация. Но предмет обсуждения настолько прост, что всё время почти одинаковые выводы получаются!
Ну да:
"Я же на возражаю" - возразил он.
Это надолго.
Но это не бесполезный треп на тему, что такое алгоритм:
предмет обсуждения очень не прост.
И для каждого своя польза образуется.
Давайте его действительно перенесем на Вашу тему
("Что такое алгоритм" или на продолжение: "Что такое Алгоритм - 2").
А то
мы уклонились от вопроса текущей темы:
о значении, функциях и видах синтаксических единиц типа "goto" (и их синтаксических смыслах) :
в последовательном и, особенно, в параллельном программировании,
в последовательной и, особенно, параллельной алгоритмике
(низкого, среднего, и высокого уровня).
В привязке к Дракон-методологии.
----------------------------------
Но предварительно полезно подвести по крайней мере один
важный итог (пока он не замылился).
-------------------------------
Спасибо Вам за Вашу находку (для меня, по крайней мере).
Это схема некоторой иерархии абстрагирования.
Alexey_Donskoy писал(а):
Цитата:
1) Что значит"абстрактный исполнитель": абстрактный (отвлеченный) от чего?
От излишних деталей технической реализации исполнителя.
Причём процесс имеет место на всех когнитивных уровнях:
- абстрагируясь от формы электрических сигналов, работаем с битами, байтами и интерфейсами;
- абстрагируясь от кодов команд процессора, работаем с ассемблером;
- абстрагируясь от архитектуры процессора в значительной мере, вместо ассемблера получаем ЯВУ;
- абстрагируясь от архитектуры процессора в полной мере и от синтаксиса ЯВУ в значительной мере, работаем с алгоритмом;
- абстрагируясь от конкретики алгоритма, работаем с математической моделью;
- абстрагируясь от математической модели, работаем с задачами.
Понятно, что эту схему еще надо причесывать - это некоторый Ваш оперативный импровиз.
И я не поленился ее дополнить - тоже оперативная заготовка (под горячую руку) - себе на потом:
Цитата:
На каждом уровне неявно фигурируют некоторые классы исполнителей:
исполнителей чего? - предположим, исполнители некоторых (типов) процессов.
Эти классы исполнителей каждого уровня (i)
явно или неявно (сознательно или бессознательно) представлены понятиями исполнителя,
которые имеют следующие компоненты:
1) Ni: Имя класса - имя понятия (которое представляет этот класс).
2) Vi: Объем понятия - некоторое множество исполнителей.
3) Qi: Качество понятия - множество общих признаков, общих для всех элементов (исполнителей) этого множества.
Цитата:
0) - некоторый базовый класс исполнителей с базовым понятием:
N0 = ?, V0 = ?, Q0 = ?
1) - абстрагируясь от формы электрических сигналов (F), работаем с битами, байтами и интерфейсами;
N1 = ?, V1 = ?, Q1 = Q0?/F = ?
2) - абстрагируясь от кодов команд (K) процессора, работаем с ассемблером;
N2 = ?, V2 = ?, Q2 = Q1?/K = ?
3) - абстрагируясь от архитектуры (A') процессора в значительной мере, вместо ассемблера получаем ЯВУ;
N3 = ?, V3 = ?, Q3 = Q2?/A = ?
4) - абстрагируясь от архитектуры процессора в полной мере (A") и от синтаксиса ЯВУ (S) в значительной мере, работаем с алгоритмом;
N4 = ?, V4 = ?, Q4 = Q3?/(A",S) = ?
5) - абстрагируясь от конкретики алгоритма (A'''), работаем с математической моделью;
N5 = ?, V5 = ?, Q5 = Q4?/A''' = ?
6) - абстрагируясь от математической модели (M), работаем с задачами.
N6 = ?, V6 = ?, Q6 = Q5?/M = ?
-------------------------
Ну и к стати говоря:
1) На всех уровнях явно или неявно присутствуют
дискретные процессы определенного типа.
2) Их выполняют некоторые
объекты-исполнители определенного типа
(процессоры - в широкой интерпретации термина).
3) Эти
дискретные процессы так или иначе могут быть представлены некоторыми моделями:
--
модели процессов - это описания процессов (в некоторой системе описания);
--
описания процессов могут интерпретироваться как
предписания исполнителю - выполнить заданный процесс.
Например, описание технологического процесса (маршрутная и операционная технология)
может интерпретироваться (и реально используется) как предписание объекту-исполнителю (процессору)
для выполнения заданного техпроцесса - человеку, автомату, их человеко-машинному комплексу.
4) Такие модели - описания (предписания) дискретных процессов могут быть 2-х типов
(примерная схема):
4.1)
Алгоритмические описания (предписания) - в разных форма представления:
с явным выделением потока управления и потока данных - это главная специфика;
4.2) Разные
дискретные модели:
-- автоматы логического управления - комбинационные и последовательностные;
-- конечные автоматы - последовательные и параллельные (коллективы автоматов)
и их обобщения - магазинные автоматы и т.п.;
-- сетевые (параллельные) модели - сети Петри, сетевые графики и т.п.
5) Соотношения этих двух видов описаний (предписаний) пока не очень ясны, однако:
--
дискретные модели могут использоваться
для моделирования алгоритмов:
потока управления и потока данных алгоритма - по отдельности и в их взаимосвязи
(для получения некоторой модельной пользы в данной системе моделирования);
-- все
дискретные модели могут быть
программно реализованы (для практического применения)
и, следовательно,
представлены некоторыми алгоритмами.
6) Все
объекты-исполнители дискретных процессов -
реальные (не абстрактные), то есть существуют в натуре:
Абстрактными могут быть только
понятия исполнителей - в наших головах.
При этом, как вы правильно отметили, "абстрактный" - это относительный признак:
понятие каждого уровня этой схемы абстрагирования (и обобщения)
более широкие и
более абстрактные - по отношению к предыдущему уровню
(и наоборот, менее широкие и менее абстрактные по отношению к следующему уровню).
7) Алгоритм на любом уровне, если он используется - это
предписание
реальному исполнителю, существующему в натуре,
а
не (более или менее) абстрактному понятию исполнителя в наших головах.
Поэтому выражение типа
Alexey_Donskoy писал(а):
Если самое короткое резюме - то алгоритм есть программа для абстрактного исполнителя.
очень проблематичное (лучше сказать некорректное) в двух отношениях:
1) В отношении выражения "абстрактный исполнитель".
2) В отношении схемы вывода понятия алгоритма из понятия программы:
-- традиционно явно или неявно используется обратное соотношение:
понятие программы выводится из понятия алгоритма;
-- алгоритмы использовались (человеком-исполнителем) еще до появления программирования:
например, алгоритм (правило) Евклида никто не называет программой Евклида;
-- классическая теория алгоритмов возникла (в 30-х годах) еще до появления ЭВМ и программирования и т.п.
====================
Но общая схема связи уровней иерархии (обобщения) очень хорошая (как исходная идея для многоаспектной работки):
все мы обычно в ней так или иначе в ней барахтаемся, но до сих пор не догадывались.
Ну и к ней напрашивается иерархическая классификация и т.д.