Gambar yang lebih besar di belakang pilihan matriks dalam algoritma Strassen

17

Dalam algoritma Strassen, untuk menghitung produk dari dua matriks dan B , matriks A dan B dibagi menjadi 2 × 2 matriks blok dan algoritma menghasilkan perhitungan secara rekursif 7 blok produk matriks-matriks sebagai lawan dari 8 blok matriks- naif produk matriks, yaitu, jika kita ingin C = A B , di mana A = [ A 1 , 1 A 1 , 2 A 2 , 1 A 2 , 2SEBUAHBSEBUAHB2×278C=SEBUAHB maka kita memiliki C 1 , 1 = A 1 , 1 B 1 , 1 + A 1

A=[A1,1A1,2A2,1A2,2] , B=[B1,1B1,2B2,1B2,2] , C=[C1,1C1,2C2,1C2,2]
yang membutuhkan8perkalian. Sebagai gantinya di Strassen, kami menghitung M 1 :=( A 1 , 1 + A 2 , 2 )( B 1 , 1 + B 2 , 2 )
C1,1=SEBUAH1,1B1,1+SEBUAH1,2B2,1C1,2=SEBUAH1,1B1,2+SEBUAH1,2B2,2C2,1=SEBUAH2,1B1,1+SEBUAH2,2B2,1C2,2=SEBUAH2,1B1,2+SEBUAH2,2B2,2
8 dan dapatkan C i , j menggunakan M k sebagai C 1 , 1 = M 1 + M 4 - M 5 + M 7
M.1: =(SEBUAH1,1+SEBUAH2,2)(B1,1+B2,2)M.2: =(SEBUAH2,1+SEBUAH2,2)B1,1M.3: =SEBUAH1,1(B1,2-B2,2)M.4: =SEBUAH2,2(B2,1-B1,1)M.5: =(SEBUAH1,1+SEBUAH1,2)B2,2M.6: =(SEBUAH2,1-SEBUAH1,1)(B1,1+B1,2)M.7: =(SEBUAH1,2-SEBUAH2,2)(B2,1+B2,2)
Csaya,jM.k Namun, pilihan matriks M k tampak sewenang-wenang bagi saya. Apakah ada gambaran yang lebih besar mengapa kami memilih produk-produk khusus dari sub-matriks A dan B ? Juga, saya harapkan M k 's untuk melibatkan A i , j ' s dan B i , j 's secara simetris, yang tampaknya tidak menjadi kasus di sini. Misalnya, kami memiliki M 2 :=
C1,1=M.1+M.4-M.5+M.7C1,2=M.3+M.5C2,1=M.2+M.4C2,2=M.1-M.2+M.3+M.6
M.kSEBUAHBM.kSEBUAHsaya,jBsaya,jM.2: =(SEBUAH2,1+SEBUAH2,2)B1,1SEBUAH1,1(B1,2+B2,2)M.k

Saya akan sangat menghargai jika seseorang dapat menjelaskan hal ini.

Komunitas
sumber

Jawaban:

15

De Groote (Pada Varietas Algoritma Optimal untuk Penghitungan Pemetaan Bilinear. II. Algoritma Optimal untuk Penggandaan Matriks 2x2. Teori. Komputasi. Sci. 7: 127-148, 1978) membuktikan bahwa hanya ada satu algoritma yang dapat dikalikan 2×2-matrices dengan 7 perkalian hingga kesetaraan. Ini mungkin fitur unik dari2×2perkalian -matrix. (Catatan: Anda akan menemukan varian berbeda dari algoritma Strassen dalam literatur. Semuanya setara dengan gagasan persamaan yang tepat.)

Jika Anda sekarang mulai membuktikan batas bawah untuk 2×2perkalian -matrix - lihat buku karya Bürgisser, Clausen, dan Shokrollahi bagaimana melakukan itu - kemudian algoritma Strassen atau beberapa varian muncul secara alami. Anda akan menemukan banyak identitas yang menentukan bagaimana produk terlihat. Kemudian Anda bisa menyelesaikannya dengan menebak-nebak. (Bukti De Groote menunjukkan bahwa menebak sekalipun tidak perlu.)

Schönhage pernah mengatakan kepada saya bahwa Strassen pernah mengatakan kepadanya bahwa ia menemukan algoritme dengan cara ini, dengan mencoba membuktikan batas bawah.

Markus Bläser
sumber
11

Ada semacam penjelasan dalam buku Teori Kompleksitas Aljabar oleh Bürgisser, Clausen dan Shokrollahi (hlm. 11-12). Idenya adalah memulai dengan dua basisSEBUAH0,SEBUAH1,SEBUAH2,SEBUAH3 dan B0,B1,B2,B3 dari ruang 2×2 matriks nyata yang memenuhi properti berikut: SEBUAHsayaBj{0,SEBUAH0,SEBUAH1,SEBUAH2,SEBUAH3,B0,B1,B2,B3}. Selanjutnya,SEBUAH0=B0. Untuk melipatgandakan dua matriksSEBUAH dan B, mewakili masing-masing dari mereka dalam dasar yang sesuai, dan mengevaluasi produk. Karena hanya tujuh matriks non-nol yang berbeda muncul dalam hasil (SEBUAH0=B0,SEBUAH1,SEBUAH2,SEBUAH3,B1,B2,B3), hanya tujuh produk yang dibutuhkan. ItuM. matriks hanyalah pangkalan-pangkalan ini.

Saya tidak tahu apakah Strassen datang dengan cara memandangnya seperti ini. Mengingat identitas lain yang mendasari algoritma perkalian matriks cepat, tidak jelas apakah ada sesuatu yang mendalam, di bawah daripada beberapa rumus yang bekerja. Kami telah mengalaminya sebelumnya - Lagrange menggunakan identitas empat persegi (yang telah dikenal sebelumnya) untuk membuktikan teorema empat persegi. Pada awalnya itu pasti hanya identitas aljabar yang aneh, tetapi sekarang kita tahu bahwa itu menyatakan properti multiplikatif dari norma angka empat. Mengingat keadaan pengetahuan saat ini, sulit untuk mengatakan apakah interpretasi di atas sama produktifnya.

Yuval Filmus
sumber
3
Basis semacam itu disebut pasangan-M, lihat bab tentang aljabar peringkat minimal dalam buku karya Bürgisser, Clausen, dan Shokrollahi. Saya pikir cukup sulit untuk mengemukakan gagasan bahwa pasangan-M ada tanpa mengetahui teorema Alder-Strassen (lihat lagi buku di atas). Khususnya,2×2-matrices adalah satu-satunya aljabar matriks yang memiliki pasangan-M.
Markus Bläser