SlideShare una empresa de Scribd logo
“ Curry ” : Lenguaje  lógico-funcional
Beneficios de la integración de paradigmas PROGRAMACIÓN FUNCIONAL (Haskell) PROGRAMACIÓN LÓGICO-FUNCIONAL (Curry) PROGRAMACIÓN LÓGICO-DIFUSA (Likelog) CONJUNTOS BORROS PROGRAMACIÓN LÓGICA (Prolog) PROGRAMACIÓN LÓGICO-FUNCIONAL-DIFUSA (FCurry)
Programación de Curry Relaciones de similaridad Es una noción matemáticamente estricta relacionada con relaciones de equivalencia y operadores de cierre, que proporciona un camino para manejar instancias alternativas de una entidad que puede considerarse “igual” que un grado dado. Consiste en un conjunto de  ecuaciones de similaridad  de la forma: “ eq(s1, s2) =  α ”   donde s1, s2     símbolos de predicados/funciones de la misma aridad. α     grado de similaridad.  Ejemplo:  eq(a, b) = 0.5
“ Curry” CURRY    -CURRY Partimos de un lenguaje lógico-funcional (Curry) y debemos conseguir su adaptación a la programación lógico-funcional difusa, es decir su  difuminación . Curry se basa en la utilización de Narrowing Necesario, ofreciendo funciones, concurrencia, unificación y un principio operacional que es más eficiente que el de los lenguajes lógicos puros. Esto facilita la inclusión de similaridades dentro del núcleo de Curry.
“ Curry” Cambios a nivel léxico. Los cambios realizados dentro de los módulos de Curry implican una ligera modificación léxica, ya que se ha declarado una única palabra reservada más de las que ya se tenían como reservadas de éste. A continuación se muestra una tabla de símbolos donde se definen los componentes léxicos de Curry, incluyendo los nuevos.
“ Curry” sim sim Where Where Type Type Then Then … … Case Case Char Char Integer Integer (‘ [a-z][a-zA-Z0-9\-\_]* ‘) Id Expresión Regular Categoría
Cambios a nivel sintáctico Desde el punto de vista teórico se añade sólo lo correspondiente a la nueva función predefinida, que será “ sim ”. La función “ sim ” se ha introducido para poder definir las similaridades existentes entre funciones y constructores.  sim :: String -> String -> Integer Recibe dos identificadores de funciones o constructores (ambos del mismo tipo y aridad) y devuelve el valor de similaridad entre ellas. “ Curry”
Semántica operacional de Curry Este punto está orientado a explicar las modificaciones a nivel de implementación que se han tenido que llevar a cabo para poder modificar el funcionamiento de curry y añadirle una funcionalidad con relaciones de similaridad. Visionado de resultados después de la evaluación. Curry    {Resultado, Sustitución} FCurry    {Resultado, Sustitución,  Similaridad } Similaridad : es el grado de similaridad asociado a  ese resultado.
Ejemplo práctico OBJETIVO : comprobar el uso de estos lenguajes teóricos en casos considerados como reales. data signals = fever | cough  | headache | mocous | migraine data illness = gripe | colds
Ejemplo práctico symptoms :: signals -> signals -> illness symptoms eval flex symptoms cough fever= gripe diagnostic :: signals -> signals -> illness diagnostic eval flex diagnostic mocous cough = colds diagnostic headache fever = migraine
Ejemplo: Ejecución Curry

Más contenido relacionado

DOC
Guia de cobol
PDF
Tema 5 arreglos y cadenas por gio
PPTX
Manual de excel
PPTX
Funciones intermedias
PPTX
Teorias de tema slide share
PPTX
Mirella guingla funciones anidadas
PPTX
Funciones logicas si
DOCX
Funciones de excel
Guia de cobol
Tema 5 arreglos y cadenas por gio
Manual de excel
Funciones intermedias
Teorias de tema slide share
Mirella guingla funciones anidadas
Funciones logicas si
Funciones de excel

Destacado (9)

PDF
Yesod Framework
ODP
Tipos de memoria.
PPTX
Bt haskell-1
PDF
Tema 3: Tipos y clases en Haskell
PDF
Programación funcional con haskell
PDF
Tema 6: Definiciones por recursión en Haskell
PDF
Proyecto de mejora del hábitat de las abejas
PPTX
Max Scheler, Nicolai Hartmann, teoría de los valores
PDF
Why The Free Monad isn't Free
Yesod Framework
Tipos de memoria.
Bt haskell-1
Tema 3: Tipos y clases en Haskell
Programación funcional con haskell
Tema 6: Definiciones por recursión en Haskell
Proyecto de mejora del hábitat de las abejas
Max Scheler, Nicolai Hartmann, teoría de los valores
Why The Free Monad isn't Free
Publicidad

Último (20)

PDF
Manual de cinso pasos para orgasnizacion de comisiones de salud y eleboracion...
PDF
enfermedad lupus-250620175626-afe5806b..
PDF
Presentación trabajo de parto y sus mecanismos
PPTX
Atención medica taller bomberos Forestales.pptx
PPTX
Patrones no clásicos de herencia-1 (1).pptx
PDF
Manual de orientacion y realizacion de pruebas de VIH, sifilis, Hepatitis B.pdf
PDF
ANATOMÍA DEL EJERCICIO Y DEL MOVIMIENTO.pdf
PPTX
ATENCION INTEGRAL A LAS MUJERES EN TODOS LOS CICLOS DE VIDA
PDF
POSTGRADO PSICOLOGIA pdf hshshshah.pptx.pdf
PDF
Hipertiroidismo, hipotiroidismo y bocio (2) copia.pdf
PDF
Clase 3 cabeza torax miembro superior resumida.pdf
PPTX
Unidad 1 Introducción a la Fisiología Humana 2024-1.pptx
PDF
LABORATORIO ANALITICO DE LA NUTRICION ANIMAL
PPTX
Aspectos históricos de la prostodoncia total
PDF
Sistema gastrointestinal_20240507_093346_0000.pdf
PDF
Manual de busqueda intensiva de TB en personas con VIH.pdf
PPTX
SINDROME DIARREICO AGUDO SEMINARIO 2.pptx
PPTX
neurología .pptx exposición sobre neurológica
PPTX
infecciónes de piel y tejidos blandos asociados
PPTX
LESION RENAL 2025.pptx MEDICINA UMSS AGUDA
Manual de cinso pasos para orgasnizacion de comisiones de salud y eleboracion...
enfermedad lupus-250620175626-afe5806b..
Presentación trabajo de parto y sus mecanismos
Atención medica taller bomberos Forestales.pptx
Patrones no clásicos de herencia-1 (1).pptx
Manual de orientacion y realizacion de pruebas de VIH, sifilis, Hepatitis B.pdf
ANATOMÍA DEL EJERCICIO Y DEL MOVIMIENTO.pdf
ATENCION INTEGRAL A LAS MUJERES EN TODOS LOS CICLOS DE VIDA
POSTGRADO PSICOLOGIA pdf hshshshah.pptx.pdf
Hipertiroidismo, hipotiroidismo y bocio (2) copia.pdf
Clase 3 cabeza torax miembro superior resumida.pdf
Unidad 1 Introducción a la Fisiología Humana 2024-1.pptx
LABORATORIO ANALITICO DE LA NUTRICION ANIMAL
Aspectos históricos de la prostodoncia total
Sistema gastrointestinal_20240507_093346_0000.pdf
Manual de busqueda intensiva de TB en personas con VIH.pdf
SINDROME DIARREICO AGUDO SEMINARIO 2.pptx
neurología .pptx exposición sobre neurológica
infecciónes de piel y tejidos blandos asociados
LESION RENAL 2025.pptx MEDICINA UMSS AGUDA
Publicidad

Original Curry

  • 1. “ Curry ” : Lenguaje lógico-funcional
  • 2. Beneficios de la integración de paradigmas PROGRAMACIÓN FUNCIONAL (Haskell) PROGRAMACIÓN LÓGICO-FUNCIONAL (Curry) PROGRAMACIÓN LÓGICO-DIFUSA (Likelog) CONJUNTOS BORROS PROGRAMACIÓN LÓGICA (Prolog) PROGRAMACIÓN LÓGICO-FUNCIONAL-DIFUSA (FCurry)
  • 3. Programación de Curry Relaciones de similaridad Es una noción matemáticamente estricta relacionada con relaciones de equivalencia y operadores de cierre, que proporciona un camino para manejar instancias alternativas de una entidad que puede considerarse “igual” que un grado dado. Consiste en un conjunto de ecuaciones de similaridad de la forma: “ eq(s1, s2) = α ” donde s1, s2  símbolos de predicados/funciones de la misma aridad. α  grado de similaridad. Ejemplo: eq(a, b) = 0.5
  • 4. “ Curry” CURRY  -CURRY Partimos de un lenguaje lógico-funcional (Curry) y debemos conseguir su adaptación a la programación lógico-funcional difusa, es decir su difuminación . Curry se basa en la utilización de Narrowing Necesario, ofreciendo funciones, concurrencia, unificación y un principio operacional que es más eficiente que el de los lenguajes lógicos puros. Esto facilita la inclusión de similaridades dentro del núcleo de Curry.
  • 5. “ Curry” Cambios a nivel léxico. Los cambios realizados dentro de los módulos de Curry implican una ligera modificación léxica, ya que se ha declarado una única palabra reservada más de las que ya se tenían como reservadas de éste. A continuación se muestra una tabla de símbolos donde se definen los componentes léxicos de Curry, incluyendo los nuevos.
  • 6. “ Curry” sim sim Where Where Type Type Then Then … … Case Case Char Char Integer Integer (‘ [a-z][a-zA-Z0-9\-\_]* ‘) Id Expresión Regular Categoría
  • 7. Cambios a nivel sintáctico Desde el punto de vista teórico se añade sólo lo correspondiente a la nueva función predefinida, que será “ sim ”. La función “ sim ” se ha introducido para poder definir las similaridades existentes entre funciones y constructores. sim :: String -> String -> Integer Recibe dos identificadores de funciones o constructores (ambos del mismo tipo y aridad) y devuelve el valor de similaridad entre ellas. “ Curry”
  • 8. Semántica operacional de Curry Este punto está orientado a explicar las modificaciones a nivel de implementación que se han tenido que llevar a cabo para poder modificar el funcionamiento de curry y añadirle una funcionalidad con relaciones de similaridad. Visionado de resultados después de la evaluación. Curry  {Resultado, Sustitución} FCurry  {Resultado, Sustitución, Similaridad } Similaridad : es el grado de similaridad asociado a ese resultado.
  • 9. Ejemplo práctico OBJETIVO : comprobar el uso de estos lenguajes teóricos en casos considerados como reales. data signals = fever | cough | headache | mocous | migraine data illness = gripe | colds
  • 10. Ejemplo práctico symptoms :: signals -> signals -> illness symptoms eval flex symptoms cough fever= gripe diagnostic :: signals -> signals -> illness diagnostic eval flex diagnostic mocous cough = colds diagnostic headache fever = migraine