Содержание к диссертации
Введение
1 Аналитический обзор современных языковых средств описания аппаратуры и существующих систем обучения 8
1.1 Обзор языков описания аппаратуры 8
1.1.1 Этапы разработки языков описания аппаратуры 8
1.1.2 Сравнительная характеристика (анализ) языков описания аппаратуры 9
1.1.3 Языки моделирования многоуровневых проектов с формализованной семантикой. Особенности языка VHDL 13
1.2 Анализ современных обучающих систем 14
1.2.1 История вопроса 14
1.2.2 Модели представления знаний в обучающих системах 22
1.2.3 Учебные структуры знаний 27
1.2.4 Методы обработки знаний в обучающих системах 33
1.2.4.1 Таблицы решений 33
1.2.4.2 Индуктивное обобщение 35
1.2.5 Инструментальные средства разработки обучающих систем 36
1.3 Формулировка и обоснование основных принципов построения системы обучения языку описания аппаратуры VHDL 40
1.3.1 Инвариантность проекта VHDL относительно конкретного физического способа реализации 40
1.3.2 Поддержка различных уровней абстракции и детализации представления проекта 41
1.3.3 Основная парадигма и принципы организации обучающей системы языку VHDL 42
1.3.4 Адекватные модели представления и эффективные методы обработки знаний в системе обучения языку VHDL 45
1.4 Выводы к главе 1 47
2 Концептуализация знаний о языке описания аппаратуры VHDL 49
2.1 Объект проекта 49
2.2 Описание тела. Общая характеристика . 51
2.2.1 Структурное описание 53
2.2.2 Поведенческое описание 53
2.2.2.1 Модель времени в VHDL 54
2.2.2.2 Потоковое описание 55
2.2.2.3 Процедурное описание 55
2.3 Основные элементы языка VHDL . 56
2.3.1 Сигналы, переменные, константы 56
2.3.2 Типы и подтипы данных 59
2.3.3 Выражения и операции 61
2.3.4 Операторы управления 62
2.3.5 Регулярные описания 64
2.3.6 Атрибуты 64
2.3.7 Утверждения. Операторы контроля 66
2.4 Организация проекта ..67
2.4.1 Подпрограммы. Функции и процедуры 67
2.4.2 Блоки и процессы 69
2.4.3 Параллельные и последовательные операторы 70
2.4.3.1 Параллельные операторы 71
2.4.3.2 Последовательные операторы 71
2.4.4 Пакеты 71
2.4.5 Конфигурации 73
2.4.6 Модули проекта и библиотеки 75
2.5 Построение пирамиды знаний 77
2.6 Поле знаний языка VHDL 79
2.7 Выводы к главе 2 80
3 Отображение концептуальной структуры VHDL как объекта обучения средствами фреймового формализма 88
3.1 Общие принципы иерархической систематики и формализации языка VHDL... 88
3.2 Особенности фреймовых систем 92
3.3 Структура и организация предметных фреймов 94
3.4 Примеры фреймового представления описания аппаратурных блоков 101
3.5 Выводы к главе 3 103
4 Исследование и разработка механизмов обработки знаний 105
4.1 Модификация механизма индуктивного обобщения на основе частичных прецедентов 105
4.2 Ассоциативный механизм вывода 111
4.3 Инвариантные ассоциативные схемы (Решение проблемы выбора ассоциативных схем) 116
4.4 Метапроцедура обучения 119
4.4.1 Организация работы системы обучения 119
4.4.2 Формализация и организация взаимодействия предметных и служебных знаний 121
4.5 Выводы к главе 4 131
5 Реализация системы обучения 133
5.1 Логическое и физическое моделирование системы 133
5.1.1 Выбор программного инструментария для разработки системы 133
5.1.2 Спецификация данных 134
5.1.3 Диаграмма деятельности системы (Activity Diagram) 139
5.2 Структура системы 141
5.2.1 Описание структуры 141
5.2.2 Основные компоненты интерфейса обучающей системы 143
5.3 Выводы к главе 5 144
6 Заключение 146
7 Библиография 148
8 Приложение 154
- Модели представления знаний в обучающих системах
- Основная парадигма и принципы организации обучающей системы языку VHDL
- Примеры фреймового представления описания аппаратурных блоков
- Инвариантные ассоциативные схемы (Решение проблемы выбора ассоциативных схем)
Введение к работе
Актуальность темы. Одним из этапов проектирования средств вычислительной техники является разработка электрических схем. По закону Мура каждые 18 месяцев число транзисторов в кристалле СБИС увеличивается вдвое: на одном кристалле размещаются миллионы элементов, и разработка таких устройств уже не может осуществляться с помощью традиционных методов проектирования - ручного переноса описания проекта в набор логических уравнений.
В соответствии с возрастающей степенью интеграции и необходимостью как можно дольше работать с проектом на абстрактном формальном уровне, появились новые концепции описания проекта, которые привели к разработке специального инструментария для автоматизации проектирования цифровой техники.
Таким специализированным программным обеспечением являются языки описания аппаратуры (ЯОА, HDL, hardware description languages), покрывающие основные понятия, существенные для проектирования вычислительных устройств (ВУ). В общей сложности создано уже более сотни ЯОА, но международным стандартом в области проектирования ВУ стал язык VHDL (Very high speed integrated circuits Hardware Description Language).
С утверждением стандарта VHDL, любая разработка и документирование аппаратуры и алгоритмов функционирования дискретной системы должны сопровождаться описанием на языке VHDL, т.е. VHDL-описание является:
неотъемлемой частью документации и для разработчика, и для заказчика; формальной записью, которая может быть использована на всех этапах разработки электронных, в том числе вычислительных, систем (ВС).
С учетом того, что между VHDL-моделью и реализацией проектируемой вычислительной системы существует изоморфизм, VHDL можно рассматривать как основное средство проектирования, эффективного моделирования и документирования ВС от уровня вентилей до уровня цифровых систем.
Интерес к VHDL в США, Европе, а в настоящее время и в странах АТР огромен, в силу особой роли, возлагаемой на язык.
В нашей стране работы по языку VHDL поддерживаются Российским научно-исследовательским институтом информационных систем (РосНИИИС), Московским институтом электронного машиностроения (кафедра «Специализированные вычислительные комплексы» МИЭМ), Томским техническим университетом и Международным центром по информатике и электронике и, только еще предполагается (!) ввести документирование на VHDL как обязательную составляющую технической документации.
Весьма ограниченное распространение VHDL в нашей стране не позволяет унифицировать используемые средства и качественно повысить уровень проектных работ в области создания средств вычислительной техники; сделать доступными для применения множество коммерческих систем, разработанных ведущими компаниями мира.
В результате, налицо два противоречащих друг другу фактора: с одной стороны рост потребностей в создании проектов, соответствующих международным стандартам, с другой стороны - недостаточное развитие методов разработки, обеспечивающих высокий уровень и качество проектирования вычислительных систем. Одна из главных причин слабого внедрения VHDL в практику разработки вычислительных устройств в Российской Федерации, заключается в недостаточном количестве подготовленных специалистов в области проектирования аппаратуры с использованием ЯОА. Кроме того, в силу многоуровневости описания, ориентированного на синтаксис языка ADA, а также существенного отражения динамики функционирования объектов язык VHDL весьма сложен для освоения. В связи с этим, особую актуальность приобретают вопросы разработки программных средств, предназначенных для автоматизированного обучения языкам описания аппаратуры. В контексте проектирования автоматизированных обучающих систем актуальной является тематика исследований, затрагивающих как
создание новых форм представления и способов хранения знаний, так и новых стратегий изучения учебного материала (learning strategies).
Целью диссертационной работы является исследование методов организации системы для автоматизации обучения языку описания аппаратуры VHDL на основе общих принципов иерархической систематики языка, и разработка механизма обработки знаний в рамках моделей индуктивного обобщения, используемого для реализации стратегии обучения.
В соответствии с поставленной целью в работе решаются следующие основные задачи:
анализ ЯОА, выделение преимуществ VHDL перед другими языками описания аппаратуры;
анализ тенденций развития существующих средств для автоматизации обучения; формирование поля знаний языка VHDL;
разработка общих принципов иерархической систематики языка VHDL; формализация статических знаний и динамических закономерностей данной предметной области;
исследование и разработка механизмов обработки знаний в рамках моделей индуктивного обобщения; разработка организации обучающей системы; внедрение разработанного формализма в систему для реализации стратегии обучения;
реализация теоретических исследований в системе, предназначенной для использования в качестве инструмента обучения языку описания аппаратуры VHDL.
Методы исследования основаны на использовании теории множеств, теории графов, комбинаторики, методах инженерии знаний, а также на современных методологиях построения программных комплексов и систем. При разработке системы использовалась технология объектно-ориентированного программирования.
Научная новизна работы состоит в следующем:
-
Предложена концептуальная модель языка описания аппаратуры цифровых систем VHDL, объединяющая множество понятий языка и обеспечивающая наглядное представление синтаксиса в виде набора графов.
-
На основе концептуальной модели впервые разработаны принципы организации иерархической систематики языка VHDL, позволяющие абстрактно формализовать описание множества экземпляров объекта проекта.
-
Впервые разработана система для автоматизации обучения языку VHDL, позволяющая на основе предложенных моделей, оптимизировать выработку концептуальных знаний у пользователя; отличающаяся от известных, использованием ассоциативного механизма индуктивного обобщения, как средства для реализации стратегии обучения.
-
Разработан механизм обработки знаний в рамках моделей индуктивного обобщения, отличающийся высокой интерпретируемостью результатов обобщения, что очень важно в обучающих системах.
Теоретическая и практическая значимость.
Сформулированы общие принципы иерархической систематики языка описания аппаратуры цифровых систем VHDL, обеспечивающие целостность множества понятий языка, учитывающие: структурные и поведенческие особенности проектирования, а также особенности организации VHDL-проекта;
разработан механизм обработки знаний, который может быть реализован в других обучающих системах. Использование разработанного механизма позволит снизить временные и трудозатраты на проведение обучения в автоматизированных обучающих системах;
система обучения языку VHDL, созданная на основе разработанных концепций, может быть использована как инструмент для обучения проектировщиков, испытывающих недостаток знаний об окружающей среде VHDL-проектов. Система будет особенно полезна тем, кто хотел бы на практике шаг за шагом пройти все стадии VHDL проектирования. Это позволит качественно повысить уровень выполнения проектных работ в области создания средств вычислительной техники. Ценность разработки подтверждает использование прототипа системы в учебном процессе кафедры электронной и компьютерной техники Дальневосточного государственного технического университета (ДВГТУ), как базовое средство обучения по курсам «Автоматизация инженерного труда» и «Моделирование цифровых систем».
Положения, выносимые на зашиту. На защиту выносятся:
концептуальная модель языка описания цифровой аппаратуры VHDL, обеспечивающая наглядное представление синтаксиса в виде набора графов;
принципы организации иерархической систематики языка VHDL, позволяющие абстрактно формализовать описание множества экземпляров объекта проекта;
ассоциативный механизм индуктивного обобщения, как способ обработки знаний, используемый в системе обучения языку VHDL для реализации стратегии обучения.
Апробация работы. Основные результаты работы обсуждались на следующих конференциях и семинарах:
- Ш-ей международной конференции «Автоматизация проектирования дискретных
систем» г. Минск. Институт технической кибернетики, ноябрь, 1999;
научно-технической конференции «Вологдинские чтения» в ДВГТУ май 2000 г.;
региональной научно-технической конференции ДВГТУ и ДВО РАН апрель-май 2002 г.;
Ш-ей международной научно-практической конференции ДВГТУ декабрь 2003;
- научных семинарах кафедры электронной и компьютерной техники ДВГТУ
(г.Владивосток 1999-2004 г.г.).
Публикации. По результатам выполненных исследований опубликовано 7
печатных работ, отражающих основные результаты работы.
Объем и структура обусловлены целью и поставленными в диссертационном исследовании задачами. Диссертация состоит из введения, пяти глав, заключения, списка литературы и приложения. Основное содержание диссертационной работы изложено на 153 страницах машинописного текста, иллюстрировано 7 таблицами и 33 рисунками. Библиографический список содержит 97 наименований.
Модели представления знаний в обучающих системах
Разработка компьютерных программ учебного назначения имеет уже более чем тридцатилетнюю историю. Можно выделить несколько этапов ее развития.
Как указывает ряд авторов [31 ,55, 56], в первых моделях компьютерной технологии обучения учебное обеспечение реализовывалось с помощью единой обучающей программы, содержащей компоненты, обеспечивающие управление учебной и самостоятельной деятельностью: учебный текст, задание и оценку выполнения предыдущего задания. В дидактическом плане они были примитивны, так как разрабатывались, практически, без участия специалистов по дидактике и представляли собой, переписанные из учебников тексты, сопровождающиеся вопросами.
Появление цветных мониторов, последующее развитие компьютерной графики дали новые импульсы разработке обучающих систем. В них вошли цвет, анимация, звук. И каждый раз на первом плане были программисты. Дидактические требования к программам не выдвигались вовсе и, существенного влияния на учебный процесс такие обучающие программы не оказывали. Компьютер в обучении использовался, в основном, как заменитель традиционных дидактических средств. Программы являлись, по сути, не обучающими, а информационными или демонстрационными. Пренебрежение дидактикой, непонимание ее роли привело к тому, что использование обучающих программ в некоторых случаях даже нанесло вред учебному процессу [31].
Дальнейшее развитие концепции программированного обучения нашло свое выражение в создании предметно-ориентированных дидактических программ, среди которых особое значение следует придать автоматизированным обучающим системам (АОС) - программам, предназначенным для передачи обучаемому знаний, и для оценки текущего уровня его знаний относительно уровня знаний некоего эталона (за эталон могут быть взяты знания преподавателя). Обычная схема функционирования автоматизированных обучающих систем (АОС) включала последовательность шагов: - предъявление порции теоретической информации, подлежащей усвоению; - выполнение упражнений для осмысления и закрепления теории; - оказание помощи учащемуся при выполнении упражнений. Педагогические основы такого рода систем составляли следующие психологические модели: линейная модель подкрепляемого научения американского психолога Б.Ф. Скиннера, и модели программированного обучения: модифицированная линейная модель С. Пресси и разветвленная модель Н. Краудера [15]. Из первых таких АОС следует отметить следующие: PLATO, САДКО, АОС ВУЗ, ЭКСТЕРН, ЭВОС. и др. При использовании этих систем процесс обучения плохо поддавался контролю, усилились противоречия между традиционной и новой информационными технологиями обучения. На этом этапе четко обозначилась необходимость разработки теоретических основ использования вычислительных систем для обучения [31].
Таким образом, несмотря на наличие концептуальных разработок, АОС этого периода можно рассматривать просто как полезный инструмент для закрепляющих и практических программ или как недорогую рабочую станцию для предварительного обучения.
Порядок работы учащихся в условиях автоматизированного обучения определяется либо жестким сценарием, заданным разработчиком АОС, либо выбирается каждым учащимся из набора типовых сценарных схем, либо соответствует определенному адаптивному алгоритму. В последнем случае говорят об интеллектуализации АОС, которая предполагает адаптацию к индивидуальным особенностям учащихся и выбор оптимальных параметров учебного материала - последовательности предъявления и объемов учебной информации, количества и типа упражнений, видов помощи и т.п. Интеллектуализация АОС опирается на модели предметной области4 (ПО), обучаемого и процесса обучения [59], а под адаптивными и интеллектуальными технологиями подразумеваются различные пути добавления адаптивной или интеллектуальной функциональности обучающей системе [10].
Так как интеллектуализация обучающих систем в первую очередь связана с практическим использованием при их разработке и реализации методов и средств, созданных в рамках исследований по экспертным системам, в результате появились экспертные обучающие системы (ЭОС), которые являлись, по сути, промышленными экспертными системами, адаптированными к целям обучения. Основное отличие ЭОС от других диалоговых человеко-машинных систем - наличие подсистемы объяснения [27], привело к серьезным исследованиям по моделям объяснения в АОС, с одной стороны, и интеллектуальным технологиям формирования моделей предметной области, стратегий обучения и оценки знаний обучаемых на основе более сложных моделей самих обучаемых, с другой,
В рассмотренных отечественных системах этого класса при разработке модели обучаемого в основу положены статистические (вероятностные) модели, что делает их не особенно эффективными при решении задачи адаптации обучающей системы к способностям и знаниям конкретного пользователя, кроме того, совсем не проработаны вопросы управления процессом формирования знаний обучаемого. В большинстве ЭОС основное внимание уделено разработке предметных баз знаний/баз данных (БЗ/БД), и редакторов для них, но слабо решены вопросы создания моделей объекта обучения, отсутствие которых снижает возможности системы по адаптации к обучаемому. При создании интерфейса и моделировании знаний недостаточно учтены когнитивные структуры и процессы человека, изменения в субъекте являются побочным продуктом работы с такими системами, а это значит, что мы имеем дело с какой-то иной (обычно профессиональной), но не учебной деятельностью [33]. Поэтому большинство ЭОС можно отнести не к обучающим, а к решающим системам.
Так же следует отметить, что существуют две базовые характеристики ЭС, снижающие их полезность для обучающих систем. Во-первых, разделение знаний, представление знаний и механизм логического вывода распределены в строго иерархическом порядке. Во-вторых, поскольку все связи в системе осуществляются путем логических умозаключений, в ЭС ощущается нехватка четких информационных связей [64].
Кроме того, существует некоторый предел уровня экспертизы проводимой ЭС, например, «SHERLOCK II» «не знает» как двигаться дальше, если его предположение о выходе из строя только одного устройства оказывается ложным [91].
Поскольку ЭС спроектированы для нахождения решения различных проблем, то они скорее выдают решение, вместо того, чтобы направить усилия обучаемого на активную работу на промежуточных этапах на пути к решению. ЭС обучает на промежуточных этапах в повествовательной форме, однако ЭС является «слабым инструктором», потому что для работы с ней от обучаемого требуется достаточная мотивация, чтобы обучаться, анализируя логическую цепочку, предоставляемую системой. Создание ЭС слишком трудоемкий процесс,
5 Интеллектуальная компьютерная программа, использующая знання и процедуры логического вывода для решения достаточно сложных проблем, требующего серьезной человеческой экспертизы. занимающий много времени.
Таким образом, несмотря на то, что работа с ЭС может дать весьма значительный образовательный эффект и обеспечить овладение соответствующими способами действий [31], не всякую ЭОС можно рассматривать в качестве обучающей программы, т.е. программы, которая управляет учебной деятельностью учащегося и выполняет (как правило, частично) функции педагога [33].
Основная парадигма и принципы организации обучающей системы языку VHDL
Все более популярной среди разработчиков АИОС становится гипертекстовая (ГТ) парадигма (формирование информационных массивов в виде ассоциативных сетей) и в настоящее время ГТ-технология является стандартом в области Сетевых АОС и сверхбольших документальных БД [84].
Гипертекст обеспечивает работу для интуитивного, нелинейного подхода к информационной и программной навигации, что более реалистично отражает интеллектуальное поведение, по сравнению с экспертными системами считают Bielawski и Lewland [68]. Кроме того, ЭС имеют ограничения в уровне экспертизы, в то время как гипертекстовые модели предполагают значительно более быструю разработку, простую модификацию, частое обновление.
В то же время свобода и гибкость, предоставляемые гипертекстовыми системами зачастую приводят к тому, что пользователь теряется в бесконечных разветвлениях и не фокусирует внимание на главной цели, постоянно уходя в сторону по случайным ссылкам.
В результате, успех «чистой» гипертекстовой обучающей системы целиком зависит от мотивации обучаемого и его самодисциплины. Хотя гипертекстовая парадигма и позволяет исследовать большие объемы информации и, таким образом, поддерживает «конструирование» знания, она является «слабым конструктором» с точки зрения преподавания, поскольку адекватность сконструированного знания не может быть проверена обучающей программой [84].
Кроме того, гипермедийные обучающие среды неверно используются с познавательной точки зрения, если их используют как обучающие программы [92]. Гипертекстовой парадигме не хватает механизмов логического вывода, необходимых для оценки действий обучаемых. Системы, основанные только на гипертексте, не обеспечивают сами по себе никакого механизма для структуризации процесса обучения. В результате, структуризация должна обеспечиваться непосредственно преподавателем через оценки. Такие оценки могут лишь дополнить отложенную обратную связь.
В случае неудачного исхода тестовой процедуры гипермедийные ОС, не способны определить причину некачественного усвоения, и, соответственно, скорректировать индивидуальный учебный план. Наиболее популярная в настоящее время технология в Сетевых АИОС -построение последовательности. Классическим примером является система ВІР [67]. Целью технологии построения последовательности курса обучения (технологии учебного планирования) является обеспечение обучаемого наиболее подходящей, индивидуально спланированной последовательностью блоков знаний для заучивания и последовательностью учебных заданий (примеры, вопросы, задачи и т.д.) для занятий. В этом контексте необходимо отметить, что наиболее распространенным формальным методом построения последовательностей является использование графовых и сетевых моделей. Н.В, Апатова разработала следующую схему разработки содержания автоматизированного учебного курса [2]. В первой итерации строится скелетный граф, вершинами которого являются темы курса, а ребрами - последовательность изучения этих тем, причем сразу же с учетом вариантов последовательностей как по желанию обучаемого так и под руководством обучающей программы. Как правило, на таком графе, просматриваются возможности прохождения курса по «горизонтали», т.е. общее знакомство с основными темами, и по «вертикали» - детализация понятий курса. Здесь же определяется уровень детализации - глубины «вертикали». Во второй итерации аналогичные графы строятся по каждой теме -выделяются отдельные параграфы курса, их взаимосвязь. Третья итерация - разработка структуры параграфов, перечня заголовков, порции материала - фрагментов, которые будут выданы обучаемому на экран дисплея, уточнение вопросов контрольной работы. Последняя, четвертая итерация - разработка текстов фрагментов, вопросов для самоконтроля, различных вариантов ответов и реплик автора курса. Т.И. Михеева и И.Е. Михеенков рекомендуют для проектирования содержания гипертекстовых обучающих программ применять таксономическую модель. Данная модель дает возможность рекурсивного определения понятий предметной области, начиная с общих представлений и отношений и развивая их «вглубь» путем реализации «наслоений» новых знаний из данной предметной области, получаемых в процессе обучения [35]. Д.Ш. Матрос предложил автоматизировать проектирование обучающей последовательности на основе структурной целевой модели - совокупности взаимосвязанных целевых единиц, отражающих отдельные элементы содержания обучения [30]. При этом цели обучения представляются в таксономии Блума, а их взаимосвязи отображены на ориентированном графе. Применение данного подхода позволяет решить ряд новых дидактических задач: оптимизацию распределения учебного времени по критерию минимизации перегрузки обучаемых, построение оптимальной системы уроков и т. д. Значительный интерес представляет подход к проектированию содержания образования, основанный на методе свернутых информационных структур. Алгоритм структурирования учебного материала в соответствии с требованиями данного метода предполагает следующие процедуры: выделение средствами теории графов ведущих знаний7 дисциплины вместе с их логическими взаимосвязями; моделирование ведущих знаний в символической, графической или иной форме; преобразование модели ведущих знаний с целью выделения общих системных понятий и отношений и их взаимосвязей (проектирование логического конструкта); формирование общих способов познавательной деятельности, характерных для данной области научных знаний; построение системы частных задач, решаемых общими способами, оценивание усвоения обучающимися общего способа решения данного класса познавательных задач [44] . Как показывают исследования [73], обучаемые отдают предпочтение более структурированным методам обучения, когда они скорее последовательно проходят по всему учебному материалу или могут осуществлять поиск в иерархической системе меню, нежели открывать-закрывать учебные страницы с помощью поиска по ключевым словам. Таким образом, можно считать, что в основе организации большинства обучающих систем, используются два подхода: экспертные системы и гипертекст. Несмотря на многочисленные разработки и активные теоретические изыскания в области построения автоматизированных обучающих систем: - до сих пор нет достаточно проработанной теоретической и методологической основы создания систем учебного назначения; - недостаточно изучены закономерности концептуальных знаний как основы знаний о предметной области любой дисциплины; - отсутствуют методологии, а тем более технологии структурирования разнородной информации; - большинство из существующих обучающих программ не имеет модели знаний по предметной области, структура информации в них линейна или, в лучшем случае, определяется гиперссылками [22]; - слабо решены вопросы тестирования в имеющихся системах: возможности организации адаптивного контроля в системах отсутствуют или ограничены необходимостью программирования. - новые информационные технологии для общеинженерных дисциплин внедряются в процесс обучения медленно и бессистемно. Учебные программы такого типа все еще оказывается не частым явлением в сфере разработки учебных средств, например, фактически отсутствует практика создания средств для автоматизации обучения проектированию вычислительных систем, а тем более с использованием языков описания аппаратуры.
Примеры фреймового представления описания аппаратурных блоков
Семантическая сеть понятий содержит, прежде всего, интенсиональные знания о предметной области. Эта модель дает возможность представлять знания в наглядной и структурированной форме, что не всегда возможно при других способах представления знаний. Начиная навигацию от исходного понятия можно по ребрам связей достичь другого понятия за некоторое число шагов.
Сети являются логически неадекватными, поскольку в них нельзя представить множество различий, представимых в логическом исчислении.
Такое смешение семантики с деталями реализации является результатом того, что сети одновременно являются и средством представления знаний, и средством извлечения из них нужной информации, и средством конструирования заключений, причем во всех случаях используется один и тот же набор ассоциативных механизмов. При этом различия между тремя означенными сторонами модели представления смазываются, теряют четкость.
Кроме того, сети являются эвристически неадекватными, поскольку поиск информации в ней сам по себе знаниями не управляется, т.е. в сетях отсутствует механизм, как искать нужную информацию в представленных знаниях.
В обучающих системах проектирование деятельности обучаемого связано, прежде всего, с проектированием содержания обучения, то есть с разработкой модели предметной области и представлением учебного материала. Например, предметную область, содержащую информацию о любом языке программирования, можно представить в виде сети, каждому узлу которой соответствует изучаемое понятие, объект, аксиома. В этом случае между вершинами сети существует два типа связей, определяющих возможную последовательность изложения учебного материала и множество априорных понятий для изучаемого понятия.
Если все множество вершин сети /, то на этом множестве можно выделить подмножество главных узлов Іг, в которых сосредоточен весь необходимый материал учебного курса. Специфика этих узлов состоит в том, что уровень изложения материала и степень сложности учебных задач ориентированы на обучаемого с достаточно высокой квалификацией.
Подмножество I \ 1г разбивается на непересекающиеся подмножества альтернативных вершин las. Объединение KJlat также содержит весь необходимый материал по курсу обучения, но уровень его изложения ниже и рассчитан на менее подготовленного ученика. На множестве 7, таким образом, определено отображение Последовательность переходов от уроков к уроку, временное или постоянное изменение уровня сложности, а также выбор материала для повторения определяются конкретной методикой обучения. Минский в своей работе [34] определил фрейм как структуру данных для представления стереотипных ситуаций. Идея состояла в том, чтобы сконцентрировать все знания о данном классе объектов и событий в единой структуре данных. Такие знания либо сосредоточены в самой структуре данных, либо доступны из этой структуры. Основными операциями в системе фреймов являются сопоставление и активизация фрейма или его составляющих. В дальнейшем при реализации фреймовых систем понятие фрейма уточнялось тем или иным способом. Наиболее распространен подход [58], при котором под фреймом понимается структура, состоящая из набора слотов, которая в общем выглядит следующим образом: (Имя фрейма: Имя слота 1 (значение слота 1) Имя слота 2 (значение слота 2) Имя слота К (значение слота К)). Каждый слот представляет собой шаблон для хранения значения или набора значений определенного типа и обычно содержит следующие элементы: - Текущее значение слота значение/список значений слота, или неопределенность(1); - Значение слота по умолчанию; - Присоединенная процедура для определения значение слота (процедура-запрос); - Присоединенная процедура (набор процедур), срабатывающая при присваивании или изменении значения слота (процедура-демон); - Ограничения на значения слота: по типу данных, фасетные ограничения, ограничения в виде произвольных логических выражений. Каждый фрейм можно рассматривать как сеть, состоящую из нескольких вершин и отношений. На самом верхнем уровне фрейма представлена фиксированная информация: факт, касающийся состояния объекта, который обычно считается истинным. На последующих уровнях расположено множество слотов, которые обязательно должны быть конкретными значениями и данными. Фреймы либо представляют некоторые «куски» знания, которыми можно манипулировать как целыми блоками, либо являются некоторыми структурами для определения составных типов. Соответственно этому, фреймы делятся на функциональные и структурные. Фрейм является простым, если он не содержит в себе других фреймов. Простой функциональный фрейм содержит единственное понятие, выражающее функцию или отношение («центральная вершина»), а также содержит переменные или константы («периферические вершины»). В структурных фреймах, когда в качестве слота фрейма А может использоваться другой фрейм В, существует возможность на множестве фреймов осуществлять иерархическую классификацию. Это очень удобное свойство фреймов применительно к обучающим системам, поскольку учебные знания упорядочены по общности.
Очень часто фреймы организованы в виде ослабленной иерархии (или гетерархии). В гетерархической системе потенциальные возможности для образования самых разнообразных взаимосвязей гораздо шире, чем в системе с жесткой иерархической структурой. Узлы более высоких уровней могут иметь общих наследников на более низких уровнях, что является признаком существования непрямых отношений между такими узлами, т.е. фрейм может наследовать информацию от множества предшественников в системе фреймов. В результате граф, представляющий связи между фреймами больше походит на решетку, чем на дерево, поскольку каждый узел не обязательно имеет единственного предшественника [18].
Все упомянутые модели представления знаний нашли очень широкое применение в обучающих системах из-за своей наглядности и относительно небольшой сложности.
Знания в обучающих системах, формализованные в виде фреймов, семантических сетей, или отображенные с помощью формальных систем, могут быть использованы для представления тех компонентов учебного процесса, в которых наряду с синтаксической составляющей отражена также семантика и прагматика этих объектов.
Важным выводом является то, что формализм семантических сетей и его разновидности целесообразнее применять для представления знаний о предметной области. Особенно осторожно следует относиться к комбинированию структурных моделей с другими моделями. Например, оправданным представляется построение комбинаций формализма сценариев с продукциями, поскольку оба основаны на каузальных отношениях, но весьма сомнительно смешивание фреймовых моделей с логическими.
Инвариантные ассоциативные схемы (Решение проблемы выбора ассоциативных схем)
Индукцией общепринято называть процесс построения гипотез в виде общих закономерностей на основании наблюдения их проявлений в частных случаях.
Индуктивные умозаключения, результатом которых является общий вывод обо всем классе объектов на основании знания лишь некоторых объектов данного класса, называют неполной индукцией.
Простейшие обобщения заключаются в объединении, группировании объектов на основе отдельного признака (синкретические объединения). Более сложным является комплексное обобщение, при котором объект включается в некоторую систему понятий.
К индуктивным обобщениям относится также и аналогия. Аналогия, как и неполная индукция, не дает заключений с необходимостью следующих из посылок, а дает обобщение, имеющее характер гипотезы.
Аналогией называется такое обобщение, когда о сходстве двух объектов по нескольким признакам (частичный прецедент) делается заключение о сходстве этих объектов по другим признакам. Понятно, что заключение (вывод) по аналогии не следует из посылок, поскольку сравниваемые объекты, как бы они сходны не были, имеют всегда признаки, по которым они различаются.
Общим признаком для всех индуктивных умозаключений является то, что знание истинности и определенной структуры посылок не обеспечивает во всех случаях истинности заключения (при одной и той же структуре истинных посылок заключение может оказаться как истинным, так и ложным). Однако в некоторых индуктивных умозаключениях ход рассуждений идет от единичного к общему; в результате анализа единичных факторов можно прийти к обобщениям, от единичных и частных посылок приходим к общему заключению. Такие индуктивные конструкции называются обобщающими.
Очевидно, что индуктивные заключения, выполненные по аналогии, имеют меньшую обобщающую «силу» по сравнению с синкретическим или, тем более, комплексным обобщением.
В дальнейшем, независимо от типа индуктивного заключения, будем рассматривать примеры или факты, или частные случаи, используемые в качестве отправного пункта для последующего обобщения и для подкрепления сделанного обобщения. Тогда индуктивное обобщение в некотором формальном языке — это построение по данному набору предложений (фактов, формул) этого языка новых предложений (или одного предложения) более общих, чем факты (формулы) из данного набора. Отношение предпочтения, построенное с учетом этого требования, должно быть, по крайней мере, квазипорядком. На основании его свойств в терминах формального описания индуктивного обобщения (основного формализма) строятся уже конкретные алгоритмы индукции.
Очевидно, что общие признаки, используемые для построения интенсионала обобщенного понятия, могут относиться не только к данному обобщенному понятию, но и, в случае необходимости, наследоваться понятиями -категориями. Использование индуктивного обобщения и правил наследования признаков обеспечивает мощные механизмы накопления и обработки информации, хранящейся в базе знаний о предметной области или ее фрагментах.
Формализмы индуктивного обобщения обеспечивают возможность структурированного описания предметной области без дублирования информации и возникновения противоречий и вместе с тем позволяют путем использования процедур, аналогичных логическому выводу и основанных на правилах наследования признаков, произвести ее конкретную обработку.
В соответствии с существующими парадигмами, назначением и функциональными возможностями, инструментарий, применяемый при проектировании систем, основанных на знаниях, можно разделить на следующие категории: оболочки экспертных систем (expert system shells), языки программирования высокого уровня и среды программирования, поддерживающие несколько парадигм [21].
Оболочки экспертных систем. Системы этого типа создаются, как правило, на основе какой-нибудь экспертной системы, достаточно хорошо зарекомендовавшей себя на практике. При создании оболочки из системы-прототипа удаляются компоненты, слишком специфичные для области ее непосредственного применения, и оставляются те, которые не имеют узкой специализации. Системы создаются с целью позволить не программистам воспользоваться результатами работы программистов, решавших аналогичные проблемы.
По сравнению с первыми разработками, современные оболочки более гибкие, по крайней мере, в том, что без особого труда могут быть интегрированы в большинство операционных сред, доступных на рынке программного обеспечения, и оснащены достаточно развитыми средствами пользовательского интерфейса.
Например, оболочка Ml может функционировать под управлением любой операционной системы, подключаться к базам данных, иметь средства для включения фрагментов программного кода на языках С, Visual BASIC и Visual C++. Оболочка поддерживает индивидуальную настройку пользовательского интерфейса и возможность формирования пояснений при ответах на вопрос «почему».
ARTTY (Expert Development Package) - это экспертная оболочка, которая интегрирует продукционное и фреймовое представления знаний с различного рода коэффициентами уверенности.
Языки программирования. Концепции представления знаний на основе семантических сетей и фреймов определили появление специальных языков программирования, ориентированных на поддержку этих концепций. Но из десятков, а может и сотен языков представления знаний (Ж13) первого поколения лишь несколько сыграли заметную роль в программной поддержке систем представления знаний. Среди таких ЯПЗ явно выделяются KRL, FRL, RLL и некоторые другие [14].
Наиболее распространены языки: KRL и FRL. Характерные черты этих языков: двухуровневое представление данных; представление связей между понятиями и закономерностей предметной области в виде присоединенных процедур.
Большинство языков, используемых для представления знаний, можно отнести к классу объектно-ориентированных [18]. Совокупность задач, решаемых при использовании объектно-ориентированного подхода в программировании, не столько связана с написанием кода, сколько с общим анализом к будущей программе, а также анализом конкретной ПО, для которой разрабатывается программа [28].
Несмотря на то, что структурированные объекты, например фреймы, оказываются более удобным средством для хранения и манипулирования описаниями объектов предметной области, применение таких знаний требует включения в программу фрагментов программного кода. Поэтому, объектно-ориентированный стиль программирования идеально подходит для решения проблем, требующих детального представления объектов реального мира и динамических отношений между ним, проблем, которые представлены в виде рекурсивных структур данных графов и деревьев. Классическим примером применения данного подхода являются задачи моделирования. В таких программах компоненты сложной системы представляются структурами, инкапсулирующими в данные, и функции, моделирующие поведение соответствующих компонентов. Первым языком, в котором была реализована такая идея, стал SmallTalk [13].