Skip to main content
Log in

A General Framework for Enumerating Equivalence Classes of Solutions

  • Published:
Algorithmica Aims and scope Submit manuscript

Abstract

When a problem has more than one solution, it is often important, depending on the underlying context, to enumerate (i.e., to list) them all. Even when the enumeration can be done in polynomial delay, that is, spending no more than polynomial time to go from one solution to the next, this can be costly as the number of solutions themselves may be huge, including sometimes exponential. Furthermore, depending on the application, many of these solutions can be considered equivalent. The problem of an efficient enumeration of the equivalence classes or of one representative per class (without generating all the solutions), although identified as a need in many areas, has been addressed only for very few specific cases. In this paper, we provide a general framework that solves this problem in polynomial delay for a wide variety of optimization problems solvable by dynamic programming algorithms, and for certain types of equivalence relations between solutions.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

References

  1. Braga, M.D.V., Sagot, M., Scornavacca, C., Tannier, E.: Exploring the solution space of sorting by reversals, with experiments and an application to evolution. IEEE/ACM Trans. Comput. Biol. Bioinf. 5(3), 348–56 (2008). https://doi.org/10.1109/TCBB.2008.16

    Article  Google Scholar 

  2. Andersson, S.A., Madigan, D., Perlman, M.D.: A characterization of Markov equivalence classes for acyclic digraphs. Ann. Stat. 25(2), 505–541 (1997). https://doi.org/10.7916/D8280JSB

    Article  MathSciNet  MATH  Google Scholar 

  3. Blumer, A., Blumer, J.A., Haussler, D.H., McConnell, R.M., Ehrenfeucht, A.: Complete inverted files for efficient text retrieval and analysis. J. ACM 34(3), 578–595 (1987). https://doi.org/10.1145/28869.28873

    Article  MathSciNet  MATH  Google Scholar 

  4. Narisawa, K., Inenaga, S., Bannai, H., Takeda, M.: Efficient computation of substring equivalence classes with suffix arrays. In: Ma, B., Zhang, K. (eds.) Combinatorial Pattern Matching, pp. 340–351. Springer, Berlin (2007). https://doi.org/10.1007/s00453-016-0178-z

    Chapter  Google Scholar 

  5. Fernau, H., Golovach, P.A., Sagot, M.-F.: Algorithmic enumeration: output-sensitive, input-sensitive, parameterized, approximative (Dagstuhl Seminar 18421). Dagstuhl Rep. 8(10), 63–86 (2019). https://doi.org/10.4230/DagRep.8.10.63

    Article  Google Scholar 

  6. Angel, A., Koudas, N.: Efficient diversity-aware search. In: Proceedings of the 2011 ACM SIGMOD International Conference on Management of Data. SIGMOD ’11, pp. 781–792. Association for Computing Machinery, New York, NY, USA (2011). https://doi.org/10.1145/1989323.1989405

  7. Molinaro, C., Sliva, A., Subrahmanian, V.S.: Super-solutions: Succinctly representing solutions in abductive annotated probabilistic temporal logic. ACM Trans. Comput. Logic (2014). https://doi.org/10.1145/2627354

    Article  MathSciNet  MATH  Google Scholar 

  8. Morrison, K.: An enumeration of the equivalence classes of self-dual matrix codes. Adv. Math. Commun. 9, 415 (2015). https://doi.org/10.3934/amc.2015.9.415

    Article  MathSciNet  MATH  Google Scholar 

  9. Martelli, A., Montanari, U.: Optimizing decision trees through heuristically guided search. Commun. ACM 21(12), 1025–1039 (1978). https://doi.org/10.1145/359657.359664

    Article  MathSciNet  MATH  Google Scholar 

  10. Nilsson, N.J.: Principles of Artificial Intelligence. Springer, Palo Alto (1982)

    Book  MATH  Google Scholar 

  11. Dechter, R., Mateescu, R.: And/or search spaces for graphical models. Artif. Intell. 171(2), 73–106 (2007). https://doi.org/10.1016/j.artint.2006.11.003

    Article  MathSciNet  MATH  Google Scholar 

  12. Gnesi, S., Montanari, U., Martelli, A.: Dynamic programming as graph searching: an algebraic approach. J. ACM 28(4), 737–751 (1981). https://doi.org/10.1145/322276.322285

    Article  MathSciNet  MATH  Google Scholar 

  13. Karp, R.M., Held, M.: Finite-state processes and dynamic programming. SIAM J. Appl. Math. 15(3), 693–718 (1967). https://doi.org/10.1137/0115060

    Article  MathSciNet  MATH  Google Scholar 

  14. Bellman, R.: Dynamic Programming. Dover Books on Computer Science. Dover Publications, Mineola (2013)

    Google Scholar 

  15. Bonzon, P.E.: Necessary and sufficient conditions for dynamic programming of combinatorial type. J. ACM 17, 675–682 (1970). https://doi.org/10.1145/321607.321616

    Article  MathSciNet  MATH  Google Scholar 

  16. Buresh-Oppenheim, J., Davis, S., Impagliazzo, R.: A stronger model of dynamic programming algorithms. Algorithmica 60, 938–968 (2011). https://doi.org/10.1007/s00453-009-9385-1

    Article  MathSciNet  MATH  Google Scholar 

  17. Helman, P.: A common schema for dynamic programming and branch and bound algorithms. J. ACM 36(1), 97–128 (1989). https://doi.org/10.1145/58562.59304

    Article  MathSciNet  MATH  Google Scholar 

  18. Bertele, U., Brioschi, F.: Nonserial Dynamic Programming. Academic Press Inc, USA (1972)

    MATH  Google Scholar 

  19. Bellman, R.: Dynamic programming treatment of the travelling salesman problem. J. ACM 9(1), 61–63 (1962). https://doi.org/10.1145/321105.321111

    Article  MathSciNet  MATH  Google Scholar 

  20. Held, M., Karp, R.M.: A dynamic programming approach to sequencing problems. J. Soc. Ind. Appl. Math. 10(1), 196–210 (1962). https://doi.org/10.1137/0110015

    Article  MathSciNet  MATH  Google Scholar 

  21. Kellerer, H., Pferschy, U., Pisinger, D.: Basic Algorithmic Concepts, pp. 15–42. Springer, Berlin (2004). https://doi.org/10.1007/978-3-540-24777-7_2

    Book  Google Scholar 

  22. Wagner, R.A., Fischer, M.J.: The string-to-string correction problem. J. ACM 21(1), 168–173 (1974). https://doi.org/10.1145/321796.321811

    Article  MathSciNet  MATH  Google Scholar 

  23. Ibaraki, T.: Classes of discrete optimization problems and their decision problems. J. Comput. Syst. Sci. 8(1), 84–116 (1974). https://doi.org/10.1016/S0022-0000(74)80024-3

    Article  MathSciNet  MATH  Google Scholar 

  24. Rokach, L., Maimon, O.Z.: Data Mining with Decision Trees: Theory and Applications. Series in Machine Perception and Artificial Intelligence. World Scientific, Singapore (2008). https://doi.org/10.1142/9097

    Book  MATH  Google Scholar 

  25. Felzenszwalb, P.F., Huttenlocher, D.P.: Pictorial structures for object recognition. Int. J. Comput. Vis. 61(1), 55–79 (2005). https://doi.org/10.1023/B:VISI.0000042934.15159.49

    Article  Google Scholar 

  26. Veksler, O.: Stereo correspondence by dynamic programming on a tree. In: 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR’05), vol. 2, pp. 384–390 (2005). https://doi.org/10.1109/CVPR.2005.334

  27. Bansal, M.S., Alm, E.J., Kellis, M.: Efficient algorithms for the reconciliation problem with gene duplication, horizontal transfer and loss. Bioinformatics 28(12), 283–291 (2012). https://doi.org/10.1093/bioinformatics/bts225

    Article  Google Scholar 

  28. Donati, B., Baudet, C., Sinaimeri, B., Crescenzi, P., Sagot, M.: Eucalypt: efficient tree reconciliation enumerator. Algorithms Mol. Biol. 10(1), 3 (2015). https://doi.org/10.1186/s13015-014-0031-3

    Article  Google Scholar 

  29. Sankoff, D.: Minimal mutation trees of sequences. SIAM J. Appl. Math. 28(1), 35–42 (1975). https://doi.org/10.1137/0128004

    Article  MathSciNet  MATH  Google Scholar 

  30. Hale, W.K.: Frequency assignment: theory and applications. Proc. IEEE 68(12), 1497–1514 (1980). https://doi.org/10.1109/PROC.1980.11899

    Article  Google Scholar 

  31. Roberts, F.S.: T-colorings of graphs: recent results and open problems. Discret. Math. 93(2), 229–245 (1991). https://doi.org/10.1016/0012-365X(91)90258-4

    Article  MathSciNet  MATH  Google Scholar 

  32. Tesman, B.A.: List t-colorings of graphs. Discret. Appl. Math. 45(3), 277–289 (1993). https://doi.org/10.1016/0166-218X(93)90015-G

    Article  MathSciNet  MATH  Google Scholar 

  33. Page, R.D.M.: Tangled Trees: Phylogeny, Cospeciation, and Coevolution, p. 350. The University of Chicago Press, Chicago (2003)

    Google Scholar 

  34. Wang, Y., Mary, A., Sagot, M., Sinaimeri, B.: Capybara: equivalence class enumeration of cophylogeny event-based reconciliations. Bioinformatics 36(14), 4197–4199 (2020). https://doi.org/10.1093/bioinformatics/btaa498

    Article  Google Scholar 

  35. Bodlaender, H.L.: Dynamic programming on graphs with bounded treewidth. In: Lepistö, T., Salomaa, A. (eds.) Automata, Languages and Programming, pp. 105–118. Springer, Berlin (1988). https://doi.org/10.1007/3-540-19488-6_110

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Blerina Sinaimeri.

Ethics declarations

Conflict of interests

The authors declare that they have no conflict of interest.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wang, Y., Mary, A., Sagot, MF. et al. A General Framework for Enumerating Equivalence Classes of Solutions. Algorithmica 85, 3003–3023 (2023). https://doi.org/10.1007/s00453-023-01131-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00453-023-01131-1

Keywords

Navigation