Entrada destacada

Distancia media de dos puntos en un cuadrado unitario

martes, 13 de febrero de 2018

Caminos entre Esquinas de un Cuadrado


Dado un cuadrado n × n dibujar todos los posibles caminos que unen su esquina inferior izquierda con su esquina superior derecha.

Asignando 0 ir a la derecha y 1 ir hacia arriba, los caminos son todas las posibles permutaciones de n ceros y n unos, lo realizaremos para un cuadrado 2 × 2, entonces consideraremos todas las permutaciones posibles del conjunto {0,0,1,1}

caminos = {0, 0, 1, 1};
Permutations[caminos]

{{0, 0, 1, 1}, {0, 1, 0, 1}, {0, 1, 1, 0}, {1, 0, 0, 1}, {1, 0, 1, 
  0}, {1, 1, 0, 0}}

Generamos la función que nos va a graficar cada uno de los caminos:

camino[lista_List] := 
 Module[{cam = {{0, 0}}}, 
  Do[If[lista[[n]] == 0, AppendTo[cam, Last[cam] + {1, 0}], 
    AppendTo[cam, Last[cam] + {0, 1}]], {n, Length[lista]}]; 
  Graphics[{Red, Arrowheads[0.08], Thickness[0.01], Arrow[cam]}, 
   GridLines -> {Range[0, Length[lista]], Range[0, Length[lista]]}]]

camino[{0, 1, 1, 0, 1, 0, 0, 1}]



El total de caminos que se tiene en un arreglo n × n, está dado por Binomial[2n,n], en nuestro caso es Binomial[4,2].  Así,

Grid[{Table[camino[Permutations[caminos][[n]]], {n, Binomial[4, 2]}]}]



Para aprender más sobre Mathematica ingrese aquí sitio de aprendizaje de Wolfram o en mi website ustamathematica.wixsite.com/basicas


No hay comentarios.:

Publicar un comentario