Организация лабораторных занятий по дисциплине «Основы искусственного интеллекта» при подготовке бакалавров по направлению «Педагогическое образование»
Библиографическое описание статьи для цитирования:
Маркович
О.
С.,
Шемелова
Т.
В. Организация лабораторных занятий по дисциплине «Основы искусственного интеллекта» при подготовке бакалавров по направлению «Педагогическое образование» // Научно-методический электронный журнал «Концепт». –
2014. – № 6 (июнь). – С.
41–45. – URL:
http://e-koncept.ru/2014/14145.htm.
Аннотация. В статье рассматриваются особенности построения курса «Основы искусственного интеллекта» при подготовке бакалавров по направлению «Педагогическое образование» (профиль «Информатика»). Предлагается система заданий для проведения лабораторных занятий по темам: «Нейроинформатика», «Логическое программирование», «Функциональное программирование», «Экспертные системы». Описываются варианты заданий для самостоятельной работы студентов.
Ключевые слова:
образование, искусственный интеллект, экспертные системы, логическое и функциональное программирование, искусственные нейронные сети, задания для лабораторных занятий
Текст статьи
Маркович Ольга Сергеевна,старший преподаватель кафедры информатики и информатизации образования ФГБОУ ВПО «Волгоградский социальнопедагогический университет», г. Волгоградomarkovich@yandex.ru
Шемелова Татьяна Валерьевна,старший преподаватель кафедры информатики и информатизации образования ФГБОУ ВПО «Волгоградский социальнопедагогический университет», г. Волгоградshtv2009@mail.ru
Организация лабораторных занятий по дисциплине «Основы искусственного интеллекта» при подготовке бакалавров по направлению «Педагогическое образование»
Аннотация. В статье рассматриваются особенности построения курса «Основы искусственного интеллекта» при подготовке бакалавров по направлению «Педагогическое образование» (профиль «Информатика»). Предлагается система заданий для проведения лабораторных занятий по темам: «Нейроинформатика», «Логическое программирование», «Функциональное программирование», «Экспертные системы». Описываются варианты заданий для самостоятельной работы студентов.Ключевые слова: образование, искусственный интеллект, экспертные системы, логическое и функциональное программирование, искусственные нейронные сети, задания для лабораторных занятий.Раздел: (01)педагогика; история педагогики и образования; теория и методика обучения и воспитания (по предметным областям).
Дисциплина «Основы искусственного интеллекта» относится к профессиональному циклу дисциплин подготовки бакалавров по направлению 050100.62«Педагогическое образование». Изучение искусственного интеллекта является важной частью программы подготовки специалистов в области информатики. Это во многом связано с расширением областей использования интеллектуальных информационных технологий и с тем, что в настоящее время искусственный интеллект –этоодноиз перспективных направлений в современной информатике [1].Целью изучения рассматриваемой дисциплины является формирование у студентов общекультурных и специальных компетенций на основе освоения знаний о концепциях, направлениях, методах и приложениях искусственного интеллекта, его роли в современной информатике.Этой целью обусловлены следующие задачи:сформировать знания о современных направлениях исследований и разработок в области искусственного интеллекта, классических моделях представления знаний и методах работы со знаниями; выработать умения использовать знания о концепциях, направлениях, методахи приложениях искусственного интеллекта в профессиональной деятельности; выработать навыки программирования на языке Пролог и работы с экспертными системами.Подобная постановка задач определяет необходимость тщательного продумывания содержания учебного курса, а также системы предлагаемых студентам лабораторных работ. Выбор освещаемых в курсе вопросов должен способствовать формированию у студентов представлений о современных направлениях исследований и разработок в области искусственного интеллекта, моделях представления знаний и методах работы со знаниями, навыков логического программирования на языке Пролог и работы с экспертными системами. С учетом вышесказанногов содержании курса «Основы искусственного интеллекта» должны входить следующие разделы: «Искусственный интеллект как направление в информатике», «Нейроинформатика», «Представление знаний», «Логическое программирование», «Функциональное программирование», «Экспертные системы», «Современные направления искусственного интеллекта».Построение курса включает теоретическую (лекции в объеме 36 часов) и практическую части (лабораторные занятия).Наша работа направлена на рассмотрение содержания лабораторных занятий, охватывающих основные разделы курса: «Нейроинформатика», «Логическое программирование», «Функциональное программирование», «Экспертные системы». Программой дисциплины на проведение лабораторных занятий отводится 18 часов,и значительная часть учебного времени (54 часа) выделяется для самостоятельной работы студентов.
Так, на лабораторные занятия раздела «Нейроинформатика»предусмотрено4академических часа. Целью данных занятий является изучение однослойных искусственных нейронных сетей (ИНС), принципов работы персептрона, обучение искусственных нейронных сетей.Примеры заданий.1.В программе «Лабораторный практикум искусственного интеллекта» [2;3] для заданных однослойных ИНС подобрать параметры сети, обеспечивающие моделирование логических функций «и», «или». Экспериментальным путем убедиться, что для однослойных ИНС не подбираются параметрысети, обеспечивающие моделирование логической функции «исключающее или».2.Изучить принципы работы персептрона на примере персептрона Розенблатта, классифицирующего цифры по признаку четности/нечетности. Рассмотреть правила Хебба обучения ИНС.3.Рассмотреть обобщенный алгоритм обучения персептрона с использованием дельтаправила для решения задачи распознавания печатных и рукописных букв алфавита.4.В программе «Лабораторный практикум искусственного интеллекта» подобрать структуру многослойной ИНС (число нейронов и слоев, вид активационной функции), обеспечивающую моделирование заданной логической функции.Раздел «Логическое программирование»включает изучение языка программирования Пролог (6 часов). Основная задача этого раздела направлена на формированиенавыков логического программирования на языке Visual Prolog. Предлагаемые нами задачи включают следующие разделы:изучение интегрированной среды Visual Prolog;работа с базой знаний в Прологпрограмме; рекурсия, вычисления и структурные данные в Прологе;
применение Пролога для решения задач искусственного интеллекта.В качестве таких заданий могут быть предложены следующие задачи [4–6].
1.Разработать базу знаний, отображающуюродственные отношения некоторой совокупности людей, с помощью определения отношений: «родитель», «мужчина», «женщина», «мама», «сестра», «дядя», «дедушка» (см. рис.1). Отношения «родитель», «мужчина», «женщина» базовые, задаются перечислением фактов; остальные отношения задать с помощью правил, используя базовые отношения.
Расширить предложенную выше задачу введением рекурсивного отношения «предок», определив его через отношение «родитель». Это отношение можно выраЕленаПетрИванОльгаИринаВадимТатьяназить с помощью двух правил. Первое правило определяет непосредственных (ближайших) предков, а второе –отдаленных.2.Разработать программу нахождения факториала числа.3.Разработать программу для работы со списками: 1)проверки принадлежности элемента списку.2)добавления элемента в список3)удаления элемента из списка4)подсчета количества вхождений элемента в список5)нахождения максимального элемента в списке целых чисел6)нахождения минимального элемента в списке целых чисел7)слияния двух списков.
Рис.1. Дерево родственных отношений
4. Изучить пример продукционной базы данных на Прологе, хранящей данные об учащихся. Составить следующие запросы к базе: найти всех учащихся заданного класса; определить успеваемость заданного учащегося по данному предмету; найти всех учащихся заданного класса, имеющих отличную успеваемость по заданному предмету.5. Изучить структуру и работу простой экспертной системы на Прологе.Пример экспертной системы дляопределения породы собаки (фрагмент кода программы) [7].
do_expert_job():write("ДОБРОПОЖАЛОВАТЬ! "),nl,nl,write("Проводится идентификация породы.), nl, nl, write("Отвечайте, пожалуйста, да или нет "), nl, nl,write("на вопросы о собаке, породу которой"), nl, nl,write("Выхотитеопределить"), nl, do_consulting.do_consulting():dog_is(X), !, nl, write("ВероятноВашасобака–",X,"."), nl, clear_facts.do_consulting():nl, write("Извините, янесмогупомочьВам!"), clear_facts().ask(X,Y):write("?:–",X,"",Y,"?"),Reply=readline(),remember(X,Y,Reply)./* Механизмвывода*/positive(X,Y):xpositive(X,Y),!.positive(X,Y):not(negative(X,Y)),!,ask(X,Y).negative(X,Y):xnegative(X,Y),!.remember(X,Y,"да"):asserta(xpositive(X,Y)).remember(X,Y,"нет"):asserta(xnegative(X,Y)),fail.clear_facts():retract(xpositive(_,_)), fail.clear_facts():retract(xnegative(_,_)), fail./*Продукционные правила */dog_is("Английский Бульдог"):
it_is("короткошерстная собака"),positive("ее","высота в холке не более 57 см"),positive("у нее","низко посаженный хвост"),positive("у нее","дружелюбный характер"),!.dog_is("Гончая"):it_is("короткошерстная собака"), positive("ее","высота в холке не более 57 см"), positive("у нее","длинные уши"), positive("у нее","дружелюбный характер"),!.dog_is("Немецкий Дог"):
it_is("короткошерстная собака"), positive("у нее","низко посаженный хвост"), positive("у нее","дружелюбный характер"),positive("ее","вес более 45 кг"),!. dog_is("Американский Фоксхаунд"):
it_is("короткошерстная собака"),positive("ее","высота в холке не более 77 см"), positive("у нее", "длинные уши"), positive("у нее","дружелюбный характер"),!.dog_is("Кокер Спаниель"):
it_is("длинношерстная собака"), positive("ее","высота в холке не более 57 см"), positive("у нее","низко посаженный хвост"), positive("у нее","длинные уши"),positive("у нее","дружелюбный характер"),!.dog_is("Ирландский Сеттер"):
it_is("длинношерстнаясобака"), positive("ее","высота в холке не более 77 см"), positive("у нее","длинные уши"),!.dog_is("Колли"):
it_is("длинношерстная собака"), positive("ее","высота в холке не более 77 см"), positive("у нее","низко посаженный хвост"), positive("у нее","дружелюбный характер"),!.dog_is("Сенбернар"):it_is("длинношерстная собака"),positive("у нее","низко посаженный хвост"), positive("у нее","дружелюбный характер"),positive("ее","вес более 45 кг"),!.it_is("короткошерстная собака"):positive("это","короткошерстная собака"),!.it_is("длинношерстная собака"):positive("это","длинношерстная собака"),!.
На лабораторных занятиях раздела «Функциональное программирование»
(2 часа) рассматривается среда разработки CLisp языка программирования Coon Lisp,обсуждаются идеи функционального программирования, основные конструкции и специфика языка Coon Lisp. Система заданий может быть следующей [8].
1. Вычислить значение выражений в среде CLisp: 1)(278177*25)/(82+123*3)2)(6+x)23)cos2x3+(sinx+1)22. Вычислить значение лямбдавызова: 1)((lambda (X Y) (+ X Y)) 2 3)2)((lambda (X) (list X)) (list NIL))Вычислить результат выражений:1)(CONS ’ (a ) ’ (c d))2)(CAR ’ (1 2 3))3)(CDR ’ (a ( c))) 4. Определить функцию (first_cont x y), которая возвращает первый элемент, входящий в оба списка x и y, в противном случае –NIL.5. Определить функцию (del(namel)), которая удаляет элемент nameиз списка l. Завершается система лабораторных занятий разделом «Экспертные системы», где обсуждаются обобщенная структура экспертных систем, роли специалистов, работающих с экспертными системами, организация знаний в экспертных системах, режимы использования экспертных систем. Рассматриваются различные примеры готовых продуктов, организуется работа с экспертными системами как в режиме консультации, так и в режиме редактирования базы знаний.Примерные задания.1.Изучить интерфейс и основные приемы работы с программой «Малая Экспертная Система»[9] в режиме консультаций, на примерах различных баз знаний (рис.2).2.Проанализировать работу с медицинской базой знаний в программе «Малая Экспертная Система» при изменении диапазона коэффициента уверенности.3.Изучить работу с базами знаний программы «Малая Экспертная Система» в режиме редактирования баз знаний.4.Создать собственную базу знаний по заданной предметной области, провести ее верификацию в режиме консультаций и, в случае необходимости, откорректировать базу знаний.
Рис.2. Окно программы «Малая Экспертная Система»
5.Разработать экспертную систему, использующую внутреннюю базу фактов VisualPrologпо одной из предложенных тем:1)экспертная система, которая относит растение к одному из видов (кустарник, трава, дерево) в зависимости от следующих признаков: толщина ствола, высота, долголетие;2)экспертная система, диагностирующая неисправности в работе компьютерной техники;экспертная система, относящая животное к одному из отрядов;4)экспертная система, которая находит маршрут перелета в зависимости от пунктов отправления, прибытия и даты прибытия;5)экспертная система, диагностирующая неисправности в работе автомобиля.Особое место при изучении дисциплины отводится самостоятельной работестудентов. На самостоятельную работу выносится содержание теоретической части курса, которое не нашло отраженияв системе лабораторных занятий:«Искусственный интеллект как направление в информатике»;«Представление знаний»;«Современные направления искусственного интеллекта».Система заданий самостоятельной работы состоит из двух частей. Первая часть заключается в написании реферата по одной из предложенных преподавателем тем: 1.Генетическое программирование.2.Эволюционное программирование.3.Генетические классифицирующие системы.4.Эволюционные стратегии.5.Язык функционального программирования Haskell.6.Концепции мягких вычислений.7.Искусственные нейронные сети, основанные на нейронных ансамблях.8.Активные нейронные модели.9.Модели коллективного поведения агентовв мультиагентных системах.10.Интеллектуальные технологии в компьютерной лингвистике.11.Проблемы обучения интеллектуальных систем.12.Стратегии извлечения экспертных знаний.13.Компьютерные методы извлечения экспертных знаний.14.Когнитивное моделирование.Вторая частьсамостоятельной работы студентов состоит в выполнении заданий, результаты которых оформляются в виде отчетов.Примеры заданий:1.Изучить основные операторы генетического алгоритма. В программе “Traveling Salesman Problem 1.0”, решающей задачу коммивояжера, подобрать различные параметры генетического алгоритма, обеспечивающего нахождение минимального пути [10].2.Изучить этапы простого генетического алгоритма Холланда. Построить простой генетический алгоритм нахождения максимального (минимального) значения функции:1)minфункции f(x)=5x34 на отрезке[1, 5];2)maxфункции f(x)=2x4+12 на отрезке[0,4];3)maxфункции f(x)=3x32x+5 на отрезке[1,10];4)minфункции f(x)=5x2+2x10 на отрезке[5,15];5)minфункции f(x)=x3+2x2на отрезке[5,9] [11].3.Привести пример нечеткого множества «богатый человек», если в качестве универсального используется множество заработных плат E={5000, 6000, 7000, 8000, 9000, 10000, 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000}[12].4.Построить функцию принадлежности : R [0, 1] для нечеткого множества:1)чисел, близких к пяти;2)чисел, расположенных между 2 и 6;малых по модулю чисел.5. Эксперт определяет рост ученика с помощью понятий «низкий рост», «средний рост», «высокий рост», при этом минимальный рост равен 145 см, максимальный–175 см. Проведите формализацию такого описания с помощью лингвистической переменной , T, X, G, M [13].Проведение занятий на основе предлагаемой системы заданий является логическим продолжением теоретической части курса, охватывает все его основные разделы. Подобная организация учебного курса позволяет дать более широкое представление об идеях и методах этого направления информатики, о его роли в современной информатике. Значительное внимание уделяется фундаментальным вопросам, в том числе современным методам обработки знаний. При этом сохраняется и практическая направленность дисциплины, связанная с изучением экспертных систем, основ логического и функционального программирования и других прикладных вопросов.
Ссылки на источники1.Усольцев В. Л. Перспективные технологии искусственного интеллекта в подготовке магистров образования по программе «Информационные технологии в физикоматематическом образовании» // Современные информационные технологии и ИТобразование: сб. науч.тр.VIII Междунар. науч.практ. конф. / под ред. В.А. Сухомлина. Т.1. –М.: МГУ, 2013. –С. 234–240.2.Лабораторный практикум по ИИ: приложение к учебнометодическому комплексу, 2011. –URL:http://www.lbai.ru.3.Ясницкий Л.Н. Введение в искусственный интеллект. –М.: Академия, 2005.4.Братко И. Алгоритмы искусственного интеллекта на языке Пролог. –М.: Вильямс, 2004.5.Шемелова Т.В. Цели и методические особенности обучения программированию на языке Пролог// Наука. Образование. Молодежь: материалы VIIIМеждунар.науч.конф.молодых ученых (10–11 февраля 2011г.). –Майкоп: Издво АГУ, 2011.–Т.I. –С. 378.6.Шрайнер П. Основы программирования на языке Пролог // Интернетуниверситет информационных технологий INTUIT.ru., 2005. –URL: http://www.intuit.ru/studies/courses/44/44/info.7.Ин Ц., Соломон Д. Использование ТурбоПролога. –М.:Мир, 1990.8.Системы искусственного интеллекта. Практический курс: учеб.пособие/В.А. Чулюков, И.Ф.Астахова, А.С. Потапов и др.; под ред. И.Ф. Астаховой. –М.: БИНОМ. Лаборатория знаний, 2012. –292с.
9.Там же.10.Портал искусственного интеллекта, 2014. –URL: http://www.aiportal.ru.11.Гладков Л.А., Курейчик В.В., Курейчик В.М. Генетические алгоритмы / под ред. В.М. Курейчика.–М.:ФИЗМАТЛИТ, 2006.12.Системы искусственного интеллекта. Практический курс.13.Там же.
OlgaMarkovich, SeniorLectureratthechairofcomputerscience and informatization of education, Volgograd State SocialPedagogical University, Volgograd omarkovich@yandex.ruTatyana Shemelova,Senior Lecturer at the chair of computer science and informatization of education, Volgograd State SocialPedagogical University, Volgograd shtv2009@mail.ruOrganization of laboratory studies on discipline "Essentials of artificial intelligence" for training bachelors of pedagogical education Abstract.The authors show the features of the course "Essentialsof artificial intelligence" for training bachelors of pedagogical education(profile –computer science). The authors describe the system of tasks for practical training of such topics, as "Neuron computer science", "Logical programming", "Functional programming", "Expert systems" and tasks for independent work of students.Keywords: education, artificial intelligence, expert systems, logical and functional programming, artificial neural networks, tasks for laboratory studies.References1.Usol'cev, V.L. (2013) “Perspektivnyetehnologiiiskusstvennogointellektavpodgotovkemagistrovobrazovanijapoprogramme‘Informacionnyetehnologiivfizikomatematicheskomobrazovanii’”, inSuhomlin, V.A. (ed.) Sovremennye informacionnye tehnologii i ITobrazovanie: sb. nauch. tr. VIII Mezhdunar. nauch.prakt. konf., vol. 1, MGU, Moscow,pp. 234–240 (in Russiаn).2.Laboratornyj praktikum po II: prilozhenie k uchebnometodicheskomu kompleksu(2011). Available at: http://www.lbai.ru/ (data obrashhenija: 23.04.2014)(in Russiаn).3.Jasnicki,j L.N. (2005) Vvedenie v iskusstvennyj intellect,Akademija,Moscow (in Russiаn). 4.Bratko,I. (2004) Algoritmy iskusstvennogo intellekta na jazyke Prolog, Vil'jams,Moscow(in Russiаn).5.Shemelova,T.V. (2011) “Celi i metodicheskie osobennosti obuchenija programmirovaniju na jazyke Prolog”, inNauka. Obrazovanie. Molodezh': Materialy VIII Mezhdunarodnoj nauchnoj konferencii molodyh uchenyh (10–11 fevralja 2011g.), izd.vo AGU,Majkop, vol.I, p. 378(in Russiаn).6.Shrajner,P. (2005) “Osnovy programmirovanija na jazyke Prolog”, inInternetuniversitet informacionnyh tehnologij INTUIT.ru.Available at:http://www.intuit.ru/studies/courses/44/44/info (data obrashhenija: 23.04.2014)(in Russiаn).7.In,C., Solomon,D. (1990) Ispol'zovanie TurboProloga, Mir,Moscow(in Russiаn).8.Chuljukov, V.A., Astahova, I.F. (ed.), Potapov, A.S. etc. (2012) Sistemy iskusstvennogo intellekta. Prakticheskij kurs: Uchebnoe posobie,BINOM. Laboratorija znanij,Moscow,292p.
(in Russiаn).9.Ibid.10.Portal iskusstvennogo intellekta(2014). Available at:
http://www.aiportal.ru (data obrashhenija: 23.04.2014)(in Russiаn).11.Gladkov,L.A., Kurejchik,V.V., Kurejchik,V.M. (ed.) (2006) Geneticheskie algoritmy, FIZMATLIT, Moscow(in Russiаn).12.Chuljukov, V.A., Astahova, I.F. (ed.), Potapov, A.S. etc. (2012) Sistemy iskusstvennogo intellekta. Prakticheskij kurs: Uchebnoe posobie, BINOM. Laboratorija znanij, Moscow,292 p. (in Russiаn).13.Ibid.
Рекомендовано к публикации:Сергеевым А.Н., докторомпедагогических наук;Горевым П.М., кандидатом педагогических наук, главным редактором журнала «Концепт»
Шемелова Татьяна Валерьевна,старший преподаватель кафедры информатики и информатизации образования ФГБОУ ВПО «Волгоградский социальнопедагогический университет», г. Волгоградshtv2009@mail.ru
Организация лабораторных занятий по дисциплине «Основы искусственного интеллекта» при подготовке бакалавров по направлению «Педагогическое образование»
Аннотация. В статье рассматриваются особенности построения курса «Основы искусственного интеллекта» при подготовке бакалавров по направлению «Педагогическое образование» (профиль «Информатика»). Предлагается система заданий для проведения лабораторных занятий по темам: «Нейроинформатика», «Логическое программирование», «Функциональное программирование», «Экспертные системы». Описываются варианты заданий для самостоятельной работы студентов.Ключевые слова: образование, искусственный интеллект, экспертные системы, логическое и функциональное программирование, искусственные нейронные сети, задания для лабораторных занятий.Раздел: (01)педагогика; история педагогики и образования; теория и методика обучения и воспитания (по предметным областям).
Дисциплина «Основы искусственного интеллекта» относится к профессиональному циклу дисциплин подготовки бакалавров по направлению 050100.62«Педагогическое образование». Изучение искусственного интеллекта является важной частью программы подготовки специалистов в области информатики. Это во многом связано с расширением областей использования интеллектуальных информационных технологий и с тем, что в настоящее время искусственный интеллект –этоодноиз перспективных направлений в современной информатике [1].Целью изучения рассматриваемой дисциплины является формирование у студентов общекультурных и специальных компетенций на основе освоения знаний о концепциях, направлениях, методах и приложениях искусственного интеллекта, его роли в современной информатике.Этой целью обусловлены следующие задачи:сформировать знания о современных направлениях исследований и разработок в области искусственного интеллекта, классических моделях представления знаний и методах работы со знаниями; выработать умения использовать знания о концепциях, направлениях, методахи приложениях искусственного интеллекта в профессиональной деятельности; выработать навыки программирования на языке Пролог и работы с экспертными системами.Подобная постановка задач определяет необходимость тщательного продумывания содержания учебного курса, а также системы предлагаемых студентам лабораторных работ. Выбор освещаемых в курсе вопросов должен способствовать формированию у студентов представлений о современных направлениях исследований и разработок в области искусственного интеллекта, моделях представления знаний и методах работы со знаниями, навыков логического программирования на языке Пролог и работы с экспертными системами. С учетом вышесказанногов содержании курса «Основы искусственного интеллекта» должны входить следующие разделы: «Искусственный интеллект как направление в информатике», «Нейроинформатика», «Представление знаний», «Логическое программирование», «Функциональное программирование», «Экспертные системы», «Современные направления искусственного интеллекта».Построение курса включает теоретическую (лекции в объеме 36 часов) и практическую части (лабораторные занятия).Наша работа направлена на рассмотрение содержания лабораторных занятий, охватывающих основные разделы курса: «Нейроинформатика», «Логическое программирование», «Функциональное программирование», «Экспертные системы». Программой дисциплины на проведение лабораторных занятий отводится 18 часов,и значительная часть учебного времени (54 часа) выделяется для самостоятельной работы студентов.
Так, на лабораторные занятия раздела «Нейроинформатика»предусмотрено4академических часа. Целью данных занятий является изучение однослойных искусственных нейронных сетей (ИНС), принципов работы персептрона, обучение искусственных нейронных сетей.Примеры заданий.1.В программе «Лабораторный практикум искусственного интеллекта» [2;3] для заданных однослойных ИНС подобрать параметры сети, обеспечивающие моделирование логических функций «и», «или». Экспериментальным путем убедиться, что для однослойных ИНС не подбираются параметрысети, обеспечивающие моделирование логической функции «исключающее или».2.Изучить принципы работы персептрона на примере персептрона Розенблатта, классифицирующего цифры по признаку четности/нечетности. Рассмотреть правила Хебба обучения ИНС.3.Рассмотреть обобщенный алгоритм обучения персептрона с использованием дельтаправила для решения задачи распознавания печатных и рукописных букв алфавита.4.В программе «Лабораторный практикум искусственного интеллекта» подобрать структуру многослойной ИНС (число нейронов и слоев, вид активационной функции), обеспечивающую моделирование заданной логической функции.Раздел «Логическое программирование»включает изучение языка программирования Пролог (6 часов). Основная задача этого раздела направлена на формированиенавыков логического программирования на языке Visual Prolog. Предлагаемые нами задачи включают следующие разделы:изучение интегрированной среды Visual Prolog;работа с базой знаний в Прологпрограмме; рекурсия, вычисления и структурные данные в Прологе;
применение Пролога для решения задач искусственного интеллекта.В качестве таких заданий могут быть предложены следующие задачи [4–6].
1.Разработать базу знаний, отображающуюродственные отношения некоторой совокупности людей, с помощью определения отношений: «родитель», «мужчина», «женщина», «мама», «сестра», «дядя», «дедушка» (см. рис.1). Отношения «родитель», «мужчина», «женщина» базовые, задаются перечислением фактов; остальные отношения задать с помощью правил, используя базовые отношения.
Расширить предложенную выше задачу введением рекурсивного отношения «предок», определив его через отношение «родитель». Это отношение можно выраЕленаПетрИванОльгаИринаВадимТатьяназить с помощью двух правил. Первое правило определяет непосредственных (ближайших) предков, а второе –отдаленных.2.Разработать программу нахождения факториала числа.3.Разработать программу для работы со списками: 1)проверки принадлежности элемента списку.2)добавления элемента в список3)удаления элемента из списка4)подсчета количества вхождений элемента в список5)нахождения максимального элемента в списке целых чисел6)нахождения минимального элемента в списке целых чисел7)слияния двух списков.
Рис.1. Дерево родственных отношений
4. Изучить пример продукционной базы данных на Прологе, хранящей данные об учащихся. Составить следующие запросы к базе: найти всех учащихся заданного класса; определить успеваемость заданного учащегося по данному предмету; найти всех учащихся заданного класса, имеющих отличную успеваемость по заданному предмету.5. Изучить структуру и работу простой экспертной системы на Прологе.Пример экспертной системы дляопределения породы собаки (фрагмент кода программы) [7].
do_expert_job():write("ДОБРОПОЖАЛОВАТЬ! "),nl,nl,write("Проводится идентификация породы.), nl, nl, write("Отвечайте, пожалуйста, да или нет "), nl, nl,write("на вопросы о собаке, породу которой"), nl, nl,write("Выхотитеопределить"), nl, do_consulting.do_consulting():dog_is(X), !, nl, write("ВероятноВашасобака–",X,"."), nl, clear_facts.do_consulting():nl, write("Извините, янесмогупомочьВам!"), clear_facts().ask(X,Y):write("?:–",X,"",Y,"?"),Reply=readline(),remember(X,Y,Reply)./* Механизмвывода*/positive(X,Y):xpositive(X,Y),!.positive(X,Y):not(negative(X,Y)),!,ask(X,Y).negative(X,Y):xnegative(X,Y),!.remember(X,Y,"да"):asserta(xpositive(X,Y)).remember(X,Y,"нет"):asserta(xnegative(X,Y)),fail.clear_facts():retract(xpositive(_,_)), fail.clear_facts():retract(xnegative(_,_)), fail./*Продукционные правила */dog_is("Английский Бульдог"):
it_is("короткошерстная собака"),positive("ее","высота в холке не более 57 см"),positive("у нее","низко посаженный хвост"),positive("у нее","дружелюбный характер"),!.dog_is("Гончая"):it_is("короткошерстная собака"), positive("ее","высота в холке не более 57 см"), positive("у нее","длинные уши"), positive("у нее","дружелюбный характер"),!.dog_is("Немецкий Дог"):
it_is("короткошерстная собака"), positive("у нее","низко посаженный хвост"), positive("у нее","дружелюбный характер"),positive("ее","вес более 45 кг"),!. dog_is("Американский Фоксхаунд"):
it_is("короткошерстная собака"),positive("ее","высота в холке не более 77 см"), positive("у нее", "длинные уши"), positive("у нее","дружелюбный характер"),!.dog_is("Кокер Спаниель"):
it_is("длинношерстная собака"), positive("ее","высота в холке не более 57 см"), positive("у нее","низко посаженный хвост"), positive("у нее","длинные уши"),positive("у нее","дружелюбный характер"),!.dog_is("Ирландский Сеттер"):
it_is("длинношерстнаясобака"), positive("ее","высота в холке не более 77 см"), positive("у нее","длинные уши"),!.dog_is("Колли"):
it_is("длинношерстная собака"), positive("ее","высота в холке не более 77 см"), positive("у нее","низко посаженный хвост"), positive("у нее","дружелюбный характер"),!.dog_is("Сенбернар"):it_is("длинношерстная собака"),positive("у нее","низко посаженный хвост"), positive("у нее","дружелюбный характер"),positive("ее","вес более 45 кг"),!.it_is("короткошерстная собака"):positive("это","короткошерстная собака"),!.it_is("длинношерстная собака"):positive("это","длинношерстная собака"),!.
На лабораторных занятиях раздела «Функциональное программирование»
(2 часа) рассматривается среда разработки CLisp языка программирования Coon Lisp,обсуждаются идеи функционального программирования, основные конструкции и специфика языка Coon Lisp. Система заданий может быть следующей [8].
1. Вычислить значение выражений в среде CLisp: 1)(278177*25)/(82+123*3)2)(6+x)23)cos2x3+(sinx+1)22. Вычислить значение лямбдавызова: 1)((lambda (X Y) (+ X Y)) 2 3)2)((lambda (X) (list X)) (list NIL))Вычислить результат выражений:1)(CONS ’ (a ) ’ (c d))2)(CAR ’ (1 2 3))3)(CDR ’ (a ( c))) 4. Определить функцию (first_cont x y), которая возвращает первый элемент, входящий в оба списка x и y, в противном случае –NIL.5. Определить функцию (del(namel)), которая удаляет элемент nameиз списка l. Завершается система лабораторных занятий разделом «Экспертные системы», где обсуждаются обобщенная структура экспертных систем, роли специалистов, работающих с экспертными системами, организация знаний в экспертных системах, режимы использования экспертных систем. Рассматриваются различные примеры готовых продуктов, организуется работа с экспертными системами как в режиме консультации, так и в режиме редактирования базы знаний.Примерные задания.1.Изучить интерфейс и основные приемы работы с программой «Малая Экспертная Система»[9] в режиме консультаций, на примерах различных баз знаний (рис.2).2.Проанализировать работу с медицинской базой знаний в программе «Малая Экспертная Система» при изменении диапазона коэффициента уверенности.3.Изучить работу с базами знаний программы «Малая Экспертная Система» в режиме редактирования баз знаний.4.Создать собственную базу знаний по заданной предметной области, провести ее верификацию в режиме консультаций и, в случае необходимости, откорректировать базу знаний.
Рис.2. Окно программы «Малая Экспертная Система»
5.Разработать экспертную систему, использующую внутреннюю базу фактов VisualPrologпо одной из предложенных тем:1)экспертная система, которая относит растение к одному из видов (кустарник, трава, дерево) в зависимости от следующих признаков: толщина ствола, высота, долголетие;2)экспертная система, диагностирующая неисправности в работе компьютерной техники;экспертная система, относящая животное к одному из отрядов;4)экспертная система, которая находит маршрут перелета в зависимости от пунктов отправления, прибытия и даты прибытия;5)экспертная система, диагностирующая неисправности в работе автомобиля.Особое место при изучении дисциплины отводится самостоятельной работестудентов. На самостоятельную работу выносится содержание теоретической части курса, которое не нашло отраженияв системе лабораторных занятий:«Искусственный интеллект как направление в информатике»;«Представление знаний»;«Современные направления искусственного интеллекта».Система заданий самостоятельной работы состоит из двух частей. Первая часть заключается в написании реферата по одной из предложенных преподавателем тем: 1.Генетическое программирование.2.Эволюционное программирование.3.Генетические классифицирующие системы.4.Эволюционные стратегии.5.Язык функционального программирования Haskell.6.Концепции мягких вычислений.7.Искусственные нейронные сети, основанные на нейронных ансамблях.8.Активные нейронные модели.9.Модели коллективного поведения агентовв мультиагентных системах.10.Интеллектуальные технологии в компьютерной лингвистике.11.Проблемы обучения интеллектуальных систем.12.Стратегии извлечения экспертных знаний.13.Компьютерные методы извлечения экспертных знаний.14.Когнитивное моделирование.Вторая частьсамостоятельной работы студентов состоит в выполнении заданий, результаты которых оформляются в виде отчетов.Примеры заданий:1.Изучить основные операторы генетического алгоритма. В программе “Traveling Salesman Problem 1.0”, решающей задачу коммивояжера, подобрать различные параметры генетического алгоритма, обеспечивающего нахождение минимального пути [10].2.Изучить этапы простого генетического алгоритма Холланда. Построить простой генетический алгоритм нахождения максимального (минимального) значения функции:1)minфункции f(x)=5x34 на отрезке[1, 5];2)maxфункции f(x)=2x4+12 на отрезке[0,4];3)maxфункции f(x)=3x32x+5 на отрезке[1,10];4)minфункции f(x)=5x2+2x10 на отрезке[5,15];5)minфункции f(x)=x3+2x2на отрезке[5,9] [11].3.Привести пример нечеткого множества «богатый человек», если в качестве универсального используется множество заработных плат E={5000, 6000, 7000, 8000, 9000, 10000, 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000}[12].4.Построить функцию принадлежности : R [0, 1] для нечеткого множества:1)чисел, близких к пяти;2)чисел, расположенных между 2 и 6;малых по модулю чисел.5. Эксперт определяет рост ученика с помощью понятий «низкий рост», «средний рост», «высокий рост», при этом минимальный рост равен 145 см, максимальный–175 см. Проведите формализацию такого описания с помощью лингвистической переменной , T, X, G, M [13].Проведение занятий на основе предлагаемой системы заданий является логическим продолжением теоретической части курса, охватывает все его основные разделы. Подобная организация учебного курса позволяет дать более широкое представление об идеях и методах этого направления информатики, о его роли в современной информатике. Значительное внимание уделяется фундаментальным вопросам, в том числе современным методам обработки знаний. При этом сохраняется и практическая направленность дисциплины, связанная с изучением экспертных систем, основ логического и функционального программирования и других прикладных вопросов.
Ссылки на источники1.Усольцев В. Л. Перспективные технологии искусственного интеллекта в подготовке магистров образования по программе «Информационные технологии в физикоматематическом образовании» // Современные информационные технологии и ИТобразование: сб. науч.тр.VIII Междунар. науч.практ. конф. / под ред. В.А. Сухомлина. Т.1. –М.: МГУ, 2013. –С. 234–240.2.Лабораторный практикум по ИИ: приложение к учебнометодическому комплексу, 2011. –URL:http://www.lbai.ru.3.Ясницкий Л.Н. Введение в искусственный интеллект. –М.: Академия, 2005.4.Братко И. Алгоритмы искусственного интеллекта на языке Пролог. –М.: Вильямс, 2004.5.Шемелова Т.В. Цели и методические особенности обучения программированию на языке Пролог// Наука. Образование. Молодежь: материалы VIIIМеждунар.науч.конф.молодых ученых (10–11 февраля 2011г.). –Майкоп: Издво АГУ, 2011.–Т.I. –С. 378.6.Шрайнер П. Основы программирования на языке Пролог // Интернетуниверситет информационных технологий INTUIT.ru., 2005. –URL: http://www.intuit.ru/studies/courses/44/44/info.7.Ин Ц., Соломон Д. Использование ТурбоПролога. –М.:Мир, 1990.8.Системы искусственного интеллекта. Практический курс: учеб.пособие/В.А. Чулюков, И.Ф.Астахова, А.С. Потапов и др.; под ред. И.Ф. Астаховой. –М.: БИНОМ. Лаборатория знаний, 2012. –292с.
9.Там же.10.Портал искусственного интеллекта, 2014. –URL: http://www.aiportal.ru.11.Гладков Л.А., Курейчик В.В., Курейчик В.М. Генетические алгоритмы / под ред. В.М. Курейчика.–М.:ФИЗМАТЛИТ, 2006.12.Системы искусственного интеллекта. Практический курс.13.Там же.
OlgaMarkovich, SeniorLectureratthechairofcomputerscience and informatization of education, Volgograd State SocialPedagogical University, Volgograd omarkovich@yandex.ruTatyana Shemelova,Senior Lecturer at the chair of computer science and informatization of education, Volgograd State SocialPedagogical University, Volgograd shtv2009@mail.ruOrganization of laboratory studies on discipline "Essentials of artificial intelligence" for training bachelors of pedagogical education Abstract.The authors show the features of the course "Essentialsof artificial intelligence" for training bachelors of pedagogical education(profile –computer science). The authors describe the system of tasks for practical training of such topics, as "Neuron computer science", "Logical programming", "Functional programming", "Expert systems" and tasks for independent work of students.Keywords: education, artificial intelligence, expert systems, logical and functional programming, artificial neural networks, tasks for laboratory studies.References1.Usol'cev, V.L. (2013) “Perspektivnyetehnologiiiskusstvennogointellektavpodgotovkemagistrovobrazovanijapoprogramme‘Informacionnyetehnologiivfizikomatematicheskomobrazovanii’”, inSuhomlin, V.A. (ed.) Sovremennye informacionnye tehnologii i ITobrazovanie: sb. nauch. tr. VIII Mezhdunar. nauch.prakt. konf., vol. 1, MGU, Moscow,pp. 234–240 (in Russiаn).2.Laboratornyj praktikum po II: prilozhenie k uchebnometodicheskomu kompleksu(2011). Available at: http://www.lbai.ru/ (data obrashhenija: 23.04.2014)(in Russiаn).3.Jasnicki,j L.N. (2005) Vvedenie v iskusstvennyj intellect,Akademija,Moscow (in Russiаn). 4.Bratko,I. (2004) Algoritmy iskusstvennogo intellekta na jazyke Prolog, Vil'jams,Moscow(in Russiаn).5.Shemelova,T.V. (2011) “Celi i metodicheskie osobennosti obuchenija programmirovaniju na jazyke Prolog”, inNauka. Obrazovanie. Molodezh': Materialy VIII Mezhdunarodnoj nauchnoj konferencii molodyh uchenyh (10–11 fevralja 2011g.), izd.vo AGU,Majkop, vol.I, p. 378(in Russiаn).6.Shrajner,P. (2005) “Osnovy programmirovanija na jazyke Prolog”, inInternetuniversitet informacionnyh tehnologij INTUIT.ru.Available at:http://www.intuit.ru/studies/courses/44/44/info (data obrashhenija: 23.04.2014)(in Russiаn).7.In,C., Solomon,D. (1990) Ispol'zovanie TurboProloga, Mir,Moscow(in Russiаn).8.Chuljukov, V.A., Astahova, I.F. (ed.), Potapov, A.S. etc. (2012) Sistemy iskusstvennogo intellekta. Prakticheskij kurs: Uchebnoe posobie,BINOM. Laboratorija znanij,Moscow,292p.
(in Russiаn).9.Ibid.10.Portal iskusstvennogo intellekta(2014). Available at:
http://www.aiportal.ru (data obrashhenija: 23.04.2014)(in Russiаn).11.Gladkov,L.A., Kurejchik,V.V., Kurejchik,V.M. (ed.) (2006) Geneticheskie algoritmy, FIZMATLIT, Moscow(in Russiаn).12.Chuljukov, V.A., Astahova, I.F. (ed.), Potapov, A.S. etc. (2012) Sistemy iskusstvennogo intellekta. Prakticheskij kurs: Uchebnoe posobie, BINOM. Laboratorija znanij, Moscow,292 p. (in Russiаn).13.Ibid.
Рекомендовано к публикации:Сергеевым А.Н., докторомпедагогических наук;Горевым П.М., кандидатом педагогических наук, главным редактором журнала «Концепт»