rpd000001899 (1009983), страница 2
Текст из файла (страница 2)
- 3. Клаузальная форма логики
- 4. Понятия и принципы логического программирования
- 5. Арифметика и алгебра на ПРОЛОГе
- 6. Структурирование представление информации
- 7. Рекурсивные данные и программы
- 8. Отсечение в логических программах
- 9. Предикаты внутренних динамических баз данных
- 10. Типовые металогические предикаты ПРОЛОГа
- 11. Дополнительные возможности ПРОЛОГа
- 12. Заключение. Применение ПРОЛОГа в прикладных задачах
-
Лекции
| № п/п | Раздел дисциплины | Объем, часов | Тема лекции | Дидакт. единицы |
| 1 | 1.1.Введение. Основы формальной логики | 2 | Введение. Предмет дисциплины и её задачи. | 1 |
| 2 | 1.1.Введение. Основы формальной логики | 2 | Основы формальной логики | 1 |
| 3 | 1.2.Основы исчисления предикатов первого порядка | 2 | Основы исчисления предикатов 1-го порядка. | 2 |
| 4 | 1.2.Основы исчисления предикатов первого порядка | 2 | Ограничения формализмов | 2, 1 |
| 5 | 1.3.Клаузальная форма логики | 2 | Клаузальная форма логики | 3 |
| 6 | 1.4.Понятия и принципы логического программирования | 2 | Понятия и принципы логического программирования | 4 |
| 7 | 1.4.Понятия и принципы логического программирования | 2 | Основные элементы языка ПРОЛОГ | 4 |
| 8 | 1.5.Арифметика и алгебра на ПРОЛОГе | 2 | Арифметика и алгебра на ПРОЛОГе. | 5 |
| 9 | 1.6.Структурированное представление информации | 2 | Структурированное представление информации на ПРОЛОГе | 6 |
| 10 | 1.7.Рекурсивные данные и программы | 2 | Рекурсивное представление данных и программ | 7 |
| 11 | 1.7.Рекурсивные данные и программы | 2 | Обработка структурированных данных | 7 |
| 12 | 1.8.Отсечение в логических программах | 2 | Отсечение в логических программах | 8 |
| 13 | 1.9.Предикаты внутренних динамических баз данных | 2 | Предикаты внутренних динамических баз данных | 9 |
| 14 | 1.10.Типовые металогические предикаты ПРОЛОГа | 2 | Типовые металогические предикаты ПРОЛОГа | 10 |
| 15 | 1.11.Дополнительные возможности ПРОЛОГа | 2 | Ввод и вывод на ПРОЛОГе. Файловый ввод-вывод. | 11 |
| 16 | 1.12.Заключение. Применение ПРОЛОГа в прикладных задачах | 2 | Дополнительные возможности ПРОЛОГа. | 11 |
| 17 | 1.12.Заключение. Применение ПРОЛОГа в прикладных задачах | 2 | Применение ПРОЛОГа в прикладных задачах обработки символьной информации ("искусственнрго интеллекта") | 12 |
| Итого: | 34 | |||
-
Практические занятия
| № п/п | Раздел дисциплины | Объем, часов | Тема практического занятия | Дидакт. единицы |
| Итого: | ||||
-
Лабораторные работы
| № п/п | Раздел дисциплины | Наименование лабораторной работы | Наименование лаборатории | Объем, часов | Дидакт. единицы |
| 1 | 1.3.Клаузальная форма логики | Факты и правила – основные конструкции ПРОЛОГа | компьютерный класс каф.304 | 4 | 4, 4 |
| 2 | 1.6.Структурированное представление информации | Структурированное представление информации | компьютерный класс каф.304 | 4 | 7, 7 |
| 3 | 1.7.Рекурсивные данные и программы | Рекурсивные логические программы | компьютерный класс каф.304 | 4 | 9, 8, 9 |
| 4 | 1.11.Дополнительные возможности ПРОЛОГа | Отсечение на ПРОЛОГе. Динамические базы данных. Типовые металогические предикаты | компьютерный класс каф.304 | 4 | 12, 12 |
| Итого: | 16 | ||||
-
Типовые задания
| № п/п | Раздел дисциплины | Объем, часов | Наименование типового задания |
| Итого: | |||
-
Курсовые работы и проекты по дисциплине
-
Рубежный контроль
-
Промежуточная аттестация
1. Зачёт
Прикрепленные файлы:
Вопросы для подготовки к экзамену/зачету:
1.Роль логики в решении задачи Гильберта формализации математики. Символьная обработка информации и декларативный принцип разработки программ.
2.Формальные системы. Признаки и требования. Логика высказываний (Булева алгебра). Теорема Поста о полноте исчисления высказываний.
3.Логика исчисления предикатов 1-го порядка – теоретическая основа логического программирования. 1-я теорема Гёделя об исчислении предикатов.
4.Законы дедуктивного мышления. Доказательство «от противного». Метод автоматического доказательства теорем Эрбрана.
5.Принцип резолюции Робинсона.
6.Алгоритм унификации (сопоставления).
7.Системы 1-го порядка. Формальная арифметика.
8.2-я теорема Гёделя о неполноте формальной арифметики.
9.Теорема Тарского о недоказуемости истинных интерпретаций формальных систем.
10.Теорема Чёрча о неразрешимости логики предикатов 1-го порядка. Полуразрешимость исчисления предикатов.
11.Анализ логики средствами логики. Метаязык и логические парадоксы.
12.Понятие клаузы (утверждения). Клаузы Хорна. Соотношение между стандартной и клаузальной формами логики.
13.Синтаксические элементы логики – предикаты (атомарные суждения), переменные, константы, термы, функторы (функциональные буквы).
14.Вид программы на языках Turbo PROLOG и Visual PROLOG. Основные элементы программы. Клаузы (факты и правила). Запросы к логической программе.
15.Основные встроенные типы данных ПРОЛОГа. Примеры использования.
16.Встроенные арифметические операции, алгебраические функции и предикаты сравнений ПРОЛОГа.
17.Типы данных, создаваемые пользователем. Структурированное представление информации на ПРОЛОГе (функторы и термы).
18.Рекурсивные типы данных – списки, деревья и пр.
19.Правило рекурсии. Рекурсивные логические программы.
20.Списковый тип данных ПРОЛОГа. Предикат создания списков findall.
21.Программы обработки списков на ПРОЛОГе.
22.Правая и левая рекурсии. Итерационные вычисления. Использование переменных-«накопителей».
23.Отсечение - предикат cut (!). Определение и причины использования отсечения.
24.Зелёное и красное отсечения. Предикат fail и правило повтора. Оптимизация вычислений и программирование исключающих утверждений.
25.Типовые металогические предикаты. Создание «универсальных» предикатов.
26.Динамические базы данных database или facts. Встроенные предикаты динамических баз данных. Различные аспекты применения динамических баз данных.
27.Работа с файлами и динамические базы данных на ПРОЛОГе. Предикаты ввода-вывода.
Вопросы на тестирование:
1.Запрограммировать фразу: «Любое число в нулевой степени равно единице».
2.Написать логическую программу для утверждения: «Петру нравятся все литературные жанры, кроме доносов».
3.Записать в виде клаузы: «Каждый счастлив, если он кого-то любит».
4.По материалам 1-й лабораторной работы написать правила для определения фактов «брат (Кто, Кому)» и для сохранения полученных фактов в файле brother.txt.
5.Разработать логическую программу для деления каждого элемента числового списка на количество элементов этого же списка.
6.Написать логическую программу для вычисления суммы элементов b(j)=1/(j!), где j=1,…,N.
7.Запрограммировать с помощью зелёного отсечения предикат modul(X,Y), где Y – модуль X.
8.По материалам 1-й лабораторной работы написать правила для предиката «является (Кто, Кому, Кем)».
9.Записать как клаузу фразу: «Не бывает шофёра, не имеющего водительских прав», используя предикаты «шофёр(.)» и «водитель(.)»
10.Разработать динамическую структуру «квадро-дерево» и привести пример её использования.
-
УЧЕБНО-МЕТОДИЧЕСКОЕ И ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ
а)основная литература:














