Алгебра и пакет Mathematica 5



Отличия систем компьютерной алгебры от традиционных систем программирования



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

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

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

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