powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Немного о факторизации
163 сообщений из 163, показаны все 7 страниц
Немного о факторизации
    #39905904
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эпиграф:
Barlone
Эратосфен - это скучно. Разобрали бы лучше решето числового поля ну или хотя бы квадратичное решето
До «решета» ещё далеко, пока изучаю методы попроще. https://old.kpfu.ru/f9/bibl/Monograph_ishm.pdf
Кстати, неплохая книга для изучения факторизации.

Очень интересный метод (р – 1)-метод Полларда:
перемножаем несколько степеней минимальных простых чисел (по модулю n) и
с помощью н.о.д. сразу определяется минимальный множитель.
Данный метод годится только для чисел, у которых один из множителей мал. А другой сколь угодно большой.

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

Пример:
n = 1427*23456234562345623461
Кстати, второй множитель может быть сколь угодно большим.
Первый множитель определяется, если имеем более 10 первых простых чисел , и
если предел степеней больше 30 (добавляется простое число 31).

Далее, из перечня базовых простых чисел от 2 до 31 нельзя убирать числа 2, 23, 31,
а все остальные можно: останутся только числа 2, 23, 31.
И так далее…

Получается, что этот метод может соперничать с методом предварительного деления исследуемого числа
(до определённого простого числа):
для проверки делимости на 225 простых чисел (до 1427 - простое число) достаточно от 3 до 11 простых чисел
...
Рейтинг: 0 / 0
Немного о факторизации
    #39905933
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не перемножаем несколько степеней простых чисел по модулю n, а возводим некоторое начальное число в степень, равную этому самому произведению степеней маленьких простых.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39905944
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И метод годится не только для чисел, у которых один из множителей мал, но и для чисел, у которых функция Эйлера для одного из множителей раскладывается на маленькие сомножители. Например, множитель - число Прота с маленьким k (но сам по себе большой) можно найти.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39906028
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Barlone
Не перемножаем несколько степеней простых чисел по модулю n,
а возводим некоторое начальное число в степень, равную этому самому произведению степеней маленьких простых.
Согласен, немного поторопился.

В результате:

"перемножаем несколько степеней минимальных простых чисел,
возводим некоторое начальное число (например, 2) в степень, равную полученному произведению (по модулю n) и
с помощью н.о.д. сразу определяется минимальный множитель."

Кстати, ещё можно "поиграть" этими основаниями степеней.
(в предыдущий раз это помогло)
...
Рейтинг: 0 / 0
Немного о факторизации
    #39906476
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В продолжение рассмотрения темы (р – 1)-метода Полларда попробовал составить программу:
перебор всех простых чисел, начиная с 3, до некоторого числа,
и для каждого из этих чисел увеличивал В - предел Полларда.
И при этом данные числа умножал на очень большое простое число.

Оказалось, что для того, чтобы определить множители большого числа,
равные от 3 до 101 (простые числа), достаточно применить В = 27.
Для определения множителей, равных от 3 до 1000, достаточно применить В = 882.
Для определения множителей, равных от 3 до 2000, достаточно применить В = 1902.
Для определения множителей, равных от 3 до 5000, достаточно применить В = 8732.

Причем, для определения множителя 4931 достаточно В = 27,
а для определения множителя 4919 достаточно В = 2453.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39906530
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При этом, если (р-1)-метод определяет число, это не значит, что получен окончательный ответ.
Этот метод может "зацепить" сразу несколько малых простых чисел.
Причём, некоторые числа могут быть и достаточно большими.

Поэтому необходимо ещё одно применение (р-1)-метода к полученному числу
(при этом число В будет намного меньше).
...
Рейтинг: 0 / 0
Немного о факторизации
    #39906559
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А самый плохой вариант для (р-1)-метода:
проверяемое число есть произведение очень большого числа простых небольших чисел.

Тогда (р-1)-метод выдаст это самое число
(если в проверяемом числе есть степень простого числа, то в "ответе" будет это число, но без степени).
..., начинай с начала.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39907362
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Немного о факторизации
    #39907787
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Barlone,

в задачах факторизации числа n применяется mod(n).

А если применять mod (а), где а = целое(n^1/2)?

И было ли такое применение?

При этом существенно уменьшается база квадратов чисел.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39907847
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov,

если ты найдёшь как, зная факторизацию n+1, найти факторизацию n, то ты решишь эту задачу
...
Рейтинг: 0 / 0
Немного о факторизации
    #39909516
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov,

вот интересный вопрос, есть такое опредление

Первообразные корни
авторПервообразным корнем по модулю n (primitive root modulo n) называется такое число g, что все его степени по модулю n пробегают по всем числам, взаимно простым с n.
вот интересно, а как пробежаться по этим же числам в модуле n^2
...
Рейтинг: 0 / 0
Немного о факторизации
    #39909534
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
Gennadiy Usov,
вот интересный вопрос, есть такое опредление
Первообразные корни
авторПервообразным корнем по модулю n (primitive root modulo n) называется такое число g,
что все его степени по модулю n пробегают по всем числам, взаимно простым с n.

вот интересно, а как пробежаться по этим же числам в модуле n^2В статье дано некоректное определение числа а:

"то для любого целого a такого, что ..."

Надо добавить:

а < n.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39909537
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov
В статье дано некоректное определение числа а:

"то для любого целого a такого, что ..."

Надо добавить:

а < n.
Не надо. Там математическое определение. Грубо говоря, надо брать остатки с обоих сторон от знака эквивалентности (три черточки). А если совсем точно, два числа принадлежат одному классу вычетов
...
Рейтинг: 0 / 0
Немного о факторизации
    #39909539
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Главное - это соотношение чисел n и g.

Число а - это "проверочный материал".
Проверяется от 0 до n - 1.
А далее - просто:
(а + v*n) (mod n) = a.

Зачем усложнять условие?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39909540
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А в вики
https://ru.wikipedia.org/wiki/Первообразный_корень_(теория_чисел)
по другому определяются эти корни.

И без всяких "для всех а".
...
Рейтинг: 0 / 0
Немного о факторизации
    #39909555
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov,

пофиг

а вот

kealon(Ruslan)
а как пробежаться по этим же числам в модуле n^2

уже интересный вопрос
...
Рейтинг: 0 / 0
Немного о факторизации
    #39909570
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
вот интересно, а как пробежаться по этим же числам в модуле n^2
Если я правильно понял, то имеем 2^k, 1=<k=<n. (mod n)

Если n = 11, то получаются числа от 1 до 10, причем 1 - два раза.

Если n = 11^2, то нет чисел, кратных 11.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39909607
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov,

просто хочу записать
((g^k) mod n^2) mod n

более простым способом, без mod n

причём если порядок будет другой - это некритично
...
Рейтинг: 0 / 0
Немного о факторизации
    #39909726
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
Gennadiy Usov,
просто хочу записать
((g^k) mod n^2) mod n
более простым способом, без mod n
причём если порядок будет другой - это некритично
Уравнение
((g^k) mod n^2) mod n
"превращается" в уравнение
((g^k) mod n )
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910085
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov,

думаешь я о таком не догадался? а вот вообще без mod n? только через степени g по модулю n^2
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910114
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
Gennadiy Usov,
думаешь я о таком не догадался? а вот вообще без mod n? только через степени g по модулю n^2
Непонятно, что нужно.

Ранее я говорил, что по модулю n^2 имеем в остатке все числа до n^2, кроме кратных n.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910325
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov,

что непонятного то?
нужно получить все числа от 1 до n-1 в кольце n^2 операциями степени
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910514
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
Gennadiy Usov,

что непонятного то?
нужно получить все числа от 1 до n-1 в кольце n^2 операциями степени
kealon(Ruslan,

что непонятно в моих ответах?

В кольце n^2 (по mod n^2) получаются все числа от 1 до n^2, кроме чисел, кратных n.

Если для этого кольца применить (mod n), то данное кольцо "разбивается" на n колец (mod n),
в каждом из которых все числа от 1 до n-1.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910516
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov,

а вот теперь без (mod n) - 22052029
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910551
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
Gennadiy Usov,
а вот теперь без (mod n) - 22052029
g = 3, n = 11, цикл чисел, 1, 3, 9, 27, 81.
По остальным g (2, 5,7) получается очень много чисел в кольце.
Кстати, проверил, другие варианты (небольшие). И везде много чисел.

Вариант 3 и 11 - пока единственный, где мало чисел!

И что?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910561
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чтобы такой результат получился (всего 5 или очень немного чисел на большое кольцо),
необходимо решить следующее уравнение:

найти g, n, b для

g^b =1 mod (n^2)
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910617
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov,

всё довольно просто
посмотри как перемножаются числа вида vp+1 в кольце p^2

[(v1 p+1) * (v2 p+1)]|p^2 = [v1* v2 p^2+(v1 + v2) p +1]|p^2 = [(v1 + v2) p +1]|p^2

находим n' : n*n' - v1 * p = 1

берём члены нашего кольца g(1) и g(-1)
находим v2 : g(1) * g(-1) = v2 p + 1

исходя из правила умножения получаем:

x = [[v2 -1 ]| p * v1] | p + i*p


все делители n будут лежать в множестве [g(1) ^ x] | p^2

для отсечки лишних нужно выполнение условия [g(1) ^ x] < n и [g(-1) ^ x] < n

т.е. если мы имеем такой p для которого можно вывести "итератор" по числам <p в кольце p^2, то мы можем разложить на множители любое число n < p
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910625
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
находим n' : n*n' - v1 * p = 1
Пока это всё тяжело для меня.

Есть n' и n. Или это одно число?

И из какого уравнения они (оно) определяются?
Ведь известны (?) пока v1, v2, р.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910641
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov,

находим n' и v1 с помощью расширенного алгоритма Евклида , n' обычно обозначают n -1 |p, он равен n^(fi(p)-1)|p = n^(p-2)|p если p простое

x находим из полученного ранее соотношения [(vp+1)^x]| p^2 = [vx p +1] | p^2
подменив
v*x -> (n'*n - 1)/p
v -> (G(1)*G(-1) - 1)/p
собственно опять же с помощью расширенного алгоритма Евклида
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910651
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
находим n' : n*n' - v1 * p = 1

находим n' и v1 с помощью расширенного алгоритма Евклида , n' обычно обозначают n -1 |p, он равен n^(fi(p)-1)|p = n^(p-2)|p если p простое
Как я понял, расширенный алгоритм Евклида находит коэффициенты для двух чисел, у которых есть общий делитель.

Но р - число простое, а n < р.
Следовательно, у n и р не может быть общих делителей.

Или я что-то не так понял...
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910656
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя, есть общий делитель - 1. И поэтому можно найти коэффициенты.
Хорошо.

А что у нас известно: n и p. А что ещё?

Тогда можно получить некоторые числа а и b.
Почему эти числа будут v1 и n', которые определены по формулам?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910696
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov
Хотя, есть общий делитель - 1. И поэтому можно найти коэффициенты.
Хорошо.

А что у нас известно: n и p. А что ещё?

Тогда можно получить некоторые числа а и b.
Почему эти числа будут v1 и n', которые определены по формулам?

1. ничего
2. в общем-то не будут
алгоритм даёт a,b,d: an + bp = d
где d будет =1, так как n и b взаимнопростые - это НОД(n,p)
и либо a, либо b будет меньше нуля, но об этом обычно не пишут, так как довольно очевидно, что знак можно поменять, добавив np или -np
[an + np] + [bp - np] = d

приводишь результаты к виду
n*n' - v1 * p = 1
и всё
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910702
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробую "перевести" на циферки. Так проще.

n = 45, p = 61

Тогда n' = 45, v1 = 14.

g(1) = 2 и g(-1) = 2197...

Пока всё верно?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910703
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тороплюсь:

Тогда n' = 19, v1 = 14.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910704
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov
тороплюсь:

Тогда n' = 19, v1 = 14.
верно: 14 * 61 = 856 = 855 + 1 = 19*45 + 1

Gennadiy Usov

g(1) = 2 и g(-1) = 2197...

Пока всё верно?
g должен быть от p, а не от p^2, т.е. 31: 2 * 31 = 1 * 61 + 1
для теста пока пойдёт и он
"итератора" то, про который я говорил - 22052583 , у нас пока так и нет

соответственно x=14 + i*p
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910762
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
исходя из правила умножения получаем:

x = [[v2 -1 ]| p * v1] | p + i*p
Здесь необходимо уточнение насчёт исходного уравнения, для которого справедливо правило
kealon(Ruslan)
все делители n будут лежать в множестве [g(1) ^ x] | p^2
Допустим.

Но если следовать этой логике:
для p = 11 быстро найдем (что-то), хотя n должно быть меньше р.
а для р = 2^3217-1 будем искать очень долго.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910785
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov,

ну так у нас и итератора аналитического нет.
Что проще? умножать постоянно непонятно сколько или вычислить несколько вариантов пусть даже в очень большой степени?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910791
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. если бы мы, например, знали что все числа <p пробегаются с помощью формулы g k*a | p2 решение системы было бы тривиально
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910803
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
соответственно x=14 + i*p
А что должно получиться, если применить mod p для этой формулы?
У меня получилось, что достаточно проверить i от 1 до 23, далее повтор.
Какие числа "выберем" из этих 23-х чисел?

Как известно, делители (множители) числа 45 - числа 5 и 9.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910812
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov
kealon(Ruslan)
соответственно x=14 + i*p
А что должно получиться, если применить mod p для этой формулы?
У меня получилось, что достаточно проверить i от 1 до 23, далее повтор.
Какие числа "выберем" из этих 23-х чисел?

Как известно, делители (множители) числа 45 - числа 5 и 9.
а там есть пары с обоими значениями меньше 61?
нет ????, значит наш заход неверен
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910866
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
Gennadiy Usov
А что должно получиться, если применить mod p для этой формулы?
У меня получилось, что достаточно проверить i от 1 до 23, далее повтор.
Какие числа "выберем" из этих 23-х чисел?

Как известно, делители (множители) числа 45 - числа 5 и 9.
а там есть пары с обоими значениями меньше 61?
нет ????, значит наш заход неверен
Повторно вопрос: какие числа должны получиться (конкретно)?

А ошибка в главном: в начальной постановке вопроса
kealon(Ruslan)
посмотри как перемножаются числа вида vp+1 в кольце p^2

[(v1 p+1) * (v2 p+1)]|p^2 = [v1* v2 p^2+(v1 + v2) p +1]|p^2 = [(v1 + v2) p +1]|p^2

Какое может иметь отношение данная формула к ситуации, когда n < p?

Эта формула определяет числа, намного большие р.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910867
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, а как можно отредактировать сообщение?
Чтобы не делать повторные сообщения.

На этом топике было несколько таких редактирований.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910890
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У тебя кнопка внизу есть.
Но она доступна сразу после публикации.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39910901
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
У тебя кнопка внизу есть.
Но она доступна сразу после публикации.
Спасибо!

Нашел кнопку!
...
Рейтинг: 0 / 0
Немного о факторизации
    #39911029
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov
А ошибка в главном: в начальной постановке вопроса
kealon(Ruslan)
посмотри как перемножаются числа вида vp+1 в кольце p^2

[(v1 p+1) * (v2 p+1)]|p^2 = [v1* v2 p^2+(v1 + v2) p +1]|p^2 = [(v1 + v2) p +1]|p^2

Какое может иметь отношение данная формула к ситуации, когда n < p?

Эта формула определяет числа, намного большие р.
начальная постановка моего вопроса была: "как пробежать по всем числам меньше p в кольце p^2?"
ты спросил "зачем?"
я привёл это выражение, которое дополняет систему

а по поводу того, что числа > p, так это произведение двух чисел
мы же пытаемся получить n'*n через произведение двух чисел - если итератор пробегаетcя по всем числам, то он обязательно одним из чисел зацепит делитель либо n либо n'
...
Рейтинг: 0 / 0
Немного о факторизации
    #39911040
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
мы же пытаемся получить n'*n через произведение двух чисел -
если итератор пробегаетcя по всем числам,
то он обязательно одним из чисел зацепит делитель либо n либо n'
И как, "зацепило" в рассматриваемом примере?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39911041
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov,

так у тебя есть итератор? так что вполне ожидаемый результат
...
Рейтинг: 0 / 0
Немного о факторизации
    #39911092
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
Gennadiy Usov,
так у тебя есть итератор? так что вполне ожидаемый результат
Итератор должен иметь два момента:

1. Что он ищет
2. Как он ищет (формула поиска).

Так что из этого есть в задаче 22053148 ?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39911104
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov,

эта формула даёт n'*n,
даёт?
даёт ...
а то что подаёшь на входе фигню, и получаешь фигню - вполне закономерно
...
Рейтинг: 0 / 0
Немного о факторизации
    #39911107
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
Gennadiy Usov,
эта формула даёт n'*n,
даёт?
даёт ...
а то что подаёшь на входе фигню, и получаешь фигню - вполне закономерно
Я так понимаю, последняя фраза - это самокритика.

Так ты проверял свои умозаключения или просто выплеснул мысли вслух?

На форуме мне всегда говорили: сначала проверь на своём ПК, а потом сообщай остальным.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39911126
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov,
неправильно понимаешь
я то проверил, всё что написал, всё верно.

согласен?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39911130
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
Gennadiy Usov,
неправильно понимаешь
я то проверил, всё что написал, всё верно.
согласен?
Всё проверил, только одно забыл:
как завершается наш пример - число 45 и р = 61.

Где последние расчёты, где получаемые множители?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39911221
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov,

а я обещал их найти?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39911230
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
Gennadiy Usov,
а я обещал их найти?
А проверка своего метода 22053148 ?

Как известно:
мужик сказал, ...

Или метод 22053148 никуда не годится?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39911240
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov,

у меня всё сходится


2^14 | p2 = 1500
31^14 | p2 = 3089


[1500 * 3089] | p2 = 855


Код: plaintext
1.
2.
3.
75	1109	1514			 855 
136	2157	1672			 855 
197	471	3154			 855 
258	698	2736			 855 
....

насчёт слева: "дай итератор степенной, гуляющий по числам < p" ..., есть ????
...
Рейтинг: 0 / 0
Немного о факторизации
    #39911286
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Составил программу факторизации с помощью метода с использованием непрерывных дробей.
https://old.kpfu.ru/f9/bibl/Monograph_ishm.pdf
Исходное 11111 = 41*271.

Перебираю разные простые числа вместо 41 и всё получается.
А на числе 13 - не получается. Интересно!

И на числах 23, 53, 73,...

Что-то мне подсказывает,
что не "проходят" числа, у которых последняя цифра 3.

Хотя прошло 11 * 283.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39911429
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел у себя ошибку: не до конца прочитал условие алгоритма.

Если не получилось, то надо продолжать (следующий прогон). И всё.

Взял за основу перебор нечётных числ от 3 до 100 (первое число) и число 257 (второе число).

Обычно множители находятся за 1 - 2 прогона.

Множитель 13 найден за 14 прогонов, 71 - за 40 прогонов, 73 - за 14 прогонов, 83 - за 48 прогонов, 97 - за 53 прогона.
А на 89 - программа зависла - очень много прогонов... (в результате не хватает места для одного из массивов)
...
Рейтинг: 0 / 0
Немного о факторизации
    #39911480
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Продолжаю исследования метода с использованием непрерывных дробей.

Взял за основу перебор нечётных числ от 3 до 255 (первое число) и число 257 (второе число).

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

Если количество прогонов ограничить числом 100000 (!), то получается,
что невозможно найти множителей (кроме 1 и произведения двух чисел) для произведения двух чисел,
когда первое число:
89, 139, 151, 181, 197, 211, 229, 239, 251
...
Рейтинг: 0 / 0
Немного о факторизации
    #39911726
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного подумал и "проскочил" 89.

Например, для числа 167 необходимо 36 прогонов и здесь "фигурируют" числа в районе Е+200.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39911854
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Составил программу факторизации с помощью метода с использованием квадратичных форм.
https://old.kpfu.ru/f9/bibl/Monograph_ishm.pdf

Формулы похожие на формулы непрерывных дробей.

Было бы интересно объединить эти два метода,
однако при применении этих методов повторяются числа, по которым нельзя найти множители.

Например, при переборе нечётных чисел от 3 до 1000 (первое число) и для числа 257 (второе число)
не находятся множители по двум методам для чисел:
113, 191, 193, 313, ... и т.д.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39911861
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov
Составил программу факторизации с помощью метода с использованием квадратичных форм.
https://old.kpfu.ru/f9/bibl/Monograph_ishm.pdf

Формулы похожие на формулы непрерывных дробей.

Было бы интересно объединить эти два метода,
однако при применении этих методов повторяются числа, по которым нельзя найти множители.

Например, при переборе нечётных чисел от 3 до 1000 (первое число) и для числа 257 (второе число)
не находятся множители по двум методам для чисел:
113, 191, 193, 313, ... и т.д.

  • это равноценные методы
  • что имеется ввиду?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39911917
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
Gennadiy Usov
Составил программу факторизации с помощью метода с использованием квадратичных форм.
Было бы интересно объединить эти два метода,
однако при применении этих методов повторяются числа, по которым нельзя найти множители.

Например, при переборе нечётных чисел от 3 до 1000 (первое число) и для числа 257 (второе число)
не находятся множители по двум методам для чисел:
113, 191, 193, 313, ... и т.д.

  • это равноценные методы
  • что имеется ввиду?
Методы не равноценны, потому что у каждого из них свой перечень "неопределяемых множителей".
Эти два перечня имеют некоторое пересечение.

Поэтому объединение этих методов позволит несколько уменьшить количество чисел,
для которых нельзя найти множителей при использовании одного из методов.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39912710
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если взять число 113 х 271 = 30623,
то имеем бесконечный цикл из только 5-6 чисел.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39912726
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov
Если взять число 113 х 271 = 30623,
то имеем бесконечный цикл из только 5-6 чисел.
Насколько я помню, в таких случаях умножают число на маленькие простые: 30623*2, 30623*3, ... И при этом может найтись множитель, не равный этому маленькому простому - то есть множитель исходного числа.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39912734
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Barlone
Gennadiy Usov
Если взять число 113 х 271 = 30623,
то имеем бесконечный цикл из только 5-6 чисел.
Насколько я помню, в таких случаях умножают число на маленькие простые: 30623*2, 30623*3, ... И при этом может найтись множитель, не равный этому маленькому простому - то есть множитель исходного числа.
Спасибо!

Помогло 2 и 23, дальше из простых не смотрел.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39912746
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проверка показала,
что для каждого простого числа, на которое умножается искомое число,
существует свой перечень не определяемых чисел.

Эти перечни могут пересекаться, а могут и не пересекаться.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39914531
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При составлении алгоритмов всегда было интересно:
какие операции на ПК выполняются быстрее?
А если вместо одного возведения в квадрат выполнять несколько сложений?
и т.д.

Сделал тест на питоне в виде цикла от 1 до 10000000.

Сам цикл (чистый) занимает 0,59 сек.
Если в цикле одно сложение (2**100-1) + (2**101-1), то время работы 1,23 сек.
Если в цикле одно умножение (2**100-1) * (2**101-1), то время работы 1,56 сек.
Если в цикле одно действие по остатку (2**100-1) % (3**20), то время работы 3,17 сек.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39914550
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Усов. Бросай свои числа. Go-go решать задачи.

https://www.sql.ru/forum/1321195/zadacha-s-korobkami-iz-vetki-pro-terver
...
Рейтинг: 0 / 0
Немного о факторизации
    #39914862
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov
Составил программу факторизации с помощью метода с использованием квадратичных форм.
https://old.kpfu.ru/f9/bibl/Monograph_ishm.pdf

Формулы похожие на формулы непрерывных дробей.
Программа это хорошо. Но еще неплохо бы понимать теорию, почему он вообще работает. Почему в первом цикле должна встретится квадратная форма? Почему во втором цикле должна встретиться неоднозначная форма, и почему из ее коэффициентов можно найти делитель?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39914888
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Barlone
Gennadiy Usov
Составил программу факторизации с помощью метода с использованием квадратичных форм.
https://old.kpfu.ru/f9/bibl/Monograph_ishm.pdf
Формулы похожие на формулы непрерывных дробей.
Программа это хорошо.
Но еще неплохо бы понимать теорию, почему он вообще работает.
Почему в первом цикле должна встретится квадратная форма?
Почему во втором цикле должна встретиться неоднозначная форма, и
почему из ее коэффициентов можно найти делитель?
Каждый из методов кто-то разработал и составил перечень операций.
Методы работают не для всех чисел, но для многих чисел работают, и то хорошо.
Влезать в теорию алгоритма пока нецелесообразно, поскольку не понятно: а зачем?

Осталось понять: а как эти методы применить, если применять.
Если применять, то можно влезать в алгоритмы.

Или это остаётся экзотикой.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39924035
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решил продолжить исследования 22060146 времени работы операций на ПК (Питон):

Получились коэффициенты:
сложение - 12
умножение - 12
остаток по модулю - 24
корень квадратный - 55
по-битовое определение единичек в числе - 8
...
Рейтинг: 0 / 0
Немного о факторизации
    #39925395
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Работаю в Питоне.

Заметил, что программа "ошибается" при делении на 2 для чисел около 10^18.

398222426974351438
199111213487175712

Что посоветуете?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39925442
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov
Заметил, что программа "ошибается" при делении на 2 для чисел около 10^18. 398222426974351438 199111213487175712 Что посоветуете?
Это разве не эффект double? 15-16 точных цифр ...
...
Рейтинг: 0 / 0
Немного о факторизации
    #39925446
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov
Работаю в Питоне.

Заметил, что программа "ошибается" при делении на 2 для чисел около 10^18.

398222426974351438
199111213487175712

Что посоветуете?

Python пытается вывести тип данных из текста который ты лупишь.
Смотри. Ввожу просто разные числа. Разной длины. И с десятичной точкой и без.

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Python 2.7.17 (default, Nov  7 2019, 10:07:09) 
[GCC 7.4.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> type(1.1)
<type 'float'>
>>> type(1)
<type 'int'>
>>> type(100000)
<type 'int'>
>>> type(100000000000000000000)
<type 'long'>
>>> type(10000000000000000000000000000000000000000000000000)
<type 'long'>
>>> 
>>> type(long(1))
<type 'long'>



Если выводимый тип - неудачен - то дальше вся цепочка вычислений будет нехорошей.
Типы данных - это самая первая наука которую учат на уроках информатики.
И контроль за ними должен быть предельно жёстким.

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

В последней строке я попытался Питону объявить что единичка имеет тип long.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39925460
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня Python 3.7.4.
И в нём нет "long".

Пробую дальше.

Вместо / поставил // и получилось.
И результат становится int (как положено).

То есть:
не int (a/2),
a a // 2

Хотя // должен отбрасывать дробные части, ещё уменьшая целое число.
В справочниках: "Получение целой части от деления"
...
Рейтинг: 0 / 0
Немного о факторизации
    #39936989
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изучаю китайскую ттеорему об остатках. Нашел:
http://vuz.exponenta.ru/PDF/book/ChinaT.html
посмотрел на поиск yi...

mayton,

поиск yi ничего не напоминает?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39937008
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет ничего не напоминает. Я давно уже не слежу за твоими числовыми исследованиями.
Мне они пока неинтересны. Я целиком в графовых задачах и в изучении ФП.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39937025
Фотография Имя пользователя1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я целиком в графовых задачах
если что интересное и небанальное встретится, выкладывай на форум )
...
Рейтинг: 0 / 0
Немного о факторизации
    #39937031
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
Нет ничего не напоминает. Я давно уже не слежу за твоими числовыми исследованиями.
Мне они пока неинтересны. Я целиком в графовых задачах и в изучении ФП.
А это расстановка ферзей на доске с одинаковым шагом.

Поворачиваем доску на 90 градусов и находим решение с одного шага.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39937057
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov
mayton
Нет ничего не напоминает. Я давно уже не слежу за твоими числовыми исследованиями.
Мне они пока неинтересны. Я целиком в графовых задачах и в изучении ФП.
А это расстановка ферзей на доске с одинаковым шагом.

Поворачиваем доску на 90 градусов и находим решение с одного шага.

Я-бы был рад в это поверить если не другой факт. Этой задачей занимались много лет
и никто не доказал существование полиномиального решения для остаточной расстановки.

Зачем мы тревожим труп? Пускай себе лежит.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39937131
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton,

ты столько потревожил ...., этих, на форуме "Программирование", что одним больше, одним меньше...
...
Рейтинг: 0 / 0
Немного о факторизации
    #39937153
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот я раскаялся в этих действиях и ушел в Тибет читать молитвы
графы решать графовые задачи на ФП.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39937350
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov
Изучаю китайскую ттеорему об остатках. Нашел:
http://vuz.exponenta.ru/PDF/book/ChinaT.html

Найти решение системы сравнений
x=2(mod 5),
x=15(mod 17),
x=5(mod 12).
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
import math


def invmod(a, b):
  if b == 0:
    return 0
  x2 = 1
  x1 = 0
  y2 = 0
  y1 = 1
  d = b
  while b > 0:
    q = a // b
    r = a - q * b
    x = x2 - q * x1
    y = y2 - q * y1
    a = b
    b = r
    x2 = x1
    x1 = x
    y2 = y1
    y1 = y
  if a == 1:
    if x2 > 0:
      return x2
    else:
      return d + x2
  else:
    return 0

def chinese_rems(mods):
    mod_mults = []
    p_mods = 1
    
    def rem_restore(rems):
        nonlocal mod_mults, p_mods 
        sm = 0
        for i in range(len(rems)):
            sm += rems[i] * mod_mults[i] % p_mods
        return sm % p_mods

    for i in mods:
        p_mods *= i
    for i in mods:
        mod_mults.append(invmod(p_mods//i, i) * (p_mods//i) % p_mods)
    return rem_restore

f = chinese_rems([5,17,12])
print (f([2,15,5]))
...
Рейтинг: 0 / 0
Немного о факторизации
    #39937351
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Barlone,

спасибо за программу!

А при прогоне идут ошибки компиляции...
...
Рейтинг: 0 / 0
Немного о факторизации
    #39937353
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov

А при прогоне идут ошибки компиляции...
Старая версия питона?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39937354
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python2.7/py_compile.py", line 117, in compile
raise py_exc
py_compile.PyCompileError: File "prog.py", line 36
nonlocal mod_mults, p_mods
^
SyntaxError: invalid syntax


При копировании прошла сдвижка влево на 6 позиций. Стрелка под s.

А в Python 3.7.4 прошло!
797
>>>
...
Рейтинг: 0 / 0
Немного о факторизации
    #39937506
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получилась интересная ситуация с китайской теоремой.

С первого раза находится число,
если оно меньше произведения всех модулей.

Далее надо прибавлять это произведение модулей до нахождения нужного.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39937662
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov,

Гугли "система остаточных классов"
...
Рейтинг: 0 / 0
Немного о факторизации
    #39955170
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати, а какое соотношение между площадью и периметром прямоугольника?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39955172
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov
Кстати, а какое соотношение между площадью и периметром прямоугольника?

Никакого
...
Рейтинг: 0 / 0
Немного о факторизации
    #39955177
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov
Кстати, а какое соотношение между площадью и периметром прямоугольника?
ab/[2(a + b)]
...
Рейтинг: 0 / 0
Немного о факторизации
    #39955191
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если z = f(x,y) = x * y/[2(x + y)]

то это поверхность близкая к плоскости, и вдоль прямой x = y эта поверхность рвётся
и улетает либо в минус бесконечность либо в плюс.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39955200
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gennadiy Usov
Кстати, а какое соотношение между площадью и периметром прямоугольника?
Почему я задал этот вопрос?

А потому что это отношение похоже на задачу факторизации.

N = A**2 - B**2, N = x*y, A = (x + y)/2
...
Рейтинг: 0 / 0
Немного о факторизации
    #39955477
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov,

оно даже больше, чем похоже
fi(p1*p2) = (p1 - 1) (p2 - 1) = p1 * p2 + 1 - (p1 + p2)

но я уже где-то показывал, что размеры нашей вселенной ничто в сравнении цифрами, используемыми даже в текущей криптографии
...
Рейтинг: 0 / 0
Немного о факторизации
    #39955633
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
Gennadiy Usov,
оно даже больше, чем похоже
fi(p1*p2) = (p1 - 1) (p2 - 1) = p1 * p2 + 1 - (p1 + p2)
но я уже где-то показывал, что размеры нашей вселенной ничто в сравнении цифрами,
используемыми даже в текущей криптографии
А далее ещё интереснее:

2^N = 2^(x + y - 1) mod(N),
где N = x * y - только два множителя.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39956267
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov,

я могу ещё более весомое утверждение дать, в силу отсутствия собственного корня при x<>y

Код: plaintext
2^[(N + 1)/2] mod N = 2^[(x + y)/2] mod N

только толку от этого мало
...
Рейтинг: 0 / 0
Немного о факторизации
    #39956316
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
Gennadiy Usov,
я могу ещё более весомое утверждение дать, в силу отсутствия собственного корня при x<>y
Код: plaintext
2^[(N + 1)/2] mod N = 2^[(x + y)/2] mod N
только толку от этого мало
Чем хорошо это уравнение, так это в том, что перебираются не числа от 1 до x + y,
а числа от 1 до (x + y)/2
при переборе 2^.

А если N +1 можно делить ещё раз на 2 (и не один раз), то ещё меньше чисел придётся перебирать.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39956384
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov
kealon(Ruslan)
Gennadiy Usov,
я могу ещё более весомое утверждение дать, в силу отсутствия собственного корня при x<>y
Код: plaintext
2^[(N + 1)/2] mod N = 2^[(x + y)/2] mod N
только толку от этого мало
Чем хорошо это уравнение, так это в том, что перебираются не числа от 1 до x + y,
а числа от 1 до (x + y)/2
при переборе 2^.

А если N +1 можно делить ещё раз на 2 (и не один раз), то ещё меньше чисел придётся перебирать.
неверно
...
Рейтинг: 0 / 0
Немного о факторизации
    #39956404
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
Gennadiy Usov
А если N +1 можно делить ещё раз на 2 (и не один раз), то ещё меньше чисел придётся перебирать.
неверно
Почему?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39956459
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
Gennadiy Usov
Чем хорошо это уравнение, так это в том, что перебираются не числа от 1 до x + y,
а числа от 1 до (x + y)/2
при переборе 2^.
А если N +1 можно делить ещё раз на 2 (и не один раз), то ещё меньше чисел придётся перебирать.
неверно
Проверил.
Будет верно для (N +1)/4, если (N +1)/8 - чётное.
И так далее.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39965536
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что мы знаем о числе N = x * y, которое необходимо факторизировать?

1. Корень из N - для начала поиска чисел А и В.

2. Длина в битах - можно использовать для поиска окрестностей единиц.

3. Последние цифры - для определения последних цифр чисел x и y, и для определения шага (x + y) или А.

А что ещё?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39965538
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov
А что мы знаем о числе N = x * y, которое необходимо факторизировать?

1. Корень из N - для начала поиска чисел А и В.

2. Длина в битах - можно использовать для поиска окрестностей единиц.

3. Последние цифры - для определения последних цифр чисел x и y, и для определения шага (x + y) или А.

А что ещё?
Остатки по любым простым модулям. Каждый остаток по простому модулю сокращает количество возможных значений x+y примерно в два раза: (x+y) 2 /4 - N mod p должно быть квадратичным вычетом.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39965539
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Barlone
Gennadiy Usov
А что мы знаем о числе N = x * y, которое необходимо факторизировать?
1. Корень из N - для начала поиска чисел А и В.
2. Длина в битах - можно использовать для поиска окрестностей единиц.
3. Последние цифры - для определения последних цифр чисел x и y, и для определения шага (x + y) или А.
А что ещё?
Остатки по любым простым модулям. Каждый остаток по простому модулю сокращает количество возможных значений x+y примерно в два раза: (x+y) 2 /4 - N mod p должно быть квадратичным вычетом.
Есть одно но:
мы не можем найти все такие остатки для больших чисел.

А если пользуясь термином "сокращает количество ... примерно в два раза",
то, зная остатки по 140 простым числам, уменьшаем в 2^140 раз?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39965577
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov

А если пользуясь термином "сокращает количество ... примерно в два раза",
то, зная остатки по 140 простым числам, уменьшаем в 2^140 раз?
Ага. Только это сложно использовать. Мы знаем, что остаток по каждому модулю - один из нескольких возможных. Если выбрать по одному произвольному из допустимых остатку, и по китайской теореме собрать остаток по модулю произведения этих 140 простых - получим огромное число, гораздо больше N.
Можно попробовать использовать что-то типа решета: вычеркивать недопустимые остатки. Только нужен кусок памяти размером порядка квадратного корня из N. Если придумаете, как построить число, которое лежит в нужном диапазоне, и одновременно имеет остатки по простым модулям из числа допустимых - сможете сломать RSA :)
...
Рейтинг: 0 / 0
Немного о факторизации
    #39965585
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Barlone
Gennadiy Usov
А если пользуясь термином "сокращает количество ... примерно в два раза",
то, зная остатки по 140 простым числам, уменьшаем в 2^140 раз?
Ага. Только это сложно использовать.
Мы знаем, что остаток по каждому модулю - один из нескольких возможных.
Если выбрать по одному произвольному из допустимых остатку, и по китайской теореме собрать остаток по модулю произведения этих 140 простых -
получим огромное число, гораздо больше N.

Можно попробовать использовать что-то типа решета: вычеркивать недопустимые остатки.
Только нужен кусок памяти размером порядка квадратного корня из N.
Если придумаете, как построить число, которое лежит в нужном диапазоне,
и одновременно имеет остатки по простым модулям из числа допустимых - сможете сломать RSA :)
Я тут попробовал по китайской теореме смотрел остатки степеней 2 по модулю N, чтобы определить единицу.

Где-то после 2^20 идёт серьёзное увеличение по времени расчёта.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39965802
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Barlone
Остатки по любым простым модулям. Каждый остаток по простому модулю сокращает количество возможных значений x+y примерно в два раза: (x+y) 2 /4 - N mod p должно быть квадратичным вычетом.
Видел публикации, где говорилось о более удобном модуле - 20.

Меньше выборок по остаткам.

А по разным простым модулям будут сложные построения.

Или все остатки собирать в одном массиве, чтобы число в массиве было равно количеству модулей.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39965894
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barlone,

было бы идеально если бы можно было свести задачу к другому модулю
...
Рейтинг: 0 / 0
Немного о факторизации
    #39966910
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Barlone
Каждый остаток по простому модулю сокращает количество возможных значений x+y примерно в два раза:
(x+y) 2 /4 - N mod p должно быть квадратичным вычетом.
То есть, должно выполняться уравнение по квадратичным вычетам:
(x+y) 2 /4 - N = (x-y) 2 /4 mod p
...
Рейтинг: 0 / 0
Немного о факторизации
    #39968758
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обычно, в тесте Ферма при определения остатков перебираются показатели степени для определённого основания степени.

А есть ли работы по перебору оснований степени?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39971688
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barlone
Gennadiy Usov

А если пользуясь термином "сокращает количество ... примерно в два раза",
то, зная остатки по 140 простым числам, уменьшаем в 2^140 раз?
Ага. Только это сложно использовать. Мы знаем, что остаток по каждому модулю - один из нескольких возможных. Если выбрать по одному произвольному из допустимых остатку, и по китайской теореме собрать остаток по модулю произведения этих 140 простых - получим огромное число, гораздо больше N.
Можно попробовать использовать что-то типа решета: вычеркивать недопустимые остатки. Только нужен кусок памяти размером порядка квадратного корня из N. Если придумаете, как построить число, которое лежит в нужном диапазоне, и одновременно имеет остатки по простым модулям из числа допустимых - сможете сломать RSA :)
не совсем понял
группа остатков по простым модулям это собственно "система остаточных классов", там как бы проблем то нет

если этим можно представить q^2|n=1 и q < n, то остатков то не так много нужно

за счёт чего " (x+y)2/4 - N mod p должно быть квадратичным вычетом " уменьшает количество значений вдвое?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39971791
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)

за счёт чего " (x+y)2/4 - N mod p должно быть квадратичным вычетом " уменьшает количество значений вдвое?

Мы пытаемся представить нечетное составное N в виде N = s² - d² и, рассматривая это равенство по модулям маленьких простых чисел, получаем ограничения на возможные значения s или d. Ну например, допустим N mod 5 == 1. Тогда s mod 5 не может быть 2 или 3, потому что 3 - квадратичный невычет по модулю 5. А если N mod 5 == 3, то s mod 5 не может быть 0, 1 и 4.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39971802
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Barlone
kealon(Ruslan)
за счёт чего " (x+y)2/4 - N mod p должно быть квадратичным вычетом " уменьшает количество значений вдвое?
Мы пытаемся представить нечетное составное N в виде N = s² - d² и, рассматривая это равенство по модулям маленьких простых чисел, получаем ограничения на возможные значения s или d. Ну например, допустим N mod 5 == 1. Тогда s mod 5 не может быть 2 или 3, потому что 3 - квадратичный невычет по модулю 5. А если N mod 5 == 3, то s mod 5 не может быть 0, 1 и 4.
А почему рассматривается только s или d?

Необходимо рассматривать комбинацию разностей остатков для s и d.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39971914
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barlone,

но так выходит дофига комбинаций, которые надо проверять
т.е. уменьшения в два раза то и нету

т.е. допустим для представления N нам достаточно СОК из K простых чисел

у нас выходит П(P i /2, i = 1..k) вариантов для перебора, что приблизительно равно N/ 2^K - и это очень дофига
...
Рейтинг: 0 / 0
Немного о факторизации
    #39974197
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В продолжение 22144685 :

4. Величину s = (х + y) mod 6
...
Рейтинг: 0 / 0
Немного о факторизации
    #39976548
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решил поработать с р-методом логарифмирования.

Много разных публикаций с разными алгоритмами.
Скачал на Питоне программу, которая не всегда работает
https://ru.wikibooks.org/wiki/Реализации_алгоритмов/P-метод_Полларда_дискретного_логарифмирования

Было бы интересно обсудить данный метод.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39985384
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Потерял сообщение (не помню топик), в котором говорилось о максимальном количестве простых чисел,
чтобы была реше сетка для факторизации.

А у меня вопрос:
на настоящий момент какое количество простых чисел удалось применить в одной сетке и какой размер ячеи такой сетки?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39985863
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Допустим, есть число n = x * y, где x и y – два простых числа.
Над числом n есть кольцо вычетов Zn.

Согласно алгоритму Гельфонда –Шенкса можно построить в кольце вычетов Zn две сетки чисел,
с помощью которых можно найти все вычеты для определённого некоторого числа q,
которых будет несколько в Zn.
Получается сетка чисел размером m = (n^(1/2) x (n^(1/2),
тогда, количество элементов сетки будет m.
И для определения числа q (или нескольких q) будет «шаг» на отрезке (1, n-1),
равный n/m .

Согласно 22097181 ищется число q = 1, и не каждое число, а только определённое число q =1,
на «расстоянии» (x + y) - 1 от последнего элемента кольца вычетов Zn.

Для этого вычета q = 1 достаточно ограничить отрезок (2*(n^(1/2), k*(n^(1/2)),
где k надо посчитать после учёта малых делителей.
Получается новая сетка чисел размером m1 = (((k-2)*(n^(1/2))^(1/2)) x (((k-2)*(n^(1/2))^(1/2)).

И «шаг» для определения числа A = (х + y)/2 будет равен 2*m / m1.

А какой «шаг» даст нам метод Ферма с перебором простых чисел?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39986507
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У алгоритма Гельфонда -Шенкса есть одно неудобство:
необходимо сравнивать каждое число второй сетки с каждым числом первой сетки.

А если на первую сетку "наложить" третью сетку?
Некоторая сортировка.

Тогда в несколько раз можно уменьшить количество сравнений между первой и второй сетками.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39986516
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov, какую цель ты преследуешь?

Мы, программисты добиваемся того чтобы ответ от программы был получен за разумное время.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39986561
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton,

почти во всех известных методах факторизации за основу берется уравнение n = A^2 - B^2.
(или во всех ?)

А если за основу методов факторизации взять 2^(x + y) = 2^(n + 1) mod n?

Или за основу взять лучшее от этих двух уравнений.

Второе уравнение применяется только про дискретном логарифмировании.(?)
...
Рейтинг: 0 / 0
Немного о факторизации
    #39986564
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov
mayton,

почти во всех известных методах факторизации за основу берется уравнение n = A^2 - B^2.
(или во всех ?)
Не во всех. Есть же p-1 метод Полларда. Там как раз предполагая, что N=p*q, ищем такое x, что a x =1 mod p и a x ≠1 mod q. Тогда gcd(a x %N-1,N)=p
Для поиска x используется то, что если a x =1 mod p то и a x*y =1 mod p при любом y
Метод эллиптических кривых работает так же, только вместо вычетов по модулю N использует точки на эллиптической кривой.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39986590
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov,

не во всех, есть ещё Метод разложения Эйлера
...
Рейтинг: 0 / 0
Немного о факторизации
    #39986638
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
Gennadiy Usov,
не во всех, есть ещё Метод разложения Эйлера
Интересный метод, но в нём нет 2^.
Я это имел в виду, а есть там + или - , то это уже вторично.
...
Рейтинг: 0 / 0
Немного о факторизации
    #39989662
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Заинтересовал метод факторизации (p-1) - метод Полларда.

И появилась задачка для выходных:

найти с помощью этого метода делители числа 3277.
То есть, выбрать с помощью этого метода набор простых делителей со степенями
для определения делителей числа 3277
...
Рейтинг: 0 / 0
Немного о факторизации
    #39996316
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
https://ru.wikipedia.org/wiki/P?1-метод_Полларда

В этой статье спутаны 2 понятия.

Сначала - "сильные простые числа"

А потом - "Пусть N B-гладкостепенное"

Разница есть?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39996356
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И это прекрасно. Очередное доказательство того, "какая гадость - эта ваша"(цэ) смердепедия. Сколько уже можно наталкиваться на некомпетентность? Кто-то продолжает думать, что статьи не заказные, что их пишут не по заданию, не штатные писатели, к-рым одинаково равно что Гегель, что Гоголь, что пишут их компетентные специалисты?
Жду желающих исправить статью))
...
Рейтинг: 0 / 0
Немного о факторизации
    #39996371
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov
https://ru.wikipedia.org/wiki/P?1-метод_Полларда

В этой статье спутаны 2 понятия.

Сначала - "сильные простые числа"

А потом - "Пусть N B-гладкостепенное"

Разница есть?
логически там верно, просто велик, могуч и не всегда однозначен русский язык

авторИменно появление данного алгоритма привело к изменению понятия сильного простого числа, используемого в криптографии, нестрого говоря, простого числа, для которого p-1 имеет достаточно большие делители.
авторПусть N B-гладкостепенное это собственно и является условием применимости данного алгоритма
а так же и появившимся в криптографии, после открытия этого метода критерием НЕ "сильного простого числа"
...
Рейтинг: 0 / 0
Немного о факторизации
    #39996508
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прочитал - "гладкоствольное". Воистину могуч...
...
Рейтинг: 0 / 0
Немного о факторизации
    #39996901
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тут мы говорим о сильных числах,
о том, что (р – 1) - метод Полларда не способен работать с сильными числами.

А вот и нет.

Пример:
N = 668027303194148809 * 9929

Здесь сомножители делителей числа N
и (р-1), и (р+1)
[2, 2, 2, 17, 73] [2, 2, 2, 2, 2, 2, 2, 2, 5, 47, 373, 2998279]
[2, 3, 5, 331] [2, 3, 3, 109, 18401, 1863581]

Чтобы определить делитель 668027303194148809,
необходимо определить делитель 9929.
Иначе нельзя.

Однако, если задать в (р – 1) - методе Полларда
для произведения М только один сомножитель 2^8,
то (р – 1) - метод Полларда первым определяет делитель:
668027303194148809

Спрашивается:
число 668027303194148809 сильное число относительно числа 9929?
...
Рейтинг: 0 / 0
Немного о факторизации
    #39997069
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy Usov,

авторИменно появление данного алгоритма привело к изменению понятия сильного простого числа, используемого в криптографии, нестрого говоря , простого числа, для которого p-1 имеет достаточно большие делители.опять могучий и великий...
что-то мне говорит, что не обязательно число с мелкими делителями для p-1 будет хорошо факторизовываться этим методом

вот в замечании более сильное условие есть тынц
авторС помощью данного метода мы сможем найти только такие простые делители ...
...
Рейтинг: 0 / 0
Немного о факторизации
    #39997085
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)
что-то мне говорит, что не обязательно число с мелкими делителями для p-1 будет хорошо факторизовываться этим методом

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

Самое важное: сомножители "определяют" не делители числа,
а те (2^М - 1), которые в дальнейшем "определят" делителей.

Видите разницу!

Вот что забыли в методе!
...
Рейтинг: 0 / 0
Немного о факторизации
    #39997519
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть ещё интересный пример:

2^ 97 – 1 = 11447 * 13842607235828485645766393
11447 – 1 = 2 * 59 * 97
13842607235828485645766393 – 1 = 2^3 * 97 * 1297 *13753593975618284111
...
Рейтинг: 0 / 0
Немного о факторизации
    #39997612
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пример 22195171 , в котором повторяется число 97 в делителях,
может быть только с простыми числами.
Здесь - 97.
...
Рейтинг: 0 / 0
Немного о факторизации
    #40002674
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какое простое число более сильное:

р = 12000047, (р - 1) = 2 * 6000023, 6000023 - простое число

или

р = 12000071, (р - 1) = 2 * 5 * 1200007, 1200007 - простое число

Конечно, относительно В1 = 1000000
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Немного о факторизации
    #40100524
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Докину сюда. Проба пера еще в одном языке.

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
-- mayton : 28-Sep. Yet another tiny factorization

primes :: [Int]
primes = filterPrime [2..]
  where filterPrime (p:xs) =
          p : filterPrime [x | x <- xs, (mod x p) /= 0]

factorize' :: Int -> [Int] -> [Int] -> [Int]
factorize' x divisors primesVals 
  |x == 1 = reverse divisors 
  |otherwise = let d = head primesVals 
               in if (mod x d) == 0 then factorize' (div x d) (d:divisors) primesVals
               else factorize' x divisors $ tail primesVals

factorize :: Int -> [Int]
factorize x = factorize' x [] primes
...
Рейтинг: 0 / 0
Немного о факторизации
    #40100559
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

тоже докину сюда свою мысль, не могу найти

как определить есть ли ненулевые целые решения у Диафантово уравнение второй степени с двумя неизвестными, вида
(x r+ a) (y r + b) = c
...
Рейтинг: 0 / 0
Немного о факторизации
    #40100613
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я помню что для диофанта 1-й степени подходят генетические алгоритмы как наиболее быстрый способ
поиска возможного решения. Это просто ... в голове отложилось от чтения статей по ГА.
...
Рейтинг: 0 / 0
Немного о факторизации
    #40100632
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
mayton,

тоже докину сюда свою мысль, не могу найти

как определить есть ли ненулевые целые решения у Диафантово уравнение второй степени с двумя неизвестными, вида
(x r+ a) (y r + b) = c
Начать с факторизации c?
...
Рейтинг: 0 / 0
Немного о факторизации
    #40100660
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barlone
Начать с факторизации c?
вот меня и интересует, есть ли метод без факторизации "c"
...
Рейтинг: 0 / 0
Немного о факторизации
    #40100759
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
вида
(x r+ a) (y r + b) = c
Сдвинутая равнобочная гипербола. Перебором, сэр?
...
Рейтинг: 0 / 0
Немного о факторизации
    #40100764
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98
kealon(Ruslan)
вида
(x r+ a) (y r + b) = c
Сдвинутая равнобочная гипербола. Перебором, сэр?

Напоминает криптографию.
...
Рейтинг: 0 / 0
Немного о факторизации
    #40100777
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98
kealon(Ruslan)
вида
(x r+ a) (y r + b) = c
Сдвинутая равнобочная гипербола. Перебором, сэр?
тогда уж проще разложить
да мне как бы и не решение нужно, а проверка есть ли оно
...
Рейтинг: 0 / 0
Немного о факторизации
    #40100799
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если сделать такое преобразование.

Код: sql
1.
(x r+ a) (y r + b) - с = 0



И искать минимум этой функции через симуляцио отжига.
...
Рейтинг: 0 / 0
Немного о факторизации
    #40100824
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

не-не, цифры очень большие, симуляции или разложение на множители явно не подойдут

простым проверкам типа
(a*b) mod r = c mod r
уравнение удовлетворяет

в p-адических числах решение тоже имеет, так как c - составное (состоит из произведения 3-х простых чисел)

найти нужно: существует или не существует решение
...
Рейтинг: 0 / 0
Немного о факторизации
    #40100902
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan), а что такое "очень большие"? Известно примерное соотношение количества бит в r, a, b, c?
...
Рейтинг: 0 / 0
Немного о факторизации
    #40100905
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если сделать факторизируемое число - это упростит подобный класс задач?

Код: sql
1.
2.
3.
4.
5.
6.
7.
class Number[T] with Factorizable[T] {

   def lazyFactorize() : Map[T,T] // если надо то любое число будет иметь вторую форму представления в виде 240 = 2^2 * 3 * 4 * 5

   .....

}
...
Рейтинг: 0 / 0
Немного о факторизации
    #40100930
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)

простым проверкам типа
(a*b) mod r = c mod r
уравнение удовлетворяет
Вариант ответа "решение уравнения существует, когда существует разложение на множители c=c1*c2, такое что c1 = a mod r и c2 = b mod r" не устраивает?
...
Рейтинг: 0 / 0
Немного о факторизации
    #40101021
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barlone,

нет конечно, если бы было легко разложить вопрос бы не возник
...
Рейтинг: 0 / 0
Немного о факторизации
    #40101022
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А про размер чисел?
Хотя, есть большое подозрение, что даже умение отвечать на вопрос, существует ли решение, не давая этого решения, может сильно помочь факторизации...
...
Рейтинг: 0 / 0
Немного о факторизации
    #40101026
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barlone,

ну нормальные такие, бит на тысячу-две
...
Рейтинг: 0 / 0
Немного о факторизации
    #40101027
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а порядок r ?
...
Рейтинг: 0 / 0
Немного о факторизации
    #40101028
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barlone,

в общем суть такая,
известны простые {p1,p2, ...}

про которые известно, что для
(x r+ a) (y r + b) = n * П ({p1,p2, ...})
есть решение

нужно выкинуть из уравнения максимальное количество pi, так что для уравнения будет существовать решение (r здесь - степень двойки)
...
Рейтинг: 0 / 0
Немного о факторизации
    #40101034
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подождите, "известны простые..." и "трудно разложить на множители" это же диаметрально противоположные утверждения?
...
Рейтинг: 0 / 0
Немного о факторизации
    #40101037
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barlone
Подождите, "известны простые..." и "трудно разложить на множители" это же диаметрально противоположные утверждения?
n - не простое, и разложить его трудно
a = n mod r
...
Рейтинг: 0 / 0
Немного о факторизации
    #40101084
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
Barlone
Подождите, "известны простые..." и "трудно разложить на множители" это же диаметрально противоположные утверждения?
n - не простое, и разложить его трудно
a = n mod r
А b значит равно П ({p1,p2, ...}) mod r? Выкинуть такое подмножество pi, что их произведение равно 1 mod r не подходит?
...
Рейтинг: 0 / 0
Немного о факторизации
    #40101109
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barlone
Выкинуть такое подмножество pi, что их произведение равно 1 mod r не подходит?

r > n
kealon(Ruslan)... есть ли ненулевые целые решения у Диафантово уравнение второй степени с двумя неизвестными, вида
(x r+ a) (y r + b) = c
собственно a и = n
...
Рейтинг: 0 / 0
Немного о факторизации
    #40101161
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
Barlone,

в общем суть такая,
известны простые {p1,p2, ...}

про которые известно, что для
(x r+ a) (y r + b) = n * П ({p1,p2, ...})
есть решение

нужно выкинуть из уравнения максимальное количество pi, так что для уравнения будет существовать решение (r здесь - степень двойки)
А количество этих простых случайно не равно степени?
...
Рейтинг: 0 / 0
Немного о факторизации
    #40101184
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
Barlone
Выкинуть такое подмножество pi, что их произведение равно 1 mod r не подходит?

r > n
kealon(Ruslan)... есть ли ненулевые целые решения у Диафантово уравнение второй степени с двумя неизвестными, вида
(x r+ a) (y r + b) = c

собственно a и = nУсловие, что произведение выкидываемых равно 1 mod r очевидно необходимое, иначе сломается тождество (a*b) = c mod r
...
Рейтинг: 0 / 0
Немного о факторизации
    #40101209
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barlone,

собственно исходное уравнение такое

(x r+ n) (y r + b) = n * П({Pi})

тривиальное решение при x=0, естественно не нужно

r может быть и меньше n

при r=2^k я всегда могу найти набор из (к - 1) простых чисел ({Pi}), при которых у этого уравнения будет хотя бы 1 ненулевое решение.
...
Рейтинг: 0 / 0
Немного о факторизации
    #40101210
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barlone
Условие, что произведение выкидываемых равно 1 mod r очевидно необходимое, иначе сломается тождество (a*b) = c mod r
нет, c же зависит от набора {Pi}
...
Рейтинг: 0 / 0
Немного о факторизации
    #40101225
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)

при r=2^k я всегда могу найти набор из (к - 1) простых чисел ({Pi}), при которых у этого уравнения будет хотя бы 1 ненулевое решение.
Я примерно представляю способ построения множества из k-1 простых, произведения подмножеств которого будут давать все возможные нечетные остатки по модулю 2^k. Но чтобы потом из этого множества что-то выкинуть, надо знать остатки сомножителей n по модулю 2^k...
...
Рейтинг: 0 / 0
Немного о факторизации
    #40101249
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barlone,

в половине случаев это просто поиск простых удовлетворяющих
условию

Pi mod r = ([n^(fi(r1) - 1)] ^ i) mod r, i = 1..k-2

и ещё одно нужно для устранения симметрии
P0 mod r = -[n^(fi(r1) - 1)] mod r, i = 1..k-2

при выполнении этих условий 1 из множителей n по модулю r можно гарантированно составить из элементов этого набора, и уравнение будет иметь ненулевое решение

самое интересное:
к этому же уравнению можно свести задачу о рюкзаке.

была какая-то теорема, что диафантовым уравнением 2-й степени с 2-мя неизвестными можно описать любое множество чисел.
наверное можно так же и другие NP-полные задачи свести к этому уравнению.
...
Рейтинг: 0 / 0
Немного о факторизации
    #40102619
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот небольшой рефакторинг. Некто Филипп (вот его канал https://www.youtube.com/channel/UC3xdLFFsqG701QAyGJIPT1g) x divisors $ tail primesVals




primes - пускай побудет в видимости модуля. Может еще для чего пригодится.
...
Рейтинг: 0 / 0
163 сообщений из 163, показаны все 7 страниц
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Немного о факторизации
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]