На сегодняшний день проблема создания и использования интеллектуальных информационных систем (ИИС) актуальна в любой сфере человеческой деятельности. Благодаря наличию средств естественно-языкового интерфейса ИИС могут применяться пользователями, не владеющими специальными знаниями в области информатики и программирования, для решения сложных задач, в которых основная сложность решения связана с использованием слабо формализованных знаний специалистов-практиков и где логическая (или смысловая) обработка информации превалирует над вычислительной.
Например, в экономике ИИС применяются для экономического анализа деятельности предприятия, стратегического планирования, инвестиционного анализа, оценки рисков и формирования портфеля ценных бумаг, финансового анализа, маркетинга и т. д.
Таким образом, в современных условиях востребованность информатика-экономиста на рынке труда во многом определяется тем, насколько уверенно он владеет современными информационными технологиями, в частности, интеллектуальными, для того чтобы находить инновационные способы реализации бизнеспроцессов. Сказанное выше определяет актуальность изучения дисциплины «Интеллектуальные информационные системы» студентами специальности 080801 «Прикладная информатика (в экономике)», предусмотренной государственным образовательным стандартом в цикле дисциплин специальной направленности.
Предметом изучения курса «Интеллектуальные информационные системы» являются системы обработки информации, основанные на знаниях, а также технологии и средства их разработки.
Целью учебной дисциплины является подготовка студентов к практической деятельности в области создания, внедрения и эксплуатации систем искусственного интеллекта в качестве инженера по знаниям, пользователя и управленца (менеджера, ответственного за внедрение).
Отбор содержания обучения дисциплине «Интеллектуальные информационные системы» существенно опирается на понятие ИИС и ее состав, а также на понятия и задачи, связанные с разработкой ИИС. Поэтому прежде чем коснуться вопросов отбора содержания обучения указанной дисциплине, раскроем основные понятия теории интеллектуальных информационных систем.
Искусственный интеллект как наука существует около шестидесяти лет. Термин «искусственный интеллект» (ИИ, англ. artificial intelligence, AI) был предложен в 1956 году в Дартмутском колледже (Dartmouth College, США). На сегодняшний день не существует единого определения, которое однозначно описывает эту научную область. Среди многих точек зрения на нее доминируют следующие три [3].
Согласно первой точке зрения исследования в области ИИ относятся к фундаментальным исследованиям, в процессе которых разрабатываются новые модели и методы решения задач, традиционно считавшихся интеллектуальными, не поддававшихся ранее формализации и автоматизации.
Согласно второй точке зрения это направление связано с новыми идеями решения задач на ЭВМ, с разработкой новых технологий программирования и с переходом к компьютерам не фоннеймановской архитектуры.
Третья точка зрения, наиболее прагматическая, основана на том, что в результате исследований, проводимых в области ИИ, появляется множество прикладных систем, способных решать задачи,
для которых ранее создаваемые системы были непригодны. По последней трактовке ИИ является экспериментальной научной дисциплиной, в которой роль эксперимента заключается в проверке и уточнении интеллектуальных систем, представляющих собой аппаратно-программные информационные комплексы.
При отборе содержания обучения мы будем пользоваться следующим определением, лежащим в рамках третьего подхода к определению ИИ.
Искусственный интеллект [1, с. 15] – это направление информатики, целью которого является разработка аппаратнопрограммных средств, позволяющих пользователю-непрограммисту ставить и решать задачи, традиционно считающиеся интеллектуальными, общаясь с ЭВМ на ограниченном подмножестве естественного языка.
С самого зарождения ИИ выделились два до недавнего времени практически независимых направления исследований в его области: нейрокибернетическое и логическое (кибернетика «черного ящика»).
Доктрина нейрокибернетиков состояла в следующем: функцию мозга можно реализовать, лишь воспроизведя его структуру. Нейрокибернетическое направление было основано на построении самоорганизующихся систем, состоящих из множества элементов, функционально подобных нейронам головного мозга. Это привело к появлению систем, названных нейронными сетями.
Доктрина кибернетики черного ящика в некотором смысле противоположна: функцию мозга можно реализовать, не воспроизводя его структуры (рассматривая мозг как «черный ящик»). Поэтому исследователи, придерживающиеся этого направления, занимались поиском алгоритмов решения интеллектуальных задач на существующих компьютерных архитектурах. Они выявляли и применяли в интеллектуальных системах различные логические и эмпирические приемы (эвристики), которые применяет человек для решения интеллектуальных задач.
Согласно данной доктрине интеллектуальной системой называется система, способная целеустремленно, в зависимости от состояния информационных входов, изменять не только параметры функционирования, но и сам способ своего поведения, причем способ поведения зависит не только от текущего состояния информационных входов, но также и от предыдущих состояний системы [2, с. 15].
Теперь приведем конструктивное определение интеллектуальной системы, которое позволит выделить ее компоненты.
Интеллектуальной системой или системой, основанной на знаниях (СОЗ, англ. Knowledge Based Systems, KBS) называют систему, ядром которой является база знаний или модель предметной области, описанная на языке сверхвысокого уровня, приближенном к естественному [1, с. 34].
Наиболее распространенным классом СОЗ являются экспертные системы.
Экспертные системы (ЭС) – это сложные программные комплексы, аккумулирующие знания специалистов в конкретных предметных областях и тиражирующие этот эмпирический опыт для консультаций менее квалифицированных пользователей [1, с. 39].
ЭС применяются для решения неформализованных проблем, к которым относят задачи, обладающие одной (или несколькими) из следующих характеристик: (1) задачи не могут быть представлены в числовой форме; (2) исходные данные и знания о предметной области обладают неоднозначностью, неточностью, противоречивостью; (3) цели нельзя выразить с помощью четко определенной целевой функции; (4) не существует алгоритмического решения задачи; (5) алгоритмическое решение существует, но его нельзя использовать по причине большой размерности пространства решений и ограничений на ресурсы (времени, памяти).
Главное отличие интеллектуальных систем и экспертных систем от других программных средств – это наличие базы знаний (БЗ), образующей ядро СОЗ, в которой знания хранятся в форме,
понятной специалистам предметной области, и могут быть изменены и дополнены также в понятной форме.
При построении баз знаний традиционные средства, основанные на численном представлении данных, являются неэффективными. Для этого используются специальные языки представления знаний (ЯПЗ), основанные на символьном представлении данных. Они делятся на типы по формальным моделям представления знаний. Существуют десятки моделей (или языков) представления знаний для различных предметных областей. Большинство из них может быть сведено к следующим классам:
• продукционные модели (ЛИСП, РЕФАЛ, OPS5, ROISE);
• формальные логические модели (Prolog);
• семантические сети (SIMER+MIR, NET);
• фреймы (FRL),
• объектно-ориентированные модели (SMALLTALK, CLOS).
Для перечисленных моделей существует соответствующая математическая нотация, разработаны системы программирования, реализующие эти ЯПЗ, и имеется большое количество реальных
коммерческих ЭС.
Таким образом, при создании интеллектуальной системы, разработчику приходится решать три основные задачи:
• задачу извлечения (концептуализации) знаний;
• задачу формализации знаний;
• задачу программной реализации СОЗ.
Концептуализация необходима для проведения содержательного анализа предметной области. В результате концептуализации разрабатывается неформальное описание знаний предметной области в виде графа, таблицы, диаграммы или текста, которое отражает основные концепции и взаимосвязи между понятиями предметной области. Такое описание называется полем знаний.
Задача формализации знаний включает в себя выбор способов представления всех типов знаний, а также построение формализованного описания предметной области на основе выбранного языка представления знаний. В результате формализации разрабатывается база знаний на ЯПЗ, который, с одной стороны, соответствует структуре поля знаний, а с другой – позволяет реализовать прототип системы на следующей стадии программной реализации.
В процессе решения задачи реализации происходит разработка программного комплекса, демонстрирующего жизнеспособность выбранного подхода в целом.
Безусловно, задача концептуализации знаний является одной из самых сложных и ответственных. Во-первых, от того, насколько хорошо продумано и описано поле знаний, во многом зависит успешность, а иногда даже и возможность использования СОЗ. Вовторых, исправление допущенных при проектировании поля знаний ошибок – процесс очень трудоемкий и дорогостоящий. Поэтому при изучении интеллектуальных систем решению этой проблемы следует уделить особое внимание.
Из содержания рассмотренного научного направления в соответствии с требованиями стандарта к профессиональной подготовке информатика-экономиста были выделены следующие элементы содержания обучения дисциплине «Интеллектуальные информационные системы»:
(1) Введение в искусственный интеллект. Понятие ИИ. Краткая история развития ИИ. Понятие интеллектуальной системы (СОЗ), БЗ, модели (языка) представления знаний (ЯПЗ). Направления современных исследований в ИИ.
(2) Модели представления знаний. Данные и знания. БД и БЗ.
Классификация моделей представления знаний, общий обзор моделей представления знаний.
(3) Логическая модель представления знаний. Виды логических моделей, общие термины и определения. Формальная логика. Математическая логика: терминология, методы автоматического доказательства теорем (исчисление предикатов), элементы теории нечетких множеств. Логическое программирование на языке Prolog.
(4) Продукционная модель представления знаний. Терминология, представление пространства поиска в виде дерева, метод поиска в ширину, метод поиска в глубину, эвристические методы поиска.
(5) Семантические сети. Представление семантической сети в виде графа с циклами. Типы отношений. Классификация семантических сетей. Разновидности семантических сетей: деревья, двудольные графы. Достоинства и недостатки. Методы и алгоритмы вывода на семантических сетях. Языки представления семантических сетей и ЭС, основанные на семантических сетях
(6) Фреймовая модель представления знаний. Понятие фрейма, типы фреймов. Структура фрейма. Достоинства и недостатки. Языки представления знаний в сетях фреймов и ЭС, основанные на фреймовой модели.
(7) Объектно-ориентированная модель представления знаний. Понятие об объектно-ориентированном анализе предметной области. Основные концепции объектно-ориентированного проектирования (инкапсуляция, наследование, полиморфизм). Применение
объектно-ориентированного программирования для решения интеллектуальных задач.
(8) Экспертные системы. Понятие. Обобщенная структура экспертной системы, обзор основных компонентов. Классификация экспертных систем. Этапы разработки ЭС.
В качестве одного из вариантов построения учебного курса
«Интеллектуальные информационные системы» приведем содержание учебной дисциплины, преподаваемой студентам специальности «прикладная информатика (в экономике)» факультета математики и информатики ЛГУ имени А. С. Пушкина.
Задачи учебной дисциплины:
1) формирование представления об основных задач, решаемых системами искусственного интеллекта и направлениях современных
исследований в области искусственного интеллекта;
2) знакомство с основными моделями представления знаний;
3) формирование у будущих специалистов знаний и умений в области разработки и эксплуатации систем, основанных на знаниях.
Ожидаемые результаты обучения рассматриваемой учебной дисциплине конкретизируем в виде знаний и умений, которыми должны обладать студенты после изучения данного курса. В результате изучения курса студенты должны знать:
•базовые понятия систем искусственного интеллекта;
•основные модели представления знаний (логическая, продукционная, семантическая сеть, фреймовая, объектно-ориентированная);
•назначение, состав, классификацию и основные этапы разработки ЭС;
•основные принципы и понятия логической модели представления знаний, механизмы вывода новых знаний в логической модели;
•основные понятия декларативной парадигмы программирования;
•синтаксис и семантику языка логического программирования
Prolog.
Студенты должны уметь:
•применять методы искусственного интеллекта для решения практических задач;
•осуществлять концептуализацию и формализацию знаний исследуемой предметной области;
•реализовывать интеллектуальные системы при помощи языка логического программирования Prolog.
I. Содержание лекционной части курса
1. Введение в искусственный интеллект. Понятие ИИ. Краткая история развития ИИ. Понятие интеллектуальной системы (СОЗ), БЗ, модели (языка) представления знаний (ЯПЗ). Направления современных исследований в ИИ.
2. Модели представления знаний. Данные и знания. БД и БЗ. Классификация моделей представления знаний, общий обзор моделей представления знаний.
3. Логическая модель представления знаний. Виды логических моделей, общие термины и определения. Математическая логика:
терминология, методы автоматического доказательства теорем (исчисление предикатов). Введение в логическое программирование на языке Prolog.
4. Семантические сети. Представление семантической сети в виде графа с циклами. Типы отношений. Классификация семантических сетей. Разновидности семантических сетей: деревья, двудольные графы. Достоинства и недостатки. Методы и алгоритмы вывода на семантических сетях. Языки представления семантических сетей.
Примеры ЭС, основанных на семантических сетях.
5. Фреймовая модель представления знаний. Понятие фрейма, типы фреймов. Структура фрейма. Достоинства и недостатки. Языки представления знаний в сетях фреймов. Примеры ЭС, основанных на фреймовой модели.
6. Экспертные системы. Понятие. Обобщенная структура экспертной системы, обзор основных компонентов. Классификация экспертных систем. Этапы разработки ЭС.
II. Содержание практической части курса
1. Основные понятия языка Prolog. Отношения (предикаты). Цели (внутренние и внешние). Переменные свободные и связанные. Анонимная переменная. Семантические модели языка Prolog: декларативная и процедурная. Система программирования Arity Prolog. Разработка статических баз знаний.
2. Ввод и вывод данных, простейшие вычисления в языке Prolog. Предикаты ввода-вывода. Ввод-вывод символьных, строковых и числовых данных. Арифметические предикаты в языке Prolog.
3. Реализация ветвлений в языке Prolog. Процедуры.
4. Способы управления выполнением программы в языке Prolog. Откат, метод отката после неудачи. Метод отсечения и отката. Метод повтора.
5. Рекурсия в языке Prolog. Хвостовая (правая) рекурсия. Левая рекурсия.
6. Списки в языке Prolog. Понятие списка. Операция разделения списка на «голову» и «хвост». Описание списков при помощи шаблонов. Основные операции над списками (проход по списку, конкатенация списков, расщепление списка на два).
7. Сортировка списков в языке Prolog. Понятие сортировки списка. Реализация сортировки прямым обменом, прямым выбором, простыми включениями, слиянием, быстрой сортировки.
8. Обработка строк в языке Prolog. Операции над строками.
Стандартные предикаты для работы со строками.
9. Использование языка Prolog для решения задач искусственного интеллекта.
10. Динамические базы знаний в языке Prolog. Понятие динамической базы данных. Стандартные предикаты для работы с динамическими базами данных фактов. Работа с файлами. Построение простейших экспертных систем.
Методы обучения учебной дисциплине – анализ источников и литературы, при проведении лабораторных работ: метод демонстрационных примеров, метод целесообразно подобранных задач, программирование как метод обучения, метод ручной прокрутки программ и метод проектов на заключительном этапе.
Изучение содержания учебной дисциплины осуществляется в форме лекций и лабораторных занятий. В качестве средства обучения языку представления знаний в логической модели используется язык Prolog, версия Arity Prolog 6.0.
Содержание курса рассчитано на 60 часов (15 час. – лекции,
45 час. – лабораторные занятия). В процессе изучения предусмотрены следующие формы контроля: текущий контроль – отчет по каждой лабораторной работе, итоговый контроль – зачет по теоретической и практической частям курса и защита курсового проекта.
Список литературы
1. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. – СПб.: Питер, 2001.
2. Смолин Д.В. Введение в искусственный интеллект: конспект лекций. –
М.: Физмат, 2004.
3. Ямушева А.А. Формализованное представление методов информационной поддержки принятия решений: дис. … канд. экон. наук: 08.00.13. – М.,
2004.
Например, в экономике ИИС применяются для экономического анализа деятельности предприятия, стратегического планирования, инвестиционного анализа, оценки рисков и формирования портфеля ценных бумаг, финансового анализа, маркетинга и т. д.
Таким образом, в современных условиях востребованность информатика-экономиста на рынке труда во многом определяется тем, насколько уверенно он владеет современными информационными технологиями, в частности, интеллектуальными, для того чтобы находить инновационные способы реализации бизнеспроцессов. Сказанное выше определяет актуальность изучения дисциплины «Интеллектуальные информационные системы» студентами специальности 080801 «Прикладная информатика (в экономике)», предусмотренной государственным образовательным стандартом в цикле дисциплин специальной направленности.
Предметом изучения курса «Интеллектуальные информационные системы» являются системы обработки информации, основанные на знаниях, а также технологии и средства их разработки.
Целью учебной дисциплины является подготовка студентов к практической деятельности в области создания, внедрения и эксплуатации систем искусственного интеллекта в качестве инженера по знаниям, пользователя и управленца (менеджера, ответственного за внедрение).
Отбор содержания обучения дисциплине «Интеллектуальные информационные системы» существенно опирается на понятие ИИС и ее состав, а также на понятия и задачи, связанные с разработкой ИИС. Поэтому прежде чем коснуться вопросов отбора содержания обучения указанной дисциплине, раскроем основные понятия теории интеллектуальных информационных систем.
Искусственный интеллект как наука существует около шестидесяти лет. Термин «искусственный интеллект» (ИИ, англ. artificial intelligence, AI) был предложен в 1956 году в Дартмутском колледже (Dartmouth College, США). На сегодняшний день не существует единого определения, которое однозначно описывает эту научную область. Среди многих точек зрения на нее доминируют следующие три [3].
Согласно первой точке зрения исследования в области ИИ относятся к фундаментальным исследованиям, в процессе которых разрабатываются новые модели и методы решения задач, традиционно считавшихся интеллектуальными, не поддававшихся ранее формализации и автоматизации.
Согласно второй точке зрения это направление связано с новыми идеями решения задач на ЭВМ, с разработкой новых технологий программирования и с переходом к компьютерам не фоннеймановской архитектуры.
Третья точка зрения, наиболее прагматическая, основана на том, что в результате исследований, проводимых в области ИИ, появляется множество прикладных систем, способных решать задачи,
для которых ранее создаваемые системы были непригодны. По последней трактовке ИИ является экспериментальной научной дисциплиной, в которой роль эксперимента заключается в проверке и уточнении интеллектуальных систем, представляющих собой аппаратно-программные информационные комплексы.
При отборе содержания обучения мы будем пользоваться следующим определением, лежащим в рамках третьего подхода к определению ИИ.
Искусственный интеллект [1, с. 15] – это направление информатики, целью которого является разработка аппаратнопрограммных средств, позволяющих пользователю-непрограммисту ставить и решать задачи, традиционно считающиеся интеллектуальными, общаясь с ЭВМ на ограниченном подмножестве естественного языка.
С самого зарождения ИИ выделились два до недавнего времени практически независимых направления исследований в его области: нейрокибернетическое и логическое (кибернетика «черного ящика»).
Доктрина нейрокибернетиков состояла в следующем: функцию мозга можно реализовать, лишь воспроизведя его структуру. Нейрокибернетическое направление было основано на построении самоорганизующихся систем, состоящих из множества элементов, функционально подобных нейронам головного мозга. Это привело к появлению систем, названных нейронными сетями.
Доктрина кибернетики черного ящика в некотором смысле противоположна: функцию мозга можно реализовать, не воспроизводя его структуры (рассматривая мозг как «черный ящик»). Поэтому исследователи, придерживающиеся этого направления, занимались поиском алгоритмов решения интеллектуальных задач на существующих компьютерных архитектурах. Они выявляли и применяли в интеллектуальных системах различные логические и эмпирические приемы (эвристики), которые применяет человек для решения интеллектуальных задач.
Согласно данной доктрине интеллектуальной системой называется система, способная целеустремленно, в зависимости от состояния информационных входов, изменять не только параметры функционирования, но и сам способ своего поведения, причем способ поведения зависит не только от текущего состояния информационных входов, но также и от предыдущих состояний системы [2, с. 15].
Теперь приведем конструктивное определение интеллектуальной системы, которое позволит выделить ее компоненты.
Интеллектуальной системой или системой, основанной на знаниях (СОЗ, англ. Knowledge Based Systems, KBS) называют систему, ядром которой является база знаний или модель предметной области, описанная на языке сверхвысокого уровня, приближенном к естественному [1, с. 34].
Наиболее распространенным классом СОЗ являются экспертные системы.
Экспертные системы (ЭС) – это сложные программные комплексы, аккумулирующие знания специалистов в конкретных предметных областях и тиражирующие этот эмпирический опыт для консультаций менее квалифицированных пользователей [1, с. 39].
ЭС применяются для решения неформализованных проблем, к которым относят задачи, обладающие одной (или несколькими) из следующих характеристик: (1) задачи не могут быть представлены в числовой форме; (2) исходные данные и знания о предметной области обладают неоднозначностью, неточностью, противоречивостью; (3) цели нельзя выразить с помощью четко определенной целевой функции; (4) не существует алгоритмического решения задачи; (5) алгоритмическое решение существует, но его нельзя использовать по причине большой размерности пространства решений и ограничений на ресурсы (времени, памяти).
Главное отличие интеллектуальных систем и экспертных систем от других программных средств – это наличие базы знаний (БЗ), образующей ядро СОЗ, в которой знания хранятся в форме,
понятной специалистам предметной области, и могут быть изменены и дополнены также в понятной форме.
При построении баз знаний традиционные средства, основанные на численном представлении данных, являются неэффективными. Для этого используются специальные языки представления знаний (ЯПЗ), основанные на символьном представлении данных. Они делятся на типы по формальным моделям представления знаний. Существуют десятки моделей (или языков) представления знаний для различных предметных областей. Большинство из них может быть сведено к следующим классам:
• продукционные модели (ЛИСП, РЕФАЛ, OPS5, ROISE);
• формальные логические модели (Prolog);
• семантические сети (SIMER+MIR, NET);
• фреймы (FRL),
• объектно-ориентированные модели (SMALLTALK, CLOS).
Для перечисленных моделей существует соответствующая математическая нотация, разработаны системы программирования, реализующие эти ЯПЗ, и имеется большое количество реальных
коммерческих ЭС.
Таким образом, при создании интеллектуальной системы, разработчику приходится решать три основные задачи:
• задачу извлечения (концептуализации) знаний;
• задачу формализации знаний;
• задачу программной реализации СОЗ.
Концептуализация необходима для проведения содержательного анализа предметной области. В результате концептуализации разрабатывается неформальное описание знаний предметной области в виде графа, таблицы, диаграммы или текста, которое отражает основные концепции и взаимосвязи между понятиями предметной области. Такое описание называется полем знаний.
Задача формализации знаний включает в себя выбор способов представления всех типов знаний, а также построение формализованного описания предметной области на основе выбранного языка представления знаний. В результате формализации разрабатывается база знаний на ЯПЗ, который, с одной стороны, соответствует структуре поля знаний, а с другой – позволяет реализовать прототип системы на следующей стадии программной реализации.
В процессе решения задачи реализации происходит разработка программного комплекса, демонстрирующего жизнеспособность выбранного подхода в целом.
Безусловно, задача концептуализации знаний является одной из самых сложных и ответственных. Во-первых, от того, насколько хорошо продумано и описано поле знаний, во многом зависит успешность, а иногда даже и возможность использования СОЗ. Вовторых, исправление допущенных при проектировании поля знаний ошибок – процесс очень трудоемкий и дорогостоящий. Поэтому при изучении интеллектуальных систем решению этой проблемы следует уделить особое внимание.
Из содержания рассмотренного научного направления в соответствии с требованиями стандарта к профессиональной подготовке информатика-экономиста были выделены следующие элементы содержания обучения дисциплине «Интеллектуальные информационные системы»:
(1) Введение в искусственный интеллект. Понятие ИИ. Краткая история развития ИИ. Понятие интеллектуальной системы (СОЗ), БЗ, модели (языка) представления знаний (ЯПЗ). Направления современных исследований в ИИ.
(2) Модели представления знаний. Данные и знания. БД и БЗ.
Классификация моделей представления знаний, общий обзор моделей представления знаний.
(3) Логическая модель представления знаний. Виды логических моделей, общие термины и определения. Формальная логика. Математическая логика: терминология, методы автоматического доказательства теорем (исчисление предикатов), элементы теории нечетких множеств. Логическое программирование на языке Prolog.
(4) Продукционная модель представления знаний. Терминология, представление пространства поиска в виде дерева, метод поиска в ширину, метод поиска в глубину, эвристические методы поиска.
(5) Семантические сети. Представление семантической сети в виде графа с циклами. Типы отношений. Классификация семантических сетей. Разновидности семантических сетей: деревья, двудольные графы. Достоинства и недостатки. Методы и алгоритмы вывода на семантических сетях. Языки представления семантических сетей и ЭС, основанные на семантических сетях
(6) Фреймовая модель представления знаний. Понятие фрейма, типы фреймов. Структура фрейма. Достоинства и недостатки. Языки представления знаний в сетях фреймов и ЭС, основанные на фреймовой модели.
(7) Объектно-ориентированная модель представления знаний. Понятие об объектно-ориентированном анализе предметной области. Основные концепции объектно-ориентированного проектирования (инкапсуляция, наследование, полиморфизм). Применение
объектно-ориентированного программирования для решения интеллектуальных задач.
(8) Экспертные системы. Понятие. Обобщенная структура экспертной системы, обзор основных компонентов. Классификация экспертных систем. Этапы разработки ЭС.
В качестве одного из вариантов построения учебного курса
«Интеллектуальные информационные системы» приведем содержание учебной дисциплины, преподаваемой студентам специальности «прикладная информатика (в экономике)» факультета математики и информатики ЛГУ имени А. С. Пушкина.
Задачи учебной дисциплины:
1) формирование представления об основных задач, решаемых системами искусственного интеллекта и направлениях современных
исследований в области искусственного интеллекта;
2) знакомство с основными моделями представления знаний;
3) формирование у будущих специалистов знаний и умений в области разработки и эксплуатации систем, основанных на знаниях.
Ожидаемые результаты обучения рассматриваемой учебной дисциплине конкретизируем в виде знаний и умений, которыми должны обладать студенты после изучения данного курса. В результате изучения курса студенты должны знать:
•базовые понятия систем искусственного интеллекта;
•основные модели представления знаний (логическая, продукционная, семантическая сеть, фреймовая, объектно-ориентированная);
•назначение, состав, классификацию и основные этапы разработки ЭС;
•основные принципы и понятия логической модели представления знаний, механизмы вывода новых знаний в логической модели;
•основные понятия декларативной парадигмы программирования;
•синтаксис и семантику языка логического программирования
Prolog.
Студенты должны уметь:
•применять методы искусственного интеллекта для решения практических задач;
•осуществлять концептуализацию и формализацию знаний исследуемой предметной области;
•реализовывать интеллектуальные системы при помощи языка логического программирования Prolog.
I. Содержание лекционной части курса
1. Введение в искусственный интеллект. Понятие ИИ. Краткая история развития ИИ. Понятие интеллектуальной системы (СОЗ), БЗ, модели (языка) представления знаний (ЯПЗ). Направления современных исследований в ИИ.
2. Модели представления знаний. Данные и знания. БД и БЗ. Классификация моделей представления знаний, общий обзор моделей представления знаний.
3. Логическая модель представления знаний. Виды логических моделей, общие термины и определения. Математическая логика:
терминология, методы автоматического доказательства теорем (исчисление предикатов). Введение в логическое программирование на языке Prolog.
4. Семантические сети. Представление семантической сети в виде графа с циклами. Типы отношений. Классификация семантических сетей. Разновидности семантических сетей: деревья, двудольные графы. Достоинства и недостатки. Методы и алгоритмы вывода на семантических сетях. Языки представления семантических сетей.
Примеры ЭС, основанных на семантических сетях.
5. Фреймовая модель представления знаний. Понятие фрейма, типы фреймов. Структура фрейма. Достоинства и недостатки. Языки представления знаний в сетях фреймов. Примеры ЭС, основанных на фреймовой модели.
6. Экспертные системы. Понятие. Обобщенная структура экспертной системы, обзор основных компонентов. Классификация экспертных систем. Этапы разработки ЭС.
II. Содержание практической части курса
1. Основные понятия языка Prolog. Отношения (предикаты). Цели (внутренние и внешние). Переменные свободные и связанные. Анонимная переменная. Семантические модели языка Prolog: декларативная и процедурная. Система программирования Arity Prolog. Разработка статических баз знаний.
2. Ввод и вывод данных, простейшие вычисления в языке Prolog. Предикаты ввода-вывода. Ввод-вывод символьных, строковых и числовых данных. Арифметические предикаты в языке Prolog.
3. Реализация ветвлений в языке Prolog. Процедуры.
4. Способы управления выполнением программы в языке Prolog. Откат, метод отката после неудачи. Метод отсечения и отката. Метод повтора.
5. Рекурсия в языке Prolog. Хвостовая (правая) рекурсия. Левая рекурсия.
6. Списки в языке Prolog. Понятие списка. Операция разделения списка на «голову» и «хвост». Описание списков при помощи шаблонов. Основные операции над списками (проход по списку, конкатенация списков, расщепление списка на два).
7. Сортировка списков в языке Prolog. Понятие сортировки списка. Реализация сортировки прямым обменом, прямым выбором, простыми включениями, слиянием, быстрой сортировки.
8. Обработка строк в языке Prolog. Операции над строками.
Стандартные предикаты для работы со строками.
9. Использование языка Prolog для решения задач искусственного интеллекта.
10. Динамические базы знаний в языке Prolog. Понятие динамической базы данных. Стандартные предикаты для работы с динамическими базами данных фактов. Работа с файлами. Построение простейших экспертных систем.
Методы обучения учебной дисциплине – анализ источников и литературы, при проведении лабораторных работ: метод демонстрационных примеров, метод целесообразно подобранных задач, программирование как метод обучения, метод ручной прокрутки программ и метод проектов на заключительном этапе.
Изучение содержания учебной дисциплины осуществляется в форме лекций и лабораторных занятий. В качестве средства обучения языку представления знаний в логической модели используется язык Prolog, версия Arity Prolog 6.0.
Содержание курса рассчитано на 60 часов (15 час. – лекции,
45 час. – лабораторные занятия). В процессе изучения предусмотрены следующие формы контроля: текущий контроль – отчет по каждой лабораторной работе, итоговый контроль – зачет по теоретической и практической частям курса и защита курсового проекта.
Список литературы
1. Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. – СПб.: Питер, 2001.
2. Смолин Д.В. Введение в искусственный интеллект: конспект лекций. –
М.: Физмат, 2004.
3. Ямушева А.А. Формализованное представление методов информационной поддержки принятия решений: дис. … канд. экон. наук: 08.00.13. – М.,
2004.
Источник: Е. В. Федоркевич
Авторское право на материал
Копирование материалов допускается только с указанием активной ссылки на статью!
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Похожие статьи