Matris-çarpım üsünün tanımı


15

Lojik olarak, matris-çarpma üssünün tanımı, bilinen bir matris çarpma algoritmasının olduğu en küçük değerdir . Bu resmi bir matematiksel tanım olarak kabul edilemez, bu yüzden teknik tanım bir matris çarpma algoritması var ki tüm üzerinde sonsuz gibi bir şey sanırım .ωnωtnt

Bu durumda, veya de matris çarpımı için bir algoritma olduğunu söyleyemeyiz , sadece için bir algoritma var. . Bununla birlikte, çoğunlukla, matris çarpımını kullanan kağıtlar ve sonuçlar maliyetlerini basitçe olarak rapor edecektir .nωnω+o(1)ϵ>0nω+ϵO(nω)

bu kullanıma izin veren alternatif bir tanımı var mı ? veya zaman algoritmasının olması gerektiğini garanti eden sonuçlar var mı? Yoksa basitçe özensiz midir?n ω n ω + o ( 1 ) O ( n ω )ωnωnω+o(1)O(nω)


2
Eğer sadece bir kara kutu şeklinde matris çarpma kullanmak istiyorsanız, en kolay yolu "Let demek ki çarpın elimizden şekilde olmalıdır n × n ile -matrisleri O ( n co ) aritmetik işlemleri". Tabii ki, ω o zaman matris çarpımının üssü değildir, ancak keyfi olarak yakın olabilir. Son çalışmanızın üssünü ondalık gösterimle belirtmek isterseniz, şu anda yine de yuvarlamanız gerekir, çünkü bildiğim ω için tüm önemsiz tahminler irrasyonel sayılar veya sonsuz dizilerdir. ωn×nO(nω)ωω
Markus Bläser

2
tipik olarak tüm realse fazla infimum olarak tanımlanır k için n olacak bir olduğu gibi O ( n, k ) zaman algoritması çarpar iki n x n zaman içinde ilave, çarpma ve bölüm sayısı matrisleri ( temel alan). Bu aynı zamanda teknik olarak her zaman n ω + o ( 1 ) yazmamız gerektiği anlamına gelir,ancak bu dağınık hale gelir, bu yüzden O ( n ω ) öğesini gördüğünüzde O ( M ( n)ωknO(nk)n×nnω+o(1)O(nω) burada M ( n ) bir matris çarpma algoritmasının çalışma zamanıdır. O(M(n))M(n)
virgi

Yanıtlar:


20

Matris çarpım üstel olarak zaman içinde hareket eder bu bir algoritma var olduğunu garanti etmez O ( n, w ) , ancak her biri için sadece £ değerinin > 0 , bir algoritma var olmasıyla çalışır O ( n, ω + ε ) . Gerçekten de O ( n 2 p o l y l o g ( n ) ) zamanında çalışan bir algoritma bulabilirseniz , bu ω = 2 olduğunu gösterir .ωO(nω)ϵ>0O(nω+ϵ)O(n2polylog(n))ω=2

Resmi tanımı, Peter Bürgisser, Michael Clausen, Amin Shokrollahi'nin Cebirsel Karmaşıklık Teorisi kitabında bulabilirsiniz.


7

Yorum yapmak için çok uzun olan küçük bir yorum:

Bazen her ϵ > 0 için çalışma zamanı olan bir algoritma olduğunda bir sorun olduğunda, n k + o ( 1 ) çalışma zamanı olan bir algoritma vardır .O(nk+ϵ)ϵ>0nk+o(1)

Örneğin, bazen sizin gibi gitmek algoritmaları olsun bazı hızlı büyüyen fonksiyonu için f (gibi 2 2 1 / ε ). F ( 1 / ϵ ) öğesini (say) günlüğü n olarak ayarlarsanız , ϵ o (1) olur. İle örnekte f ( 1 / ε ) olmak 2 2 1 / ε seçebilirsiniz 1 / εf(1/ϵ)nk+ϵf221/ϵf(1/ϵ)lognϵf(1/ϵ)221/ϵ1/ϵolduğu verir, ε = 1 / ( log giriş günlük n ) (1) n olup,. Dolayısıyla bu algoritmanın son çalışma süresi n k + o ( 1 ) olacaktır , çünkü log n de n o ( 1 ) 'dir .logloglognϵ=1/(logloglogn)nk+o(1)lognno(1)


Coppersmith-Winograd algoritmasının bu kategoriye girdiğini hayal ediyorum?
David Harris

2
@DavidHarris: Bunu bilmiyorum. Belki algoritmayı anlayan biri buna biraz ışık tutabilir. Sadece sık sık demek istedi göründüğü kadar bad olarak değil. O(nk+ϵ)
Robin Kothari

5

Bu iyi bilinen ve sonuçları bu Bakırcı ve winograd arasında -zaman tek bir algoritma ile fark edilemez. Ancak Strassen benzeri bilinear kimliklere dayanan algoritmalarla sınırlı olduklarını okudum , bu yüzden kağıt bir ödeme duvarının arkasında olduğundan emin değilim.O(nω)


3

"bilinen bir n ω matris çarpma algoritması olan en küçük değer" tarafından iyi tanımlanmadığı sorusundaki ifadenize katılmıyorum . İnsanlar bu sabiti kullandıklarında, bunun nedeni algoritmalarının bir matris çarpımına bağlı olması ve n ω karmaşıklığı ile "algoritmamızın optimal karmaşıklığının, matris çarpımı için optimal algoritma tarafından verildiği" anlamına gelir.ωnωnω

Aksi tanımlamanın mümkün olmadığını söylemiyorum (örneğin ω ulaşılabilir en iyi karmaşıklık olduğunu söylemek ).ωω

Btw, matris çarpımı için en iyi bilinen üst sınır, yanılmıyorsam yükseltildi . 2.3737


3
İnsan bilgisinin nasıl matematiksel bir tanımın parçası olabileceğini anlamıyorum
David Harris

2
Son deneyimler, şu anda insanlık ;-) tarafından bilinen tüm algoritmalara kıyasla tüm algoritmalar üzerinde
nicemlemenin
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.