Тема Языки ии


Тема 3. Методы решения задач



жүктеу 258 Kb.
бет9/18
Дата21.01.2022
өлшемі258 Kb.
#34485
түріЛекция
1   ...   5   6   7   8   9   10   11   12   ...   18
МУ-консп-лек-СИИ-рус

Тема 3. Методы решения задач.

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



Лекция 7. Методы в пространстве состояний

Цель лекций. Выбор метода поиска решения. Краткие теоретические сведения о состояний, операторов задачи. Различные способы поиска. Структуры LIFO и FIFO. Механизм бектрекинга.

Содержание лекций. Одним из важных вопросов, возникающих при проектировании управляющей компоненты систем, основанных на знаниях, является, т.е. стратегии вывода. От выбранного метода поиска будет зависеть порядок применения и срабатывания правил. Процедура выбора сводится к определению направления поиска и способа его осуществления. Подход основанный на пространство состояний. Мы рассмотрим следующие способы используемые в подходе пространстве состояний: а) метод полного перебора; б) метод поиска в глубину; в) эвристический метод. Краткие теоретические сведения. Описание состояний. Чтобы построить описание задачи с использованием пространства состояний, мы должны иметь определенное представление о том, что такое состояние в этой задаче. Важным этапом построения какого-либо описания задачи с использованием пространства состояний является выбор некоторой конкретной формы описания состояний этой задачи. В сущности любая структура величин может быть использована для описания состояний. Это могут быть строки символов, векторы, двухмерные массивы, деревья и списки. Часто выбираемая форма описания имеет сходство с некоторым физическим свойством решаемой задачи. Так, в игре в пятнадцать естественной формой описания состояний может быть массив 4х4. Выбирая форму описания состояний, нужно позаботиться и о том, чтобы применение оператора, преобразующего одно описание в другое, оказалось бы достаточно легким. Для обсуждения методов поиска решения оказывается полезным введение понятий состояний и операторов для данной задачи. Для игры в пятнадцать состояние задачи- это просто некоторое конкретное расположение фишек. Начальные и целевые конфигурации представляют собой соответственно начальное и целевое состояния. Пространство состояний, достижимых из начального состояния, состоит из всех тех конфигураций фишек, которые могут быть образованны в результате допустимых правилами перемещений фишек. Многие задач имеют чрезвычайно большие (если не бесконечные) пространства состояний. Оператор преобразует одно состояние в другое. общем случае мы будем предполагать, что операторы- это вычисления, преобразующие одни описания состояний в другие. Основные понятия и термины. Таким образом, мы видим, что для полного представления задачи в пространстве состояний необходимо задать:а) форму описания состояний и, в частности, описание начального состояния; б) множество операторов и их воздействий на описания состояний; в) свойства описания целевого состояния [11]. Пространство состояний полезно представлять себе в виде направленного графа. Граф состоит из множества вершин. Некоторые пары вершин соединены с помощью дуг, и эти дуги направлены от одного члена этой пары к другому. Такие графы носят название направленных графов Процесс применения множества операторов к вершине графа называется раскрытием вершин. Рассмотрим первый из методов поиска в пространстве состояний. Поиск в глубину (Depth-first search, DFS).  В методах перебора в глубину прежде всего раскрываются те вершины, которые были построены последними. Определим глубину вершины следующим образом: Глубина корня дерева равна нулю. Глубина любой последующей вершины равна единице плюс глубина вершины, которая непосредственно ей предшествует. Таким образом, вершиной, имеющей наибольшую глубину в дереве перебора, в данный момент служит та, которая должна в этот момент быть раскрыта. Такой подход может привести к процессу, разворачивающемуся вдоль некоторого бесполезного пути, поэтому нужно ввести некоторую процедуру возвращения. В качестве механизма реализаций или в качестве обработки списков для метода поиска в глубину в алгоритмах программирования выбран механизм «стек». Для списка open реализуется механизм как стек магазинного типа, или его называют структура LIFO «last-in-first-out» т.е. «последним пришел – первым обслужен». Состояния добавлются и удаляются с левого конца списка. К одним из классических алгоритмов поиска на графе пространства состояний служит метод поиска с возвратами бектрекинг (backtrack) [12]. Этот способ предлагает опреде­ленную организацию перебора всех возможных вариантов решения задачи, число которых может быть велико. Суть бектрекинга состоит в том, чтобы в каждой точке процесса решения задачи, где существует несколько априори равноправных альтернативных вариантов (путей) дальнейшего продолжения, выбрать один из них и следовать ему, предварительно запомнив другие альтернативы – для того, чтобы в случае неуспешности выбранного варианта-пути вернуться в точку выбора и выбрать для продолжения решения другой возможный вариант-путь. В общем случае в процессе решения возможно возникновение многих подобных точек выбора, называемых обычно точками бектрекинга или развилками; к каждой из таких точек может потребоваться возврат для выбора других вариантов решения. Методы полного перебора. Поиск в ширину. (BFS, Breadth-first search). В методе полного перебора вершины раскрываются в том порядке, в котором они строятся. В методе полного перебора непременно будет найден самый короткий путь к целевой вершине при условии, что такой путь вообще существует. Если такого пути нет, то в указанном методе будет объявлено о неуспехе в случае конечных графов, а в случае бесконечных графов алгоритм никогда не кончит свою работу. Если сделать резюме, то суть заключается в том, чтобы рассмотреть все вершины, связанные с текущей. Принцип выбора следующей вершины – выбирается та, которая была раньше рассмотрена. В качестве механизма реализаций или в качестве обработки списков для метода поиска в ширину в алгоритмах программирования выбран механизм «очередь». Для списка open реализуется механизм очередь, или его называют структура FIFO «first-in-first-out» т.е. «первым пришел – первым обслужен». Состояния добавлются в список справа, и удаляются с левого конца списка.


жүктеу 258 Kb.

Достарыңызбен бөлісу:
1   ...   5   6   7   8   9   10   11   12   ...   18




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау