7 votos

¿Existen $3$ copias disjuntas de $2K_{3,3} \cup (K_{5,5} \setminus C_{10})$ en $K_{11,11}$ ?

Pregunta : ¿Existen $3$ borde copias disjuntas de $H:=2K_{3,3} \cup (K_{5,5} \setminus C_{10})$ en $K_{11,11}$ ?

Este es un dibujo de $H$ :

$2K_{3,3} \cup (K_{5,5} \setminus C_{10})$

Estoy trabajando en un problema de investigación de cuadrados latinos e intento que funcione una construcción. Si funcionara, daría una solución a este problema. Sólo que no consigo que funcione fácilmente. Tal vez lo anterior no existe, y mi construcción no funcionará en este caso.

  • Vemos $H$ es regular con grado $3$ y los grados de los vértices en $K_{11,11}$ est $11$ así que no hay conflicto.
  • $H$ tiene $33$ bordes mientras $K_{11,11}$ tiene $121$ bordes, así que no hay choque ahí.

5voto

Misha Puntos 1723

Ya que he resuelto el otro problema vinculado, he pensado que podría probar con el recocido simulado.

La respuesta también es sí; de hecho, aquí podemos encontrar $3$ copias disjuntas de $2K_{3,3} \cup (K_{5,5} - P_{10})$ . Añadí la arista extra para intentar que el problema fuera un poco más limitado y que la solución fuera más bonita, pero no estoy seguro del efecto que tuvo.

La solución que he encontrado está más abajo:

enter image description here

Aquí está mi código de recocido simulado (puede tomar algunos intentos antes de encontrar una solución de energía cero):

edges[{perm1_, perm2_}] :=
  Join[
   Tuples[{perm1[[1 ;; 3]], perm2[[1 ;; 3]]}],
   Tuples[{perm1[[4 ;; 6]], perm2[[4 ;; 6]]}],
   Complement[
    Tuples[{perm1[[7 ;; 11]], perm2[[7 ;; 11]]}],
    Table[{perm1[[i]], perm2[[i]]}, {i, 7, 11}],
    Table[{perm1[[i]], perm2[[i + 1]]}, {i, 7, 10}]]];
value[state_] := 102 - Length[Union @@ (edges /@ state)];
randomPerm[] := {RandomSample[Range[11]], RandomSample[Range[11]]}
newState[] := {{Range[11], Range[11]}, randomPerm[], randomPerm[]};
randomSwitch[state_] := 
 Module[{h = RandomInteger[{2, 3}], i = RandomInteger[{1, 2}], j, k, 
   copy = state},
  {j, k} = RandomSample[Range[11], 2];
  copy[[h, i, {j, k}]] = Reverse[copy[[h, i, {j, k}]]];
  Return[copy];
  ]

currentState = bestState = newState[];
currentEnergy = bestEnergy = value[currentState];
temp = 1;
While[Exp[-1/temp] > 1/1000,
 Do[
  nextState = randomSwitch[currentState];
  nextEnergy = value[nextState];
  If[nextEnergy < bestEnergy, bestState = nextState; 
   bestEnergy = nextEnergy];
  prob = Exp[-((nextEnergy - currentEnergy)/temp)];
  If[RandomReal[] < prob, currentState = nextState; 
   currentEnergy = nextEnergy];
  , {3000}];
 If[bestEnergy == 0, Break[]];
 temp *= 0.99; Print[{temp, currentEnergy}]
 ]
Print["Done ", bestEnergy];

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X