Laboratorio de Sistemas Adaptativos
                    Martes – M4.M5
        Angel Rodolfo Reyna Acevedo    1459652
    Lucía Guadalupe Moyeda Cornejo     1145154
                Adrian Vega Magaña     1497896
           Lucero Itzel Ramos García   1491994
En esta practica de laboratorio , tuvimos que elegir uno de
  los temas vistos en la Unidad 2 de Sistemas Adaptativos y
  decidimos realizar el Análisis de Redes Complejas.

Primero definiremos unos conceptos básicos
 Una red es un conjunto de vértices unidos por un
  conjunto de aristas
 Un grafo es un conjunto de objetos
  llamados vértices o nodos unidos por enlaces
  llamados aristas o arcos, que permiten
  representar relaciones binarias entre elementos de
  un conjunto.
 Una red compleja se refiere a una red (grafo) que posee
  ciertas características topológicas no triviales que no
  ocurren en redes simples(una cola pesada en la
  distribución de grado, un alto coeficiente de
  agrupamiento, una estructura comunitaria a muchas
  escalas, y evidencias de una estructura jerarquizada).
   El objetivo de esta practica, es poner en
    practica el análisis de las métricas en redes
    complejas

   Aprender a utilizar nuevas tecnologías para
    su creación y análisis
   Uno de los motivos que nos llevo a
    seleccionar este tema, es que no fue tan
    hablado entre los compañeros como los AG,
    decidimos que queríamos hacer algo
    diferente, ver como podrían aplicarse los
    otros temas en X lenguaje
   Lo que confirmo el tema, es que las redes se
    viven a diario en muchos ámbitos, sociales,
    tecnológicos, etc. Y quisimos adentrarnos un
    poco mas, para poder entender todo lo que
    nos rodea cada día
Para desarrollar esta practica, utilizamos
 Python y tres librerías especializadas en el
 tema de redes complejas:
   Numpy: extensión de Python que agrega
     mayor soporte para vectores y matrices
   Networkx: es una librería de Python para
     el estudio de graficas y redes.
   Matplotlib: librería para la generación de
     gráficos a partir de datos contenidos en
     listas o array
   El propósito del programa es el de crear un
    grafo con un numero aleatorio de vértices y
    un numero aleatorio de aristas para su
    posterior análisis.

   Una vez obtenido el grafo, se analizan las
    métricas básicas , vistas en clase.
   Densidad
   Geodésica
   Diámetro
   Centralidad de grado
   Matriz de adyacencia
def __init__(self):
                                self.G = nx.Graph();
                                self.nodos = randint(11,25);
                                print 'La cantidad de nodos es: ',
                           self.nodos;
                                for n in range(0,self.nodos):
                                        self.G.add_node(n);
                                print(self.G.nodes());

                       #Generar las aristas
                         def Aristas(self):
                             aristas = randint(10,25);
                             print 'La cantidad de aristas es: ', aristas;
#Mostrar la red
                             for a in range(0,aristas):
def Mostrar(self):
                                     nd1 = randint(0,self.nodos);
      nx.draw(self.G);
                                     #nd2 = randint(0,self.nodos);
      plt.show();
                                     print '[',a,'--',nd1,']';
                                     self.G.add_edge(a,nd1);
                             print (self.G.edges());
def Diametro(self):
                                       c = nx.eccentricity(self.G);
                                       print 'Diametro: '
                                       print c;

                                  def Centralidad(self):
def Densidad(self):                    cen =
                                  nx.degree_centrality(self.G);
      print 'La densidad del
                                       print 'Grado de centralidad de los
  grafo es: '                     nodos: '
      print nx.density(self.G);        print cen;

 def Geodecica(self):             def MatrizAdyacencia(self):
                                      #M = adjacency_matrix(self.G);
     #c = radius(self.G);             print 'Matriz de adyacencia --> '
     #print 'Center: ', c;            print nx.adjacency_matrix(self.G);
     p=
 nx.shortest_path(self.G);
     print 'Shortest: '
     print p;
•Aquí se muestran dos nodos
enlazados, de manera vertical y
a manera de coordenada
•También se muestra la
densidad del grafo generado
Practica #2
Matriz de adyacencia
Dado que el grafo era algo
grande, todos los datos
arrojados siempre
rebasaban el tamaño de la
pantalla y la forma de
matriz se ve un poco
afectada por ello
Los nodos enlazados en un
inicio, son los nodos
conectados. Tenemos dos
ejemplos, los nodos
encerrados en la primera
pantalla con rojo, son estos
mismo, también encerrados
con rojo
En esta practica primero que todo, nos
 adentramos mas a Python, nos dimos cuenta
 que es una tecnología muy versátil gracias a
 las librerías que podemos encontrar en
 internet, esto hace que podamos utilizarlo
 con cualquier objetivo (investigación,
 entretenimiento, etc.).
Practicamos mas lo visto en clase y ahora
 sabemos, que hay métricas que se dan solo
 en ciertas condiciones, como el Diametro,
 que tienen que estar todos los vértices
 enlazados entre si

Más contenido relacionado

PPTX
Algoritmos De Encriptacion Para
PPTX
Criptosistema (1) (1)
PPTX
Criptosistema
PPTX
algorimos claves publicas y privadas
DOCX
Conferencia n° 8
PPTX
Ejemplos de algoritmos
PPTX
Ejemplos de algoritmos
PPTX
Practica#3
Algoritmos De Encriptacion Para
Criptosistema (1) (1)
Criptosistema
algorimos claves publicas y privadas
Conferencia n° 8
Ejemplos de algoritmos
Ejemplos de algoritmos
Practica#3

Similar a Practica #2 (20)

DOCX
Unidad 05
PPTX
Graphs
PDF
Estructura de datos avanzada
PDF
Estructura de datos avanzada
PDF
10.Grafos.y.Algoritmos.Avanzados.para.Grafos.pdf
PPT
Si508 f08-week2.en.es
PDF
Teoría de Grafos en sage
PDF
Grafos en sage
PPTX
Graficas en matlab 2 d y 3d
PPTX
Tema 5 diapositivas de la teoría de grafos.pptx
DOCX
Generación
PPT
Presentacion del Proyecto de Construccion de una Wiki - Grupo 3
DOCX
Explicación detallada del Algoritmo de Disjktra (Solo con pesos positivos).docx
PPTX
Análisis de llamadas telefónicas con Teoría de Grafos y R
PPTX
280420 [10-3] Actividad (Problemas de Aplicacion 2da Parte) - Estructuras Dis...
PDF
Graficaci ón
DOCX
Alexander gallardo.doc
PDF
Teoria-de-grafos
PDF
Ciencia de redes con R: Una introducción al universo de paquetes para ciencia...
Unidad 05
Graphs
Estructura de datos avanzada
Estructura de datos avanzada
10.Grafos.y.Algoritmos.Avanzados.para.Grafos.pdf
Si508 f08-week2.en.es
Teoría de Grafos en sage
Grafos en sage
Graficas en matlab 2 d y 3d
Tema 5 diapositivas de la teoría de grafos.pptx
Generación
Presentacion del Proyecto de Construccion de una Wiki - Grupo 3
Explicación detallada del Algoritmo de Disjktra (Solo con pesos positivos).docx
Análisis de llamadas telefónicas con Teoría de Grafos y R
280420 [10-3] Actividad (Problemas de Aplicacion 2da Parte) - Estructuras Dis...
Graficaci ón
Alexander gallardo.doc
Teoria-de-grafos
Ciencia de redes con R: Una introducción al universo de paquetes para ciencia...
Publicidad

Último (20)

PDF
La lluvia sabe por qué: una historia sobre amistad, resiliencia y esperanza e...
PDF
Aprendizaje Emocionante - Begoña Ibarrola SM2 Ccesa007.pdf
PDF
Las Matematicas y el Pensamiento Cientifico SE3 Ccesa007.pdf
DOCX
TEXTO DE TRABAJO DE EDUCACION RELIGIOSA - PRIMER GRADO.docx
PDF
Házlo con Miedo - Scott Allan Ccesa007.pdf
DOCX
Programa_Sintetico_Fase_4.docx 3° Y 4°..
PDF
Modelo Educativo SUB 2023versión final.pdf
PDF
Manual del Gobierno Escolar -MINEDUC.pdf
PDF
Didáctica de las literaturas infantiles.
PDF
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
PPTX
RESUMENES JULIO - QUIRÓFANO HOSPITAL GENERAL PUYO.pptx
PDF
Ficha de Atencion a Padres de Familia IE Ccesa007.pdf
PPTX
BIZANCIO. EVOLUCIÓN HISTORICA, RAGOS POLÍTICOS, ECONOMICOS Y SOCIALES
PDF
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
DOCX
TEXTO DE TRABAJO DE EDUCACION RELIGIOSA - CUARTO GRADO.docx
PDF
4 CP-20172RC-042-Katherine-Mendez-21239260.pdf
PDF
ACERTIJO EL CONJURO DEL CAZAFANTASMAS MATEMÁTICO. Por JAVIER SOLIS NOYOLA
PDF
Lo que hacen los Mejores Profesores de la Universidad - Ken Bain Ccesa007.pdf
PDF
El Genero y Nuestros Cerebros - Gina Ripon Ccesa007.pdf
PDF
Telos 127 Generacion Al fa Beta - fundaciontelefonica
La lluvia sabe por qué: una historia sobre amistad, resiliencia y esperanza e...
Aprendizaje Emocionante - Begoña Ibarrola SM2 Ccesa007.pdf
Las Matematicas y el Pensamiento Cientifico SE3 Ccesa007.pdf
TEXTO DE TRABAJO DE EDUCACION RELIGIOSA - PRIMER GRADO.docx
Házlo con Miedo - Scott Allan Ccesa007.pdf
Programa_Sintetico_Fase_4.docx 3° Y 4°..
Modelo Educativo SUB 2023versión final.pdf
Manual del Gobierno Escolar -MINEDUC.pdf
Didáctica de las literaturas infantiles.
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
RESUMENES JULIO - QUIRÓFANO HOSPITAL GENERAL PUYO.pptx
Ficha de Atencion a Padres de Familia IE Ccesa007.pdf
BIZANCIO. EVOLUCIÓN HISTORICA, RAGOS POLÍTICOS, ECONOMICOS Y SOCIALES
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
TEXTO DE TRABAJO DE EDUCACION RELIGIOSA - CUARTO GRADO.docx
4 CP-20172RC-042-Katherine-Mendez-21239260.pdf
ACERTIJO EL CONJURO DEL CAZAFANTASMAS MATEMÁTICO. Por JAVIER SOLIS NOYOLA
Lo que hacen los Mejores Profesores de la Universidad - Ken Bain Ccesa007.pdf
El Genero y Nuestros Cerebros - Gina Ripon Ccesa007.pdf
Telos 127 Generacion Al fa Beta - fundaciontelefonica
Publicidad

Practica #2

  • 1. Laboratorio de Sistemas Adaptativos Martes – M4.M5 Angel Rodolfo Reyna Acevedo 1459652 Lucía Guadalupe Moyeda Cornejo 1145154 Adrian Vega Magaña 1497896 Lucero Itzel Ramos García 1491994
  • 2. En esta practica de laboratorio , tuvimos que elegir uno de los temas vistos en la Unidad 2 de Sistemas Adaptativos y decidimos realizar el Análisis de Redes Complejas. Primero definiremos unos conceptos básicos  Una red es un conjunto de vértices unidos por un conjunto de aristas  Un grafo es un conjunto de objetos llamados vértices o nodos unidos por enlaces llamados aristas o arcos, que permiten representar relaciones binarias entre elementos de un conjunto.  Una red compleja se refiere a una red (grafo) que posee ciertas características topológicas no triviales que no ocurren en redes simples(una cola pesada en la distribución de grado, un alto coeficiente de agrupamiento, una estructura comunitaria a muchas escalas, y evidencias de una estructura jerarquizada).
  • 3. El objetivo de esta practica, es poner en practica el análisis de las métricas en redes complejas  Aprender a utilizar nuevas tecnologías para su creación y análisis
  • 4. Uno de los motivos que nos llevo a seleccionar este tema, es que no fue tan hablado entre los compañeros como los AG, decidimos que queríamos hacer algo diferente, ver como podrían aplicarse los otros temas en X lenguaje  Lo que confirmo el tema, es que las redes se viven a diario en muchos ámbitos, sociales, tecnológicos, etc. Y quisimos adentrarnos un poco mas, para poder entender todo lo que nos rodea cada día
  • 5. Para desarrollar esta practica, utilizamos Python y tres librerías especializadas en el tema de redes complejas:  Numpy: extensión de Python que agrega mayor soporte para vectores y matrices  Networkx: es una librería de Python para el estudio de graficas y redes.  Matplotlib: librería para la generación de gráficos a partir de datos contenidos en listas o array
  • 6. El propósito del programa es el de crear un grafo con un numero aleatorio de vértices y un numero aleatorio de aristas para su posterior análisis.  Una vez obtenido el grafo, se analizan las métricas básicas , vistas en clase.
  • 7. Densidad  Geodésica  Diámetro  Centralidad de grado  Matriz de adyacencia
  • 8. def __init__(self): self.G = nx.Graph(); self.nodos = randint(11,25); print 'La cantidad de nodos es: ', self.nodos; for n in range(0,self.nodos): self.G.add_node(n); print(self.G.nodes()); #Generar las aristas def Aristas(self): aristas = randint(10,25); print 'La cantidad de aristas es: ', aristas; #Mostrar la red for a in range(0,aristas): def Mostrar(self): nd1 = randint(0,self.nodos); nx.draw(self.G); #nd2 = randint(0,self.nodos); plt.show(); print '[',a,'--',nd1,']'; self.G.add_edge(a,nd1); print (self.G.edges());
  • 9. def Diametro(self): c = nx.eccentricity(self.G); print 'Diametro: ' print c; def Centralidad(self): def Densidad(self): cen = nx.degree_centrality(self.G); print 'La densidad del print 'Grado de centralidad de los grafo es: ' nodos: ' print nx.density(self.G); print cen; def Geodecica(self): def MatrizAdyacencia(self): #M = adjacency_matrix(self.G); #c = radius(self.G); print 'Matriz de adyacencia --> ' #print 'Center: ', c; print nx.adjacency_matrix(self.G); p= nx.shortest_path(self.G); print 'Shortest: ' print p;
  • 10. •Aquí se muestran dos nodos enlazados, de manera vertical y a manera de coordenada •También se muestra la densidad del grafo generado
  • 12. Matriz de adyacencia Dado que el grafo era algo grande, todos los datos arrojados siempre rebasaban el tamaño de la pantalla y la forma de matriz se ve un poco afectada por ello
  • 13. Los nodos enlazados en un inicio, son los nodos conectados. Tenemos dos ejemplos, los nodos encerrados en la primera pantalla con rojo, son estos mismo, también encerrados con rojo
  • 14. En esta practica primero que todo, nos adentramos mas a Python, nos dimos cuenta que es una tecnología muy versátil gracias a las librerías que podemos encontrar en internet, esto hace que podamos utilizarlo con cualquier objetivo (investigación, entretenimiento, etc.). Practicamos mas lo visto en clase y ahora sabemos, que hay métricas que se dan solo en ciertas condiciones, como el Diametro, que tienen que estar todos los vértices enlazados entre si