Программа дисциплины опд. В. 02., Сд. В логическое программирование для студентов специальности 230102 Автоматизированные системы обработки информации и управления

Вид материалаПрограмма дисциплины

Содержание


Программа дисциплины
направления 230200 – Информационные системы
1. Цели и задачи дисциплины
2. Требования к уровню освоения содержания дисциплины
Входные дисциплины
Выходные дисциплины
Выходные дисциплины
3. Содержание дисциплины
1. Введение в логическое программирование
2. Списки и арифметика ПРОЛОГА
3. Использование структур
4. Интерпретатор ПРОЛОГА и основные приемы программирования
5. Организация термов в базы данных
7. Обработка естественных языков
3.2. Практические и семинарские занятия
3.4. Курсовые проекты (работы)
3.6. Самостоятельная работа
4.1. Рекомендуемая литература
4.1.2. Дополнительная литература
Подобный материал:

Министерство образования и науки Российской Федерации

Федеральное агентство по образованию



ОБНИНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ АТОМНОЙ ЭНЕРГЕТИКИ (ИАТЭ)





УТВЕРЖДАЮ




Проректор по учебной работе


___________________ С.Б. Бурухин





«______»___________ 200__ г.


ПРОГРАММА ДИСЦИПЛИНЫ


ОПД.В.02., СД.В.2. ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ


для студентов специальности

230102 – Автоматизированные системы обработки информации и управления

направления 230100 – Информатика и вычислительная техника


ДС.08. ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ


для студентов специальности

230201 – Информационные системы и технологии
направления 230200 – Информационные системы


Форма обучения: очная, заочная

Объем дисциплины и виды учебной работы в соответствии с учебными планами

Вид учебной работы

Всего часов

230100

(очное)

Семестры

Всего часов

230102

(очное)

Семестры

Всего часов

230201

(очное)

Семестры

Всего часов

230102 (заочн.)

Курс

5

5

5

3

Общая трудоемкость дисциплины

104

104

90

90

136

136

90

90

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

68

68

68

68

68

68

16

16

Лекции

34

34

34

34

34

34

8

8

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

















Лабораторные работы

34

34

34

34

34

34

8

8

Курсовой проект (работа)

















Самостоятельная работа

36

36

22

22

68

68

74

74

Расчетно-графические работы

















Вид итогового контроля (зачет, экзамен)

Экз.

Экз.

Экз.

Экз.

Экз.

Экз.

Экз.

Экз.

Обнинск 2008

Программа составлена с соответствии с Государственными образовательными стандартами высшего профессионального образования по направлению подготовки
  • дипломированного специалиста 654600 Информатика и вычислительная техника (№ 224 тех/дс от 27.03.2000),
  • дипломированного специалиста 654700 Информационные системы (№ 276 тех/дс от 27.03.2000),
  • бакалавров 552800 Информатика и вычислительная техника (№ 35 тех/бак от 13.03.2000).


Программу составил:


___________________ А.В. Васяшин, ст. преподаватель кафедры АСУ


Программа рассмотрена на заседании кафедры АСУ (протокол № 6-у от 25.01.2008 г.)


Заведующий кафедрой АСУ


___________________ А.Н. Анохин


«____»_____________ 200__ г.


СОГЛАСОВАНО


Начальник Учебно-методического

управления


___________________ Ю.Д. Соколова


Декан

факультета кибернетики


___________________ А.В. Антонов


«____»_____________ 200__ г.





Декан

факультета заочного отделения


___________________ А.А. Росляков


«____»_____________ 200__ г.



1. Цели и задачи дисциплины


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

Основными задачами изучения дисциплины являются:
  • знание основ логического программирования и сферы его применения;
  • приемы программирования и организацию баз данных и знаний на языке ПРОЛОГ;
  • умение использовать входящую и выходящую рекурсии как основной метод разработки предикатов ПРОЛОГА, организовывать исчерпывающий перебор вариантов, используя механизм поиска с возвратом;
  • с помощью метода анализа состояний разрабатывать и тестировать ПРОЛОГ-программы; использовать интерпретатор Arity/Prolog версии 7.0.


2. Требования к уровню освоения содержания дисциплины


В результате изучения дисциплины студент должен

знать: основы логического программирования и сферы его применения, приемы программирования и методы организации баз данных и знаний средствами языка ПРОЛОГ, основные понятия логического и функционального программирования; методы разработки логических программ; декларативную и процедурную семантику ПРОЛОГА; этапы разработки предикатов и процедур; иметь представления об истории, целях и задачах исследований в области логического и функционального программирования; применении логического программирования при разработке прикладных систем искусственного интеллект; применения языка ПРОЛОГ в области обработки текстов на естественном языке; областях применения логического и функционального программирования;

уметь: использовать входящую и выходящую рекурсии как основной метод разработки предикатов ПРОЛОГА, организовывать исчерпывающий перебор вариантов, используя механизм поиска с возвратом; с помощью метода анализа состояний разрабатывать и тестировать ПРОЛОГ-программы; использовать интерпретатор Arity/Prolog версии 7.0;

иметь навыки: разработки программ средней сложности на языке ПРОЛОГ.

    Входные дисциплины: Дискретная математика, Информатика, Информационные технологии, Организация ЭВМ (для студентов специальности 230102), Архитектура ЭВМ и систем (для студентов специальности 230201).

    Выходные дисциплины по специальности 230102 – АСОИУ: Системы искусственного интеллекта, Теоретические основы автоматизированного управления, Проектирование АСОИУ, учебно-исследовательская работа, дипломное проектирование.

    Выходные дисциплины по специальности 230201 – ИСТ: Интеллектуальные информационные системы, Представление знаний в информационных системах, Администрирование в информационных системах, Проектирование ИС, учебно-исследо­ва­тельская работа, дипломное проектирование.


3. Содержание дисциплины


3.1. Лекции


Номер темы

Тема

Литература

Число часов

(очное)

Число часов

(заочн.)

1

Введение в логическое программирование

[1, гл. 1]

4

1

2

Списки и арифметика ПРОЛОГА

[1, гл. 3]

6

3

3

Использование структур

[1, гл. 4]

4

3

4

Интерпретатор ПРОЛОГА и основные приемы программирования

[1, гл. 5, 8]

6

1

5

Организация термов в базы данных

[3, гл. 2]

4



6

Интерфейсные возможности ПРОЛОГА

[1, гл. 6]

4



7

Обработка естественных языков

[1, гл. 21]

6




1. Введение в логическое программирование. Назначение языка. ПРОЛОГ – язык искусственного интеллекта. Терминология ПРОЛОГА. Декларативная семантика ПРОЛОГА. Процедурная семантика ПРОЛОГА. Факты и работа с ними. Переменные ПРОЛОГА.

Унификация переменных. Простые типы данных и структуры. Правила.


2. Списки и арифметика ПРОЛОГА. Списки – специальный тип структур. Рекурсия основной метод обработки списков. Предикаты findall, setof, bagof и sort. Арифметические операции. Предикат is. Счетчики и предикаты работы с ними.


3. Использование структур. Структуры и деревья. Бинарные структуры. Основные приёмы обработки бинарных структур. Структуры произвольной арности и их обработка. Предикаты: functor, arg.


4. Интерпретатор ПРОЛОГА и основные приемы программирования. Поиск с возвратом (работа интерпретатора). Входящая рекурсия. Выходящая рекурсия. Вынуждаемый возврат. Организация циклов. Способы управления обработкой целей. Сокращение пространства поиска. Предикат «сократить». Определение операции в ПРОЛОГЕ. Метапрограммирование. Метод анализа состояний – метод разработки процедур.


5. Организация термов в базы данных. База данных. Ссылочные номера термов в базе данных. Предикаты: recordz, recorda, recorded, instance, erase, eraseall.


6. Интерфейсные возможности ПРОЛОГА. Предикаты работы с клавиатурой. Вывод на экран. Оконные функции. Менеджер оконного диалога и его основные компоненты.

Организация главного экрана программы и бар-меню. Предикаты работы с файлами.


7. Обработка естественных языков. Грамматики непосредственных составляющих. Формализация синтаксиса языка посредством продукций грамматики. DCG-расширение. Простейшая форма продукций. Продукции для построения дерева грамматического разбора. Организация контекстно-чувствительных правил.


3.2. Практические и семинарские занятия – не предусмотрены.


3.3. Лабораторный практикум


Раздел(ы)

Название лабораторной работы

Число часов

(очное)

Число часов

(заочн.)

1

Детерминированные предикаты для работы со списками. Освоение интерпретатора ПРОЛОГА

6

2

2

Недетерминированные процедуры работы со списками

4

2

3

Процедуры работы с бинарными структурами

6

2

4

Процедуры для работы со структурами произвольной арности

6

2

5

Работа с внутренней базой данных ПРОЛОГА

6



1-6

Решение комплексной итоговой задачи по курсу

6




3.4. Курсовые проекты (работы) – не предусмотрены.


3.5. Формы текущего контроля


Раздел(ы)

Форма контроля

Неделя (очное)

Заочн.

2-3

Контрольная работа

5



4-5

Контрольная работа

10



1-6

Лабораторная работа №6

16



1-6

Контрольная работа



+


3.6. Самостоятельная работа




Тема

Литература

Часов

230102

(очная)

Часов

230100

(очная)

Часов

230201

(очная)

Часов

230102

(заочн.)

1

Списки и арифметика ПРОЛОГА

[1, гл. 3]

4

6

10

6

2

Использование структур

[1, гл. 4]

4

6

10

6

3

Основные приемы программирования

[1, гл. 5, 8]

2

4

8

8

4

Освоение основных приёмов работы в интерпретаторе

[5 доп.]

2

4

8

4

5

Организация термов в базы данных

[5 доп.]

4

6

12

20

6

Интерфейсные возможности ПРОЛОГА

[5 доп.]

2

4

8

20

7

Обработка естественных языков

[3, гл. 5]

4

6

12

12


Контроль самостоятельной работы студентов производится в ходе приёма лабораторных работ.


4.1. Рекомендуемая литература


4.1.1. Основная литература


1. Братко И. Алгоритмы искусственного интеллекта на языке PROLOG, 3-е изда-

ние: Пер. с англ. – М. : Издательский дом "Вильямс", 2004. – 640 с. (имеется электронный вариант)

2. Шрайнер П.А. Основы программирования на языке Пролог: курс лекций: учебное пособие / П.А. Шрайнер – М.: Интернет-Университет Информационных Технологий, 2005. – 176 с. (имеется электронный вариант)

3. Малпас Дж. Реляционный язык Пролог и его применение: Пер. с англ. / Под ред. В.Н. Соболева. – М: Наука, 1990. – 464 с. (4 экз., имеется электронный вариант)

4. Братко И. Программирование на языке Пролог для искусственного интеллекта: Пер. с англ. – М.: Мир, 1990. – 560 с. (12 экз., имеется электронный вариант)

5. Хоггер К. Введение в логическое программирование: Пер. с англ. – М.: Мир, 1988. – 348 с. (4 экз., имеется электронный вариант)

6. Стерлинг Л., Шапиро Э. Искусство программирования на языке Пролог: Пер. с англ. – М.: Мир, 1990. – 235 с. (24 экз., имеется электронный вариант)


4.1.2. Дополнительная литература


1. Стобо Д.Ж. Язык программирования Пролог: Пер. с англ. – М.: Радио и связь, 1993. – 368 с. (имеется электронный вариант)

2. Марселлус Д. Программирование экспертных систем на Турбо Прологе. – М.: Финансы и статистика, 1994. – 256 с. (2 экз)

3. Ковальски Р. Логика в решении проблем. – М.: Наука, 1990. – 280 с. (2 экз)

4. Метакидес Г., Нероуд А. Принципы логики и логическое программирование / Пер. с англ. под ред. к.ф.м.н В.А. Захарова и акад. В.А. Садовничего. – М.: Изд-во «Факториал», 1998. – 288 с. (имеется электронный вариант)

5. The Arity/Prolog compiler and interpreter. Version 6.1. Arity Corporation Damonmill Square Concord, Massachusetts 01742, 1992, Arity Corporation. – 444 с. (имеется электронный вариант)


4.2. Средства обеспечения освоения дисциплины


Программные комплексы Microsoft Windows (95,98,NT,2000), интерпретатор Arity Prolog.


5. Материально-техническое обеспечение дисциплины


Компьютерные классы сетевых технологий, ЛВС, серверы Internet.