Skocz do zawartości


Zdjęcie

Liczby pierwsze nie są rozłożone losowo?


  • Zaloguj się, aby dodać odpowiedź
275 odpowiedzi w tym temacie

#241 Afordancja

Afordancja

    Nadsztygar

  • Użytkownicy
  • PipPipPipPip
  • 604 postów

Napisano 24 styczeń 2017 - 14:07

A jeśli słownik jest dostępny to po co przeszukiwać źródło. 

 

hm..no aby wiedzieć, gdzie to słowo (w którym akapicie) występuje.  Przecież dzięki samemu słownikowi masz tylko info, że słowo występuje w całym tekście, ale dalej nie wiesz gdzie.


  • 0

Reklamy Google

#242 Jajcenty

Jajcenty

    padawan młody

  • Użytkownicy
  • PipPipPipPipPipPip
  • 3233 postów

Napisano 24 styczeń 2017 - 14:50

hm..no aby wiedzieć, gdzie to słowo (w którym akapicie) występuje.  Przecież dzięki samemu słownikowi masz tylko info, że słowo występuje w całym tekście, ale dalej nie wiesz gdzie.

 

Wtedy musisz trzymać w słowniku adres(adresy) chunka (\r\n dla tekstów wydaje się dobrą jednostką). Nie mówię, że nieprzydatne. Wręcz przeciwnie, wydaję się, że to da się wykorzystać do budowy indeksów FT w bazach, albo fajne funkcje haszujące - choć tu dużo kolizji można się spodziewać. Ale w mojej codziennej pracy nie bardzo. Będę miał to z tyłu głowy, bo myk jest super :) Rzekłbym: przemyk!


Użytkownik Jajcenty edytował ten post 24 styczeń 2017 - 14:53

  • 0

#243 ~Astro

~Astro
  • Goście

Napisano 24 styczeń 2017 - 16:56

Czemu nie, choć zrobię za marudę. :(
Z linku polecam Points of Interest i Conclusion. Może zainteresuje WhizzKida:

Prime factors can be used for text searching provided that searching for word order isn't a requirement. This technique can therefore prove especially useful in word frequency analysis problems supplementing techniques like TF-IDF and Bag of Words.

choć mam jakieś niejasne przeczucie, że to wyważanie otwartych drzwi. No i nieco zniechęcające ( :)):

The size of the stored product value can become very large with long documents so special care should be taken in ensuring the data type used to store this value is able to store the potentially large values..

Dla "kodziarzy" ( ;)) jeszcze jeden link:
https://github.com/Z...e factors.ipynb
Jeśli ktoś wie, czy gość badał coś nieco "większego" (może jakaś bardziej profesjonalna praca, bo nie znajduję), to będę wdzięczny za odzew.



#244 Matcher

Matcher

    Górnik

  • Użytkownicy
  • Pip
  • 50 postów

Napisano 26 styczeń 2017 - 17:21

Coś czuję,że przy bardzo ogromnej ilości danych do skatalogowania będą potrzebne również tak samo ogromne liczby pierwsze..

Pomysł Oryginalny i ciekawy, choć ten słownik...

 

Ciekawy jestem czy ten projekt przejdzie, czy może zostanie tylko taką ciekawostką w tej dziedzinie :)


  • 0

#245 ~Astro

~Astro
  • Goście

Napisano 26 styczeń 2017 - 19:11

Ciekawy jestem czy ten projekt przejdzie, czy może zostanie tylko taką ciekawostką w tej dziedzinie

 

Nie smutaj. W tej kwestii nie decyduje jakiś prezes jakiejś partii. Nauka funkcjonuje inaczej (choć mam obawy o tę naszą, polską…). To nie jest projekt, który coś musi przechodzić. To autorski pomysł, trochę niezbyt spełniający "wymogi formalne", ale owszem, ciekawy.



#246 Matcher

Matcher

    Górnik

  • Użytkownicy
  • Pip
  • 50 postów

Napisano 27 styczeń 2017 - 20:18

A tego można tez użyć do szyfrowania.. Jak nie znasz LP to nie znajdziesz słowa..

 

Kiedyś miałem ochotę pobawić się liczbami w kwestii szyfrowania danych, ale dałem sobie spokój, bo miałem co innego na głowie. Tutaj widać Gość fanie nakreślił ideę katalogowania, a ja wciąż stoję w miejscu z wykrywalnością LP w zbiorze..


  • 0

#247 Matcher

Matcher

    Górnik

  • Użytkownicy
  • Pip
  • 50 postów

Napisano 21 luty 2017 - 19:59

Jeszcze taka sprawa. Nie wiem czy było to też w innych tematach.


Podzielność liczb ze wzoru (30x+y). Po rozmieszeniu tych liczb w 8 kolumnach:

 

  11, 13,  17,  19,  23,  29.  31,  37

  41, 43,  47,  49,  53,  59,  61,  67

  71, 73,  77,  79,  83,  89,  91,  97

101,103,107,109,113,119,121,127

131.133.137,139,143,149,151,157

161,163,167,169,173,179,181,187

191,193,197,199,203,209,211,217


Pierwszy rząd wymnażany przez siebie zaczynając od liczby 7 do liczby 31 daje nam 8 liczb położonych w siedmiu rzędach. Ostatnia z nich to 217. Zaczynając od 7 mnożąc ją teraz przez 37 do 61 mamy kolejne 8 liczb w kolejnych 7 rzędach. Te 8 wymnożonych liczb zawsze występuje w tych samych miejscach. Można zaobserwować,że w każdej kolumnie w 7 rzędach występuje zawsze tylko jedna liczba.


Dla kolejnych liczb 11,13,17 itd. występuje ta sama reguła. Dla 11 w jedenastu rzędach, dla 13 w trzynastu. Zawsze otrzymamy 8 liczb po jednej w każdej kolumnie. Ogólnie to chyba jest sito. Nakładając na siebie tabelki pozostałych liczb powinniśmy w teorii zobaczyć puste miejsca, gdzie znajdują się LP.


Plik dodałem w załączniku. Rozszerzenie należy zmienić na xlsx (Excel)

 

Załączone pliki

  • Załączony plik  l.txt   17,13 KB   4 Ilość pobrań

Użytkownik Matcher edytował ten post 21 luty 2017 - 20:02

  • 1

#248 Stanley

Stanley

    Sztygar

  • Użytkownicy
  • PipPipPip
  • 297 postów

Napisano 25 luty 2017 - 21:26

Matcher czytając Twój wpis "w tyle głowy"(w sumie to nawet dosłownie tak się dzieje) pojawiły mi się obrazki rejestrów SSE/AVX , 8 do 16 rejestrów po 8 do 16 liczb 32-64bit w każdej kolumnie po jednej liczbie pierwszej.. Właściwie to z obrazka nic nie wynika poza "dopasowaniem" Twojego odkrycia do hardware. Może dałoby się nawet zrobić operacje SIMD do generowania liczb pierwszych. Może dało by się zrobić z tych "ramek" film.. ciekawe jaką miałby fabułę, czy układałby się w jakiś "pattern" czy każda z takich "ramek" jest niepowtarzalna? (w sensie zapełnienia tego samego zestawu pól)

Ciekawe spostrzerzenie..

 

Cykliczne przeglądy maszyn.. jak zaplanować w sposób optymalny? Jeśli ustawie np. przegląd X na okres co 2 tydzień, przegląd Y na co 4 tydzień a przegląd Z na co 16 tydzień to bankowo bardzo często będą się nakładać w dodatku wszystkie naraz.. 

2,4,6,8,10,12,14,16

3,6,9,12,15,18,21

4,8,12,16,20,24,28

5,10,15,20,25,30

6,12,18,24,30,36

 

Przegląd X co 3 tygodnie, przegląd Y co 7 tygodni, przegląd Z co 11 tygodni?

3,6,9,12,15,18,21,24,27,30,33,36

7,14,21,28,35,42,49,56

11,22,33,44,55,66

 

Liczby pierwsze  w tym względzie wydają się bardzo praktyczne.


Użytkownik Stanley edytował ten post 25 luty 2017 - 21:34

  • 0

#249 Superman

Superman

    Gwarek

  • Użytkownicy
  • PipPip
  • 161 postów

Napisano 26 luty 2017 - 11:55

Cykliczne przeglądy maszyn.. jak zaplanować w sposób optymalny?

Skoro tak "swobodnie" możesz wybrać tygodnie (2tyg. zmienić na 3, a 4tyg. zmienić na 7!), to bez zaprzęgania do tego liczb pierwszych (lub nie) wybrałbym taką opcję. Skoro mamy 3 różne przeglądy, to przegląd najczęstszy musi być co 3 tygodnie.

Przegląd X co 3 tygodnie - 3,6,9,12, 15, 18, 21, 24,27, 30, 33, 36, 39, 42, 45, 48, 51, 54, ...

Przegląd Y po każdym drugim przeglądzie X, czyli - 7, 13, 19, 25, 31, 37, 43, 49, 55...

Przegląd Z po każdym drugim przeglądzie Y, czyli - 14, 26, 38, 50...

i żaden przegląd się nie nałoży :)

[Pogrubione liczby pierwsze.]


  • 0

#250 Matcher

Matcher

    Górnik

  • Użytkownicy
  • Pip
  • 50 postów

Napisano 06 marzec 2017 - 18:05

W tych "Przeglądach" wychodzi wam trochę za dużo liczb :)

 

Można też tak:

co 30 tygodni:

 

11:41:71:101:131:161

13:43:73:103:133:163

17:47:77:107:137:167

23:53:83:113:143:173

29:59:itd

31:61:itd

37:67:itd

 

To i tak to samo co opisywałem wcześniej :D

 

Ogólnie to nie każdy by był zadowolony z ujawnienia wzoru na LP :>


  • 0

#251 taśma9

taśma9

    Górnik

  • Użytkownicy
  • Pip
  • 12 postów

Napisano 05 listopad 2017 - 02:50

Witam, dyskusja zamarła, ale obserwowałem ją i była moim napędem do pisania programu.

Nie wiem czy wyjdzie szybciej, ale mi się skończyły pomysły na przyspieszanie.

Wrzuciłem projekt (w javie) na githuba: https://github.com/m...primeSentinel30.

Udało mi się osiągnąć 10^9 w niecałe 2 sekundy. Jednowątkowo.Wielowątkowo nie umiem, javy uczę się trochę ponad rok.

Nie starałem się wymyślić wzoru, ale i tak trochę czasu mi zajął nawet w takiej formie.

Jest jeszcze wiele bugów do ogarnięcia, ale ogólnie z eclipse program chodzi bez problemu, i można robić benchmarki.


  • 0

#252 thikim

thikim

    Kierownik robót

  • Użytkownicy
  • PipPipPipPipPipPip
  • 3938 postów

Napisano 05 listopad 2017 - 09:57

10^9 to czym jest? :)

Każdy wątek kiedyś umiera.


  • 0

#253 taśma9

taśma9

    Górnik

  • Użytkownicy
  • Pip
  • 12 postów

Napisano 05 listopad 2017 - 10:03

Skróty myślowe, zakres od 1 do 10^9 przegląda w niecałe 2 sekundy na procku i5, poprawiam.


  • 0

#254 thikim

thikim

    Kierownik robót

  • Użytkownicy
  • PipPipPipPipPipPip
  • 3938 postów

Napisano 05 listopad 2017 - 10:19

I ile liczb pierwszych znajdujesz w tym zakresie?


  • 0

#255 taśma9

taśma9

    Górnik

  • Użytkownicy
  • Pip
  • 12 postów

Napisano 05 listopad 2017 - 10:28

Dokładnie to jest to zakres od 7 do 1_000_000_020, znajduje w nim 50,847,534 pierwszych.

Wielokrotności 2,3 i 5 są całkowicie pominięte w całym procesie.


Edycje mam wyłączoną, chyba jeszcze nie zapracowałem na nią. W powyższym zakresie znajduje 50,847,536 liczb pierwszych.


  • 0

#256 thikim

thikim

    Kierownik robót

  • Użytkownicy
  • PipPipPipPipPipPip
  • 3938 postów

Napisano 05 listopad 2017 - 11:11

Swoją drogą zrób trochę większy zakres. np. do 100 mld.

Przy 2 sek. to ciężko ocenić szybkość.


  • 0

#257 taśma9

taśma9

    Górnik

  • Użytkownicy
  • Pip
  • 12 postów

Napisano 05 listopad 2017 - 19:38

:)

zakres do 100 mld. jest dla mnie na razie nie osiągalnym musiałbym pomyśleć o robieniu tablicy int, long albo użyć dysku.

Java pozwala mi na maksymalnie 64_410_000_030 tablicę bajtową, potem jest problem z adresowaniem.

Wyniki dla i5 7600k 3.8 GHz:

64_410_000_030    128.697 s2,701,477,379 liczb pierwszych


poprzedni się nie liczy :P, jeszcze raz:

 

64_410_000_030      128.697 s    2,701,477,379   pierwszych - maksymalna osiągalna wartość tablicy byte w technologii modulo 30 na bitach

50_000_000_010        97.805 s    2,119,654,578   pierwszych

10_000_000_020        17.035 s       455,052,512   pierwszych


  • 0

#258 Eratorka

Eratorka

    Górnik

  • Nowi użytkownicy
  • Pip
  • 3 postów

Napisano 06 listopad 2017 - 13:50

po przeczytaniu całego topi'cu duzo się nauczyłam, nawet bardzo duzo.


  • 0

#259 Matcher

Matcher

    Górnik

  • Użytkownicy
  • Pip
  • 50 postów

Napisano 14 listopad 2017 - 20:54

Taśma9 zrób test na swoim procku moim "starym" programem :)

 

Powinno być sporo wolniej :D Ale da mi to odniesienie do Twoich paru sekund :D

 

PS:

wątek może i umarł, ale tylko dlatego, że nie było zbytnio co testować. Mój stary notes ciągle czeka na nowe pomysły i możliwości, a skończyło się na RAMKACH i sposobie ich przedstawienia oraz kilku "dziwnych" pomysłach, które zakończyły się ślepą uliczką...

Załączone pliki


  • 0

#260 taśma9

taśma9

    Górnik

  • Użytkownicy
  • Pip
  • 12 postów

Napisano 15 listopad 2017 - 18:55

takie mam wyniki bez OC:

 

  78,499   pierwsza to   1000003,   czas:      14s      mój: 0.003s

148,934   pierwsza to   2000003,   czas:      39s      mój: 0.008s

216,818   pierwsza to   3000029,   czas: 1m17s      mój: 0.008s

 

ale jest duże ALE, ponieważ nie mam Windowsów, test robiłem na wine-2.0.2 pod Ubuntu 17.10, tylko taki mam system.

Od czasów możesz odjąć jakieś 5 sekund, przez które wpisywałem numer liczby pierwszej, a po zakończeniu działania programu wciskałem Enter.

Przy dużych liczbach ( 100 milionów ) Wine nie dawało rady, wywalało się.

Już od jakiegoś czasu w planach miałem maszynę wirtualną z darmowym XP, więc chyba po prostu przyspieszę wykonanie zadania, i przeprowadzę ponowne testy ;)


  • 0