| Dytr01 | Дата: Вс, 05.10.25, 20:54 | Сообщение # 1 |
Ученик 
Сообщений: 9
Совы: 0
| Немного скопипастю сама себя ... с другого форума.
Наткнулась на любопытное исследование: https://p-plus-minus-n-research.netlify.app - автор изучает, как примориалы могут влиять на вероятность появления простых чисел в выражениях вида:
p +/- N
где p - простое число, а N - примориал (т.е. произведение всех простых чисел до некоторого предела: 2# = 2, 3# = 6, 5# = 30, 7# = 210, и т.д.).
Суть гипотезы: Идея в том, что может существовать "оптимальный" примориал (N0), при котором вероятность, что (p + N0) или (p - N0) окажется простым, максимальна. То есть примориал здесь выступает как своеобразный "фильтр" составных чисел, устраняя кандидатов, делящихся на малые простые.
Что показывает эксперимент:
Автор прогнал тесты для p до примерно 30 000 000 и разных примориалов N:
* Максимальная плотность простых-кандидатов достигается при N = 29# - примерно в 6.28 раза выше, чем ожидаемая стандартная плотность простых; * Но максимальная эффективность (то есть доля тех p, для которых p +/- N реально простые) наблюдается при N = 19#; * Дальше рост N дает рост плотности, но при этом эффективность начинает снижаться - что выглядит как некий компромисс.
Почему это может работать:
Если N = q#, то для всех малых простых r <= q выполняется:
p +/- N ≡ p (mod r)
То есть сдвиг на примориал не меняет остатки по малым модулям - и, следовательно, отсекает множество составных кандидатов. Это как "модульный фильтр", который дает больше шансов попасть на простые.
Инструмент:
На сайте есть интерактивный инструмент на JS, где можно задать диапазон, выбрать примориал и посмотреть, сколько из p +/- N оказываются простыми. Работает в браузере, можно сразу поиграться... НО! Я бы этому особо не доверяла, так как JS и большие числа - вещи малосовместимые 
Мое мнение: Идея интересная, и здорово, что автор не ограничился теорией, а сделал вычислительный эксперимент и дал открытый инструмент. Но это, конечно, пока не доказанная закономерность, а скорее наблюдение в ограниченном диапазоне. Вполне возможно, что эффект ослабевает при больших p, но - тем не менее - направление кажется стоящим внимания.
Хорошая тема для проверки на больших данных или для поиска строгого объяснения (если оно вообще есть).
Что думаете? Может, кто-то уже встречал похожие конструкции или имеет опыт с подобными "фильтрами простых"? Буду рада вашим мнениям, проверкам и контрпримерам.
Сообщение отредактировал Dytr01 - Вс, 05.10.25, 21:01 |
| |
| |
| Браусов | Дата: Вс, 12.10.25, 23:47 | Сообщение # 2 |
Знаток 
Сообщений: 33
Совы: 0
| Цитата Dytr01 (  ) Может, кто-то уже встречал похожие конструкции или имеет опыт с подобными "фильтрами простых"? Идея использовать примориалы для построения допустимых кортежей лежит, например, в основе: 1) Работы Яна Чжана (2013) о ограниченных промежутках между простыми. 2) Метода Мэйнарда–Тао, где строятся кортежи вида {n + h1, ..., n + hk}, где hi выбираются как сдвиги внутри одного класса вычетов по модулю q#.
То есть примориалы — стандартный инструмент в современной аналитической теории чисел.Что-то конкретное по работе(на которую дана ссылка) вас интересует?
Добавлено (19.10.25, 11:05) --------------------------------------------- Если вопросов нет, то тогда к сути статьи.
Пусть:
P(k) — вероятность того что для простого p число p+N тоже простое, где N=k#
Тогда из F гипотезы Харди-Литлвуда мы получим:
 Где C(N) —постоянная Харди-Литлвуда для пары (0, N):
 C2 –постоянная простых близнецов:
 γ – постоянная Эйлера-Маскерони.
Можно показать что при фиксированном p, функция f(k) равная
 является унимодальной, а следовательно есть такое N0, до которого P(k) растёт, и после которого убывает.
Вот код для расчета P(k) и поиска оптимального k.p выбирается нестрого, просто как масштаб.:
Добавлено (19.10.25, 11:08) --------------------------------------------- import math
def primes_up_to(n): sieve = [True]* (n + 1) sieve[0] = sieve[1] = False for i in range(2, int(n**0.5) + 1): if sieve: for j in range(i * i, n + 1, i): sieve = False return [i for i, is_prime in enumerate(sieve) if is_prime]
def find_optimal_k(p, K_max=100): C_2 = 1.320323631693739 primes = primes_up_to(K_max) primorial = 1 C_current = C_2 best_k = 2 best_P = C_2 / math.log(p + 2)
for q in primes: primorial *= q if q > 2: C_current *= (q - 1) / (q - 2) log_val = math.log(p + primorial) P_val = C_current / log_val print(f"k={q}, k#={primorial}, C={C_current:.5f}, ln(p+N)={log_val:.5f}, P={P_val:.5f}") if P_val > best_P: best_P = P_val best_k = q return best_k, best_P
p = 97 optimal_k, optimal_P = find_optimal_k(p) print(f"Оптимальное k: {optimal_k} с вероятностью {optimal_P:.5f}")
Добавлено (19.10.25, 11:14) --------------------------------------------- Пример расчёта для p=97
k=2, k#=2, C=1.32032, ln(p+N)=4.59512, P=0.28733k=3, k#=6, C=2.64065, ln(p+N)=4.63473, P=0.56975 k=5, k#=30, C=3.52086, ln(p+N)=4.84419, P=0.72682 k=7, k#=210, C=4.22504, ln(p+N)=5.72685, P=0.73776 k=11, k#=2310, C=4.69448, ln(p+N)=7.78614, P=0.60293 k=13, k#=30030, C=5.12126, ln(p+N)=10.31318, P=0.49657 k=17, k#=510510, C=5.46267, ln(p+N)=13.14336, P=0.41562 k=19, k#=9699690, C=5.78401, ln(p+N)=16.08761, P=0.35953 k=23, k#=223092870, C=6.05943, ln(p+N)=19.22310, P=0.31522 k=29, k#=6469693230, C=6.28386, ln(p+N)=22.59039, P=0.27817 k=31, k#=200560490130, C=6.50054, ln(p+N)=26.02438, P=0.24979 k=37, k#=7420738134810, C=6.68627, ln(p+N)=29.63530, P=0.22562 k=41, k#=304250263527210, C=6.85772, ln(p+N)=33.34887, P=0.20564 k=43, k#=13082761331670030, C=7.02498, ln(p+N)=37.11007, P=0.18930 k=47, k#=614889782588491410, C=7.18109, ln(p+N)=40.96022, P=0.17532 k=53, k#=32589158477190044730, C=7.32189, ln(p+N)=44.93051, P=0.16296 k=59, k#=1922760350154212639070, C=7.45035, ln(p+N)=49.00805, P=0.15202 k=61, k#=117288381359406970983270, C=7.57662, ln(p+N)=53.11892, P=0.14264 k=67, k#=7858321551080267055879090, C=7.69319, ln(p+N)=57.32362, P=0.13421 k=71, k#=557940830126698960967415390, C=7.80468, ln(p+N)=61.58630, P=0.12673 k=73, k#=40729680599249024150621323470, C=7.91461, ln(p+N)=65.87675, P=0.12014 k=79, k#=3217644767340672907899084554130, C=8.01740, ln(p+N)=70.24620, P=0.11413 k=83, k#=267064515689275851355624017992790, C=8.11638, ln(p+N)=74.66504, P=0.10870 k=89, k#=23768741896345550770650537601358310, C=8.20967, ln(p+N)=79.15368, P=0.10372 k=97, k#=2305567963945518424753102147331756070, C=8.29609, ln(p+N)=83.72839, P=0.09908 Оптимальное k: 7 с вероятностью 0.73776
Сообщение отредактировал Браусов - Вс, 19.10.25, 11:14 |
| |
| |
| Браусов | Дата: Вс, 19.10.25, 12:10 | Сообщение # 4 |
Знаток 
Сообщений: 33
Совы: 0
| Dytr01, не за что. Если есть вопросы или нужны разъяснения (например. как доказать унимодальность рассмотренной функции, или как получилось данное выражение из гипотезы Харди-Литлвуда) обращайтесь.
Сообщение отредактировал Браусов - Вс, 19.10.25, 12:10 |
| |
| |
| Dytr01 | Дата: Вс, 19.10.25, 12:43 | Сообщение # 5 |
Ученик 
Сообщений: 9
Совы: 0
| Тут на одном форуме (кстати уже второй раз - еще на другом задавали) вопрос: Цитата я правильно понял что по сути чем больше мы делаем выборку тем оптимельнее (в смысле методики автора) будет наибольший примориал. То есть он промерил для 30М и нашел что более оптимальный примориал #29 а если сделать выборку до 300М то оптимальный будет какой-то больший примориал? И так всегда? Простите, орфография автора вопроса Я до вашего комментария как-то уже развернуто попробовала ответить чисто в парадигме автора статьи так (ну тут немного подредактировала свой ответ):
Цитата Рост первого фактора (C(N)) ограничен и очень медленный (логарифмический от логарифма), в то время как рост второго фактора в знаменателе (ln(N)) неограничен и, хотя тоже медленный, все же быстрее. Это означает, что наступит момент, когда C(N) практически перестанет расти, а ln(N) будет продолжать увеличиваться. С этого момента общая вероятность P ~ C(N) / ln(N) будет монотонно убывать с ростом N.
Тенденция "чем больше выборка, тем больше оптимальный примориал" — это явление, наблюдаемое в начальной и промежуточной фазах. Оно работает, пока мы находимся "слева" от глобального максимума на кривой P(k). Однако с чисто теоретической точки зрения, при p -> ∞ существует некий глобально оптимальный примориал N_global (или небольшой набор таковых), который максимизирует вероятность для бесконечно больших простых. Для всех примориалов, больших этого N_global, эффективность будет только снижаться. Бесконечное увеличение примориала невыгодно.
На практике мы, скорее всего, никогда не достигнем этого теоретического N_global из-за астрономической величины требуемых чисел, но математически он существует, и это означает, что эта тенденция не может сохраняться всегда. Я ведь правильно понимаю суть идеи?
|
| |
| |
| Браусов | Дата: Вс, 19.10.25, 20:38 | Сообщение # 6 |
Знаток 
Сообщений: 33
Совы: 0
| Цитата Dytr01 (  ) Я ведь правильно понимаю суть идеи? Не совсем так. Суть в том, что для каждого простого p есть своё оптимальное k, при котором вероятность того, что число p+k# тоже простое, максимальна. В этом и состояла гипотеза автора статьи, и была теоретически обоснована и подтверждена в сообщении 2 данной темы. Касаемо глобального оптимума, то такового не существует. Да, каждое следующее k является оптимальным для все более и более большого количества p, но нет, «глобального оптимума » не существует. Это напоминает парадокс Гильбертова отеля: как бы велико ни было k, всегда найдутся такие большие p, что потребуется еще большее k.Добавлено (19.10.25, 20:55) ---------------------------------------------
Цитата Dytr01 (  ) Случайно зашла на другой форум и там только что разместили ссылку на данный комментарий! Что же пишут? Есть ли какие-нибудь дополнения, улучшения к предложенному решению? Что за форум?
Сообщение отредактировал Браусов - Вс, 19.10.25, 20:42 |
| |
| |
| Dytr01 | Дата: Вс, 26.10.25, 12:04 | Сообщение # 7 |
Ученик 
Сообщений: 9
Совы: 0
| Цитата Браусов (  ) Что же пишут? Есть ли какие-нибудь дополнения, улучшения к предложенному решению?Что за форум? Если тут допустимо дать ссылку, то вот: ссылка на форум. В целом, тема заинтересовала местную аудиторию...
Сообщение отредактировал Dytr01 - Вс, 26.10.25, 12:05 |
| |
| |
| Браусов | Дата: Вс, 26.10.25, 22:32 | Сообщение # 8 |
Знаток 
Сообщений: 33
Совы: 0
| Цитата Dytr01 (  ) Если тут допустимо дать ссылку, то вот: ссылка на форум.В целом, тема заинтересовала местную аудиторию. Спасибо за ссылку. Конкретики там мало, если не сказать что вообще нет. В конце есть обоснованные вопросы и Креативщик и Гость правы, это не вероятность в строгом её смысле. Это просто плотность пар взятая из гипотезы Харди-Литлвуда, и плотность распределения простых в её традиционном смысле. Делим это друг на друга и получаем по сути не вероятность а относительную плотность, но этого достаточно для нахождения оптимального k, т.к. отношения Pn/Pn-1 сохраняются.
|
| |
| |