Doğrusal çarpma, toplama ve karşılaştırma (tam sayılarda) için ne kadar yaklaşabiliriz?


21

Göre işletmelerin KW Regan makalesinde "Bağlan Yıldız" , o toplama, çarpma ve karşılaştırma işlemleri doğrusal zamanda hesaplanabilir olduğu bu şekilde tam sayıların gösterimini bulma açık sorunu hala olduğunu sonunda bahseder:

Toplama, çarpma ve karşılaştırma işlemlerinin doğrusal zamanda yapılabilmesi için bir tamsayı temsili var mı? Temel olarak, isteğe bağlı olarak sipariş edilen bir halkada doğrusal bir zaman var mı?

(1) Karşılaştırma yapmadan, lineer zaman çarpma ve toplama işlemine ne kadar yaklaşabiliriz? Burada problem boyutlarının değişebileceğini, böylece tamsayı boyutlarını değiştirmeye izin veren bir veri yapısına / algoritmasına ihtiyacımız olabileceğini varsayıyorum.

(2) Tüm problem için tamsayıların çarpılması, eklenmesi ve karşılaştırılması için en uygun planı bulacağımızı varsayabiliriz. Bu üç işlemden en yavaşını (en kötü durumda) doğrusal zamana ne kadar yaklaştırabiliriz? Ve bu notta, diğer işlemler ne kadar hızlı olur?

YASAL SORUN BEYANI

Emil Jeřábek’in dediği gibi, önemsiz vakaları ekarte etmek ve bu soru için en kötü durum davranışına odaklanmak istiyoruz.

Sormak Yani olmayan negatif tamsayı ve Y burada 0 x < n ve 0 y < n , biz ek olarak, çarpım bir veri yapısı / algoritma bulmak arasında ve \ ile karşılaştırır olabilir x ve y içerisinde , O ( n, günlük ( n ) ) zaman ve O ( log 2 ( n ) ) alan?xy0x<n0y<nxyO(nlog(n))O(günlük2(n))


1
Bu operasyonları zaman içinde 'i negatif olmayan tamsayılarda gerçekleştiren bir şema yaratmanın mümkün olduğunu söyleyeceğim , burada n en büyük tamsayının bitsize olduğu ( önceden n olduğunu biliyorsak ). Daha iyisini yapıp yapamayacağımızı merak ediyorum ve bunu, hesaplanan mevcut tamsayı (lar) ile orantılı olarak yapabiliriz. Θ(n)nn
Matt Groff

5
@TysonWilliams: Evet! İkili!
Jeffε

2
Tüm bu işlemler için doğrusal zaman almak yerine, tüm bu işlemlerin zamanı olacak şekilde tam sayıların bir gösterimi var mı? O(ngünlükn)
Emil Jeřábek, Monica

4
Aslında, önemsiz bir olumlu cevap var: bit doldurma ile ikili sayıdaki tamsayıları temsil eder . İfade, gösterimin, ikili gösterimin uzunluğu boyunca doğrusal uzunluğa sahip olması gerektiği gibi bir koşul içermeli mi? n2
Emil Jeřábek,

5
@ EmilJeřábek: o herhangi bir tamsayı temsil istediğini varsayalım kullanımı f ( n ) bit, bir fonksiyonu f ( n ) = İçeride ISTV melerin RWMAIWi'nin ( log n ) . nf(n)f(n)=Θ(günlükn)
Jeffε

Yanıtlar:


14

Muhtemelen en iyi cevap değil, ama belki de bu yararlı bir başlangıç ​​noktasıdır. Negatif olmayan bir tamsayıyı temsil etmek istiyorsak, 2'den başlayarak bir kalıntı modulo sıralı asal sayılar kümesi olarak saklayabiliriz. Bu formda karşılaştırma potansiyel olarak zordur, ancak çarpma ve ekleme oldukça hızlı bir şekilde yapılabilir. İlk ürün asal olan yaklaşık olarak ile p , n # = exp ( ( 1 + O ( 1 ) ) n- log n ) . Bu nedenle, bir N tamsayısını temsil etmek için , ilk n primerlerin modulo kalıntılarını gerektirir , buradan

pn#=exp((1+O(1))ngünlükn).
N-n . İlk n modul rezidüel modüller kullanılarakherhangi bir N < p n # 'yi temsiledebileceğimiz için n log n log ( N ) alabiliriz . Ekleme ve çoğaltma doğrudan tortu çiftleri arasında yapılabilir. Var N etrafında maksimum asal varlık ile bu çifti, n- log ( n ) . Bu nedenle ekleme yapılmalıN-<exp((1+O(1))ngünlükn)N-<pn#nngünlüknαgünlük(N-)nngünlük(n) , Schonhage-Strassen ile çarpımı olması gerekirken, O ( n, log log ( K ) günlük günlük günlük günlük ( K ) günlük bir günlük kaydı ( N ) ) . Yana n log n α log N , o zaman kaba bir yaklaşımı verir , n de O ( log N / log log N )O(ngünlükgünlük(N-))O(ngünlükgünlük(N-)günlükgünlükgünlükgünlük(N-)günlükgünlükgünlük(N-))ngünlüknαgünlükN-nO(günlükN-/günlükgünlükN-). Bu yaklaşık olarak ilave karmaşıklığı ve çoğalmasını verecek ve O ( log K günlük günlük günlük N günlük günlük günlük günlük K ) .O(günlükN-)O(günlükN-günlükgünlükgünlükN-günlükgünlükgünlükgünlükN-)

1
ayrıca bkz. Çin kalan teoremi
vzn

1
@vzn: Evet, karşılaştırmalar için bunu söyleyecektim, ama daha sonra karışık bir radix gösterimi yoluyla daha hızlı bir karşılaştırma işlemi olabileceği aklıma geldi.
Joe Fitzsimons
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.