SlideShare una empresa de Scribd logo
1 de 4
Descargar para leer sin conexión
INGENIERIA EN SISTEMAS
COMPUTACIONALES

MATERIA: PROGRAMACIÓN LÓGICA Y FUNCIONAL

CATEDRÁTICO: AGUILAR ORTIZ GABRIELA

ALUMNA: DE LA LUZ CASTELLANOS ERIKA

GRUPO: ISA AULA: I13 HORARIO: 10-11 HRS

SEMESTRE: AGO-DIC/2012

TRABAJO:
INVESTIGACIÓN
¿QUÉ ES LA EVALUACIÓN PEREZOSA?

Evaluación impaciente (eager): el evaluador hace todo lo que puede. Corresponde
a llamada por-valor.

Evaluación perezosa (lazy):



El evaluador hace solamente lo preciso. Corresponde a llamada pornecesidad.



Significa: Haz sólo lo que te pida un patrón a la izquierda de una ecuación o
cualificador (where o let).



Es una estrategia de evaluación que retrasa la evaluación de una expresión
hasta que el valor de esto realmente se requiera (evaluación no estricta) y
que también evita evaluaciones repetidas (compartimiento de ciencias
informáticas). El compartimiento puede reducir la duración de ciertas
funciones por un factor exponencial sobre otras estrategias de evaluación
no estrictas, como la llamada de nombre.

Las ventajas de la evaluación perezosa incluyen:



El rendimiento aumenta debido a evitación de cálculos innecesarios y
evitación de condiciones de error en la evaluación de expresiones
compuestas.



La capacidad de construir estructura de datos potencialmente infinita



La capacidad de definir estructura de control como abstracciones en vez de
como obras primitivistas.
2


La evaluación perezosa puede llevar a la reducción de la huella de
memoria, ya que los valores se crean cuando necesario. Sin embargo, con
la evaluación perezosa, es difícil combinarse con rasgos imperativos como
la excepción que se maneja (manejo de la excepción) y entrada/salida
(entrada/salida), porque el pedido de operaciones se hace indeterminado.
La evaluación perezosa puede introducir el agujero espacial. También, la
depuración es difícil.

ESTRATEGIAS DE PROGRAMACIÓN PEREZOSA

Para los ejemplos se considera la función

mult :: (Int,Int)  Int

mult (x,y) = x * y



Evaluación mediante paso de parámetros por valor (o por más internos):

mult (1+2,2+3)

= mult (3,5) [por def. de +]

= 3*5 [por def. de mult]

= 15 [por def. de *]



Evaluación mediante paso de parámetros por nombre (o por más externos):

mult (1+2,2+3)

3
= (1+2)*(3+5) [por def. de mult]

= 3*5 [por def. de +]



Evaluación con lambda expresiones

mult’ (1+2) (2+3)

= mult’ 3 (2+3) [por def. de +]

= (λy → 3*y) (2+3) [por def. de mult’]

= (λy → 3*y) 5 [por def. de +]

= 3*5 [por def. de +]

= 15 [por def. de *]

4

Más contenido relacionado

La actualidad más candente

Lect4 principal component analysis-I
Lect4 principal component analysis-ILect4 principal component analysis-I
Lect4 principal component analysis-Ihktripathy
 
Svm Presentation
Svm PresentationSvm Presentation
Svm Presentationshahparin
 
2.3 bayesian classification
2.3 bayesian classification2.3 bayesian classification
2.3 bayesian classificationKrish_ver2
 
Ejercicios de redes con packet tracer
Ejercicios de redes con packet tracerEjercicios de redes con packet tracer
Ejercicios de redes con packet tracerFernando Esteban
 
Segmetación de instrucciones
Segmetación de instruccionesSegmetación de instrucciones
Segmetación de instruccionesLely
 
3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registros3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registrosMeztli Valeriano Orozco
 
KNN Algorithm using C++
KNN Algorithm using C++KNN Algorithm using C++
KNN Algorithm using C++Afraz Khan
 
Pattern recognition UNIT 5
Pattern recognition UNIT 5Pattern recognition UNIT 5
Pattern recognition UNIT 5SURBHI SAROHA
 
Arquitecturas risc y cisc
Arquitecturas risc y ciscArquitecturas risc y cisc
Arquitecturas risc y ciscDaCoom
 
Arquitectura de los sistemas operativos
Arquitectura de los sistemas operativosArquitectura de los sistemas operativos
Arquitectura de los sistemas operativosXavier Jose
 
Herramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De DatosHerramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De DatosYazmin Ibarra
 
IP Privadas y Publicas
IP Privadas y PublicasIP Privadas y Publicas
IP Privadas y Publicaseddrems
 
Punteros en c
Punteros en cPunteros en c
Punteros en cfcosunt
 

La actualidad más candente (18)

Lect4 principal component analysis-I
Lect4 principal component analysis-ILect4 principal component analysis-I
Lect4 principal component analysis-I
 
Svm Presentation
Svm PresentationSvm Presentation
Svm Presentation
 
2.3 bayesian classification
2.3 bayesian classification2.3 bayesian classification
2.3 bayesian classification
 
Textmining Introduction
Textmining IntroductionTextmining Introduction
Textmining Introduction
 
Ejercicios de redes con packet tracer
Ejercicios de redes con packet tracerEjercicios de redes con packet tracer
Ejercicios de redes con packet tracer
 
08 clustering
08 clustering08 clustering
08 clustering
 
Segmetación de instrucciones
Segmetación de instruccionesSegmetación de instrucciones
Segmetación de instrucciones
 
3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registros3.1 inserción, eliminación y modificación de registros
3.1 inserción, eliminación y modificación de registros
 
KNN Algorithm using C++
KNN Algorithm using C++KNN Algorithm using C++
KNN Algorithm using C++
 
Pattern recognition UNIT 5
Pattern recognition UNIT 5Pattern recognition UNIT 5
Pattern recognition UNIT 5
 
Arquitecturas risc y cisc
Arquitecturas risc y ciscArquitecturas risc y cisc
Arquitecturas risc y cisc
 
Csc446: Pattern Recognition
Csc446: Pattern Recognition Csc446: Pattern Recognition
Csc446: Pattern Recognition
 
2. visualization in data mining
2. visualization in data mining2. visualization in data mining
2. visualization in data mining
 
Arquitectura de los sistemas operativos
Arquitectura de los sistemas operativosArquitectura de los sistemas operativos
Arquitectura de los sistemas operativos
 
Support vector machine
Support vector machineSupport vector machine
Support vector machine
 
Herramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De DatosHerramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De Datos
 
IP Privadas y Publicas
IP Privadas y PublicasIP Privadas y Publicas
IP Privadas y Publicas
 
Punteros en c
Punteros en cPunteros en c
Punteros en c
 

123507620 que-es-la-evaluacion-perezosa-docx

  • 1. INGENIERIA EN SISTEMAS COMPUTACIONALES MATERIA: PROGRAMACIÓN LÓGICA Y FUNCIONAL CATEDRÁTICO: AGUILAR ORTIZ GABRIELA ALUMNA: DE LA LUZ CASTELLANOS ERIKA GRUPO: ISA AULA: I13 HORARIO: 10-11 HRS SEMESTRE: AGO-DIC/2012 TRABAJO: INVESTIGACIÓN
  • 2. ¿QUÉ ES LA EVALUACIÓN PEREZOSA? Evaluación impaciente (eager): el evaluador hace todo lo que puede. Corresponde a llamada por-valor. Evaluación perezosa (lazy):  El evaluador hace solamente lo preciso. Corresponde a llamada pornecesidad.  Significa: Haz sólo lo que te pida un patrón a la izquierda de una ecuación o cualificador (where o let).  Es una estrategia de evaluación que retrasa la evaluación de una expresión hasta que el valor de esto realmente se requiera (evaluación no estricta) y que también evita evaluaciones repetidas (compartimiento de ciencias informáticas). El compartimiento puede reducir la duración de ciertas funciones por un factor exponencial sobre otras estrategias de evaluación no estrictas, como la llamada de nombre. Las ventajas de la evaluación perezosa incluyen:  El rendimiento aumenta debido a evitación de cálculos innecesarios y evitación de condiciones de error en la evaluación de expresiones compuestas.  La capacidad de construir estructura de datos potencialmente infinita  La capacidad de definir estructura de control como abstracciones en vez de como obras primitivistas. 2
  • 3.  La evaluación perezosa puede llevar a la reducción de la huella de memoria, ya que los valores se crean cuando necesario. Sin embargo, con la evaluación perezosa, es difícil combinarse con rasgos imperativos como la excepción que se maneja (manejo de la excepción) y entrada/salida (entrada/salida), porque el pedido de operaciones se hace indeterminado. La evaluación perezosa puede introducir el agujero espacial. También, la depuración es difícil. ESTRATEGIAS DE PROGRAMACIÓN PEREZOSA Para los ejemplos se considera la función mult :: (Int,Int)  Int mult (x,y) = x * y  Evaluación mediante paso de parámetros por valor (o por más internos): mult (1+2,2+3) = mult (3,5) [por def. de +] = 3*5 [por def. de mult] = 15 [por def. de *]  Evaluación mediante paso de parámetros por nombre (o por más externos): mult (1+2,2+3) 3
  • 4. = (1+2)*(3+5) [por def. de mult] = 3*5 [por def. de +]  Evaluación con lambda expresiones mult’ (1+2) (2+3) = mult’ 3 (2+3) [por def. de +] = (λy → 3*y) (2+3) [por def. de mult’] = (λy → 3*y) 5 [por def. de +] = 3*5 [por def. de +] = 15 [por def. de *] 4