Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

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




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

Особенности ПО - это степень сложности объекта, его количественная сложность (размер, количество элементов) и его качественная сложность (сложность его организации и поведения - статический, динамический, развивающийся).

Особенности знаний о ПО - это полнота, определенность, точность знаний о ПО (полнота, определенность, точность данных об объекте, а также полнота и адекватность модели объекта).

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

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

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

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

1.Методы поиска в одном пространстве - применяются в случаях, когда ПО статична и невелика, возможно построение единой полной модели и получение полных и точных данных;

2.Методы поиска в иерархии пространств - применяются в случаях, когда ПО велика, но возможно ее представление в виде иерархии моделей первого типа и получение полных и точных данных;

3.Методы поиска в условиях неопределенности - применяются в случаях, когда ПО недостаточно изучена, имеющиеся данные неполны, ненадежны и недостаточно точны;

4.Методы поиска в динамических пространствах - применяются в случаях, когда ПО представляет собой эволюционирующий, изменяющийся во времени и пространстве, развивающийся объект;

5.Методы поиска на основе нескольких моделей - применяются в случаях, когда ПО неоднородна, агрегирована из объектов различной природы, представление которых требует использования специфических моделей.


5.1. Методы поиска в одном пространстве

 

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

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

Подход на основе "поиска в пространстве состояний" сложился при автоматизации решения игровых задач, отличающихся тем, что каждая такая игра может быть представлена как множество характеризуемых конечным набором признаков ситуаций, смена которых в процессе игры происходит по строго определенным правилам, число которых тоже конечно. Типичными примерами являются игры в шахматы, в шашки, в 8, в крестики-нолики и многие другие. Рассмотрим подробнее этот подход.
Игру в шахматы можно теоретически представить тройкой (S0,F,ST), где S0 - начальное состояние (расположение шахматных фигур на доске); ST - множество заключительных состояний (расположений фигур, означающих мат или ничью); F - множество допустимых по шахматным правилам ходов, реализация каждого из которых преобразует текущее состояние (расположение фигур) в новое. Заключительные состояния множества ST в шахматах явно перечислить невозможно, поэтому множество ST можно лишь описать через свойства заключительных состояний (расположений фигур, означающих мат или ничью). Задача состоит в том, чтобы найти последовательность ходов (операторов), преобразующих S0 в одно из состояний (каждый из игроков желает свое) множества ST.

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

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

Не только в шахматах, но и в такой простой игре, как крестики-нолики, возникает вопрос о выборе наилучшего в данной позиции хода. Простейшая стратегия - перебрать все варианты продолжения игры и выбрать ход, соответствующий выигрышному варианту. Однако подсчитано, что в шахматах просмотр позиции лишь на 5 ходов вперед уже дает 1015 вариантов, а в такой простой игре, как крестики-нолики существует 362880 (9!) позиций, число которых за счет учета симметрии можно сократить до 60000, но это тоже не мало. Поэтому вместо полного перебора вариантов используют стратегии с применением "эвристических правил", позволяющих существенно сократить объем перебора за счет снижения гарантии успешности поиска.

Для применения эвристического правила необходима оценка его эффективности, получаемая обычно с помощью некоторой "оценочной функции". Например, в игре крестики-нолики можно использовать достаточно простую оценочную функцию. Значение оценки доступных игроку ходов можно получить, подсчитывая число открытых игроку линий и вычитая число таких линий у противника при выборе того или иного хода.

 

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

Смешивание дизъюнктивных и конъюнктивных вершин на одно уровне создает неудобства в организации поиска решения, поэтому часто в таких случаях в ДК-дерева вводят фиктивные ребра и вершины. Фиктивность таких вершин состоит в том, что для их выполнения не требуется решения каких-либо задач. По сути, они являют собой лишь логические операторы.

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

 

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

В идеальном случае генератор должен быть полным (т.е. порождать все варианты структур, могущие быть решением) и неизбыточным (т.е. не должен порождать вариантов структур, не могущих быть решением).

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

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


Поможем в написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой





Дата добавления: 2015-10-19; просмотров: 595. Нарушение авторских прав; Мы поможем в написании вашей работы!

Studopedia.info - Студопедия - 2014-2022 год . (0.021 сек.) русская версия | украинская версия
Поможем в написании
> Курсовые, контрольные, дипломные и другие работы со скидкой до 25%
3 569 лучших специалисов, готовы оказать помощь 24/7