Алгоритмы решения интеллектуальных и творческих задач
Для этого необходимы модели и алгоритмы, представленные в терминах некоторого языка. В качестве такого языка могут использоваться алгоритмические языки. Они позволяют представить в компьютере информационные модели и алгоритмы решения задач разных типов. В этом проявляется универсальность этих языков.
Структура алгоритмических языков такова, что в них четко разграничены данные (то, над чем совершаются операции) и операторы (то, что определяет тип и последовательность операций). Каждый оператор преобразует множество входных данных во множество выходных. Его функции фиксируются в описании оператора. Одни операторы преобразуют информацию, другие указывают порядок выполнения операторов первого типа. Особенность этих операторов заключается в том, что на их выходе формируются промежуточные данные, подаваемые на вход других операторов. Операторы второго типа отличаются тем, что их выходами являются номера других операторов, которые подлежат исполнению. При этом номер оператора совпадает с его порядковым номером в записи на алгоритмическом языке. Выполнение операторов первого типа идет по порядку их номеров до тех пор, пока не встретится оператор второго типа. Последний может нарушить этот порядок. Например, он может передать управление оператору, номер которого совпадает с выходным номером. Такой переход называется условным. Функция оператора, инициирующего условный переход, заключается в проверке выполнения некоторого условия по входным данным. Если это условие выполнено, то данный оператор не влияет на порядок выполнения алгоритма. В противном случае реализуется условный переход. Модели и алгоритмы решения интеллектуальных задач на алгоритмическом языке будем называть интеллектуальными. Они всегда могут быть реализованы на компьютере. Для этого нужно предусмотреть средства, имитирующие соответствующие нетрадиционные операторы (экспертные процедуры, поиск логического вывода и т. п.).
Однако творческие возможности компьютера весьма ограниченны. Для придания ему способности решать задачи творческого характера необходимы соответствующие модели и алгоритмы, называемые творческими.
Творческие модели служат для моделирования на компьютере отдельных творческих процессов. Процедуры, лежащие в основе этих процессов, как правило, неизвестны. Поэтому обычно используются эвристические процедуры обработки информации, имитирующие творческую деятельность человека. Они могут, например, имитировать игру гроссмейстера в шахматы. В этом случае качество игры компьютера целиком определяется тем алгоритмом обработки информации и анализа ситуаций, который в него заложен. "Творческий потенциал" компьютера сильно зависит от интеллекта человека - разработчика алгоритма.
Классификация алгоритмов и реализующих их программ предоставлена на рис. на с. 23.
Среди элементов творческой деятельности, которые трудно поддаются моделированию на компьютере, можно выделить следующие: постановка и формализация творческих задач, генерация идей и гипотез в процессе решения, интуитивный синтез сюжетов и сценариев, формирование зрительных и музыкальных образов и т. п. Сложность имитации этих элементов творчества привела к тому, что некоторые оптимистические прогнозы специалистов в области компьютерной информатики не оправдались, например перевод художественных произведений, сочинение стихов и музыки на уровне мастеров этого дела.
Рис. 4. Классификация алгоритмов и программ обработки информации
Трудности на этом пути связаны главным образом с примитивностью творческих моделей и алгоритмов, их неадекватностью творческим процессам. Тем не менее имеются и определенные достижения. К ним можно отнести компьютерный перевод технических и научных текстов, сочинение вариаций по заданной мелодии, синтез простейших сюжетов для сказок. Эти первые успехи впечатляют и обнадеживают.