Algoritma Strassen untuk analisis kompleksitas multiplikasi matriks

8

Saya melihat di mana-mana bahwa persamaan rekursif untuk kompleksitas Strassen alg adalah:

T(n)=7T(n2)+O(n2).
Ini tidak begitu jelas bagi saya. Parametern seharusnya ukuran input, tetapi tampaknya ini adalah satu dimensi dari matriks sedangkan ukuran input sebenarnya n2. Juga, setiap matriks input dibagi menjadi 4 sub matriks sehingga tampaknya persamaan rekursif seharusnya
T(n)=7T(n4)+O(n).

dafnahaktana
sumber

Jawaban:

13

Memang benar parameternya nbiasanya menunjukkan ukuran input, tetapi ini tidak selalu terjadi. Untuk perkalian matriks kuadrat,nmenunjukkan jumlah baris (atau kolom). Untuk grafik,n sering menunjukkan jumlah simpul, dan mjumlah tepi. Untuk algoritma pada fungsi Boolean,n menunjukkan jumlah input, meskipun tabel kebenaran itu sendiri memiliki ukuran 2n. Ada banyak contoh lainnya.

Yuval Filmus
sumber
5

Ini kembali ke ukuran matriks. Misalkan matriks aslinya adalahn×n. Karena itu kami akan mempertimbangkanT(n) sebagai perhitungan dua matriks dengan ukuran n×n. Ketika kita membagi matriks asli menjadi 4 bagian, ukuran masing-masing bagian adalahn2×n2. Oleh karena itu, biaya perhitungan perkalian dua matriks dengan ukuran ini adalahT(n2).

Oh Tuhan
sumber
0

Kompleksitas waktu seringkali didasarkan pada ukuran input, tetapi itu bukan persyaratan mutlak. Dalam hal ini, untuk perkalian matriks nxn, tampaknya paling alami untuk menghitung jumlah operasi berdasarkan n, bukan pada ukuran masalah nxn.

gnasher729
sumber