Документ взят из кэша поисковой машины. Адрес оригинального документа : http://num-meth.srcc.msu.ru/english/zhurnal/tom_2002/voevodin/lineal.htm
Дата изменения: Tue Oct 28 14:26:43 2014
Дата индексирования: Sun Apr 10 03:54:36 2016
Кодировка: Windows-1251
ЛИНЕАЛ: электронная энциклопедия по линейной алгебре.
Воеводин В.В., Воеводин Вл.В.

ЛИНЕАЛ*: электронная энциклопедия по линейной алгебре.

          Аннотация. В работе рассказывается об информационной системе, ориентированной на использование в сети ИНТЕРНЕТ и предназначенной для организации работы с проблемно ориентированными базами данных в тех предметных областях, в описании которых существенную роль играют причинно-следственные связи. Изложение ведется на примере линейной алгебры. Ничто не мешает вместо нее подразумевать любую другую точную науку.

* работа поддержана грантом РФФИ N° 00-07-90275

          Пытаясь разобраться с линейной алгеброй по традиционному книжному материалу, любой читатель, будь он студентом или крупным специалистом, постоянно встречается с трудностями поиска ответов на вопросы, связанные с логической предисторией того или иного утверждения и его использованием. Книжный материал не приспособлен для подобного поиска, так как все утверждения в нем упорядочены только по мере возрастания номеров страниц в книге, да и то не всегда строго. Но линейная алгебра устроена логически значительно сложнее. Весь материал в ней можно разбить на утверждения, которые представляют описание каких-либо фактов, вводят новые определения или просто комментируют что-то. Каждое из утверждений может сопровождаться примерами, доказательствами, списком литературы или любым другим необходимым материалом. Все утверждения логически связаны друг с другом, показывая, какие утверждения на базе каких строятся. Такую структуру очень трудно отразить в книге. Даже если это удастся сделать, по книжному материалу будет невозможно работать эффективно. Тем не менее, эти трудности вполне преодолеваются, если традиционную базу данных в линейной алгебре, которую по существу и представляет книга, заменить подходящим образом организованной электронной базой. Предварительные соображения по подобной базе данных в линейной алгебре приведены в работах [1,2].
          Предположим, что какая-то предметная область, например, линейная алгебра, разбита на отдельные утверждения. Допустим, что это разбиение устроено таким образом,что каждое утверждение появляется как некоторое следствие конечного числа других утверждений. Будем считать утверждения вершинами графа. Две вершины u,v свяжем дугой, идущей из u в v, если утверждение, соответствующее вершине v, является следствием утверждения, соответствующего вершине u. Предположим, что ориентированный граф ациклический, т.е. двигаясь по направлению дуг из любой вершины, мы никогда не попадем в ту же самую вершину. Такой граф будем называть графом предметной области.
          Зная граф предметной области, можно получать самые различные сведения. Параллельная форма графа разбивает все множество утверждений на отдельные группы. Перенумеруем их последовательно по направлению дуг. Утверждения в одной группе не связаны между собой дугами. Поэтому их можно изучать независимо. Сами группы всегда можно изучать последовательно в порядке роста номеров. Утверждения группы с наименьшими номерами являются базовыми. Они задают для предметной области исходные сведения. В частности, для линейной алгебры в базовые входят утверждения, касающиеся вещественных чисел и произвольных множеств. Проходя по дугам графа вперед и назад, значительно легче представить в целом структуру предметной области, чем читая книгу много раз.
          Конечно, граф предметной области определяется не однозначно. Он зависит от выбора как состава утверждений, так и связей между ними. Для одной и той же предметной области теоретически и то, и другое можно выбирать из различных соображений. Если, например, поставить цель как можно быстрее доказать теорему о приведении матрицы к жордановой форме, то это определяет какой-то набор утверждений и дуг. Различные способы введения понятия определителя матрицы и изучения его свойств задают другие наборы, причем различные для разных способов. Но если объединить различные множества утверждений, появляющиеся при достижении разных частных целей, то очерчивается некоторая совокупность утверждений, которая нужна всем. В этой совокупности можно выделить подмножество, используемое наиболее часто.
          Теперь по выделенной совокупности можно построить граф. Для удобства работы с графом целесообразно множество утверждений предварительно переработать, следя за тем, чтобы в каждую вершину входило не очень много дуг. В противном случае соответствующие утверждения оказываются очень тяжеловесными для доказательства их истинности и, следовательно, для осмысления всего их окружения. Такая переработка не может быть выполнена формально, и для ее реализации необходимо привлечение специалистов высокой квалификации в предметных областях. Эта работа делается только один раз. Для линейной алгебры она была выполнена на основе книги [3]. Заметим, кстати, что, имея в качестве исходной вроде бы неплохо структурированную предметную область, стремление обеспечить малое число входящих дуг, показало наличие в материале большого числа пропусков. Так что фактически книгу [3] пришлось переделывать основательно.
          Сведения в базе данных структурированы по типу энциклопедий. Поэтому в дальнейшем все утверждения будем называть статьями. Сами статьи подразделяются на определения, комментарии и факты, описывающие любые соотношения между какими-то понятиями. Далее всюду утверждениями будем называть только факты. Доказательства истинности фактов и любой другой сопутствующий материал будем называть дополнениями. В настоящее время включенный в базу данных материал по линейной алгебре содержит около 1600 статей. Они разбиты на 84 главы, которые, в свою очередь, объединены в 13 разделов. Материал охватывает все наиболее часто используемые сведения и открыт для расширения. База данных по линейной алгебре и система работы с ней получили название ЛИНЕАЛ. Они будут доступны для свободного пользования из сети ИНТЕРНЕТ.
          Теперь поясним, как работает система ЛИНЕАЛ. Ниже приведенные рисунки сделаны с экрана действующей системы. Текст по существу представляет описание рисунков. Именно этим обстоятельством объясняется отсутствие плавности изложения. Каждая статья в базе данных помечена уровнем сложности знаний. Всего имеется 4 уровня знаний от начального до полного. Поэтому, входя в систему, необходимо, прежде всего, выбрать подходящий уровень. Каждый из уровней имеет свой цвет. Номер каждой статьи окрашен соответствующим цветом. При выборе какого-то уровня знаний исключаются из работы все статьи, имеющие больший уровень. После загрузки системы формируется структурный указатель, относящийся к выбранному уровню. В примере установлен наивысший уровень сложности. Интересующие нас статьи отмечаем "галочками" в квадратиках справа от структурного указателя. При этом номера отмеченных статей появляются в выборке с правой стороны экрана. До Рис. 1 тех пор, пока ни одна из статей не отмечена, выборка пуста. Допустим, что по каким-то соображениям мы интересуемся системами линейных алгебраических уравнений. Подводим курсор к кнопке "+" соответствующего раздела 6 (рис. 1).
Рис. 2           Активизируя курсор, развертываем раздел 6 по главам. Предположим, что интерес представляет глава 6.3 "Основные факты". Подводим курсор к кнопке "+" этой главы. Выборка по-прежнему пуста (рис. 2).
          Снова активизируя курсор, развертываем главу 6.3 по отдельным Рис. 3 статьям. Еще раз отметим, что цвета номеров статей соответствуют уровню сложности. Пусть мы хотим что-то узнать о теореме Кронекера- Капелли. Подводим курсор к номеру 6.3.3 (рис. 3).
          Активизируя курсор, получаем на экране текст нужной статьи вместе с сопутствующим материалом. В данном случае это доказательство теоремы. Внизу экрана расположена записная книжка в Рис. 4 виде одной длинной строки. В нее могут быть записаны непосредственно или перенесены из текста номера тех статей, которые мы по тем или иным причинам хотим запомнить. В данном случае там записаны номера 6.3.2 и 4.4.5, встречающиеся в тексте доказательства (рис. 4).
Рис. 5           Аналогичным образом смотрим текст статьи 6.3.2. В доказательстве встречается ссылка на статью 6.1.10. Допустим, что мы ею заинтересовались. Заносим номер 6.1.10 в записную книжку (рис. 5).
Рис. 6           Отмечаем номера 4.4.5, 6.1.10, 6.3.3 "галочками". Справа в выборке эти номера появляются с указанием названий соответствующих им глав и разделов. Текст любой из выбранных статей можно увидеть, активизируя курсор под его номером в выборке (рис. 6).
Рис. 7           Статью, касающуюся теоремы Кронекера-Капелли, можно найти иным способом, а именно через предметный указатель. Подводим курсор к его окну (рис. 7).
Рис. 8           Активизируя курсор, вызываем предметный указатель. И опять видим, что все номера статей раскрашены цветами, соответствующими уровням их сложности. Подводим курсор к букве "к", с которой начинается название теоремы (рис. 8).
Рис. 9           Название теоремы находится ниже первого списка понятий, начинающегося с буквы "к". Подводим курсор к кнопке, обеспечивающей подъем всего текста указателя до нужного уровня (рис. 9).
          Появляется название теоремы Кронекера-Капелли. Естественно, соответствующая статья имеет тот же номер 6.3.3 и тот же уровень Рис. 10 сложности, что и в структурном указателе. Активизируя курсор около номера статьи, можно вызвать на экран текст статьи. По-прежнему работает записная книжка. Выборка пуста, так как при работе с предметным указателем ничего не было отмечено (рис. 10).
          Отметив "галочкой" статью 6.3.3, мы переносим этот номер в Рис. 11 выборку справа. Посмотреть содержимое можно, активизируя курсор под номером статьи либо справа в выборке, либо слева в предметном указателе. Чтобы посмотреть содержимое слева "галочку" ставить не обязательно (рис. 11).
Рис. 12           Еще один способ нахождения нужного материала связан с поиском по ключевым словам, точнее, по ключевым буквосочетаниям. Подводим курсор под окно "Поиск" (рис. 12).
          Общее число ключевых слов, по которым осуществляется поиск за один раз, должно быть не больше 3. Между словами могут быть установлены любые логические функции типа и/или. Поиск можно Рис. 13 осуществлять среди частей статей (заголовки, тексты, дополнения) и/или среди функциональных групп статей (определения, утверждения, комментарии). Набрав словосочетание "Кронекера-Капелли" и отметив глобальный поиск, подводим курсор под кнопку "ОК" (рис. 13).
          Активизируя курсор, осуществляем поиск. На экране слева внизу появляется список статей, в которых встретилось заданное словосочетание. Снова цвета номеров окрашены соответственно уровню сложности. Справа в выборке появляются номера тех же найденных статей. Убирая "галочки" у каких-то статей слева внизу, можно исключить соответствующие номера в выборке. Можно продолжить поиск по новым словосочетаниям. Активизируя курсор около кнопки "+", мы к старой выборке добавляем новую. Активизируя курсор около кнопки "-", мы исключаем из старой выборки новую. Если при многократном поиске одна и та же статья выбирается несколько раз, то она показывается только однажды. При поиске со словосочетанием Рис. 14 "Кронекера-Капелли" было найдено две статьи. Кроме уже известной статьи 6.3.3 появилась еще статья 6.4.0.1. Чтобы посмотреть ее текст, подводим курсор к номеру 6.4.0.1 в выборке или слева внизу (рис. 14).
Рис. 15           На экране текст статьи. Словосочетание "Кронекера-Капелли" выделено цветом. Допустим, что мы заинтересовались статьей 5.2.23, на которую есть ссылка в тексте. Заносим этот номер в записную книжку (рис. 15).
Рис. 16           Текст статьи 5.2.23 представлен на экране (рис. 16).
          Для каждой статьи в базе данных указан список ее статей- предшественников и по нему определяется список статей-следствий. И предшественники, и следствия только ближайшие. Исследуем, например, Рис. 17 предшественников теоремы Кронекера-Капелли. Подводя курсор к кнопке предшественников, мы видим, что общее их число равно 9 (рис. 17).
          Активизируя курсор, получаем на экране список всех ближайших предшественников статьи 6.3.3. Текст каждой из статей можно посмотреть, активизируя курсор около соответствующего номера. Рис. 18 Отметим всех предшественников "галочками". Допустим, что теперь мы хотим посмотреть предшественников для статьи 6.3.2, самого ближайшего из предшественников статьи 6.3.3. Подводя курсор к кнопке предшественников, видим, что общее их число равно 5 (рис. 18).
          Опять активизируя курсор, получаем новый список предшественников. Также отметим их всех "галочками". Со всей совокупностью отмеченных статей можно выполнить ряд действий: Рис. 19 показать тексты, показать граф логических отношений или вернуться к структурному указателю с новой выборкой. Предположим, что мы хотим увидеть граф отношений. Подводим курсор к соответствующей кнопке (рис. 19).
          Активизируя курсор, получаем граф. В таком виде с ним не всегда удобно работать. Значительно удобнее работать с канонической параллельной формой графа. В канонической форме все вершины графа разбиваются на группы. Перенумеруем их подряд целыми Рис. 20 неотрицательными числами, начиная с 0. В группу с номером 0 не входят дуги. В каждую из вершин группы с номером "к", большем или равным 1, обязательно входит хотя бы одна дуга из какой-то вершины с номером "к-1". Чтобы поставить номера групп около вершин графа, следует поставить "галочку" на кнопке "levels" (рис. 20).
Рис. 21           Поставив "галочки" на кнопках "levels" и "level out", получаем параллельную форму графа логических отношений отмеченных статей. Хорошо видно, что от чего зависит (рис. 21).
Рис. 22           Теперь проведем следующий эксперимент. Установим наивысший уровень сложности. Отметим "галочками" все статьи базы данных. Напомним, что их около 1600. Подведем курсор к кнопке "граф отмеченных статей" для получения графа предметной области (рис. 22).
          Так выглядит начало графа предметной области, содержащее Рис. 23 группы с номерами 0 - 4. Подведем курсор к кнопке "level out" для получения канонической параллельной формы графа (рис. 23).
          Так выглядит упорядоченное по группам начало графа предметной области. Показаны группы с номерами от 0 до 4. Если из какой-то Рис. 24 вершины не выходят дуги, это означает, что те вершины, в которые дуги должны входить, находятся в группах с большими номерами (рис. 24).
          Передвигаем граф на группы с номерами от 18 до 22. Конечно, глядя на него, трудно что-либо понять в связях. Имеется возможность Рис. 25 избавиться от "лишних" дуг. Допустим, что мы хотим проанализировать связи в окрестности вершины с номером 8.2.6. Около нее стоит курсор (рис. 25).
          Активизируем кнопку "selective mode". Появляется возможность отметить любую вершину, указать характер выделяемых дуг (входящие и/или выходящие), связанных с данной вершиной, и зафиксировать длину Рис. 26 цепочек дуг. Длины цепочек указываются от 1 до3. Большие длины использовать не целесообразно, так как в них будет трудно разбираться. В рассматриваемом случае для вершины с номером 8.2.6 выбран режим выходящих дуг и длин цепочек, равных 1 (рис. 26).
          Содержание статей, соответствующих любым вершинам, можно Рис. 27 посмотреть. Для этого сначала активизируем кнопку "show text". Затем в список, находящийся вверху справа, переносим нужные номера, активизируя их курсором на вершинах графа. В данном случае в список занесен номер 8.2.6 (рис. 27).
Рис. 28           Виден текст статьи 8.2.6 (рис. 28).
          Передвигаем граф на группы с наибольшими номерами. Самый большой номер равен 49. Там находятся статьи с номерами 11.4.6 и 11.4.8. Это самые сложные статьи. На группе с номером 47 находятся Рис. 29 статьи с номерами 11.4.20 и 11.4.9. На эти две статьи никакие другие статьи не опираются. Предположим, что мы интересуемся содержанием статей с номерами 11.4.8 и 11.4.9 (рис. 29).
Рис. 30           Находить указанные статьи можно любым из рассмотренных ранее способов, например, через структурный указатель. Подводим курсор к кнопке "+" раздела 11, так как первая часть номеров 11.4.8, 11.4.9 равна 11 (рис. 30).
Рис. 31           Активизируя курсор, развертываем раздел 11 по главам. Подводим курсор к кнопке "+" главы 4, так как вторая часть номеров 11.4.8,11.4.9 равна 4 (рис. 31).
Рис. 32           Снова активизируем курсор, развертывая главу 4 по статьям. Отмечаем "галочками" статьи 11.4.8, 11.4.9. Соответствующие номера переносятся в выборку справа. Подводим курсор к кнопке "Тексты статей" (рис. 32).
Рис. 33           На экране появляются тексты отмеченных статей. Это одни из самых сложных статей в базе данных системы ЛИНЕАЛ (рис. 33).
          Отбирая описанными способами группы статей, можно решать самые различные задачи в области линейной алгебры: находить нужные факты, строить базы для получения новых сведений, формировать различные подобласти знаний и многое другое, на что хватит фантазии.
          В настоящей статье описаны идейная и функциональная стороны системы ЛИНЕАЛ. Ее программная оболочка создана Брызгаловым П.А.


Литература

1. Воеводин В.В., Воеводин Вл.В. Интернет-макет теоретического курса линейной алгебры. Тр. Всеросс. Науч. конф. "Научный сервис в сети ИНТЕРНЕТ", М., Изд-во МГУ, 1999, стр. 22-25.
2. Воеводин В.В., Воеводин Вл.В., Брызгалов П.А. О некоторых проблемах компьютеризации знаний. Тр. Всеросс. Науч. конф. "Научный сервис в сети ИНТЕРНЕТ", М., Изд-во МГУ, 2000, стр. 15-16.
3. Воеводин В.В., Кузнецов Ю.А. Матрицы и вычисления. М., Изд-во "Наука", 1984, 319 стр.