Для построения модели разработан также ряд способов, с помощью которых ЭВМ может решить поставленную задачу, если алгоритм ее заранее неизвестен. К этим эвристическим способам относятся: поиск правильного решения из некоторого множества путем перебора; ограничение перебора вариантов за счет опознания объектов исследования по некоторому набору их признаков; обучение машины стратегии поиска на основе закрепленного опыта; сокращение поиска путем предварительного планирования; нахождение закономерностей в исходных данных (индукция). Количество этих способов может быть увеличено, причем каждый из них включает свои подспособы. Таким образом, эвристическое программирование основывается на двух моментах: на воссоздании некоторых интеллектуальных человеческих действий и на анализе специфических свойств и особенностей объекта, в отношении которого осуществляется программирование. В области практического использования эвристических машинных программ получены интересные результаты. Созданные программы можно разделить на два класса. К первому классу относятся программы, в основе которых лежит гипотеза об общих механизмах процесса решения задач. Особенностью таких программ является их обобщенный характер, возможность решения на их основе широкого класса задач. К ним относится, например, программа «Общий решатель проблем» (ОРП). Общий характер программы обусловлен тем, что она состоит из отдельных частей, каждая из которых занимается учетом определенных факторов. Основой ОРП является ядро программы, которое состоит из исполнительного алгоритма и арсенала эвристических способов формулирования, оценки и решения определенных задач. Программа работает в следующих основных понятиях: объекты (геометрические фигуры, выражения символической логики и т. п.) и способы преобразования этих объектов (операторы), которые изменяют состояние объектов, их свойства и различия между ними. ОРП может действовать в любой среде, в которой можно определить совокупность объектов и в которой эти объекты могут быть преобразованы или скомбинированы в другие объекты путем применения распознающих «операторов» или правил преобразования [150]. Ко второму классу относятся программы, созданные на основе наблюдения и анализа какой-либо конкретной деятельности и способные решать задачи, возникающие именно в этой деятельности. Примером является программа для решения задачи оптимального распределения операций между рабочими на конвейере. Эта программа была создана на основе анализа мыслительной деятельности инженеров — организаторов производства [64]. — 285 —
|