2. DIFERENTES TIPOS DE ALGORITMOS
• VORACES: Elige la opción óptima en cada paso para llegar a una solución general óptima.
• PROBABILISTICOS: Basado 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.
• GEOMETRICOS: Se basan en cálculos simples que usan sumas, restas, multiplicaciones y
comparaciones.
• PARALELOS: Es un algoritmo que se ejecuta por partes en el mismo instante de tiempo
por varias unidades de procesamiento, para finalmente tomarlas todas y obtener el
resultado correcto.
• TIEMPO REAL: Garantiza que un trabajo se completará en un plazo de tiempo
especificado. Dicho sistema deberá garantizar que todos los retrasos en el
procesamiento, la entrada y salida son limitadas.
• GENETICOS: Funcionan entre el conjunto de soluciones de un y el conjunto de individuos
de una población, codificando la información de cada solución en una cadena,
generalmente binaria, llamada cromosoma.
3. CARACTERISTICAS DE ESTOS TIPOS DE
ALGORITMOS
• Las caracteristicas que presentan todos en comun es que se
busca encontrar una solucion a un problema de manera rapida
y eficaz. En los algoritmos voraces y de tiempo real por ejemplo
se puede ver como cada uno trata de simplificar la informacion
de manera eficiente, para lograr un menos tiempo encontrar la
solucion mas rapida y efectiva. Lo mismo pasa con los paralelos
y los geneticos, solo que estos subdividen la informacion para
luego compararla entre si, casi igual pero sin la misma funcion
que los algoritmos probabilisticos.
4. PROBLEMAS APROPIADOS – VORACES
• Problema: "Se pide crear un algoritmo que permita a una máquina
expendedora devolver el cambio mediante el menor número de monedas
posible, considerando que el número de monedas es limitado, es decir, se
tiene un número concreto de monedas de cada tipo".
• Solución: La estrategia a seguir consiste en escoger sucesivamente las
monedas de valor mayor que no superen la cantidad de cambio a devolver.
El buen funcionamiento del algoritmo depende de los tipos de monedas
presentes en la entrada. Así, por ejemplo, si no hay monedas de valor menor
que diez, no se podrá devolver un cambio menor que diez. Además, la
limitación del número de monedas también influye en la optimización del
algoritmo, el cual devuelve buenas soluciones bajo determinados conjuntos
de datos, pero no siempre.
6. PROBLEMAS APROPIADOS –
PROBABILISTICOS
• Hay problemas para los que no se conocen ningún algoritmo
eficiente (determinista o probabilista) que den siempre una
solución correcta en todas las ocasiones. Un buen problema
para los algoritmos de probabilidad son los algoritmos de
Monte Carlo que usualmente cometen ocasionalmente un error,
pero encuentran la solución correcta con una probabilidad alta
sea cual sea el caso considerado.
8. PROBLEMAS APROPIADOS – GEOMETRICOS
• Problema: “Dados n segmentos, determinar si existe o no
intersección entre pares de segmentos”
• Solucion: Se resolverá mediante una técnica de barrido, común
en aplicaciones de geometría computacional. Se supone una
línea imaginaria que pasa a través de objetos geométricos,
usualmente para ubicarlos en una estructura dinámica, y
detectar relaciones entre ellos.