×

On fuzzy unfolding: A multi-adjoint approach. (English) Zbl 1099.68017

Summary: In the context of (fuzzy) logic programs, ‘unfolding’ means to transform a program rule by replacing an atom call of the body (of that rule) by its definition. Unfolding is a semantics-preserving program transformation technique that is able to improve programs, generating more efficient code, since it anticipates computation steps. Unfolding is the basis for developing sophisticated and powerful programming tools, such as fold/unfold transformation systems or partial evaluators. In this paper we address the problem of extending the classical definition of the unfolding rule (for pure logic programs) to the setting of multi-adjoint logic programming, where a fuzzy computed answer is a pair truth degree;substitution computed by a fuzzy generalization of the modus ponens inference rule. Our main contributions can be summarized as follows: We proved the independence of the computation rule for multi-adjoint admissible computations. Moreover, we defined a fuzzy unfolding rule and we demonstrated its strong correctness properties, that is, original and unfolded programs compute the same fuzzy computed answers for a given goal. We also proved that unfolding transformations increase the efficiency of the residual programs, by reducing the length of fuzzy admissible derivations when solving goals.

MSC:

68N17 Logic programming
03B52 Fuzzy logic; logic of vagueness

Software:

Likelog
PDF BibTeX XML Cite
Full Text: DOI

References:

[1] Alpuente, M.; Falaschi, M.; Moreno, G.; Vidal, G., Rules + strategies for transforming lazy functional logic programs, Theor. comput. sci., 311, 479-525, (2004) · Zbl 1070.68018
[2] F. Arcelli, F. Formato, Likelog: a logic programming language for flexible data retrieval, in: Proc. 1999 ACM Symp. on Applied Computing (SAC’99), San Antonio, Texas, USA, ACM, New York, 1999, pp. 260-267.
[3] Burstall, R.; Darlington, J., A transformation system for developing recursive programs, J. assoc. comput. Mach., 24, 1, 44-67, (1977) · Zbl 0343.68014
[4] Guadarrama, S.; Muñoz, S.; Vaucheret, C., Fuzzy prolog: a new approach using soft constraints propagation, Fuzzy sets and systems, 144, 1, 127-150, (2004) · Zbl 1065.68023
[5] P. Julian, G. Moreno, J. Penabad, Unfolding fuzzy logic programs, in: Proc. 4th Internat. Conf. on Intelligent Systems Design and Applications, ISDA’04, Budapest, Hungary (Sponsored by IEEE), 2004, pp. 595-600. · Zbl 1272.68075
[6] P. Julian, C. Villamizar, Analyzing definitional trees: looking for determinism, in: Y. Kameyama, M.P.J. Stuckey (Eds.), Proc. 7th Fuji Internat. Symp. on Functional and Logic Programming, FLOPS’04, Nara, Japan, Lecture Notes in Computer Science, vol. 2998, Springer, Berlin, 2004, pp. 55-69. · Zbl 1122.68374
[7] Lassez, J.L.; Maher, M.J.; Marriott, K., Unification revisited, (), 587-625 · Zbl 0645.68046
[8] Lloyd, J., Foundations of logic programming, (1987), Springer Berlin · Zbl 0668.68004
[9] J. Medina, M. Ojeda-Aciego, P. Vojtáš, Multi-adjoint logic programming with continuous semantics, in: Proc. Logic Programming and Non-Monotonic Reasoning, LPNMR’01, Lecture Notes in Artificial Intelligence, vol. 2173, Springer, Berlin, 2001, pp. 351-364. · Zbl 1007.68023
[10] J. Medina, M. Ojeda-Aciego, P. Vojtáš, A procedural semantics for multi-adjoint logic programming, in: Proc. of Progress in Artificial Intelligence, EPIA’01, Lecture Notes in Artificial Intelligence, vol. 2258, Springer, Berlin, 2001, pp. 290-297. · Zbl 1053.68540
[11] Medina, J.; Ojeda-Aciego, M.; Vojtáš, P., Similarity-based unification: a multi-adjoint approach, Fuzzy sets and systems, 146, 1, 43-62, (2004) · Zbl 1073.68026
[12] Nguyen, H.; Walker, E., A first course in fuzzy logic, (2000), Chapman & Hall/CRC Boca Ratón, FL · Zbl 0927.03001
[13] C. Palamidessi, Algebraic properties of idempotent substitutions, in: M. Paterson (Ed.), Proc. 17th Internat. Colloq. on Automata, Languages and Programming, Lecture Notes in Computer Science, vol. 443, Springer, Berlin, 1990, pp. 386-399. · Zbl 0765.68180
[14] A. Pettorossi, M. Proietti, A comparative revisitation of some program transformation techniques, in: O. Danvy, R. Glück, P. Thiemann (Eds.), Partial Evaluation, Internat. Seminar, Dagstuhl Castle, Germany, Lecture Notes in Computer Science, vol. 1110, Springer, Berlin, 1996, pp. 355-385.
[15] Pettorossi, A.; Proietti, M., Rules and strategies for transforming functional and logic programs, ACM comput. surveys, 28, 2, 360-414, (1996)
[16] H. Tamaki, T. Sato, Unfold/fold transformations of logic programs, in: S. Tärnlund (Ed.), Proc. 2nd Internat. Conf. on Logic Programming, 1984, pp. 127-139.
[17] P. Vojtáš, L. Paulík, Soundness and completeness of non-classical extended SLD-resolution, in: R. Dyckhoff, et al. (Eds.), Proc. Extensions of Logic Programming, ELP’96, Leipzig, Lecture Notes in Computer Science, vol. 1050, Springer, Berlin, 1996, pp. 289-301.
[18] Vojtáš, P., Fuzzy logic programming, Fuzzy sets and systems, 124, 1, 361-370, (2001) · Zbl 1015.68036
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.