Просмотр отдельных изменений

Фильтры правок (обсуждение) — это автоматизированный механизм проверок правок участников.
(Список | Последние изменения фильтров | Изучение правок | Журнал срабатываний)
Перейти к навигации Перейти к поиску

Эта страница позволяет вам проверить переменные, сгенерированные фильтром злоупотреблений, на предмет отдельного изменения.

Переменные, созданные для этого изменения

ПеременнаяЗначение
Число правок участника (user_editcount)
12
Имя учётной записи (user_name)
'2pizza nazya'
Возраст учётной записи (user_age)
2073272
Группы (включая неявные) в которых состоит участник (user_groups)
[ 0 => '*', 1 => 'user' ]
Редактирует ли участник через мобильный интерфейс (user_mobile)
false
ID страницы (page_id)
2978554
Пространство имён страницы (page_namespace)
0
Название страницы (без пространства имён) (page_title)
'Алгоритм Берлекэмпа'
Полное название страницы (page_prefixedtitle)
'Алгоритм Берлекэмпа'
Последние десять редакторов страницы (page_recent_contributors)
[ 0 => '93.175.13.167', 1 => '2pizza nazya', 2 => 'Bezik', 3 => 'Torin', 4 => 'Danneks', 5 => 'Ghuron', 6 => '87.69.196.33', 7 => '178.210.31.117', 8 => 'MotnahpBot', 9 => 'U-bot' ]
Действие (action)
'edit'
Описание правки/причина (summary)
'/* Обоснование */ добавление данных, в прошлый раз я не авторизовался, извиняюсь за это'
Была ли правка отмечена как «малое изменение» (больше не используется) (minor_edit)
false
Вики-текст старой страницы до правки (old_wikitext)
'{{редактирую|[[User:2pizza nazya|Nazariy]] 18:28, 26 октября 2013 (UTC)|26 октября 2013}} {{Не путать|алгоритм Берлекэмпа — Мэсси|алгоритмом Берлекэмпа — Мэсси|алгоритмом, предназначенным для нахождения реккурентных зависимостей в последовательностях}} '''Алгоритм Берлекэмпа''' — алгоритм, предназначенный для [[факторизация|факторизации]] [[Унитарный многочлен|унитарных многочленов]] над [[конечное поле|конечным полем]]. Разработан [[Берлекэмп, Элвин|Элвином Берлекэмпом]] в [[1967 год в науке|1967 году]]. Может использоваться также для проверки [[Неприводимый многочлен|неприводимости многочленов]] над конечными полями{{Переход|#Проверка неприводимости}}. == Постановка и определения == Рассматривается задача факторизации многочлена <math>f(x)</math> [[Степень многочлена|степени]] <math>n</math> (<math>n \ge 2</math>) над конечным полем <math>\Bbb{F}_q</math> (<math>q=p^m</math>, <math>p</math> — простое число) на различные неприводимые унитарные многочлены <math>f(x) = f_1(x)^{e_1} \cdots f_k(x)^{e_k}</math>. Для использования в алгоритме строится матрица <math>B=(b_{ij})_{i=0,\;j=0}^{n-1,\; n-1}</math> согласно следующим условиям: : <math>{x^i}^q \equiv \sum^{n-1}_{j=0} b_{ij} x^i \pmod{f(x)}\quad i=\overline{1,n-1}</math>. Многочлен <math>h(x) \in \Bbb{F}_q</math> такой, что <math> 1 \leqslant \deg{h(x)} < n, \quad {h(x)}^q \equiv h(x) \pmod{f(x)} \quad </math>, называется <math>f</math>-разлагающим многочленом. == Основной случай == Алгоритм факторизации над конечным полем <math>\Bbb{F}_q</math> многочлена вида: : <math>f(x) = f_1(x)^{e_1} \cdots f_k(x)^{e_k}</math>, где <math>\quad e_i = 1, \quad i=\overline{1,k}</math> состоит из следующих шагов: # Вычисление матрицы <math>B</math>. # Поиск базиса <math>\overline{e_1},\dots ,\overline{e_k}</math> подпространства решений системы линейных уравнений: #:: <math>(B-E_n)^T \bold x = \bold 0</math>, #: при этом удаётся выбрать вектор <math>\overline{e_1} = (1,\;0,\;....\;,\;0)</math>, так как он всегда будет присутствовать в базисе пространства решений ввиду того что <math>{x^i}^q \equiv 1\pmod{f(x)}</math> при <math>i=0</math>. # Найденное число <math>k</math> есть число неприводимых делителей <math>f(x)</math>. #* {{Якорь|#Проверка неприводимости}}Если <math>k=1</math>, то многочлен является [[Неприводимый многочлен|неприводимым]]. #* Если <math>k>1</math>, то компонентами векторов <math>\overline{e_l}</math> являются числа <math>(h_{l,\;0}, \dots , h_{l,\;n-1})</math>. По этим числам строятся <math>f</math>-разлагающие многочлены: #*:: <math>h_l(x) = \sum^{n-1}_{i=0} h_{l,\;i}\;x_i, \quad l=\overline{2,\;k}</math>. # Поиск разложения: #:: <math>f(x) = \prod_{c \in \mathbb{F}_q, } \gcd(f(x),h_2(x)-c)</math> #: в виде: #:: <math>f(x) = \prod_m g_{m,\;2}(x)</math>, #: где <math>g_{m,\;s}(x), \quad s = \overline{2, k}</math> в общем случае не являются неприводимыми. Функции <math>g_{m,\;s}(x)</math> факторизуются таким же способом, то есть: #:: <math>g_{m,\;s}(x) = \prod_{c \in \mathbb{F}_q, } \gcd(g_{m,\;s}(x),h_{s+1}(x)-c), \quad s = \overline{2, k-1}.</math> == Общий случай == {{Раздел не написан}} == Обоснование == {{Раздел не написан}} == Сложность алгоритма == [[Вычислительная сложность|Сложность алгоритма]] составляет <math>O(n^3 + qkn)</math> математических операций. Алгоритм будет эффективен только для небольших полей. Это связанно с необходимостью перебора всех <math>c \in \Bbb{F}_q</math>. == Усовершенствования == {{Раздел не написан}} == Литература == * Berlekamp, Elwyn R. (1967). «Factoring Polynomials Over Finite Fields». Bell Systems Technical Journal 46: 1853—1859. Later republished in: Berlekamp Elwyn R. Algebraic Coding Theory. — McGraw Hill, 1968. * Василенко О. Н. Теоретико-числовые алгоритмы в криптографии. — М.: МЦНМО, 2003. — 328 с. ISBN 5-94057-103-4 {{rq|refless|isbn}} [[Категория:Вычислительная алгебра]] [[Категория:Алгоритмы]]'
Вики-текст новой страницы после правки (new_wikitext)
'{{редактирую|[[User:2pizza nazya|Nazariy]] 18:28, 26 октября 2013 (UTC)|26 октября 2013}} {{Не путать|алгоритм Берлекэмпа — Мэсси|алгоритмом Берлекэмпа — Мэсси|алгоритмом, предназначенным для нахождения реккурентных зависимостей в последовательностях}} '''Алгоритм Берлекэмпа''' — алгоритм, предназначенный для [[факторизация|факторизации]] [[Унитарный многочлен|унитарных многочленов]] над [[конечное поле|конечным полем]]. Разработан [[Берлекэмп, Элвин|Элвином Берлекэмпом]] в [[1967 год в науке|1967 году]]. Может использоваться также для проверки [[Неприводимый многочлен|неприводимости многочленов]] над конечными полями{{Переход|#Проверка неприводимости}}. == Постановка и определения == Рассматривается задача факторизации многочлена <math>f(x)</math> [[Степень многочлена|степени]] <math>n</math> (<math>n \ge 2</math>) над конечным полем <math>\Bbb{F}_q</math> (<math>q=p^m</math>, <math>p</math> — простое число) на различные неприводимые унитарные многочлены <math>f(x) = f_1(x)^{e_1} \cdots f_k(x)^{e_k}</math>. Для использования в алгоритме строится матрица <math>B=(b_{ij})_{i=0,\;j=0}^{n-1,\; n-1}</math> согласно следующим условиям: : <math>{x^i}^q \equiv \sum^{n-1}_{j=0} b_{ij} x^i \pmod{f(x)}\quad i=\overline{1,n-1}</math>. Многочлен <math>h(x) \in \Bbb{F}_q</math> такой, что <math> 1 \leqslant \deg{h(x)} < n, \quad {h(x)}^q \equiv h(x) \pmod{f(x)} \quad </math>, называется <math>f</math>-разлагающим многочленом. == Основной случай == Алгоритм факторизации над конечным полем <math>\Bbb{F}_q</math> многочлена вида: : <math>f(x) = f_1(x)^{e_1} \cdots f_k(x)^{e_k}</math>, где <math>\quad e_i = 1, \quad i=\overline{1,k}</math> состоит из следующих шагов: # Вычисление матрицы <math>B</math>. # Поиск базиса <math>\overline{e_1},\dots ,\overline{e_k}</math> подпространства решений системы линейных уравнений: #:: <math>(B-E_n)^T \bold x = \bold 0</math>, #: при этом удаётся выбрать вектор <math>\overline{e_1} = (1,\;0,\;....\;,\;0)</math>, так как он всегда будет присутствовать в базисе пространства решений ввиду того что <math>{x^i}^q \equiv 1\pmod{f(x)}</math> при <math>i=0</math>. # Найденное число <math>k</math> есть число неприводимых делителей <math>f(x)</math>. #* {{Якорь|#Проверка неприводимости}}Если <math>k=1</math>, то многочлен является [[Неприводимый многочлен|неприводимым]]. #* Если <math>k>1</math>, то компонентами векторов <math>\overline{e_l}</math> являются числа <math>(h_{l,\;0}, \dots , h_{l,\;n-1})</math>. По этим числам строятся <math>f</math>-разлагающие многочлены: #*:: <math>h_l(x) = \sum^{n-1}_{i=0} h_{l,\;i}\;x_i, \quad l=\overline{2,\;k}</math>. # Поиск разложения: #:: <math>f(x) = \prod_{c \in \mathbb{F}_q, } \gcd(f(x),h_2(x)-c)</math> #: в виде: #:: <math>f(x) = \prod_m g_{m,\;2}(x)</math>, #: где <math>g_{m,\;s}(x), \quad s = \overline{2, k}</math> в общем случае не являются неприводимыми. Функции <math>g_{m,\;s}(x)</math> факторизуются таким же способом, то есть: #:: <math>g_{m,\;s}(x) = \prod_{c \in \mathbb{F}_q, } \gcd(g_{m,\;s}(x),h_{s+1}(x)-c), \quad s = \overline{2, k-1}.</math> == Общий случай == {{Раздел не написан}} == Обоснование == Пусть<br /> :<math>f(x) = f_1(x)^{e_1} \cdots f_k(x)^{e_k}</math>, где <math>\quad e_i = 1, \quad i=\overline{1,k}.</math><br /> [[китайская теорема об остатках|Cогласно китайской теореме об остатках]] существует единственный многочлен для любого набора <math>(c_1,\;...,\;c_k)</math> элементов поля <math>\mathbb{F}_q,</math> <br /> :<math>h(x)\in \mathbb{F}_q[x],</math><br /> такой что<br /> :<math>h(x) \equiv c_i \pmod{f_i(x)}, \; i=\overline{1,\;k}, \quad \deg{h(x)} < \deg{f(x)}.</math><br /> Многочлен <math>h(x)</math> удовлетворяет условию:<br /> :<math>{h(x)} \equiv c_i \equiv c_i^q \equiv h(x)^q \pmod{f_i(x)}, \quad i=\overline{1,\;k},</math><br /> и поэтому<br /> :<math>h(x)^q \equiv h(x) \pmod f(x), \quad \deg{h(x)} < deg{f(x)}.</math><br /> Из условия<br /> :<math> h(x)^q - h(x) = \prod_{c \in \mathbb{F}_q} (h(x) - c) \equiv 0 \pmod{f(x)},</math><br /> и из взаимной простоты сомножителей в правой части следует, что каждый неприводимый делитель многочлена <math>f(x)</math> делит один, и только один из многочленов <math>h(x)-c.</math> Таким образом, доказана справедливость и единственность разложения<br /> :<math>f(x) = \prod_{c \in \mathbb{F}_q } \gcd(f(x),h(x)-c).</math><br /> Для нахождения многочлена<br /> :<math>h(x) = a_0 + a_1x^1 + \dots + a_{n-1}x^{n-1} \in \mathbb{F}_q</math><br /> рассмотрим сравнение<br /> :<math>h(x)^q \equiv h(x) \pmod{f(x)},</math><br /> которое равносильно условию<br /> :<math>\sum_{i=0}^{n-1}a_ix^{iq}\equiv\sum_{i=0}^{n-1}a_ix^i\pmod{f(x)}.</math><br /> По определению матрицы <math>B</math> получим:<br /> :<math>\sum_{i=0}^{n-1}a_i\sum_{j=0}^{n-1}b_{ij}x^j=\sum_{i=0}^{n-1}a_ix^i,</math><br /> поэтому<br /> :<math>\sum_{i=0}^{n-1}b_{ij}=a_j, \quad j=\overline{0,\;n-1}.</math><br /> Полученная система уравнений определяет коэффициенты <math>f</math>-разлагающих многочленов и может быть записана в виде:<br /> :<math>\quad(a_0,\;a_1,... ,a_{n-1})B=(a_0,\;a_1,\;... ,a_{n-1})</math><br /> или<br /> :<math>\quad(a_0,\;a_1,... ,a_{n-1})(B-E_n)=\bold0.</math> == Сложность алгоритма == [[Вычислительная сложность|Сложность алгоритма]] составляет <math>O(n^3 + qkn)</math> математических операций. Алгоритм будет эффективен только для небольших полей. Это связанно с необходимостью перебора всех <math>c \in \Bbb{F}_q</math>. == Усовершенствования == {{Раздел не написан}} == Литература == * Berlekamp, Elwyn R. (1967). «Factoring Polynomials Over Finite Fields». Bell Systems Technical Journal 46: 1853—1859. Later republished in: Berlekamp Elwyn R. Algebraic Coding Theory. — McGraw Hill, 1968. * Василенко О. Н. Теоретико-числовые алгоритмы в криптографии. — М.: МЦНМО, 2003. — 328 с. ISBN 5-94057-103-4 {{rq|refless|isbn}} [[Категория:Вычислительная алгебра]] [[Категория:Алгоритмы]]'
Унифицированная разница изменений правки (edit_diff)
'@@ -33,7 +33,34 @@ {{Раздел не написан}} == Обоснование == -{{Раздел не написан}} +Пусть<br /> +:<math>f(x) = f_1(x)^{e_1} \cdots f_k(x)^{e_k}</math>, где <math>\quad e_i = 1, \quad i=\overline{1,k}.</math><br /> +[[китайская теорема об остатках|Cогласно китайской теореме об остатках]] существует единственный многочлен для любого набора <math>(c_1,\;...,\;c_k)</math> элементов поля <math>\mathbb{F}_q,</math> <br /> +:<math>h(x)\in \mathbb{F}_q[x],</math><br /> +такой что<br /> +:<math>h(x) \equiv c_i \pmod{f_i(x)}, \; i=\overline{1,\;k}, \quad \deg{h(x)} < \deg{f(x)}.</math><br /> +Многочлен <math>h(x)</math> удовлетворяет условию:<br /> +:<math>{h(x)} \equiv c_i \equiv c_i^q \equiv h(x)^q \pmod{f_i(x)}, \quad i=\overline{1,\;k},</math><br /> +и поэтому<br /> +:<math>h(x)^q \equiv h(x) \pmod f(x), \quad \deg{h(x)} < deg{f(x)}.</math><br /> +Из условия<br /> +:<math> h(x)^q - h(x) = \prod_{c \in \mathbb{F}_q} (h(x) - c) \equiv 0 \pmod{f(x)},</math><br /> +и из взаимной простоты сомножителей в правой части следует, что каждый неприводимый делитель многочлена <math>f(x)</math> делит один, и только один из многочленов <math>h(x)-c.</math> Таким образом, доказана справедливость и единственность разложения<br /> +:<math>f(x) = \prod_{c \in \mathbb{F}_q } \gcd(f(x),h(x)-c).</math><br /> +Для нахождения многочлена<br /> +:<math>h(x) = a_0 + a_1x^1 + \dots + a_{n-1}x^{n-1} \in \mathbb{F}_q</math><br /> +рассмотрим сравнение<br /> +:<math>h(x)^q \equiv h(x) \pmod{f(x)},</math><br /> +которое равносильно условию<br /> +:<math>\sum_{i=0}^{n-1}a_ix^{iq}\equiv\sum_{i=0}^{n-1}a_ix^i\pmod{f(x)}.</math><br /> +По определению матрицы <math>B</math> получим:<br /> +:<math>\sum_{i=0}^{n-1}a_i\sum_{j=0}^{n-1}b_{ij}x^j=\sum_{i=0}^{n-1}a_ix^i,</math><br /> +поэтому<br /> +:<math>\sum_{i=0}^{n-1}b_{ij}=a_j, \quad j=\overline{0,\;n-1}.</math><br /> +Полученная система уравнений определяет коэффициенты <math>f</math>-разлагающих многочленов и может быть записана в виде:<br /> +:<math>\quad(a_0,\;a_1,... ,a_{n-1})B=(a_0,\;a_1,\;... ,a_{n-1})</math><br /> +или<br /> +:<math>\quad(a_0,\;a_1,... ,a_{n-1})(B-E_n)=\bold0.</math> == Сложность алгоритма == [[Вычислительная сложность|Сложность алгоритма]] составляет <math>O(n^3 + qkn)</math> математических операций. Алгоритм будет эффективен только для небольших полей. Это связанно с необходимостью перебора всех <math>c \in \Bbb{F}_q</math>. '
Новый размер страницы (new_size)
8152
Старый размер страницы (old_size)
5606
Изменение размера в правке (edit_delta)
2546
Добавленные в правке строки (added_lines)
[ 0 => 'Пусть<br />', 1 => ':<math>f(x) = f_1(x)^{e_1} \cdots f_k(x)^{e_k}</math>, где <math>\quad e_i = 1, \quad i=\overline{1,k}.</math><br />', 2 => '[[китайская теорема об остатках|Cогласно китайской теореме об остатках]] существует единственный многочлен для любого набора <math>(c_1,\;...,\;c_k)</math> элементов поля <math>\mathbb{F}_q,</math> <br />', 3 => ':<math>h(x)\in \mathbb{F}_q[x],</math><br />', 4 => 'такой что<br />', 5 => ':<math>h(x) \equiv c_i \pmod{f_i(x)}, \; i=\overline{1,\;k}, \quad \deg{h(x)} < \deg{f(x)}.</math><br />', 6 => 'Многочлен <math>h(x)</math> удовлетворяет условию:<br />', 7 => ':<math>{h(x)} \equiv c_i \equiv c_i^q \equiv h(x)^q \pmod{f_i(x)}, \quad i=\overline{1,\;k},</math><br />', 8 => 'и поэтому<br />', 9 => ':<math>h(x)^q \equiv h(x) \pmod f(x), \quad \deg{h(x)} < deg{f(x)}.</math><br />', 10 => 'Из условия<br />', 11 => ':<math> h(x)^q - h(x) = \prod_{c \in \mathbb{F}_q} (h(x) - c) \equiv 0 \pmod{f(x)},</math><br />', 12 => 'и из взаимной простоты сомножителей в правой части следует, что каждый неприводимый делитель многочлена <math>f(x)</math> делит один, и только один из многочленов <math>h(x)-c.</math> Таким образом, доказана справедливость и единственность разложения<br />', 13 => ':<math>f(x) = \prod_{c \in \mathbb{F}_q } \gcd(f(x),h(x)-c).</math><br />', 14 => 'Для нахождения многочлена<br />', 15 => ':<math>h(x) = a_0 + a_1x^1 + \dots + a_{n-1}x^{n-1} \in \mathbb{F}_q</math><br />', 16 => 'рассмотрим сравнение<br />', 17 => ':<math>h(x)^q \equiv h(x) \pmod{f(x)},</math><br />', 18 => 'которое равносильно условию<br />', 19 => ':<math>\sum_{i=0}^{n-1}a_ix^{iq}\equiv\sum_{i=0}^{n-1}a_ix^i\pmod{f(x)}.</math><br />', 20 => 'По определению матрицы <math>B</math> получим:<br />', 21 => ':<math>\sum_{i=0}^{n-1}a_i\sum_{j=0}^{n-1}b_{ij}x^j=\sum_{i=0}^{n-1}a_ix^i,</math><br />', 22 => 'поэтому<br />', 23 => ':<math>\sum_{i=0}^{n-1}b_{ij}=a_j, \quad j=\overline{0,\;n-1}.</math><br />', 24 => 'Полученная система уравнений определяет коэффициенты <math>f</math>-разлагающих многочленов и может быть записана в виде:<br />', 25 => ':<math>\quad(a_0,\;a_1,... ,a_{n-1})B=(a_0,\;a_1,\;... ,a_{n-1})</math><br />', 26 => 'или<br />', 27 => ':<math>\quad(a_0,\;a_1,... ,a_{n-1})(B-E_n)=\bold0.</math>' ]
Удалённые в правке строки (removed_lines)
[ 0 => '{{Раздел не написан}}' ]
Была ли правка сделана через выходной узел сети Tor (tor_exit_node)
0
Unix-время изменения (timestamp)
1382824297