Институт вычислительной математики и математической геофизики СО РАН



Первая Азиатская Международная Школа-семинар
'Проблемы оптимизации сложных систем'

19-26 июня 2005 г., Новосибирск, Россия

Тезисы докладов


КОМПЬЮТЕРНАЯ АЛГЕБРА КАК БАЗОВЫЙ ИНСТРУМЕНТ НАУЧНОГО ИССЛЕДОВАНИЯ

Калинина Н.А.

Новосибирский Государственный Университет (Новосибирск)

1. УНИВЕРСАЛЬНЫЕ СИСТЕМЫ КОМПЬЮТЕРНОЙ АЛГЕБРЫ

На сегодняшний день термин «компьютерная алгебра» (КА) является вполне устоявшимся термином. Область деятельности, охватываемую этим понятием, называли «аналитическими выкладками на ЭВМ», «аналитическими преобразованиями на ЭВМ», и наконец, « компьютерной алгеброй». Широко распространено определение этого термина как «области информатики, которая занимается разработкой, анализом, реализацией и применением алгебраических алгоритмов».

При выполнении аналитических вычислений мы не сталкиваемся с такими трудностями численных вычислений как ошибки округления, устойчивость, сходимость. С другой стороны, аналитические вычисления имеют свой собственный набор трудностей, среди которых в качестве главных можно указать промежуточное разбухание выражений и экспоненциальность алгоритмов.

В системах компьютерной алгебры (СКА) вычисления выполняются точно. Численные коэффициенты в формулах представляются обычно в виде рациональных дробей с неограниченными длинами числителя и знаменателя. Помимо точной арифметики универсальные СКА также предоставляют пользователю возможность работать и в арифметике с плавающей запятой, причем, с сохранением заданного числа десятичных знаков.

Можно отметить такие пути, прошедшие СКА в своем развитии. Первый путь определялся наличием достаточно мощных персональных ЭВМ, что позволило использовать на них уже существующие СКА. Он состоял в расширении возможностей, предоставляемых этими системами, реализации новых алгоритмов, повышении комфортности работы. При этом можно отметить, что персональные компьютеры образуют хорошую основу для объединения символьных, численных и графических методов.

Другой путь развития СКА определялся повышением интеллектуальности систем. Это направление поддерживалось работами по абстрактным типам данных и искусственному интеллекту. Системы, реализующие абстрактные типы данных, в дополнении к формулам и выражениям, вводят понятия "математического объекта" и при работе с ним учитывают его свойства.

При разработке интеллектуальной СКА применяется подход, несколько отличный от метода расширения уже существующих возможностей системы. Применяемый подход предполагает манипулирование знаниями в концептуальном смысле, а не только манипулирования формулами. Предполагается, что такая система должна основываться на знаниях и использовать методы искусственного интеллекта, методы хранения и поиска знаний.

Появление СКА на персональных ЭВМ шло либо путем проектирования новых систем, либо, и главным образом, путем переноса уже существующих систем. Этот путь удачно прошли REDUCE, MAPLE, SCRATCHPAD (AXIOM), АНАЛИТИК, MATHEMATICA и многие другие системы. Рассмотрим вкратце некоторые из этих систем.

REDUCE –система написана на диалекте языка Lisp, называемым Rlisp и имеет входной язык, похожий на ПАСКАЛЬ. REDUCE включает в себя ядро, которое загружается в начальный момент работы с системой, автоматические пакеты, которые загружаются по первому требованию, и внешние пакеты, которые нужно явно загружать перед использованием. REDUCE использовалась многими исследователями, и при помощи этой системы было получено значительное число результатов. Имеется значительное число пакетов, написанное на REDUCE, в самых различных областях физики. Система REDUCE непрерывно развивается как в отношении встроенных системных средств, так и пакетов применения. За последнее время большое внимание было уделено в REDUCE улучшению интерфейса системы с пользователем.

Система MAPLE в момент создания предназначалась как для общих научных целей так и для целей обучения. Базисная система (ядро) компактно и эффективно. Пользователи MAPLE могут писать свои собственные MAPLE программы. Система обеспечивает удобные средства их разработки и отладки. Сейчас можно наблюдать широкое проникновение MAPLE как в среду рабочего места исследователя (система Scientific WorkPlace – система, где совмещены операции написания формул, проведения выкладок, численных расчетов, графического оформления результатов и подготовки статьи в формате LATEX), так и в широко распространенную среду текстовых процессоров Microsoft, что позволило усилить математическими возможностями MAPLE широко известный редактор. Результаты аналитических вычислений выдаются прямо в редактируемый документ.

Система MATHEMATICA является прекрасно развитой системой как в смысле математического наполнения библиотек так и в смысле хорошо продуманного пользовательского интерфейса. Библиотеки поддерживают работу со специальными функциями, вычисление определенных и неопределенных интегралов, конечных и бесконечных сумм и т. д. MATHEMATICA является одним из самых мощных математических пакетов.

Поскольку формула для многих исследователей является средством получения численного значения, в СКА большое внимание проявляется к проблемам численно-аналитического взаимодействия. Существующие системы обеспечивают это взаимодействие тем или иным способом. Эти способы можно подытожить следующим образом:

1) Обеспечиваются средства генерации ФОРТРАН или СИ программ. Сгенерированные программы передаются Фортран-системам через файлы. 2) СКА строится как набор Фортран или СИ-программ. 3) Расширяется ЛИСП, чтобы иметь возможность исполнять на нем Фортран-программы. Однако, реализация такой системы очень трудоемкое дело. 4) СКА реализуется на языке, который допускает как аналитические так и численные вычисления. Такая стратегия принята в СКА, реализованных на СИ. В этой стратегии есть свои резоны. Но все-таки стоит заметить, что конструирование системы компьютерной алгебры - очень трудоемкое дело, поэтому решать эту задачу путем конструирования новой системы - дело, требующее многого времени. Заслуживает большого внимания подход создания гибридных систем, которые являются смесью программ, записанных на различных языках.

2. ПРИМЕНЕНИЕ КА НАУЧНЫХ ИССЛЕДОВАНИЯХ И ОБУЧЕНИИ

Первоначально, СКА создавались для решений очень трудоемких задач, часто с хорошо определенными правилами решения, но практически не выполнимых из-за громоздкости проводимых выкладок. Одной из первых областей такого применения оказалась небесная механика , в которой решение задач требовало манипулирования разложениями из многих тысяч членов. Небесная механика, общая теория относительности, физика высоких энергий являлись самыми первыми областями применения СКА. С появлением универсальных систем , таких как REDUCE, MATHEMATICA, MAPLE СКА становятся все более привычным и все более необходимым инструментом научной работы. СКА позволяет проводить алгебраические выкладки сразу на компьютере, а также проверять выкладки, ранее проведенные вручную. На сегодняшний день имеется весьма значительное число работ, посвященное различным применениям СКА, ежегодно проводятся ряд представительных конференций по разным вопросам компьютерной алгебры, которые обязательно имеют секции применения компьютерной алгебры. И компьютерная алгебра является обычным инструментом, который используется во всех областях физики.

При использовании систем компьютерной алгебры в обучении можно выделить два направления, а именно: первое - применение СКА при изучении общих курсов и, второе - использование СКА при специализации.

В первом случае важно рассматривать использование СКА с учетом определенных предпосылок, одной из которых является внутренняя готовность преподавателя согласиться с тем, что компьютеры помогают студентам понимать математику, механизмы вычисления, предоставляемые СКА, проясняют математическое понимание предмета, использование СКА помогает студенту помогает студенту контролировать вычисления, проводимые вручную, применение СКА ускоряет обучение математике. Имеется определенный опыт , позволяющий положительным образом оценить применение СКА в обучении. Наличие развитых систем компьютерной алгебры требует значительной переориентации учебного процесса. Преподавание многих учебных курсов может стать значительно эффективнее, если активно использовать возможности автоматического проведения трудоемких алгебраических выкладок.

На кафедре программирования несколько лет читается спецкурс ” Системы и языки компьютерной алгебры”. Он включает в себя рассмотрение архитектуры, организацию внутренних структур данных и изучение базовых алгебраических алгоритмов СКА. В спецкурсе рассматривается опыт построения первых СКА, включая такие отечественные разработки как АНАЛИТИК, АУМ, и другие, так и наиболее значимые зарубежные системы компьютерной алгебры такие как REDUCE, MAPLE и MATHEMATICA.

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

Работа частично поддерживается грантом РФФИ № 05-07-90162. ЛИТЕРАТУРА

1.Н.Н.Васильев, В.Ф.Еднерал Компьютерная алгебра в физических и математических приложениях. Ж.Программирование, 1, 1994,с.70-82. 2.S.Scott.Symbolic Computation and Teaching. // Lect. Notes in Computer Science,1996, N 1138, p.1-20.

Примечание. Тезисы докладов публикуются в авторской редакции



Ваши комментарии
Обратная связь
[ICMMG SBRAS]
[Головная страница]
[Конференции]

© 2005, Институт Вычислительной Математики и Математической Геофизики СО РАН, Новосибирск
© 2005, Сибирское отделение Российской академии наук, Новосибирск
Администратор страницы: sojconf@sscc.ru