From ccbb7cd7b7013775c075e9a8c20ba8c7e227e60b Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Fri, 21 Jan 2011 00:16:36 +0100 Subject: [PATCH] APSP: Zminka o efektivnejsich algoritmech na (min,+)-souciny --- 14-floyd/14-floyd.tex | 18 +++++++++++--- ga.bib | 58 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 4 deletions(-) diff --git a/14-floyd/14-floyd.tex b/14-floyd/14-floyd.tex index c2b16b4..af0a867 100644 --- a/14-floyd/14-floyd.tex +++ b/14-floyd/14-floyd.tex @@ -214,10 +214,20 @@ S~$(\lor,\land)$-sou (ka¾dý souèin pøitom mù¾eme provést jako násobení matic následované pøepsáním nenul na jednièky). -Aplikujeme-li $(\min,+)$-souèiny na~matici délek hran doplnìnou nulami na~diagonále, -získáme matici vzdálenosti. Jediný zádrhel bohu¾el je, ¾e zatím $(\min,+)$-souèiny -neumíme poèítat rychleji ne¾ v~èase $\Theta(n^3)$. -(XXX: Jde to v~$\O(n^3/\log n)$, popsat, jak.) +Podobnì mù¾eme poèítat i matici vzdáleností: zaèneme s~maticí délek hran doplnìnou o~nuly na~diagonále +a pou¾ijeme $(\min,+)$-souèiny. Tyto souèiny ale bohu¾el neumíme pøevést na klasické násobení matic. +Pøesto je známo nìkolik algoritmù efektivnìj¹ích ne¾ $\Theta(n^3)$, by» pouze o~málo: +napøíklad Zwickùv \cite{zwick:apsp} v~èase $\O(n^3\sqrt{\log\log n}/\log n)$ +(zalo¾ený na dekompozici a pøedpoèítání malých blokù) nebo Chanùv \cite{chan:apsp} v~$\O(n^3/\log n)$ +(pou¾ívající geometrické techniky). Abychom porazili Floydùv-Warshallùv algoritmus, +potøebovali bychom ov¹em vìt¹í ne¾ logaritmické zrychlení, proto¾e souèinù potøebujeme +vypoèítat logaritmicky mnoho. + +Dodejme je¹tì, ¾e pro grafy ohodnocené malými celými èísly je mo¾né vyu¾ít +celou øadu dal¹ích trikù. Zájemce o~tento druh algoritmù odkazujeme na Zwickùv +èlánek~\cite{zwick:apspint}. + +%% FIXME: Indexovat matice mno¾inami, ne èísly \h{Seidelùv algoritmus} diff --git a/ga.bib b/ga.bib index 5985c58..5a09f3a 100644 --- a/ga.bib +++ b/ga.bib @@ -627,3 +627,61 @@ url = {http://dx.doi.org/10.1109/SFCS.2005.39}, year = {2005} } + +@article{ zwick:apsp, + author = {Zwick, Uri}, + citeulike-article-id = {1027459}, + citeulike-linkout-0 = {http://dx.doi.org/10.1007/s00453-005-1199-1}, + citeulike-linkout-1 = {http://www.ingentaconnect.com/content/klu/453/2006/00000046/00000002/00001199}, + doi = {10.1007/s00453-005-1199-1}, + issn = {0178-4617}, + journal = {Algorithmica}, + month = {October}, + number = {2}, + pages = {181--192}, + posted-at = {2007-01-06 00:46:43}, + publisher = {Springer}, + title = {{A Slightly Improved Sub-Cubic Algorithm for the All Pairs Shortest Paths Problem with Real Edge Lengths}}, + url = {http://dx.doi.org/10.1007/s00453-005-1199-1}, + volume = {46}, + year = {2006} +} + +@article{ chan:apsp, + author = {Chan, Timothy}, + citeulike-article-id = {2315328}, + citeulike-linkout-0 = {http://dx.doi.org/10.1007/s00453-007-9062-1}, + doi = {10.1007/s00453-007-9062-1}, + journal = {Algorithmica}, + keywords = {algorithms, graph}, + month = {February}, + number = {2}, + pages = {236--243}, + posted-at = {2008-01-31 15:49:43}, + priority = {2}, + title = {{All-Pairs Shortest Paths with Real Weights in $O(n^3/\log n)$ Time}}, + url = {http://dx.doi.org/10.1007/s00453-007-9062-1}, + volume = {50}, + year = {2008} +} + +@article{ fredman:apsp, + title={{New bounds on the complexity of the shortest path problem}}, + author={Fredman, M.L.}, + journal={SIAM Journal on Computing}, + volume={5}, + pages={83}, + year={1976} +} + +@article{ zwick:apspint, + title={{All pairs shortest paths using bridging sets and rectangular matrix multiplication}}, + author={Zwick, U.}, + journal={Journal of the ACM (JACM)}, + volume={49}, + number={3}, + pages={289--317}, + issn={0004-5411}, + year={2002}, + publisher={ACM} +} -- 2.39.2