Merlin, Arthur'u belirli bir miktar konusunda ikna edebilir mi?


11

Sınırsız hesaplama kaynaklara sahip Merlin, o Arthur ikna etmek istiyor için ile ve Bu toplamın basit bir şekilde hesaplanması (modüler üs alma ve ekleme), FFT tabanlı çarpma ile zaman alır. * Ancak Arthur yalnızca işlemlerini gerçekleştirebilir. ( N , m , k ) k = O ( log N ) m = O ( N ) . N ( log log N ) 2 + o ( 1 ) O ( N )

m|pN, p primepk
(N,m,k)k=O(logN)m=O(N).N(loglogN)2+o(1)O(N)

(Gösterim, bu sorunun önceki sürümleriyle uyumluluk için: Toplamın eşit olmasına izin verin ; o zaman soru bir tamsayı olup olmadığıdır .)mαα

Merlin, Arthur'u uzunluğunda bir dizeyle ikna edebilir mi? Değilse, Arthur'u interaktif bir kanıtla ikna edebilir mi (elbette toplam iletişim olmalı )? Öyleyse, Merlin uzunluğunda bir dize kullanabilir mi? Arthur zamanını kullanabilir mi?O(N)O(N)o(N)o(N)

Arthur'un belirlenemeyenliğe veya diğer özel araçlara (kuantum yöntemleri, Merlin dışındaki oracles vb.) Erişimi yoktur, ancak gerekirse boşluğu vardır. Tabii ki Arthur'un toplamı doğrudan hesaplaması gerekmiyor, sadece belirli bir üçlü (N, m, k) denklemi doğru veya yanlış yaptığına ikna olmalı.O(N)

Not Bununla o zaman içinde toplamını hesaplamak mümkündür kullanılarak Lagarias-Odlyzko yöntemi. For toplamı superlinear ve böylece (olmadan, örneğin modüler azalma) doğrudan depolanamaz ama hızlı bir algoritma var olup olmadığını net değil.k=0k > 0O(N1/2+ε)k>0

Ayrıca doğrudan güç ve toplama dışında toplamı (modüler veya başka türlü) hesaplamak için herhangi bir algoritma ile ilgilenirim.

* Hesaplanacak sayısı, zaman .lg k log N ( log log N ) 1 + o ( 1 ) = log N ( log log N ) 2 + o ( 1 )N/logNlgklogN(loglogN)1+o(1)=logN(loglogN)2+o(1)



1
Evet, ilgili. Temel fark, matematik.SE sorusunun Merlin'in sıfır hesaplama kaynağı olduğunu varsayar ve bu da sınırsız kaynaklara sahip olduğunu varsayar.
Charles

3
Öncelik testi için gereken süreye ne dersiniz?
Peter Shor

1
@Charles: Asal sayma için ölçeklendirmesini görmüyorum . Açıklayabilir misin? Süper doğrusal ölçeklendirme gerektirdiğini düşünürdüm. Eratosthenes Eleği bir algoritması verir. O(N2)NO(N2)
Joe Fitzsimons

1
Algoritma Lagarias & Odlyzko'ya bağlı. Örneğin, dtc.umn.edu/~odlyzko/doc/arch/analytic.pi.of.x.pdf (Ve değil, ) ˜ O (O(N)O~(N).
Charles

Yanıtlar:


7

Bunu önceki özel durumumdan ayrı olarak gönderiyorum, çünkü sorunun farklı bir yaklaşım olduğuna ve diğer cevabımla çok az ilişkisi olduğuna inanıyorum. Tam olarak aradığınız şey olmayabilir, ancak basittir ve yaklaşır.

Arthur her zaman kanıt doğru olduğunu kabul edecek bir kanıt var, ama olasılıkla reddedecek . Şöyle çalışır: Merlin,her bir asalpNiçinArthur'u çifti(pi,ci=p k i  mod m)gönderir. Arthur toplamı doğrular (zaman almaO(N/log(N))×O(log(N))=O(N)1(loglogN)2+o(1)(pi,ci=pik mod m)pNO(N/log(N))×O(log(N))=O(N)). Arthur asal doğru sayıda (hesaplanarak tedarik edilmiştir olmadığını kontrol eder içinde sublinear olan) N . Son olarak, S N rasgele çiftleri için, p'nin asal olduğunu ve p k ic i  mod  m olduğunu onaylar . Bu zaman alır S N O ( ( log log N ) 2 + o ( 1 ) ) . Alarak S = ( log giriş K )π(N)NSNppikci mod mSN O((loglogN)2+o(1)) , doğrusal bir zaman ölçeği elde ederiz. Bu durumda, bir fraksiyonGher çifti doğrulanır. Bunlardan herhangi biri başarısız olursa, Arthur elbette reddedecektir. Arthur'un yanlış bir kanıtı kabul etmesi için, bu iki testten birini geçemeyen en az bir çift olmalıdır (veya çift sayısı dahaönce kontrol edilenπ(N) 'den az olmalıdır). Böylece, tüm çiftlerinSfraksiyonukontrol edildiğinde, test en azSolasılıklı yanlış bir kanıt için başarısız olacaktır.S=(loglogN)(2+o(1))Sπ(N)SS

Büyük bu olasılık ile başarılı rastgele tahmin, çok daha iyi olduğunu unutmayın 1N .1m=1O(N)


İki cevap göndermek kötü bir uygulamadırsa, bana bildirin, birleştireceğim. İkincisi bana geldiğinden onları ayrı bıraktım ve ilk cevaba göre tamamen farklı bir yaklaşım.
Joe Fitzsimons

1
Bana uyar. özellikle CW sorularında birden fazla cevaba sahip olmak yaygındır.
Suresh Venkat

@Suresh: Evet, biliyorum, ama bu CW değil ve bir fahişe olarak karşılaşmak istemiyorum.
Joe Fitzsimons

2
Çok güzel bir cevap. Her iki kaynağı da maksimuma çıkarır - Merlin'in dizesi ve Arthur Θ ( N ) zamanı kullanır . Nitpick: Primerlerin bireysel olarak doğrulanması, bağlantınızı elde etmek için çok uzun sürecektir, ancak elbette Arthur hepsini üretebilir ve Merlin'in listesiyle karşılaştırabilir (sırayla olmasını gerektirir). Θ(N)Θ(N)
Charles

1
@JoeFitzsimons: sorun değil :). Eğer her iki cevap da rep hak ediyorsa çift puan alacaksınız :)
Suresh Venkat

6

Bu, Merlin'i hiç kullanmayan soruna tam bir cevaptır.

Deléglise-Dusart-Roblot [1] kadar asal sayısını belirleyen bir algoritma elde için uyumlu olan l modülo k , zaman içinde , O ( x 2 / 3 / log 2 x ) . Lagarias-Odlyzko [2] algoritmasının bir değiştirme zaman hesaplanır aynı sağlar O ( X 1 / 2 + O ( 1 ) ) .xlk,O(x2/3/log2x).O(x1/2+o(1)).

Her iki algoritmayı kullanarak, tüm kalıntı sınıfları mod primerlerindeki prim sayısını, ürünleri büyük olana kadar bulun . Her asal q için , her bir kalıntı sınıfındaki toplam prim sayısı, bu kalıntı sınıfının k- gücüne kadar alın; bu p N p  prime p k değerini verir m.q,k

p primepNpk(modq).

Toplam mod 2 3 log m değerini belirlemek için Çin Kalan Teoremini kullanın .23logm.

Asal sayı Teoremine göre gerekli olan en büyük asal bu süre içinde bir miktar veren, böylece O ( N 1 / 2 + O ( 1 ) ) .(1+o(1))logm,O(N1/2+o(1)).

Referanslar

[1] Marc Deléglise Pierre Dusart ve Xavier-Francois Roblot, artık madde sınıflarında Sayma asal , Hesaplama Matematik 73 :. 247 (2004), sayfa 1565-1575. doi 10.1.1.100.779

[2] JC Lagarias ve AM Odlyzko, Hesaplama : Analitik bir yöntemπ(x) , Journal of Algorithms 8 (1987), s. 173-191.

[3] Charles, MathOverflow'a cevap ver . (Evet, bu aynı kişi. Farklı yaklaşımlar için diğer cevaplara bakın.)


5

kk=xϕ(m)x

ϕ(m)mNpxϕ(m)0 mod mp|mpxϕ(m)1 mod mk=xϕ(m)pN,p primepkπ(N)y mod mymπ(N)N

1<N<mmα1<π(N)<m

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.