¿Qué ventaja obtenemos de usar Double DFS (DFS desde ambos extremos del gráfico) al resolver un cubo Rubik 2 × 2?

Supongo que te estás refiriendo al problema del cubo Rubik 6.006, página en mit.edu

En primer lugar, debe hacer BFS, porque eso le brinda los caminos más cortos. DFS no es particularmente útil en esta situación.

En segundo lugar, el BFS de dos lados es apropiado aquí debido a la apariencia del gráfico de estado. Desde cualquier estado de cubo, puede alcanzar algunos otros estados (llamémoslo k estados, olvidé cuántos movimientos puede realizar). Hay poca superposición entre los estados alcanzables, incluso después de tener en cuenta todas las simetrías posibles.

Si usa Vanilla BFS y encuentra la solución después de que l se mueva, habrá explorado l niveles del gráfico y habrá descubierto los caminos más cortos a todas las configuraciones que están a menos de su punto de partida. Debido a la apariencia del gráfico, explorará aproximadamente k ^ l nodos.

Si usa BFS de 2 lados, los dos lados se encontrarán después de explorar 1/2 nodos en cada lado. Esto significa que explorará 2 * k ^ (l / 2), que es aproximadamente la raíz cuadrada de cuántos nodos habría explorado con BFS directo.

Si desea visualizar esto, BFS le ofrece un árbol corto y grueso. BFS de 2 lados le ofrece un diamante compuesto por 2 pequeñas mitades del árbol corto y gordo.

More Interesting

¿Cuál es la mejor tecnología de implementación física en computadoras cuánticas?

¿Cuál es una explicación intuitiva de la mejora de Anders y Briegel al algoritmo Aaronson-Gottesman?

¿Qué nos detiene de la computación cuántica?

¿Cuándo debo comenzar a aprender lenguajes de programación de computación cuántica?

¿En qué áreas de la informática debería centrarme si quiero trabajar en la computación cuántica?

¿Cómo se relacionan el almacenamiento de datos cuánticos y la computación cuántica? Más específicamente, ¿es posible uno antes que el otro?

En física cuántica, ¿el principio de "incertidumbre" implica que cada cosa cuántica es incierta por sí misma? Pero la física cuántica en sí misma se basa en el 100% de certeza de las partículas.

Si con la computación cuántica, los algoritmos se ejecutarán en menor cantidad de tiempo que sus contrapartes clásicas, ¿qué pasa con las personas que se dedican a optimizar algoritmos?

¿Hay un buen ejemplo / algoritmo que explique cómo funcionan las computadoras cuánticas?

¿Cómo cambia la mecánica cuántica las nociones de Einstein de medir eventos simultáneos en relatividad? ¿Es la simultaneidad un problema de medición cuántica?

¿Por qué los graduados en matemáticas, física y química son los programadores informáticos más impresionantes? ¿Cómo les ayuda la búsqueda de matemáticas / física a ser programadores tan exitosos? ¿Qué los motiva a profundizar en las computadoras?

¿La mecánica cuántica es realmente aleatoria? ¿Es posible que existan leyes más altas que gobiernen la mecánica cuántica?

¿Por qué la ciencia en general parece ignorar la diferencia fundamental entre la aleatoriedad clásica (pseudo) y cuántica (genuina) en la naturaleza?

¿Por qué la cantidad de información que una computadora cuántica puede calcular crece tan rápidamente en comparación con una computadora clásica?

¿Puedo usar la iteración de Jacobi en una dimensión lineal convection_implicit (boundary = constant)?