Главная > Энциклопедия кибернетики. Т.2
НАПИШУ ВСЁ ЧТО ЗАДАЛИ
СЕКРЕТНЫЙ БОТ В ТЕЛЕГЕ
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO

ПРОГРАММИРОВАНИЕ ЭВРИСТИЧЕСКОЕ

— вид программирования, занимающийся исследованием природы мышления человека с помощью создания моделей — программ, реализующих функции, характерные для мыслительных процессов. Иногда П. э. наз. разработку программ оптимизации сложных процессов при помощи алгоритмов, не гарантирующих получения оптимальных решений.

Выбор задач П. э. зависит от многих обстоятельств: наличия объективных критериев успеха, объема исходной информации и дополнительных сведений, способствующих уточнению постановки задачи; возможности сравнения с другими процессами и пр. В результате этого наметился ряд направлений П. э.: программирование игровых ситуаций (напр., шахматной), доказательств теорем, перевода с одного языка на другой, решения матем. задач, описанных в виде текста на неформализованном языке, сочинения музыки, распознавания образов (зрительных и звуковых), дифференциальной диагностики и др.

В начале 50-х годов 20 ст. сложилось мнение о том, что создание мыслящих машин — дело близкого будущего. В это время были сформулированы названные задачи и предложены некоторые идеи по их решению, а к концу 50-х годов созданы первые программы. Однако с помощью составленных программ ЭВМ очень слабо справлялись с решением поставленных задач. Впрочем, тогда еще казалось, что для получения приемлемых решений достаточно лишь несколько улучшить программы в том или ином намечавшемся направлении. Позднее оказалось, что реализация этих улучшений — трудоемкое дело, а результаты улучшения весьма незначительны. Вместе с тем выяснилось, что идеи, возникающие в ходе решения задач П. э., оказываются весьма плодотворными для многих вычислительных процессов

При решении задач П. э. были поставлены некоторые общие проблемы. Одной из них является проблема иерархически организованного перебора. Пусть, напр., нужно найти лучший ход в позиции некоторой игры. В этой позиции можно сделать несколько ходов, приводящих к позициям которые необходимо исследовать для определения лучшего хода. В каждой из этих позиций также можно сделать ходы, и, таким образом, при исследовании определяется «дерево» игры (рис. 1), вершинам которого соответствуют рассматриваемые позиции, между которыми устанавливается иерархия. Для исследования любой позиции дерева игры достаточно оценить все непосредственно подчиненные ей позиции, т. е. те из них, в которые можно прийти из этой позиции в один ход.

Такое же дерево строят и во многих других случаях. Вершине соответствует решение поставленной задачи, вершинам решение подзадач, на которые она разбита, и т. д. Для организации иерархического перебора в широком круге задач можно составить программу «Общий решатель», однако применение ее не эффективно, поскольку

для рассмотрения всех ситуаций, соответствующих вершинам дерева иерархического перебора для сколько-нибудь интересных задач, требуется слишком большое время.

В связи с этим возникает необходимость в разработке методов, обеспечивающих отсечение заведомо невыгодных ветвей. В задаче определения лучшего хода в игре двух противников для этого применяется метод граней и оценок. Понятие оценки позиции было дано еще в начале 20 ст. Оценка позиции определяется как максимум оценок позиций непосредственно ей подчиненных (рис. 2).

1. Дерево» игры.

2. «Граф оценки позиции

Однако, если оценка позиции равна I, а из позиции противник может сделать ход, после которого возникает позиция с оценкой, меньшей I, то и оценка позиции меньше I, а, значит, для определения оценки позиции ее уточнять не надо. Таким образом, отпадает необходимость в рассмотрении остальных позиций дерева игры, подчиненных позиции

Метод отсечения особенно эффективен, если в первую очередь, как правило, рассматривают лучшие ходы (варианты). Поэтому целесообразно разрабатывать быстрые способы определения оценки рассматриваемой позиции (ситуации), быть может дающие приближенный или не всегда правильный результат. Для сокращения перебора применяется также запоминание таких рассмотренных ранее позиций (ситуаций), которые могут встретиться в других вариантах.

Однако сокращение перебора с использованием только этих общих методов недостаточно для удовлетворительного решения задач П. э. Поэтому возникает необходимость разрабатывать методы, специфические для данного класса задач или данной конкретной задачи. Напр., для доказательства теорем исчисления предикатов узкого выбор дополнительных переменных можно связать с формулировкой доказываемой теоремы. Специфические методы шахматной программы связаны с шахматной теорией, в которой можно использовать понятия: «хороший слон» и «плохой слон», «шансы на атаку» и т. д., и в связи с этим надо вводить формальные определения этих понятий и создавать алгоритмы использования их. Для упрощения построения таких понятий и алгоритмов создают семантические модели ситуаций (в данном случае, позиций). Семантические модели могут включать фиксированный круг понятий, а также средства для расширения его. Программы первого типа работают быстрее, а второго — обладают большими потенциальными возможностями.

Для автоматизации построения новых понятий можно использовать методы теории распознавания образов, общая идея которых заключается в следующем. Пусть ситуация описывается косвенным образом. Напр., для определения нефтеносности пласта можно измерить значения фиксированного мн-ва параметров. Таким образом, исследуемый на нефтеносность пласт можно рассматривать как точку в многомерном пространстве. Пусть, кроме того, заданы два мн-ва значений параметров пластов: одно соответствует нефтеносным пластам, другое — водоносным- Ни один из заданных параметров сам по себе не характерен для одного из этих мн-в в отличие от другого. Однако можно попытаться построить новые составные признаки, т. е. найти характерные комбинации значений параметров. Хотя для некоторых задач, напр., для задачи распознавания геом. образов, данный метод неэффективен, в других случаях он дает приемлемые результаты (напр., в задаче определения нефтеносности пластов). Хорошие результаты таким методом получены в ряде задач медицинской диагностики, что особенно ценно, т. к. делает возможной удовлетворительную диагностику при отсутствии некоторых признаков, несущих существенную информацию (из-за недостатка аппаратуры или опасности определения этих признаков, напр., в случае применения кровавых методов диагностики).

Методы решения задач П. э. широко применяются в различных вычислительных и информационно-логических задачах. Так, в ряде задач дискретного программирования применяют метод ветвей и границ, аналогичный методу граней и оценок; текущие справочные с быстрым поиском информации и другие методы организации информации, разработанные в задачах П. э., применяют в информа-ционно-логических задачах большого объема; идеи П. э. применяют для ускорения поиска минимума ф-ции многих переменных (метод «оврагов» в различных видах), для вычисления кратных интегралов и др.

Лит.: Вонгард М. М. Проблема узнавания. М., 1967; Адельсон-Вельский Г. М. [и др.]. О программировании игры вычислительной машины в шахматы. «Успехи математических наук», 1970, т. 25, в. 2; Вычислительные машины и мышление. Пер. с англ. М., 1967 [библиогр. с. 491—546]; Semantic information processing. Cambridge, 1970.

Г. М. Адельсон-Вельский, В. Л. Арлазаров.

1
Оглавление
email@scask.ru