2014 dxdy logo

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

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




На страницу Пред.  1 ... 73, 74, 75, 76, 77, 78, 79 ... 91  След.
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение19.03.2025, 09:25 
Аватара пользователя
Вроде бы в блогах как раз написано всё очень просто и понятно. Причём она порой раз за разом пережёвывает одно и то же. Лично мне всё понятно, включая и тексты программ. И ошибки прекрасно видны. Но вот ТС почему-то далеко не всё понятно из того, что пишем мы с Дмитрием. Но вместо того, чтобы вникнуть, идёт периодическое отречение от чтения собственной темы.

Демис, спрашивайте. Мне прям интересно, что можно было неправильно понять.

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение19.03.2025, 21:18 
Yadryara в сообщении #1679053 писал(а):
Вроде бы в блогах как раз написано всё очень просто и понятно. Причём она порой раз за разом пережёвывает одно и то же.
Вроде - да.

(Оффтоп)

Но там столько!
Мой мозг не осиливает.
Вроде одно и то-же, но все по разному описано.
Пытался на старте проекта изучить, но тщетно.
Слишком много вариативности "по разному".
Единой структуры при этом нет, для меня нет.
Знаете, если в экзе файле просто заменить один бит,
то программа просто перестает работать...
Yadryara в сообщении #1679053 писал(а):
Лично мне всё понятно, включая и тексты программ.
Мне - нет.

(Оффтоп)

Хотя какие-то вещи я ей тоже делал весной 2023-го.
Когда ТС пыталась в ворде сортировку миллионов строк сделать...
Хотя их можно было просто в памяти держать, но подзабыл уже суть.
Yadryara в сообщении #1679053 писал(а):
Но вот ТС почему-то далеко не всё понятно из того, что пишем мы с Дмитрием.
Возможно.
Yadryara в сообщении #1679053 писал(а):
Но вместо того, чтобы вникнуть, идёт периодическое отречение от чтения собственной темы.
Это просто эмоции от бессилия.
Yadryara в сообщении #1679053 писал(а):
Демис, спрашивайте. Мне прям интересно, что можно было неправильно понять.
Подумаю... Пока не готов.

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение20.03.2025, 05:46 
Аватара пользователя
DemISdx в сообщении #1679183 писал(а):
Подумаю... Пока не готов.

А у меня вот как раз хороший пример есть. Только сегодня найдена центральная 15-ка:

Код:
112110792462260879407499   12   14

Указано начальное число кортежа с паттерном 15-228-2. А что за два числа справа? Это гэпы до соседних с кортежем простых чисел.

То есть число $112110792462260879407499 - 12$ — простое.
И число $112110792462260879407499 + 228 + 14$ — простое.

А вот число $112110792462260879407499 + 228 + 12$ — составное.

А если бы оно было не составное, а простое, то получилась бы симметричная 17-ка, которых в SPT найдено не так уж много — 25 штук. Проверил: да есть такой допустимый паттерн — 17-252-9.

В терминологии ТС это означает, что один элемент чуть-чуть проскочил. И без моего подробного объяснения может быть непонятно, какой элемент куда проскочил, с чего вдруг он вообще начал скакать.

А это попросту означает, что ближайшее простое сверху находится на расстоянии 14 от края кортежа, а не 12, как ближайшее простое снизу.

Или всё равно непонятно объяснил?

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение20.03.2025, 11:25 
Yadryara в сообщении #1679225 писал(а):
Или всё равно непонятно объяснил?
А что собственно объясняли-то? Вопрос/непонимание не процитирован и в предыдущем сообщении темы вопросов тоже нет. Если же "что считалось в проекте SPT и зачем", то оно этим и не объяснено.
Вложенность (матрёшечность) паттернов? Так любые разрешённые паттерны можно дополнить до более длинных, вопрос лишь каких именно. И среди них легко указать и гарантированно разрешённый симметричный паттерн (достаточно взять любой кратный 19# интервал от концов).
Мне вот из Вашего объяснения осталось непонятным например почему взяли +12, но не взяли -14 - может такой паттерн тоже есть? Бывают же кортежи, расширяющиеся в обе стороны до разных паттернов. Ну то есть чуть подумав я понял конечно, но стоило бы сразу сказать прямо почему.

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение20.03.2025, 11:49 
Аватара пользователя
Dmitriy40 в сообщении #1679236 писал(а):
А что собственно объясняли-то?

Объяснял что ТС понимает под продолжением кортежа до более длинного симметричного. Хромоногость пока не упоминал.

Dmitriy40 в сообщении #1679236 писал(а):
Мне вот из Вашего объяснения осталось непонятным например почему взяли +12, но не взяли -14 - может такой паттерн тоже есть?

Я взял реальный пример. У меня нашлись в общей сложности 44 кортежа 15-228-2. И только один настолько близок к цели: к продолжению именно до симметричной 17-ки из последовательных простых чисел. В полном соответствии с названием темы.

Как я могу взять -14? Ведь любой гэп для кортежей нечётной длины должен быть кратен 6, это давно установлено и где-то уже показывалось. Вроде бы Вы сами и показывали. Кстати, вот другие попытки продолжения с отклонением 4:

Код:
     3730861010539166369959   20   24
  1106902980837551373365983   36   40


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

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение20.03.2025, 12:08 
Yadryara в сообщении #1679225 писал(а):
$112110792462260879407499 + 228 + 12$
Честно говоря не смог вспомнить откуда здесь 228 появилось.
Вроде здесь раньше объяснялась суть именования 15-228-2.

(Оффтоп)

Сходу не нашел.
Если можно ссылку на это объяснение, чтобы Вам не писать заново.

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение20.03.2025, 12:21 
Аватара пользователя
Я могу и заново написать. Всего 5 допустимых паттернов 15-228, то есть длиной 15 и диаметром 228. Паттерн центральной 15-ки — второй по счёту. Вот более полная пирамида матрёшек:

Код:
                                       0
                                   0   6  12
                               0  24  30  36  60
                           0   6  30  36  42  66  72
                       0  18  24  48  54  60  84  90 108
                   0  30  48  54  78  84  90 114 120 138 168
               0  12  42  60  66  90  96 102 126 132 150 180 192
       ?   0  18  30  60  78  84 108 114 120 144 150 168 198 210 228   ?

Видите, слева и справа от нижнего паттерна вопросики стоят? Это они на месте ближайших простых чисел стоят.

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение21.03.2025, 06:19 
Аватара пользователя
Демис, ну так что, понятно объяснил? Чтобы к правому краю перейти и следующее простое искать, ведь нужно к начальному числу диаметр прибавить, то есть в данном случае 228.

А вот и хорошие новости:

Yadryara в сообщении #1679053 писал(а):
Но вместо того, чтобы вникнуть, идёт периодическое отречение от чтения собственной темы.

Вроде начала более внимательно читать и заметила у меня ошибку:

Yadryara в сообщении #1678657 писал(а):
А ещё одна огромная пропасть между 19-252 и 21-360-26.

Правильно: 21-360-25. Но на огромную пропасть правильный номер паттерна конечно не влияет.

Ещё одну ошибку сам заметил:

Yadryara в сообщении #1679242 писал(а):
Всего 5 допустимых паттернов 15-228, то есть длиной 15 и диаметром 228.

Писал по памяти. Номер паттерна правильно запомнил, а количество нет: всего лишь 2 допустимых паттерна 15-228.

Вот, кстати, gris классную прогу опубликовал.

Я её поправил, сделал более универсальной и добавил нумерацию:

Код:
{print();
len=17; d=264; v=vector(d/12-1, i, 6*i);
pat=vector(len); pat[1]=0; pat[(len+1)/2]=d/2; pat[len]=d; k=0; kpat=0;
forsubset([d/12-1,(len-3)/2], s, k++;
  for( i=2, (len-1)/2, pat[i]=v[s[i-1]]);
  for( i=(len+3)/2, len-1, pat[i]=d-pat[len+1-i]);
  good=1;
  forprime(p=5,len, kraz=p-1;
   for (ost=1,p-1,
      for (i=2,len, if( (ost+pat[i])%p==0, kraz--; break ) );
   ); good=good*kraz; if(kraz==0, break);
);
  if(good>0,
kpat++;
print(kpat,"   ",pat));
);
print()}

Теперь она годится для всех симметричных паттернов нечётной длины. Вверху задаёшь длину и диаметр, и она выдаёт полный перенумерованный список допустимых паттернов, упорядоченных по возрастанию (лексикографически).

Очень удобно. Проверил по известным количествам:

15-228 — 2 паттерна;
17-240 — 3 паттерна;
17-252 — 9 паттернов;
17-264 — 20 паттернов;
21-360 — 25 паттернов.

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение21.03.2025, 08:47 
Аватара пользователя
Ну решил всё-таки в одном месте ещё раз собрать. Добавил цикл и посчитал. Покажу по 6 диаметров подряд, начиная с минимального. Для троек паттерн один, так что начал с 5-к. Длина, диаметр, количество паттернов:

Код:
   5- 36 —   1
   5- 48 —   1
   5- 60 —   4
   5- 72 —   3
   5- 84 —   3
   5- 96 —   4

   7- 60 —   1
   7- 72 —   3
   7- 84 —   3
   7- 96 —   4
   7-108 —   4
   7-120 —  14

   9- 84 —   1
   9- 96 —   1
   9-108 —   1
   9-120 —   7
   9-132 —   8
   9-144 —  13

  11-132 —   2
  11-144 —   4
  11-156 —   5
  11-168 —  10
  11-180 —  36
  11-192 —  28

  13-168 —   1
  13-180 —  10
  13-192 —   6
  13-204 —   4
  13-216 —  28
  13-228 —  26

  15-180 —   1
  15-192 —   0
  15-204 —   0
  15-216 —   4
  15-228 —   2
  15-240 —  30

  17-240 —   3
  17-252 —   9
  17-264 —  20
  17-276 —   6
  17-288 —  13
  17-300 — 107

  19-252 —   1
  19-264 —   2
  19-276 —   0
  19-288 —   0
  19-300 —  11
  19-312 —  10

  21-324 —   2
  21-336 —  10
  21-348 —   1
  21-360 —  25
  21-372 —  68
  21-384 —  20

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение21.03.2025, 11:47 
Вектор v[] лишний, он же просто умножает свой индекс на 6, проще вместо выборки из вектора сразу и умножать.

Yadryara в сообщении #1679378 писал(а):
Код:
good=1;
forprime(p=5,len, kraz=p-1;
for (ost=1,p-1,
for (i=2,len, if( (ost+pat[i])%p==0, kraz--; break ) );
); good=good*kraz; if(kraz==0, break);
);
if(good>0,
Вся эта конструкция по проверке допустимости паттерна заменяется на одну строку:
Код:
forprime(p=5,len, if(#setminus([1..p-1], Set(-pat%p))==0, next(2)); );

В итоге программа становится буквально из пяти строк (строка инициализации, строка цикла, строка заполнения паттерна, строка его проверки, ну и печать):
Код:
len=17; d=252;
pat=vector(len); pat[1]=0; pat[(len+1)/2]=d/2; pat[len]=d; kpat=0;
forsubset([d/12-1,(len-3)/2],s,
   for(i=2,(len-1)/2, pat[i]=6*s[i-1]; ); for(i=(len+3)/2,len-1, pat[i]=d-pat[len+1-i]; );
   forprime(p=5,len, if(#setminus([1..p-1],Set(-pat%p))==0, next(2)); );
   print(kpat++,"\t",pat);
);
И вся хитрость таких программ - правильно организовать цикл перебора и правильно заполнить проверяемый паттерн.

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

-- 21.03.2025, 12:20 --

Хотя я бы цикл сделал не forsubset, а forvec, причём у него есть параметр чтобы выдавались лишь вектора строго в порядке возрастания, достаточно будет перебрать лишь len\2-1 элементов и домножать их на 6 - это и будут внутренние числа паттерна:
Код:
len=21; d=360;
v=vector(len); v[1]=0; v[len\2+1]=d\2; v[len]=d; nv=0;
forvec(t=vector(len\2-1,i, [1,d\12-1]),
   for(i=1,#t, v[i+1]=6*t[i]; v[len-i]=d-6*t[i]; );
   forprime(p=5,len, if(#setminus([1..p-1], Set(-v%p))==0, next(2)); );
   print(nv++,"\t",v);
,2);
Но быстрее не вышло, так же медленно.

-- 21.03.2025, 12:34 --

Меня терзают смутные сомнения что аналогичную программу я уже где-то показывал ...

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение21.03.2025, 13:05 
Аватара пользователя
Кто бы сомневался (что можно сократить).

Dmitriy40, как думаете, почему gris на форум не возвращается? А вдруг он воспринимает это как разгромную критику? Я вот сейчас не увидел от Вас ни одного слова похвалы в его адрес. Человек _сам_ сделал. И работает правильно.

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение21.03.2025, 13:33 
Yadryara в сообщении #1679415 писал(а):
Dmitriy40, как думаете, почему gris на форум не возвращается?
На эту тему не думаю.

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение22.03.2025, 08:07 
Аватара пользователя
Yadryara в сообщении #1679225 писал(а):
А у меня вот как раз хороший пример есть. Только сегодня найдена центральная 15-ка:

Код:
112110792462260879407499   12   14

Указано начальное число кортежа с паттерном 15-228-2. А что за два числа справа? Это гэпы до соседних с кортежем простых чисел.

То есть число $112110792462260879407499 - 12$ — простое.
И число $112110792462260879407499 + 228 + 14$ — простое.

А вчера нашлось ещё одно ближайшее приближение:

Код:
71886191622880324824359   58   60

И снова не получилась симметричная 17-ка, потому что левый гэп 58 хоть и всего лишь на 2, но отличается от правого, который вновь кратен 6. Иными словами

число $71886191622880324824359 - 58$ — простое.
И число $71886191622880324824359 + 228 + 60$ — простое.

Итого, мною пока найдено 47 центральных 15-к и ни одна из них не продолжилась до хоть какой-нибудь симметричной 17-ки.

Но я пока не знаю, понятно ли это Демису.

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение23.03.2025, 07:10 
Аватара пользователя
Жаль, что Демис пока молчит.

Потому что надо бы уже вернуться к другому аспекту поиска.

Yadryara в сообщении #1678930 писал(а):
Про поиск по лучам я ещё отдельно скажу.

Это поиск по лучам не что иное как поиск по отдельным формулам.

Посмотрим на формулу для простейшего паттерна [0, 2], ибо как раз недавно обсуждали.

Yadryara в сообщении #1677669 писал(а):
$1427 \equiv 167\mod210$

$2267 \equiv 167\mod210$

$2687 \equiv 167\mod210$

Здесь как раз одна и та же добавка 167 и один и тот же период 210. Да, конечно различные кортежи регулярно находятся с одной и той же добавкой и на одном и том же периоде. И да, логично попытаться понять, а вдруг среди добавок есть те, которые чаще дают решения? Тогда нужно в первую очередь их и проверять. Гляньте кому не лень, полагаю, что Закон Больших Чисел на длинной дистанции уравнивает их все. То есть и добавка 167, и другие добавки на периоде 210 встречаются примерно равномерно, то есть каждая добавка даёт $\frac1{15}$ всех кортежей.

И то же самое для других кортежей? И если это так, то как же быть? Ведь хочется сначала определить более перспективных кандидатов, а затем уже искать. Вот для этого и было придумано разбиение на группы по чистоте. Этот метод работает. Я как раз занимаюсь исследованиями в этом направлении.

 
 
 
 Re: Симметричные кортежи из последовательных простых чисел
Сообщение23.03.2025, 13:45 
Yadryara в сообщении #1679614 писал(а):
Гляньте кому не лень, полагаю, что Закон Больших Чисел на длинной дистанции уравнивает их все. То есть и добавка 167, и другие добавки на периоде 210 встречаются примерно равномерно, то есть каждая добавка даёт $\frac1{15}$ всех кортежей.
Понятно что уравняет:
Код:
? vc=vector(210); pp=0; forprime(p=210,1e9, p-pp==2 && vc[pp%210]++; pp=p); select(t->t>0, vc)
%1 = [228243, 228368, 228509, 228164, 228073, 228389, 228263, 228547, 228096, 228216, 228406, 228345, 228153, 228707, 228012]
time = 15,226 ms.
Хотя gris и показывал что некоторые простые в паттернах встречаются чаще других, но возможно это просто из-за недостаточности выборки.

 
 
 [ Сообщений: 1361 ]  На страницу Пред.  1 ... 73, 74, 75, 76, 77, 78, 79 ... 91  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group