Вычисление порядка элемента в группе — различия между версиями
Vprisivko (обсуждение | вклад)  (Создание статьи)  | 
				Vprisivko (обсуждение | вклад)   | 
				||
| Строка 4: | Строка 4: | ||
Теперь рассмотрим '''обобщенную задачу поиска порядка''', также называемую '''задачей дискретного логарифмирования''': для заданных <math>a</math> и <math>b</math> из группы найти такое минимальное <math>n</math>, что <math>a ^ n = b</math>. <br>  | Теперь рассмотрим '''обобщенную задачу поиска порядка''', также называемую '''задачей дискретного логарифмирования''': для заданных <math>a</math> и <math>b</math> из группы найти такое минимальное <math>n</math>, что <math>a ^ n = b</math>. <br>  | ||
Очевидно, <math>n < |G| </math> (следует из принципа Дирихле). Пусть <math>m = \lceil |G| \rceil</math>. Будем искать <math>n</math> в виде <math>xm-y</math>, где <math>y \in 0 \dots m - 1</math> и <math>x \in 1 \dots m</math>.<br>  | Очевидно, <math>n < |G| </math> (следует из принципа Дирихле). Пусть <math>m = \lceil |G| \rceil</math>. Будем искать <math>n</math> в виде <math>xm-y</math>, где <math>y \in 0 \dots m - 1</math> и <math>x \in 1 \dots m</math>.<br>  | ||
| − | <math>a ^ n = a ^ {xm - y} = b</math>  | + | <math>a ^ n = a ^ {xm - y} = b</math> <br>  | 
| − | <math>a ^ {xm} = b a ^ {y}  | + | <math>a ^ {xm} = b a ^ {y}</math> <br>  | 
| + | <math> {a ^ m} ^ x = b a ^ y </math> <br>  | ||
| + | |||
| + | Далее мы выписываем все полученные выражения для левой и правой частей при всех допустимых <math>x</math> и <math>y</math> (или складываем в удобную структуру данных: отсортированный массив, хеш, дерево и т. д.). После чего ищем пересечение. Для каждого элемента одной части поиск в структуре данных для другой части (в случае с отсортированным массивом) занимает время <math>O(log |G|)</math>. Учитывая, что время на предварительную обработку <math>O(|G|)</math>, общее время работы алгоритма − <math>O(|G| log |G|)</math>.  | ||
Версия 22:59, 28 июня 2010
Рассмотрим конечную группу . Для заданного  необходимо найти такое минимальное , что . 
Теперь рассмотрим обобщенную задачу поиска порядка, также называемую задачей дискретного логарифмирования: для заданных  и  из группы найти такое минимальное , что . 
Очевидно,  (следует из принципа Дирихле). Пусть . Будем искать  в виде , где  и .
 
 
 
Далее мы выписываем все полученные выражения для левой и правой частей при всех допустимых и (или складываем в удобную структуру данных: отсортированный массив, хеш, дерево и т. д.). После чего ищем пересечение. Для каждого элемента одной части поиск в структуре данных для другой части (в случае с отсортированным массивом) занимает время . Учитывая, что время на предварительную обработку , общее время работы алгоритма − .