Шпора-small (Шпоры к первому коллоквиуму), страница 14

PDF-файл Шпора-small (Шпоры к первому коллоквиуму), страница 14 Искусственный интеллект (52958): Ответы (шпаргалки) - 7 семестрШпора-small (Шпоры к первому коллоквиуму) - PDF, страница 14 (52958) - СтудИзба2019-09-18СтудИзба

Описание файла

Файл "Шпора-small" внутри архива находится в папке "Шпоры к первому коллоквиуму". PDF-файл из архива "Шпоры к первому коллоквиуму", который расположен в категории "". Всё это находится в предмете "искусственный интеллект" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 14 страницы из PDF

В ходе поиска раскрыто 7 и построено 12 вершин, но, как нетрудноубедиться, сравнивая последние два рисунка, в целом это не те же самые 12 первых вершин,построенных алгоритмом поиска вширь.Видно, что в алгоритме поиска в глубину сначала идет поиск вдоль одного пути, пока небудет достигнута установленная граничная глубина, затем рассматриваются альтернативные путитой же или меньшей глубины, которые отличаются от первого пути лишь последней (концевой)вершиной, после чего рассматриваются пути, отличающиеся последними двумя вершинами, и т.д.02 8 31 6 47 g52 8 31g47 6 582 8 37 1 4g6 512952 8 31 6 47 5g72 8g g 8 31 6 3 2 1 47 5 4 7 6 5Рис.61 2 8 31 6 4g7 5610 2 8 3g 1 47 6 542 8 31g67 5 4112 8 31 6g7 5 43g8 32 6 41 7 52 2 8 3g6 41 7 52 8 36 g41 7 5Анализ слепых алгоритмов.

БэктрекингЕсли продолжить выполнение алгоритмов перебора вширь и вглубь для рассмотренногоначального состояния игры в восемь (для задачи, указанной на рис.1(б)), то на глубине 5 будетнайдена целевая конфигурация. При этом алгоритмом поиска вширь будет раскрыто 26 ипостроено 46 вершин, а алгоритмом поиска вглубь – соответственно 18 и 35 вершин.Сравнивая в общем алгоритмы поиска вширь и вглубь, можно утверждать, что онипримерно сравнимы по эффективности (количеству построенных вершин). Но в ряде случаеввторой алгоритм, несмотря на свою неполноту, может оказаться предпочтительнее: если он начатс удачной стороны, то целевая вершина будет обнаружена раньше, чем в алгоритме поиска вширь.Подчеркнем, что как и в случае перебора вширь, при переборе вглубь формируется именнодерево, а не граф перебора, даже если пространство состояний представлялось графом с циклами.В последнем случае, однако, дерево перебора может содержать дубликаты состояний.

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

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

Этотспособ предлагает определенную организацию перебора всех возможных вариантов решениязадачи, число которых может быть велико.Суть бэктрекинга состоит в том, чтобы в каждой точке процесса решения, где существуетнесколько равноправных (априори) альтернативных путей дальнейшего продолжения, выбратьодин из них и следовать ему, предварительно запомнив другие альтернативные пути – для того,чтобы в случае неуспешности выбранного пути решения вернуться в указанную точку и выбратьдля продолжения поиска следующий альтернативный вариант-путь. В общем случае в процессерешения возможно возникновение многих подобных точек выбора (называемых развилками) сосвоими вариантами продолжения решения, и к каждой из точек необходимо совершать возвраты ипробовать другие варианты.В базовом алгоритме поиска вглубь по существу проводится бэктрекинг: действительно,запоминание всех альтернатив продолжения поиска (нераскрытых вершин) осуществляется всписке Open, на шаге 3 производится выбор варианта-альтернативы, а возврат к этому шагу длявыбора следующей альтернативы осуществляется на шагах 4 и 5.Некоторые языки для задач искусственного интеллекта, как, например, Пролог и Плэнеримеют специальный встроенный механизм для реализации бэктрекинга.

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

Действительно, если L – длина решающего пути, а B – средне количествоветвей (дочерних вершин) у каждой вершины, то для нахождения решения надо исследовать BLпутей, ведущих из начальной вершины. Величина эта растет экспоненциально с ростом длинырешающего пути, что приводит к ситуации, называемой комбинаторным взрывом.Таким образом, для повышения эффективности поиска необходимо использоватьинформацию, отражающую специфику решаемой задачи и позволяющую более целенаправленнодвигаться к цели. Такая информация обычно называется эвристической, а соответствующиеалгоритмы и методы – эвристическими.Эвристические методы поискаИдея, лежащая в основе большинства эвристических алгоритмов, состоит в том, чтобыоценивать с помощью эвристической информации перспективность нераскрытых вершинпространства состояний (с точки зрения достижения цели), и выбирать для продолжения поисканаиболее перспективную вершину. Самый обычный способ использования эвристическойинформации – введение так называемой эвристической оценочной функции.

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

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

Поместить начальную вершину в список нераскрытых вершин Open и вычислить ееоценку.Шаг 2. Если список Open пуст, то окончание алгоритма и выдача сообщения о неудаче поиска, впротивном случае перейти к шагу 3.Шаг 3. Выбрать из списка Open вершину с минимальной оценкой (среди вершин с одинаковойминимальной оценкой выбирается любая); перенести эту вершину (назовем ее Current) всписок Closed.Шаг 4. Если Current – целевая вершина, то окончание алгоритма и выдача решения задачи,получающегося просмотром указателей от нее к начальной вершине, в противном случае перейтик следующему шагу.Шаг 5. Раскрыть вершину Current, построив все ее дочерние вершины. Если таких вершин нет,то перейти к шагу 2, в ином случае – к шагу 6.Шаг 6. Для каждой дочерней вершины вычислить оценку (значение оценочной функции),поместить все дочерние вершины в список Open, и построить указатели, ведущие от этих вершинк родительской вершине Current.

Перейти к шагу 2.Конец алгоритма.Заметим, что поиск в глубину можно рассматривать как частный случай упорядоченногопоиска с оценочной функцией Est(V) = d(V) , а поиск в ширину – с функцией Est(V) = 1/d(V) , гдеd(V) – глубина вершины V.Чтобы модифицировать рассмотренный алгоритм для перебора на произвольных графахпространствах состояний, необходимо предусмотреть в нем реакцию на случай построениядочерних вершин, которые уже имеются либо в списке раскрытых, либо в списке нераскрытыхвершин.В принципе эвристическая оценочная функция может зависеть не только от внутренних,собственных свойств самого оцениваемого состояния (т.е., свойств входящих в описаниесостояния элементов) но и от характеристик всего пространства состояний, например, от глубиныместонахождения оцениваемой вершины в дереве перебора или других свойств пути к этойвершине.

Поэтому значение оценочной функции для вновь построенной дочерней вершины,входящей в список Open или Closed, может понизиться, и надо скорректировать старую оценкувершины, заменив ее на новую, меньшую. Если вновь построенная вершина с меньшей оценкойвходит в список Closed, необходимо вновь поместить ее в список Open, но с меньшей оценкой.Потребуется также изменить направления указателей от всех вершин списков Open и Closed,оценка которых уменьшилась, направив их к вершине Current.Впрочем, если оценочная функция учитывает только внутренние характеристики вершинсостояний, то для предотвращения зацикливания требуется более простая модификация алгоритма–надо просто исключить дублирование состояний в списках Open и Closed, оставляя в них лишьпо одному состоянию.Проиллюстрируем работу алгоритма эвристического поиска опять же на примере игры ввосемь для той же начальной ситуации. Воспользуемся в качестве оценочной следующей простойфункцией:Est1(V) = d(V) + k(V) , гдеd(V) – глубина вершины V, или число ребер дерева на пути от этой вершины к начальной вершине;k(V) – число фишек позиции-вершины V, стоящих не на «своем» месте (фишка стоит не на «своем»месте, если ее позиция отлична от позиции в целевом состоянии).На рис.7 показано дерево, построенное алгоритмом эвристического перебора с указаннойоценочной функцией.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5138
Авторов
на СтудИзбе
443
Средний доход
с одного платного файла
Обучение Подробнее