Научная статья на тему 'Быстрая нумерация элементов грассманиана'

Быстрая нумерация элементов грассманиана Текст научной статьи по специальности «Математика»

CC BY
114
26
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
КОДИРОВАНИЕ / НУМЕРАЦИОННОЕ КОДИРОВАНИЕ / БЫСТРОЕ КОДИРОВАНИЕ / ТЕОРИЯ ИНФОРМАЦИИ / INFORMATION THEORY / CODING

Аннотация научной статьи по математике, автор научной работы — Медведева Юлия Сергеевна

Грассманиан G q(n, k) — множество всех k-мерных подпространств векторного пространства F n q над конечным полем размера q. Задача кодирования элементов грассманиана рассматривалась во многих работах и находит применение в сетевом кодировании. В настоящей работе предлагается нумерационный метод кодирования элементов грассманиана, превосходящий по скорости методы кодирования элементов грассманиана, известные ранее.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Fast Enumeration of Grassmannian Elements

The Grassmannian G q(n,k) is the set of all k-dimensional subspaces of vector space F n q. The coding of elements of Grassmannian was considered in many papers and has the application in network coding. We present the advanced algorithm of the enumerative coding of the elements of the Grassmannian, which has less computational complexity than other known algorithms of coding of Grassmannian elements do.

Текст научной работы на тему «Быстрая нумерация элементов грассманиана»

Вычислительные технологии

Том 18, № 3, 2013

Быстрая нумерация элементов грассманиана

Ю. С. Медведева Институт вычислительных технологий СО РАН, Новосибирск, Россия

e-mail: mjulja@gmail.com

Грассманиан Gq(n,k) — множество всех k-мерных подпространств векторного пространства F™ над конечным полем размера q. Задача кодирования элементов грассманиана рассматривалась во многих работах и находит применение в сетевом кодировании. В настоящей работе предлагается нумерационный метод кодирования элементов грассманиана, превосходящий по скорости методы кодирования элементов грассманиана, известные ранее.

Ключевые слова: кодирование, нумерационное кодирование, быстрое кодирование, теория информации.

Введение

Пусть Fq — конечное поле размера q. Грассманианом называется множество всех k-мер-ных подпространств векторного пространства F^, обозначаемое Gq(n, k), для любых k и n, 0 < k < n. Нумерационным кодированием элементов грассманиана Gq(n, k) является сопоставление каждому элементу грассманиана его номера, т. е. двоичного слова из промежутка [0,..., |Gq(n, k)| — 1]. Задача кодирования элементов грассманиана в течение последних сорока лет рассматривалась во многих работах, например в [1-7]. В [8] было показано, как использовать коды с исправлением ошибок на множестве Gq(n, k) в случайном сетевом кодировании. Это приложение привело к появлению большого числа исследований в данной области [9-19]. В работе Н. Зильберштейн и Т. Эцио-на [20] представлен алгоритм нумерационного кодирования элементов грассманиана, сложность которого равна O(nk(n — k) log n log log n). В настоящей работе предлагается улучшенный алгоритм нумерационного кодирования элементов грассманиана, сложность которого O(lognM[n2]), где M[а] — время умножения двух слов длины а. Таким образом при использовании алгоритма быстрого умножения Фюрера [21] сложность предлагаемого алгоритма равна O(n2 log2 n2O(log*n)). Улучшенный алгоритм основан на методе быстрой нумерации комбинаторных объектов [22]

1. Определения и предварительные результаты

Известно, что мощность грассманиана Gq(n, k) равна

n k

гауссов коэффициент, определяемый следующим образом

[23], где

q

есть q-ичный

q

q 1 qn-i _ 1

п

qk-i — 1 q i=о 4

Алгоритм нумерации элементов грассманиана, представленный в настоящей работе, как и описанный в [20], основан на методе Ковера [24] для нумерации элементов произвольного множества векторов длины n над конечным алфавитом A = {0,1,... , k — 1}, расположенных в лексикографическом порядке.

Обозначим через S Е An нумеруемое множество, через nS(xbx2,..., i,m) — количество векторов из S, у которых первые j координаты равны (x1, x2,... , xj-1, m). Согласно методу Ковера, номер элемента множества x Е S, упорядоченного лексикографически, найдем по формуле

n

code(x) = ^^ ^^ nS(x1, x2,..., xj-1, m). (1)

j=1 m<xj

Любое k-мерное подпространство X Е Gq(n, k) может быть представлено в виде матрицы k х n, строки которой составляют базис X. Такую матрицу k х n назовём матрицей ступенчатого вида по строкам, если соблюдены следующие условия: старший коэффициент каждой строки находится правее старшего коэффициента предыдущей строки, все старшие коэффициенты имеют значение 1 , каждый старший коэффициент является единственным ненулевым элементом в своём столбце. Каждое подпространство X можно представить в виде единственной матрицы ступенчатого вида по строкам. Обозначим такую матрицу RE (X) = (Xn,... , X2, X1). Будем нумеровать её столбцы справа налево, т. е. называть X1 первым столбцом, а Xn — последним. Например, некоторое трёхмерное подпространство X Е G2(8, 3) векторного пространства F| можно представить в виде матрицы 3 х 8:

01100010 RE (X) = 10 0 0 1 0 0 1 0 \0 0 0 0 0 1 1 1

В работе [20] вводится понятие расширенного представления элементов грассмани-ана, которое используется и в предлагаемом алгоритме нумерации.

Каждое k-мерное подпространство X Е Gq(n, k) имеет вектор идентификации v(X) [25]; v(X) — это вектор длины n, состоящий из нулей и единиц, имеющий вес k, позиции единиц в котором совпадают с номерами столбцов, в которых находятся старшие коэффициенты RE(X). Для трёхмерного пространства X Е G2(8, 3) из рассматриваемого примера таким вектором будет вектор v(X) = (0,1, 0,1, 0,1, 0, 0).

Расширенное представление подпространства X, обозначаемое EXT (X), является матрицей (k + 1) х n, верхней строкой которой является вектор идентификации v(X) = (v(X)n,... , v(X)1), а оставшейся частью — матрица ступенчатого вида по строкам, представляющая X:

EXT (X )= (V [X >" ... V >2 V <X >1

Xn . . . X2 X1

Для восьмимерного пространства X Е G2(8, 3) из примера

01010100 EXT (X)= 0 1 1 0 0 0 1 0 (X )= 0 0 0 1 0 0 1 0

\0 0 0 0 0 1 1 1/

Такое представление избыточно, но может быть использовано для эффективного нумерационного кодирования.

Пусть x — вектор длины r над алфавитом {0,1,... , q — 1}, равный (xi, x2,... , xr). Обозначим через {x} значение x1qr-i + x2qr-2 + ■ ■ ■ + xrq0, т. е. число, которому равен вектор x, если рассматривать его как число в q-ичной системе исчисления.

Пусть X, Y £ Gq(n, k) — два k-мерных подпространства, EXT(X), EXT(Y) — их расширенные представления соответственно. Пусть 0 < i < n — наименьшее такое

число, что столбцы

(X)Л и К)

X

Y

не совпадают. Тогда считаем, что X < Y, если

Перейдём к описанию алгоритма нумерации, предлагаемого в [20].

. Это определение задает порядок на Gq(n, k).

Обозначим через N ( X"

vi Xi

количество элементов Gq(n, k), первые j столб-

цов которых равны

Xj

vi Xi

Будем рассматривать множество q-ичных векторов

длины к +1 как конечный алфавит. Тогда для кодирования и декодирования элементов грассманиана можно использовать метод Ковера. Элементы грассманиана рассматри-

ваются как векторы длины п над данным алфавитом. При этом X ^Л

\хз

соответствовать п^(х^ х2, ...Xj).

Обозначим через Wj вес первых ] элементов вектора ^(Х), т. е. Wj -Лемма. Для любого ], 1 < ] < п, справедливо равенство

vi Xi

будет

Е vi. i=i

N ( vj N 1 X,

vi Xi

n—j k — w

jj

Доказательство. Пусть подпространство X £ Gq(n, k), первые столбцы его рас-

ширенного представления EXT(X) равны

X,

vi Xi

. Среди последних n — j эле-

ментов v(X) будет k — wj единиц, и нижние w, элементов последних n — j столбцов EXT(X) будут нулевыми. Следовательно, матрица (n — j) х (k + 1 — w,), получаемая из EXT(X) вычёркиванием j первых столбцов и w, нижних строк, является расширенным представлением подпространства, принадлежащего множеству Gq(n — j, k — w,). Отсюда имеем

N,|

3

vi Xi

n—j kw

Лемма доказана.

Теорема 1. Пусть X £ Gq(п, &) — подпространство, для которого

EXT (X)

Xn

v2 vi X2 Xi

Обозначим его номер среди элементов Gq(п, &), расположенных в лексикографическом порядке, через 1ехт(X). Тогда справедливо следующее равенство:

iext (x ) —

£

i=i

v, qk-Wj-1 + (1 — v,)

{X,}

n — j k — w,_ i

v

v

q

v

q

v

n

w

q

Доказательство. Из формулы (1) следует

'EXT

(x )

Е Е

j=1

X

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

U Vj-\

W X7_ i

Vl

X!

UV

j

W <X

При вычислении j-го слагаемого в формуле (3) будем разделять два случая.

Случай 1: Vj = 1. Это означает, что столбец Xj состоит из k — 1 нулей и единицы на (k — Wj-^-й позиции сверху, т.е. {Xj} = qwj—1. Значит, EXT(X) имеет вид

Vn ... Vj+1 1 Vj-1 ... Vl

Xn ... Xj+1 {qWj—1} q Xj-1 . . . Xi

Следовательно, подпространство Y G Gq(n, k) такое, что у EXT(Y) и EXT(X) совпадают первые j — 1 столбца, лексикографически предшествует X тогда и только тогда, когда EXT (Y) имеет вид

j+1

О j i

Vl

1П ... У,+1 Ъ Xj-l ... Х1 у •

Заметим, что нижние элементов У, являются нулями (поскольку старшие коэффициенты последних строк содержатся в (Х,-1... Х1)). Верхние к — ш,— элементы У, могут иметь любые значения.

Это означает, что в данном случае ]-е слагаемое в формуле (3) равно

q j 1

V х ( 0 V-1

Us ■ qwj—1 }q Xj-1

При этом по лемме

V1 X1

"j—1-

e

s=0

X

Vj 1

{s ■ qWj —1 }q Xj-1

V1 X1

q

k-Wj—1

n — j k — Wj-1

j-1

Случай 2: Vj = 0. Поскольку wj-1 = Vi, то отсюда следует, что последние wj-1

i-1

элемента столбца Xj являются нулями, т.е. {Xj} делится на qWj—1. Значит, EXT(X)

имеет вид

Vn ... Vj+1 0 Vj-1 ... V1

Xn ... Xj+1 Xj Xj-1 ... X1

Следовательно, подпространство Y G Gq(n, k) такое, что первые j — 1 столбцов EXT (Y) и EXT (X) совпадают, лексикографически предшествует X тогда и только тогда, когда EXT(Y) имеет вид

Vj+10 Vj-1

V1

Yn ... Yj+1 {s ■ qWj—1 }q Xj-1 ... X

V

k

1

q

0

q

V

1

{Xj}

где 0 < в < гш _ 1 — 1. Это означает, что в данном случае ]-е слагаемое формулы (3) равно

qwj -

Wj_ 1

q j 1

E

s=0

N

0

vj-1

{s ■ qWj-1 }q Xj—i

При этом по лемме

{Xj }

qWj -1

E N

s=0

j1

{s ■ qWj-1 }q Xj- 1

Vi Xi

Vi

Xi

{Xj}

q

wj-i

n - J k — wj-1

Из формул (4) и (5) в случаях 1 и 2 получаем уравнение (2). Теорема 1 доказана.

Алгоритм нумерации элементов грассманиана, предлагаемый в [20], представляет собой вычисление номера элемента грассманиана по формуле (2). При этом гауссовы п — J

k — wj-1

коэффициенты формулам

1 < J < n, предлагается вычислять начиная с J = n по

0

k — Wn-1

n—J k — wj-1

n — (j + 1)

k — Wj

n — (j + 1)

k Wj

qn-j — 1

qn-k-j+Wj — 1'

qn-j — 1

qk-wj+1 — 1'

если Wj = wj-1, если Wj = wj-1 + 1.

Рассмотрим пример вычисления номера элемента грассманиана по данному алгоритму. Пусть X G G2(8, 3) — подпространство, имеющее представление

EXT (X )

0 1 0 1 0 1 0 0

0 1 1 0 0 0 1 0

0 0 0 1 0 0 1 0

0 0 0 0 0 1 1 1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Найдем по формулам (1) значения

8—8 3—3 8 — 7" 3 — 2 8 — 6" 3—2 8 — 5" 31

n—J k — wj-1

пРи J = n'

. , 1:

1' 1 ■ 1 ■

3

21 — 1 _ 23-3+1 — 1 =

22 — 1

28-3-6+2 _ 1

23 — 1 _ 23-2+1 _ 1 =

0

q

1

q

q

q

q

q

2

1

2

2

7

8 - 4 3 -1 8 - 3" 3 - 0 8 - 2" 3-0 8 - 1" 30

7-

24 — 1

35 •

28-3-4+1 _ 1

25 — 1

155

1395-

23-1+1 - 1 26 — 1

35,

155,

28-3-2+0 _ 1

27 - 1 28-3-1+0 _ 1

1395,

11811.

Вычислим по теореме 1 значение Iext:

Iext = 1 • 11811 + т7 • 1395 + 23-0 • 155 + ^ • 35+ 23-1 • 7+4 • 3 + 23-2 • 1 + ^ • 1 = 22849.

20

20

21

22

23

Определим сложность вычисления номера Iext(•) в (2). Обратим внимание на то, что все целые числа, используемые в вычислениях, заданы в q-ичной системе исчисления. Пусть M[a, b] означает количество операций, требуемое для умножения двух q-ичных чисел длин a и b. Известно [26], что для a > b M[a, b] = a log b log log b. Пусть M[a] означает количество операций, требуемое для умножения двух q-ичных чисел длины a.

Посчитаем длину q-ичной целого, которое представляет наибольший гауссов коэффициент в (2). Этот гауссов коэффициент равен

n - 1 (qn-1 - 1) . . .(qn-k - 1)

k q (qk -1). . . (q - 1) ,

его длина меньше k(n - k) Если Wj = wj-1, то

n k- -j q n - (j + 1)" k - Wj qn-j - 1 qra-fc-j+Wj - 1

Если Wj = 1 + 1, то

n-j n - (j + 1)"

k - wJ-1 q k - Wj

qn-j - 1

qfc-w+1 - 1'

Гауссовы коэффициенты в (2) могут быть выведены из вектора идентификации. Они вычисляются по формулам (7) и (8). Сложность вычисления всех гауссовых коэффициентов при выполнении алгоритма равна O(nM[k(n - k), n]).

Умножение или деление на ql осуществляется сдвигом на i знаков, для n - k значений j Vj = 0, длина {Xj} равна k, следовательно, сложность этих операций равна O((n - k)M[k(n - k), k]). При вычислениях по формуле (2) производится максимум n операций сложения целых чисел, чья длина составляет максимум k(n - k + 1) знаков, следовательно, сложность этих операций может быть опущена.

Складывая сложности всех операций, получаем, что сложность вычисления Iext(•) номера X по формуле (2) равна O(nM[k(n - k), n]), т. е. O(nk(n - k) log n log log n) операций.

2

2

2

2

2. Быстрый алгоритм нумерации элементов грассманиана

Перейдем к описанию представленного в настоящей работе алгоритма нумерации элементов грассманиана, основанного на расширенном представлении этих элементов, сложность которого меньше сложности алгоритма, рассмотренного в [20].

Предлагаемый алгоритм основан на методе быстрой нумерации комбинаторных объектов [22].

В [20] было приведено доказательство того, что

7ехт (Х) = £ (г_д^"1 + (1 — V) )

п — 3

к — WjJ

Введём при 3 = 2, 3, ..., п величины

Р(УЛ = х^1

Х1

Х1

РХ,

г__ 1

Х

_-1

V2 V1 \ хГ V ... V2 v1 Х2 Х,/ \Х_ ... Х2 Х1

X

_ 1

Х

_-1

V2 Vl Х2 Х1

Vl

Х1

£ р

и -VI

Ж<Х1

и W

Х,

vj-l Х_-1

V2 V!

Х2 Х1

£

и

Р

и W

vj-l Х_-1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Из этих определений и формулы (1) следует, что

V2 Vl

Х2 Х1

(ехт

(Х)

, Vl\ fV2

Ю р(?,)+КХ

V2 V, ^ ( V2

Х2 Х,/ \Х

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

1ехт (Х) =

' V4

+5

Х

Vз Х3

, Vl\ fV2

х,) р(х!1

+ и

^ \ р^3

Х1

Хз

V2 Vl Х2 Х1

р

V2 Х2

Хз

Х,)р (Х,

V2 Vl

Х2 Х1 +...

+

Положим

р!

р^Х)^о

VI Х1

р(Х

Vj-l ... V2 V, Х_-1 ... Х2 Х1

ао

V.

Х_

А_

3

А27-1 + р2--1Л2_ !, в =1,..., logn, 3 = 1,...,п/2в.

vj-1 Х_- 1

V2 V, Х2 Х1

3 = 2,

п,

Р_ = р2_-1р2_ ,

10)

q

q

5

V

3

9

q

q

о

5

Р

5

Тогда

Хз

+4X2

^3

Хз

^2 VI Х2 Х1

Р

^2 Х2

иМ Р,

Х^ VXl

^2 VI Х2 Х1

VI' '

+ + ...

Отсюда и формулы (9) имеем

1ехт (X ) = А1!38 п |С(п,к)| = Д1

:12)

По определениям р0, Р(^Х

Щ-1

V2 V!

Х^ -1 ... Х2 Х1

и лемме

Р0

Р(1,

^-1 Х,?-1

V2 Vl Х2 Х1

пХ!

' п _ ] ' / п _ ^ + 1

к _ и? / 9 к

. V2 Vl ? ... Х2 Х1

дга-'-к+т,+1 _ 1

дга-,7+1 _ 1 дк-т + 1 _ 1 дга-,7+1 _ 1 '

N1 Х?-Х.?-1

V2 Vl Х2 Х1

если V? = 0,

если V

1.

:13)

По определениям А0, д

X?

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

^7-1 ... V2 Vl Х, -1 ... Х2 Х1

и лемме

А0

Х,

Е

V

V,—1 ... V2 Vl Х,-1 ... Х2 Х1

N | ^ ^"-1 Х,_ 1

Е

и Vj

Р

и W

V,—1 ... V2 Vl Х,-1 ... Х2 Х1

и <

Vl

Х1

.

д

дП-Ч1 _ 1

{X,} дп-,-к+т^-1 + 1 _ 1

Щ ^-1 ... V2 V1

Vх?- 1 ... Х2 Х1

если V, = 1,

д

1

дП-Ч1 _ 1

если V

0.

:14)

Перейдём к вычислениям, которые будут служить иллюстрацией алгоритма. Определим номер подпространства X Е С2(8, 3), имеющего расширенное представление

ЕХТ (X)

0 0

1010

По формулам (13) и (2) вычислим значения р0, А0, ]

25 _ 1 41 о4

р!

28 — 1

31

255;

р2

1 0 0

0 1 0

0 1 0

1 1 1

= 1, . .., 8:

— 1 15

— 1= 127,

д

ч

ч

V

V

д

А?

A3

А5

А?

p3 — 23 - 1 1 p4 — 23 - 1 7

26 - 1— 9' 25 - 1 31'

р5 — 22 - 1 1 p6 — 22 - 1 3

24 - 1 5' 23 - 1 7 '

р? — 21 - 1 1 р8 — 2? - 1 1

22 - 1 3' 2? - 1

2 1. 5 - 1 31 A2 — 7 24 - 1 105

" 28 - 1 255' 27 - 1 127'

23 23 - 1 8 qA4 =0 23 - 1 0

26 - 1 9' 25 - 1

— 22 22 - 1 4 A6 — 1 22 - 1 3

24 - 1 5' 23 - 1 7'

— 2? 21 - 1 2 A8 — 0 2? - 1 0.

22 - 1 3' 2? - 1

Далее по (2) получим

Р?

7

19431 По (12) имеем

р1

а}

р2

31

2159'

7192

32385' 1 А2 =

35 ' А =

р2

7

279 '

А2

8 9'

22816 97155'

Рз

3

35 '

А? — 31 ,

3 35' 33

р4

А4

iext (x) — а? ■

л2 _ —

А2 = 35'

22849

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

97155

Р?

1

3 '

2

3 ' 1

97155

22849.

А?

22849 97155'

3. Сложность алгоритма

Теорема 2. Объём памяти, требуемый для вычисления номера элемента грассма-ниана X е Gq(n ,k), равен O(n2). Сложность вычисления номера элемента грассма-ниана X е Gq(n , k) равна O(lognM[n2]) операций, где M[n2] — время умножения двух слов длины n2.

Следствие 1. При использовании алгоритма быстрого умножения Шёнхаге — Штрассена, для которого M[n] — n log n log log n, сложность вычисления номера равна O (n2 log2 n log log n).

Следствие 2. При использовании алгоритма быстрого умножения Фюрера, для которого M [n] — n log n2O(log*n), сложность вычисления номера равна O(n2 log2 n2O(log*n)).

Доказательство. Найдём время вычисления Iext(X). Оно состоит из времени вычисления pj и Aj, i — 0 ' ... ' log n, j — 1 ' 2 ' ... ' n/(2l), и времени вычисления произведения Alog n | Gq (n 'k)|.

Для вычисления p0 и A0, j — 1 '2 ' ... ' n, требуется вычислить n значений

Vj-г Xj-i

Vl

X?

и n значений q

Xj

Vj-i ... Vi Xj-i ... Xi

2

q

V

j

тт - n/^Vj V,_ 1 . . . V1

Для вычисления n числителей дробей PI " I в q-ичной системе исчис-

VXj Xj- ... X1/

лений необходимо найти n значений n - j - k + wj + 1 или k - wj + 1. Для вычисления их знаменателей требуется найти n значений n - j + 1. Таким образом, всего нужно совершить O(n) сложений (и вычитаний) чисел длины logn, что имеет сложность O(n log n).

Для вычисления n дробей q vj

Xj

^ 1 ... V1 ) требуется найти n значений n - j - k +

Xj-1 . . . X1

vj-1 . . . v1 и q vj Xj-1 . . . X1 Xj

wJ-1 + 1, n значений n - j + 1, т. е. совершить O(n) сложений (и вычитаний) чисел длины log n, что имеет сложность O(n log n). Умножение на qk-wj-1 в случае Vj = 1 и на qwj-1 в случае Vj = 0 получается сдвигом на нужное количество разрядов. Для получения числителей в случае Vj = 0 требуется совершить n - k умножений чисел {Xj} длины k и qn-j-fc+wj-i+1 - 1 чисел длины n, что имеет сложность (n - k)M[n, k].

Таким образом, сложность вычисления всех p0 и ДО, j = 1, 2,..., n/2, равна O(nlog n) + (n - k)M[n, k].

По формулам (13), (14) видим, что числители, как и знаменатели, дробей

Vj-1 ... V1 \ n тт

I не превышают q' . Для записи числителя, как Xj-1 ... Х1/

и для записи знаменателя, этих дробей в q-ичной записи требуется n знаков.

Вычисление величин pj или Л] в соответствии с (10) при j = 1, 2,...,n требует соответственно две или три операции умножения чисел, длина которых не превышает n знаков, а общее число операций умножения для вычисления всех Л1, p1, j = 1, 2, ..., n/2, равно 5n/2. При вычислении Л* используется обычное равенство a/b + c/d = (ad + bc)/(bd), требующее три умножения. В результате будут получены дроби, у которых требуется не более 2n знаков для записи числителя и столько же знаков для записи знаменателя. Аналогично, для вычисления p2 и Л2, j = 1, 2, ... , n/4, необходимо 5n/4 операций умножения над числами длины 4n знаков и т.д., для вычисления pj и Л*, j = 1, 2, ..., n/21, требуется 5n/2l операций умножения над числами длины 2*n знаков.

Общее время вычислений Л* и pj, i = 1,... , log n, j = 1, ... , n/21 составит

5 5n 5n 5

-nM[n] + — M[2n] + • • • + — M[2^n] + • • • + -M[n • n].

Обозначим через M*[a] время умножения двух чисел длины a, делённое на длину этих чисел:

ЛГ [a] = MM.

a

Тогда общее время вычислений Л* и pj будет

—nM*[n] + ^M*[2n] + • • • + ^^M*[2®n] + • • • + 5 n2M*[n2].

2 4 2i 2

5

В этой сумме log n слагаемых, каждое из которых не превышает — n2M*[n2].

Следовательно, время вычисления дробей Л* и pj равно

O ( 5 n2 log nM*[n2] ) = O(log nM [n2]).

Время вычисления произведения Alogn |G(n , k)| состоит из времени вычисления произведения числителя Alogn и |G(n , k) | и времени вычисления частного полученного числа и знаменателя Alogn. Количество знаков, необходимых для записи числителя Alogn, не превышает n2. Количество знаков, нужных для записи |G(n, k)|, равно n(n — k). Значит время умножения числителя Alogn и |G(n, k)| составит M[n2, n(n — k)]. Длина полученного числа не превышает 2n2. Длина знаменателя Alogn не превышает n2. Так как время деления двух чисел длины a равно времени умножения двух чисел длины a [27], время деления полученного числа и знаменателя Alogn равно M[2n2].

Таким образом, время вычисления Iext (X) равно сумме времени вычисления р_-и A0, j = 1, 2, ... , n, т.е. O(nlogn) + (n — k)M[n, k], времени вычисления A\ и pj, i = 1,... , log n, j = 1,... , n/2j, т. е. O(log nM[n2]), и времени вычисления Alogn |G(n, k)|, т.е. M[n2,n(n — k)] + M[2n2]:

O(nlogn) + (n — k)M[n, k] + O(log nM[n2]) + M[n2,n(n — k)] + M[2n2] = O(lognM[n2]).

Оценим необходимый для осуществления нумерации объём памяти.

Для определения IEXT(X) при вычислении Aj и pj, i = 1,... , log n, j = 1,... , n/2j, используются только величины Aj-1 и pj-1, j = 1,... , n/2i-1. Поэтому для нумерации

достаточно иметь память для хранения двух наборов Aj, pj, j — 1'...'n/2\ и Aj+1, pj+1, j — 1'... ' n/2i+1, i — 1'... ' log n. Длина числителя и знаменателя каждой дроби Aj и pj не превышает 2*n. Отсюда требуемый объём памяти для определения номера

X G G(n, k) не превышает 2*n ■ n/2* + 2i+1n ■ n/2i+1 = O(n2).

ет 2 n-n/2 + 2 n ■ n/ 2 —

Теорема 2 доказана.

Список литературы

[1] Knuth D.E. Subspaces, subsets and partitions // J. of Combinat. Theory. 1971. Vol. 10. P. 178-189.

[2] Thomas S. Designs over finite fields // Geometriae Dedicata. 1987. Vol. 21. P. 237-242.

[3] Martin W.J, Zhu X.J. Anticodes for the Grassman and biliniar forms graphs // Designs, Codes and Crypt. 1995. Vol. 6. P. 72-79.

[4] Tomas S. Designs and partial geometries over finite fields// Geometriae Dedicata. 1996. Vol. 63. P. 247-253.

[5] Ahlswede R., Aydinian H.K, Khachatrian L.H. On perfect codes and related concepts // Designs, Codes and Crypt. 2001. Vol. 22. P. 221-237.

[6] Schwartz M., Etzion T. Codes and anticodes in the Grassman graph // J. of Combinat. Theory. Ser. A. 2002. Vol. 97. P. 27-42.

[7] Braun M., Kerber A, Laue R. Systematic construction of q-analogs of t — (v, k, A)-designs // Designs, Codes and Crypt. 2005. Vol. 34. P. 55-70.

[8] Koetter R, Kshcischang F.R. Coding for errors and erasures in random network coding // IEEE Trans. Inform. Theory. 2008. Vol. 54, No. 8. P. 3579-3591.

[9] Xia S.T, Fu F.W. Johnson type bounds on constant dimension codes // Designs, Codes and Crypt. 2009. Vol. 50. P. 163-172.

[10] Etzion T, Vardy A. Error-correcting codes in projective space // Proc. Intern. Symp. on Inform. Theory. Toronto, 2008. P. 871-875.

[11] Manganiello F., Gorla E, Rosenthal J. Spread codes and spread decoding in network coding // Proc. Intern. Symp. on Inform. Theory. Toronto, 2008. P. 881-885.

[12] Silva D., Kschischang F.R, Koetter R. A rank-metric approach to error control in random network coding // IEEE Trans. on Inform. Theory. 2008. Vol. IT-54. P. 3951-3967.

[13] Silva D., Kschischang F.R. On metric for error correction in network coding // Ibid. 2009. Vol. IT-54. P. 5479-5490.

[14] Gadouleau M. and Yan Z. Constant-rank codes and their connection to constant-dimension codes // Ibid. 2010. Vol. IT-56. P. 3207-3216.

[15] Gadouleau M., Yan Z. On the decoder error probability of bounded rank distance decoders for maximum rank distance codes // Ibid. 2008. Vol. IT-54. P. 3202-3206.

[16] Gadouleau M. and Yan Z. Construction and Covering Properties of Constant-Dimension Codes. http://arxiv.org/abs/0903.2675

[17] Etzion T, Silberstein N. Error-correcting codes in projective space via rank-metric codes and Ferrers diagrams // IEEE Trans. Inform. Theory. 2009. Vol. IT-55. P. 2909-2919.

[18] Kohnert A. and Kurz S. Construction of large constant dimension codes with a prescribed minimum distance // Lecture Notes Comput. Sci. 2008. Vol. 5393. P. 31-42.

[19] Skachek V. Recursive code construction for random networks // IEEE Trans. Inform. Theory. 2010. Vol. IT-56. P. 1378-1382.

[20] Silberstein N, Etzion T. Enumerative Coding for Grassmannian Space. http://arxiv.org/abs/0911.3256

[21] Fuerer M. Faster integer multiplication // Proc. of the Thirty-Ninth Annual ACM Symp. on Theory of Comput. San Diego, California, USA. 2007.

[22] Ryabko B.Ya. The fast enumeration of combinatorial objects // Discrete Math. and Appl. 1998. Vol. 10, No. 2.

[23] Van Lint J.H, Wilson R.M. A Course in Combinatorics. Cambridge Univ. Press, 2001.

[24] Cover T.M. Enumerative source encoding // IEEE Trans. Inform. Theory. 1973. Vol. IT-19, No. 1. P. 73-77.

[25] Etzion T, Silberstein N. Error-correcting codes in projective space via rank-metric codes and Ferrers diagrams // Ibid. 2009. Vol. IT-55. P. 2909-2919.

[26] Knuth D.E. The Art of Computer Programming. Seminumerical Algorithms. Third Ed. Addison-Wesley, 1997. Vol. 2.

[27] Ахо A^., Лам М.С., Сети Р., УльмАн Дж.Д. Компиляторы. Принципы, технологии и инструментарий. М.: Вильямс, 2008.

Поступила в редакцию 14 июля 2012 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.