Исполнители алгоритмов
Любой алгоритм существует не сам по себе, а предназначен для определённого исполнителя (человека, робота, компьютера, языка программирования и т.д.). Свойством, характеризующим любого исполнителя, является то, что он умеет выполнять некоторые команды. Совокупность команд, которые данный исполнитель умеет выполнять, называется системой команд исполнителя. Алгоритм описывается в командах исполнителя, который будет его реализовывать. Объекты, над которыми исполнитель может совершать действия, образуют так называемую среду исполнителя. Исходные данные и результаты любого алгоритма всегда принадлежат среде того исполнителя, для которого предназначен алгоритм.
Исполнителем называется некоторая биологическая, техническая или смешанная структура, способная исполнять (по командно или программно) некоторый класс алгоритмов в некоторой операционной среде (некотором множестве допустимых «инструментов» и «команд»).
Наиболее используемые типы исполнителя алгоритмов – человек или автомат (компьютер).
Человек как исполнитель алгоритмов – совокупность исполняющих подсистем (мышечная, двигательная, зрительная, обонятельная и др.) и управляющей подсистемы (нервная, нейронная).
Нервная система передаёт информацию, получаемую от нервных окончаний кожи, глаз, ушей и других органов, к нервным центрам для её последующей интеграции, обработки и выработки адекватной реакции. Нервная система – совокупность взаимодействующих нервных клеток или нейронов. У человека их – громадное количество.
Пример. По различным оценкам физиологов, в коре переднего мозга человека – около 50 млрд. нейронов. Нейроны, хотя и работают медленно (около сотни инструкций в секунду), но могут за счёт более эффективного взаимодействия друг с другом и организации сложнейших нейроструктурных связей (кластеров) решать сложные мыслительные задачи, принимать решения.
Пример. Такая плохо структурируемая, но «простая» для человека задача, как «одеться по погоде», решается быстро с помощью обработки зрительной, слуховой информации и согласованной «нейронной» оценки ситуации, хотя она и плохо формализуемая. Компьютеру эту задачу решать будет намного сложнее. С другой стороны, вычислительные ресурсы человека ограничены по сравнению с возможностями компьютера, который во много раз лучше (быстрее, точнее) решает хорошо формализуемые и хорошо структурируемые задачи.
Нейроны служат для передачи информации за счёт нервных импульсов, которая расшифровывается в соответствующих областях коры головного мозга.
В непосредственную (сенсорную) память человека поступает информация от различных сенсоров: зрительных, слуховых, обонятельных и т.д. Затем эта информация переводится в оперативную память (память сознания). Далее она пересылается в долговременную память с привлечением подсознания («укладывается на полочки» с соответствующими названиями «Формы поведения», «Объекты и образы», «Правила и процедуры обнаружения и идентификации объектов», «Правила выборки и организации информации», «Жизненный опыт», «Бытовые навыки и умения», «Профессиональные навыки и умения» и др.).
Пример. Увиденный человеком конкретный компьютер ассоциируется с абстрактным понятием «Компьютер» (из долговременной памяти) – например, со сведениями об этом устройстве – информационными кодами, которые определяют объект (связь, понятие). Коды связываются между собой, создавая образ конкретного компьютера.
Второй важный тип исполнителей – конечные автоматы, автоматические (т.е. функционирующие определённый промежуток времени без участия человека) устройства, вход, выход и состояния которых можно описать конечными последовательностями сообщений (слов над конечными алфавитами). Любой конечный автомат реализует некий непустой класс алгоритмов и состоит из совокупности управляющего автомата, который определяет порядок выполнения действий, и операционного автомата, реализующего сами действия, выполняемые автоматом.