¿Alguien puede ayudarme con el algoritmo de detección de ciclo de Brent? No estoy entendiendo exactamente por qué "buscar el poder más pequeño de dos 2^i que sea más grande que ambos λ y μ"? Cómo los poderes de 2 juegan un rol en la detección del ciclo. ¿Está de alguna manera relacionado con el algoritmo de detección de ciclos de Floyd? No puedo obtenerlo desde lo básico. Por favor ayuda !Algoritmo de detección de ciclo de Brent
Respuesta
Este método utiliza incrementos en los pasos (1, 2, 4, 8 ...) para ingresar al ciclo lo antes posible. Cuando P = 2^k llega a ser más grande que tanto λ y μ, entonces la tortuga (T) está en el circuito, y liebre (H) no hace más que P pasos para encontrarse (de pie) con la tortuga nuevamente. Parece que alguna simulación sería útil. Vamos tenemos lista 0-1-2-3-4-5-6-7-3
P=1 T=0 H=0; H makes 1 step and doesn't meet T
P=2 T=1 H=1; H makes 2 steps and doesn't meet T
P=4 T=3 H=3; H makes 4 steps and doesn't meet T
P=8 T=7 H=7; H makes 5 steps and meets T !!!!!
Aviso: Con P = 4 T es el interior del bucle, pero la liebre no pasa por todo el ciclo (P> = μ pero P < λ)
Hemos encontrado μ < 8 y λ = 5. A continuación, queremos encontrar μ (punto de entrada de bucle)
T=0 H=0; H makes 5 steps; H=5
while T <> H
move both
T=1 H=6
T=2 H=7
T=3 H=3 !!!!!!!
Nos acaba de encontrar μ = 3
Gracias ... eso ayudó mucho :) – SlashGeek
¿Puede explicar por qué se usan "potencias de dos" aquí? Si pretendemos tener liebre dentro del circuito lo antes posible, ¿por qué no usamos "poderes de 3" o "poderes de 5"? Si se usan "potencias de 5", ¿este algoritmo seguirá siendo válido? Finalmente, ¿por qué λ es igual al número de últimos pasos que se hicieron antes de conocer a la tortuga? ¿Qué prueba tenemos para tomar ese número como la duración del ciclo? Gracias. – carawan
@carawan, creo que también funcionan el power-of-3 y el power-of-5, aunque no tengo ninguna prueba. Hice algunas pruebas simples.
Si el iterador más lento no se mueve en absoluto, entonces el algoritmo se rompe porque el iterador más lento podría estar fuera del ciclo.
Si el iterador más lento atrasa el iterador más rápido y la siguiente distancia siempre está por debajo de un límite fijo (como 99), el algoritmo se rompe porque el tamaño del bucle podría superar 99.
Si la siguiente distancia crece gradualmente, Y seguidor se mueve, entonces creo que eventualmente se encontrarán. –
- 1. Algoritmo de detección de horizonte
- 2. Ayuda de detección de ciclo de Tarjan C#
- 3. Algoritmo de detección de codificación de caracteres
- 4. Detección de ciclo en una lista vinculada: Teoría exhaustiva
- 5. Algoritmo de detección de bucle de lista enlazada
- 6. Detección de plagio - Algoritmo de arrastre - Choque de huellas dactilares
- 7. Enfoques de un algoritmo de detección de ruta dinámica
- 8. C# Algoritmo de detección de espacio en blanco GDI Edge
- 9. Red neuronal, Algoritmo genético como sistema de detección de intrusiones
- 10. algoritmo robusto para la detección de anchuras de los picos
- 11. Mejor algoritmo para detección de colisiones eficiente entre objetos
- 12. Detección de línea | Detección de ángulo con Java
- 13. Implementación de detección de cresta
- 14. Detección de borde de imagen
- 15. vídeo de detección de escenario de implementación
- 16. ¿Detección de patrón de clave de licencia?
- 17. Detección de objetos + segmentación
- 18. ¿Ayuda con la implementación de este algoritmo de detección de tiempos?
- 19. Algoritmo de detección de rostros para una cara de 15x15 píxeles?
- 20. Detección de ciclo en la lista vinculada con el enfoque Hare and Tortoise
- 21. Detección y comparación de rostros
- 22. Detección de manos usando OpenCV
- 23. Detección de bucle de redirección del navegador
- 24. Detección de ruido de viento
- 25. casi duplicados Detección de imagen
- 26. algoritmo de detección de comunidad/clúster en redes - implementado en javascript?
- 27. algoritmo rápido, muy ligero para la detección de movimiento de la cámara?
- 28. ¿Qué es un buen algoritmo de detección de colisiones en 2D rectángulos solo?
- 29. Algoritmos para la detección de isomorfismo subgráfico
- 30. ¿Algoritmos de detección de imágenes duplicados?
@WillNess ¿Qué tiene esto que ver con los números primos? Creo que la etiqueta primes debería eliminarse. – gsingh2011
@ gsingh2011 se usa en el algoritmo de factorización de primas. tal vez la etiqueta de factorización debe agregarse/reemplazar los números primos ... :) –