Min-plus maticové násobení

Z testwiki
Skočit na navigaci Skočit na vyhledávání

Min-plus násobení matic, známé také jako vzdálenostní součin, je maticová operace. Jde o standardní maticový součin v polookruhu tropické geometrie.

Vzdálenostní součin souvisí s problémem nejkratší cesty v teorii grafů. Je-li 𝑾 čtvercová matice řádu n obsahující délky hran grafu, pak její mocnina 𝑾[k] vzhledem ke vzdálenostnímu součinu udává vzdálenosti mezi vrcholy při použití cest s nejvýše k hranami. Matice vzdáleností grafu je pak 𝑾[n].

Odpovídající algoritmus má pro každý krok výpočtu automaticky k dispozici všechny informace o dostupných cestách v rámci předem určeného počtu kroků výpočtu. Je však výpočetně náročný a pomalý.

Definice

Je-li G=(V,E) orientovaný graf na vrcholech V={v1,,vn} a l:E+je váhová funkce odpovídající délkám hran, potom váhová matice 𝑾 je čtvercová matice řádu n definovaná vztahem:

wi,j={0pro i=jl(vi,vj)pokud (vi,vj)Ejinak

Matice vzdáleností 𝑫 je čtvercová matice řádu n a má na pozici di,j délku nejkratší orientované cesty z vi do vj. Pokud žádná taková cesta neexistuje, je di,j=. Matice má na diagonále samé 0.

Vzdálenostní součin

Jsou-li dány dvě čtvercové matice 𝑨 a 𝑩 řádu n, potom jejich vzdálenostní součin 𝑨𝑩 je definován jako čtvercová matice 𝑪 řádu n taková, že:

cij=min{aik+bkj:k{1,n}},

přičemž součty, v nichž se vyskytuje nekonečno jsou definovány a+=+a= .

Součin je tedy maticový součin přes polookruh s (0,1,+,):=(,0,min,+) .

Namísto 𝑾𝑾 píšeme stručně 𝑾[2] a podobně 𝑾[k+1]=𝑾[k]𝑾.

Souvislost s nejkratšími cestami

Pro orientovaný graf G=(V,E) s nezápornými váhami hran wi,j nebo s konzervativní váhovou funkcí l [pozn. 1] platí:

  • Prvek wi,j[k] matice 𝑾[k] je délka nejkratší cesty s nejvýše k hranami z vrcholu vi do vrcholu vj.
  • Je-li n počet vrcholů, pak pro všechna kn1 platí 𝑾[k]=𝑫.
  • Jestliže 𝑾[k+1]=𝑾[k], pak také 𝑾[k]=𝑫.

Algoritmus

Algoritmus využívající vzdálenostní součin počítá stále vyšší mocniny 𝑾[k] váhové matice 𝑾 tak dlouho, než platí 𝑾[k+1]=𝑾[k]=𝑫.

Varianta 1 algoritmu počítá posloupnost mocnin 𝑾[2],𝑾[3],𝑾[4], až platí 𝑾[k+1]=𝑾[k]. V každé iteraci se výsledek předchozího kroku vynásobí maticí 𝑾.

Varianta 2 algoritmu počítá 𝑾[2],𝑾[4],𝑾[8], až platí 𝑾[2k]=𝑾[k]. Výsledek předchozího kroku se v každé iteraci umocní.

Časová složitost

Varianta 1 vyžaduje v nejhorším případě výpočet n2 maticových součinů, zatímco varianta 2 jich vyžaduje nejvýše log2(n1). Časová složitost algoritmu s naivní implementací součinu je pro první variantu O(n4) v Landauově notaci a O(n3logn) pro druhou variantu. Obě varianty algoritmu mají horší dobu běhu než Floydův–Warshallův algoritmus se složitostí 𝒪(n3).

Dobu běhu lze urychlit složitějšími implementacemi vzdálenostního součinu matic.

Odkazy

Poznámky

  1. Váhová funkce se nazývá konzervativní, jestliže pro každý orientovaný cyklus C grafu G platí eCl(e)0 .

Reference

Šablona:Překlad

Literatura

Související články

Šablona:Portály