DRAKON.SU

Текущее время: Вторник, 16 Апрель, 2024 19:05

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




Начать новую тему Ответить на тему  [ Сообщений: 328 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8, 9 ... 17  След.
Автор Сообщение
 Заголовок сообщения: Re: Что же такое алгоритм?
СообщениеДобавлено: Воскресенье, 03 Февраль, 2013 06:00 

Зарегистрирован: Суббота, 16 Февраль, 2008 07:58
Сообщения: 239
Откуда: Россия, Стерлитамак
Илья Ермаков писал(а):
Но всё же, в любом случае, можно принять разделение на алгоритмы и программы как на два "полюса", между которыми чёткой границы может не быть, но полюса от этого не исчезают. Алгоритм - более далёкое от машины и ориентированное только на понимание читателем (а понимание, естественно, характерно только для человека, машинный исполнитель не "понимает"), алгоритм требует доуточнения до статуса программы для машины.

Т.к. планируется использовать ДРАКОН не только для написания программ для компьютера, то не стоит и использование программ сужать до статуса "программы для машины". Как упоминал А. Донской, для человека тоже есть программы действий, те же чиновники вполне оперируют себе этим понятием, составляя различные "программы" на следующий год(а).

Был склонен принять точку зрения Донского, что алгоритм, это частный случай программы, но после Ваших слов, что неимперативные программы тоже можно рассматривать как разновидность алгоритма (что, думаю, вполне оправдано, там же тоже можно сказать, ПолучитьЭто, ПолучитьТо, а это уже вполне себе алгоритм), склоняюсь к тому, что эти два понятия тождественны.
И поэтому вполне логично что:

Владимир Паронджанов писал(а):
1. В литературе я НИ РАЗУ не встречал утверждение, что алгоритм и программа — это одно и то же. Что эти понятия тождественны. Никогда и нигде я такого чуда природы не видел.
4. Что мне известно на сей счет? Да, действительно, некоторые авторы бездумно используют в своих текстах слова алгоритм и программа попеременно, интуитивно предполагая что это одно и то же.

Данные понятия не сравнивают между собой потому, что это одно и тоже. И потому же используют их попеременно


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что же такое алгоритм?
СообщениеДобавлено: Воскресенье, 03 Февраль, 2013 08:34 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 145
Откуда: Москва
А един ли алгоритм?
А. Донской блестяще извлек из кармана совсем простенькую задачку копирования с таакими последствиями, то алгоритма как математической абстракции вообще не остаётся?

А правильно, что для задачи должен быть один алгоритм?
Марвин Мински писал(а):
You don't understand anything until you learn it more than one way.

Марвин Мински писал(а):
The reason it's wrongheaded is that if you understand something in just one way, and the world changes a little bit and that way no longer works, you're stuck, you have nowhere to go. But if you have three or four different ways of representing the thing, then it would be very hard to find an environmental change that would knock them all up.

Т.е. если в вас 3 или 4 разных алгоритма заложено, то нокаутировать уже вас проблематично. А в человеке варится одновременно несколько альтернативных стратегий выполнения. Человек поэтому гораздо более устойчив, в отличие от ПО на основе одной стратегии.

Алексей Доской писал(а):
А из этого следует, что универсальное средство для работы с алгоритмами (в частности, ДРАКОН) на самом деле универсальным не является.

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

А умеем ли делать разнообразные стратегии?
У нас для АЭС есть принцип разнообразия защитных средств. Два комплекта защит, на разных технических средствах, на разных принципах (ввод стержней и впрыск бора), разными производителями. Это - предельный случай.

Обычно - алгоритм один, но может разбиваться на альтернативы в критических точках. И если этого не делать, то алгоритм не будет адаптирован к другим условиям.
Что это за условия?
а) другая архитектура компьютера (PDP-11, Infineon C167, Intel 8086) в примере Донского.
б) внешние условия.
Виктор Хартов, Фобос-Грунт писал(а):
...Бортовая логика отработала правильно, система перезагрузилась самостоятельно и ждала команды, что ей делать дальше. Все работало, станция была ориентирована, но из-за проблем со связью дать ей команду на продолжение циклограммы отлета к Марсу не удалось. Задним числом, конечно, понятно, что нужно было добавить в бортовую логику еще одно правило: если система находится слишком долго в режиме ожидания, она должна самостоятельно пытаться понять, в какой фазе полета аппарат находится, и принимать соответствующее решение. Да много чего стало яснее после. После драки кулаками не машут. Хотя это и называется опыт. Сын ошибок трудных.

Стратегия повышения живучести очевидна: диверсификация алгоритмов.
Нужно другое ПО с другими алгоритмами + средства выбора наиболее подходящего на исполнительных механизмах.

А что же ДРАКОН?
Безальтернативен. Хуже того, может нанести непоправимый вред, попадя в руки чересчур ретивому государственному управленцу.
Владимир Паронджанов писал(а):
В двойке алгоритм и исполнитель (если исполнитель человек), понимается, что исполнитель дурак. Дурак-человек. Потому что исполнителю алгоритма по определению категорически запрещено мыслить. Он должен не мыслить, а безропотно исполнять команды алгоритма. Даже в том случае, если последняя команда будет: покончи с собой

Распределение гос средств у нас и так осуществляется по шампуру-царскому маршруту.
Например, Олимпиада-Сочи - это главный маршрут, все остальное (строительство больниц, домов военнослужащим - справа, требуется соптимизировать). А ЕГ? А замораживание Эльбрусов? Примеров - тьма.

ДРАКОН в государственном управлении подведет базу под уже функционирующую систему безальтернативного принятия решений.

А что предлагаем?
Среди людей есть восточные и западные стратегии управления(могу рассказывать подробнее). Наша система управления - самая слабая. Попробуйте выпустить обученного управленца с ДРАКОН-схемами против японского бизнесмена с 6-м даном по Го - результат будет закономерен.

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

Или подумать и сделать действительно что-то новое, которое сможет адаптироваться к реальным задачам?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что же такое алгоритм?
СообщениеДобавлено: Воскресенье, 03 Февраль, 2013 09:45 
Модератор
Аватара пользователя

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


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что же такое алгоритм?
СообщениеДобавлено: Воскресенье, 03 Февраль, 2013 10:00 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Ну, если это для задачи так (что "профзнание" о ней м.б. представлено "последовательным алгоритмом"), то это задача частная. А Дмитрий, видимо, говорил о формализации общей схемы организации деятельности, как здесь: viewtopic.php?p=77700#p77700 ?.. так?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что же такое алгоритм?
СообщениеДобавлено: Воскресенье, 03 Февраль, 2013 10:35 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 145
Откуда: Москва
Илья Ермаков писал(а):
Да там полно задач для "безальтернативной" алгоритмизации - взять регламенты предоставления госуслуг, которые требуется составить каждому муниципалитету для десятков услуг..

А я разве утверждаю, что безальтернативных задач нет?

Да, есть такие задачи, которые еще проще, чем задача копирования памяти.

Valery Solovey писал(а):
...
Илья Ермаков писал(а):
Вообще, исполнитель может выполнять некоторые инструкции недетерминировано - более того, от него это может даже требоваться. Главное, чтобы он делал то, чего от него ожидают.

"Ожидают" и "недетерминировано" стали друг друга дополнять? Возможно и так, но это значит, что Вы нашли способ создания искусственного интеллекта : ).

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что же такое алгоритм?
СообщениеДобавлено: Воскресенье, 03 Февраль, 2013 10:59 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Не поэтому ли в "видеоструктурном исчислении" Дейкстры из блока ветвления выходы не совпадают со входом (симметричны)?.. Кстати, м.б. и асимметричны (обсуждалось в связи с замечанием Ильченко о представлении "всех неглавных" вариантов)...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что же такое алгоритм?
СообщениеДобавлено: Воскресенье, 03 Февраль, 2013 12:11 

Зарегистрирован: Пятница, 20 Июль, 2007 17:26
Сообщения: 105
Откуда: Псков
Выскажу мнение набором бессвязных предложений, бездоказательно и категорично :)
"Что такое алгоритм?"
Если в смысле - "Что же это такое на самом деле?" - то такая постановка вопроса бессмысленна.
Вот как вводили это понятия в разных умных книжках, так и следует понимать.
Не следует пытаться вырывать из "контекста теории".
Ставят задачу и придумывают алгоритмы всегда в рамках той или иной "теории" и оперировать можно только тем, что в ней есть.
Ту же задачу о копировании памяти можно решить в другой "реальности" и так :)
-Объявить тендер
-Рассмотреть предложения.
-Выбрать наилучшее из предложенного по цене.
-Заключить договор
-Проавансировать подрядчика-победителя.
-Дождаться результатов его работы в установленные сроки.
-Окончательно расплатиться с подрядчиком
-Насладиться результатом.
Вот как-то так :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что же такое алгоритм?
СообщениеДобавлено: Воскресенье, 03 Февраль, 2013 12:22 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
И это не вызывает возражений... :)

Кстати, базовый набор "из разных умных книжек" здесь: download/file.php?id=2219 (в Гл.3).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что же такое алгоритм?
СообщениеДобавлено: Воскресенье, 03 Февраль, 2013 12:31 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
adva писал(а):
Был склонен принять точку зрения Донского, что алгоритм, это частный случай программы, но после Ваших слов, что неимперативные программы тоже можно рассматривать как разновидность алгоритма (что, думаю, вполне оправдано, там же тоже можно сказать, ПолучитьЭто, ПолучитьТо, а это уже вполне себе алгоритм), склоняюсь к тому, что эти два понятия тождественны.
Рассматривать неимперативные программы как разновидность алгоритма - как минимум, спорное предложение.

Я предлагаю идти по смыслу, а не по форме (также вниманию albobin, который уже сказал кое-что из нижеперечисленного).

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

Заметим, что нигде мы ещё не дошли до такого понятия, как алгоритм. Оно слишком низкоуровневое по сравнению с процессом решения задачи в целом. И возникает необходимость в нём именно на соответствующем уровне.

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

При этом одним из высокоуровневых языком формализации "порядка действий" является то, что принято называть алгоритмом. Напоминаю, что это всего лишь математическая абстракция. Абстракция, совершенно аналогичная дифференциальному уравнению какого-либо физического процесса.
Но не все физические процессы описываются дифференциальными уравнениями.
Равно как и не вся деятельность описывается алгоритмами.

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

1) задача => требуемая функциональность (инструмента) (отношение (М:М));
2) функциональность => способ её обеспечения (отношение (М:М));
3) способ => "программирование" или "организация" (отношение (1:М));
4) программирование (или организация) => декларативное, императивное (отношение (1:М));
5) императивное => алгоритм (отношение (1:М));
6) алгоритм => "низкоуровневый" исполнитель (отношение (М:М));
7) исполнитель => реализация алгоритма с нужной степенью детализации (отношение (1:М)).

"Вот так как-то!" :wink:

При этом следует учесть, что дальше п.3 обычно не продолжается - так как задача разбивается на подзадачи, которые ставятся как цели подсистемам. Происходит переход на более глубокий иерархический уровень.
И только когда дело доходит до более конкретного исполнителя (который, со своей стороны, как кирпичик, должен обеспечить функциональность организации), цепочка продолжается дальше. Причём она точно так же может иерархически углубляться дальше, рекурсивно повторяясь с п.1. :wink:

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

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

Возможно, для теоретических упражнений целесообразно оставить за термином "программа" только уровень (7) и применять сугубо в техническом смысле. Тогда для уровня (4) остаётся только "организация", что ли? Полагаю, что не во всех случаях этого будет достаточно.

Моё мнение таково, что не обязательно сейчас заниматься терминологическими изысками. Достаточно чётко представлять всю цепочку от 1 до 7, и действовать соответственно и целесообразно на каждом из этих уровней...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что же такое алгоритм?
СообщениеДобавлено: Воскресенье, 03 Февраль, 2013 12:43 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Т.е. алгоритмами описывается не вся деятельность как по объёму (в рамках конкретной задачи его определяет цель), так и по характеру (не всякая цель и задача требуют для решения алгоритма)?..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что же такое алгоритм?
СообщениеДобавлено: Воскресенье, 03 Февраль, 2013 12:53 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Alexey_Donskoy писал(а):
adva писал(а):
Был склонен принять точку зрения Донского, что алгоритм, это частный случай программы, но после Ваших слов, что неимперативные программы тоже можно рассматривать как разновидность алгоритма (что, думаю, вполне оправдано, там же тоже можно сказать, ПолучитьЭто, ПолучитьТо, а это уже вполне себе алгоритм), склоняюсь к тому, что эти два понятия тождественны.
Рассматривать неимперативные программы как разновидность алгоритма - как минимум, спорное предложение.
...
Да, в формализации на ПРОЛОГе, скажем, есть только отношения... а сказать там можно лишь командой "проверь справедливость <интересующего отношения>"... или правилом на базе операций - суть императивным, но в рамках предложения языка подчинённым (и необязательным)?..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что же такое алгоритм?
СообщениеДобавлено: Воскресенье, 03 Февраль, 2013 13:22 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Владислав Жаринов писал(а):
Т.е. алгоритмами описывается не вся деятельность как по объёму (в рамках конкретной задачи его определяет цель), так и по характеру (не всякая цель и задача требуют для решения алгоритма)?..
Разумеется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что же такое алгоритм?
СообщениеДобавлено: Воскресенье, 03 Февраль, 2013 17:23 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 77
Откуда: Астрахань
В императивщине разницы между алгоритмом и программой - нет.
Пишем программу (или алгоритм? :) ) на паскале (да на любом императивном языке программирования).
Есть исполнитель-человек, который может выполнить программу-алгоритм.
Есть исполнитель-интерпретатор, который может выполнить программу.

То есть, как я и говорил уже где-то:
программа - это алгоритм, представленный (записанный) в системе команд исполнителя.
Алгоритм и программа - близнецы-браться.
Мы говорим "программа", подразумеваем - "алгоритм".
Мы говорим "алгоритм", подразумеваем - "программа".

Вот хорошо - я как раз курс буду читать "Структуры данных и алгоритмы". Там со студентами и обсудим. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что же такое алгоритм?
СообщениеДобавлено: Воскресенье, 03 Февраль, 2013 19:17 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5848
Откуда: Москва
Валерий Лаптев писал(а):
Алгоритм и программа - близнецы-браться.
Мы говорим "программа", подразумеваем - "алгоритм".
Мы говорим "алгоритм", подразумеваем - "программа".

Вот хорошо - я как раз курс буду читать "Структуры данных и алгоритмы". Там со студентами и обсудим. :)


Ярко сказано. Запоминается. И со студентами обсудить — правильная идея.

Но для меня это не подходит.

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

2. Для моей задачи нужен человек не в виде тощей абстракции дурака-исполнителя, а виде мыслящего человека. Дмитрий Владимирович назвал его Читателем.
Суть в том, что меня интересует понимание алгоритма не дураком-исполнителем (это тривиальный постулат), а понимание алгоритма мыслящим живым человеком в процессе зрительного восприятия текста (или чертежа) алгоритма.

3. Поэтому для моей задачи нужна трехфакторная схема 1) алгоритм 2) исполнитель 3) Читатель. Если из схемы убрать Читателя, то сразу исчезает и превращается в ничто моя задача.

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

Цитата:
Моя задача формулируется так.

Каким образом следует изменить форму представления алгоритма,
чтобы с помощью когнитивно-эргономических средств
обеспечить максимально-возможную понимаемость алгоритма Человеком-читателем.

Чтобы Человек-читатель в процессе камеральной проверки
текста (чертежа) алгоритма смог обнаружить в нем
максимальное число ошибок.

Обнаружить до того, как он приступит к трансляции.


Подчеркну — это новая задача. И эту новую задачу (в отличие от старых) невозможно решить, если считать, что алгоритм и программа — это одно и то же.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что же такое алгоритм?
СообщениеДобавлено: Воскресенье, 03 Февраль, 2013 20:10 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 145
Откуда: Москва
Гораздо лучше, чем дурак-человек.

Но хуже, чем китайская модель, позволяющая выбрать решение из двух альтернатив. Каждый китаец знает эту старую историю
36 стратагем писал(а):
После смерти императора Цинь Шихуана, объединившего под своей властью весь древний Китай, дворцовый концертмейстер Чжао Гао организовал заговор, в результате которого на трон взошел младший сын умершего властителя. Засим Чжао Гао захотел избавиться и от своего ставленника. Но прежде чем приступить к активным действиям, он решил проверить настроение людей из императорской свиты, которые могли помешать осуществлению его планов.
Он подвел к императору оленя и сказал:
- Позвольте, ваше величество, преподнести вам этого коня.
- Мне кажется, что вы ошибаетесь. Я вижу перед собой оленя, почему же вы говорите о коне? — ответил со смехом император.
Однако Чжао Гао продолжал утверждать, что дарит государю лошадь.
Тогда позвали советников императора и спросили их мнение. Некоторые предусмотрительно отмолчались, иные же согласились с тем, что Чжао Гао действительно подносит в дар императору лошадь.

Она называется Стратагемой №13 - Бить по траве, чтобы спугнуть змею. Это - обоснованный выбор из 2-х альтернатив.

Ваша стратегия у китайской не выиграет. Спасает только русская смекалка и нарушение всех правил


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что же такое алгоритм?
СообщениеДобавлено: Воскресенье, 03 Февраль, 2013 20:38 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Владимир Паронджанов писал(а):
3. Поэтому для моей задачи нужна трехфакторная схема 1) алгоритм 2) исполнитель 3) Читатель.
Пожалуй, единственное, с чем я полностью согласен во всей истории с ДРАКОНом, и горячо поддерживаю! :D

Владимир Паронджанов писал(а):
Подчеркну — это новая задача. И эту новую задачу (в отличие от старых) невозможно решить, если считать, что алгоритм и программа — это одно и то же.
Во-первых, задача таки не новая. Грубо говоря, каждый создатель нового языка программирования исходит именно из этой задачи.
Только обилие языков и подходов говорит нам о том, что задача не так проста, и шапкозакидательством её не возьмёшь!

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

Наконец, тридцать три раза массаракш, ещё одно важное замечание.
Идеальных исполнителей не бывает.
Программист очень часто сталкивается с ошибками операционной системы и других сторонних средств. То есть при абсолютно безошибочном алгоритме и при точном соответствии спецификациям библиотечных функций программа ведёт себя неправильно. Ошибки такого типа, к сожалению, никак не пересекаются с возможностями визуальных представлений, о которых мы здесь говорим...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что же такое алгоритм?
СообщениеДобавлено: Воскресенье, 03 Февраль, 2013 20:59 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 77
Откуда: Астрахань
Alexey_Donskoy писал(а):
Владимир Паронджанов писал(а):
3. Поэтому для моей задачи нужна трехфакторная схема 1) алгоритм 2) исполнитель 3) Читатель.


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

Наконец, тридцать три раза массаракш, ещё одно важное замечание.
Идеальных исполнителей не бывает.
Программист очень часто сталкивается с ошибками операционной системы и других сторонних средств. То есть при абсолютно безошибочном алгоритме и при точном соответствии спецификациям библиотечных функций программа ведёт себя неправильно. Ошибки такого типа, к сожалению, никак не пересекаются с возможностями визуальных представлений, о которых мы здесь говорим...

1. Еще раз подчеркиваю: Читатель - частный случай Исполнителя, ибо Исполнитель тоже читает алгоритм.
2. Нет такого слова теперь - реализация алгоритма. Есть перевод из одного представления в другое.
Этот перевод делается в режиме пошагового уточнения. Сначала пишется-рисуется набросок алгоритма, потом уточняются некоторые неясные моменты... И т.п. То, что сейчас принято называть реализацией - это запись того же алгоритма в нотации языка программирования. А поскольку в процессе этой записи продолжается уточнение некоторых неясных деталей - возникают ошибки. Ибо здесь уже есть исполнитель.
3. Идеальных исполнителей не надо. Надо - конкретный. Для удобного нам представления.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что же такое алгоритм?
СообщениеДобавлено: Воскресенье, 03 Февраль, 2013 21:10 
Модератор
Аватара пользователя

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


Читатель - это воспринимающее сознание.
У исполнителя (как устройства) нет сознания.
Это если читатель является и исполнителем, то всё смешивается, да.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что же такое алгоритм?
СообщениеДобавлено: Воскресенье, 03 Февраль, 2013 22:30 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Валерий Лаптев писал(а):
1. Еще раз подчеркиваю: Читатель - частный случай Исполнителя, ибо Исполнитель тоже читает алгоритм.
Не совсем так. Правильнее: читатель МОЖЕТ исполнять функции исполнителя.

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

Кроме того, есть обширное поле деятельности в части оптимизации отдельных аспектов.
В данном случае речь о когнитивном аспекте и его эргономике.
С этой точки зрения основаная (оптимизируемая) функциональность человека-проектировщика - ЧИТАТЕЛЬ.
К алгоритму и его исполнителю это, вообще говоря, никакого отношения не имеет.

Цитата:
2. Нет такого слова теперь - реализация алгоритма. Есть перевод из одного представления в другое.
Не могу согласиться. Говоря о переводе, мы остаёмся на том же системно-иерархическом уровне.
Говоря о реализации, мы имеем в виду процесс проектирования сверху вниз.
Когда уже известный алгоритм (который обеспечивает функциональность проектируемой системы в целом) последовательно детализируется на более глубоких системных уровнях.

Перевод не порождает нового знания, реализация - порождает.

Ещё раз подчёркиваю - мы не говорим о тривиальных случаях учебных студенческих программ, которые проектируются на одном уровне иерархии. Мы говорим о процессе разработки сложных (в т.ч. программных) систем.
И об оптимизации инструментальной поддержки этого процесса с точки зрения когнитивной эргономики.

Цитата:
3. Идеальных исполнителей не надо. Надо - конкретный. Для удобного нам представления.
Речь немного не об этом. А о том, что существенное влияние на процесс проектирования оказывают, скажем так, недокументированные свойства конкретного исполнителя.
И о том, что поддержка человека в этом отношении лежит за рамками и алгоритмов, и когнитивной эргономики их представлений...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Что же такое алгоритм?
СообщениеДобавлено: Понедельник, 04 Февраль, 2013 06:04 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Согласен...

Решение задачи в формулировке Донского давно предложено, например, М.А. Холодной... с её ментальным опытом думающего исполнителя... каковой опыт актуализируется описанием... у каждого думающего, возможно, по-своему...

Читатель - это исполнитель в целях чтения... :) Если он "прочёл и отложил" - значит, такова его цель...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 328 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8, 9 ... 17  След.

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


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

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


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

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