- •Технологии обработки информации. Вопросы к экзамену 2025 - 2026 уч. Год
- •Часть 1
- •2. Передача данных в прологе внутри одного предложения, из одного предложения в другое. Передача данных через логическое «или». Условия передачи данных. Примеры. Обобщение.
- •3. Процедуры пролога. Главная процедура. Сопоставление. Понятие возврата при переборе. Условия возникновения возврата при переборе. Примеры. Обобщение
- •Особенности:
- •5. Алгоритм разработки нерекурсивных правил (действие и результат каждого шага). Пример на основе индивидуального задания лр 1.
- •Формирование и тестирование исходных данных
- •6. Рекурсия списков. Виды различных действий над списками при однократном рекурсивном обращении из правой части правила в левую. Примеры.
- •8. Пошаговое выполнение программы объединения двух списков в третий. Схематичное изображение. Пример.
- •9 . Передача данных при рекурсии в прямом и обратном направлении. Условия передачи данных. Схематичное изображение. Пример. Обобщение.
- •11. Виды отсечений, их назначения и свойства. Как определить цвет отсечения в программе с разными видами отсечений? Примеры.
- •15. Поиск путей в графе: как завершается формирование пути (при списке ветвей, при списке узлов)? Фрагменты примеров.
- •16. Стратегии поиска. Классификация. Параметры. Сравнение стратегий.
- •20. Поиск в ширину. Какие исходные и промежуточные данные требуются дополнительно для организации алгоритма по сравнению с поиском в глубину? Графический пример.
- •Начальная вершина
- •Целевая вершина
- •23. Поиск по критерию близости к цели. Какие исходные и промежуточные данные требуются дополнительно для организации алгоритма по сравнению с поиском в глубину? Графический пример.
- •24. Поиск по критерию цены пути. Какие исходные и промежуточные данные требуются дополнительно для организации алгоритма по сравнению с поиском близости к цели? Графический пример.
- •Часть 2
- •26. Нейронные сети (нс). Область эффективного применения. Классификации нс по виду решаем6ых задач, по виду структур, по методам обучения.
- •27. Структура искусственного нейрона. Виды структур нс. Параметры, характеризующие структуру нс.
- •28. Какие параметры структуры нс в многослойном персептроне и как определяются по виду исходных данных для обучения? На основе чего происходит уточнение остальных параметров структуры? Пример.
- •29. Режимы функционирования нс (многослойного персептрона). Назначение и задачи каждого из режимов. Переход из одного режима в другой на примере пакета нс Wizard.
- •30. Обучения нс на основе дельта-правила: назначение, область применения, алгоритм, расчетные соотношения, пример однократного расчета данных по алгоритму.
- •35. Прогнозирование на основе нс в многослойном персептроне. Примеры решаемых задач. Алгоритм подготовки исходных данных для обучения и применения. Пример фрагмента исходных данных.
- •37. Данные и знания. Основные понятия. Примеры. Как осуществляется выбор модели знаний для описания ситуации.
- •38. Семантические сети. Структура. Технология разработки. Пример формирования семантической сети и получения от нее знаний.
- •39. Фреймы. Структура. Технология разработки. Пример формирования модели на основе фреймов и получения от неё знаний.
- •42. Этапы разработки эс. Наименование и основной результат каждого этапа. Исполнители каждого этапа.
- •44. Автономные агенты. Обобщенная структура. Классификация агентов и внешней среды.
- •45. Комбинационный агент. Последовательностный агент. Отличия. Примеры.
- •46. Целенаправленный агент. Целевыбирающий агент. Отличия. Примеры.
- •47. Хранилище данных. Назначение. Дополнительные возможности хд по сравнению с субд. Структура данных в хд. Место хранения данных в хд. Формирование и заполнение хранилища.
- •48. Семантический слой. Назначение. Состав. Кто и в какой последовательности их формирует? Примеры.
- •49. Куб, "звезда" и "снежинка". Назначение. Связь с семантическим слоем. Примеры.
15. Поиск путей в графе: как завершается формирование пути (при списке ветвей, при списке узлов)? Фрагменты примеров.
Формирование пути можно реализовать через поиск от начальной точки, но при такой реализации потребуется функция для разворота маршрута, т.к. сборка маршрута производится по типу стека.
Формирование пути можно реализовать через поиск от конечной точки, при такой реализации функция для разворота маршрута не требуется.
Когда формируем маршрут, то заносим ветвь сначала последнюю, затем предпоследнюю, …, первую.
Чтобы соблюдалась логика, на каждом шаге дублируется начальный узел (b,b,c), т.к он становится текущим и уже от него будет искаться следующая ветвь (а,а,b) и тд до того момента, пока не придем в начальный узел. Завершается формирование маршрута, когда сопоставим маршрут с фактом – истина (текущий узел = начальному).
Как осуществляется выбор ветви:
1. Один узел известен, второй находим (первый попавшийся).
2. Известны сразу оба узла (весь маршрут из одной ветви).
3. Начальный узел и конечный совпадают. В этом случае из запроса сразу обращаемся к факту. Факт дает решение, при этом маршрут равен пустому списку.
Рассмотрим пример (маршрут из списка
ветвей):
Завершает рекурсию, если текущий узел совпадает с начальным узлом A. На этом этапе путь завершён, и он возвращается без изменений.
В новый маршрут добавляются два узла Х: 1ый для соблюдения логики поиска, 2ой — для построения пути, т.к. он становится следующим Текущим узлом.
Если цель — избежать дублирования узлов (предоставить список узлов), то в рекурсивном правиле нужно убрать повторное добавление B. Правило будет выглядеть так (слева для узлов, справа для ветвей):
Пример разбора
16. Стратегии поиска. Классификация. Параметры. Сравнение стратегий.
Стратегии поиска разбивают на 2 большие группы:
Слепые методы (не учитывают положение целевого узла)
Направленные методы (учитывают положение целевого узла)
Основные параметры (критерии, по которым сравнивают) стратегий поиска
Временная сложность (потребность во времени): количество шагов, необходимых для достижения решения.
Пространственная сложность (потребность в памяти): объем памяти, требуемый для хранения промежуточных данных.
Полнота (возможность нахождения цели)
Оптимальность (обеспечение нахождения цели, которое может не быть минимальным, но принадлежать некоторому подмножеству, элементы которого мы считаем оптимальными)
Минимальность (гарантия нахождения наилучшего решения)
Слепой поиск: (движется в хаотичном направлении, которое определяется записью ветвей в списке)
Поиск в ширину — последовательно просматривает все узлы текущего уровня, затем переходит к следующему уровню; гарантирует кратчайший путь при равных весах ветвей.
Монотонный поиск в ширину — модификация поиска в ширину, при которой для каждой вновь достигнутой вершины вычисляется цена пути от начальной вершины. Путь продолжается, если его цена меньше цен уже найденных альтернативных путей; в противном случае поиск вершин на этом пути откладывается, а продолжается на путях, цена которых меньше данного.
Двунаправленный поиск в ширину — одновременно выполняет поиск от начального и от целевого узлов до их встречи.
Поиск в глубину — углубляется по первой найденной ветви до конца, затем возвращается и перебирает альтернативы.
Ограниченный поиск в глубину — поиск в глубину с введённым пределом максимальной глубины.
Итеративный поиск в глубину — многократно выполняет ограниченный поиск в глубину с постепенным увеличением предела глубины.
Направленный поиск:
Поиск по критерию близости к цели — направленный поиск, при котором на каждом шаге выбирается ветвь, ведущая к вершине, наиболее близкой к целевой по заданной эвристике (например, геометрическому расстоянию).
Поиск по критерию “цена пути” – направленный поиск, при котором выбор ветви осуществляется по минимальной суммарной стоимости пути от начальной вершины. Обозначим g(b) – критерий цены пути из корневой вершины в вершину b, a h(b) – уже рассмотренный критерий близости к цели. Пусть оба критерия имеют одну и ту же размерность. Функцию f(b)=g(b)+h(b) можно считать критерием цены пути из корневой вершины в целевую. Идея этого ограничения состоит в том, чтобы выбирать критерий h(b) таким образом, чтобы не переоценивать близость к цели, т.е. не выбирать значение h(b) меньше, чем оно есть на самом деле.
Сравнение стратегий направленного поиска:
l - количество ветвей,
k – глубина поиска
Критерий |
Поиск в ширину |
Монотонный поиск в ширину |
Двунаправленный поиск в ширину |
Поиск в глубину |
Ограниченный поиск в глубину |
Итеративный поиск в глубину |
Поиск по близости к цели |
Поиск по критерию цены пути |
|
Тип поиска |
слепой |
направленный |
|||||||
Потребность в памяти |
O( |
O( ) |
2*O( |
O(l*k) |
O(l*k) |
O(l*k) |
O(l*k) |
O(l*k) |
|
Потребность во времени |
O( ) |
O( ) |
O( ) |
O(l*k) |
O(l*k) |
O(l*k) |
O(l*k) |
O(l*k) |
|
Оптимальность |
Да + минимальный |
Да |
Да |
Нет |
Нет |
Да |
Нет |
Да |
|
Полнота |
Да |
Да |
Да |
Нет |
Да, если выбрать правильный kmax |
Да |
Нет |
Да |
|
17. Классификация и основные параметры (с их обоснованием) алгоритма поиска, реализованного в программе на прологе в ЛР 3. Какие исходные и промежуточные данные необходимы для организации алгоритма?
Ограниченный поиск в глубину не по Девяткову ( отличие: обычный на втором шаге сращу уходит до грницы графа. В девяткове проверяются все инцендентные вершины начальной точки)
Классификация алгоритма поиска
Алгоритм поиска, реализованный в программе ЛР 3, относится к слепым стратегиям поиска, так как при выборе ветви не используется информация о положении целевой вершины.
По типу стратегии данный алгоритм является ограниченным поиском в глубину. Ограниченность поиска обеспечивается введением параметра Счетчик, который задаёт максимальную допустимую глубину рекурсии. При достижении нулевого значения счётчика дальнейшее углубление прекращается, даже если цель не достигнута.
Важно отметить, что реализованный алгоритм не соответствует варианту Девяткова. В классическом варианте Девяткова на каждом уровне сначала перебираются все инцидентные вершины (вершины графа, непосредственно соединённые с данной вершиной одной ветвью) текущего узла, и лишь затем осуществляется углубление.
В данной программе используется стандартный для Пролога механизм глубинного перебора: уже на втором шаге алгоритм углубляется по первой найденной ветви до достижения ограничения глубины
Запреты на повторное прохождение Используются предикаты not(поиск_ветви(...)), которые предотвращают: повторное прохождение одной и той же ветви в прямом направлении; в прямом и обратном; повторное прохождение узла.
Исходные данные алгоритма
Для организации алгоритма требуются следующие исходные данные:
граф в виде списка ветвей (ветви/1);
начальная вершина;
целевая вершина (косвенно задаётся через базовое правило);
максимальная глубина поиска (Счетчик).
Промежуточные данные алгоритма
В процессе работы алгоритма используются следующие промежуточные данные:
Стек для хранения текущего пути (ЧастьМаршрута);
Текущая глубина узла.
18. Поиск в глубину. Ограниченный поиск в глубину. Какие исходные и промежуточные данные потребуются дополнительно по сравнению с поиском в глубину для организации алгоритма ограниченного поиска в глубину? Графические примеры
П
оиск
в глубину
Алгоритм поиска в глубину проходит по графу, начиная с корневой вершины и углубляясь в каждое возможное разветвление (инцидентные вершины) до тех пор, пока не достигнет цели или тупика. После этого возвращается на уровень назад к предыдущему узлу и исследует следующий путь.
Исходные данные:
Граф (или дерево), представленный в виде смежности или списков рёбер.
Начальная вершина.
Условие завершения (например, достижение целевой вершины).
Промежуточные данные:
С
тек
для хранения текущего пути.
Ограниченный поиск в глубину
Модификация поиска в глубину (частный случай), в котором вводится максимальная глубина L. Алгоритм прекращает углубление, если достигнут уровень L, даже если цель не найдена.
Дополнительно требуется:
Исходные данные (+ исходные данные из поиска в глубину):
Параметр L: ограничение на максимальную глубину поиска.
Промежуточные данные (+ промежуточные данные из поиска в глубину): Текущая глубина узла.
19. Итеративный поиск в глубину. Какие исходные и промежуточные данные потребуются дополнительно по сравнению с поиском в глубину для организации алгоритма итеративного поиска в глубину? Графический пример.
Итеративный поиск в глубину
Э
тот
алгоритм сочетает преимущества поиска
в глубину и поиска в ширину. Он выполняет
несколько запусков ограниченного поиска
в глубину, увеличивая уровень (глубину)
L с каждым шагом.
Дополнительно требуется:
Исходные данные (+ исходные данные из поиска в глубину):
Параметр L, который постепенно увеличивается на каждом итерационном шаге.
Промежуточные данные(+ промежуточные данные из поиска в глубину):
Текущая глубина узла для сравнения с текущим L
Пример: Ищем вершину 5. В начале пройдёт 0,1 итерации, далее на середине 2 итерации достигнем целевой вершины.

)
)