La siguiente presentacion busca recopilar los datos principlaes de Algoritmos Probabilisticos, Algoritmos Voraces, Algoritmos Geometricos, Algoritmos Paralelo, Algoritmos de Tiempo Real, Algoritmos Geneticos.
2. ALGORITMOS VORACES
“es aquel que, para resolver un
determinado problema, sigue
una heurística consistente en elegir
la opción óptima en cada paso local
con la esperanza de llegar a una
solución general óptima. Este
esquema algorítmico es el que
menos dificultades plantea a la hora
de diseñar y comprobar su
funcionamiento. ”
3. CARACTERISTICAS
El conjunto C de candidatos,
entradas del problema.
Función solución. Comprueba, en
cada paso, si el subconjunto
actual de candidatos elegidos
forma una solución (no importa
si es óptima o no lo es).
Función de selección. Informa
cuál es el elemento más
prometedor para completar la
solución. Éste no puede haber
sido escogido con anterioridad.
Cada elemento es considerado
una sola vez. Luego, puede ser
rechazado o aceptado y
Función de factibilidad. Informa
si a partir de un conjunto se
puede llegar a una solución. Lo
aplicaremos al conjunto de
seleccionados unido con el
elemento más prometedor.
Función objetivo. Es aquella que
queremos maximizar o
minimizar, el núcleo del
problema.
4. ALGORITMOS
PROBABILISTICOS
Un algoritmo probabilista (o
probabilístico) es un algoritmo
que basa su resultado en la toma
de algunas decisiones al azar, de
tal forma que, en promedio,
obtiene una buena solución al
problema planteado para
cualquier distribución 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 erróneas.
5. CONSIDERACIONES
I. Se puede optar por la elección aleatoria si se tiene un problema cuya elección óptima es
demasiado costosa frente a la decisión aleatoria. Un algoritmo probabilista puede comportarse de
distinta forma aplicando la misma entrada.
II. A un algoritmo determinista nunca se le permite que no termine: hacer una división por 0, entrar
en un bucle infinito, etc. mientras que a un algoritmo probabilista se le permiten estos casos
siempre que la probabilidad de que ocurran sea baja.
III. Si existe más de una solución para unos datos dados, un algoritmo determinista siempre
encuentra la misma solución (a no ser que se programe para encontrar varias o todas).
IV. Un algoritmo probabilista puede encontrar soluciones diferentes ejecutándose varias veces con
los mismos datos.
V. A un algoritmo determinista no se le permite que calcule una solución incorrecta para ningún
dato.
VI. Un algoritmo probabilista puede equivocarse siempre que esto ocurra con una probabilidad
pequeña para cada dato de entrada.
VII. Repitiendo la ejecución un número suficiente de veces para el mismo dato, puede aumentarse
tanto como se quiera el grado de confianza en obtener la solución correcta.
VIII. El análisis de la eficiencia de un algoritmo determinista es, en determinadas ocasiones, difícil.
IX. El análisis de los algoritmos probabilistas es, a menudo, muy difícil.
7. ALGORITMOS
GEOMETRICOS
Los algoritmos geométricos operan sobre
objetos
geométricos tales como puntos, segmentos
o polígonos.
Analizaremos algoritmos en dos
dimensiones en los
que cada objeto geométrico es
representado como un
conjunto de puntos {pi} donde pi=(xi,yi) con
xi, yi ∈
R
Por ejemplo, un polígono de n vértices es
representado por una secuencia <p
0,p
1,…pn-1> de sus
vértices.
8. ALGORITMOS GEOMETRICOS
Segmento
Dados dos puntos p 1 y p 2, el segmento p 1 p 2 es el conjunto de
combinaciones convexas de p 1 y p 2 .
Vector
Un segmento orientado entre p 1 y p 2 se denota p 1 p 2. Si p 1 es el
origen (0,0) p 1 p 2 es el vector p 2
9. ALGORITMOS PARALELOS
En las ciencias de la computación,
un algoritmo paralelo, en
oposición a los algoritmos clásicos
o algoritmos secuenciales, es un
algoritmo que puede ser ejecutado
por partes en el mismo instante de
tiempo por varias unidades de
procesamiento, para finalmente
unir todas las partes y obtener el
resultado correcto.
10. ALGORITMOS PARALELOS
Los algoritmos paralelos son importantes porque es más rápido tratar
grandes tareas de computación mediante la paralelización que mediante
técnicas secuenciales. Esta es la forma en que se trabaja en el desarrollo de
los procesadores modernos, ya que es más difícil incrementar la capacidad
de procesamiento con un único procesador que aumentar su capacidad de
cómputo mediante la inclusión de unidades en paralelo, logrando así la
ejecución de varios flujos de instrucciones dentro del procesador. Pero hay
que ser cauto con la excesiva paralelización de los algoritmos ya que cada
algoritmo paralelo tiene una parte secuencial y debido a esto, los algoritmos
paralelos puedes llegar a un punto de saturación (ver Ley de Amdahl). Por
todo esto, a partir de cierto nivel de paralelismo, añadir más unidades de
procesamiento puede sólo incrementar el coste y la disipación de calor.
El coste o complejidad de los algoritmos secuenciales se estima en términos
del espacio (memoria) y tiempo (ciclos de procesador) que requiera. Los
algoritmos paralelos también necesitan optimizar la comunicación entre
diferentes unidades de procesamiento. Esto se consigue mediante la
aplicación de dos paradigmas de programación y diseño de procesadores
distintos: memoria compartida o paso de mensajes.
11. ALGORITMOS DE TIEMPO
REAL
Los sistemas de tiempo real se clasifican
en general en dos tipos dependiendo de
lo serio de sus tiempos límite y de las
consecuencias de omitir uno de ellos.
Estos son:
Sistema de tiempo real suave.
Sistema de tiempo real duro.
El tiempo real suave significa que no
existe problema si se rebasa un tiempo
límite. Un sistema de tiempo real duro es
aquel en el que un tiempo límite no
cumplido puede resultar catastrófico.
12. CARACTERISTICAS
Garantiza que las tareas críticas se terminen a tiempo.
· Requiere que todos los retardos del sistema estén limitados.
· Tales restricciones de tiempo determinan los recursos que están
disponibles en este tipo de sistemas.
· Para este tipo de sistema el almacenamiento secundario suele ser
limitado o ausente.
· Los datos se almacenan en la memoria de corto plazo o memoria de
solo lectura.
· Son incompatibles con el funcionamiento de los sistemas de tiempo
compartido y no pueden combinarse con ellos.
13. ALGORITMOS GENETICOS
Un algoritmo es una serie de pasos
organizados que describe el proceso que se
debe seguir, para dar solución a un
problema específico.
La antena 2006 de la nave espacial de la
NASA ST5. Esta forma complicada fue
encontrada por un programa evolutivo del
diseño de computadora para crear el mejor
patrón de la radiación. Se conoce como una
antena evolucionada.
En los años 1970, de la mano de John Henry
Holland, surgió una de las líneas más
prometedoras de la inteligencia artificial, la
de los algoritmos genéticos, (AG) Son
llamados así porque se inspiran en la
14. ALGORITMOS
GENETICOS
A. Un algoritmo genético puede presentar diversas variaciones, dependiendo de
cómo se aplican los operadores genéticos (cruzamiento, mutación), de cómo se
realiza la selección y de cómo se decide el reemplazo de los individuos para
formar la nueva población. En general, el pseudocódigo consiste de los
siguientes pasos:
B. Inicialización: Se genera aleatoriamente la población inicial, que está constituida
por un conjunto de cromosomas los cuales representan las posibles soluciones
del problema. En caso de no hacerlo aleatoriamente, es importante garantizar
que dentro de la población inicial, se tenga la diversidad estructural de estas
soluciones para tener una representación de la mayor parte de la población
posible o al menos evitar la convergencia prematura.
C. Evaluación: A cada uno de los cromosomas de esta población se aplicará la
función de aptitud para saber cómo de "buena" es la solución que se está
codificando.
D. Condición de término: El AG se deberá detener cuando se alcance la solución
óptima, pero esta generalmente se desconoce, por lo que se deben utilizar otros
criterios de detención. Normalmente se usan dos criterios: correr el AG un
número máximo de iteraciones (generaciones) o detenerlo cuando no haya
cambios en la población. Mientras no se cumpla la condición de término se hace
lo siguiente:
E. Selección: Después de saber la aptitud de cada cromosoma se procede a elegir
los cromosomas que serán cruzados en la siguiente generación. Los
cromosomas con mejor aptitud tienen mayor probabilidad de ser seleccionados.
F. Recombinación o cruzamiento: La recombinación es el principal operador
genético, representa la reproducción sexual, opera sobre dos cromosomas a la
vez para generar dos descendientes donde se combinan las características de
ambos cromosomas padres.
G. Mutación: Modifica al azar parte del cromosoma de los individuos, y permite