Искусственный разум | страница 51
Эвристики - суть этой программы, ее душа, ее радость и печаль.
Эвристики - проблески молнии во тьме проблем. Мрачна, как темная чаща, проблема. Не видно в ней ни зги, ни тропки, ни пути к цели. Но ярко вспыхивает эвристика, освещая все на мгновение; и надо воспользоваться моментом, чтобы увидеть дорогу к цели, пока проблема опять не погрузилась во мрак.
Эвристики - дочери Архимеда - самые остроумные приемы решения задач. Не зря все программы для Искинта долгое время именовалась эвристическими. Не зря программисты изобрели многие десятки эвристик и сами называли их то наивными, то осторожными, то свирепыми, то умными. Есть даже фагозвристики, которые, словно белые кровяные тельца - фагоциты, безжалостно пожирающие микробов, очищают память машины от второстепенных фактов, фактиков, излишней дребедени.
Эвристики - непостоянные красавицы, талантливые и беспечные, полная противоположность унылому работяге алгоритму.
Автору пришлось прочесть не одну статью о коренном различии между эвристиками и алгоритмами. Их настойчиво противопоставляли друг другу, разгоняя по разным углам. А после в угол, где находились эвристики, приводили человека, а в глухой алгоритмический угол затаскивали машину. Образ мысли человека, дескать, в высшей степени эвристичен, а образ мысли машины глубоко алгоритмичен. И отсюда делался вывод: не тягаться машине с человеком, Искинт принципиально невозможен.
Принципиально невозможен! Как часто иным людям кажется принципиально невозможным то, что им непонятно или что грозит нарушением их научных привычек. Но из своих противоположных углов эвристики и алгоритмы кричат: "Мы - братья и сестры, мы - близнецы, не разлучайте нас!"
И эвристики и алгоритмы - это приемы решения задач, четкие, определенные приемы, прилагаемые ко многим задачам. Здесь, в детерминированности и массовости, если пользоваться более строгим языком, нет никаких различий между эвристиками и алгоритмами. Нет различий и в остроумии, изяществе, внутренней силе: встречаются ослепительные по красоте алгоритмы, встречаются и занудные эвристики. Различие между ними проявляется только в одном - в успешности решения задач; алгоритм успешен всегда, эвристика - часто, но не всегда.
Выходит, что эвристика в определенном смысле хуже алгоритма? Но наше "хуже" носит схоластический характер, потому что эвристики работают с теми задачами, для которых нет строгого алгоритма. Вот он, гвоздь вопроса!