Основные определения
Философия - единственная фундаментальная наука, все остальные научные дисциплины суть прикладная философия. Поэтому начнем мы с понятийного аппарата, то есть с точного значения слов.
Информация
Информация это субъективное отражение объективной реальности. Реальность состоит из единичных фактов, информация состоит из единичных данных, описывающих эти факты. Данные, описывающие объект, являются единичными свойствами объекта и все вместе называются состоянием объекта.
Исполнитель
Исполнитель – объект, который умеет производить действия. Состояние исполнителя - это вся информация, которая его описывает. С каждым действием исполнителя его состояние меняется. Множество состояний, связанных между собой действиями, образуют граф состояний объекта.
Конечный автомат это исполнитель, обладающий строго определенным количеством состояний.
Алгоритм
Алгоритмом 1) называется дискретная 2) последовательность действий. В различных источниках упоминаются также «однозначность», «конечность», «результативность», «понятность» и даже «массовость», но все эти свойства либо спорны, либо вторичны.
Транзакция
С понятием дискретности связано также понятие транзакции.
Транзакция - это атомарное 3) и изолированное действие. Атомарное действие выполняется полностью или не выполняется вовсе. Изолированные действия не влияют друг на друга, даже если они выполняются одновременно. В учебниках транзакциям приписывают еще два свойства: согласованность и надежность. На самом деле, атомарное действие уже является согласованным, а изолированное – надежным.
Таким образом, алгоритм также можно определить как последовательность транзакций.
Программа
Команда – это понятный исполнителю сигнал для произведения действия. Полный набор таких команд называется языком исполнителя. Запись алгоритма на языке исполнителя называется программой.