Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

REPRESENTACION DE RELACIONES Y DIGRAFOS EN LA COMPUTADORA

Representación de las relaciones y digrafos en la computadora .
Tercer semestre Ingenieria de sistemas y Computacion.
Universidad Del Quindio Armenia 2014

  • Be the first to comment

REPRESENTACION DE RELACIONES Y DIGRAFOS EN LA COMPUTADORA

  1. 1. Juan Camilo González I. David Felipe Hernández Jhoan Sebastián Gómez Matemáticas Discretas Profesor: Adrián Alonso Arboleda
  2. 2. El método más directo para almacenar elementos de datos es colocarlos en una lista o arreglo lineal. Esto equivale a poner elementos de datos consecutivos en lugares de almacenamiento con numeración consecutiva en la memoria de una computadora. Un método alternativo es la lista enlazada. El almacenamiento de la unidad básica de información es la celda de almacenamiento, tales celdas tienen espacio para dos elementos, los datos y los apuntadores (punteros) que señalan la localización de la siguiente celda por considerar. Arreglo lineal A con datos 𝐷𝑖 en las localidades A[i] Lista enlazada, en la práctica se utiliza un arreglo de datos A y un arreglo de apuntadores P
  3. 3. De forma similar a los métodos presentados antes para datos simples, las relaciones y dígrafos se pueden representar los siguientes métodos: Matriz de Relación (Representación Secuencial) Una relación R representarse por una matriz 𝑀 𝑅, entonces R se puede representar en una computadora por medio de un arreglo bidimensional que tenga ceros y unos almacenados en cada posición. Ejemplo: Si A = {1,2} y R = {(1,1), (1,2), (2,2)} entonces estos datos pueden representarse en el arreglo bidimensional MAT, en el cual MAT[1,1]=1, MAT[1,2]=1. MAT[2,1]=0, MAT[2,2] = 1 Lista Enlazada (Representación Enlazada) Una relación y su dígrafo pueden representarse mediante una lista enlazada, para ello se utilizan dos arreglos TAIL y HEAD que representan los pares ordenados que determinan los lados del dígrafo, un arreglo NEXT de apuntadores al lado siguiente, y una variable adicional START que indica el primer elemento de datos.
  4. 4. Ejemplo Considérese la relación cuyo dígrafo se muestra abajo, se puede almacenar el dígrafo en forma de lista enlazada usando el siguiente esquema: Un algoritmo en el que se puede localizar un vértice e investigar los lados que comienzan o terminan en éste vértice utiliza además un arreglo VERT en el cual para cada vértice I, VERT[I] es un apuntador hacia el primer lado de I, y NEXT enlaza los lados de I, e inicia en VERT[I].
  5. 5. Representación de grafos como estructura de datos Estructura de Datos: En programación, una estructura de datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación. Un dato elemental es la mínima información que se tiene en un sistema. Grafo: Un grafo en el ámbito de las ciencias de la computación es una estructura de datos, en concreto un tipo abstracto de datos (TAD), que consiste en un conjunto de nodos (también llamados vértices) y un conjunto de arcos (aristas) que establecen relaciones entre los nodos. Grafo Dirigido (Digrafo): Es un par ordenado 𝐷 = 𝑉, 𝐸 donde V es un conjunto de vértices o nodos, 𝑉 ≠ 0 , y 𝐸 ⊆ 𝑎, 𝑏 ∈ 𝑉 × 𝑉: 𝑎 ≠ 𝑏 es un conjunto de pares ordenados de elementos de V denominados aristas o arcos, donde por definición un arco va del primero nodo (a) al segundo nodo (b) dentro del par. Dada una arista (a, b), a es su nodo inicial y b es su nodo final. Orden, grado y bucle: Se llama orden del grafo G a su número de vértices 𝑉 , el grado de un vértice o nodo 𝑣 ∈ 𝑉 es igual al número de arcos que lo tienen como extremo. Un bucle es una arista que relaciona al mismo nodo, es decir, una arista donde el nodo inicial y el nodo final coinciden.
  6. 6. Vértices Adyacentes: Son aquellos vértices unidos por alguna arista. Aristas Paralelas: Son aquellas comprendidas entre los mismos vértices. Aristas Adyacentes: Las que tienen un único vértice en común siendo distintas y no paralelas. Aristas Incidentes en un Vértice: Las que tienen a dicho vértice por extremo. Representación por Estructura de Lista Lista de incidencia: El grafo está representado por un arreglo de aristas identificadas por un par ordenado de vértices que son los que conecta esa arista. Lista de adyacencia: El grafo está representado por un arreglo de vértices, cada vértice tiene una lista de vértices los cuales son adyacentes a él. Lista de grados: También llamada secuencia de grados o sucesión gráfica de un grafo no dirigido, es una secuencia de números que corresponden a los grados de los vértices del grafo. Representación por Estructuras Matriciales Matriz de adyacencia: El grafo está representado por una matriz cuadrada M de dimensión n*n en donde n es el número de vértices. Si hay una arista que vaya del vértice i al vértice j, entonces el elemento 𝑀 𝑖,𝑗 = 1, de lo contrario 𝑀 𝑖,𝑗 = 0.
  7. 7. Grafo G(V,A) Conjuntos Matriz de adyacencia Matriz de incidencia Secuencia de grados Lista de Adyacencia V = { 1, 2, 3, 4, 5, 6 } A = { {1,1}, {1,2}, {1,5}, {2,3}, {2,5}, {3,4}, {4,5}, {4,6} } (4,3,3,3,2,1) { {1,2,5}, {3,5}, {4}, {5,6} } Matriz de incidencia: El grafo está representado por una matriz de V (vértices) por A (aristas), donde [vértice, arista] contiene la información de la arista (1 - conectado, 0 - no conectado). Ejemplos:
  8. 8. Hay varios factores que determinan la elección del método usado para el almacenamiento: el número total de elementos n que hay en el conjunto A de la relación, el número de pares ordenados que hay en R o la razón de ese número a 𝑛2 , y la información posible que ha de obtenerse de R. Análisis de la Representación Secuencial Sea A = {1, 2, …, N} y sea R una relación en A que contiene P pares ordenados y cuya matriz 𝑀 𝑅 está representada por el arreglo MAT. Se debe considerar los problemas de agregar un par (I,J) a R y probar si R es transitiva. ► Para agregar (I,J) a R se realiza ► Para probar si R es transitiva se considera el siguiente algoritmo: El número total de pasos que requiere el algoritmo TRANS es: 𝑇𝐴 = 𝑃𝑁 + (𝑁2 − 𝑃) Supóngase que 𝑃 = 𝑘𝑁2, en donde 0 ≤ 𝑘 ≤ 1, puesto que P debe estat entre 0 y 𝑁2 .entonces el algoritmo tiene 𝑇𝐴 con: 𝑇𝐴 = 𝑘𝑁3 + (1 − 𝑘)𝑁2
  9. 9. Análisis de la Representación Enlazada Considérese el mismo digrafo representado por el esquema de lista enlazada utilizando VERT, TAIL, HEAD y NEXT. El algoritmo ADDEDGE agrega un lado (I,J) a la relación R suponiendo que TAIL, HEAD y NEXT tienen posiciones adicionales disponibles y que el número total se lados se cuenta por una variable P. Además supóngase que se dispone de una función booleana EDGE(I,J) que tiene valor true si (I,J) está en R o de lo contrario el valor false, el algoritmo NEWTRANS hace la prueba de transitividad de R. Cada uno de los P lados comienza en un vértice único, así que, en promedio 𝑃 𝑁 = 𝐷 lados comienzan en el vértice. El algoritmo completo promediará alrededor de 𝑁𝐷3 pasos de ejecución. Se supone que 𝑃 = 𝑘𝑁2 con 0 ≤ 𝑘 ≤ 1 , entonces NEWTRANS hace un promedio de 𝑇𝐿 = 𝑁 𝑘𝑁2 𝑁 3 = 𝑘3 𝑁4 pasos.
  10. 10. 1. Kolman, Bernard; Busby, Robert; Ross Sharon. Estructuras de matemáticas discretas para la computación. Editorial Pearson Educación. 2. Jiménez Murillo, José Alfredo. Matemáticas para la computación. Editorial Alfaomega. 3. Lipschutz, Seymour. Estructura de Datos. Serie Schaum en Computación. McGraw-Hill. 4. Quintero Cabrera, Pablo Emilio. Representación de grafos en la memoria de la computadora. http://prezi.com/cx7ldjuk0ryl/representacion-de-grafos-en-la- memoria-de-la-computadora 5. Buitrago, Andrés Felipe; Romero, Sebastián; Largo, Mateo. Representación en computadora de relaciones y digrafos. http://prezi.com/lrwn9zr9uhw4/copy- of-representacion-en-computacion-de-relaciones-y-digrafos 6. González Gutiérrez, Francisco José. Apuntes de Matemática Discreta. http://www2.uca.es/matematicas/Docencia/ESI/1711003/Apuntes/Leccion14. pdf 7. Exposito Lopez, Daniel; García Soto Abraham; Martin Gomez, António Jose. Grafos. http://decsai.ugr.es/~jfv/ed1/tedi/cdrom/docs/grafos.htm 8. Grafos. Algoritmos y Estructuras de datos III. http://www.dc.uba.ar/materias/aed3/2014/1c/teorica/algo3_grafos.pdf

×