DRAKON.SU

Текущее время: Воскресенье, 07 Сентябрь, 2025 17:49

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




Начать новую тему Ответить на тему  [ Сообщений: 328 ]  На страницу Пред.  1 ... 8, 9, 10, 11, 12, 13, 14 ... 17  След.
Автор Сообщение
 Заголовок сообщения: Re: Что же такое алгоритм?
СообщениеДобавлено: Суббота, 07 Февраль, 2015 22:10 

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

Ильченко Эдуард писал(а):
Соглашусь с Вами.

Маши́на Тью́ринга (МТ) — абстрактный исполнитель (абстрактная вычислительная машина).

Всё правильно. Противоречий с раннее изложенным нет.
МТ - описание исполнителя. Исполнитель не существует, но описан. Абстракция - суть описание.


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

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Alexey_Donskoy писал(а):
Ильченко Эдуард писал(а):
Alexey_Donskoy писал(а):
Ибо для любого представления алгоритма можно сделать вполне простого, механического исполнителя.
Не могли бы Вы дать описание (привести пример) такого простого, механического исполнителя.
Хе-хе, ну, скажем, ИС Дракон, которая генерирует текст по схеме :)

Можно ли вместо "представления" сказать "преобразования"? (просто уточняю смысл фразы)

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

Для "понять", имхо, наличие памяти и опыта необходимо.
Исполнить описание алгоритма (например, очертания дракон-схемы) это значит осмыслить (представить, но не преобразовать) действия стороннего исполнителя (который описан в алгоритме).

Есть ли примеры как можно понять не имея памяти и опыта?

В общем, нужно разобраться, что значит понять, и как/где происходит понимание.


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

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 101
Ильченко Эдуард писал(а):
Т.е. программ за пределами ЭВМ не существует?

Существуют и для других ВМ. Вот за пределами ВМ не существуют, да.

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

Что то вас унесло... :)

Ильченко Эдуард писал(а):
Алгоритмы существуют с момента появления сознательных существ.
...

Согласен


Ильченко Эдуард писал(а):
Программа — определённый набор команд (предписаний), на которые может реагировать исполнитель

Нет. Плохо. Вы про какие вообще программы?

Ильченко Эдуард писал(а):
Очень хороший пример.

Всё просто.
Алгоритм у Вас в голове, у меня в голове и может появиться в голове того, кто изучает ассемблер и устройство процессора.

Алгоритм, как ему и положено, содержит описание (понятное и Вам и мне, но не процессору) действий исполнителя. «Сложить содержимое регистров АХ и ВХ. Результат поместить в регистр АХ.»

Выполнить эту программу человек не может. Потому, что это не программа : )
Нет у человека физического доступа к регистрам АХ и ВХ.

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


Нет. Вы меня совсем не поняли. Неужели я так непонятно пишу?
Пусть будет так (записано на бумаге на Паскале с пропуском несущественных деталей):
...
a := 2;
b := 3;
c := a + b;
...

Можно утверждать что тут нет алгоритма, т.к. нет последовательности действий для сложения. Но это не так!
Сложение достаточно сложная операция, но мы можем ее скрыть (за символом "+") в языке программирования потому и только потому, что это алгоритмически разрешимая операция.
В императивных языках меньше скрыто, в декларативных больше, в остальном же разницы практически нет.
Эту мысль я пытался донести.


Ильченко Эдуард писал(а):
Дайте, пожалуйста, определение цифровой абстракции.

Можно долго объяснять, но в данном случае это просто двоичные числа.

Ильченко Эдуард писал(а):
Не факт. Обоснуйте, пожалуйста.

Факт. По определению частично рекурсивных функций.

Ильченко Эдуард писал(а):
ilovb писал(а):
3. ... алгоритмы - это вычисления и ничего больше.

Пожалуйста, обоснуйте. С учётом: «Нас ведь интересуют все алгоритмы».

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

Алгоритмы возникли в вычислениях. Само слово "алгоритм" взято с книги о вычислениях.
И в науке алгоритмы - это вычисления.

Остальное лишь пустые фантазии. Можно алгоритмом хоть хомячка назвать. Только это ничего не дает.

Ильченко Эдуард писал(а):
Природной абстракции - ДНК не существует. (Ну, или дайте определение абстракции)
... ДНК существует только в голове (сознании) человека.

Эм... тут можно долго словоблудием заниматься.
Любой код - это абстракция.
ДНК - это код.
Следовательно...

В общем не знаю как объяснить. Вроде очевидно все.

Ильченко Эдуард писал(а):
Там где, абстракция, там всегда «сознание» и «субъекты». По определению.

По определению да. Но тут вот такой тонкий момент... Что такое сознание?
Тут как раз та граница на которой сталкивается наука и религия.

Ильченко Эдуард писал(а):
Что такое абстрактный цифровой код?

Да просто двоичный код.
Имеется в виду, что оперируем не реальными величинами (как в аналоговых устройствах), а абстрактными числами.


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

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 101
По поводу цифровой абстракции на русском затрудняюсь найти источники. У нас вообще с преподаванием CS плоховато в стране.
Смотрите на английском: https://www.google.ru/webhp?sourceid=ch ... bstraction


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

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
ilovb писал(а):
Нет. Вы меня совсем не поняли. Неужели я так непонятно пишу?
Пусть будет так (записано на бумаге на Паскале с пропуском несущественных деталей):
...
a := 2;
b := 3;
c := a + b;
...

Можно утверждать что тут нет алгоритма, т.к. нет последовательности действий для сложения. Но это не так!

Алгоритма нет, но он есть! : )

Если я (или кто-нибудь) знаком с ЯВУ Паскаль и принципом работы ЭВМ, то в тексте я опознаю алгоритм.
Если я не знаком с программированием, то это просто текст.

Ровно то, о чём я говорил. Для существования алгоритма необходим человек (сознательное существо, сознание).

Да и Вы, вроде бы, не против появления алгоритмов вместе с человеком.
ilovb писал(а):
Ильченко Эдуард писал(а):
Алгоритмы существуют с момента появления сознательных существ.


Согласен


ilovb писал(а):
Алгоритмы возникли в вычислениях. Само слово "алгоритм" взято с книги о вычислениях.
И в науке алгоритмы - это вычисления.


Но тогда о вычислениях человеки ничего не знали. А алгоритмами как забить мамонта обменивались.

Кажется я понял, говоря об алгоритмах Вы всегда имеете ввиду класс вычислительных алгоритмов. Тогда во многом я соглашусь. Но они всего лишь часть общей картины.

ilovb писал(а):
Ильченко Эдуард писал(а):
... ДНК существует только в голове (сознании) человека.


Вы передёргиваете.
Я говорил
Ильченко Эдуард писал(а):
Абстракция ДНК существует только в голове (сознании) человека. 


ilovb писал(а):
Ильченко Эдуард писал(а):
Программа — определённый набор команд (предписаний), на которые может реагировать исполнитель

Нет. Плохо. Вы про какие вообще программы?

Про любые.

Если Вы считаете моё определение плохим, дайте, пожалуйста, Ваше определение программы. Желательно с обоснованием.

ilovb писал(а):
Ильченко Эдуард писал(а):
Там где, абстракция, там всегда «сознание» и «субъекты». По определению.

По определению да. Но тут вот такой тонкий момент... Что такое сознание?
Тут как раз та граница на которой сталкивается наука и религия.


Замените слово «сознание» на слово «человек» и конфликт науки с религией уйдёт : )
Слово «сознание» я использую чаще, чтобы показать, что алгоритмы (как понимание) доступны не только человеку, но и другим созданиям (животным и, возможно, некоторым классам механизмов).


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

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 101
Ильченко Эдуард писал(а):
Алгоритма нет, но он есть! : )

Если я (или кто-нибудь) знаком с ЯВУ Паскаль и принципом работы ЭВМ, то в тексте я опознаю алгоритм.
Если я не знаком с программированием, то это просто текст.

Ровно то, о чём я говорил. Для существования алгоритма необходим человек (сознательное существо, сознание).

Да и Вы, вроде бы, не против появления алгоритмов вместе с человеком.


Опять мимо. Ну вообще это изначально не вам писалось. Потому вам видимо и непонятно о чем речь. Проехали.

Ильченко Эдуард писал(а):
Но они всего лишь часть общей картины.

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

Вы же, надеюсь, понимаете, что о неформальных алгоритмах бесполезно рассуждать? Кроме пустого трепа ничего не получится.

Ильченко Эдуард писал(а):
Вы передёргиваете.
Я говорил

Пардон.

Ильченко Эдуард писал(а):
Ваше определение программы

Выше давал уже.

Цитата:
Замените слово «сознание» на слово «человек» и конфликт науки с религией уйдёт : )

А что такое человек? :) И чем он от камня отличается?


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

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 101
Еще хочу отдельно сказать про древнего охотника.

С чего вы взяли, что алгоритм охоты не является вычислением?
Вы реально думаете, что там происходит что-то отличное от процессов в современном компьютере?

Охотник - это мозг.
Мозг - это нейросеть.
Нейросеть - это автомат.
Автомат - это вычисления.


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

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

С чего вы взяли, что алгоритм охоты не является вычислением?
Вы реально думаете, что там происходит что-то отличное от процессов в современном компьютере?

Процессы одинаковые.
Устройство разное

Как следствие, охотник может составить описание (план, алгоритм) поимки мамонта и поймать его (исполнить программу).

ilovb писал(а):
С чего вы взяли, что алгоритм охоты не является вычислением?

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


ilovb писал(а):
А что такое человек? :) И чем он от камня отличается?

В буддизме советуют пнуть сначала большой камень, потом большого человека. И составить своё мнение : )

А отличаются они устройством, и как результат, возможностью воздействия на внешний, по отношению к ним, мир.


ilovb писал(а):
Ильченко Эдуард писал(а):
Ваше определение программы

Выше давал уже.

Из того что нашёл:

Алгоритм это программа.
Алгоритм это вычисление.

Т.е. алгоритм это программа это вычисление это алгоритм …

Отсутствует разделение на описание (абстракцию) и фактическое (физическое) исполнение.
Это хорошо видно на примере с ДНК.


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

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 101
ilovb писал(а):
Моя формулировка:
Программа - это алгоритм, записанный на формальном языке в виде пригодном для исполнения механически без участия человека. В качестве исполнителя как правило выступает универсальная цифровая вычислительная машина.

Уточнение:
Вид пригодный для исполнения - это, к примеру, перфокарта или поток символов на магнитной ленте. Те физический носитель + некоторая система кодирования.


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

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

Алгоритм это программа.
Алгоритм это вычисление.

Т.е. алгоритм это программа это вычисление это алгоритм …

Отсутствует разделение на описание (абстракцию) и фактическое (физическое) исполнение.

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

Уточнение:
Вид пригодный для исполнения - это, к примеру, перфокарта или поток символов на магнитной ленте. Те физический носитель + некоторая система кодирования.

Пардон, был не внимателен. Разделение присутствует.

В части: программа — это запись в виде пригодном для исполнения, у меня нет расхождении во взглядах с Вами.

С алгоритмом сложнее.

ilovb писал(а):
Алгоритмы возникли в вычислениях. Само слово "алгоритм" взято с книги о вычислениях.
И в науке алгоритмы - это вычисления.

ilovb писал(а):
С чего вы взяли, что алгоритм охоты не является вычислением?

Т.е. алгоритм - это вычисления. Поправьте меня, если я опять неверно Вас понял.

Тогда, если вычисления это фактическое (физическое) исполнение (преобразование) одних физических кодов в другие физические коды, то алгоритм равен программе.

Если вычисление — это запись о том, как произвести фактические (физические) преобразования, то тогда алгоритм — это описание на языке не пригодном для исполнения, но пригодном для понимания (привет человек). Это как раз случай разделения понятий алгоритм и программа.

К тому же, понятие алгоритм шире понятия вычисление.

ilovb писал(а):
Охотник - это мозг.

Охотник это не только ценный мозг : )
Это совокупность достаточно разнообразных устройств. Где мозг вычислитель (ВМ) (здесь я с Вами соглашусь). Эту совокупность назову организмом.

Вот алгоритм охоты — это план действий (охоты). Организму (как целому) он доступен в образах. Оперирует ли мозг теми же образами — неизвестно, хотя вроде понятно как он работает.

Организм воспринимает физику мира (свет, звук …) и воздействует на физику мира (мышцы, железы).

Мозг воспринимает нейроимпульсы и выдаёт нейроимпульсы. Нет для мозга ни света, ни звука.

Алгоритм вторичен по отношению к программе и является описанием действий исполнителя, работающего под воздействием программы, но не самой программы.

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


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

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 101
Что-то я не пониманию вашу вермишель алгоритмов и программ.

С моей точки зрения все просто. Проиллюстрирую с помощью замены терминов более содержательными:
1. Алгоритм - Неформальный алгоритм
2. Программа - Формальный алгоритм

Т.е. разница только в формальности/неформальности.


Цитата:
Т.е. алгоритм - это вычисления

Да.

Цитата:
К тому же, понятие алгоритм шире понятия вычисление.

Ну если учитывать всякую чепуху, приплетаемую к алгоритмам народом..., то да, наверно шире.
Но на самом деле нет.


Цитата:
Алгоритм вторичен по отношению к программе и является описанием действий исполнителя, работающего под воздействием программы, но не самой программы.


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


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

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

Подумал. Спасибо.

При анализе программы алгоритм вторичен, при синтезе - первичен : )


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

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

Цитата:
Определения алгоритма

«Алгоритм — это предназначенное для конкретного исполнителя точное описание последовательности действий, направленных на решение поставленной задачи».

Алгоритм можно записать:

- на естественном языке;
- в виде нумерованного списка;
- в виде блок-схемы.

Программа – это алгоритм, записанный по правилам понятного исполнителю языка.


С чем в принципе (практически) согласен : )


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

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 101
Ильченко Эдуард писал(а):
При анализе программы алгоритм вторичен, при синтезе - первичен : )

Можно и так сказать :)

Ильченко Эдуард писал(а):
Цитата:
Программа – это алгоритм, записанный по правилам понятного исполнителю языка.


Не очень точное определение, но для школы пойдет.

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


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

Зарегистрирован: Четверг, 30 Январь, 2014 13:38
Сообщения: 422
Владимир Паронджанов писал(а):
Машина Тьюринга - что это такое?
Описание машины Тьюринга - это не машина Тьюринга, а некоторая понятийная модель.
Это конструктивное понятие о машинах такого класса, представленное на бумаге и в наших головах.
И это описание само по себе не исполнитель - оно ничего не может исполнять само по себе.

Или, например, техническое описание ЭВМ:
1) Общая характеристика ЭВМ:
Наименование
Назначение
Область применения
Технические (тактико-технические) данные и т.д.
2) Описание устройства ЭВМ.
3) Описание работы ЭВМ и т.п.

Техническое описание ЭВМ - это достаточно конструктивное понятие об ЭВМ определенного типа (определенной серии выпуска), представленное на бумаге и в наших головах (после изучения документации).
Такие ЭВМ в физическом изготовленном состоянии - это исполнители алгоритмов в их программной реализации.
Но само описание ЭВМ, само понятие ЭВМ не является исполнителем:
оно ничего не может выполнить.

Исполнителем по модели Тьюринга может быть, например, человек, в частности, студент.
Например, он выполняет заданные упражнения - вычисляет 3 + 5 = 8 в натуральном коде по системе Тьюринга (самый простой пример):
||| ||||| = |||||||| - по программе поочередного сдвига единиц второго числа влево.

Это можно в небольшом диапазоне значений чисел:
сложить 3 млн + 5 млн студент практически уже не может (разве только на спор).
Можно, конечно, абстрагироваться от технических ограничений студентов - в потенциальную возможность студентов (масло масляное, но понятно).
Но это будут уже не реальные студенты, а предположения, которые сами по себе не вычисляют.

Более шустрый исполнителем вычислений указанного типа по модели Тьюринга
может быть простейший механизм:
запись-стирание и считывание единиц с магнитной ленты в качестве оперативной памяти
+
реверсивный лентопротяжный механизм с пошаговым последовательным доступом
(без прогонов по конечному адресу, до какого-то признака и т.п.).
Но реальный ленточный исполнитель также быстро упрется в технические ограничения.
Можно конечно принять условие:
условно бесконечная лента в один конец - тот самый потенциальный процесс.
Но это уже не исполнитель, а предположение, которое ничего не вычисляет.

Все это реальные исполнители - абстрактных исполнителей среди них нет.

===================
Однако, основное исходное назначение Машины Тьюринга, а также Поста,
а также рекурсивных функций, нормальных алгорифмов Маркова - не конкретные вычисления.
Это представительные вычислительные модели (алгоритмов)
для доказательства проблем алгоритмической разрешимости / неразрешимости.
С учетом абстракции потенциальной осуществимости - с абстрагированием от технических ограничений.
И доказательства выполняют не эти модели непосредственно, не модель под названием "машина Тьюринга", а человек - исполнитель доказательств.

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

Владимир Паронджанов писал(а):
Похоже, что англофоны вообще не знают, что такое исполнитель. Или я не прав?

Там, где русский скажет "исполнитель", американцы говорят "simulator/computer/computor"
Цитата:
A computer (or human "computor"[28]) is a restricted type of machine, a "discrete deterministic mechanical device"

Цитата:
target computing agent (computer/computor).

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


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

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 6019
Откуда: Москва
Анализ сложности алгоритмов. Примеры
Автор admin
http://pro-prof.com/archives/1660

Анализ рекурсивных алгоритмов
Автор admin
http://pro-prof.com/archives/813


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

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 341
Alexey_Donskoy писал(а):
Перфокарта для механического пианино однозначно рассматривается как программа для него (ну, вернее, программой является код, а сама перфокарта - её носителем, но это уже мелочи). В то же время никто не рискнёт назвать эту штуку алгоритмом

Ну почему же )

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

Как это? А программа для машины Тьюринга?

Alexey_Donskoy писал(а):
далеко ходить не надо: в повседневной практике я навскидку сразу нашёл такие проблемы, которые и описал в данной теме: есть вполне конкретная задача, которую даже на одном исполнителе можно решить при помощи разных программ, причём не для всех программ можно говорить об алгоритме вообще.
Что за ерунда? Задача есть, чёткая и формальная, а алгоритма нет! И множество путей программирования

Ну вот каждый из "путей программирования" и будет алгоритмом.


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

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 341
Ильченко Эдуард писал(а):
Уважаемый Alexey_Donskoy привёл очень хороший пример, на котором можно чётко увидеть разницу между алгоритмом и программой.
Alexey_Donskoy писал(а):
Перфокарта для механического пианино однозначно рассматривается как программа для него (ну, вернее, программой является код, а сама перфокарта - её носителем, но это уже мелочи). В то же время никто не рискнёт назвать эту штуку алгоритмом

Мне не понравилось :P

Ильченко Эдуард писал(а):
Алгоритм описывает звук какой частоты, длительности и в каком порядке будет воспроизведён механическим пианино для извлечения мелодии «Широка страна моя родная»

Это будет "трасса" алгоритма.

Ильченко Эдуард писал(а):
Важной особенностью алгоритма является прямое указание цели, которая должна быть достигнута в результате действий исполнителя

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

Ильченко Эдуард писал(а):
Итого: Алгоритм — описание порядка действий исполнител(я/ей), для достижения определённой цели

Я в моих лекциях использую следующее "рабочее" определение алгоритма:
"Алгоритм - это некоторый систематизированный набор предписаний (инструкций, правил), позволяющий решить некоторую задачу".

Ильченко Эдуард писал(а):
На примере с Прологом вообще всё просто. Алгоритм один на все случаи жизни и зашит в пролог-машину. Программа состоит из одной команды «фас» (goal), после которой начинает пожирать данные. Повторюсь, алгоритм обработки данных один и зашит внутри пролог-машины

Ну, здесь я не соглашусь. В книге Стерлинга и Шапиро, например, для Пролога содержатся самые разные алгоритмы (их реализация), и от программы еще как зависит порядок вычислений.


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

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 341
ilovb писал(а):
Мозг - это нейросеть

Да, но в каком смысле? Не следует сводить мозг человека к упрощенной модели "нейронной сети" в математическом (принятом в ИТ ну или CS если Вам больше нравится) смысле.

ilovb писал(а):
Нейросеть - это автомат

А вот это уже - очень сильное заявление. Чем докажете? :lol:


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

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 341
Ильченко Эдуард писал(а):
Ну и в тему топика отсюда

Цитата:
Определения алгоритма
«Алгоритм — это предназначенное для конкретного исполнителя точное описание последовательности действий, направленных на решение поставленной задачи».
Алгоритм можно записать:
- на естественном языке;
- в виде нумерованного списка;
- в виде блок-схемы.
Программа – это алгоритм, записанный по правилам понятного исполнителю языка.

С чем в принципе (практически) согласен : )

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

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 328 ]  На страницу Пред.  1 ... 8, 9, 10, 11, 12, 13, 14 ... 17  След.

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


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

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


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

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