Bu N'inci nüks nüksünün (in) izlenebilirliğinin kanıtlanması


18

Önceki sorumdan şu şekilde , eğlence matematiği olarak Riemann hipotezi ile oynuyorum . Bu süreçte oldukça ilginç bir tekrarlamaya geldim ve adı, indirimleri ve asal sayılar arasındaki boşluğun çözülebilirliğine yönelik izlenebilirliği merak ediyorum.

Tersine, her asal sayı arasındaki boşluğu , önceki aday primerlerin tekrarı olarak tanımlayabiliriz . Örneğin, için bir sonraki asal:p0=2

p1=min{x>p0|-marul(2π(x+1)/p0)+1=0)}

Ya da, bunu çizerek gördüğümüz gibi : p1=3 .

İleriye doğru tekrarlanan her adayın baş değerlendirmesini değerlendirerek işlemi n asalet için tekrarlayabiliriz. Bir sonraki prime ulaşmak istediğimizi varsayalım, p2 . Aday fonksiyonumuz:

p2=min{x>p1|fp1(x)+((-marul(2π(x+1)/p1)+1)(-marul(2π(x+2)/p1)+1))=0}

Nerede:

fp1(x)=cos(2π(x+1)/p0)+1 , yukarıdaki gibi.

Her bileşen fonksiyonunun sadece tamsayı değerlerinde sıfır olduğunu görmek kolaydır ve trigonometrik bir sistem bağlamında toplama ve çarpma özelliklerini kullanarak AND ve XOR şeklindeki ilişkilerimizi akıllıca yakaladığını göstermek de eşit derecede kolaydır. denklemleri.

Tekrarlama şöyle olur:

fp0=0p0=2fpn(x)=fpn1(x)+k=2pn1(cos(2π(x+k1)/pn1)+1)pn=min{x>pn-1|fpn(x)=0}

... tüm problemin min operatörünü polinom zamanda bu fonksiyon üzerinden değerlendirip değerlendiremeyeceğimize bağlı . Bu aslında Eratosthenes Elekinin genelleştirilmesidir .

Nüksü göstermek için çalışan Python kodu:

from math import cos,pi

def cosProduct(x,p):
    """ Handles the cosine product in a handy single function """
    ret = 1.0
    for k in xrange(2,p+1):
        ret *= -cos(2*pi*(x+k-1)/p)+1.0
    return ret

def nthPrime(n):
    """ Generates the nth prime, where n is a zero-based integer """

    # Preconditions: n must be an integer greater than -1
    if not isinstance(n,int) or n < 0:
        raise ValueError("n must be an integer greater than -1")

    # Base case: the 0th prime is 2, 0th function vacuous
    if n == 0:
        return 2,lambda x: 0

    # Get the preceding evaluation
    p_nMinusOne,fn_nMinusOne = nthPrime(n-1)

    # Define the function for the Nth prime
    fn_n = lambda x: fn_nMinusOne(x) + cosProduct(x,p_nMinusOne)

    # Evaluate it (I need a solver here if it's tractable!)
    for k in xrange(p_nMinusOne+1,int(p_nMinusOne**2.718281828)):
        if fn_n(k) == 0:
            p_n = k
            break

    # Return the Nth prime and its function
    return p_n,fn_n

Kısa bir örnek:

>>> [nthPrime(i)[0] for i in range(20)]
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71]

Sorun şu ki, şimdi hem matematiksel olarak hem de bir bilgisayar bilimcisi olarak başımın üstündeyim. Özellikle, Fourier analizi , üniforma kapakları tanımlamak veya genel olarak karmaşık düzlemle yetinmiyorum ve bu yaklaşımın ya yanlış ya da 3SAT probleminin gizlenen bir dehşetini gizlediğinden endişeliyim NP-tamam.

Burada üç sorum olacak:

  1. Yukarıdaki kısa tekrarım göz önüne alındığında, polinom zaman ve uzaydaki sıfırların yerini belirleyici olarak hesaplamak veya tahmin etmek mümkün mü?
  2. Eğer öyleyse ya da değilse, bir çoklu zaman ya da çok-alan çözümünü inatçı kılacak başka alt problemleri gizliyor mu?
  3. Ve eğer bir mucize (1) ve (2) dayanırsa, bu rekürrensi yüksek seviyeden tatmin etmek için hangi dinamik programlama geliştirmelerini yaparsınız? Açıkçası, birden fazla işlev yoluyla aynı tamsayılar üzerinde yineleme yetersiz ve oldukça israflıdır.

Ve hala burada benim metin duvarım olmasına rağmen: Bunun Riemann zeta'ya indirip indirmediğinden emin değilim , böylece ona aynı karmaşıklığı veriyorum. Yine de inanmıyorum.
MrGomez

1
ff(pn)

1
Gönderinizdeki her şeyi takip etmiyorum. Sanırım NP değil, NP-tam demek istiyorsun. Genellikle bir dizi teorik fonksiyonun NP-tamamlanmış olduğunu kanıtlamak oldukça zordur, çünkü bunlar genellikle indirgeme için araçlar tasarlamamıza izin verecek herhangi bir kombinasyon yapısından yoksundur / gizlerler.
Kaveh

1
f(x)

f

Yanıtlar:


1

Aşağıdaki yazı PRIMES'in P (2006'da da bir Gödel ödülü kazandığını) göstermektedir:

http://www.cse.iitk.ac.in/users/manindra/algebra/primality_v6.pdf

N. Asal minimizasyon prosedürünün çözümünü AKS PRIMES algoritmasına (modulo a çıkarma) ayarlayarak, rekürrens ilişkisine etkili bir şekilde izlenebilir bir çözüm elde edebiliriz (asal boşluğun tekrarlama ilişkisi tarafından verildiğini kanıtlayabilirseniz).

Kaynak kodları internette bulabilirsiniz. Onları burada işaret etmiyorum çünkü şahsen kontrol etmedim.

n


1
Rosettacode sayfası tamamen yanlış adlandırılmıştır. Bu AKS öncelik testi değildir ve n'den az tüm tamsayıların deneme bölümünün yeniden ifadesidir. Öte yandan, öncelikliliğin P'de olduğunu ve bunun orijinal soruya herhangi bir ışık tutup açmadığını görmek sormaya değer.
DanaJ

İyi bir nokta ... Bunu düzeltirim ...
user13675

1
nlgn
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.