# Randomized OBDD-Based Graph Algorithms

• Marc Bury
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9439)

## Abstract

Implicit graph algorithms deal with the characteristic function χ E of the edge set E of a graph G = (V,E). Encoding the nodes by binary vectors, χ E can be represented by an Ordered Binary Decision Diagram (OBDD) which is a well known data structure for Boolean functions. OBDD-based graph algorithms solve graph optimization problems by mainly using functional operations and are a heuristic approach to cope with massive graphs. These algorithms heavily rely on a compact representation of the underlying Boolean functions which is why all previously known OBDD-based algorithms are deterministic since random functions are not compressible in general. Here, the first randomized OBDD-based algorithms are presented where random functions with limited independence are used to overcome the large representation size. On the theoretical part, the size of OBDDs representing k-wise independent random functions is investigated and a construction of almost k-wise independent random functions by means of a random OBDD generation is shown. On the algorithmic part, randomization often facilitates the design of simple algorithms which in the context of OBDD-based algorithms means a small number of functional operations and as few input variables of the used Boolean functions as possible. This paper presents a maximal matching algorithm with O(log3 ∣ V ∣ ) functional operations in expectation using functions with at most 3 log ∣ V ∣ variables which is both better than the best known algorithms w.r.t. functional operations and variables. The algorithm may be of independent interest. The experimental evaluation shows that this algorithm outperforms known OBDD-based algorithms for the maximal matching problem.

## Keywords

Boolean Function Variable Order Interval Graph Maximal Match Binary Decision Diagram
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

## References

1. 1.
Alon, N., Babai, L., Itai, A.: A fast and simple randomized parallel algorithm for the maximal independent set problem. J. Algorithms 7(4), 567–583 (1986)
2. 2.
Alon, N., Goldreich, O., Håstad, J., Peralta, R.: Simple construction of almost k-wise independent random variables. Random Struct. Alg. 3(3), 289–304 (1992)
3. 3.
Alon, N., Matias, Y., Szegedy, M.: The space complexity of approximating the frequency moments. J. Comp. and System Sc. 58(1), 137–147 (1999)
4. 4.
Awerbuch, B., Goldberg, A.V., Luby, M., Plotkin, S.A.: Network decomposition and locality in distributed computation. In: FOCS, pp. 364–369 (1989)Google Scholar
5. 5.
Bloem, R., Gabow, H.N., Somenzi, F.: An algorithm for strongly connected component analysis in nlogn symbolic steps. Formal Meth. in System Design 28(1), 37–56 (2006)
6. 6.
Bollig, B.: On symbolic OBDD-based algorithms for the minimum spanning tree problem. Theor. Comput. Sci. 447, 2–12 (2012)
7. 7.
Bollig, B., Capelle, M.: Priority functions for the approximation of the metric TSP. Inf. Proc. Letters 113(14-16), 584–591 (2013)
8. 8.
Bollig, B., Gillé, M., Pröger, T.: Implicit computation of maximum bipartite matchings by sublinear functional operations. In: Agrawal, M., Cooper, S.B., Li, A. (eds.) TAMC 2012. LNCS, vol. 7287, pp. 473–486. Springer, Heidelberg (2012)
9. 9.
Bollig, B., Löbbing, M., Wegener, I.: On the effect of local changes in the variable ordering of ordered decision diagrams. Inf. Proc. Letters 59(5), 233–239 (1996)
10. 10.
Bollig, B., Pröger, T.: On efficient implicit OBDD-based algorithms for maximal matchings. Inf. Comput. 239, 29–43 (2014)
11. 11.
Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Transactions on Computers 35(8), 677–691 (1986)
12. 12.
Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J.: Symbolic model checking: 1020 states and beyond. Inf. and Comp. 98(2), 142–170 (1992)
13. 13.
Chor, B., Goldreich, O.: On the power of two-point based sampling. J. Complexity 5(1), 96–106 (1989)
14. 14.
Coudert, O.: Doing two-level logic minimization 100 times faster. In: SODA, pp. 112–121 (1995)Google Scholar
15. 15.
Davis, T.A., Hu, Y.: The University of Florida Sparse Matrix Collection. ACM Trans. on Math. Soft. 38(1), 1:1–1:25 (2011)Google Scholar
16. 16.
Gentilini, R., Piazza, C., Policriti, A.: Computing strongly connected components in a linear number of symbolic steps. In: SODA, pp. 573–582 (2003)Google Scholar
17. 17.
Gentilini, R., Piazza, C., Policriti, A.: Symbolic graphs: Linear solutions to connectivity related problems. Algorithmica 50(1), 120–158 (2008)
18. 18.
Gillé, M.: OBDD-based representation of interval graphs. In: Brandstädt, A., Jansen, K., Reischuk, R. (eds.) WG 2013. LNCS, vol. 8165, pp. 286–297. Springer, Heidelberg (2013)
19. 19.
Hachtel, G.D., Somenzi, F.: A symbolic algorithms for maximum flow in 0-1 networks. F. Meth. in Sys. Design 10(2/3), 207–219 (1997)
20. 20.
Hojati, R., Touati, H., Kurshan, R.P., Brayton, R.K.: Efficient ω-regular language containment. In: Probst, D.K., von Bochmann, G. (eds.) CAV 1992. LNCS, vol. 663, pp. 396–409. Springer, Heidelberg (1993)
21. 21.
Israeli, A., Itai, A.: A fast and simple randomized parallel algorithm for maximal matching. Inf. Process. Lett. 22(2), 77–80 (1986)
22. 22.
Jukna, S.: Entropy of contact circuits and lower bounds on their complexity. Theor. Comput. Sci. 57, 113–129 (1988)
23. 23.
Kabanets, V.: Almost k-wise independence and hard Boolean functions. Theor. Comput. Sci. 297(1-3), 281–295 (2003)
24. 24.
Lai, Y., Pedram, M., Vrudhula, S.B.K.: EVBDD-based algorithms for integer linear programming, spectral transformation, and function decomposition. IEEE Trans. on CAD of Int. Circuits and Systems 13(8), 959–975 (1994)
25. 25.
Linial, N.: Locality in distributed graph algorithms. SIAM J. Comput. 21(1), 193–201 (1992)
26. 26.
Luby, M.: A simple parallel algorithm for the maximal independent set problem. SIAM Journal on Computing 15(4), 1036–1053 (1986)
27. 27.
Masek, W.: A fast algorithm for the string editing problem and decision graph complexity. Master’s thesis, MIT (1976)Google Scholar
28. 28.
Meer, K., Rautenbach, D.: On the OBDD size for graphs of bounded tree- and clique-width. Discrete Mathematics 309(4), 843–851 (2009)
29. 29.
Métivier, Y., Robson, J.M., Saheb-Djahromi, N., Zemmari, A.: An optimal bit complexity randomized distributed MIS algorithm. Distributed Computing 23(5-6), 331–340 (2011)
30. 30.
Naor, J., Naor, M.: Small-bias probability spaces: Efficient constructions and applications. SIAM J. Comput. 22(4), 838–856 (1993)
31. 31.
Negruseri, C.S., Pasoi, M.B., Stanley, B., Stein, C., Strat, C.G.: Solving maximum flow problems on real world bipartite graphs. In: ALENEX, pp. 14–28 (2009)Google Scholar
32. 32.
Nunkesser, R., Woelfel, P.: Representation of graphs by OBDDs. Discrete Applied Mathematics 157(2), 247–261 (2009)
33. 33.
Savický, P.: Improved Boolean formulas for the Ramsey graphs. Random Struct. Algorithms 6(4), 407–416 (1995)
34. 34.
Sawitzki, D.: Implicit flow maximization by iterative squaring. In: Van Emde Boas, P., Pokorný, J., Bieliková, M., Štuller, J. (eds.) SOFSEM 2004. LNCS, vol. 2932, pp. 301–313. Springer, Heidelberg (2004)
35. 35.
Sawitzki, D.: The complexity of problems on implicitly represented inputs. In: Wiedermann, J., Tel, G., Pokorný, J., Bieliková, M., Štuller, J. (eds.) SOFSEM 2006. LNCS, vol. 3831, pp. 471–482. Springer, Heidelberg (2006)
36. 36.
Sawitzki, D.: Exponential lower bounds on the space complexity of OBDD-based graph algorithms. In: Correa, J.R., Hevia, A., Kiwi, M. (eds.) LATIN 2006. LNCS, vol. 3887, pp. 781–792. Springer, Heidelberg (2006)
37. 37.
Sawitzki, D.: Implicit simulation of FNC algorithms. Electronic Colloquium on Computational Complexity (ECCC) 14(028) (2007)Google Scholar
38. 38.
Sieling, D., Wegener, I.: NC-algorithms for operations on binary decision diagrams. Parallel Processing Letters 3, 3–12 (1993)
39. 39.
Wegener, I.: The size of reduced OBDDs and optimal read-once branching programs for almost all Boolean functions. IEEE Trans. on Comp. 43(11), 1262–1269 (1994)
40. 40.
Wegener, I.: Branching programs and binary decision diagrams. In: SIAM Monographs on Discrete Mathematics and Applications (2000)Google Scholar
41. 41.
Woelfel, P.: Symbolic topological sorting with OBDDs. J. Disc. Alg. 4, 51–71 (2006)