
- •1. Разл.Парадигмы пр-я и подходы к опр-ю выч-ти. Декларативные яп как альт. Императивным. Лп как алг-я модель, альт-я модели Тьюринга — фон Неймана.
- •3.Исчисление предикатов 1-го порядка. Понятие о формальной аксиоматической системе.Выводимость (|-) в форм. Аксиом. Системе.Правило вывода modus ponens.
- •4. Понятие о полноте, непротиворечивости и корректности логической системы. Связь логического вывода с общезначимостью. Тh о дедукции.
- •5.Алгоритмическая неразрешимость исчисления предикатов. Тh Черча. Th Геделя о неполноте формальной арифметики.
- •6. Норм-е формы. Дизьюнкты Хорна. Сведение ф-л лог.Пр-в к фразам Хорна.
- •7. Унификация. Правила унификации сложных структур.
- •8. Правило вывода modus tollens. Простое и обобщенное правило резолюции.
- •9. Метод резолюции для реализации эф-го логического вывода в логических программах на основе фраз Хорна. Стратегии резолюции. Sld-резолюция.
- •11. Декларативная и процедурная семантика языка лп. Примеры.
- •12. Отрицание в логическом программировании. Отрицание по неуспеху и предположение о замкнутости мира. Sldnf-резолюция.
- •14. Основные объекты языка Пролог: атомы, числа, константы, переменные, термы, структурные термы, предикаты.
- •15. Операторы. Представление и выч-ие арифметич-х выр-й. Опред-е польз-м операторы. Представление предикатов и правил структурными термами.
- •16. Подходы к организации циклов в лп. Примеры. Предикаты for, repeat.
- •17. Управление перебором и отсечение( cut). Предикат not.
- •18. Встроенные предикаты Пролога: read, write, nl.
- •21. Описание основных предикатов обработки списков: определение длины, взятие n-ого элемента, принадлежность элемента списку, конкатенация списков.
- •22. Описание основных предикатов обработки списков: удаление элемента из списка, определение подсписка, перестановки.
- •23. Порядковое представление списков в Прологе. Представ-е матриц. Примеры.
- •25. Деревья. Деревья поиска, основные операции с деревьями поиска.
- •26. Сбалансир-е деревья. Алгоритм добавления узла в сбалансир-е дерево.
- •27. Представления графов. Алгоритмы поиска пути (в глубину, в ширину).
- •28. Метод генерации и проверок для решения задач. Метод ветвей и границ. Явный и неявный перебор в Пролог-программах.
- •31. Операторы. Преобр.Симв.Выр.В дерево.Выч-е значений арифм.Выр.По строке.
- •30. Решение задач методом поиска в пространстве состояний. Пример. Принципы подбора алгоритма поиска пути в зависимости от задачи.
- •32. Символьные вычисления. Алгоритм символьного дифференцирования.
- •33. Подходы к символьному упрощению выражений.
- •34. Анализ ест-го языка с использованием контекстно-свободной грамматики. Подход к интерпретации знаний в естественно-языковом материале.
- •35. Учет контекстных усл. Работа со словарями. Глуб. И пов. Структуры в ест.Яз.
- •36.Расширение логического интерпретатора Пролога средствами языка. Мета-интерпритаторы. Примеры
- •24. Разностные списки. Хвостовая рекурсия. Сведение рекурсивного нехвостового определения к хвостовому. Примеры.
30. Решение задач методом поиска в пространстве состояний. Пример. Принципы подбора алгоритма поиска пути в зависимости от задачи.
Задача: Имеется пр-во сост. – набор ситуаций. Из кажд.сост. путем каких-то действий можно перейти в др. Требуется из некот. нач. сост. достичь зад-го конечного сост. Представим граф, вершины - состояния. Путь из нач.сост. в конечное – набор сост-й, кот.необх-мо пройти для решения задачи. 1. К корню дерева (Sн) применяются опера-торы gi из мн-ва G (их м.б. несколько). Получ.при этом вершины образуют 1ый урове-нь новых вершин. 2. Каждая из вновь получ.вершин проверяется, не явл-ся ли она це-левой. Если нет, то процесс прод-ся по отн-ию к каждой из них. Образ-ся 2й уровень вершин. Если к к-л вершине никакой оператор из G не применим, она становится тер-минальной. 3. Когда целевая верш. найдена, в обратном напр-и просматриваются указатели дуг и выделяется путь реш-я.//Возникает проблема - в каком порядке верш. будут порождаться и анализир-ся: 1.вершины раскр-ся в том же порядке, в кот. поро-ждаются - поиск в ширину; 2) на кажд.шаге 1й раскр-ся верш., кот.была построена последней - в глубину.//В них расположение целевой верш. не влияет на порядок раск-рытия, поэтому их часто наз-ют процессами слепого перебора; 3.если есть некот. доп. (эвристич-я) информация, кот.позволяет делать суждения о хар-ре графа пр-ва сост-й и расположения цели, то такой метод построения графа наз-ся эвристическим. Ex.8 лунок с шарами:bbbb_www->www_bbbb,шар можно передвигать в сос.с ним пустую л, либо в пуст, нах-ся за ближ.шаром, ч можно двигать только вправо, б – только влево.
move(A,B) :- append(Begin, ["b","w","_"|Tail],A), append(Begin, ["_","w","b"|Tail],B).
move(A,B) :- append(Begin, ["_","b","w"|Tail],A), append(Begin, ["w","b","_"|Tail],B).
move(A,B) :- append(Begin, ["b","_"|Tail],A), append(Begin, ["_","b"|Tail],B).
move(A,B) :- append(Begin, ["_","w"|Tail],A), append(Begin, ["w","_"|Tail],B).
prolong([Tmp|Tail],[New,Tmp|Tail]) :- move(Tmp,New), not(member(New,[Tmp|Tail])).
dpth([Finish|Tail],Finish,[Finish|Tail]).
dpth(TempWay,Finish,Way) :- prolong(TempWay,NewWay), dpth(NewWay,Finish,Way).
search_dpth(Start,Finish) :- dpth([Start],Finish,Way), show_answer(Way).
show_answer([_]) :- !. show_answer([A,B|Tail]) :- show_answer([B|Tail]),nl,write(B).
int(1). int(N) :- int(M), N is M+1.
search_id(Start,Fin):-int(Level),(Level>19,!;id([Start],Fin,Way,Level),show_answer(Way)).
id([Finish|Tail],Finish,[Finish|Tail],0).
id(TempWay,Finish,Way,N) :- N>0, prolong(TempWay,NewWay),
N1 is N-1, id(NewWay,Finish,Way,N1).
search_bdth(Start,Finish) :-bdth([[Start]],Finish,Way), show_answer(Way).
bdth([[Finish|Tail]|_],Finish,[Finish|Tail]).
bdth([TempWay|OtherWays],Finish,Way) :- findall(W,prolong(TempWay,W),Ways),
append(OtherWays,Ways,NewWays), bdth(NewWays,Finish,Way).
Алг.поиска в глубину не требователен к памяти,но ищет пути в произв.порядке, поиск в ширину сначала находит кратч-й путь (зачастую быстрее, чем в глубину), по требует много памяти. Алг.итерац.погруж.ID вбирает в себя лучшие черты поиска в гл. и шир.