rpd000001749 (1006572), страница 2
Текст из файла (страница 2)
Тематика:
Трудоемкость(СРС): 16
Прикрепленные файлы: Создание программной системы с элементами интеллектуального поведения.doc
Типовые варианты:
-
Рубежный контроль
1.1. рубеж 1
Тип: Контрольная работа
Тематика:
Прикрепленные файлы: рубеж 1.doc
1.2. рубеж 2
Тип: Контрольная работа
Тематика:
Прикрепленные файлы: рубеж 2.doc
1.3. рубеж 3
Тип: Контрольная работа
Тематика:
Прикрепленные файлы: рубеж 3.doc
-
Промежуточная аттестация
1. Рейтинговая оценка (3 семестр)
Прикрепленные файлы: Рейтинговая оценка (3 семестр).doc
-
УЧЕБНО-МЕТОДИЧЕСКОЕ И ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ
а)основная литература:
1. Сошников Д.В. Парадигма логического программирования. – М.: Вузовская книга, 2006 г.
2. Клоксин У., Меллиш К. Программирование на языке Пролог. – М.: Мир, 1987.
3. Братко И. Программирование на языке Пролог для искусственного интеллекта. пер. с англ. –М.: Мир, 1990. Bratko I. Programming in Prolog for Artificial Intelligence (3rd edition), Addison-Wesley Publishers, 2001.
4. Малпас Дж. Реляционный язык Пролог и его применение: Пер. с англ. -М.: Наука, 1990.
5. Стерлинг Х., Шапиро Э. Искусство программирования на языке Пролог: Пер. с англ. - М.: Мир, 1990.
6. Тей А., Грибомон П., Луи Ж., Снийерс Д., Водон П., Гоше П., Грегуар Э., Санчес Э., Дельсарт Ф. Логический подход к искусственному интеллекту: от классической логики к логическому программированию: Пер. с франц. – М.: Мир, 1990.
7. Хоггер К. Введение в логическое программирование: Пер. с англ. -М.: Мир, 1988.
8. Ковальски Р. Логика в решении проблем: Пер. с англ. -М.: Наука, 1990.
9. Набебин А.А. Логика и Пролог в дискретной математике. – М.: Изд-во МЭИ, 1996.
10. Стобо Д..Ж. Язык программирования Пролог: Пер. с англ.. - М.: Радио и связь, 1993.
11. Язык Пролог в пятом поколении ЭВМ: Пер. с япон. / Сб. ст. под ред. Н.Ильинского. -М.: Мир, 1988.
12. Болховитинов В.Н., Колтовой Б.И., Лаговский И.К. Твое свободное время. Занимательные задачи, опыты, игры. –М.: Дет.лит., 1975
б)дополнительная литература:
в)программное обеспечение, Интернет-ресурсы, электронные библиотечные системы:
1. G.F.Luger, W.A.Stubblefield. Artificial Intelligence: Structures and Strategies for Complex Problem Solving. — Benjamin Cummings Publishing Company, 1993. (2nd Ed.)
2. Fitting M. Fixpoint Semantics for Logic Programming: A Survey. Elsevier Science Preprint, 1996. (Доступна в электронном виде в составе CD-хрестоматии)
3. Kifer M., Lausen G., Wu J. Logical Foundations of Object-Oriented and Frame-Based Languages. Technical Report 90/14, Department of Computer Science, State University of New York at Stony Brook (SUNY), 1990. (Доступен в электронном виде в составе CD-хрестоматии)
4. Seng Wai Loke, Adding Logic Programming Behaviour to the World Wide Web, PhD Thesis, Department of Computer Science, The University of Melbourne, Australia, 1998. (Доступна в электронном виде в составе CD-хрестоматии)
5. Ramakrishnan K., Ullman, J. A Survey of Research on Deductive Database Systems, Journal of Logic Programming, 23(2), 1995. pp. 125-149. (Доступна в электронном виде в составе CD-хрестоматии).
-
МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ
Ноутбук и проектор для чтения лекций.
Персональные ЭВМ с системами программирования на Прологе для проведения лабораторных работ.
Лабораторные работы проводятся в системе P#, Strawberry Prolog или Mercury на ЭВМ Intel x86
в среде Windows, в системе BinProlog или Mercury на ЭВМ Digital Alpha или Intel x86 или
на других доступных версиях Пролога, поддерживающих т.н. эдинбургский синтаксис языка
(AMZI Prolog, Turbo Prolog, PD Prolog, JLog и др.).
Приложение 1
к рабочей программе дисциплины
«Логическое программирование »
Аннотация рабочей программы
Дисциплина Логическое программирование является частью Математического и естественно-научный цикл дисциплин подготовки студентов по направлению подготовки Прикладная математика и информатика. Дисциплина реализуется на 8 факультете «Московского авиационного института (национального исследовательского университета)» кафедрой (кафедрами) 806.
Дисциплина нацелена на формирование следующих компетенций: ПК-2 ,ПК-3 ,ДПК-17.
Содержание дисциплины охватывает круг вопросов, связанных с: • основными парадигмами программирования и связанными с ними моделями вычислений;
• логическим способом представления знаний на основе логики предикатов 1-го порядка и методы логического вывода в таком представлении
• инструментальными средствами логического программирования: язык Пролог и способы его совместного использования с другими программными средствами
• основными приемами использования языка Пролог для решения типовых задач (поиск в пространстве состояний, моделирование различных представлений знаний, анализ текста на естественном языке и т.д.)
Преподавание дисциплины предусматривает следующие формы организации учебного процесса: Лекция, мастер-класс, Практическое занятие, Лабораторная работа.
Программой дисциплины предусмотрены следующие виды контроля: рубежный контроль в форме Контрольная работа и промежуточная аттестация в форме Рейтинговая оценка (3 семестр).
Общая трудоемкость освоения дисциплины составляет 3 зачетных единиц, 108 часов. Программой дисциплины предусмотрены лекционные (18 часов), практические (18 часов), лабораторные (32 часов) занятия и (40 часов) самостоятельной работы студента.
Приложение 2
к рабочей программе дисциплины
«Логическое программирование »
Cодержание учебных занятий
-
Лекции
1.1.1. Логическое программирование как алгоритмическая модель (АЗ: 2, СРС: 0)
Тип лекции: Информационная лекция
Форма организации: Лекция, мастер-класс
Описание: Понятие о программировании и алгоритмической модели. Традиционный подход к программированию машин с архитектурой фон Неймана. Языки высокого уровня. Императивные и декларативные языки. Логика как средство описания задач и как способ задания алгоритма. Основные сведения из логики предикатов 1-го порядка. Пример описания задач на языке логического программирования (сумма натуральных чисел от 1 до N, родословное дерево). Логический интерпретатор как способ решения логических задач на архитектуре фон Неймана. Поисковый (переборный) алгоритм работы логического интерпретатора. Понятие унификации. Рекурсия. Декларативная и процедурная семантика языка логического программирования.
1.1.2. Логическое программирование и логика предикатов (АЗ: 2, СРС: 0)
Тип лекции: Информационная лекция
Форма организации: Лекция, мастер-класс
Описание: Определение формальной аксиоматической системы. Логика и исчисление высказаваний и предикатов 1-го порядка как формальные аксиоматические системы. Классические правила вывода в логике предикатов: modus ponens. Альтернативное правило вывода modus tollens. Представление формул логики предикатов в стандартной форме. Дизьюнкты Хорна. Клаузальная форма. Метод резолюции для логического вывода, различные стратегии резолюции (SL, SLD). Полнота метода резолюции в логике предикатов. Преимущества метода резолюции для реализации логического интерпретатора. Логическое программирование и язык Пролог как реализация метода резолюции для логики предикатов в клаузальной форме. Принципы построения логического интерпретатора.
1.1.3. Основы языка логического программирования Пролог (АЗ: 2, СРС: 0)
Тип лекции: Информационная лекция
Форма организации: Лекция, мастер-класс
Описание: Основные объекты языка: атомы, числа, константы, переменные, простые и структурные термы, предикаты. Операторы. Представление арифметических выражений в виде структурных термов. Правила унификации структурных термов. Вычисление выражений. Пример (вычисление сопротивления последовательно-параллельной цепи резисторов).
1.1.4. Типизированное логическое программирование. Основы языка функционально- логического программирования Mercury (АЗ: 2, СРС: 0)
Тип лекции: Информационная лекция
Форма организации: Лекция, мастер-класс
Описание: Понятие типа в классических и логическо-функциональных языках. Статический и динамический контроль типов. Реализация типизированного логического программирования на Прологе. Понятие системы типов и вывода типов. Системы типов Майкрофта-О'Кифа и Хиндли-Милнера. Многосортная логика предикатов. Понятие режима вывода и детерминизма предиката. Классы конкретизации. Основы функционального подхода в программировании. Каррирование. Функции высших порядков. Особенности языка Mercury: оператор выбора, ввод-вывод, DCG-синтаксис, структура программы. Система программирования Mercury и ее использование на различных платформах.
1.1.5. Списковые структуры данных (АЗ: 2, СРС: 0)
Тип лекции: Информационная лекция
Форма организации: Лекция, мастер-класс
Описание: Определение и структура списка. Представление списков на Прологе. Описание основных предикатов обработки списков: определения длины, принадлежности элемента списку, конкатенации двух списков, удаления элемента из списка, перестановок, определения подсписка. Различные способы использования этих операций в зависимости от запроса. Связь списков и структурных термов: предикат =.. . Представление деревьев в Прологе. Сортировка списка при помощи упорядоченного дерева. Метод генерации и проверок решения задач. Решение простейшей переборной задачи. Предикат fail.
1.1.6. Решение логических задач (АЗ: 2, СРС: 0)
Тип лекции: Информационная лекция
Форма организации: Лекция, мастер-класс
Описание: Организация циклов (рекурсия, возврат, предикаты for, repeat). Нахождение простых чисел в некотором интервале методом перебора и Эратосфена. Разбор различных способов решения нескольких логических задач (“зебра”, определение профессии и др.) методом явного и неявного перебора с возвратом.
1.1.7. Отсечение и логическое программирование с отрицаниями (АЗ: 2, СРС: 0)
Тип лекции: Информационная лекция
Форма организации: Лекция, мастер-класс
Описание: Неоптимальность полного перебора. Предикат отсечения. Процедурный характер отсечения. Различные причины использования отсечения: сокращение перебора, комбинация !-fail, выделение отдельных правил. Предикат not. Плюсы и минусы использования отсечения. Красные и зеленые отсечения. Отрицание в логическом программировании, его семантика, предположение о замкнутости мира. SLDNF-резолюция, теоремы о полноте и непротиворечивости. Понятие дополнения логической программы. Отрицание по конечному и бесконечному неуспеху.
1.1.8. Встроенные предикаты языков Пролог и Mercury (АЗ: 2, СРС: 0)
Тип лекции: Информационная лекция
Форма организации: Лекция, мастер-класс
Описание: Предикаты ввода-вывода (read, write). Классификация термов. Работа с утверждениями и правилами базы данных. Пример: генерация псевдослучайных чисел. Предикаты поиска множества решений findall (bagof, setof).
1.1.9. Формальная семантика языков логического программирования (АЗ: 2, СРС: 0)
Тип лекции: Информационная лекция
Форма организации: Лекция, мастер-класс
Описание: Понятие формальной семантики языка программирования, денотата. Различные виды семантик: операционная, денотационная, пропозициональная. Краткие сведения из теории решеток, теорема о неподвижной точке. Процедурные семантики Пролога: операционная, теоретико-модельная, семантика неподвижной точки. Понятия Эрбрановского универсума, базиса. Теорема Эрбрана. Реализация мета-интерпретаторов языков логического программирования: трассирующий мета-интерпретатор, мета-интерпретатор с поиском методом итерационного заглубления, мета-интерпретатор с построением дерева вывода.
-
Практические занятия
1.1.1. Неклассические логики и их реализация на Прологе. (АЗ: 4, СРС: 0)
Форма организации: Практическое занятие
Описание: Неклассические логики: многозначные логики, модальные логики. Примеры реализации на Прологе. Решение задачи в трехзначной логике. Исчисления объектов. F-логики. Реализация объектно-ориентированного подхода на Прологе. Нечеткие логики. Реализация нечеткого логического вывода в Пролог-системе.
1.1.2. Дескриптивные логики (АЗ: 6, СРС: 0)
Форма организации: Практическое занятие
Описание: Проблема представления знаний в онтологических системах. Использование классических логик для описания системы понятий. Понятие о семантических сетях и когнитивных картах. Дескриптивные логики: синтаксис, теоретико-множественная семантика и семантика на основе трансляции в логику предикатов. Классы дескриптивных логик. Логический вывод на дескриптивных логиках: табличные алгоритмы, их алгоритмическая сложность. Реализация дескриптивных логик на Прологе.