2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Решето Сундарама и его следствия
Сообщение20.09.2012, 13:56 


19/09/12
18
Я заинтересовался проблемой Гольдбаха (представление четного суммой двух простых), и в процессе переоткрыл, как оказалось, решето Сундарама :-)
Сейчас я параллельно занимаюсь
1) изучением мат.аппарата для придания строгости своему доказательству,
2) способами поиска больших простых чисел, и
3) поиском легкого способа разложения большого числа на множители.

По вопросу поиска больших простых я нашел вычислительно элементарный способ (сам способ будет чуть ниже).

Вводная:
1. Все простые числа - нечетные.
2. Любое нечетное число либо простое, либо составное.
3. Любое нечетное $Z$ можно представить как $(2z+1)$, где $z$ - натуральное.
4. Нечетное является составным, только если его можно представить как произведение двух нечетных $(2z+1)=(2x+1)(2y+1)$.
5. Нечетное является составным, только если уравнение $z=2xy+x+y$ имеет решение в натуральных $x$ и $y$.

Это и есть решето "мое" и Сундарама :-)
Если из натурального ряда вычеркнуть значения, которые принимает $z$ для любых натуральных $x$ и $y$, то оставшиеся числа будут четными основаниями простых (простое получается умножением на 2 и прибавлением единицы).
Первые значения $z$ выглядят так - 4, 7, 10, 12, 13, 16, 17, 19, 22, 25, 27, 28, 31, 32, 34, 37 и т.д.
Что соответствует нечетным $(2z+1)$, которые не являются простыми - 9, 15, 21, 25, 27, 33 и т.д.


В отношении бинарной проблемы Гольдбаха можно показать:

6. Любое четное число $Z=2z$ можно представить суммой двух нечетных $Z=2z=(2z_1+1)+(2z_2+1)$.
7. Область решений уравнения $z=z_1+z_2$ является последовательной частью ряда натуральных чисел (Например, 22 можно представить как (21+1), (19+3), (17+5), (15+7), (13+9), (11+11). Соответственно, $z_1$ и $z_2$ будут (10,0), (9,1), (8,2), (7,3), (6,4), (5,5). И даже можно продолжить до (4,6), (3,7), (2,8), (1,9), (0,10) - это не будет помехой).
8. Для существования простых $(2z_1+1)$ и $(2z_2+1)$ из п.6, необходимо для каждого из них отсутствие решений уравнения из п.5.
9. Предположим утверждение обратное проблеме - для любой пары нечетных чисел, образующих в сумме четное число $Z$, хотя бы одно из них не является простым.
10. Тогда (для натуральных $x$ и $y$) область значений функции $z=2xy+x+y$ должна совпадать с областью значений функции $z=x+y$ (т.е., фактически, покрывать весь натуральный ряд).
11. А это не так (вопрос о строгом сравнении функций открыт здесь: post621314.html#p621314). Следовательно, предположение в п. 9 является неверным. Следовательно, всегда существует такая пара нечетных чисел, образующих в сумме четное число $Z$, оба из которых являются простыми.
ЧТД :-)


Что касается разложения большого числа на множители, то здесь можно предложить алгоритм (об эффективности судите сами), основанный на том же уравнении $z=2xy+x+y$.
Если мы приведем уравнение к виду $z=2x(y+1)+y$ и будем последовательно фиксировать $y$ (y=1,2,3,4,5...), то получим выражения вида
$z=3x+1$, или $z-1=3x$,
$z=5x+2$, или $z-2=5x$,
$z=7x+3$, или $z-3=7x$,
$z=9x+4$, или $z-4=9x$,
$z=11x+5$, или $z-5=11x$,
$z=13x+6$, или $z-6=13x$,
$z=15x+7$, или $z-7=15x$,
и т.д.

Когда перед нами стоит специфическая задача по большому числу $Z$ определить из каких двух простых множителей $X$ и $Y$ оно состоит (криптозадача), то можно воспользоваться таким алгоритмом:
1. из $Z=2z+1$ получаем $z$.
2. открываем цикл по натуральному $k$
3. последовательно вычитаем $k$ из $z$ (фактически уменьшаем $z$ на единицу на каждом цикле) и проверяем делимость числа $(z-k)$ на число $(2k+1)$.
Все :-)
Как только нашли делимость, наши простые множители будут $X=2k+1$ и $Y$ - это частное от деления $(z-k)$ на $(2k+1)$ на последнем шаге.

Плюсом данного алгоритма является простота и то, что, по сравнению с исходным числом, мы сразу уменьшаем в два раза (беря его четное основание) число, делимость которого нужно проверять, и плюс на каждом шаге алгоритма еще уменьшаем его, хоть и всего лишь на единицу.

-- 20.09.2012, 15:19 --

Продолжение тут: topic62421.html
А то пропадает почему-то все.

 Профиль  
                  
 
 Решето Сундарама и его следствия ч.2
Сообщение20.09.2012, 14:19 


19/09/12
18
Начало тут: topic62419.html
А то пропадает почему-то все.

Ну, и наконец, самое вкусное - элементарное нахождение любых больших простых чисел :-)

Допустим, мы хотим найти простые числа порядка $10^{10000}$ (или $10^{10^{1000000000}}$ - без разницы) :-)

Шаг -2. Возьмем "удобное число" $2\cdot10^{10000}+1$ соответствующее искомому порядку. Это нечетное число, которое можно представить в том же, упомянутом выше, виде $Z=2z+1$.
Шаг -1. Выделим его четное основание $z=\frac{Z-1}2$ и назовем его $E$. У нас оно будет равно $10^{10000}$. Это наше основание. Это нижняя граница области в которой мы получим большие простые числа.
Шаг 0. Зададим верхнюю границу области больших простых чисел, как дельту $D$. Например, 1000 ($10^3$). Т.е., мы задали диапазон $(E; E+D)$.

Теперь вспомним еще раз, что если мы приведем уравнение к виду $z=2x(y+1)+y$ и будем последовательно фиксировать $y$ (y=1,2,3,4,5...), то получим выражения вида
$z=3x+1$, или $z-1=3x$,
$z=5x+2$, или $z-2=5x$,
$z=7x+3$, или $z-3=7x$,
$z=9x+4$, или $z-4=9x$,
$z=11x+5$, или $z-5=11x$,
$z=13x+6$, или $z-6=13x$,
$z=15x+7$, или $z-7=15x$,
и т.д.

Наше число $E$ ($10^{10000}$) - это число вида 10000....0000, т.е., сумма его цифр равна "1". Соответственно, число $(E-1)$ - делится на "3".
Мы нашли $(z-1)=3x$.
Возьмем $E_0=z=E$ ($E_0$ определяется как число, которое делится на $(2k+1)$, плюс $k$, где $k$ - номер шага итерации) и "пойдем прибавлять" наш первый шаг равный 3. Получим $E+3$, $E+6$, $E+9$ и т.д. Заполняя "вычеркиванием" таблицу от $E$ до $(E+D)$. Т.е., $E_i=E_0+3i$. Видите, величина самого $E$ нас не волнует - мы работаем в области от 1 до $D$ :-)
На следующем шаге, используя признак делимости на 5, мы можем найти $(z-2)=5x$ - это само число $E$. Откуда новое $E_0=E+2$. Если хотим, можем взять $E_0$ "за пределами области $(E; E+D)$": $E_0=E+2-5$. И снова "пошли прибавлять" $E_i=E_0+5i$, получая $E+2$, $E+7$, $E+12$, $E+17$ и т.д.
Используя признаки делимости и благодаря тому, что мы взяли "удобное число" можно "просеять" нашу область решетом из первых нечетных чисел.

А что с большими нечетными?
А очень просто.
Вот, взяли мы на шаге "209" очередное нечетное число "419". (метод будет одинаков для любой разрядности числа)
Нам не надо искать особые способы проверки делимости какого-то большого числа около $E$ на 419.
Мы просто:
1) выделяем в этом числе степень 10 (определяем разрядность числа - p). $419 = 4,19\cdot10^2$
2) домножаем это число на степень $10^{10000-p-1} = 10^{9997}$. Получаем число $4,19\cdot10^{9999}$. Это число точно делится на 419 и находится "недалеко" от $E$.
3) насколько "недалеко"? Представляем его как $10\cdot10^{9999}-4,19\cdot10^{9999} = (10-4,19)\cdot10^{99999} = 5,81\cdot10^{9999}$. Получится число 581000000... (с 9997 нулями).
дальше, пока, для простоты, предположим, что нас такая близость "устроила".
4) берем "смещение" этого числа, равное шагу итерации, т.е., "209". Получаем $5,81\cdot10^{9999} + 209$, т.е., 5810000...(9994 нуля)...0000209. Это наше новое $E_0$. И опять "пошли складывать" по 419 :-) $E_i=E_0+419i$. При этом проверяя, сначала старшие разряды - пока сумма не достигла $E$, нас число не интересует. Когда сумма стала больше $E$ на некоторое $Q$, берем новое $E_0=E+Q$ и продолжаем "просеивать" нашу искомую область $(E; E+D)$. Естественно, что как только $E_i>D$, то с данной итерацией мы закончили и переходим к следующей.

Этот алгоритм универсален для любой разрядности, поэтому признаками делимости на 3, 5 и т.п. можно и не "заморачиваться".

"Просеянная" область от 1 до $D$ содержит невычеркнутые четные основания простых. Прибавьте к ним наше $E$ (которое у нас было "за скобками"), домножьте их на 2 и прибавьте 1 - вот ваш "улов" простых. И в нем, думаю, далеко не одна "рыбка" (да не золотая, а самая что ни на есть простая!) ;-)

Данный алгоритм не использует ничего, кроме сложения (единственное вычитание - это дополнение до следующего разряда 10 и может быть реализовано через сложение). С точки зрения обычных приложений на домашнем компьютере мы ограничены разрядностью чисел над которыми можно делать операции стандартными средствами. Но можно использовать специальные программные библиотеки для работы с большими числами или реализовать поразрядное сложение в строковом виде. А число операций сравнительно невелико.
Таким образом, даже на домашнем компьютере можно за приемлемое время получить очень большие простые в заданном диапазоне, не требующие дополнительных проверок.

Ну, а теперь вернемся к шагу 3. Здесь есть место для оптимизации.
Когда мы получили $4,19\cdot10^{9999}$, в нем $10^{9997}$ разрядов одних нулей, которые мы будем вынужденно "пробегать" сложением по 419.
Эту задачу можно упростить в двух направлениях.
1. Мы можем циклически прибавить к $4,19\cdot10^{9999}$ более младшие степени $4,19\cdot10^{9998} + 4,19\cdot10^{9997} + 4,19\cdot10^{9996} + 4,19\cdot10^{9995} + ... + 4,19\cdot10^3 + 4,19\cdot10^2$.
Т.е., мы из числа вида "70000000000000000000" можем сразу получить число вида "77777777777777777777", которое будет ближе к $E$ на целых.. на много, в общем, ближе :-)
2. Мы можем "проапгрейдить" алгоритм более сложными операциями, если будем высчитывать - насколько нацело делится $E$ на очередное число нашей итерации и брать остаток от деления $R$, представляя $E_0=E-R+k$ (где $k$ - шаг нашей итерации).

Степень вычислительной сложности первого и второго способа лучше оценят более сведущие специалисты, чем я :-)
Возможно оптимальнее всего будет использовать сочетание этих алгоритмов.

Да, и количество итераций у нас будет не $E$, конечно :-)
Если в уравнении $z=2xy+x+y$, $x=y$, то $z=2x^2+2x$, откуда грубая оценка для $x$, при больших $z$ такова, что $x = \sqrt{\frac z2}$. Если точнее, то $x = \sqrt{\frac z2-x}$, но достаточно взять целую часть от $\sqrt{\frac z2}$ в качестве номера последней итерации.


Ну, и на самый конец :-)

Если найдется математический аппарат, с помощью которого можно быстро качественно показать имеет ли решение уравнение $z=2xy+x+y$ для заданного $z$ в натуральных $x$ и $y$, то перед нами - самый простой тест на простоту любого числа ;-)

Вот, таково наше с Сундарамом решето :-)

 Профиль  
                  
 
 Re: Решето Сундарама и его следствия
Сообщение20.09.2012, 14:28 
Админ форума
Аватара пользователя


19/03/10
8952
 i  Темы объединены

 Профиль  
                  
 
 Re: Решето Сундарама и его следствия
Сообщение20.09.2012, 14:40 


19/09/12
18
Ок.
Вот здесь можно посчитать решение уравнения $z=2xy+x+y$ для достаточно больших z (четных оснований) - 5-6 десятков знаков:
http://www.wolframalpha.com/input/?i=2x ... 0%2C+y%3E0

Но здесь есть мгновенный факторизатор чисел до 60 знаков:
http://ru.numberempire.com/numberfactorizer.php

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

-- 20.09.2012, 15:46 --

Еще забыл отметить, что в алгоритме поиска больших простых чисел - та дельта $D$, которую мы задаем для поиска, может меняться в сторону значительного увеличения весьма с небольшим увеличением вычислительно-ресурсной сложности. Т.е., найти простые на диапазоне в $10^5$ чисел будет практически столь же быстро, как и на диапазоне $10^3$!

-- 20.09.2012, 16:01 --

А еще данный алгоритм поиска простых идеален для распараллеливания вычислений - каждую итерацию (или пакет итераций от шага $k_i$ до $k_{i+t}$) можно выполнять независимо, сохраняя на выходе диапазон $(E; E+D)$ с "вычеркнутыми" числами :-)

-- 20.09.2012, 16:17 --

Нашел опечатку.

Строку:
4) берем "смещение" этого числа, равное шагу итерации, т.е., "209". Получаем $5,81\cdot10^{9999} + 209$, т.е., 5810000...(9994 нуля)...0000209. Это наше новое $E_0$.
Надо читать так:
4) берем "смещение" этого числа, равное шагу итерации, т.е., "209". Получаем $4,19\cdot10^{9999} + 209$, т.е., 4190000...(9994 нуля)...0000209. Это наше новое $E_0$.

Эта опечатка вызвана тем, что я сначала хотел обойтись без залезания далеко от $E$, поэтому и высчитывал разность между $E$ и ближайшим числом типа $4,19\cdot10^{9999}$. Но чтобы никого не путать, я от этого отказался $E_0=4,19\cdot10^{9999} + 209$ - это правильное $E_0$.

 Профиль  
                  
 
 Re: Решето Сундарама и его следствия
Сообщение20.09.2012, 15:32 
Заслуженный участник


20/12/10
9069
freeot в сообщении #621388 писал(а):
Таким образом, даже на домашнем компьютере можно за приемлемое время получить очень большие простые в заданном диапазоне, не требующие дополнительных проверок.
Ну, попробуйте получить 100-значное простое число при помощи своего алгоритма.

 Профиль  
                  
 
 Re: Решето Сундарама и его следствия
Сообщение20.09.2012, 15:45 


19/09/12
18
nnosipov в сообщении #621408 писал(а):
Ну, попробуйте получить 100-значное простое число при помощи своего алгоритма.

Я попробую :-)
Но у меня "под рукой" доступен только очень медленный инструмент - 1С :-)
А вы можете что-то предметно сказать о ресурсоемкости данного алгоритма (в цифрах)?
Я, конечно, не большой специалист в этом, но мне кажется, "навскидку", что это уж точно эффективней расчетов той группы, которая занимается расчетами чисел Мерсенна (те, кто самые большие числа "открывает" используя распределенные вычисления) :?
Сколько, по вашему, требуется времени компьютеру для того, чтобы используя метод "1+1=2, 2+1=3, 3+1=4 и т.д." дойти до 100-значного числа? ;-)

 Профиль  
                  
 
 Re: Решето Сундарама и его следствия
Сообщение20.09.2012, 15:54 
Заслуженный участник


20/12/10
9069
freeot в сообщении #621412 писал(а):
Сколько, по вашему, требуется времени компьютеру для того, чтобы используя метод "1+1=2, 2+1=3, 3+1=4 и т.д." дойти до 100-значного числа?
Вот сами и подсчитайте. Предположите, что в Вашем расположении самый мощный компьютер в мире.

 Профиль  
                  
 
 Re: Решето Сундарама и его следствия
Сообщение20.09.2012, 16:21 
Заслуженный участник


04/05/09
4587
(опускаю банальности про решето Сундарама)
freeot в сообщении #621383 писал(а):
9. Предположим утверждение обратное проблеме - для любой пары нечетных чисел, образующих в сумме четное число $Z$, хотя бы одно из них не является простым.
10. Тогда (для натуральных $x$ и $y$) область значений функции $z=2xy+x+y$ должна совпадать с областью значений функции $z=x+y$ (т.е., фактически, покрывать весь натуральный ряд).
Что-то я не могу понять логику этого вывода. Можно поподробнее?

 Профиль  
                  
 
 Re: Решето Сундарама и его следствия
Сообщение20.09.2012, 16:59 
Заслуженный участник


12/09/10
1547
Цитата:
Я, конечно, не большой специалист в этом, но мне кажется, "навскидку", что это уж точно эффективней расчетов той группы, которая занимается расчетами чисел Мерсенна (те, кто самые большие числа "открывает" используя распределенные вычисления) :?
Сколько, по вашему, требуется времени компьютеру для того, чтобы используя метод "1+1=2, 2+1=3, 3+1=4 и т.д." дойти до 100-значного числа?


Видно, что не специалист.
Группа, которая занимается "расчетами чисел Мерсенна", работает на текущий момент с десятимиллионнозначными числами. Проверка одного числа на простоту на i5 занимает двое суток и более.
Вам предложена "детская" задача: получить всего лишь стозначное число. Даже с очень медленным инструментом, если ваш алгоритм так крут - он должен щелкать такое как семечки.
Но не будет. По одной простой причине. Для того чтобы просеять числа в диапазоне $[10^{100};10^{100}+D]$ вам нужно перебрать все простые до $10^{50}$. А их больше, чем $8 \cdot 10^{47}$. Даже если брать по миллиарду в секунду - сравнить с возрастом Вселенной?
Да что там 100-значные. Этим способом даже 30-значное не получить...

 Профиль  
                  
 
 Re: Решето Сундарама и его следствия
Сообщение20.09.2012, 17:44 


19/09/12
18
venco в сообщении #621428 писал(а):
freeot в сообщении #621383 писал(а):
9. Предположим утверждение обратное проблеме - для любой пары нечетных чисел, образующих в сумме четное число $Z$, хотя бы одно из них не является простым.
10. Тогда (для натуральных $x$ и $y$) область значений функции $z=2xy+x+y$ должна совпадать с областью значений функции $z=x+y$ (т.е., фактически, покрывать весь натуральный ряд).
Что-то я не могу понять логику этого вывода. Можно поподробнее?


Я попытаюсь. Но в силу того, что я не математик, это, скорее всего, получится наукообразно, но в чем-то наверняка не корректно :? Надеюсь, вы сможете извлечь из этого хотя бы смысл.
Если мы берем произвольное натуральное четное $Z$, и рассматриваем два определения которые мы придаем $Z$ в предположении из п. 9, то это будут:
1. Представление $Z$ как любой пары нечетных чисел, в сумме дающих $Z$.
Это соответствует такой функции, областью определения которой является множество натуральных чисел, ограниченное "сверху" $Z$, т.е., - множество (0, 1, 2, 3... $Z$), а областью значений множество таких множеств, состоящих из двух элементов, в котором один элемент задается функцией $X$, а другой функцией $Z-Y$. (Или $Z-X$? В общем, мы берем из натурального ряда одно нечетное и дополняем его вторым, "рассчитанным" или "выраженным" как $Z$ минус первое).
Единственный момент, - мы эквивалентно трансформируем условие четного $Z$ в виде пары двух нечетных $Z_1$ и $Z_2$, "спускаясь" на уровень их "четных оснований", представляя это условие как $z=z_1+z_2$, где $z=\frac Z2$, $z_1=\frac {(Z_1-1)}2$, $z_2=\frac {(Z_2-1)}2$.
Это удобно, т.к., значения $z_1$ и $z_2$ мы таким образом берем "напрямую" из последовательного натурального множества, не "переводя" их в образ нечетных чисел.
Т.е., вместо того, чтобы говорить что областью определения наших функций будет последовательное множество (1, 2, 3, 4, 5... $Z$), откуда мы берем в качестве аргументов только "нечетные", мы говорим что областью определения наших функций будет последовательное множество (1, 2, 3, 4, 5... $z$) (ограниченное $z$ маленькое, где $z=\frac Z2$), откуда мы берем в качестве аргументов любые значения - это и есть "четные основания" всех нечетных чисел из множества (1, 2, 3, 4, 5... $Z$).
Так вот, по сути, у нас для этого условия две функции:
$z_1=x$
и
$z_2=x$
Так, что каждая выбирает любое значение из множества (1, 2, 3, 4, 5... $z$). Наверное правильным будет для функции $z_2$ выбрать аргументом $y$, а не $x$, показывая, что в общем это функции независимых аргументов.
Но "соединяем" мы их попарно используя функцию $z=z_1+z_2$. Это и будет зависимость функций $z_1$ и $z_2$ :-)
Так как каждая из функций $z_1$ и $z_2$ является простой функцией вида $f(x)=x$, то и возвращать в качестве значений они будут то же множество, на котором они определены. Т.е., весь натуральный ряд, ограниченный сверху $z$.
2. Второе определение, которое мы накладываем на $Z$ в предположении из п. 9, это то, что либо функция $z_1$, либо функция $z_2$ (в принципе, без разницы - так как мы уже показали, что эти функции одного вида, с одной и той же областью определения и областью значения) будут представимы в виде $z_2=2xy+x+y$ или $z_1=2xy+x+y$ (что означает, что нечетное слагаемое, вида $(2z_1+1)$ которое мы взяли для получения числа $Z$, является произведением двух нечетных чисел $(2x+1)$ и $(2y+1)$) и данная функция имеет решение для той же области определения $x$ и $y$ - на множестве (1, 2, 3, 4, 5... $z$).

Мы получаем противоречие. По первому накладываемому определению мы получаем функции вида $z_1=x$, или $z_1=z-x$, или $z=x+y$ (какая бы из них ни была правильной) областью значений которых является то же натуральное множество, что определено для них как область значений. А по второму определению, мы получаем функцию вида $z_1=2xy+x+y$, область значений которой гораздо более разрежена, по сравнению с рядом натуральных чисел. Они не могут одновременно являться функциями описывающими $z_1$ (для $z_2$ - аналогично).

Как-то так :-)

 Профиль  
                  
 
 Re: Решето Сундарама и его следствия
Сообщение20.09.2012, 17:53 


31/12/10
1555
freeot
"Ваше" решето Сундарама ни чем не отличается от решета Эратосфена.
Оно закамуфлировано уравнением
$z=2xy+x+y$,
что создает дополнительные сложности в процесс вычеркивания составных чисел.
Кстати, у вас пропущено $z=24.$
Если зафиксировать $y$, то получим:
$y=1,\;z=3x+1=(x^{++})=4,7,10,13,....$
$y=2,\;z=5x+2=(x^{++})=7,12,17,22,...$
$y=3,\;z=7x+3=(x^{++})=10,17,24,31...$ и т.д.
И мы получим числа, кратные соответственно $p=3,\;5,\;7,...$

 Профиль  
                  
 
 Re: Решето Сундарама и его следствия
Сообщение20.09.2012, 18:09 


19/09/12
18
Cash в сообщении #621456 писал(а):
Видно, что не специалист.
Группа, которая занимается "расчетами чисел Мерсенна", работает на текущий момент с десятимиллионнозначными числами. Проверка одного числа на простоту на i5 занимает двое суток и более.
Вам предложена "детская" задача: получить всего лишь стозначное число. Даже с очень медленным инструментом, если ваш алгоритм так крут - он должен щелкать такое как семечки.
Но не будет. По одной простой причине. Для того чтобы просеять числа в диапазоне $[10^{100};10^{100}+D]$ вам нужно перебрать все простые до $10^{50}$.

Я вас понял.
Алгоритм, конечно, на простых вообще никак не завязан, кроме того, что он их ищет, но... "четных оснований" для 100-значного числа перебрать надо примерно того же порядка - $10^{47}$ :-)

Cash в сообщении #621456 писал(а):
А их больше, чем $8 \cdot 10^{47}$. Даже если брать по миллиарду в секунду - сравнить с возрастом Вселенной?

Я уже нашел оценку возраста вселенной как $5\cdot10^{17}$ :-)

А в 1С я попробовал просто производительность - пустой счетчик полчаса работал и дошел только до миллиарда :-(

Как я написал в самом начале, я начал с нечетных Гольдбаха, а к простым перешел уже "сопутственно" :-)
Есть у меня еще желание найти способ поиска больших простых на основе принципа распределения простых, что-то такое "в голове крутится" :D

-- 20.09.2012, 19:22 --

vorvalm в сообщении #621474 писал(а):
freeot
"Ваше" решето Сундарама ни чем не отличается от решета Эратосфена.

Решето не только "мое" но и индийского студента Сундарама, который его открыл в 1934 году :-)

Только с решетом Эратосфена у них общий только принцип самого "решета", а область приложения и вкладываемый смысл - разный.
Решето Эратосфена "вычеркивает" числа в натуральном ряду, который включает и четные тоже. Например, по кратности "3" оно вычеркнет ряд 6, 9, 12, 15, 18, 21...
Решето Сундарама "вычеркнет" числа не в общем натуральном ряду, а только в ряду "четных оснований" нечетных чисел, причем не перебором всех возможных делителей, а нахождением корней всего одной функции, которая однозначно определяет: "простое число или нет" - сравните сами предыдущий ряд с рядом - 4,7,10,13..., который даст нам ряд - 9, 15, 21...

vorvalm в сообщении #621474 писал(а):
Кстати, у вас пропущено $z=24.$

Это - да. Пропустил :-)

 Профиль  
                  
 
 Re: Решето Сундарама и его следствия
Сообщение20.09.2012, 18:26 
Заслуженный участник


04/05/09
4587
freeot в сообщении #621472 писал(а):
Мы получаем противоречие. По первому накладываемому определению мы получаем функции вида $z_1=x$, или $z_1=z-x$, или $z=x+y$ (какая бы из них ни была правильной) областью значений которых является то же натуральное множество, что определено для них как область значений. А по второму определению, мы получаем функцию вида $z_1=2xy+x+y$, область значений которой гораздо более разрежена, по сравнению с рядом натуральных чисел. Они не могут одновременно являться функциями описывающими $z_1$ (для $z_2$ - аналогично).
Во первых, не "гораздо более разрежена", а лишь малая доля всех чисел не представима в виде $2xy+x+y$.
Во вторых, вы совсем не то доказываете. В вашем втором представлении тоже получаются все числа, кроме нескольких первых, т.к. это по сути - составное+любое. А надо рассматривать простое+простое.

-- Чт сен 20, 2012 11:30:55 --

freeot в сообщении #621480 писал(а):
Решето Эратосфена "вычеркивает" числа в натуральном ряду, который включает и четные тоже. Например, по кратности "3" оно вычеркнет ряд 6, 9, 12, 15, 18, 21...
Решето Сундарама "вычеркнет" числа не в общем натуральном ряду, а только в ряду "четных оснований" нечетных чисел, причем не перебором всех возможных делителей, а нахождением корней всего одной функции, которая однозначно определяет: "простое число или нет" - сравните сами предыдущий ряд с рядом - 4,7,10,13..., который даст нам ряд - 9, 15, 21...
Исключение чётных чисел ускоряет алгоритм в два раза, ничуть не меняя его вычислительную сложность. Ну сможете вы искать простые числа не до $10^{10}$, а до $2\cdot 10^{10}$, это всё равно очень мало по сравнению с более умными алгоритмами.

 Профиль  
                  
 
 Re: Решето Сундарама и его следствия
Сообщение20.09.2012, 18:57 


19/09/12
18
venco в сообщении #621483 писал(а):
Во первых, не "гораздо более разрежена", а лишь малая доля всех чисел не представима в виде $2xy+x+y$.

Я понимаю, что "чем дальше в лес", т.е., чем дальше в область больших чисел мы залезаем, тем более редко будут встречаться простые.
НО... Рассматривая любое четное $Z$, каким бы большим оно не было, мы рассматриваем диапазон для представления его в виде суммы двух нечетных все равно от 1 до $Z$. Поэтому мы с успехом и можем разложить четное на два простых, как показывает эксперимент.

venco в сообщении #621483 писал(а):
Во вторых, вы совсем не то доказываете. В вашем втором представлении тоже получаются все числа, кроме нескольких первых, т.к. это по сути - составное+любое. А надо рассматривать простое+простое.

А вот этого я не понял.
Доказательство идет от опровержения предположения о том, что в любой паре нечетное+нечетное хотя бы одно всегда составное (второе уже будет неважно какое - простое или составное). Т.к. это опровергается, получается что не в любой паре нечетное+нечетное "хотя бы одно всегда составное". А если в паре нечетное+нечетное нет составных, то она по определению является парой простое+простое.


venco в сообщении #621483 писал(а):
Исключение чётных чисел ускоряет алгоритм в два раза, ничуть не меняя его вычислительную сложность. Ну сможете вы искать простые числа не до $10^{10}$, а до $2\cdot 10^{10}$, это всё равно очень мало по сравнению с более умными алгоритмами.


Да, я понял, что преодолеть вычислительную сложность для компьютера мне не удалось. Я исходил из того наивного представления, что раз операции с большими числами трудоемки, то если все свести к операции сложения, то сложность будет преодолена.

Но все равно, мне кажется что мои результаты довольно замечательны: не обладая какой-то глубокой математической базой, располагая блокнотом и ручкой (и температурой 38), отталкиваясь от того, что 1 - нечетное, 1+1=2 - четное, 2+1=1+1+1=3 - снова нечетное, я открыл решето Сундарама и, за несколько дней поиска, изучения и осмысления дополнительных данных, самостоятельно разработал неплохие (пусть и устаревшие) алгоритмы для двух важных задач :-)

 Профиль  
                  
 
 Re: Решето Сундарама и его следствия
Сообщение20.09.2012, 19:55 
Заслуженный участник


04/05/09
4587
freeot в сообщении #621496 писал(а):
не обладая какой-то глубокой математической базой, располагая блокнотом и ручкой (и температурой 38), отталкиваясь от того, что 1 - нечетное, 1+1=2 - четное, 2+1=1+1+1=3 - снова нечетное, я открыл решето Сундарама
Это говорит лишь о том, что решето Сундарама ничего особенного не представляет по сравнению с решетом Эратосфена. Эта оптимизация приходит в голову самостоятельно практически любому, кто пользуется решетом для поиска простых чисел. Я уверен, что и задолго до Сундарама этим пользовались разные люди, и не очень понимаю, чем Сундарам заслужил упоминания в Википедии.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group