УДК 378.016:004.9:33 ББК 74.582.6
Е. В. Федоркевич
Содержание обучения дисциплине «Интеллектуальные информационные системы» студентов специальности «Прикладная информатика (в экономике)»
Статья посвящена отбору содержания обучения будущих специалистов в области прикладной информатики эксплуатации и разработке систем, основанных на знаниях. В статье приводятся результаты анализа содержания научного направления «Инженерия знаний», выделяются элементы содержания обучения дисциплине «Интеллектуальные информационные системы» и в качестве примера рассматривается один из возможных вариантов построения данного учебного курса.
Article is devoted selection of the maintenance of training of the future experts in the field of applied computer science to usage and development of knowledge based systems. In article results of the analysis of the maintenance of a scientific direction «Knowledge engineering» are resulted, units of the maintenance of training to discipline «Knowledge based systems» are selected and as an example one of possible variants of construction of the given training course is considered.
Ключевые слова: содержание обучения, интеллектуальные системы, инженерия знаний, дисциплина «Интеллектуальные информационные системы», логическое программирование, Prolog
Key words: training maintenance, knowledge based systems, knowledge engineering, discipline «Knowledge based systems», logic programming, Prolog
На сегодняшний день проблема создания и использования интеллектуальных информационных систем (ИИС) актуальна в любой сфере человеческой деятельности. Благодаря наличию средств естественноязыкового интерфейса ИИС могут применяться пользователями, не владеющими специальными знаниями в области информатики и программирования, для решения сложных задач, в которых основная сложность решения связана с использованием слабо формализованных знаний специалистов-практиков и где логическая (или смысловая) обработка информации превалирует над вычислительной.
Например, в экономике ИИС применяются для экономического анализа деятельности предприятия, стратегического планирования, инвестиционного анализа, оценки рисков и формирования портфеля ценных бумаг, финансового анализа, маркетинга и т. д.
Таким образом, в современных условиях востребованность информатика-экономиста на рынке труда во многом определяется тем, насколько уверенно он владеет современными информационными технологиями, в частности, интеллектуальными, для того чтобы находить инновационные способы реализации бизнес-процессов. Сказанное выше определяет актуальность изучения дисциплины «Интеллектуальные информационные системы» студентами специальности 080801 «Прикладная информатика (в экономике)», предусмотренной государственным образовательным стандартом в цикле дисциплин специальной направленности.
Предметом изучения курса «Интеллектуальные информационные системы» являются системы обработки информации, основанные на знаниях, а также технологии и средства их разработки.
Целью учебной дисциплины является подготовка студентов к практической деятельности в области создания, внедрения и эксплуатации систем искусственного интеллекта в качестве инженера по знаниям, пользователя и управленца (менеджера, ответственного за внедрение).
Отбор содержания обучения дисциплине «Интеллектуальные информационные системы» существенно опирается на понятие ИИС и ее состав, а также на понятия и задачи, связанные с разработкой ИИС. Поэтому прежде чем коснуться вопросов отбора содержания обучения указанной дисциплине, раскроем основные понятия теории интеллектуальных информационных систем.
Искусственный интеллект как наука существует около шестидесяти лет. Термин «искусственный интеллект» (ИИ, англ. artificial intelligence, AI) был предложен в 1956 году в Дартмутском колледже (Dartmouth College, США). На сегодняшний день не существует единого определения, которое однозначно описывает эту научную область. Среди многих точек зрения на нее доминируют следующие три [3].
Согласно первой точке зрения исследования в области ИИ относятся к фундаментальным исследованиям, в процессе которых разрабатываются новые модели и методы решения задач, традиционно считавшихся интеллектуальными, не поддававшихся ранее формализации и автоматизации.
Согласно второй точке зрения это направление связано с но -выми идеями решения задач на ЭВМ, с разработкой новых технологий программирования и с переходом к компьютерам не фон-неймановской архитектуры.
Третья точка зрения, наиболее прагматическая, основана на том, что в результате исследований, проводимых в области ИИ, появляется множество прикладных систем, способных решать задачи,
для которых ранее создаваемые системы были непригодны. По последней трактовке ИИ является экспериментальной научной дисциплиной, в которой роль эксперимента заключается в проверке и уточнении интеллектуальных систем, представляющих собой аппаратно-программные информационные комплексы.
При отборе содержания обучения мы будем пользоваться следующим определением, лежащим в рамках третьего подхода к определению ИИ.
Искусственный интеллект [1, с. 15] - это направление информатики, целью которого является разработка аппаратно-программных средств, позволяющих пользователю-непрограммисту ставить и решать задачи, традиционно считающиеся интеллектуальными, общаясь с ЭВМ на ограниченном подмножестве естественного языка.
С самого зарождения ИИ выделились два до недавнего време -ни практически независимых направления исследований в его области: нейрокибернетическое и логическое (кибернетика «черного ящика»).
Доктрина нейрокибернетиков состояла в следующем: функцию мозга можно реализовать, лишь воспроизведя его структуру. Нейрокибернетическое направление было основано на построении самоорганизующихся систем, состоящих из множества элементов, функционально подобных нейронам головного мозга. Это привело к появлению систем, названных нейронными сетями.
Доктрина кибернетики черного ящика в некотором смысле про -тивоположна: функцию мозга можно реализовать, не воспроизводя его структуры (рассматривая мозг как «черный ящик»). Поэтому исследователи, придерживающиеся этого направления, занимались поиском алгоритмов решения интеллектуальных задач на существующих компьютерных архитектурах. Они выявляли и применяли в интеллектуальных системах различные логические и эмпирические приемы (эвристики), которые применяет человек для решения интеллектуальных задач.
Согласно данной доктрине интеллектуальной системой называется система (рис. 1), способная целеустремленно, в зависимости от состояния информационных входов, изменять не только параметры функционирования, но и сам способ своего поведения, причем способ поведения зависит не только от текущего состояния информационных входов, но также и от предыдущих состояний системы [2, с. 15].
Информационные входы
►
>
Рис. 1. Интеллектуальная система как «черный ящик»
Теперь приведем конструктивное определение интеллектуальной системы, которое позволит выделить ее компоненты.
Интеллектуальной системой или системой, основанной на знаниях (СОЗ, англ. 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.
УДК 378.016:51:330.4:004.9 ББК 74.582.6
Т. А. Алексеева, А. А. Коропец
Применение систем компьютерной математики в подготовке специалистов экономического профиля
В статье анализируется эффективность использования систем компьютерной математики (СКМ) в преподавании дисциплин экономико-математического цикла, формулируются критерии отбора программного продукта линейки СКМ для применения в учебном процессе, выявляется роль СКМ в формировании сквозного образовательного маршрута и установлении междисциплинарных связей.
In article efficiency of use of the systems of computer mathematics (SCM) in teaching of disciplines of an economic-mathematical cycle is analyzed, criteria of selection of software product of ruler SCM for application in educational process are formulated, role SCM in formation of a through educational route and an establishment of interdisciplinary communications comes to light.
Ключевые слова: математическая модель, информационные технологии, система компьютерной математики, сквозной образовательный маршрут, экономическое явление, экономический показатель, предельный анализ, эластичность.
Key words: mathematical model, information technology, system of computer mathematics, through educational route, economic event, economic indicator, marginal analysis, elasticity.