Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

582

.pdf
Скачиваний:
0
Добавлен:
21.11.2023
Размер:
133.07 Кб
Скачать

Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования

«Нижегородский государственный архитектурно-строительный университет»

Юрченко Т.В.

Программирование искусственного интеллекта

Учебно-методическое пособие по подготовке к лекциям, практическим занятиям

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

для обучающихся по дисциплине «Программирование искусственного интеллекта» по направлению подготовки 09.03.04Программная инженерия

профиль Разработкапрограммно-информационныхсистем

Нижний Новгород

2018

УДК 004.9

Юрченко Т.В. / Программирование искусственного интеллекта [Электронный ресурс]: учеб.- метод. пос. / Т.В.Юрченко; Нижегор. гос. архитектур. - строит. ун-т – Н. Новгород: ННГАСУ, 2018. – 18 с.– 1 электрон. опт. диск (CD-RW).

В настоящем учебно-методическом пособии по дисциплине «Программирование искусственного интеллекта» даются конкретные рекомендации учащимся для освоения как основного, так и дополнительного материала дисциплины и тем самым способствующие достижению целей, обозначенных в учебной программе дисциплины. Цель учебно-методического пособия — это помощь в усвоении лекций, в подготовке к практическим занятиям, а также в написании курсовой работы.

Учебно-методическое пособие предназначено для обучающихся в ННГАСУ по дисциплине «Программирование искусственного интеллекта» по направлению подготовки 09.03.04Программная инженерия, профиль Разработка программно-информационных систем

Учебно-методическое пособие ориентировано на обучение в соответствии с календарным учебным графиком и учебным планом по основной профессиональной образовательной программе направления 09.03.04Программная инженерия, профиль Разработка программно-информационных систем, утверждённым решением учёного совета ННГАСУ от 02.03.2018 г. (протокол № 3).

©

Т.В.Юрченко, 2018

©

ННГАСУ, 2018

2

Оглавление

1.

Общие положения ............................................................................................................................................

4

 

1.1

Цели изучения дисциплины и результаты обучения .............................................................................

4

 

1.2

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

4

 

1.3

Порядок освоения материала....................................................................................................................

5

2.

Методические указания по подготовке к лекциям........................................................................................

6

 

2.1

Общие рекомендации по работе на лекциях...........................................................................................

6

 

2.2

Общие рекомендации при работе с конспектом лекций........................................................................

6

 

2.3

Общие рекомендации по изучению материала лекций .........................................................................

6

 

2.4

Контрольные вопросы...............................................................................................................................

7

3.

Методические указания по подготовке к практическим занятиям .............................................................

9

 

3.1

Общие рекомендации по подготовке к практическим занятиям ..........................................................

9

 

3.2

Примеры задач для практических занятий..............................................................................................

9

4.

Методические указания по организации самостоятельной работы ..........................................................

13

 

4.1

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

13

 

4.2

Темы для самостоятельного изучения...................................................................................................

14

 

4.3

Учебно-методическое обеспечение самостоятельной работы............................................................

14

 

4.4

Задания для самостоятельной работы ...................................................................................................

15

3

1. Общие положения

1.1 Цели изучения дисциплины и результаты обучения

Целями освоения учебной дисциплины Б.1.39.02. Программирование искусственного интеллекта являются:

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

В процессе освоения дисциплины студент должен Знать:

представление знаний в интеллектуальных системах: понятийное, на правилах, с помощью логик, семантические сети, фреймы, сценарии; базы знаний;

основные направления развития искусственного интеллекта.

Уметь:

решать задачи поиска, используя поиск в пространстве состояний и редукцию целей;

решать задачи поиска в пространстве состояний с использованием генетических алгоритмов. Владеть:

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

пониманием необходимости использования моделей и методов искусственного интеллекта в инженерной практике.

Данная дисциплина позволит студентам не только систематизировать полученные теоретические знания, укрепить исследовательские навыки, но и даст возможность ориентироваться в новом предметном поле программирования.

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

Материал дисциплины сгруппирован по следующим разделам:

1. Введение.

Типы искусственного интеллекта. Направления развития. Экспертные системы.

2. Базовые алгоритмы.

Алгоритм отжига. Теория адаптивного резонанса. Алгоритмы кластеризации. Алгоритмы муравья.

3. Программирование нейронных сетей.

Типы сетей. Обучение с помощью алгоритма обратного распространения.

4. Программирование генетических алгоритмов

Основные генетические операторы. Параметры генетических алгоритмов. Базовый алгоритм.

4

5. Программирование систем вывода Архитектура системы, основанной на правилах. Фазы работы. Построение базы правил. 6. Программирование агентных систем.

Свойства агентов. Разработка агентов на базе конечных автоматов. 7. Программирование экспертных систем.

Хранение знаний в экспертной системе. Алгоритмы обучающейся системы.

1.3 Порядок освоения материала

Материал дисциплины изучается в соответствии с порядком, определённым в следующей таблице:

 

 

Таблица 1

 

Порядок освоения дисциплины

 

 

 

 

Раздел дисциплины

№№ предшествующих разделов

 

 

 

1

Введение

-

 

 

 

2

Базовые алгоритмы

1

 

 

 

3

Программирование нейронных сетей

1,2

 

 

 

4

Программирование генетических алгоритмов

1,2,3

 

 

 

5

Программирование систем вывода

1,2,3,4

 

 

 

6

Программирование агентных систем.

1,2,3,4,5

 

 

 

7

Программирование экспертных систем

1,2,3,4,5,6

 

 

 

5

2. Методические указания по подготовке к лекциям

2.1 Общие рекомендации по работе на лекциях

Лекция является главным звеном дидактического цикла обучения. Ее цель — формирование основы для последующего усвоения учебного материала. В ходе лекции преподаватель в устной форме, а также с помощью презентаций передает обучаемым знания по основным, фундаментальным вопросам изучаемой дисциплины.

Назначение лекции состоит в том, чтобы доходчиво изложить основные положения изучаемой дисциплины, ориентировать на наиболее важные вопросы учебной дисциплины и оказать помощь в овладении необходимых знаний и применения их на практике.

Личное общение на лекции преподавателя со студентами предоставляет большие возможности для реализации образовательных и воспитательных целей.

При подготовке к лекционным занятиям студенты должны ознакомиться с презентаций, предлагаемой преподавателем, отметить непонятные термины и положения, подготовить вопросы с целью уточнения правильности понимания. Рекомендуется приходить на лекцию подготовленным, так как в этом случае лекция может быть проведена в интерактивном режиме, что способствует повышению эффективности лекционных занятий.

2.2Общие рекомендации при работе с конспектом лекций

Входе лекционных занятий необходимо вести конспектирование учебного материала. Конспект помогает внимательно слушать, лучше запоминать в процессе осмысленного записывания, обеспечивает наличие опорных материалов при подготовке к семинару, зачету, экзамену.

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

Вслучае неясности по тем или иным вопросам необходимо задавать преподавателю уточняющие вопросы. Следует ясно понимать, что отсутствие вопросов без обсуждения означает в большинстве случаев неусвоенность материала дисциплины.

2.3Общие рекомендации по изучению материала лекций

Раздел 1. Введение–1 лекция.

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

Рассматриваются типы искусственного интеллекта, их применение на практике. Рассказывается об исторических аспектах возникновения и возможных направлениях дальнейшего развития.

Раздел 2. Базовые алгоритмы. — 1 лекция.

Дается понимание таких алгоритмов как алгоритм отжига, алгоритмы кластеризации, алгоритмы муравья. Рассматривается теория адаптивного резонанса.

Раздел 3. Программирование нейронных сетей. — 1 лекция.

6

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

Раздел 4. Программирование генетических алгоритмов. — 1 лекция.

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

Раздел 5. Программирование систем вывода. — 2 лекции.

Рассматривается архитектура системы, основанной на правилах. Изучаются фазы работы, построение базы правил предметной области.

Раздел 6. Программирование агентных систем. — 1 лекция.

Изучаются свойства агентов. Рассматривается разработка агентов на базе конечных автоматов.

Раздел 7. Программирование экспертных систем— 1 лекция.

Рассматривается хранение знаний в экспертной системе. Изучаются алгоритмы обучающейся системы.

2.4 Контрольные вопросы

Контрольные вопросы к разделу 1: Введение

1.Задачи, решаемые с помощью программирования искусственного интеллекта.

2.Назначение искусственного интеллекта.

3.Компоненты среды программирования.

4.Классификация алгоритмов искусственного интеллекта.

Контрольные вопросы к разделу 2: Базовые алгоритмы

1.Базовый алгоритм обучаемой экспертной системы.

2.Алгоритм отжига.

3.Алгоритм кластеризации.

4.Алгоритм муравья.

Контрольные вопросы к разделу 3. Программирование нейронных сетей

1.Объекты нейронных сетей и действия над ними.

2.Способы отладки программ реализации нейронных сетей.

3.Стандартные компоненты управления нейронными сетями.

4.Применение алгоритма обратного распространения.

Контрольные вопросы к разделу 4. Программирование генетических алгоритмов

1.Объекты генетических алгоритмов и действия над ними.

2.Стандартные компоненты генетических алгоритмов.

3.Понятие поиска в пространстве состояний.

4.Варианты программной реализации поиска.

5.Алгоритмы перебора в ширину.

6.Алгоритмы перебора в глубину.

7

Контрольные вопросы к разделу 5. Программирование систем вывода

1.Варианты программной реализации поиска.

2.Алгоритмы перебора в ширину.

3.Алгоритмы перебора в глубину.

4.Программирование на языке Пролог. Основные понятия.

Контрольные вопросы к разделу 6. Программирование агентных систем

1.Программирование на языке Лисп. Основные понятия.

2.Алгоритм Дейкстры.

3.Алгоритм лучевого поиска.

Контрольные вопросы к разделу 7: Программирование экспертных систем

1.Программирование базы правил.

2.Алгоритмы для представления знания.

3.Теорема Шим и ее практическое значение.

8

3. Методические указания по подготовке к практическим занятиям

3.1Общие рекомендации по подготовке к практическим занятиям

Входе подготовки к практическим занятиям необходимо изучать основную литературу, знакомиться с дополнительной литературой, а также с новыми публикациями в периодических изданиях: журналах, газетах и т.д. При этом необходимо учесть рекомендации преподавателя и требования учебной программы.

Всоответствии с этими рекомендациями и подготовкой полезно дорабатывать свои конспекты лекции, делая в нем соответствующие записи из литературы, рекомендованной преподавателем и предусмотренной учебной программой. Целесообразно также подготовить тезисы для возможного выступлений по всем учебным вопросам, выносимым на практическое занятие.

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

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

3.2Примеры задач для практических занятий

Задачи для разделов 1-3.

1). Запишите последовательности вызовов CAR и CDR, выделяющие из приведенных ниже списков символ «а». Упростите эти вызовы с помощью функций C...R.

а) (1 2 3 а 4) б) (1 2 3 4 а)

в) ((1) (2 3) (а 4)) г) ((1) ((2 3 а) (4))) д) ((1) ((2 3 а 4)))

е) (1 (2 ((3 4 (5 (6 а))))))

2). Каково значение каждого из следующих выражений:

a)(ATOM (CAR (QUOTE ((1 2) 3 4))));

b)(NULL (CDDR (QUOTE ((5 6) (7 8)))));

c)(EQUAL (CAR (QUOTE ((7 )))) (CDR (QUOTE (5 7))));

d)(ZEROP (CADDDR (QUOTE (3 2 1 0))));

3). Проделайте следующие вычисления с помощью интерпретатора Лиспа:

а) 3.234*(45.6+2.43)

б) 55+21.3+1.54*2.5432-32 в) (34-21.5676-43)/(342+32*4.1)

4). Определите значения следующих выражений:

а) ‘(+ 2 (* 3 5)) б) (+ 2 ‘(* 3 5)) в) (+ 2 (’ * 3 5))

9

г) (+ 2 (* 3 ’5)) д) (quote ‘quote) е) (quote 6)

Задачи для разделов 4-7.

1). Определитеспомощьюлямбда-выраженияфункцию, вычисляющую:

a)+y-x*y;

b)x*x+y*y;

c)x*y/(x+y)-5*y;

2). Определитефункции (NULL x), (CADDR x) и (LIST x1 x2 x3) спомощьюбазовыхфункций. (Ис-

пользуйтеимена NULL1, CADDR1 и LIST1,

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

3). Используякомпозицию, напишитефункции, которыеосуществляютобращениеспи-скаиз 2, 3, ... , n элементов.

4). Используякомпозициюописанныхвышепредикатовилогическихсвязок, постройтефункцию, котораяпроверяет, являетсялиееаргумент:

a) спискомиз 2, 3, ... элементов; b)спискомиз 2, 3, ... атомов; 5). Напишитефункцию:

a)такую, что P(n) дляпроизвольногоцелого n естьсписокизтрехэлементов, аимен-но: квадрата, кубаичетвертойстепеничисла n;

b)длядвухаргументовзначениемкоторойявляетсясписокиздвухэлементов (разностииостаткаотделения);

c)такую, что A(n) естьсписок (The answer is n). Так, значением (A 12) будет (The an-swer is 12);

d)семиаргументов, значениемкоторойслужитсуммавсехсемиаргументов.

6). Длякаждогоизследующихусловийопределитьфункциюодногоаргумента L , котораяимеетзначение T, еслиусловиеудовлетворяется, и NIL впротивномслучае:

a)n-ыйэлемент L есть 12;

b)n-ыйэлемент L естьатом;

c)L имеетнеболее n элементов (атомовилиподсписков).

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]