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

Отсечение - средство ограничения (управление перебором), обозначается !, дает всегда истину.

Отсечение может быть: условием в правиле, целью в запросе.

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

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

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

Зеленое

Свойства: 1. если удалить, то результат не измениться

2. Если поменять предложения местами, то результат не измениться, но избыточность условий может переместиться.

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

f(X,0):-x=<3,!.

f(X,2):-x>3,x=<6,!.

f(X,4):-x>6,!.

Если выполнилось условие X =< 3, то проверка X > 3 - избыточное

Если выполнилось условие X =< 6, то проверка X > 6 - избыточное

Красное

Свойства: 1. если удалить, то результат измениться

2. не содержат избыточных условий

3. предложения нельзя менять местами (могут дать неверный результат)

f(X,0):-x=<3,!.

f(X,2):-x=<6,!.

f(X,4).

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

Добавить решений красным отсечением можно: подцель1(А), подцель2(А). – каждая подцель имеет 2 решения, в итоге получаем 4 решения. Вводим отсечение: подцель1(А), подцель2(А); !. – оно возвращает 4 решения + 1, т.к. отсечение – истинно и мы просто вертаем истину.

  • 12. Влияние отсечений на последовательность выполнения подцелей в запросе и условий в правиле, содержащих одновременно несколько логических «И», «ИЛИ». Состояния одноименных переменных в подцелях и в условиях в момент начала их проверки на истинность. Примеры. Обобщение.

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

Отсечение в блоке с логич ИЛИ (;) запрещает поиск решений справа от него.

Рассмотрим 2 примера:

  1. Без отсечения (10 решений)

    Варианты получения значения одноимённой переменной.

    пр:- усл1(А), усл2(А,А); усл3(А), усл5(А); усл6(А).

    Усл1

    Усл2

    Усл3

    Усл5

    Усл6

    I

    1

    2

    II

    3

    III

    4

    5

    IV

    6

    V

    7

    8

    VI

    9

    VII

    10

    11

    VIII

    12

    IX

    13

    X

    14

  2. С отсечением (6 решений)

пр:- усл1(А), усл2(А); усл3(А), !, усл5(А); усл6(А).

Усл1

Усл2

Усл3

Усл5

Усл6

I

1

2

II

3

III

4

5

IV

6

V

7

8

VI

9

Конкретный пример:

обучающийся(Имя):-

дееспособный(Имя), !, студент_ВУЗ(Имя),;

not(дееспособный (Имя)), студент_Школа(Имя), !;

студент_СПО(Имя).

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

Прохождение по ветви - попадание из одного узла в другой. Эта ветка отыскивается в списке ветвей. Отыскивается как? один узел у нас есть, а второй - отыскиваем.

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

Если осуществляется поиск с конечного узла, обращение списка не потребуется.

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

Ограничения по ветвям:

14. Поиск путей в графе: чем обеспечивается направленность ветвей графа? Варианты направленности графа. Классификация поиска путей в графе на слепой и направленный поиск. Как происходит выбор ветви при ненаправленном (слепом) поиске? Фрагменты примера. Какие дополнительные требования возникают по выбору ветви при направленном поиске?.

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

Граф можно классифицировать по направленности ветвей: направленный (ориентир) - по каждой ветви одно направление, неориентированный - в обе стороны, смешанный – есть хотя бы одно неориентированное ребро.

В прологе направленная ветвь задается парой узлов, ненаправленная задается парами узлов в прямом и обратном направлении.

Выбор ветви при ненаправленном поиске осуществляется в слупую без знания о самом графе. Мы имеем начальный узел и в зависимости от метода двигаемся по графу для достижения целевой вершины. 1. по заданному узлу(узлам) находим первую попавшуюся ветвь. 2. направление движения и направление ветви не учитываем 3. отсутствует информация о части маршрута => оптимальность маршрута не гарантирована

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

Уже по этим данным проводим анализ (строим треугольники, по теореме пифагора определяем косинусы и углы соответственно, следовательно, чем угол будет ближе к углу направления к цели, та ветвь и выбирается)

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