Московский государственный технологический университет «Станкин»
Опубликован: 18.05.2005 | Доступ: свободный | Студентов: 4953 / 957 | Оценка: 3.93 / 3.84 | Длительность: 11:45:00
ISBN: 978-5-9556-0024-6
Специальности: Программист
Лекция 3:

Методы поиска решений

< Лекция 2 || Лекция 3: 12345 || Лекция 4 >
Аннотация: В лекции рассматриваются методы поиска решений в пространстве состояний, процедура BACKTRACK, алгоритмы эвристического поиска, алгоритм минимакса, алгоритм наискорейшего спуска, алгоритм оценочных функций, алгоритм штрафных функций, альфа-бета - процедура, поиск решений на основе исчисления предикатов, метод резолюции, поиск решений в продукционных системах.
Ключевые слова: метод поиска решений, поиск решений в пространстве состояний, алгоритм эвристического поиска, поиск решений на основе исчисления предикатов, метод резолюции, поиск, метод поиска решений на основе систем продукций, семантическая сеть, бэктрекинг, процедура BACKTRACK, алгоритм, алгоритм наискорейшего спуска, глубина вершины, эвристика, целевая функция, поиск в ширину, поиск в глубину, длина пути, алгоритм минимакса, минимакс, отсечение, стратегия поиска решений в продукционных ЭС, A-GPS, strip, problem, план последовательности действий робота, игровая программа, семантика, исчисление предикатов, логический вывод, высказывание, предикат, место, подмножество, правильно построенная формула, аксиома, истинность формул, правило вывода, логическое программирование, множества, принцип резолюции, запрос, логика предикатов, импликация, прямой, обратный, вывод, ПРОЛОГ, дизъюнктивная нормальная форма, отрицание, nil, база данных, значение, выражение, входной, Prolog, programming, logic, программа, вес, Lisp, Java, планирование последовательности действий, робототехника, атомарность, планировщик , грани, множество предикатов, grip, захват, planning, system, управление роботами, список, система продукций, конфликтное множество, 'clip', база целей, очередь, strategy, default, lexing, сортировка, simplicity, specificity, complexity, random, механизмы, СПЗ, reasoning, CBR

Традиционными методами поиска решений в ИC считаются: методы поиска в пространстве состояний на основе различных эвристических алгоритмов, методы поиска на основе предикатов ( метод резолюции и др.), поиск решений в продукционных системах, поиск решений в семантических сетях и т. д. Рассмотрим эти методы подробно.

Методы поиска решений в пространстве

Методы поиска решений в пространстве состояний начнем рассматривать с простой задачи о миссионерах и людоедах. Три миссионера и три людоеда находятся на левом берегу реки и им нужно переправиться на правый берег, однако у них имеется только одна лодка, в которую могут сесть лишь 2 человека. Поэтому необходимо определить план, соблюдая который и курсируя несколько раз туда и обратно, можно переправить всех шестерых. Однако если на любом берегу реки число миссионеров будет меньше, чем число людоедов, то миссионеры будут съедены. Решения принимают миссионеры, людоеды их выполняют.

Основой метода являются следующие этапы.

  1. Определяется конечное число состояний, одно из состояний принимается за начальное и одно или несколько состояний определяются как искомое (конечное, или терминальное). Обозначим состояние S тройкой S=(x,y,z), где x и y - число миссионеров и людоедов на левом берегу, z= {L,R} - положение лодки на левом ( L ) или правом ( R ) берегах. Итак, начальное состояние S0=(3,3, L ) и конечное (терминальное) состояние Sk=(0,0, R ).
  2. Заданы правила перехода между группами состояний. Введем понятие действия M:[u, v]w, где u - число миссионеров в лодке, v - число людоедов в лодке, w - направление движения лодки ( R или L ).
  3. Для каждого состояния заданы определенные условия допустимости (оценки) состояний: x >= y ; 3-x >= 3-y ; u+v <= 2.
  4. После этого из текущего (исходного) состояния строятся переходы в новые состояния, показанные на рис. 3.1. Два новых состояния следует сразу же вычеркнуть, так как они ведут к нарушению условий допустимости (миссионеры будут съедены).
  5. При каждом переходе в новое состояние производится оценка на допустимость состояний и если при использовании правила перехода для текущего состояния получается недопустимое состояние, то производится возврат к тому предыдущему состоянию, из которого было достигнуто это текущее состояние. Эта процедура получила название бэктрекинг (bac tracing или BACKTRACK ).
Переходы из исходного состояния

Рис. 3.1. Переходы из исходного состояния
Метод поиска в пространстве состояний

Рис. 3.2. Метод поиска в пространстве состояний

Теперь мы можем проанализировать полностью алгоритм простейшего поиска решений в проблемном пространстве, описанный группами состояний и переходами между состояниями на рис. 3.2. Решение задачи выделено на рис. 3.2 жирными стрелками. Такой метод поиска S0 => Sk называется прямым методом поиска. Поиск Sk => S0 называют обратным поиском. Поиск в двух направлениях одновременно называют двунаправленным поиском.

Как уже упоминалось, фундаментальным понятием в методах поиска в ИС является идея рекурсии и процедура BACKTRACK. В качестве примера многоуровневого возвращения рассмотрим задачу размещения на доске 8 x 8 восьми ферзей так, чтобы они не смогли "съесть" друг друга.

Допустим, мы находимся на шаге размещения ферзя в 6 ряду и видим, что это невозможно. Процедура BACKTRACK пытается переместить ферзя в 5 строке и в 6 строке опять неудача. Только возврат к 4 строке и нахождение в ней нового варианта размещения приведет к решению задачи. Читатель сам может завершить решение этой задачи на основе процедуры BACKTRACK.

x
x
x      
x
x
  
              
  
< Лекция 2 || Лекция 3: 12345 || Лекция 4 >
Дмитрий Черепанов
Дмитрий Черепанов

Неоднократно находил ошибки в тестах, особенно в экзаменационных вопросах, когда правильно данный ответ на вопрос определялся в итоге как не правильно отвеченный... Из-за этого сильно страдает конечный бал! Да еще в заблуждение студентов вводит! Они-то думают, что это они виноваты!!! Но они тут не причем! Я много раз проверял ответы на некоторые такие "ошибочные" вопросы по нескольким источникам - результат везде одинаковый! Но ИНТУИТ выдавал ошибку... Как это понимать?

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

Исправьте, пожалуйста, такие "ошибки"...

Анжелика Шлома
Анжелика Шлома

Огромная просьба сделать проще тесты, это просто ужас какой-то! Слишком сложно!