Subir material

Suba sus trabajos a SEDICI, para mejorar notoriamente su visibilidad e impacto

 

Mostrar el registro sencillo del ítem

dc.date.accessioned 2012-11-29T15:01:01Z
dc.date.available 2012-11-29T15:01:01Z
dc.date.issued 1998-11
dc.identifier.uri http://sedici.unlp.edu.ar/handle/10915/24893
dc.description.abstract A través de los años los científicos de la computación han identificado diversas técnicas (estrategias) generales que a menudo producen algoritmos eficientes para la resolución de muchas clases de problemas. Este trabajo presenta un análisis de la estrategia dynamic programming (programación dinámica), a partir de su formalización mediante una regla en el cálculo transformacional desarrollado en el proyecto CIP [Bauer, 85] [Bauer, 87]. La técnica especificada es utilizada en la optimización de programas recursivos ineficientes, derivados, en general, por razonamientos divide and conquer. A partir del análisis de la resolución de problemas sobre dominios de distinta complejidad, siguiendo un proceso sistemático y formal, se plantea una generalización de la estrategia programación dinámica formalizada que hace explícitas las condiciones del orden involucrado sobre el dominio de un problema. Asimismo, se formula una regla que combina la técnica de operacionalización divide and conquer recursivo [Grinspan, 95a] con la de optimización programación dinámica. Programación dinámica evita calcular subproblemas más de una vez, invirtiendo el orden computacional y eliminando recursiones no lineales. No obstante puede conducir a que se resuelvan subproblemas innecesarios en el cómputo de ciertos problemas. Esto provoca que tanto la complejidad en tiempo como en espacio de almacenamiento resulten mayores a las deseadas. Existe una técnica conocida como memorización [Turner, 81] (tabulación exacta [Bird, 80]) que evita, por un lado, recomputar valores y por el otro, computar valores innecesarios. Sin embargo memorización no elimina recursiones no lineales, complicándose luego este proceso en el contexto de una metodología de desarrollo de software transformacional. Este trabajo plantea una regla que combina las ventajas de ambas técnicas, a través de un refinamiento de programación dinámica, en función al orden involucrado sobre el dominio del problema. Técnicas y conceptos inherentes a la rama de análisis de algoritmos sirven de herramientas en la formalización y deducción de las condiciones necesarias para la utilización de las reglas propuestas. Asimismo, en la evaluación de los resultados obtenidos como consecuencia de un proceso de optimización. Dos casos de estudio siguen el desarrollo del artículo: “cálculo de números combinatorios” y “multiplicación eficiente de n matrices”. Éstos destacan la relevancia de cada una de estrategias –puras, generalizadas o combinadas– que se formalizan. es
dc.language es es
dc.subject Estrategias de Diseño de Algoritmos: Programación Dinámica es
dc.subject Algorithms es
dc.subject Optimization es
dc.subject Divide and Conquer es
dc.subject Especificación y Transformación de Programas es
dc.subject Optimización de Programas Recursivos es
dc.subject Análisis de Algoritmos es
dc.title Optimización del orden de evaluación de programas recursivos es
dc.type Objeto de conferencia es
sedici.creator.person Luna, Carlos Daniel es
sedici.creator.person Baum, Gabriel Alfredo es
sedici.description.note Eje: Teoría es
sedici.subject.materias Ciencias Informáticas es
sedici.subject.materias Informática es
sedici.description.fulltext true es
mods.originInfo.place Red de Universidades con Carreras en Informática (RedUNCI) es
sedici.subtype Objeto de conferencia es
sedici.rights.license Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Argentina (CC BY-NC-SA 2.5)
sedici.rights.uri http://creativecommons.org/licenses/by-nc-sa/2.5/ar/
sedici.date.exposure 1998-10
sedici.relation.event IV Congreso Argentina de Ciencias de la Computación es
sedici.description.peerReview peer-review es


Descargar archivos

Este ítem aparece en la(s) siguiente(s) colección(ones)

Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Argentina (CC BY-NC-SA 2.5) Excepto donde se diga explícitamente, este item se publica bajo la siguiente licencia Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Argentina (CC BY-NC-SA 2.5)