Каталог решений - Что такое алгоритм?

Описание

Удивительное дело. Люди, стоявшие у истоков того, что мы сейчас называем computer science, считали "алгоритм" понятием в принципе неопределяемым. Таким же, как, например, "множество". Но, в отличие от "множества"… Кстати, вы много видели определений множества? Кроме совсем смешного, типа: "множество — это совокупность чего-либо" (ага, ага, а совокупность — это множество чего-либо)? В отличие от "множества", в определениях "алгорима" недостатка нет. Вы без труда найдете штук пять или шесть.

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

Алгоритм — это последовательность действий для исполнителя, записанная на формальном языке и приводящая к заданной цели за конечное время.

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

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

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

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

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

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

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

Дональд Кнут давал такое определение алгоритму:

Алгоритм — это конечный набор правил, который определяет последовательность операций для решения конкретного множества задач и обладает пятью важными чертами: конечность, определённость, ввод, вывод, эффективность.

Здесь мы опять видим "задачу", а также целых пять свойств. Наверняка здесь что-то лишнее. 

 

has been added to your cart:
Оформление заказа