Resumen- Expondremos aquí algunos
resultados obtenidos con el paquete de Maxima graphs,
utilizando algunos conceptos extraídos en [1] y resolveremos algunas
cuestiones planteadas en [2], texto basado en los contenidos
referidos a la teoría de grafos incluidos en los actuales planes de
estudio de la asignatura Matemáticas Discretas, los cuales
requieren el concepto de grafo orientado, camino hamiltoniano,
estudio de grafos planos por el Teorema de Kuratowski, etc.
Y daremos un ejemplo de construcción
de grafos con los de tipo K3,3, K4,4 y K5,
realizando además un estudio completo de ellos. Para mayor sencillez
trabajaremos con la interfaz wxMaxima para Windows.
Lo primero que debemos de hacer, al
igual que con otros paquetes de Maxima es cargarlo. Para ello
introducimos el siguiente comando:
load(graphs)$
Algunos comandos útiles de este
paquete, que será lo que utilizaremos aquí viene dados en [1] y por
el menú de ayuda de Maxima ( F1). Para tratar el tema de grafos tal
como plantea la asignatura son más que suficientes. Por otra parte,
el paquete tiene algunas herramientas prediseñadas que nos permiten
representar algunos grafos característicos. Algunas son:
- grid_graph(n,m) Obtenemos un
grafo en forma de rejilla de dimensiones nxm.
- complete_graph
(n) Devuelve el grafo completo de n vértices.
- cycle_digraph
(n) Devuelve el ciclo dirigido de n vértices.
- cycle_graph
(n) Devuelve el ciclo de n vértices.
- cuboctahedron_graph
() Devuelve el grafo cubooctaédrico.
- cube_graph
(n) . Devuelve el cubo de n dimensiones.
- dodecahedron_graph
() Devuelve el grafo del dodecaedro.
- empty_graph
(n) Devuelve un grafo sin vértices.
- wheel_graph (n) Devuelve el
grafo de rueda de n+1 vértices.
Insistir en el que hay muchas más
herramientas en el menú de ayuda de Maxima y wxMaxima ( F1). Ahora resolveremos dos problemas.
1º- Representación de los grafos k5
y k7. Vemos que podemos obtener la representación gráfica
de estos grafos insertando, una vez cargado los paquetes, los
siguientes comandos:
l:complete_graph(5);
f:complete_graph(7) ;
draw_graph(l,show_id=false)$
draw_graph(f,show_id=false)$
en una o dos celdas de entrada (F5). Obtenemos
las imágenes:
2º- Estudio de K3,3, K4,4
y K5 usando una descripción gráfica, la matriz de
adyacencia. ¿Son k3,3 y k5
grafos planos? Teniendo en cuenta las conclusiones anteriores,
¿Es k4,4 un grafo plano?
En la siguiente serie de comandos
obtenemos el grafo k3,3; en efecto, siguiendo el modelo
que aparece en [2] ( página, 176) hemos dibujado un grafo en forma
de rejilla de 3,2 y hemos construido el que aparece en la imagen;
para ello hemos usado los comandos add_edges() y
remove_edges().
En el estudio del grafo, que viene dado por
los comandos print_graphs, adjancy_matrix() e
is_conneceted() además de is_planar(). Siendo estos
dos últimos productores de valores booleanos ( false y true).
Así pues, vemos que, en el test, k3,3 es conexo pero no es planar.
Lo mismo pasa con K5.
Con k4,4 ocurre lo mismo que
en los casos anteriores. En tal caso, podemos ver que, si le
aplicamos un estudio de una subdisivisión elemental ( [2],177) tenemos
que existe algunas isomorfas a k3,3. Por el Teorema de
Kuratowski, esto implica que no es planar. En la siguiente serie de
instrucciones tenemos algunas de ellas.
Bibliografia
[1] Primeros pasos en Maxima, Riotorto, Mario Rodriguez.
[2]Elementos de Matemáticas Discretas, V.V.A.A. Ed. Sanz y Torres. ISBN:84-88667-35-3