Предварительные замечания

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

До тех пор пока не будет выполнена команда останова, выполнять следующие шаги:

1) выбрать команду,

2) расшифровать команду,

3) выполнить команду.

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

Возьиите корзину неочищенного гороха и пустую миску. Пока в корзине есть горох, продолжать выполнение следующих шагов:

1) взять стручок из корзины,

2) открыть стручок.

3) высыпать горошины из стручка в миску.

4) выбросить стручок.

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

Прежде чем продолжить обсуждение алгоритмов, рассмотрим формальное определение алгоритма.

Формальное определение алгоритма

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: