External-Memory Breadth-First Search with Sublinear I/OOpen Website

Published: 2002, Last Modified: 15 Jul 2023ESA 2002Readers: Everyone
Abstract: Breadth-first search (BFS) is a basic graph exploration technique. We give the first external memory algorithm for sparse undirected graphs with sublinear I/O. The best previous algorithm requires % MathType!MTEF!2!1!+- % feaafiart1ev1aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr % 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9 % vqaqpepm0xbba9pwe9Q8fs0-yqaqpepae9pg0FirpepeKkFr0xfr-x % fr-xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaacciGae8hMde % 1aaeWaaeaatCvAUfKttLearyqr1ngBPrgaiuGacqGFUbGBiuaacqqF % RaWkdaWcbaWcbaGae4NBa4Mae03kaSIae4xBa0gabaGae4hraqKaey % yXICTae4NqaieaaOGaeyyXICTaciiBaiaac+gacaGGNbWaaSbaaSqa % aiaad2eacaGGVaGaamOqaaqabaGcdaWcbaWcbaGae4NBa4Mae03kaS % Iae4xBa0gabaGae4NqaieaaaGccaGLOaGaayzkaaaaaa!549D! $$ \Theta \left( {n + \tfrac{{n + m}} {{D \cdot B}} \cdot \log _{M/B} \tfrac{{n + m}} {B}} \right) $$ I/Os on a graph with n nodes and m edges and a machine with main-memory of size M, D parallel disks, and block size B. We present a new approach which requires only % MathType!MTEF!2!1!+- % feaafiart1ev1aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr % 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9 % vqaqpepm0xbba9pwe9Q8fs0-yqaqpepae9pg0FirpepeKkFr0xfr-x % fr-xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaWefv3ySLgznf % gDOfdaryqr1ngBPrginfgDObYtUvgaiuaacqWFoe-tcaGGOaWaaOaa % aeaadaWcbaWcbaWexLMBb50ujbqehuuDJXwAKbacgiGae4NBa4Maey % yXICncgaGae0hkaGIae4NBa4Mae03kaSIae4xBa0Mae0xkaKcabaGa % e4hraqKaeyyXICTae4NqaieaaOGaey4kaScaleqaaOWaaSqaaSqaai % ab+5gaUjab9TcaRiab+1gaTbqaaiab+reaejabgwSixlab+jeacbaa % kiabgwSixlGacYgacaGGVbGaai4zamaaBaaaleaacaWGnbGaai4lai % aadkeaaeqaaOWaaSqaaSqaaiab+5gaUjab9TcaRiab+1gaTbqaaiab % +jeacbaakiaacMcaaaa!6A8B! $$ \mathcal{O}(\sqrt {\tfrac{{n \cdot (n + m)}} {{D \cdot B}} + } \tfrac{{n + m}} {{D \cdot B}} \cdot \log _{M/B} \tfrac{{n + m}} {B}) $$ I/Os. Hence, for % MathType!MTEF!2!1!+- % feaafiart1ev1aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr % 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9 % vqaqpepm0xbba9pwe9Q8fs0-yqaqpepae9pg0FirpepeKkFr0xfr-x % fr-xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaacciGae8xQdC % 1aaOaaaeaacaWGebGaeyyXICTaamOqaaWcbeaaaaa!3B76! $$ \Omega \sqrt {D \cdot B} $$ and all realistic values of % MathType!MTEF!2!1!+- % feaafiart1ev1aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr % 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9 % vqaqpepm0xbba9pwe9Q8fs0-yqaqpepae9pg0FirpepeKkFr0xfr-x % fr-xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaWexLMBb50ujb % qeguuDJXwAKbacfiGae8xBa0Mae8xpa0Zefv3ySLgznfgDOfdarCqr % 1ngBPrginfgDObYtUvgaiyaacqGFoe-tcaGGOaGae8NBa4Maaiykaa % aa!4B4B! $$ m = \mathcal{O}(n) $$ , it improves upon the I/O-performance of the best previous algorithm by a factor % MathType!MTEF!2!1!+- % feaafiart1ev1aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr % 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9 % vqaqpepm0xbba9pwe9Q8fs0-yqaqpepae9pg0FirpepeKkFr0xfr-x % fr-xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaciiBaiaac+ % gacaGGNbWaaSbaaSqaaiaad2eacaGGVaGaamOqaaqabaGcdaWcbaWc % baWexLMBb50ujbqeguuDJXwAKbacfiGae8NBa4gcfaGae43kaSIae8 % xBa0gabaGae8NqaieaaOGaaiykaaaa!45AA! $$ \log _{M/B} \tfrac{{n + m}} {B}) $$ . Our approach is fairly simple and we conjecture it to be practical. We also give improved algorithms for undirected single-source shortest-paths with small integer edge weights and for semi-external BFS on directed Eulerian graphs.
0 Replies

Loading