- •1. Парадигмы императивного и декларативного программирования.
- •2. Основные задачи для функционального и логического программирования.
- •3. Основные понятия систем ии.
- •4. Понятие функционального программирования и основные положения по а.П. Ершову.
- •5. Понятие функциональности.
- •14. Префиксная нотация Лиспа, вычисление арифметических выражений.
- •15. Понятие псевдофункции.
- •16. Псевдофункция статического связывания объекта.
- •10. Свойства функционального программирования в постановке а. П. Ершова.
- •11. Структура символьного выражения в Лиспе.
- •12. Символы, атомы, константы, t, nil, списки.
- •13. Список как основная структура функционального и логического программирования.
- •21. Основные примитивы Лиспа для обработки списка.
- •22. Графическое представление списка.
- •23. Принципы работы с памятью функциональной и логической программы
- •24. Автоматические сборщики мусора
- •25. Старт-стопные сборщики мусора и сборщики мусора реального времени
- •Ключевой параметр optional, key, res.
- •33. Карринговая форма записи функций нескольких переменных.
- •48. Функция принадлежности аргумента списка, декларативное определение
- •56. Генератор в программировании, понятие вычислительного контекста
- •57. Связь дисциплины логического программирования с дисциплиной "базы данных"
- •65. Резолюция, правило резолюции как процедура вывода решений
- •66. Сопоставление в логическом программировании
- •81. Оператор присваивания в прологе
- •82. Детерминированные и недетерминированные предикаты
- •83. Отсечение, операционная модель Пролога в случае применения отсечения.
- •88. Рекурсивное логическое программирование
- •105. Металогические предикаты
- •106. Металогические предикаты для анализа структуры термы
- •107. Металогические предикаты для определения типа переменных
57. Связь дисциплины логического программирования с дисциплиной "базы данных"
Базы данных - структурированые данные, находящиеся во внешней памяти. Управление базой данных выполняет программа под названием СУБД. В логическом программировании используется термин "База данных". В одном из языков ЛП Turbo/visual prolog есть раздел программы, который носит соответствующее название. Но в ЛП под базой данных понимается !данные в оперативной памяти!. ЛП программирование является более выразительным нежели языки манипулирования базами данных (SQL). Все обращения к базе данных записываются в едином формализме.
58. Cвязь логического программирования с искусственным интеллектом
ЛП появилось в рамках развития систем ИИ. Исторически первая задача ИИ, для которых использовалось ЛП - задача естественного языкового общения. В дальнейшем оно применялось для программирования экспертных систем и баз знаний.
59. Логическое программирование и функциональное программирование
Функциональная программа состоит из совокупности определений функций.
В логических языках программирования для решения задачи достаточно описания структуры и условий этой задачи.
60. Логическое программирование и параллельное программирование
Логическая программа обладает высокой степенью параллелелизма, поскольку подцели логического выражения могут выводится независимо друг от друга.
61. Логическая теория Фреге и значение её для логического программирования.
Г.Фреге первый построил систему теории множеств, которая практически была логической, поскольку основной принцип свертки: каждое свойство определяет множество удовлетворяющих ему элементов – имел неограниченную общность. Эта система оказалась противоречивой, но многие конструкции из нее использовались в дальнейшем.
62. Теория Френча и Эрбрана и значение её для логического программирования.
В 1930 г. Френч и Эрбран независимо доказали фундаментальную теорему, предоставляющую алгоритм, который способен установить общезначимость логической формулы, если она является таковой. В противном случае этот алгоритм зацикливается. Поэтому проблему установления общезначимости в исчислении предикатов первого порядка стали считать полуразрешимой
63. Теория Тьюринга, значение для логического программирования.
для каждой вычислимой функции существует вычисляющий её элемент (например, машина Тьюринга) или программа для исполнителя, а все функции, вычисляемые множеством вычислителей, являются вычислимыми функциями (возможно, при некотором кодировании входных и выходных данных). Есть программы для обычных компьютеров, имитирующие работу машины Тьюринга.
64. Дизъюнкт Хорна
Дизъюнкт Хорна - правильно построенное предложение, имеющее следующий общий вид записи P0 \/ ~P1 \/ ~P2 \/ ... \/ ~Pn, n >= 0, где Pi - атомарная формула (предикат), все переменные которой связаны не указанными явно кванторами всеобщности, областью действия которых является весь дизъюнкт.
Эквивалентной, но более удобной для человека, формой представления дизъюнкта является Р1 & Р2 &...& Рn -> P0.
