fbpx
Wikipedia

Algoritmo híbrido

Un algoritmo híbrido es uno que combina dos o más algoritmos que solucionan el mismo problema, ya sea escogiendo uno (a merced de los datos), o cambiando entre ellos sobre el curso del algoritmo. Esto se hace generalmente para combinar características deseadas de cada uno, a fin de que el algoritmo global sea mejor que los componentes individuales.

"Algoritmo híbrido" no se refiere a combinar algoritmos para resolver un problema–muchos algoritmos son las combinaciones de pedazos más simples–pero si combinar algoritmos que resuelven el mismo problema y que difieren en características particulares como el tiempo de ejecución para un tamaño de entrada dado.


Ejemplos

En la ciencia de la computación, los algoritmos híbridos son muy comunes en implementaciones del mundo real para optimizar algoritmos recursivos, en particular implementaciones que usan técnicas como divide y vencerás, donde el tamaño de los datos decrece a medida que la profundidad de la recursión aumenta. En este caso, un algoritmo es usado para el aprovechamiento global (en datos grandes), pero en lo profundo de la recursión, se cambia y se usa un algoritmo diferente, el cual es más eficiente para entradas pequeñas. Un ejemplo común se da en los algoritmos de ordenación, como es el caso del algoritmo InsertionSort, el cual es ineficiente para grandes entradas de datos, pero muy eficiente para pequeñas entradas (cinco a diez elementos), este es utilizado como el paso final, después de primordialmente aplicado otro algoritmo, como MergeSort u QuickSort; MergeSort o QuickSort son asintóticamente óptimos para grandes entradas, pero su tiempo de ejecución puede ser significativo para entradas pequeñas, por lo que el uso de un algoritmo diferente al final de la recursión es una idea original. Un algoritmo híbridos altamente optimizado es el TimSort el cual combina MergeSort, InsertionSort, conjuntamente con la lógica adicional (incluyendo búsqueda binaria) en la lógica de unión.

Un procedimiento general para un algoritmo recursivo híbrido simple es saltarse el caso base. En este caso, si el siguiente paso dará como resultado el caso base es comprobado antes de la llamada de función, evitando una llamada innecesaria de función. Por ejemplo, en un árbol, en vez de hacer recursión hacia un nodo hijo y luego inspeccionar si es nulo, se chequea nulidad antes de hacer el llamado recursivo. Esto es útil para la eficiencia cuando el algoritmo usualmente encuentra el caso de base muchas veces, en muchos algoritmos de árboles pasa esto, pero por otro lado es escasamente considerado, en particular por académicos, debido a la complejidad añadida. Otra uso de algoritmos híbridos por el tiempo de ejecución son IntroSort e IntroSelect. IntroSort comienza con un QuickSort, pero hace cambios para un HeapSort si el QuickSort no progresa bien; análogamente el IntroSelect empieza con QuickSelect, pero cambia a mediana de medianas si QuickSelect no progresa bien.

Los algoritmos distribuidos centralizados a menudo pueden ser considerados como algoritmos híbridos, consistiendo de un algoritmo individual (corrido en cada procesador distribuido), respectivamente y un algoritmo (corrido en un distribuidor centralizado) que combina – éstos corresponden a correr el algoritmo entero en un procesador, o correr la computación entera en el distribuidor y combinar resultados. Un ejemplo básico de estos algoritmos son los repartidores de ordenaciones, en particular usados para la ordenación externa, cuál divide los datos en subconjuntos separados, ordena los subconjuntos, y luego combina los subconjuntos en datos completamente ordenados, ejemplos son Bucket y FlashSort.

Sin embargo, en general los algoritmos distribuidos no tienen porque ser necesariamente híbridos. Por ejemplo, en los modelos como MapReduce, el Map y Reduce solucionan problemas diferentes, y están combinados para solucionar un problema diferente, tercer problema.

Referencias

  •   Datos: Q17092099

algoritmo, híbrido, algoritmo, híbrido, combina, más, algoritmos, solucionan, mismo, problema, escogiendo, merced, datos, cambiando, entre, ellos, sobre, curso, algoritmo, esto, hace, generalmente, para, combinar, características, deseadas, cada, algoritmo, gl. Un algoritmo hibrido es uno que combina dos o mas algoritmos que solucionan el mismo problema ya sea escogiendo uno a merced de los datos o cambiando entre ellos sobre el curso del algoritmo Esto se hace generalmente para combinar caracteristicas deseadas de cada uno a fin de que el algoritmo global sea mejor que los componentes individuales Algoritmo hibrido no se refiere a combinar algoritmos para resolver un problema muchos algoritmos son las combinaciones de pedazos mas simples pero si combinar algoritmos que resuelven el mismo problema y que difieren en caracteristicas particulares como el tiempo de ejecucion para un tamano de entrada dado Ejemplos EditarEn la ciencia de la computacion los algoritmos hibridos son muy comunes en implementaciones del mundo real para optimizar algoritmos recursivos en particular implementaciones que usan tecnicas como divide y venceras donde el tamano de los datos decrece a medida que la profundidad de la recursion aumenta En este caso un algoritmo es usado para el aprovechamiento global en datos grandes pero en lo profundo de la recursion se cambia y se usa un algoritmo diferente el cual es mas eficiente para entradas pequenas Un ejemplo comun se da en los algoritmos de ordenacion como es el caso del algoritmo InsertionSort el cual es ineficiente para grandes entradas de datos pero muy eficiente para pequenas entradas cinco a diez elementos este es utilizado como el paso final despues de primordialmente aplicado otro algoritmo como MergeSort u QuickSort MergeSort o QuickSort son asintoticamente optimos para grandes entradas pero su tiempo de ejecucion puede ser significativo para entradas pequenas por lo que el uso de un algoritmo diferente al final de la recursion es una idea original Un algoritmo hibridos altamente optimizado es el TimSort el cual combina MergeSort InsertionSort conjuntamente con la logica adicional incluyendo busqueda binaria en la logica de union Un procedimiento general para un algoritmo recursivo hibrido simple es saltarse el caso base En este caso si el siguiente paso dara como resultado el caso base es comprobado antes de la llamada de funcion evitando una llamada innecesaria de funcion Por ejemplo en un arbol en vez de hacer recursion hacia un nodo hijo y luego inspeccionar si es nulo se chequea nulidad antes de hacer el llamado recursivo Esto es util para la eficiencia cuando el algoritmo usualmente encuentra el caso de base muchas veces en muchos algoritmos de arboles pasa esto pero por otro lado es escasamente considerado en particular por academicos debido a la complejidad anadida Otra uso de algoritmos hibridos por el tiempo de ejecucion son IntroSort e IntroSelect IntroSort comienza con un QuickSort pero hace cambios para un HeapSort si el QuickSort no progresa bien analogamente el IntroSelect empieza con QuickSelect pero cambia a mediana de medianas si QuickSelect no progresa bien Los algoritmos distribuidos centralizados a menudo pueden ser considerados como algoritmos hibridos consistiendo de un algoritmo individual corrido en cada procesador distribuido respectivamente y un algoritmo corrido en un distribuidor centralizado que combina estos corresponden a correr el algoritmo entero en un procesador o correr la computacion entera en el distribuidor y combinar resultados Un ejemplo basico de estos algoritmos son los repartidores de ordenaciones en particular usados para la ordenacion externa cual divide los datos en subconjuntos separados ordena los subconjuntos y luego combina los subconjuntos en datos completamente ordenados ejemplos son Bucket y FlashSort Sin embargo en general los algoritmos distribuidos no tienen porque ser necesariamente hibridos Por ejemplo en los modelos como MapReduce el Map y Reduce solucionan problemas diferentes y estan combinados para solucionar un problema diferente tercer problema Referencias Editar Datos Q17092099Obtenido de https es wikipedia org w index php title Algoritmo hibrido amp oldid 133245044, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos