Широко обсуждаемые проблемы,
связанные с хранением и обработкой многомерных матриц на вычислительных машинах
и системах, можно свободно отнести к разряду искусственных по следующим
причинам:
− при использовании
многомерных матриц для моделирования процессов обработки данных и повышения ее
эффективности проблема хранения и обработки матриц вообще не возникает, так как
мы оцениваем память, необходимую для хранения не матриц, а их носителей, и
время, необходимое для реализации не самих операций алгебры многомерных матриц,
а их аналогов (реализаций), предполагая, что носители и аналоги операций
реализованы оптимально относительно свойств используемой вычислительной системы;
− при реализации алгебры
многомерных матриц на матричных, и не только, суперкомпьютерах, можно считать,
что затраты на хранение и обработку матриц уже заложены в конструкцию вычислительной
системы и соответствующим образом оптимизированы.
В основу моделирования
данных и их обработки в РАПС мы закладываем многомерные матрицы, определенные
над полем Галуа GF(2) с дизъюнкцией и
конъюнкцией в роли аддитивной и мультипликативной операций соответственно.
Такие матрицы, в дальнейшем называемые логическими многомерными матрицами, есть
наиболее общий и вместе с тем наиболее конструктивный вид задания n-арных отношений, кстати,
составляющих основу всех современных, основанных на реляционной алгебре систем
моделирования и обработки данных.
Выбор логических многомерных
матриц обусловлен тем, что сформулированные сегодня задачи РАПС не требуют выполнения
вычислительных операций непосредственно над полями (атрибутами) баз данныхí. Эти задачи реализуются
посредством комбинаторных алгоритмов: упорядочение, поиск, группировка и
объединение (не только в теоретико-множественном смысле) данных.
Над логическими многомерными
матрицами задаются следующие операции.
Транспонирование. Эта операция в моделировании обработки данных имеет более глубокий смысл,
чем в обычной алгебре. Она не просто сводится к перестановке элементов в
соответствии с заданной подстановкой индексов. Фактически транспонирование приводит
к формированию новой матрицы с большим или меньшим количеством индексов,
которая сможет выступать в роли операнда в одной из унарных или бинарных
операций алгебры многомерных матриц. Такая операция транспонирования представляет
собой композицию
обычного
транспонирования и операций над индексами.
Сечение. Эта
операция реализует выборку из матрицы элементов с фиксированными значениями
одного или нескольких индексов. Выполнение свертки приводит к понижению
размерности матрицы. Аналогом свертки является хорошо известная реляционная
операция выборки (select).
Свертка. Эта
операция выполняет групповую операцию: суммирование, выбор минимального или
максимального элемента и тому подобную, над множествами элементов, соответствующих
всем значениям одного или нескольких индексов. Как и предыдущая операция,
свертка приводит к уменьшению размерности матрицы.
Сложение. В этой операции
принимают участие только матрицы с одинаковыми наборами индексов. Выполнение
сложения осуществляется поэлементно, причем складываются пары элементов
матриц-операндов имеющие одинаковые значения индексов.
Умножение (l,m-свернутое произведение). Эта
операция- наиболее сложная из всех операций алгебры многомерных матриц. Для ее
реализации требуется, чтобы матрицы-операнды имели хотя бы один общий индекс.
Она производится как со сверткой по одному или нескольким индексам, общим для
обеих матриц, так и без свертки. Результатом умножения может быть матрица любой
размерности, от скаляра, до матрицы размерности p+q-1, где
p и q –
размерности исходных матриц.
Здесь мы не
ставили перед собой задачу строгого определения алгебры многомерных матриц.
Заметим только, что в случае логических многомерных матриц над элементами матриц-операндов
выполняются только операции дизъюнкции и конъюнкции. В операции свертки в роли
групповой операции может выступать только операция дизъюнкции.
Алгебра логических
многомерных матриц служат весьма удобным средством для описания данных и
процессов манипулирования ими. Она применима в различных системах обработки
данных:
− в низкоуровневых системах
последовательной обработки файлов, работающих непосредственно под управлением
операционных систем;
− в высокоуровневых,
основанных на сетевых, иерархических и реляционных моделях, в современных
системах управления базами данных.
Основная роль моделей
обработки данных на базе алгебры логических многомерных матриц состоит в том,
что любой процесс обработки данных (запрос к базе данных) может быть
представлен в виде алгебраического выражения, состоящего из матриц-моделей, соединенных
знаками операций алгебры многомерных матриц.
Такое
представление запроса автоматически порождает целый ряд технологических
решений, позволяющих обеспечить основные потребности как разработчиков, так и
пользователей РАПС. Перечислим эти решения.
1. Автоматизация программирования. С помощью предложенной модели можно
достаточно просто реализовать синтез новых запросов как квалифицированным, так
и неквалифицированным пользователем. Первый записывает алгебраическое
выражение, результатом вычисления которого является матрица с набором индексов,
однозначно определяющих требуемые данные. Операция сечения в этом случае уменьшает
множества значений этих индексов, тем самым производя фильтрацию данных. Второй
работает только с набором имен индексов, имеющихся во всех матрицах базы
данных. Он отбирает только те индексы, которые необходимы ему для получения результата,
и устанавливает для них фильтры, перечисляя множества требуемых значений.
Система синтеза процесса обработки данных попарно соединяет матрицы, имеющие
общие индексы в операциях сложения и/или умножения матриц. Операции свертки,
выполняющиеся самостоя-
тельно или в процессе
умножения, приводят к получению матрицы с заданным набором индексов.
Результатом синтеза является алгебраическое выражение, вычисление которого приводит
к требуемой матрице.
2. Оптимизация процессов обработки данных. Возможность оптимизации
определяется двумя факторами. Во-первых, в любой системе обработки данных,
например, конкретной СУБД, способ представления многомерных матриц и алгоритмы
реализации алгебраических операций унифицированы. Это позволяет определить вычислительную
сложность этих алгоритмов. (Как правило, это функция от числа обращений к
носителям информации.) Во-вторых, существует возможность преобразования алгебраического
выражения, основанная на дистрибутивности всех унарных операций относительно
всех бинарных, и дистрибутивности умножения относительно сложения. Возможно
автоматическое преобразование алгебраического выражения с одновременной оптимизацией,
основанной на методах ветвей-границ и динамического программирования.
3. Унификация обработки запросов на сетях. Сформулированный на
персональном компьютере пользователя запрос в виде алгебраического выражения
может быть разослан по сети. На каждом РАПС-сервере, независимо от архитектуры
аппаратных и программных средств (матричный суперкомпьютер, мэйнфрейм или локальная
сеть с СУБД), должен находиться интерпретатор запроса, обеспечивающий оптимизацию
и выполнение запроса.
Все сказанное
свидетельствует о том, что РАПС полностью соответствует определению открытой
системы как системы, которая состоит из компонентов, взаимодействующих
друг с другом через стандартные интерфейсы. В роли таких интерфейсов выступают
методы формализации алгебры, позволяющие проделывать все действия от
адекватного описания предметной области до синтеза и реализации запросов к
данным. РАПС представляет собой мощное методологическое и технологическое средство
повышения качества учебного процесса. Создание практических РАПС над имеющейся
структурой глобальной сети Internet обеспечит взаимодействие
учителей разных уровней и глобализацию образовательной деятельности.
Вместе с тем РАПС относится
к классу автоматизированных систем переработки информации и управления. Поэтому
для разработки конкретных реализаций на разных уровнях и для разных приложений
целесообразно использование тех же принципов, которые уже давно применяются при
разработке различных АСУ. Процесс разработки
РАПС в каждом конкретном случае потребует создания:
− организационного обеспечения, предназначенного для
анализа сложившейся педагогической системы, выбора направлений ее совершенствования,
постановки задач, обеспечивающих эффективное функционирование системы,
формулировки требований к комплексу технических средств, внедрению методов
автоматизации учебного процесса;
− технического обеспечения – комплекса технических
средств, предназначенного для реализации технологических процессов обработки информации
в РАПС, т.е. совокупностей машинно-ручных операций, их технических, организационных
и информационных взаимосвязей;
− программного обеспечения, состоящего из операционных
систем, обеспечивающих решение задач РАПС в локальном и дистанционном режимах и
в реальном масштабе времени, пакетов прикладных программ общего, например,
СУБД, и функционального, реализующего типовые алгоритмы РАПС, назначения, проблемно-ориентированных
систем, обеспечивающих создание РАПС, как имеющимися средствами, требующими лишь
сравнительно небольшой настройки, так и средствами, описывающими информационно-педагогическую
систему с помощью проблемно-ориентированных языков, с последующим автоматизированным
синтезом программного обеспечения;
− лингвистического обеспечения – совокупности языковых
средств, используемых на разных этапах создания РАПС в целях повышения
эффективности разработки и облегчения общения человека с вычислительными средствами;
− математического обеспечения – совокупности средств и методов,
позволяющих математические модели задач автоматизации учебного процесса;
− эргономического обеспечения – совокупности методов и
средств, используемых на разных этапах разработки и функционирования РАПС и предназначенных для выбора проектных решений,
создающих оптимальные условия для быстрейшего освоения и наиболее эффективной
деятельности человека в РАПС.
Разработка обозначенных выше видов обеспечения и является
основным намечаемым результатом исследования авторского коллектива.
Предложенные концепции обеспечивают теоретическую
и методологическую основу для создания всех перечисленных видов обеспечения
РАПС.
í
Впрочем, если
возникнет необходимость моделирования обработки данных с выполнением
вычислительных операций над полями, то заметим, что проблема определения многомерных
матриц над структурными типами данных
уже решена.