Educational Technology & Society 3(2) 2000
ISSN 1436-4522
pp. 126-133

Обучающая система по решению графовых задач

Л.О. Мурга
Казанский Государственный Технический Университет
им. А.Н.Туполева

АННОТАЦИЯ
Представлены основные характеристики современных компьютерных обучающих систем (ОС). Приведены достоинства и недостатки компьютерного обучения. Выделены требования к компьютерным обучающим программам. Даны некоторые методы интеллектуализации ОС. На примере обучающей системы по решению графовых задач продемонстрированы основные компоненты современных компьютерных ОС. Показана важность включения в обучающую систему (особенно для обучения инженерным специальностям) контроля практических навыков и результаты реализации этого контроля на примере обучающей системы по теории графов. Дано краткое описание разработанной в процессе создания обучающей системы библиотеки классов для работы с графами и решения графовых задач.

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

Введение

Одним из основных направлений развития программного обеспечения образовательного процесса является разработка и внедрение обучающих систем. В последнее время такие системы получили заслуженное признание. Уже накопленный опыт использования обучающих систем для индивидуального и группового обучения в школе и в высшем учебном заведении высвечивает их слабые и сильные стороны.
К недостаткам компьютерных обучающих систем можно отнести уменьшение возможности непосредственного контакта с аудиторией и с преподавателем, неблаготворное влияние компьютера на здоровье человека и т. д.
Однако достоинства превалируют над недостатками: отмечается резкое возрастание активности обучающихся, увеличивается объем "впитываемой информации", за счет работы на тренажерах облегчается выработка практических навыков, создается возможность решения большого количества учебных и профессиональных задач. Компьютерные технологии обучения позволяют активнее включаться в многосторонний процесс обмена информационными ресурсами, что в конечном итоге позволит свободно ориентироваться в информационных потоках, участвующих в решении социальных задач (Гнитецкая, 1997). Применение компьютерных обучающих систем (ОС) в учебном процессе позволяет разработать индивидуальный специальный график обучения в связи с разным уровнем подготовки и способностей обучающихся. Использование обучающих систем облегчает труд преподавателей, позволяет более рационально использовать время преподавателей и студентов, как на занятиях, так и при самостоятельной проработке учебного материала.
Подготовка каждой системы ОС требует внимательного подхода. В настоящее время можно выделить следующие основные требования к компьютерным обучающим программам. К ним относятся:
- Мотивация - необходимая составляющая обучения, которая должна поддерживаться на протяжении всего процесса обучения. Большое значение имеет четко определенная цель, которая ставится перед студентом. Мотивация быстро снижается, если уровень поставленных задач не соответствует уровню подготовки студента.
- Постановка учебной цели. Студент с самого начала работы за компьютером должен знать, что от него требуется. Задачи обучения должны быть четко и ясно сформулированы.
- Создание предпосылок к восприятию учебного материала. Для создания предпосылок к восприятию материала могут быть полезны вспомогательные материалы (руководства для студентов), входящие в комплект готового пакета или подготовленные самим преподавателем. Возможно проведение предварительного тестирования.
- Подача учебного материала. Стратегия подачи материала определяется в зависимости от решаемых задач. Важной проблемой является оформление кадров, подаваемых на экран дисплея. Необходимо использовать известные принципы удобочитаемости.
- Ответы студентов. Одним из наиболее сложных вопросов является набор ответов. Эффективность ввода ответов в настоящее время зависит от квалификации разработчика программы и используемой инструментальной среды.
- Обратная связь. Этот критерий имеет ключевое значение для обучаемого, меньше - в тестирующей программе, больше - в тренажерной. Компьютер способен обеспечить обратную связь, причем помощь эта может быть индивидуальной.
- Оценка. В ходе работы с компьютером студенты должны знать, как они справляются с учебным материалом. Однако предпочтительно не указывать количество неправильных ответов до окончательного подведения итогов. Большинство студентов, как правило, стимулирует небольшое число оставшихся заданий, большое число выполненных заданий стимулирует меньше (Кухаренко, 1997).

Обучающая система по решению графовых задач

Проиллюстрируем изложенные выше утверждения на примере обучающей системы по решению графовых задач.
Одной из целей разработки рассматриваемой обучающей системы было создание программного продукта, способного привить студенту навыки решения графовых задач любой сложности.
Обучающая система включает в себя следующие основные разделы теории графов:
- задача нахождения пути с наименьшим числом дуг;
- задача нахождения пути наименьшей длины;
- задача нахождения максимального потока в транспортной сети;
- задача раскраски графа;
- задача нахождения кратчайшего остова;
- задача нахождения гамильтонова пути.
Обучающая система рассчитана на студента, знакомого с основными понятиями теории графов.
Задача представления учебного материала предполагает различные решения, одно из которых реализовано в данной обучающей системе. Автор имеет в виду оформление учебника. Электронный учебник составлен в виде гипертекста (см. рис.1).


Рис. 1.

Размещение теоретического материала рекомендуется делать многоуровневым. На первом уровне показывается структура учебника и аннотация разделов со списком литературы (ссылки на другие статьи). Для углубления материала по отдельным положениям используются гиперссылки. Глубина гиперссылок определяется требуемым уровнем освоения теоретического материала.
Работа с гипертекстом - это нелинейный процесс работы по многочисленным направлениям. Нелинейные характеристики гипертекста создают новую среду для чтения. В работе с гипертекстом студент занимает более активную позицию в процессе обучения, развивается критическое мышление, так как он должен сделать выводы по поводу прочитанного материала. Обучение становится ориентированным на студента.
Учебник по теории графов содержит всю информацию, необходимую для успешного прохождения последующего контрольного тестирования. Учитывая сложность материала и ограниченность времени обучения, теория представлена в виде гипертекста с минимальным количеством математических символов. Сложные понятия расшифровываются более простыми и понятными определениями.
Многие алгоритмы теории графов являются сложными для быстрого понимания, поэтому в гипертекст теории включен пример работы алгоритма на конкретном графе (рис. 2).


Рис. 2.

При помощи гиперссылок обучаемый может легко проследить весь процесс решения задачи, имея возможность быстрого просмотра любого интересующего его шага. Подбор примера осуществлялся с учетом следующих двух условий:
- пример имеет среднюю степень сложности;
- процесс решения приведенной в примере задачи затрагивает все шаги алгоритма.
Для проверки теоретических знаний студент должен пройти тестирование (рис.3).


Рис. 3.

Подбор вопросов для теста осуществлялся на основе теории предлагаемого учебника. Таким образом, достаточным условием успешного прохождения теста является внимательное изучение теоретического материала в начале работы обучающей системы. Количество предлагаемых вопросов невелико (от 5 до 10 в зависимости от сложности темы). Но по своему содержанию они представляют собой контрольные точки, помогающие выявить знания студента, как основных определений, так и шагов работы алгоритма. Для каждого вопроса предлагается три варианта ответа, из которых только один является верным. Позиции для вариантов ответов генерируются случайным образом. Если обучаемый допускает три ошибки, то тестирование прекращается с оценкой "неудовлетворительно". Оценки "удовлетворительно", "хорошо" и "отлично" студент получает, если общее число допущенных ошибок составляет 2, 1 и 0 соответственно. Вопросы, на которые был дан неправильный ответ повторяются.
Однако оценивание студента не является главной целью теста. Тест должен выявить слабые стороны обучаемого и подготовить его к основному шагу обучения - контролю практических навыков. Следует отметить, что в обучающей системе нет строго определенной последовательности прохождения этапов обучения. Студент может сразу перейти на проверку практических навыков или тестирование. Вероятность прохождения этого контроля без достаточных знаний очень мала. Поэтому студент вынужден будет вернуться к изучению теории. Причем в этом случае осознание необходимости изучения материала для прохождения контроля увеличивает активность обучаемого, создает те самые предпосылки, о которых говорилось выше.
В данный момент основным подходом к созданию обучающих комплексов является пакет, состоящий из электронного учебника и теста. Нельзя недооценить важность этих элементов в процессе обучения. Но, к сожалению, такой комплекс не в состоянии выработать практические навыки, например, для решения уравнений (Кузлякина В.В., Холина, 1997). Для выработки практических навыков у студентов (особенно инженерных специальностей) необходимо включить в обучающий комплекс так называемый контроль практических навыков. Под контролем практических навыков автор понимает проверку процесса решения конкретной задачи обучаемым. В ходе проверки, допуская и исправляя ошибки под бдительным контролем системы, студент не только показывает имеющиеся знания, но и получает новые навыки решения практических задач.
Существует несколько принципиально различных подходов к организации подобного режима:
- использование генератора задач или заранее подготовленного набора задач;
- проверка промежуточных шагов или только конечного ответа;
- поддержка выбранного обучаемым или одного строго определенного пути решения задачи;
- включение в систему режима подсказок или предоставление обучаемому возможности самому локализовать ошибку и искать ее причину.
Наличие первых двух возможностей отличает системы поддержки решения от систем других групп, способных разве что на проверку уже готового решения. Наличие хотя бы одной из остальных дает системе право называться интеллектуальной.
Выбор того или иного подхода зависит от конкретного случая. Основными определяющими факторами являются предметная область обучающей системы и трудоемкость создания.
Рассмотрим реализацию контроля практических навыков в обучающей системе по решению графовых задач. Целью включения этого элемента в обучающую систему является выработка у студента практических навыков.
Следует сказать несколько слов о специфике решения графовых задач. Алгоритм решения таких задач содержит обычно несколько итеративно повторяющихся шагов с отличной друг от друга логикой. Освоение алгоритма подразумевает освоение каждого из этих шагов. Поэтому выбор был сделан в пользу подхода с контролем всех промежуточных этапов решения задачи. В ходе контроля обучаемому предлагается выполнить очередной шаг алгоритма (рис.4).


Рис. 4.

В большинстве случаев система производит проверку его действий после нажатия обучаемым на кнопку "Ответ готов", давая таким образом студенту возможность проанализировать свои действия самостоятельно без вмешательства системы. Однако если очередной этап представляет собой сложный и длительный механизм "помечивания", то для того, чтобы студент не нарабатывал неправильные навыки, система проверяет каждое действие обучаемого и в случае ошибки (например, присвоении вершине неправильной метки) сразу выдает сигнал.
Сигнал об ошибке представляет собой сообщение с указанием места ошибки, причины ошибки или только пункта алгоритма, который студент должен повторить. Выбор реакции зависит от конкретного случая. Сообщение об ошибке должно помогать студенту прийти к правильному решению, но не выполнять за него всю работу. Например, если обучаемый на вопрос: "Какая вершина должна получить нулевую метку?" вместо вершины №1 укажет вершину №2, то сообщение "Ошибка! Нулевую метку получит вершина №1" даст возможность обучаемому перейти на следующий шаг алгоритма, но лишит его возможности найти ошибку самостоятельно. Поэтому в данном случае будет выдано сообщение: "Ошибка! Повторите первый пункт алгоритма".
Рассмотрим еще один пример. Допустим, в ходе поиска кратчайшего пути обучаемый правильно расставил все метки, пропустив случайно вершину №5. При выдаче сообщения "Ошибка! Повторите 3-й пункт алгоритма" студент снова проверяет все вершины и снова упускает из вида вершину №5. Разработчиками системы было решено, что в данном случае студенту можно помочь и сообщение было изменено на "Ошибка! Проверьте вершину №5".
Специфической особенностью графовых задач является существование нескольких путей решения в рамках одного алгоритма. Это связано с тем, что многие шаги алгоритма представляют собой операции по обработке наборов вершин или ребер. Ход решения задачи зависит от того, какая вершина или какое ребро будут обработаны первыми. В представленной обучающей системе по решению графовых задач реализована поддержка произвольного пути решения, выбранного обучаемым, которая является важным качеством учителя-человека. Система поддержки процесса решения задачи выполняет функцию педагога, наблюдающего за решением задачи студентом "у доски".
Отдельный блок обучающей системы отвечает за генерацию графа. При помощи этого блока исключается возможность прохождения студентом контроля по заранее заученному маршруту. Работа генератора зависит от задачи, для которой генерируется граф. Например, в случае задач поиска пути наименьшей длины, поиска кратчайшего остова и поиска максимального потока генератор использует заданный заранее шаблон графа, генерируя веса ребер. А для задачи раскраски графа генерируется структура графа, параметры которой могут быть заданы пользователем или выбраны по умолчанию.

Заключение

В процессе работы над обучающей системой была разработана и реализована специализированная библиотека классов для работы с графами и решения графовых задач.
При проектировании и реализации библиотеки учитывались уже известные методы и алгоритмы решения графовых задач, а также принципы объектно-ориентированного программирования. Библиотека не представляет трудностей для стороннего пользователя, незнакомого с деталями ее разработки. В тоже время, учитывая принципы наследования объектной технологии, библиотека способна расширяться, т.е. существует возможность добавления новых классов, не нарушая целостность структуры библиотеки.
В классах реализованы основные операции над графами и алгоритмы решения графовых задач. В качестве языка программирования используется С++.
Базовым классом является класс SimpleGraph, который описывает простой граф. Граф представлен в виде двух списков - списка ребер и списка вершин. В классе также реализованы основные операции, такие как, добавление и удаление вершин, добавление и удаление ребер, поиск смежных вершин.
Остальные типы графа (орграф, взвешенный граф, взвешенный орграф) с точки зрения программирования незначительно отличаются от простого графа. Поэтому они реализованы в классах OrGraph, WorGraph и Wgraph, порожденных от класса Graph с изменением методов поиска смежных вершин для ориентированных графов и добавлением веса дуги для взвешенных графов. Эти четыре класса можно назвать "основными" классами библиотеки. Все остальные классы - "классы-интерфейсы" - созданы на основе этих четырех классов с добавлением своих уникальных методов для решения конкретных графовых задач. В данный момент библиотека насчитывает 12 классов.
Обучающая система реализована в среде Borland C++ Builder 4.0, которая является одним из наиболее удобных и мощных инструментов создания Windows-приложений. Интерфейс системы полностью соответствует всем современным требованиям.
В настоящее время представленная система используется в процессе обучения в Казанском Государственном Университете им. Туполева на кафедре Прикладной Математики и Информатики.

Литература

Гнитецкая Т.Н., 1997. Гнитецкая Т.Н. О концептуально-информационном подходе к обучению // Новые информационные технологии в образовании. Тезисы докладов первой дальневосточной школы-семинара -ДВГУ,1997.
URL: http://www.dvgu.ru/vido/supermarket/Data/konf/kon.html
Поспелов Г.С., 1988. Поспелов Г.С. Искусственный интеллект - основа новой информационной технологии.-М.: Наука, 1988.-212 c.
Кухаренко В.Н., 1997. Кухаренко В.Н. Создание дистанционного курса Харьковский ГПУ,1997.
URL: http://www.dist-edu.ru/konf/7KONF_DO/dokl/kuhar.htm
Андреев А.А., 1999. Андреев А.А. Введение в дистанционное обучение. // Тезисы докладов IV Международной конференции по дистанционному образованию. Москва, 1999.
URL: http://www.dist-edu.ru/konf/4KONF_DO/broshur.html
Кузлякина В. В., Холина Н. Н., 1997. Кузлякина В. В., Холина Н. Н. Организация автоматизированных обучающих систем по инженерным дисциплинам. // Новые информационные технологии в образовании. Тезисы докладов первой дальневосточной школы-семинара -ДВГУ,1997.
URL: http://www.dvgu.ru/vido/supermarket/Data/konf/kon.html
Христочевский С.А.,1999. Христочевский С.А. Базовые элементы электронных учебников и мультимедийных энциклопедий. -М.: Наука. Физматлит, 1999.- с.202-213.