Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БИЛЕТЫ 25-26 уч.г..docx
Скачиваний:
0
Добавлен:
19.06.2026
Размер:
42.25 Mб
Скачать

23. Поиск по критерию близости к цели. Какие исходные и промежуточные данные требуются дополнительно для организации алгоритма по сравнению с поиском в глубину? Графический пример.

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

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

Д ополнительно требуется: - координаты всех вершин

Реализация: есть начальный, конечный узел + координаты. По теореме Пифагора рассчитываем расстояние, и тот узел, что ближе - идем в него. (см рисунок →)

Сравнение с поиском в глубину

  • Поиск в глубину выбирает путь до самого глубокого узла, не учитывая близость к цели.

  • Поиск по критерию близости жадно выбирает узлы, которые, по оценке, находятся ближе к цели, но он не гарантирует оптимальный путь

24. Поиск по критерию цены пути. Какие исходные и промежуточные данные требуются дополнительно для организации алгоритма по сравнению с поиском близости к цели? Графический пример.

Э то направленный поиск, использующий критерий оценки маршрута f(b) = g(b) + h(b), где h(b) - расстояние от текущей вершины b до целевой (например, геометрическое расстояние по координатам), g(b) - реальное расстояние (на местности) от начальной точки до текущей b.

Метод является полным (т.е. гарантирует наличие маршрута) и оптимальным (короче не существует). Это достигается за счет того, что если дошли до тупика или целевой вершины, то проверяем все соседние.

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

Крайние случаи: - фрагмент = 0

- фрагмент = всему маршруту

25. Генетический алгоритм. Классификация алгоритма (на основе вопроса 16). Основные понятия алгоритма. Какие дополнительные требования предъявляются к генетическому алгоритму для применения его в задаче коммивояжера? Графический пример.

генетический алгоритм гарантированно дает ответ, тк исходные данные - набор решений.

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

Данный алгоритм является:

- Полным - т.к исх. данные является своего рода решением задачи, а значит алгоритм всегда найдет решение.

- Оптимальным - т.к в результате мы найдем одно из подходящих решений.

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

Основные понятия:

Популяция: Набор возможных решений задачи, представленных в виде хромосом (индивидуумов).

Хромосома: Представление потенциального решения задачи.

Особь (индивидуум) = генетический код - набор хромосом = вариант решения задачи.

Фитнес-функция (функция пригодности): оценивает качество каждого индивидуума в популяции. Чем выше значение фитнеса, тем больше вероятность того, что этот индивидуум будет выбран для дальнейшего размножения.

Поколение: Один цикл работы ГА, включает оценку всех индивидов, выбор родителей, скрещивание, мутацию и формирование нового поколения.

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

Скрещивание (кроссовер): операция, при которой 2 хромосомы обмениваются своими частями.

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

Алгоритм состоит из трех этапов:

Селекция (отбор) – перед скрещиванием выбираются только перспективные варианты для получения новых решений.

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

Формирование нового поколения – после скрещивания получаем новые варианты, заменяющие предыдущие.

Алгоритм повторяется до достижения удовлетворительного результата или одного из условий завершения:

● Достигнут лимит поколений – процесс останавливается, если достигнуто заданное число циклов или истекло отведенное время.

● Исчерпано время на эволюцию – если время на выполнение алгоритма истекло, процесс прерывается независимо от достигнутого результата.

Оператор

Описание

Пример

Операторы скрещивания

Одноточечный

кроссовер

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

Родитель 1: 1001011|01001

Родитель 2: 0100011|00111

Потомок 1: 1001011|00111

Потомок 2: 0100011|01001

Двуточечный

кроссовер

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

Родитель 1: 100|101101|001

Родитель 2: 010|001100|111

Потомок 1: 100|001100|001

Потомок 2: 010|101101|111

Равномерный

кроссовер

каждый бит первого потомка случайным образом наследуется от одного из родителей, второму потомку достается бит другого родителя

Родитель 1: 100101101001

Родитель 2: 010001100111

Вероятность: 90 %

Случайные числа (100): 2, 24, 8, 93, 55, 13, 67, 43, 99, 61, 5, 89

Потомок 1: 100001100001

Потомок 2: 010101101111

Операторы мутации

Одноточечная

мутация

произвольный бит хромосомы с

определенной вероятностью

изменяется на противоположный

до: 100101100111

после:100101000111

Транслокация

перенос какого-либо участка

хромосомы в другой сегмент этой же хромосомы

до: 100111100111

после: 110000110111

Инверсия

перестановка генов в обратном порядке внутри произвольно выбранного участка хромосомы

до: 100111100111

после:100100111111

Задача коммивояжера заключается в поиске самого короткого маршрута, который проходит через каждый город ровно 1 раз и возвращается в исходный город. (Соединены каждый с каждым узлы)

Дополнительные требования: (должны быть все узлы в маршруте, но чтобы не было повтора ни одного узла в маршруте) - но первый узел лучше повторить (чтобы был и первым, и последним)

Кодирование решения: Хромосомы должны представлять маршруты, например, последовательность посещаемых городов.

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

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

Оценочная функция: Фитнес-функцией обычно служит длина маршрута. Цель — минимизировать эту длину. Если все маршруты по длине одинаковые, то задача коммивояжера не имеет смысл. А если маршруты разной длины, то те, что длиннее - отбрасываем.

Пример использования генетического алгоритма для задачи коммивояжера:

Рассмотрим задачу с пятью городами: A, B, C, D, E. Популяция может состоять из следующих маршрутов: Хромосома 1: [A, B, C, D, E]

Хромосома 2: [B, A, C, E, D]

Хромосома 3: [C, D, A, B, E]

...

После оценки длины каждого маршрута выбираются лучшие особи для скрещивания:

Потомок 1: [A, B, C, E, D]

Потомок 2: [B, A, C, D, E]

Затем применяется мутация, например, обмен городов C и E в первом потомке:

После мутации: [A, B, E, C, D]

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

Соседние файлы в предмете Теория обработки информации