Anda di halaman 1dari 2

HEURSTICA DE DISEO. La Heurstica es un mtodo de resolver problemas utilizando tcnicas de ensayo y error.

El diseo heurstico de programas provee de un marco para resolver el problema en contraposicin con un conjunto fijo de reglas que no puede variar. Una vez que se ha desarrollado la estructura del programa, se puede conseguir una modularidad efectiva aplicando los principios de diseo y manipulando la estructura resultante de acuerdo con este conjunto de heursticas. Estas heursticas del diseo consisten en 3 pasos: 1. Evaluar la estructura del programa para reducir el acoplamiento y mejorar la cohesin. Los mdulos pueden expandirse o reducirse siempre que se mejore la independencia de los mdulos. A medida se produce un modulo expandido cuando en dos o ms mdulos existe un componente de procesamiento comn y puede redefinirse como un modulo cohesivo aparte. 2. Intentar minimizar las estructuras con alto grado de salida, fomentar un alto grado de entrada conforme aumente la profundidad. la estructura del control no debe ser demasiado ancha, sino que se opta por estructuras con varias capas de control y gran utilizacin de los mdulos anteriores. 3. Mantener el efecto de un modulo dentro del mbito de control, de ese modulo. el mbito del efecto de un modulo m se define por todos los mdulos que quedan afectados por una decisin tomada en el modulo m. el mbito de control del modulo m est formado por todos sus mdulos subordinados. 4. Evaluar los interfaces del modulo para reducir la complejidad y la redundancia y mejorar la consistencia. Quiere decir que se debe de revisar la informacin que se pasa en los interfaces para pasar nicamente la informacin necesaria. 5. Definir mdulos cuyas funciones sean predecibles, para evitar mdulos que sean demasiados restrictivos. Los mdulos deben de tener una apariencia de caja negra, ocultando los detalles de procedimiento. 6. Fomentar mdulos con entrada nica y salida nica, evitando las conexiones patolgicas. El software es ms fcil de componer y mantener, si a los mdulos se entra por el principio y se sale por el final. 7. Empaquetar el software de acuerdo con las restricciones del diseo y los requisitos de portabilidad. Cundo utilizar Heursticas? Problemas para los cuales no existen soluciones algortmicas conocidas (problemas mal estructurados). Problemas cuya resolucin consume demasiado tiempo (ejemplo: programacin entera). Cuando la meta no es encontrar una solucin ptima si no una solucin satisfactoria.

Heursticas: Ventajas y Limitaciones Principales Ventajas: Simples de entender y fciles de implementar. Ahorran tiempo de formulacin y de computacin. A menudo producen soluciones aceptables.

Principal Limitacin: No garantizar solucin ptima.

Tipos de Heursticas Generales Random (azar): Elegir soluciones aleatorias. Greedy (avido): En cada paso asigna un valor a cada variable, la eleccin es la que minimiza el incremento en la funcin objetivo (para minimizacin). El intercambio de heurstica: Genera una mejor solucin modificado de algn modo la solucin existente. Bsqueda Tab: Basado en estrategia de bsqueda inteligente, uso de memoria adaptativa, exploracin sensible. Algoritmos Genticos: Genera poblacin de soluciones (individuales) los que recombina para obtener mejores soluciones (hijos). Poblacion heurstica: Reproduccin, mutuacin, cruce. Metaheursticas: Estrategia maestra que gua y modifica otras heursticas. Algoritmos genticos, bsqueda tab.