Advertisement

Probabilistic Graph Programs for Randomised and Evolutionary Algorithms

  • Timothy AtkinsonEmail author
  • Detlef Plump
  • Susan Stepney
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10887)

Abstract

We extend the graph programming language GP 2 with probabilistic constructs: (1) choosing rules according to user-defined probabilities and (2) choosing rule matches uniformly at random. We demonstrate these features with graph programs for randomised and evolutionary algorithms. First, we implement Karger’s minimum cut algorithm, which contracts randomly selected edges; the program finds a minimum cut with high probability. Second, we generate random graphs according to the G(np) model. Third, we apply probabilistic graph programming to evolutionary algorithms working on graphs; we benchmark odd-parity digital circuit problems and show that our approach significantly outperforms the established approach of Cartesian Genetic Programming.

References

  1. 1.
    Atkinson, T., Plump, D., Stepney, S.: Probabilistic graph programming. In: Pre-Proceedings of Graph Computation Models (GCM 2017) (2017)Google Scholar
  2. 2.
    Atkinson, T., Plump, D., Stepney, S.: Evolving graphs by graph programming. In: Castelli, M., Sekanina, L., Zhang, M., Cagnoni, S., García-Sánchez, P. (eds.) EuroGP 2018. LNCS, vol. 10781, pp. 35–51. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-77553-1_3CrossRefGoogle Scholar
  3. 3.
    Bak, C.: GP 2: efficient implementation of a graph programming language. Ph.D. thesis, Department of Computer Science, University of York (2015). http://etheses.whiterose.ac.uk/12586/
  4. 4.
    Bak, C., Plump, D.: Compiling graph programs to C. In: Echahed, R., Minas, M. (eds.) ICGT 2016. LNCS, vol. 9761, pp. 102–117. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-40530-8_7CrossRefGoogle Scholar
  5. 5.
    Bergmann, G., Horváth, Á., Ráth, I., Varró, D.: A benchmark evaluation of incremental pattern matching in graph transformation. In: Ehrig, H., Heckel, R., Rozenberg, G., Taentzer, G. (eds.) ICGT 2008. LNCS, vol. 5214, pp. 396–410. Springer, Heidelberg (2008).  https://doi.org/10.1007/978-3-540-87405-8_27CrossRefzbMATHGoogle Scholar
  6. 6.
    Eiben, A.E., Smith, J.E.: Introduction to Evolutionary Computing. Natural Computing Series, Second edn. Springer, Heidelberg (2015).  https://doi.org/10.1007/978-3-662-05094-1CrossRefGoogle Scholar
  7. 7.
    Erdős, P., Rényi, A.: On random graphs. Publ. Math. (Debrecen) 6, 290–297 (1959)MathSciNetzbMATHGoogle Scholar
  8. 8.
    Fernández, M., Kirchner, H., Pinaud, B.: Strategic port graph rewriting: an interactive modelling and analysis framework. In: Proceedings of 3rd Workshop on Graph Inspection and Traversal Engineering (GRAPHITE 2014). Electronic Proceedings in Theoretical Computer Science, vol. 159, pp. 15–29 (2014).  https://doi.org/10.4204/EPTCS.159.3MathSciNetCrossRefGoogle Scholar
  9. 9.
    Gilbert, E.N.: Random graphs. Ann. Math. Stat. 30(4), 1141–1144 (1959)CrossRefGoogle Scholar
  10. 10.
    Heckel, R., Lajios, G., Menge, S.: Stochastic graph transformation systems. Fundamenta Informaticae 74(1), 63–84 (2006)MathSciNetzbMATHGoogle Scholar
  11. 11.
    Hristakiev, I., Plump, D.: Checking graph programs for confluence. In: Seidl, M., Zschaler, S. (eds.) STAF 2017. LNCS, vol. 10748, pp. 92–108. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-74730-9_8CrossRefGoogle Scholar
  12. 12.
    Karger, D.R.: Global min-cuts in RNC, and other ramifications of a simple min-cut algorithm. In: Proceedings of 4th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 1993), pp. 21–30. Society for Industrial and Applied Mathematics (1993)Google Scholar
  13. 13.
    Karger, D.R.: Random sampling in matroids, with applications to graph connectivity and minimum spanning trees. In: Proceedings of 34th Annual Symposium on Foundations of Computer Science (FOCS 1993), pp. 84–93 (1993).  https://doi.org/10.1109/SFCS.1993.366879
  14. 14.
    Krause, C., Giese, H.: Probabilistic graph transformation systems. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2012. LNCS, vol. 7562, pp. 311–325. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-33654-6_21CrossRefzbMATHGoogle Scholar
  15. 15.
    Galván-López, E., Rodríguez-Vázquez, K.: Multiple interactive outputs in a single tree: an empirical investigation. In: Ebner, M., O’Neill, M., Ekárt, A., Vanneschi, L., Esparcia-Alcázar, A.I. (eds.) EuroGP 2007. LNCS, vol. 4445, pp. 341–350. Springer, Heidelberg (2007).  https://doi.org/10.1007/978-3-540-71605-1_32
  16. 16.
    Mann, H.B., Whitney, D.R.: On a test of whether one of two random variables is stochastically larger than the other. Ann. Math. Stat. 18(1), 50–60 (1947)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Miller, J.F. (ed.): Cartesian Genetic Programming. Springer, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-17310-3_2
  18. 18.
    Motwani, R., Raghavan, P.: Randomized Algorithms. Cambridge University Press, Cambridge (1995)Google Scholar
  19. 19.
    Plump, D.: Reasoning about graph programs. In: Proceedings of Computing with Terms and Graphs (TERMGRAPH 2016). Electronic Proceedings in Theoretical Computer Science, vol. 225, pp. 35–44 (2016).  https://doi.org/10.4204/EPTCS.225.6MathSciNetCrossRefGoogle Scholar
  20. 20.
    Plump, D.: From imperative to rule-based graph programs. J. Logical Algebraic Methods Program. 88, 154–173 (2017).  https://doi.org/10.1016/j.jlamp.2016.12.001MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    Poli, R.: Parallel distributed genetic programming. In: Corne, D., Dorigo, M., Glover, F. (eds.) New Ideas in Optimization, pp. 403–431. McGraw-Hill, New York (1999)Google Scholar
  22. 22.
    Poskitt, C.M., Plump, D.: Verifying monadic second-order properties of graph programs. In: Giese, H., König, B. (eds.) ICGT 2014. LNCS, vol. 8571, pp. 33–48. Springer, Cham (2014).  https://doi.org/10.1007/978-3-319-09108-2_3CrossRefzbMATHGoogle Scholar
  23. 23.
    Stanley, K.O., Miikkulainen, R.: Efficient reinforcement learning through evolving neural network topologies. In: Proceedings of Annual Conference on Genetic and Evolutionary Computation (GECCO 2002), pp. 569–577. Morgan Kaufmann, Burlington (2002)Google Scholar
  24. 24.
    Turner, A.J., Miller, J.F.: Cartesian genetic programming encoded artificial neural networks: a comparison using three benchmarks. In: Proceedings of GECCO 2013, pp. 1005–1012. ACM (2013).  https://doi.org/10.1145/2463372.2463484
  25. 25.
    Turner, A.J., Miller, J.F.: Introducing a cross platform open source Cartesian genetic programming library. Genet. Program. Evol. Mach. 16(1), 83–91 (2015).  https://doi.org/10.1007/s10710-014-9233-1CrossRefGoogle Scholar
  26. 26.
    Vargha, A., Delaney, H.D.: A critique and improvement of the CL common language effect size statistics of McGraw and Wong. J. Educ. Behav. Stat. 25(2), 101–132 (2000)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of YorkYorkUK

Personalised recommendations