Annals of Operations Research

, Volume 264, Issue 1–2, pp 267–286 | Cite as

And/or-convexity: a graph convexity based on processes and deadlock models

  • Carlos V. G. C. Lima
  • Fábio Protti
  • Dieter Rautenbach
  • Uéverton S. Souza
  • Jayme L. Szwarcfiter
Original Paper


Deadlock prevention techniques are essential in the design of robust distributed systems. However, despite the large number of different algorithmic approaches to detect and solve deadlock situations, yet there remains quite a wide field to be explored in the study of deadlock-related combinatorial properties. In this work we consider a simplified AND-OR model, where the processes and their communication are given as a graph G. Each vertex of G is labelled AND or OR, in such a way that an AND-vertex (resp., OR-vertex) depends on the computation of all (resp., at least one) of its neighbors. We define a graph convexity based on this model, such that a set \(S \subseteq V(G)\) is convex if and only if every AND-vertex (resp., OR-vertex) \(v \in V(G){\setminus }S\) has at least one (resp., all) of its neighbors in \(V(G) {\setminus } S\). We relate some classical convexity parameters to blocking sets that cause deadlock. In particular, we show that those parameters in a graph represent the sizes of minimum or maximum blocking sets, and also the computation time until system stability is reached. Finally, a study on the complexity of combinatorial problems related to such graph convexity is provided.


Graph convexity Deadlock AND-OR model And/or graphs 



Partially supported by Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES), Fundação de Amparo à Pesquisa do Estado do Rio de Janeiro (FAPERJ) and Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq)—Brazilian research agencies.


  1. Alber, J., Bodlaender, H. L., Fernau, H., Kloks, T., & Niedermeier, R. (2002). Fixed parameter algorithms for DOMINATING SET and related problems on planar graphs. Algorithmica, 33(4), 461–493.CrossRefGoogle Scholar
  2. Araujo, J., Campos, V., Giroire, F., Sampaio, L., & Soares, R. (2013). On the hull number of some graph classes. Theoretical Computer Science, 475, 1–12.CrossRefGoogle Scholar
  3. Barbosa, V. C. (1996). An introduction to distributed algorithms. Cambridge: MIT Press.Google Scholar
  4. Barbosa, V. C. (2002). The combinatorics of resource sharing. In R. Corrêa, I. Dutra, M. Fiallos, & F. Gomes (Eds.), Models for parallel and distributed computation, Appl. Opt. (Vol. 67, pp. 27–52). Springer US.Google Scholar
  5. Barbosa, V. C., & Benevides, M. R. F. (1998). A graph-theoretic characterization of and-or deadlocks. Technical report, Federal University of Rio de Janeiro.Google Scholar
  6. Barbosa, V. C., Carneiro, A. D. A, Protti, F., & Souza, U. S. (2016). Deadlock models in distributed computation: Foundations, design, and computational complexity. In Proceedings of the 31st annual ACM symposium on applied computing, 2016, SAC’16, pp. 538–541.Google Scholar
  7. Barnett, J., & Verma, T. (1994). Intelligent reliability analysis. In Proceedings of the tenth conference on artificial intelligence for applications, 1994. IEEE, pp. 428–433.Google Scholar
  8. Bertossi, A. A. (1984). Dominating sets for split and bipartite graphs. Information Processing Letters, 19(1), 37–40.CrossRefGoogle Scholar
  9. Bondy, J. A., & Murty, U. S. (2008). Graph theory. Graduate Texts in Mathematics (Vol. 244). New York: Spring-Verlag Press.Google Scholar
  10. Brzezinski, J., Helary, J. M., Raynal, M., & Singhal, M. (1995). Deadlock models and a general algorithm for distributed deadlock detection. Journal of Parallel and Distributed Computing, 31(2), 112–125.CrossRefGoogle Scholar
  11. Cáceres, J., Hernando, C., Mora, M., Pelayo, I. M., Puertas, M. L., & Seara, C. (2006). On geodetic sets formed by boundary vertices. Discrete Mathematics, 306(2), 188–198.CrossRefGoogle Scholar
  12. Campos, V., Sampaio, R. M., Silva, A., & Szwarcfiter, J. L. (2015). Graphs with few P\(_4\)’s under the convexity of paths of order three. Discrete Applied Mathematics, 192, 28–39.CrossRefGoogle Scholar
  13. Cao, T., & Sanderson, A. C. (1998). And/or net representation for robotic task sequence planning. IEEE Transactions on Systems, Man, and Cybernetics, Part C, 28(2), 204–218.CrossRefGoogle Scholar
  14. Chandy, K. M., & Lamport, L. (1985). Distributed snapshots: Determining global states of distributed systems. ACM Transactions on Computer Systems, 3(1), 63–75.CrossRefGoogle Scholar
  15. Cockayne, E., Goodman, S., & Hedetniemi, S. (1975). A linear algorithm for the domination number of a tree. Information Processing Letters, 4(2), 41–44.CrossRefGoogle Scholar
  16. Coelho, E. M., Dourado, M. C., Rautenbach, D., & Szwarcfiter, J. L. (2014). The Carathéodory number of the convexity of chordal graphs. Discrete Applied Mathematics, 172, 104–108.CrossRefGoogle Scholar
  17. Coffman, E. G., Elphick, M., & Shoshani, A. (1998). System Deadlocks. ACM Computing Surveys, 3(2), 67–78.CrossRefGoogle Scholar
  18. Conradi, R., & Westfechtel, B. (1998). Version models for software configuration management. ACM Computing Surveys, 30(2), 232–282.CrossRefGoogle Scholar
  19. Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to algorithms (3rd ed.). Cambridge: The MIT Press.Google Scholar
  20. da Fonseca Ramos, I., dos Santos, V. F., & Szwarcfiter, J. L. (2014). Complexity aspects of the computation of the rank of a graph. Discrete Mathematics and Theoretical Computer Science, 16(2), 73–86.Google Scholar
  21. de Mello, L. S. H., & Sanderson, A. C. (1991). A correct and complete algorithm for the generation of mechanical assembly sequences. IEEE Transactions on Robotics and Automation, 7(2), 228–240.CrossRefGoogle Scholar
  22. dos Souza, U. S. (2014). Multivariate investigation of NP-hard problems: Boundaries between parameterized tractability and intractability. Graduate theses: Fluminense Federal University, Brazil.Google Scholar
  23. dos Souza, U. S., Protti, F., & da Silva, M. D. (2013). Revisiting the complexity of and/or graph solution. Journal of Computer and System Sciences, 79(7), 1156–1163.CrossRefGoogle Scholar
  24. Dourado, M. C., Gimbel, J. G., Kratochvíl, J., Protti, F., & Szwarcfiter, J. L. (2009). On the computation of the hull number of a graph. Discrete Mathematics, 309(18), 5668–5674.CrossRefGoogle Scholar
  25. Dourado, M. C., Protti, F., & Szwarcfiter, J. L. (2010). Complexity results related to monophonic convexity. Discrete Applied Mathematics, 158(12), 1268–1274.CrossRefGoogle Scholar
  26. Dourado, M. C., Rautenbach, D., dos Santos, V. F., & Szwarcfiter, J. L. (2012). Characterization and recognition of Radon-independent sets in split graphs. Information Processing Letters, 112(24), 948–952.CrossRefGoogle Scholar
  27. Downey, R. G., Fellows, M. R., Vardy, A., & Whittle, G. (2006). The parametrized complexity of some fundamental problems in coding theory. SIAM Journal on Computing, 29(2), 545–570.CrossRefGoogle Scholar
  28. Escoffier, B., & Paschos, V. T. (2006). Completeness in approximation classes beyond {APX}. Theoretical Computer Science, 359(1–3), 369–377.CrossRefGoogle Scholar
  29. Garey, M. R., & Johnson, D. S. (1990). Computers and intractability. A guide to the theory of NP-completeness. New York, NY: W.H. Freeman.Google Scholar
  30. Knapp, E. (1987). Deadlock detection in distributed databases. ACM Computing Surveys, 19(4), 303–328.CrossRefGoogle Scholar
  31. Kshemkalyani, A. D., & Singhal, M. (1994). Efficient detection and resolution of generalized distributed deadlocks. IEEE Transactions on Software Engineering, 20(1), 43–54.CrossRefGoogle Scholar
  32. Kumar, V., & Kanal, L. N. (1984). Parallel branch-and-bound formulations for and/or tree search. IEEE Transactions on Pattern Analysis and Machine Intelligence, 6(6), 768–778.CrossRefGoogle Scholar
  33. Laber, E. S. (2008). A randomized competitive algorithm for evaluating priced and/or trees. Theoretical Computer Science, 401(13), 120–130.CrossRefGoogle Scholar
  34. Ma, X., Dong, B., & He, M. (2008). And/or tree search algorithm in web service composition. In Pacific-Asia workshop on computational intelligence and industrial application, 2008, PACIIA’08, Vol. 2, pp. 23–27.Google Scholar
  35. Morabito, R., & Pureza, V. (2010). A heuristic approach based on dynamic programming and and/or-graph search for the constrained two-dimensional guillotine cutting problem. Annals of Operations Research, 179(1), 297–315.CrossRefGoogle Scholar
  36. Nilsson, N. J. (1971). Problem-solving methods in artificial intelligence. New York: McGraw-Hill.Google Scholar
  37. Ryang, D. S., & Park, K. H. (1995). A two-level distributed detection algorithm of and/or deadlocks. Journal of Parallel and Distributed Computing, 28(2), 149–161.CrossRefGoogle Scholar
  38. Sahni, S. (1974). Computationally related problems. SIAM Journal on Computing, 3(4), 262–279.CrossRefGoogle Scholar
  39. Simon, R., & Lee, R. C. T. (1971). On the optimal solutions to and/or series-parallel graphs. Journal of the ACM, 18(3), 354–372.CrossRefGoogle Scholar
  40. Singhal, M. (1989). Deadlock detection in distributed systems. Computer, 22(11), 37–48.CrossRefGoogle Scholar
  41. Vazirani, V. V. (2001). Approximation algorithms. New York, NY: Springer.Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2017

Authors and Affiliations

  • Carlos V. G. C. Lima
    • 1
  • Fábio Protti
    • 2
  • Dieter Rautenbach
    • 3
  • Uéverton S. Souza
    • 2
  • Jayme L. Szwarcfiter
    • 1
  1. 1.PESC, COPPEFederal University of Rio de JaneiroRio de JaneiroBrazil
  2. 2.Institute of ComputingFluminense Federal UniversityNiteróiBrazil
  3. 3.Institute of Optimization and Operations ResearchUlm UniversityUlmGermany

Personalised recommendations