Yaklaşık olarak doğrusal bir diofantin denklemini çözme


15

Aşağıdaki sorunu düşünün:

Giriş : Bir hiper H = { yR , n : bir T y = b }H={yRn:aTy=b} , bir vektör tarafından verilen ve standart ikili gösteriminde .aZ naZn b ZbZ

Çıktı :xZn=argmind(x,H)xZn=argmind(x,H)

Yukarıdaki yazıda \ mathbb {R} ^ n ve S \ subseteq \ mathbb {R} ^ n için \ mathbf {x} \ için d (\ mathbf {x}, S) , d (\ mathbf {x} , S) = \ min _ {\ S} içinde {\ mathbf {y} \ {\ | \ mathbf {x} - \ mathbf {y}} \ | _2 , yani bir nokta kümesi ile tek nokta arasındaki doğal öklid mesafesi .d(x,S)d(x,S)xRnxRnSRnSRnd(x,S)=minySxy2d(x,S)=minySxy2

Kelimeyle, bize bir hiper düzlem verilir ve tamsayı kafesinde hiper düzleme en yakın noktayı arıyoruz.

Soru:

Bu sorunun karmaşıklığı nedir?

Buradaki polinom zamanının, girişin bit boyutunda polinom anlamına geleceğini unutmayın. Gördüğüm kadarıyla sorun iki boyutta bile ilginç. O zaman sadece 0 \ leq x_1 \ leq | a_1 | / \ mathsf {gcd} (a_1, a_2) ile bu çözümleri (x_1, x_2) düşünmenin yeterli olmadığını görmek zor değil , ama bu çok fazla seçenek.(x1,x2)(x1,x2)0x1|a1|/gcd(a1,a2)0x1|a1|/gcd(a1,a2)

Yakından ilgili bir sorun, bulma yani doğrusal Diofant denklem çözme , öyle ki ya da belirlemek, bu şekilde var. Dolayısıyla, doğrusal bir diofantin denkleminin çözülmesi, yukarıda tanımladığım soruna 0 değerinde bir çözüm olup olmadığının belirlenmesine eşdeğerdir. Doğrusal bir diofantin denklemi polinom zamanında çözülebilir; aslında doğrusal diofantine denklem sistemleri bile Smith matrisinin sistemi veren normal formunu hesaplayarak polinom zamanda çözülebilir . İlkinin verdiği tamsayı matrisinin Smith normal formunu hesaplayan polinom zaman algoritmaları vardır.xZnxZnaTx=baTx=bxxAAKannan ve Bachem .

Lineer diophantine denklemleri hakkında sezgiyi elde etmek için iki boyutlu durumu tekrar düşünebiliriz. Açıkçası, eğer kesin bir çözüm yoktur bölmek yok . Bu bölme yaparsa , o zaman iki sayı almak için uzun bir GCD'yı algoritması çalıştırabilir ve , öyle ki ve resim ve . Şimdi yaklaşık versiyonu farklı nasıl görebilirsiniz: ne zaman bölmek yok , nasıl tamsayılar bulurumgcd(a1,a2)gcd(a1,a2)bbbbsstta1s+a2t=gcd(a1,a2)a1s+a2t=gcd(a1,a2)x1=sb/gcd(a1,a2)x1=sb/gcd(a1,a2)x2=tb/gcd(a1,a2)x2=tb/gcd(a1,a2)gcd(a1,a2)gcd(a1,a2)bbx1,x2x1,x2 ile çizgisi arasındaki mesafe en aza indirgenir mi?(x1,x2)(x1,x2)a1x1+a2x2=ba1x1+a2x2=b

Benim için sorun, kafeslerdeki en yakın vektör problemine benziyor, ancak her iki problemden diğerine belirgin bir azalma görmüyorum.



hayır değil: diophantine yaklaşım bir diophantine denkleminin çözülmesinden farklı bir problemdir. Bir diophantine yaklaşım probleminde size gerçek sayı verilir ve bunların hepsini tek bir tamsayı ile çarparak tüm bunların bir tamsayıdan içinde olmasını istersiniz . buradaki sorun, ve boyutu arasında en uygun dengeyi bulmaktır . Sorunumla bu sorun arasında bir ilişki görmüyorum. nnQQϵϵQQϵϵ
Sasho Nikolov

Girdi biçiminiz nedir? Herhangi iki koordinat değerleri ise gibi görünüyor oransız yerleştirilir, daha sonra, söz konusu en az uygun 2-boyutlu bir düzlemde, sıfır (kesiştiği formunun bir denklem elde etmektir ile ve oransız , yani irrasyonel ve daha sonra standart sonuçları kullanarak hattın kafes noktalarına keyfi olarak yakınlaştığını gösterin.aasx+ty=wsx+ty=wssttαstαst{nα}(mod1){nα}(mod1)
Steven Stadnicki

Özellikle, bu 'min' değerinizin bir 'inf' (sonsuz sayıda noktadan aldığınız sinüs) olması ve sorunu , ile bazı olup olmadığı sorusundan farklıdır . Bu, katsayılarının sorunun önemsiz olmayan bir çözüme sahip olması için rasyonel sayılar olması gerektiği anlamına gelir ve daha sonra sorun, çok boyutlu GCD algoritmalarıyla yakından bağlantılı olan çok Öklidli bir formda gibi görünmektedir. Bir şey mi kaçırıyorum? inf d(x,H)=0inf d(x,H)=0xxd(x,H)=0d(x,H)=0aa
Steven Stadnicki

@StevenStadnicki doğru. ve olduğunu varsayabilirsiniz (bunu soruya ekleyeceğim, kaçırmış olmalıyım). giriş standart ikili gösterimde verilir. soru olduğunda bile ilginçtir . ile olası tüm çözümleri , ancak bruteforce araması ikili . aZnaZnbZbZn=2n=2(x1,x2)(x1,x2)x1|a1|/gcd(a1,a2)x1|a1|/gcd(a1,a2)a1,a2a1,a2
Sasho Nikolov

Yanıtlar:


5

Pekala, daha çok düşündüğümde, bu problemden genişletilmiş GCD'ye açık bir azalma olduğuna inanıyorum; Ben durumda açıklayacağım , ama ben keyfi . Bunun hiper düzlemle olan mesafeyi en aza indiren bir bulduğunu , ancak mutlaka en küçük bulduğunu unutmayın (aslında aynı minimum mesafeye ulaşan sonsuz sayıda değer vardır) - İkinci sorunun aynı zamanda uygulanabilir, ancak henüz gerçek bir düşünce vermedi. Algoritma birkaç basit ilkeye dayanmaktadır:n=2n xx

  • Eğer tarafından alınan değerler, daha sonra resim tam bir ; Ayrıca, değerler ve ile (bu tam uzatılmış Öklid algoritmasıdır) verimli bulunabilir.g=GCD(a1,a2)ax=a1x1+a2x2{0,±g,±2g,±3g,}x1x2a1x1+a2x2=g
  • Hiper düzlemden kafes üzerindeki bir noktaya olan minimum mesafe, kafes üzerindeki bir noktadan hiper düzleme olan minimum mesafedir (açık, ancak sorunun yararlı bir şekilde ters çevrilmesi).
  • Belirli bir noktadan ile düzlemi arasındaki mesafe ile orantılıdır(özellikle, bu değerin katıdır - ancak tüm mesafeleri bu değerle çarpmanın minimumun konumu üzerinde hiçbir etkisi olmadığından normalleştirme faktörünü göz ardı edebiliriz).xay=b|axb|1/|a|

Bu, aşağıdaki prosedürü önerir:

  • Bilgi İşlem ile birlikte, şekilde .g=GCD(a1,a2)x01,x02a1x01+a2x02=g
  • İşlem ve hesaplamak ; , kafes ile köprü düzlemi arasındaki (ölçeklenmiş) minimum mesafedir. Let olarak mevcut ya da ( sürece, bir katıdır ) olan bir ulaşır az mesafe ile ilgili olarak.r=bgd=min(brg,(r+1)gb)dsrr+1=bgbg
  • Hesaplama ve ; daha sonra yakın katı olan için ve böylecetüm kafes noktalarında bu mesafenin minimumuna ulaşır.x1=sx01x2=sx02ax=sggb|axb|

Bildiğim kadarıyla, aynı prosedürün keyfi boyutlarda doğru çalışması gerekir; Anahtar olmasıdır hala boyutlu GCD tatmin Bezout kimlik ve böylece yalnızca en yakın katı bulmak zorunda kafes noktaya minimum mesafeyi bulmak için için .ngb

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.