Kompleksitas komputasi perkalian matriks

14

Saya mencari informasi tentang kompleksitas komputasi perkalian matriks matriks persegi panjang. Wikipedia menyatakan bahwa kompleksitas mengalikan oleh B R n × p adalah O ( m n p ) (buku sekolah perkalian).SEBUAHRm×nBRn×halHAI(mnhal)

Saya punya kasus di mana dan n jauh lebih kecil dari p , dan saya berharap untuk mendapatkan kompleksitas yang lebih baik daripada linear dalam p , dengan biaya membuat ketergantungan pada m dan n lebih buruk daripada linear.mnhalhalmn

Ada ide?

Terima kasih.

Catatan: alasan saya berharap hal itu dimungkinkan adalah karena hasil yang terkenal dari ketergantungan kurang dari kubik dalam jika m = n = p (ketika semua matriks adalah kotak).halm=n=hal

penanya
sumber
8
Kompleksitas algoritma (berurutan) tidak boleh lebih kecil dari ukuran outputnya. Untuk masalah Anda, bisakah Anda merepresentasikan input dan output menggunakan ruang yang sublinear di p?
Colin McQuillan
Apakah sebagian besar elemennya bukan nol atau sering nol? yaitu jarang? yang tentunya mengarah pada berbagai optimasi. juga sepertinya SVD [dekomposisi nilai singular] mungkin relevan berdasarkan respons saat ini yang mengacu pada perkiraan.
vzn

Jawaban:

13

Karya klasik Coppersmith menunjukkan bahwa untuk beberapa , seseorang dapat melipatgandakan matriks n × n α dengan matriks n α × n dalamα>0n×nαnα×noperasi aritmatika ˜ O (n2). Ini adalah unsur penting dari hasil baru-baru ini dirayakan oleh Ryan Williams.HAI~(n2)

François le Gall baru-baru ini memperbaiki karya Coppersmith, dan makalahnya baru saja diterima di FOCS 2012. Untuk memahami karya ini, Anda perlu pengetahuan tentang teori kompleksitas aljabar. Makalah Virginia Williams berisi beberapa petunjuk yang relevan. Secara khusus, karya Coppersmith sepenuhnya dijelaskan dalam Teori Kompleksitas Aljabar , buku itu.

Untaian pekerjaan yang berbeda berkonsentrasi pada mengalikan matriks kira-kira . Anda dapat memeriksa pekerjaan ini oleh Magen dan Zouzias. Ini berguna untuk menangani matriks yang sangat besar, katakanlah mengalikan sebuah matriks dan sebuahn×N , di mana N n .N×nNn

Pendekatan dasar adalah untuk mengambil sampel matriks (ini sesuai dengan pengurangan dimensi secara acak), dan mengalikan matriks sampel yang jauh lebih kecil. Kuncinya adalah mencari tahu kapan dan dalam arti apa ini memberikan perkiraan yang baik. Berbeda dengan alur kerja sebelumnya yang sama sekali tidak praktis, algoritma pengambilan sampel praktis dan bahkan diperlukan untuk menangani sejumlah besar data.

Yuval Filmus
sumber
Hanya sebuah catatan: diketahui (per November 2010) bahwa perkalian matriks persegi panjang tidak diperlukan untuk menyelesaikan ACC SAT. (Mana yang baik, karena multivarik matriks persegi panjang adalah "galaksi" dan kompleks.)
Ryan Williams