El documento presenta un resumen de los diferentes tipos de algoritmos. Explica conceptos básicos como la definición de algoritmo, sus características y lenguajes algorítmicos. Luego describe varias técnicas de diseño de algoritmos como dividir y vencerás. Finalmente, detalla distintos tipos de algoritmos como voraces, probabilísticos, de divide y vencerás, backtracking, ramificación y poda, heurísticos y genéticos.
0 calificaciones0% encontró este documento útil (0 votos)
84 vistas29 páginas
El documento presenta un resumen de los diferentes tipos de algoritmos. Explica conceptos básicos como la definición de algoritmo, sus características y lenguajes algorítmicos. Luego describe varias técnicas de diseño de algoritmos como dividir y vencerás. Finalmente, detalla distintos tipos de algoritmos como voraces, probabilísticos, de divide y vencerás, backtracking, ramificación y poda, heurísticos y genéticos.
El documento presenta un resumen de los diferentes tipos de algoritmos. Explica conceptos básicos como la definición de algoritmo, sus características y lenguajes algorítmicos. Luego describe varias técnicas de diseño de algoritmos como dividir y vencerás. Finalmente, detalla distintos tipos de algoritmos como voraces, probabilísticos, de divide y vencerás, backtracking, ramificación y poda, heurísticos y genéticos.
El documento presenta un resumen de los diferentes tipos de algoritmos. Explica conceptos básicos como la definición de algoritmo, sus características y lenguajes algorítmicos. Luego describe varias técnicas de diseño de algoritmos como dividir y vencerás. Finalmente, detalla distintos tipos de algoritmos como voraces, probabilísticos, de divide y vencerás, backtracking, ramificación y poda, heurísticos y genéticos.
Descargue como DOCX, PDF, TXT o lea en línea desde Scribd
Descargar como docx, pdf o txt
Está en la página 1de 29
UNIVERSIDAD PRIVADA TELESUP
CARRERA PROFESIONAL DE INGENIERA
DE SISTEMAS Y COMPUTACIN
TTULO DE LA MONOGRAFA: ____________________________________________________ TIPOS DE ALGORITMOS ____________________________________________________ Curso : Investigacin Operativa I Ciclo : V Ciclo Estudiante : Emiliano, ESPINOZA GMEZ Profesor : Antenor, LEVA APAZA
Huancavelica, abril 20 de 2014
Pg: 2
Contenido
Dedicatoria .................................................................................................................................. 3 Agradecimientos ......................................................................................................................... 4 Introduccin ................................................................................................................................. 5 CAPTULO I ................................................................................................................................ 6 PREVIO AL DESARROLLO DE ALGORITMOS ................................................................... 6 1.1. DEFINICIN .................................................................................................................... 6 1.2. CARACTERSTICAS DE LOS ALGORITMOS .......................................................... 7 1.3. LENGUAJES ALGORTMICOS ................................................................................... 8 CAPTULO II ............................................................................................................................... 9 2.1. LAS TCNICAS DE DISEO DE ALGORITMOS .................................................... 9 CAPTULO III ............................................................................................................................ 14 METODOLOGA PARA LA SOLUCIN DE PROBLEMAS POR MEDIO DE COMPUTADORA ..................................................................................................................... 14 CAPTULO IV ............................................................................................................................ 20 4.1. Algoritmos Voraces (Greedy) .......................................................................................... 20 4.2. Algoritmos Probabilsticos .............................................................................................. 20 4.3. Algoritmos deterministas/No deterministas .................................................................. 22 4.4. Algoritmos de Divide y Vencers. ................................................................................... 23 4.5. Algoritmo BackTracking .................................................................................................. 23 4.6. Algoritmo Ramificacin y poda ....................................................................................... 24 4.7. Algoritmos Heursticos .................................................................................................... 25 4.8. Algoritmos Genticos ...................................................................................................... 26 Conclusiones ............................................................................................................................. 28 Bibliografa ................................................................................................................................. 29
Pg: 3
Dedicatoria
Dedico este trabajo en especial a mi madre, mi cnyuge y a toda mi familia por su persistencia y apoyo incondicional que me brindan en todo momento.
Pg: 4
Agradecimientos
El profundo agradecimiento a los docentes universitarios de la Universidad Nacional de Huancavelica y al responsable de la biblioteca virtual de la Pontificia Universidad Catlica del Per.
Pg: 5
Introduccin
El anlisis de los algoritmos es una parte importante de la Teora de complejidad computacional ms amplia, que provee estimaciones tericas para los recursos que necesita cualquier algoritmo que resuelva un problema computacional dado. Estas estimaciones resultan ser bastante tiles en la bsqueda de algoritmos eficientes.
A la hora de realizar un anlisis terico de algoritmos es corriente calcular su complejidad en un sentido asinttico, es decir, para un tamao de entrada suficientemente grande.
Los algoritmos permiten estructurar los pasos a seguir para la solucin de cualquier problema, por lo que su tratamiento y anlisis en el presente trabajo es de mucha importancia, ms an en el campo computacional.
El alumno
Pg: 6
CAPTULO I
PREVIO AL DESARROLLO DE ALGORITMOS
Antes de comenzar con el tema vamos a considerar el significado de la palabra ALGORITMO esta palabra se deriva de la traduccin al latn de la palabra rabe ALKHWARZMI, nombre de un matemtico y astrnomo rabe que escribi un tratado sobre la manipulacin de nmeros y ecuaciones en el siglo IX, titulado KITAB AL-JABR WALMUGALABA, la palabra lgebra se deriv por su semejanza sonora de AL-JABR. Etimolgicamente la palabra problema deriva del griego PROBALLEIN y significa algo lanzado hacia delante. Un problema es un asunto o conjunto de cuestiones que se plantean para ser resueltas, la naturaleza de los problemas varia con el mbito o con el contexto donde estn planteados: as existen problemas matemticos, fsicos, filosficos, etc.
Esquema del desarrollo de algoritmos 1.1. DEFINICIN
Podemos definir al Algoritmo de distintas formas, siendo algunas de ellas: - Un Algoritmo es una secuencia de operaciones detalladas y no ambiguas, que al ejecutarse paso a paso, conducen a la solucin de un problema. - Algoritmo es un conjunto de instrucciones que especifican la secuencia de operaciones a realizar, en orden, para resolver un sistema especfico o clase de problema. - Un Algoritmo es la aplicacin de pasos lgicos, secuenciales y metdicamente aplicados para dar solucin a un problema en cuestin. - Todo problema se puede describir por medio de un algoritmo. Pg: 7
- Todo algoritmo es independiente del lenguaje. 1.2. CARACTERSTICAS DE LOS ALGORITMOS
Las propiedades de un algoritmo son las siguientes: Finito: Un algoritmo debe siempre terminar despus de un nmero finito de pasos. Definido: Cada paso de un algoritmo debe ser definido en forma precisa, estableciendo las acciones que van a efectuar clara y rigurosamente en cada caso. Entradas: El algoritmo tiene cero o ms entradas, es decir cantidades que se entregan inicialmente al algoritmo antes de su ejecucin. Salidas: Un algoritmo tiene unas o ms salidas, es decir cantidades que tiene una relacin especfica respecto a las entradas. Efectivo: Generalmente, tambin se espera que un algoritmo sea efectivo. Esto significa que todas las operaciones a ser realizadas en el algoritmo deben ser lo suficientemente bsicas de modo que puedan en principio ser llevadas a cabo en forma exacta y en un periodo de tiempo finito por una persona usando lpiz y papel (rutear). En la prctica, para evaluar un buen algoritmo se considera el tiempo que requiere su ejecucin, esto puede ser expresado en trminos del nmero de veces que se ejecuta cada paso. Otros criterios de evaluacin pueden ser la adaptabilidad del algoritmo al computador, su simplicidad y elegancia, etc. Algunas veces se tiene varios algoritmos para solucionar el mismo problema, y se debe decidir cul es el mejor.
El algoritmo debe ser planteado como un sistema de informacin. Pg: 8
Representacin de un algoritmo como un sistema de informacin 1.3. LENGUAJES ALGORTMICOS
Es una serie de smbolos y reglas que se utilizan para describir de manera explcita un proceso, estos lenguajes algortmicos pueden ser:
a) Grficos: Es la representacin de las operaciones que realiza el algoritmo (diagrama de flujo). b) No Grficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocdigo).
Un algoritmo puede ser expresado de las siguientes formas: a) Lenguaje natural: el uso de trminos del lenguaje natural, es una forma de representar un algoritmo. b) Lenguaje Simblico: es otra forma de representacin de un algoritmo, que adems permite una introduccin a la programacin estructural. c) Lenguaje Grfico : es una forma de escribir una secuencia de pasos en forma de diagrama, en la practica se denomina Diagramas de Flujo.
Pg: 9
CAPTULO II 2.1. LAS TCNICAS DE DISEO DE ALGORITMOS
El diseo de la mayora de los algoritmos requiere creatividad y conocimientos de la metodologa de programacin, esto significa que debe desarrollar una lgica computacional a travs de la resolucin de programas. Y principalmente en diseo de un algoritmo debe realizarse a partir de un anlisis del problema. El acto de disear un algoritmo puede considerarse como una tarea que difcilmente podr ser del todo automatizada, todo problema algortmico es un reto para su diseador. Algunos resultan inmediatos de resolver, otros son bastante complejos. La investigacin en esta rea ha permitido descubrir un conjunto de mtodos y esquemas de diseo hacia los cuales puede orientarse la realizacin de muchos algoritmos. Idear un algoritmo contina siendo una labor bastante creativa donde los conocimientos y las experiencias del propio diseador tiene un papel fundamental. 2.1.1. DIVIDE Y VENCERAS Consiste en descomponer un problema en subproblemas, resolver independientemente los subproblemas para luego combinar sus soluciones y obtener una solucin del problema original. Esta tcnica puede ser utilizada con xito en problemas como multiplicacin de matrices, ordenacin de vectores, etc. Ejemplo. Encontrar el ngulo entre dos vectores A(x,y,z) y B(x,y,x).
Determinar la ecuacin del ngulo entre dos vectores, del producto escalar se tiene: Pg: 10
Determinar las operaciones intermedias:
Determinar la solucin general:
2.1.2. MTODO VORAZ Este mtodo trata de producir algn tipo de mejor resultado a partir de un conjunto de opciones candidatas. Par ello se va procediendo paso a paso realizndose la mejor eleccin (utilizando un funcin objetivo que respeta un conjunto de restricciones) de entre las posibles. Puede emplearse en problemas de optimizacin, como el conocido de la mochila, en la bsqueda de caminos mnimos sobre grafos, la planificacin en la ejecucin de programas en un computador, etc. Ejemplo Dar cambio utilizando el menor nmero de billetes. Conjunto de billetes = {"doscientos","cien","cincuenta","veinte","diez","cinco","dos","uno"}; Conjunto de cantidades ={200,100,50,20,10,5,2,1}; Cambiar (dato, posicin) si (dato es distinto de 0) entonces Pg: 11
cuantos = dato DIV cantidades[posicin]; si (cuantos es distinto de 0) entonces imprimir ("hay , cuantos, billetes de , billetes [ posicin]); fin_si Cambiar (dato MOD cantidades[posicin], posicin+1); Fin_si Fin_cambiar inicio cambiar (1388,0); fin El estilo y calidad de los algoritmos van fuertemente unidos, ante la pregunta Cules son las caractersticas de un buen algoritmo?. La respuesta identifica los factores de calidad de los algoritmos. Correccin: el algoritmo debe funcionar. Eficiencia : el algoritmo no debe desaprovechar recursos. Claridad : el algoritmo debe estar bien documentado.
2.1.3. TOP DOWN Tambin conocida como de arriba-abajo (diseo descendente) y consiste en establecer una serie de niveles de mayor a menor complejidad (arriba-abajo) que den solucin al problema. Consiste en efectuar una relacin entre las etapas de la estructuracin de forma que una etapa jerrquica y su inmediato inferior se relacionen mediante entradas y salidas de informacin. Este diseo consiste en una serie de descomposiciones sucesivas del problema inicial, que recibe el refinamiento progresivo del repertorio de instrucciones que van a formar parte del programa. La utilizacin de la tcnica de diseo Top-Down tiene los siguientes objetivos bsicos: Pg: 12
Simplificacin del problema y de los subprogramas de cada descomposicin. Las diferentes partes del problema pueden ser programadas de modo independiente e incluso por diferentes personas. El programa final queda estructurado en forma de bloque o mdulos lo que hace ms sencilla su lectura y mantenimiento.
2.1.4. BOTTOM UP El diseo ascendente se refiere a la identificacin de aquellos procesos que necesitan computarizarse con forme vayan apareciendo, su anlisis como sistema y su codificacin, o bien, la adquisicin de paquetes de software para satisfacer el problema inmediato. Cuando la programacin se realiza internamente y haciendo un enfoque ascendente, es difcil llegar a integrar los subsistemas al grado tal de que el desempeo global, sea fluido. Los problemas de integracin entre los subsistemas son sumamente costosos y muchos de ellos no se solucionan hasta que la programacin alcanza la fecha lmite para la integracin total del sistema. En esta fecha, ya se cuenta con muy Pg: 13
poco tiempo, presupuesto o paciencia de los usuarios, como para corregir aquellas delicadas interfaces, que en un principio, se ignoran. Aunque cada subsistema parece ofrecer lo que se requiere, cuando se contempla al sistema como una entidad global, adolece de ciertas limitaciones por haber tomado un enfoque ascendente. Uno de ellos es la duplicacin de esfuerzos para accesar el software y ms aun al introducir los datos. Otro es, que se introducen al sistema muchos datos carentes de valor. Un tercero y tal vez l ms serio inconveniente del enfoque ascendente, es que los objetivos globales de la organizacin no fueron considerados y en consecuencia no se satisfacen.
Pg: 14
CAPTULO III METODOLOGA PARA LA SOLUCIN DE PROBLEMAS POR MEDIO DE COMPUTADORA
La principal razn para que las personas aprendan lenguajes de programacin es utilizar la computadora como una herramienta para la resolucin de problemas. Dos fases pueden ser identificadas en el proceso de resolucin de problemas. Fase de resolucin del problema. Fase de implementacin (realizacin) en un lenguaje de programacin.
Solucin de problemas empleando computadoras
3.1. DEFINICION DE PROBLEMAS Esta fase est dada por el enunciado del problema, el cual requiere una definicin clara y precisa. Pg: 15
Tomar en cuenta que la solucin del problema debe estar en funcin de lo que el problema requiera y no en funcin de lo que el programador quiera. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.
3.2. ANLISIS DEL PROBLEMA No existe un mtodo general para la resolucin de problemas, la resolucin de un problema es un proceso creativo donde el conocimiento, la habilidad y la experiencia tiene un papel importante, el proceder de manera sistemtica ayuda a resolver un problema. Al comenzar a abordar un problema hay que tener en cuenta que para la mayora de ellos hay muchas maneras de resolver y pueden existir muchas soluciones, se plantean algunos criterios o estrategias generales que se deben tomar en cuenta, las cuales son tiles en el anlisis del problema. Usar toda la informacin til (no superficial) disponible en el enunciado del problema. Hacer explcita las reglas y datos que aparezcan implcitos (en muchos problemas numricos se pueden utilizar reglas de la aritmtica o lgebra). Profundizar en el problema considerado (emplear algn tipo de notacin). Dividir el problema complejo en subproblemas ms simples que se pueden resolver independientemente y despus combinar sus soluciones. Otra forma de abordar el problema consiste en trabajar hacia atrs es decir parir de la solucin e intentar llegar al estado inicial. El propsito del anlisis del problema es ayudar al programador para llegar a una cierta comprensin de la naturaleza del problema. Una buena definicin del problema junto con una descripcin detallada de las especificaciones de Pg: 16
entrada y de salida, son los requisitos ms importantes para llegar a una solucin eficaz.
Anlisis del Problema Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir: Los datos de entrada. Cul es la informacin que se desea producir (salida). Los mtodos y frmulas que se necesitan para procesar los datos. Una recomendacin muy practica es el que nos pongamos en el lugar de la computadora y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir los resultados esperados. Ejercicio.- Leer el radio de crculo y calcular e imprimir su superficie. Definicin del problema. Calcular la superficie de una circunferencia Anlisis del problema La entrada a este problema es el radio de la circunferencia y de tipo real. La salida de este problema es la superficie que tambin es de tipo real. 3.3. DISEO DEL ALGORITMO Un computador no tiene capacidad para solucionar problemas ms que cuando se le proporciona los sucesivos pasos a realizar. Estos pasos indican las instrucciones a ejecutar por la mquina y se denomina algoritmo. Pg: 17
Las caractersticas de un buen algoritmo son: Debe tener un punto particular de inicio. Debe ser definido, no debe permitir dobles interpretaciones. Debe ser general, es decir, soportar la mayora de las variantes que se puedan presentar en la definicin del problema. Debe ser finito en tamao y tiempo de ejecucin. Se pueden utilizar cualquier tcnica de diseo de algoritmos, diseo descendente, divide y vencers. Normalmente los pasos diseados en un primer esbozo del algoritmo son incompletos e indican solo unos pocos pasos, tras esta primera descripcin estos se amplan en una descripcin ms detallada con pasos especficos este proceso se denomina refinamiento del algoritmo. Ejemplo problema clculo de la superficie de una circunferencia.
En el diseo de un algoritmo tomamos en cuenta el siguiente desarrollo.
Pg: 18
3.4. VERIFICACIN DEL ALGORITMO Una vez que se ha terminado de escribir un algoritmo es necesario comprobar que realiza las tareas para las que ha sido diseado y produce el resultado correcto y esperado. El modo ms normal de comprobar un algoritmo es mediante la ejecucin manual (prueba de escritorio), usando datos significativos que abarquen todo el posible rango de valores y anotando en una hoja de papel las modificaciones que se producen en las diferentes fases hasta la obtencin de los resultados.
3.5. FASE SE IMPLEMENTACIN Una vez que el algoritmo est diseado, representado grficamente mediante una herramienta y verificado se debe pasar a la fase de codificacin, traducir el algoritmo a un determinado lenguaje de programacin que deber ser completada con la ejecucin y verificacin de resultado en el computador.
3.6. CODIFICACIN La codificacin es la operacin de escribir la solucin del problema (de acuerdo a la lgica del diagrama de flujo o pseudocdigo), en una serie de instrucciones detalladas, en un cdigo reconocible por la computadora, la serie de instrucciones detalladas se le conoce como cdigo fuente, el cual se escribe en un lenguaje de programacin o lenguaje de alto nivel.
3.7. PRUEBA DEPURACIN Los errores humanos dentro de la programacin de computadora son muchos y aumentan considerablemente con la complejidad del problema. El proceso de identificar y eliminar errores para dar paso a una solucin sin errores se le llama depuracin. Pg: 19
La depuracin o prueba resultado una tarea tan creativa como el mismo desarrollo de la solucin, por ello se debe considerar con el mismo inters y entusiasmo. Resulta conveniente observar los siguientes principios al realizar una depuracin, ya que de este trabajo depende el xito de nuestra solucin.
3.8. DOCUMENTACIN Es la gua o comunicacin escrita es sus variadas formas, ya sea en enunciados, procedimientos, dibujos o diagramas. A menudo un programa escrito por una persona, es usado por otra. Por ello la documentacin sirve para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento). La documentacin se divide en tres partes: - Documentacin Interna - Documentacin Externa - Manual de Usuario
Pg: 20
CAPTULO IV
TIPOS DE ALGORITMO 4.1. Algoritmos Voraces (Greedy)
Un algoritmo voraz (tambin conocido como vido, devorador o goloso) es aquel que, para resolver un determinado problema, sigue una metaheurstica consistente en elegir la opcin ptima en cada paso local con la esperanza de llegar a una solucin general ptima. Este esquema algortmico es el que menos dificultades plantea a la hora de disear y comprobar su funcionamiento. Normalmente se aplica a los problemas de optimizacin. Ejemplo:
4.2. Algoritmos Probabilsticos Un algoritmo probabilista (o probabilstico) es un algoritmo que basa su resultado en la toma de algunas decisiones al azar, de tal forma que, en promedio, obtiene una buena solucin al problema planteado para cualquier Pg: 21
distribucin de los datos de entrada. Es decir, al contrario que un algoritmo determinista, a partir de unos mismos datos se pueden obtener distintas soluciones y, en algunos casos, soluciones errneas. Existen varios tipos de algoritmos probabilsticos dependiendo de su funcionamiento, pudindose distinguir: Algoritmos numricos, que proporcionan una solucin aproximada del problema. Algoritmos de Montecarlo, que pueden dar la respuesta correcta o respuesta errneas (con probabilidad baja). Algoritmos de Las Vegas, que nunca dan una respuesta incorrecta: o bien dan la respuesta correcta o informan del fallo. Ejemplo de Algoritmos de Monte Carlo:
Pg: 22
Ejemplo de Algoritmo de Las Vegas:
4.3. Algoritmos deterministas/No deterministas
Un algoritmo determinista es un algoritmo que, en trminos informales, es completamente predictivo si se conocen sus entradas. Dicho de otra forma, si se conocen las entradas del algoritmo siempre producir la misma salida, y la mquina interna pasar por la misma secuencia de estados. Este tipo de algoritmos ha sido el ms estudiado durante la historia y por lo tanto resulta ser el tipo ms familiar de los algoritmos, as como el ms prctico ya que puede ejecutarse en las mquinas eficientemente. Ejemplo:
Pg: 23
4.4. Algoritmos de Divide y Vencers.
Partiendo de un problema de gran tamao lo abordamos empezando por una parte pequea y al unir la resolucin de varias partes pequeas tenemos la solucin de una parte cada vez mayor hasta completar el todo. Ejemplo:
4.5. Algoritmo BackTracking
En su forma bsica, la idea de backtracking se asemeja a un recorrido en profundidad dentro de un grafo dirigido. El grafo en cuestin suele ser un rbol, o por lo menos no contiene ciclos. Sea cual sea su estructura, existe slo implcitamente. El objetivo del recorrido es encontrar soluciones para algn problema. Esto se consigue construyendo soluciones parciales a medida que progresa el recorrido; estas soluciones parciales limitan las regiones en las que se puede encontrar una solucin completa. El recorrido tiene xito si, procediendo de esta forma, se puede definir por completo una solucin. En este caso el algoritmo puede bien detenerse (si lo nico que se necesita es una solucin del problema) o bien seguir buscando soluciones alternativas (si deseamos examinarlas todas). Por otra parte, el recorrido no tiene xito si en Pg: 24
alguna etapa la solucin parcial construida hasta el momento no se puede completar. En tal caso, el recorrido vuelve atrs exactamente igual que en un recorrido en profundidad, eliminando sobre la marcha los elementos que se hubieran aadido en cada fase. Cuando vuelve a un nodo que tiene uno o ms vecinos sin explorar, prosigue el recorrido de una solucin. Ejemplo de Algoritmo BackTracking (vuelta atrs):
4.6. Algoritmo Ramificacin y poda
La tcnica de Ramificacin y poda se suele interpretar como un rbol de soluciones, donde cada rama nos lleva a una posible solucin posterior a la actual. La caracterstica de esta tcnica con respecto a otras anteriores (y a la que debe su nombre) es que el algoritmo se encarga de detectar en qu ramificacin las soluciones dadas ya no estn siendo ptimas, para podar esa rama del rbol y no continuar malgastando recursos y procesos en casos que se alejan de la solucin ptima.
Pg: 25
Ejemplo:
4.7. Algoritmos Heursticos Una heurstica es un algoritmo que abandona uno o ambos objetivos; por ejemplo, normalmente encuentran buenas soluciones, aunque no hay pruebas de que la solucin no pueda ser arbitrariamente errnea en algunos casos; o se ejecuta razonablemente rpido, aunque no existe tampoco prueba de que siempre ser as. Las heursticas generalmente son usadas cuando no existe una solucin ptima bajo las restricciones dadas (tiempo, espacio, etc.), o cuando no existe del todo. A menudo, pueden encontrarse instancias concretas del problema donde la heurstica producir resultados muy malos o se ejecutar muy lentamente. An as, estas instancias concretas pueden ser ignoradas porque no deberan ocurrir nunca en la prctica por ser de origen terico. Por tanto, el uso de heursticas es muy comn en el mundo real.
Pg: 26
Ejemplo:
4.8. Algoritmos Genticos
Son llamados as porque se inspiran en la evolucin biolgica y su base gentico-molecular. Estos algoritmos hacen evolucionar una poblacin de individuos sometindola a acciones aleatorias semejantes a las que actan en la evolucin biolgica (mutaciones y recombinaciones genticas), as como tambin a una Seleccin de acuerdo con algn criterio, en funcin del cual se decide cules son los individuos ms adaptados, que sobreviven, y cules los menos aptos, que son descartados.
Pg: 27
Ejemplo:
Pg: 28
Conclusiones
Del trabajo realizado concluyo que: Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solucin a un problema especfico, de all su importancia en el campo ingenieril.
Pg: 29
Bibliografa
- STORTI, Mario (2012). Algoritmos y Estructura de Datos. Universidad Nacional del Litoral. - DUCH, Amalia (2007). Anlisis de Algoritmos. Barcelona. - http://informaticabasededatos.blogspot.com/2012/02/tipos-de-algoritmos_14.html - http://webdiis.unizar.es/asignaturas/EDA/ea/slides/2-Algoritmos%20Voraces.pdf - http://elvex.ugr.es/decsai/algorithms/slides/3%20DV.pdf - http://elvex.ugr.es/decsai/algorithms/slides/5%20Backtracking.pdf - http://eio.usc.es/pub/mte/descargas/ProyectosFinMaster/Proyecto_782.pdf