Saltar al contenido

Secuencia de Langford – Utilizar simetría / Eliminar simetría

Esta es la contestación más acertada que encomtrarás dar, pero primero estúdiala pausadamente y valora si se puede adaptar a tu trabajo.

Solución:

L(s, n) es “hasta la reversión de la orden” ver, por ejemplo, https://oeis.org/A014552. Esto significa, por ejemplo, que para |L(2, 4)| tenemos

4 1 3 1 2 4 3 2

y

2 3 4 2 1 3 1 4

ambos satisfacen la propiedad, pero uno es justo lo contrario del otro, por lo que |L(2, 4)| = 1.

Para tener esto en cuenta en su algoritmo, puede comprobar, por ejemplo, en el primer nivel que hay más bits libres a la izquierda que a la derecha.

NB: su algoritmo enumera todas las soluciones, por lo que la complejidad es > L(2, n) y para n = 20 esto ya es mas que 2^41. Probablemente no llegues a esto. Como se menciona en la página de Wikipedia:

para grande n el número de soluciones se puede calcular de manera más eficiente mediante métodos algebraicos

Si aceptas, tienes el poder dejar una sección acerca de qué te ha impresionado de esta noticia.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *