@unpublished{upm37873, author = {V{\'i}ctor Pablos Ceruelo}, month = {June}, year = {2015}, title = {Extending the expressiveness of fuzzy logic languages}, school = {ETSI\_Informatica}, abstract = {En el trabajo que aqu{\'i} presentamos se incluye la base te{\'o}rica (sintaxis y sem{\'a}ntica) y una implementaci{\'o}n de un framework para codificar el razonamiento de la representaci{\'o}n difusa o borrosa del mundo (tal y como nosotros, seres humanos, entendemos {\'e}ste). El inter{\'e}s en la realizaci{\'o}n de {\'e}ste trabajo parte de dos fuentes: eliminar la complejidad existente cuando se realiza una implementaci{\'o}n con un lenguaje de programaci{\'o}n de los llamados de prop{\'o}sito general y proporcionar una herramienta lo suficientemente inteligente para dar respuestas de forma constructiva a consultas difusas o borrosas. El framework, RFuzzy, permite codificar reglas y consultas en una sintaxis muy cercana al lenguaje natural usado por los seres humanos para expresar sus pensamientos, pero es bastante m{\'a}s que eso. Permite representar conceptos muy interesantes, como fuzzificaciones (funciones usadas para convertir conceptos no difusos en difusos), valores por defecto (que se usan para devolver resultados un poco menos v{\'a}lidos que los que devolver{\'i}amos si tuvi{\'e}semos la informaci{\'o}n necesaria para calcular los m{\'a}s v{\'a}lidos), similaridad entre atributos (caracter{\'i}stica que utilizamos para buscar aquellos individuos en la base de datos con una caracter{\'i}stica similar a la buscada), sin{\'o}nimos o ant{\'o}nimos y, adem{\'a}s, nos permite extender el numero de conectivas y modificadores (incluyendo modificadores de negaci{\'o}n) que podemos usar en las reglas y consultas. La personalizaci{\'o}n de la definici{\'o}n de conceptos difusos (muy {\'u}til para lidiar con el car{\'a}cter subjetivo de los conceptos borrosos, donde nos encontramos con que cualificar a alguien de ?alto? depende de la altura de la persona que cualifica) es otra de las facilidades incluida. Adem{\'a}s, RFuzzy implementa la sem{\'a}ntica multi-adjunta. El inter{\'e}s en esta reside en que introduce la posibilidad de obtener la credibilidad de una regla a partir de un conjunto de datos y una regla dada y no solo el grado de satisfacci{\'o}n de una regla a partir de el universo modelado en nuestro programa. De esa forma podemos obtener autom{\'a}ticamente la credibilidad de una regla para una determinada situaci{\'o}n. A{\'u}n cuando la contribuci{\'o}n te{\'o}rica de la tesis es interesante en si misma, especialmente la inclusi{\'o}n del modificador de negacion, sus multiples usos practicos lo son tambi{\'e}n. Entre los diferentes usos que se han dado al framework destacamos el reconocimiento de emociones, el control de robots, el control granular en computacion paralela/distribu{\'i}da y las busquedas difusas o borrosas en bases de datos. ABSTRACT In this work we provide a theoretical basis (syntax and semantics) and a practical implementation of a framework for encoding the reasoning and the fuzzy representation of the world (as human beings understand it). The interest for this work comes from two sources: removing the existing complexity when doing it with a general purpose programming language (one developed without focusing in providing special constructions for representing fuzzy information) and providing a tool intelligent enough to answer, in a constructive way, expressive queries over conventional data. The framework, RFuzzy, allows to encode rules and queries in a syntax very close to the natural language used by human beings to express their thoughts, but it is more than that. It allows to encode very interesting concepts, as fuzzifications (functions to easily fuzzify crisp concepts), default values (used for providing results less adequate but still valid when the information needed to provide results is missing), similarity between attributes (used to search for individuals with a characteristic similar to the one we are looking for), synonyms or antonyms and it allows to extend the number of connectives and modifiers (even negation) we can use in the rules. The personalization of the definition of fuzzy concepts (very useful for dealing with the subjective character of fuzziness, in which a concept like tall depends on the height of the person performing the query) is another of the facilities included. Besides, RFuzzy implements the multi-adjoint semantics. The interest in them is that in addition to obtaining the grade of satisfaction of a consequent from a rule, its credibility and the grade of satisfaction of the antecedents we can determine from a set of data how much credibility we must assign to a rule to model the behaviour of the set of data. So, we can determine automatically the credibility of a rule for a particular situation. Although the theoretical contribution is interesting by itself, specially the inclusion of the negation modifier, the practical usage of it is equally important. Between the different uses given to the framework we highlight emotion recognition, robocup control, granularity control in parallel/distributed computing and flexible searches in databases.}, url = {https://oa.upm.es/37873/} }