Недопонимание роли эвристики в больших системах заставляет глубже задуматься о компьютере. Сам компьютер можно анализировать, можно понять в деталях, мы же его сами сконструировали к конце концов. Мы уже заявили, что компьютерная программа у принципе — алгоритм. Надо, следовательно, понять, где эвристика вступает в область компьютера. Необходимость в этом возникает. во-первых, как только компьютер начинает воспринимать поступающую в него информацию. Если мы знаем, что делать с входными данными, например подсчитать средние значения ряда цифр, чтобы получился результат на выходе, то здесь нет никаких затруднений. Это означает, что система нам понятна, а алгоритм сумма х/ n (который означает: сложи все цифры и раздели их на их число) решает задачу. Все очень просто, поскольку мы точно обозначили цель, систему и алгоритмы и тем самым сдерживаем рост разнообразия. Но когда дело идет о том, чтобы связать многоразмерный вход с многоразмерным выходом, то у нас появляются все оснонания прибегнуть к анастомотик ретикулум. Теперь компьютер должен быть запрограммирован так (т, е. должен быть обеспечен алгоритмом), чтобы был соответственно организован ретикулум, но это можно сделать, только зная конечную цель.
Здесь и возникает очень деликатная проблема: если цель нельзя представить во всех деталях, то нужно прибегнуть к эвристике, и тогда компьютер должен быть снабжен алгоритмом эвристической природы. Трудность тут принципиальная. Допустим, мы заявляли: "Компьютер должен обучаться на собственном опыте, как учатся люди". Обучаться чему? Мы не знаем ответа, мы просто считаем, что компьютер через некоторое время должен найти методом проб и ошибок такой курс действий, который даст лучший результат управления. Но
В этом простом, бесхитростном примере, который и ребенку понятен, и заключается секрет этого, по существу биологического, процесса. Мы прорвались через барьер, который был создан консервативным мнением 2000 лет тому назад между живыми и механическими системами управления. В этом суть барьера между алгоритмическими и эвристическими моделями управления. Если воздержаться от мистически-сентиментального подхода к природе ("неправда ли, как она умна!"), то станет видно, что природа всего лишь использует свои алгоритмы, чтобы подчеркнуть эвристическое начало. Генетический материал является алгоритмическим: молекулы ДНК — хранители сложного определенного кода. Так потомство строится по заданным "чертежам". Но в этом коде записаны вариации и мутации, и поэтому потомки располагают рядом возможных чертежей. Тогда, говоря другим языком — языком экологии, выносится приговор относительно "преимуществ" данного потомка. Вариант, достойный сохранения, выживает, при этом вариации и мутации, которые определяют его преимущества, закрепляются, а мутации, обусловливающие недостатки, истребляются. Генетическая эвристика работает в направлении к неизвестной цели — созданию форм жизни, способных выживать в обстоятельствах, которые слишком сложны для анализа, используя приемы, для оптимизации которых еще не создан компьютер.
Существует несколько важных постулатов относительно эвристических методов управления. Их стоит тщательно рассмотреть и оценить. Поэтому с риском испортить их краткостью, я сформулировал 13 следующих постулатов для тщательного их усвоения.
1. Эвристика ведет нас к цели, которую мы не в состоянии ясно выразить и, возможно, узнать, сумев ее достигнуть. Алгоритм (типа "чтобы достичь высшей точки, попытайтесь сделать по одному шагу во всех направлениях и передвиньтесь к следующей более высокой точке") определяет эвристическое условие выработки правильной стратегии. А суть стратегии такова: "лучшее — подниматься из данного места, пока есть куда, затем переместиться выше". Но такой маршрут нельзя выработать заранее.