Рабочая программа дисциплины функциональное и логическое программирование



Скачать 192.95 Kb.
Дата30.12.2012
Размер192.95 Kb.
ТипРабочая программа


Министерство образования Российской Федерации
Санкт-Петербургский государственный электротехнический

университет “ЛЭТИ”


РАБОЧАЯ ПРОГРАММА

дисциплины
ФУНКЦИОНАЛЬНОЕ И ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
Для подготовки дипломированных специалистов по направлению 657100–”Прикладная математика" по специальности 073000–“Прикладная математика ” и

бакалавров по направлению 510200–”Прикладная математика и информатика"


Санкт-Петербург

2001

Санкт-Петербургский государственный электротехнический

университет “ЛЭТИ”

“УТВЕРЖДАЮ”
Проректор по учебной работе
проф. ___________ Ушаков В.Н.
“_____”_______________2001г.

РАБОЧАЯ ПРОГРАММА
дисциплины
ФУНКЦИОНАЛЬНОЕ И ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
Для подготовки дипломированных специалистов по направлению 657100 – ”Прикладная математика" по специальности 073000–“Прикладная математика ” и

бакалавров по направлению 510200–”Прикладная математика и информатика"

Факультет компьютерных технологий и информатики

Кафедра математического обеспечения и применения ЭВМ
Курс – 3

Семестр – 5


Лекции

32 ч.




Экзамен



















Практические занятия

16 ч.




Текущий контроль

5 семестр
















Курсовая работа

16 ч.













Аудиторные занятия

64 ч.




Самостоятельные занятия

64 ч.





Всего часов

128 ч.





2001
Рабочая программа обсуждена на заседании кафедры Математического обеспечения и применения ЭВМ “____”_______________2001 г., протокол №______.
Рабочая программа составлена в соответствии с государственным образовательным стандартом по направлению 657100 – ”Прикладная математика" и специальности 073000 -“Прикладная математика”.

Рабочая программа согласована с рабочими программами изученных ранее дисциплин:

1) Программирование;

2) Структуры и алгоритмы обработки данных;
Рабочая программа одобрена методической комиссией факультета компьютерных технологий и информатики “____”_____________2001 г.


Цели и задачи дисциплины
Целью дисциплины является изучение и практическое освоение средств логического и функционального программирования для решения научных и прикладных задач. В качестве инструментальных средств изучаются языки ПРОЛОГ и ЛИСП. Рассматриваются теоретические и прикладные аспекты использования данных программных средств для решения задач искусственного интеллекта.
Требования к уровню освоения дисциплины
В результате изучения дисциплины студенты должны:

  1. знать и уметь использовать теоретические основы и прикладные средства логического и функционального программирования в решении задач искусственного интеллекта;

  2. иметь опыт использования языков ПРОЛОГ и ЛИСП при решении практических задач;

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



Содержание рабочей программы
Введение в проблематику логического и функционального программирования.
Применение логического и функционального программирования в системах искусственного интеллекта: Задачи искусственного интеллекта. Современные парадигмы решения задач искусственного интеллекта. Роль логики в решении задач ИИ. Логика предикатов первого порядка. Клаузы Хорна. Соотношение между клаузальной и стандартной формой логики. Доказательство теорем в исчислении предикатов первого порядка. Алгоритм унификации и принцип резолюции Робинсона. Использование логики как языка программирования. Особенности языков функционального программирования. Использование функционального программирования для разработки систем искусственного интеллекта.
Тема 1. Основные понятия логического программирования

Основные понятия логического программирования: понятие логической программы. Основные конструкции. Факты, правила, вопросы. Логические переменные, подстановки и примеры. Абстрактный интерпретатор. Значение логической программы. Вычислительная модель логических программ. Концепция языков "нового принципа". Ретроспективный обзор создания средств логического программирования. ПРОЛОГ как система, реализующая логический вывод в исчислении предикатов первого порядка
Тема 2. Основные элементы языка

Основные элементы языка: алфавит языка. Термы. Виды термов: константы, переменные, структуры. Литеры и их типы. Интерпретация литер. Операторы. Свойства операторов (позиция, приоритет, ассоциативность). Инфиксные, префиксные, постфиксные операторы. Запись фактов и правил. Предикат. Цели, конъюнкция целей. Общая схема доказательства целевого утверждения
Тема 3. Арифметика

Встроенные предикаты для сравнения чисел: =, \=, >, <, >=, =<. Вычисление арифметических выражений: операторы +, -, *, /, ^. Предикат is. Примеры программ с выполнением арифметических операций.
Тема 4. Согласование целевых утверждений

Диаграмма успешного доказательства целевых утверждений. Доказательство целевых утверждений при использовании механизма возврата. Правила установления соответствия. Недетерминизм первого и второго рода. Понятие "связанной" переменной. Примеры программ с использованием механизма возврата. Операционная модель вычисления ПРОЛОГ-программ. ПРОЛОГ и математическая логика.
Тема 5. Рекурсивное представление данных и программ

Построение рекурсивных программ. Граничные условия и способы использования рекурсии. Структуры и деревья. Список как частный вид структуры. Формы записи списков. Работа со списками. Примеры программ с рекурсивными определениями.
Тема 6. Отсечение и способы его использования

Модели Причины использования отсечения. Предикат !. Диаграмма работы программы с использованием отсечения. Общие случаи использования отсечения.
Тема 7. Ввод и вывод

Ввод и вывод термов (предикаты read, write, display). Ввод и вывод литер (предикаты get, get0, put). Примеры программ с использованием ввода и вывода.
Тема 8. Встроенные предикаты

Предикаты: добавление и исключение утверждений, классификация термов, изменение и анализ утверждений, работа со структурами произвольного вида, воздействие на процесс возврата, реализация сложных способов выражения целевых утверждений, объявление операторов, обработка файлов, наблюдение за выполнением программы на ПРОЛОГе. Примеры использования встроенных предикатов.
Тема 9. Дополнительные возможности

Программирование второго порядка. Множественные выражения. Предикаты "univ", findall, bagof, setof. Интерфейсные и графические возможности версий ПРОЛОГа.
Тема 10. Отладка ПРОЛОГ-программы

Рекомендации по расположению текста программ. Типичные ошибки при работе с ПРОЛОГом. Использование трассировки и контрольных точек в ПРОЛОГ-системе. Фиксация ошибок.
Тема 11. Constraint-технология в логическом программировании

Constraint-технология в логическом программировании: обобщение механизма унификации, понятие constraint'а. Операционная модель Constraint-ПРОЛОГа. Инструментальные средства Constraint-ПРОЛОГа; Применение Constraint-ПРОЛОГА в задачах исследования операций.
Тема 12. Заключение

Тенденции и перспективы развития методов и средств логического программирования. Параллелизм в ПРОЛОГЕ. Логическое программирование как перспективная методология разработки интеллектуальных систем.
Тема 13. Теоретические основы функционального программирования

Теоретические основы функционального программирования: рекурсивные функции и лямбда-исчисление А. Черча. Программирование в функциональных обозначениях. Понятие строго функционального языка. Представление и интерпретация функциональных программ.
Тема 14. Базовые функции языка ЛИСП

Алфавит, семантика языка. Цикл работы интерпретатора. Атом, список, символьное выражение, функция. Селекторы, конструкторы и предикатные функции. Внутренне представление списков.
Тема 15. Системные свойства символа

Системные свойства символа: печатное имя, значение, определение функции, список свойств. Определение и модификации значений системных свойств. Обобщенная функция присваивания.
Тема 16. Определение функции

Определение функции: лямбда-выражение и лямбда-вызов. Функция определения функции. Список аргументов.
Тема 17. Управляющие структуры

Классификация управляющих структур. Структуры следования, разветвления и повторение. Императивный стиль программирования средствами функционального языка.
Тема 18. Рекурсивный стиль программирования

Основы теории рекурсивных функций. Средства и приемы построения рекурсивных программ. Сравнение рекурсивного и итеративного подхода к реализации алгоритмов.
Тема 19. Функционалы

Понятие функционала. Применяющие и отображающие функционалы. Примеры решения задач с использованием функционалов.
Тема 20. Ввод и вывод

Организация работы с файлами. Основные функции ввода/вывода информации. Макросы чтения. Программирование с использованием «черепаховой графики».
Тема 21. Объектно-ориентированное программирование средствами ЛИСПа

Концепции организации интерфейса. Классы, методы, наследование. Примеры создания и инициализации объектов.
Тема 22. Заключение

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


№п/п

Наименование

№ темы

1

Организация рекурсивных программ:

5

2

Использование отсечения в ПРОЛОГ-программах

6

3

Средства ввода-вывода

7

4

Стандартные предикаты ПРОЛОГа

8

5

Работа с внелогическими предикатами

9

6

Отладка программ на ПРОЛОГе

10

7

Применение ПРОЛОГа в задачах искусственного интеллекта

11

8

Базовые функции языка ЛИСП

14

9

Системные свойства символа

15

10

Определение функции

16

11

Управляющие структуры

17

12

Рекурсивный стиль программирования

18

13

Функционалы

19

14

Ввод/вывод

20

15

Объектно-ориентированное программирование средствами ЛИСПа

21



Распределение учебных часов по темам и видам занятий




темы

Название разделов и тем

Объем учебных часов

Семестр

Лекции

Лабор.

занятия

Практ.

занятия

Аудит.

занятия

Самост.

работа

Всего





Введение в проблематику логического и функционального программирования.

1







1

1

2

5

1

Основные понятия логического программирования

2







4

4

8

5

2

Основные элементы языка

1




2

2

2

4

5

3

Арифметика

1




1

2

2

4

5

4

Согласование целевых утверждений

1




1

2

2

4

5

5

Рекурсивное представление данных в программе

1




2

2

2

4

5

6

Отсечение и способы его использования

1




1

2

2

4

5

7

Ввод и вывод

1




2

2

2

4

5

8

Встроенные предикаты

1




2

2

2

4

5

9

Дополнительные возможности

2




1

4

4

8

5

10

Отладка ПРОЛОГ-программ

2




2

4

4

8

5

11

Constraint-технология в логическом программировании.

1







3

3

6

5

12

Заключение

1







2

2

4

5

13

Теоретические основы функционального программирования:

2







4

4

8

5

14

Базовые функции языка ЛИСП:

1




2

2

2

4

5

15

Системные свойства символа:

1




2

3

3

6

5

16

Определение функции:

1




1

2

2

4

5

17

Управляющие структуры:

2




2

4

4

8

5

18

Рекурсивный стиль программирования:

2




3

4

4

8

5

19

Функционалы

2




2

4

4

8

5

20

Ввод и вывод

2




2

4

4

8

5

21

Объектно-ориентированное программирование средствами ЛИСПа:

2




2

4

4

8

5

22

Заключение:

1







1

1

2

5

ИТОГО


32




16

64

64

128






ЛИТЕРАТУРА
Основная




Название, библиографическое описание

Л

Пр

зан

К-во экз. в библ. (на каф.)

Гриф

1

Лорьер Ж.-Л. Системы искусственного интеллекта. - М.: Мир, 1991.

5




Уч 34

ГК СССР по нар.обр.

2

Л.Стерлинг, Э.Шапиро. Искусство программирования на языке ПРОЛОГ. М. Мир, 1990.

5




Уч 154

ГК СССР по нар.обр.

3

И.Братко. Программирование на языке ПРОЛОГ для искусственного интеллекта. М.Мир,1990




5

Уч 4

ГК СССР по нар.обр.

4

Хювенен Э., Сеппянен И. Мир ЛИСПа. В 2 т. - М.: Мир, 1990

5

5

Т1-54

Т2-58

ГК СССР по нар.обр.

5

Филд А., Харрисон П. Функциональное программирование. - М.: Мир, 1993

5

5

Уч 8

Ком. по ВШ Мин. науки

6

Хендерсон П. Функциональное программирование. Применение и реализация. - М.: Мир, 1983

5




Уч 29

МВ и ССО СССР



Дополнительная




Название, библиографическое описание

К-во экз. в библ. (на каф.)

1

Уинстон П. Искусственный интеллект. М.,Мир, 1990.

Уч 0

2

Бердж В. Методы рекурсивного программирования. М., Машиностроение, 1983

Уч 0

3

J.Cohen. Constraint Logic Programming Languages. Communication of the ACM, 1990, Vol.33, No.7

Уч 0

4

J.Jaffar, S.Michaylov, P.J.Stuckey, R.H.C.Yap. The CLP(R) Language and System. ACM Transactions on Programming Languages and Systems, Vol.14, No.3, July 1992

Уч 0

5

Тей А. и др. Логический подход к искусственному интеллекту: от классической логики к логическому программированию. - М.: Мир, 1990.

Уч 0

6

Ковальский Р. Логика в решении проблем. - М.: Наука, 1990.

Уч 0

7

Нильсон Н. Принципы искусственного интеллекта. /Пер. с англ. Р.М. Абдусаматова, Ю.И. Крюкова; Под. ред. Стефанюка В.Л. - М.: Радио и связь, 1985.

Уч 9

8

Абилов В.Г., Зинченко Н.И. Turbo и Arity: два подхода к логическому программированию. //Мир ПК No.2,3, 1990.

Уч 0

9

Язык Пролог в пятом поколении ЭВМ. - М.: Мир, 1988.

Уч 0

Авторы:




ассистент

Беляев С.А.







Рецензент

Казак А.Ф.

к.т.н., доцент










Зав. кафедрой математического обеспечения и применения ЭВМ




д.т.н., профессор

Лисс А.Р.







Декан факультета КТИ




д.т.н., профессор

Герасимов И.В.







Зав. отделом учебной литературы

Смирнова О.Н.







Программа согласована:




Председатель методической комиссии факультета КТИ

Михалков В.А.

к.т.н., доцент










Руководитель методического отдела




к.т.н., доцент

Марасина Л.А.









Похожие:

Рабочая программа дисциплины функциональное и логическое программирование iconРабочая программа дисциплины функциональное программирование
Программирование с помощью функций и процедур. Рекурсивные функции и лямбда-исчисление А. Черча
Рабочая программа дисциплины функциональное и логическое программирование iconРабочая программа пк4 d users ucit рабпрог спец2204 по дисциплине «Функциональное и логическое программирование»
Л. 34 ч., Пр. 17 ч., Лаб раб. 17 ч., Инд раб. 34 ч., Ргр (2), Сам раб. 69 ч., Экз., Гэ, Всего 171 ч
Рабочая программа дисциплины функциональное и логическое программирование iconРабочая программа по курсу "Функциональное программирование" Специальность: 351500. 65 «Математическое обеспечение и администрирование информационных систем»
«Функциональное программирование» составлена на основании Государственного образовательного стандарта высшего профессионального образования...
Рабочая программа дисциплины функциональное и логическое программирование iconРабочая программа дисциплины функциональное программирование
Для подготовки дипломированных специалистов по направлению 654600 –“Информатика и вычислительная техника” по специальности 220400...
Рабочая программа дисциплины функциональное и логическое программирование iconРабочая программа дисциплины Рекурсивно-логическое программирование Направление подготовки
Формирование у студентов общих методологичеких основ и практических навыков разработки программных систем с использованием рекурсивно-логического...
Рабочая программа дисциплины функциональное и логическое программирование iconРабочая программа дисциплины программирование профессиональный цикл, базовая часть Направление подготовки
Целью освоения дисциплины «Программирование» является формирование знаний и навыков по разработке алгоритмов и программ решения задач...
Рабочая программа дисциплины функциональное и логическое программирование iconВопросы к экзамену по курсу «Функциональное и логическое программирование»
Особенности функционального программирования, его отличие от императивного программирования. Понятие функции
Рабочая программа дисциплины функциональное и логическое программирование iconРабочая учебная программа дисциплины Численные методы и прикладное программирование Направление подготовки
Целями освоения дисциплины Численные методы и прикладное программирование являются
Рабочая программа дисциплины функциональное и логическое программирование iconВопросы к экзамену По дисциплине "Функциональное и логическое программирование". Весенний семестр 2007/2008 учебного года
Применение накапливающих параметров в функциональных программах. Примеры использования накапливающих параметров вспомогательными...
Рабочая программа дисциплины функциональное и логическое программирование iconЭкзаменационные вопросы по дисциплине "Функциональное и логическое программирование"
Классификация языков программирования. Особенности и классификация декларативных языков программирования
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org