Опубликован: 04.03.2008 | Уровень: профессионал | Доступ: платный
Лекция 2:

Проблема представления данных

Аннотация: В данной лекции рассматриваются проблемы представления данных. Приведены практические примеры и алгоритмы

Задача представления данных

Проблему представления данных можно сформулировать в общем виде следующим образом. Имеется множество объектов T и на нем отношение эквивалентности \tilde{}. Требуется в каждом классе эквивалентных объектов выбрать единственного представителя этого класса. В такой постановке могут быть сформулированы очень многие математические задачи, например:

  1. В качестве T возьмем множество натуральных чисел > 1, каждое из которых можно записать в виде арифметического выражения. В качестве канонического выбираем выражение, которое является произведением простых чисел, расположенных в порядке неубывания. Основная теорема арифметики утверждает, что любое натуральное число представляется в таком виде и такое представление единственно. Таким образом, задача разложения натурального числа на простые множители может рассматриваться как задача представления данных.
  2. Предыдущий пример непосредственно обобщается на любое кольцо с однозначным разложением на множители, элементы которого можно упорядочить. В частности, таковым является кольцо \mathbb Z[x], и мы получаем задачу факторизации многочленов, рассматриваемую в "Алгоритмы Кронекера. Разложение на множители, свободные от квадратов. Факторизация" .
  3. Основная теорема алгебры утверждает, что любой многочлен от одной переменной z с комплексными коэффициентами может быть представлен в виде a(z-\alpha _{1})(z-\alpha _{2})...(z-\alpha _{n}). Таким образом, в этом случае задача представления данных — это задача нахождения всех корней данного многочлена, т. е. задача решения алгебраического уравнения.

1.1. УПРАЖНЕНИЯ. Переформулировать в виде задачи представления данных следующие задачи:

  1. решения системы линейных уравнений с коэффициентами из некоторого поля;
  2. нахождения НОД некоторого множества целых чисел;
  3. нахождения НОД некоторого множества многочленов от одной переменной с комплексными коэффициентами.

Естественно, что в рамках данного курса мы не можем обсуждать проблему представления данных в полном объеме.

Основная цель этой лекции — сформулировать и дать некоторое решение задачи для систем многочленов с коэффициентами из некоторого поля (т. е. для систем нелинейных алгебраических уравнений).

Разнообразие структур данных, используемых в компьютерной алгебре, выдвигает задачу представления данных в ЭВМ на первый план. При аналитических вычислениях (вручную или с использованием ЭВМ) используются элементы таких множеств, как кольцо целых чисел \mathbb Z, поле рациональных чисел \mathbb Q, кольцо вычетов по некоторому модулю \mathbb Zn, кольца многочленов, различные элементарные функции. Объекты этих множеств допускают неоднозначную запись в виде алгебраических выражений, т. е. представление в памяти ЭВМ. Из различных вариантов представления нужно, по возможности, выбрать оптимальное относительно некоторых критериев. Какими же критериями руководствуются математики при выборе представления конкретных элементов?

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

Как правило, рассматриваемая структура данных снабжена некоторым набором арифметических операций, часть из которых определена не для всех значений аргументов. В частности, недопустимо деление на нуль. Тем самым нуль приобретает некоторое особое положение, и возрастает значение задачи определения равенства элемента нулю. Представление, в котором все эквивалентные нулю выражения представляются одним и тем же образом (0), называется нормальным. Любое каноническое представление является нормальным, но обратное верно не всегда. Однако во многих случаях наличие нормального представления позволяет построить каноническое. Если же рассматриваемая структура данных такова, что в ней имеются, кроме нуля, и другие "особые" элементы, то определение нормального представления должно быть усложнено.

Ключевое для канонического представления понятие эквивалентности объектов может быть самым различным. Могут использоваться различные определения эквивалентности объектов даже на одном и том же множестве. Например, на множестве многочленов с коэффициентами из конечного поля можно рассматривать отношение функционального равенства, а можно — отношение эквивалентности между многочленами, рассматриваемыми как элементы кольца многочленов с коэффициентами из заданного поля.

Другим требованием, предъявляемым к выбору представления, является требование естественности. Что понимается под этим требованием? Рассмотрим пример неестественного представления, основанного на методе Брауна. Предположим, что мы умеем определять, являются ли два выражения эквивалентными, и что наша ЭВМ обладает неограниченной памятью. В процессе появления выражений мы будем сравнивать каждое новое выражение с уже встречавшимися нам, которые хранятся в памяти ЭВМ. Если среди ранее встречавшихся выражений имеется эквивалентное исходному, то исходное выражение переписывается в форме эквивалентного ему выражения, уже хранящегося в памяти ЭВМ, в противном случае его форма объявляется каноническим представителем в данном классе эквивалентности и запоминается. К преимуществам такого метода следует отнести его универсальность — метод работает всегда, когда есть алгоритм проверки эквивалентности двух выражений. Недостатком метода является его неестественность, т. е. представление конкретного элемента зависит от того, в какой последовательности элементов он появляется (и в каком месте). Представление называется естественным, если представление каждого элемента определяется одними и теми же правилами, не зависящими от того, в какой последовательности появляется этот элемент.

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

Марина Подлевских
Марина Подлевских

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

Александр Марушко
Александр Марушко
Россия
Стешков Антон
Стешков Антон
Россия, г. Гуково