Skip to main content

Applications of Muli: Solving Practical Problems with Constraint-Logic Object-Oriented Programming

  • Chapter
  • First Online:
Analysis, Verification and Transformation for Declarative Programming and Intelligent Systems

Abstract

The Münster Logic-Imperative Language (Muli) is a constraint-logic object-oriented programming language, suited for the development of applications that interleave constraint-logic search with deterministic, imperative execution. For instance, Muli can generate graph structures of neural networks using non-deterministic search, interleaved with immediate evaluation of each generated network regarding its fitness. Furthermore, it can be used for finding solutions to planning problems. In this paper, we explain and demonstrate how these application problems are solved using Muli.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 109.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 139.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://github.com/wwu-pi/muli.

References

  1. Antoy, S., Jost, A.: A new functional-logic compiler for curry: sprite. In: LOPSTR 2016 (2016). https://doi.org/10.1007/978-3-319-63139-4_6

  2. Barto, A.G., Sutton, R.S., Anderson, C.W.: Neuronlike adaptive elements that can solve difficult learning control problems. IEEE Trans. Syst. Man Cybern. 13(5), 834–846 (1983). https://doi.org/10.1109/TSMC.1983.6313077

    Article  Google Scholar 

  3. Kuchen, H. (ed.): LNCS, vol. 6816. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-22531-4

    Book  MATH  Google Scholar 

  4. Dageförde, J.C., Kuchen, H.: An operational semantics for constraint-logic imperative programming. In: Seipel, D., Hanus, M., Abreu, S. (eds.) WFLP/WLP/INAP -2017. LNCS (LNAI), vol. 10997, pp. 64–80. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-00801-7_5

    Chapter  Google Scholar 

  5. Dageförde, J.C., Kuchen, H.: A compiler and virtual machine for constraint-logic object-oriented programming with Muli. J. Comput. Lang. 53, 63–78 (2019). https://doi.org/10.1016/j.cola.2019.05.001

    Article  Google Scholar 

  6. Dageförde, J.C., Kuchen, H.: Retrieval of individual solutions from encapsulated search with a potentially infinite search space. In: Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing, pp. 1552–1561. Limassol, Cyprus (2019). https://doi.org/10.1145/3297280.3298912

  7. Dageförde, J.C., Teegen, F.: Structured traversal of search trees in constraint-logic object-oriented programming. In: Hofstedt, P., Abreu, S., John, U., Kuchen, H., Seipel, D. (eds.) INAP/WLP/WFLP -2019. LNCS (LNAI), vol. 12057, pp. 199–214. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-46714-2_13

    Chapter  Google Scholar 

  8. Doyle, J., Meudec, C.: IBIS: an interactive bytecode inspection system, using symbolic execution and constraint logic programming. In: 2nd PPPJ, pp. 55–58 (2003). https://doi.org/10.1145/957289.957307

  9. Hanus, M., Kuchen, H., Moreno-Navarro, J.J.: Curry: a truly functional logic language. In: Workshop on Visions for the Future of Logic Programming (ILPS 1995), pp. 95–107 (1995)

    Google Scholar 

  10. Hara, K., Saito, D., Shouno, H.: Analysis of function of rectified linear unit used in deep learning. In: 2015 International Joint Conference on Neural Networks, pp. 1–8 (2015). https://doi.org/10.1109/IJCNN.2015.7280578

  11. Kingma, D.P., Ba, J.L.: Adam: a method for stochastic optimization. In: 3rd International Conference on Learning Representations, ICLR 2015 - Conference Track Proceedings, pp. 1–15 (2015). https://arxiv.org/abs/1412.6980

  12. Kuchcinski, K.: Constraints-driven scheduling and resource assignment. ACM Trans. Des. Autom. Electron. Syst. 8(3), 355–383 (2003). https://doi.org/10.1145/785411.785416

    Article  Google Scholar 

  13. Lux, W., Kuchen, H.: An efficient abstract machine for curry. In: Beiersdörfer, K., Engels, G., Schäfer, W. (eds.) Informatik 1999. Informatik aktuell, pp. 390–399. Springer, Heidelberg (1999). https://doi.org/10.1007/978-3-662-01069-3_58

  14. Majchrzak, T.A., Kuchen, H.: Logic Java: combining object-oriented and logic programming. In: WFLP, pp. 122–137 (2011). https://doi.org/10.1007/978-3-642-22531-4_8

  15. McCabe, F.G.: Logic and Objects. Prentice-Hall International Series in Computer Science, Prentice Hall (1992)

    Google Scholar 

  16. Moss, C.: Prolog++ - the power of object-oriented and logic programming. International Series in Logic Programming, Addison-Wesley (1994)

    Google Scholar 

  17. OpenAI: CartPole-v1 (2020). https://gym.openai.com/envs/CartPole-v1/

  18. Palnitkar, R.M., Cannady, J.: A review of adaptive neural networks. In: IEEE SoutheastCon 2004. Proceedings, pp. 38–47 (2004). https://doi.org/10.1109/SECON.2004.1287896

  19. Paszke, A., et al.: PyTorch: an imperative style, high-performance deep learning library. In: Wallach, H., Larochelle, H., Beygelzimer, A., Alché-Buc, F., Fox, E., Garnett, R. (eds.) Advances in Neural Information Processing Systems, vol. 32, pp. 8024–8035. Curran Associates, Inc. (2019)

    Google Scholar 

  20. Prud’homme, C., Fages, J.G., Lorca, X.: Choco documentation. TASC - LS2N CNRS UMR 6241, COSLING S.A.S. (2017). https://www.choco-solver.org

  21. Renshaw, D.: Seer: symbolic execution engine for rust (2018). https://github.com/dwrensha/seer

  22. Scott, R.: A Guide to Artificial Intelligence with Visual Prolog. Outskirts Press, Parker, Colorado (2010)

    Google Scholar 

  23. Shapiro, E., Takeuchi, A.: Object oriented programming in concurrent prolog. New Gener. Comput. 1(1), 25–48 (1983). https://doi.org/10.1007/BF03037020

    Article  Google Scholar 

  24. Srivastava, N., Hinton, G.E., Krizhevsky, A., Sutskever, I., Salakhutdinov, R.: Dropout: a simple way to prevent neural networks from overfitting. J. Mach. Learn. Res. 15, 1929–1958 (2014)

    MathSciNet  MATH  Google Scholar 

  25. Beckert, B., Hähnle, R. (eds.): LNCS, vol. 4966. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-79124-9

    Book  MATH  Google Scholar 

  26. Van Roy, P., Brand, P., Duchier, D., Haridi, S., Schulte, C., Henz, M.: Logic programming in the context of multiparadigm programming: the Oz experience. Theory Pract. Log. Program. 3(6), 717–763 (2003). https://doi.org/10.1017/S1471068403001741

    Article  MATH  Google Scholar 

  27. Warren, D.H.D.: An abstract prolog instruction set. Tech. rep., SRI International, Menlo Park (1983)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Herbert Kuchen .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Dageförde, J.C., Kuchen, H. (2023). Applications of Muli: Solving Practical Problems with Constraint-Logic Object-Oriented Programming. In: Lopez-Garcia, P., Gallagher, J.P., Giacobazzi, R. (eds) Analysis, Verification and Transformation for Declarative Programming and Intelligent Systems. Lecture Notes in Computer Science, vol 13160. Springer, Cham. https://doi.org/10.1007/978-3-031-31476-6_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-31476-6_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-31475-9

  • Online ISBN: 978-3-031-31476-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics