ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES

Documentos relacionados
Árboles. Un grafo no dirigido es un árbol si y sólo si existe una ruta unica simple entre cualquiera dos de sus vértices.

Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos.

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Grafos. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Grafos 1 / 30

Grafos. Algoritmos y Estructuras de Datos III

Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda

Grafos. Amalia Duch Brown Octubre de 2007

Teoría de grafos y optimización en redes

Grafos. Suponiendo que e = [u, v]. Entonces los nodos u y v se llaman extremos de e y u y v se dice que son nodos adyacentes o vecinos.

Algoritmos y estructuras de datos

Tema: Los Grafos y su importancia para la optimización de redes.

Algoritmos para determinar Caminos Mínimos en Grafos

Compresión de Datos. Método de Huffman. Dpto. Informática

Un grafo G = (V, E) se dice finito si V es un conjunto finito.

Introducción a los códigos compresores

LAS CIENCIAS DE LA PLANIFICACIÓN

Binary Decision Diagrams

Estructuras de datos Árboles B

Es un conjunto de objetos llamados vértices o nodos unidos por enlaces llamados aristas o arcos, que permiten representar relaciones binarias entre

Caminos y Flujos optimales. Introducción a la Investigación de Operaciones 2007

(d) Puede haber estrategias que funcionan mejor que Minimax si el contrincante es

Introducción a la Teoría de Grafos

Objetivos formativos de Matemática Discreta. Tema 1: Conjuntos, aplicaciones y relaciones

Flujos de redes (Network Flows NF)

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

Introducción a la teoría de grafos

(e) Con la poda alfa-beta se eliminan nodos que nunca serán alcanzados

Árboles abarcadores mínimos: algoritmo de Prim y algoritmo de Kruskal.

CALCULO INTEGRAL CONCEPTOS DE AREA BAJO LA CURVA. (Se utiliza el valor de la función en el extremo izquierdo de cada subintervalo)

Grafos y Redes. 3. Resolución: Dibujar el camino sin levantar el lápiz y pasando sólo una vez por cada arco o arista.

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 3.1: Autómatas Finitos Deterministas

Ruta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE

Capítulo 6. ÁRBOLES.

Autómatas Deterministas. Ivan Olmos Pineda

Un grafo G es un par (V,E) donde V es un conjunto (llamado conjunto de vértices) y E un subconjunto de VxV (conjunto de aristas).

En la fig. 1 se representa el grafo, G=(V,A) donde: V = {1, 2, 3, 4, 5, 6} A = { {1,2}, {1,3}, {1,5}, {3}, {3,4}, {4,5}, {5,6} }

Conjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R.

Coloración. Unos cuantos problemas. Asignación de frecuencias de radio. Gregorio Hernández Peñalver. Unos cuantos problemas. Unos cuantos problemas

ALGORITMO ID3. Objetivo

Minicurso de Teoría de Gráficas Escuela de Verano 2014 por María Luisa Pérez Seguí Facultad de Ciencias Físico-Matemáticas, Universidad Michoacana

Búsqueda en e.e. --> reglas para elegir entre las ramas que con más probabilidad lleven a la solución.

Complejidad computacional (Análisis de Algoritmos)

El TAD Grafo. El TAD Grafo

Introducción a la Teoría de Grafos

(b) Cuál es la desventaja principal de una heurística con aprendizaje? es más informada que otra función heurística optimista h 2 *?

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.

Francis Guthrie Planteo el problema de los cuatro colores, después de colorear el mapa de Inglaterra 9/15/2015 3

INDICE Prologo Capitulo 1. Algoritmos y programas Capitulo 2. La resolución de los problemas con computadoras y las herramientas de programación

LAS CIENCIAS DE LA PLANIFICACIÓN

Programación Lineal. Modelo de Redes. Alcance de las aplicaciones. Curso: Investigación de Operaciones Ing. Javier Villatoro

FLORIDA Secundaria. 1º BACH MATEMÁTICAS CCSS -1- BLOQUE ESTADÍSTICA: ESTADÍSTICA VARIABLE UNIDIMENSIONAL. Estadística variable unidimensional

Proyecto 6. Árboles de decisión: Un árbol de decisión es un modelo de predicción utilizado en el ámbito de la inteligencia artificial.

Tema 10- Representación Jerárquica: Tema 10- Representación Jerárquica: Árboles Binarios

Métodos de Ordenamiento. Unidad VI: Estructura de datos

Algoritmos sobre Grafos

MAXIMOS Y MINIMOS RELATIVOS

Figura 3.1. Grafo orientado.

Tema 5: Semejanza. 1.- Introducción: Concepto de Escala y Teorema de Pitágoras.

ESTADÍSTICA CON EXCEL

UNIVERSIDAD AUTONOMA DE BAJA CALIFORNIA DIRECCION GENERAL DE ASUNTOS ACADEMICOS PROGRAMA DE ASIGNATURA

Medidas de Tendencia Central

Genética de polinomios sobre cuerpos locales

5 centenas + 2 decenas + 8 unidades, es decir: = 528

2007 Carmen Moreno Valencia

Herramientas digitales de auto-aprendizaje para Matemáticas

Algebra lineal y conjuntos convexos

Convertir un AFND a un AFD

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

Tema 5. Uso de las razones de ángulos para la resolución de problemas

GRAMATICAS LIBRES DEL CONTEXTO

Estructuras de Datos. Estructuras de Datos para Conjuntos Disjuntos

UNIVERSIDAD MAYOR DE SAN SIMÓN FACULTAD DE CIENCIAS Y TECNOLOGÍA INGENIERÍA DE SISTEMAS BÚSQUEDA PRIMERO EL MEJOR

Tablas de frecuencias con datos agrupados

1. Conceptos básicos sobre el problema en cuestión y cuestiones afines. 2. Formulación de los correspondientes algoritmos y su pseudocódigo.

1º ESO TEMA 9 ESTADÍSTICA Y PROBABILIDAD

Representaciones gráficas: Método del Paralelogramo

Tabla de Símbolos. Programación II Margarita Álvarez

7. Agrupamiento (clustering)

Apuntes elaborados por: Aaron Asencio, Eduardo Quevedo, Raquel López Revisado por: Javier Miranda el???


Para convertir un decimal a un binario se necesita la siguiente tabla.

RELACIÓN DE PROBLEMAS DE CLASE DE PROGRAMACIÓN LINEAL ENTERA

GRAFOS CREACIÓN DE ÍNDICES EN GOOGLE DE LOS SITIOS DE LA RED DE INTERNET

Guía de Modelo Relacional y Conversión de Entidad-Relación a Relacional

UNIDAD 7: NÚMEROS DECIMALES Y OPERACIONES

Resolución de problemas de búsqueda

Teoría de Conjuntos y Conjuntos Numéricos

A B MIN C D E F MAX x E.T.S.I. INFORMÁTICA 4º CURSO. INTELIGENCIA ARTIFICIAL E INGENIERÍA DEL CONOCIMIENTO

Procedimiento para usar la Tabla 1 (Tabla de Logaritmos)

7.1 Consideraciones. Considere la búsqueda de un libro en una biblioteca. Considere la búsqueda de un nombre en el directorio telefónico.

Árboles. Cursos Propedéuticos Dr. René Cumplido M. en C. Luis Rodríguez Flores

Ampliación de Estructuras de Datos

TEORÍA DE GRAFOS Ingeniería de Sistemas

Cálculo I (Grado en Ingeniería Informática) Problemas adicionales resueltos

Unidad 6. Gráficas Planares

RAZONAMIENTO GEOMÉTRICO

ESTADISTICA Y PROBABILIDAD ESTADÍSTICA

El TAD Grafo. El TAD Grafo

Transcripción:

ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES

ÁRBOL Un árbol es un grafo no dirigido, conexo, sin ciclos (acíclico), y que no contiene aristas múltiples. Por tanto un árbol es necesariamente un grafo simple. ÁRBOL ÁRBOL NO ÁRBOL NO ÁRBOL

TEOREMA UNO Un grafo no dirigido es un árbol, si y solo si hay un único camino entre cada pareja de vértices. Se puede observar en este grafo tomado del ejemplo anterior, que para cualquier par de vértices que se tomen, solo existirá un camino que los unos. Si hay mas de un camino que uno este par de vértices inmediatamente deja de ser un árbol.

RAÍCES DE ARBOLES Un árbol con raíz es un árbol en que uno de sus vértices ha sido designado como la raíz y todas la aristas están orientadas de modo que se alejan de la raíz. Raíz en A Raíz en B

SUBÁRBOLES Si a es un vértice de un árbol, el subárbol con raíz en a es el subgrafo del árbol que contiene al vértice a, a todos sus descendientes y a rodas sus aristas incidentes en dichos descendientes. Obtenemos un subárbol a partir del vértice A

EJEMPLO 1. cuales son los hijos derechos e izquierdos de vértice C 2. Cual es el nivel del árbol 3. Cuales son los nodos hermanos de C 4. Cual es el nodo padre de J 5. Cuales son los nodos hoja

REPUESTAS 1. El hijo derecho del vértice C es el nodo A y el hijo izquierdo es el nodo D. 2. El árbol es nivel 4 3. Los nodos hermanos a C son los vértices H, I, J 4. El nodo padre del vértice J es G 5. Los nodos hoja son D, E, K, L, M.

ÁRBOLES COMO MODELOS Butano Representación de organizaciones

PROPIEDADES DE LOS ARBOLES TEOREMA DOS : Un árbol de n vértices tiene n-1 aristas. El árbol consta de 13 vértices o nodos, por tanto tenemos que n = 13 aristas = n 1 aristas = 13 1 aristas = 12

TEOREMA TRES Un árbol m-ario completo con i vértices internos tiene n = mi + 1 vertices. m = grado 5 i = 3 vertices internos n = mi + 1 n = 5 3 + 1 m = 16 Árbol 5 - ario Como podemos comprobar en este ejemplo el teorema se cumple y nos da como resultado n = 16 que son la cantidad de nodos que hay en el árbol.

TEOREMA CUATRO Un árbol m ario completo con : 1. n vértices tiene i = n 1 m vértices y l = m 1 n+1 m hojas. 2. i vértices internos tiene n = mi + 1 vértices y l = m 1 i + 1. 3. l hojas tiene n = ml 1 m 1 vértices e i = l 1 m 1 vértices internos.

EJEMPLO n = 16 i = 3 l = 13 m = 5 1. i = n 1 l = 16 1 i = m m 1 n+1 m 5 = 3 vertices internos l = 4 17 5 = 13.6 nodos hoja 2. n = mi + 1 n = 5 3 + 1 = 16 vertices l = m 1 i + 1 l = 12 + 1 = 13 hojas ml 1 3. n = m 1 n = 64 = 16 vertices 4 i = l 1 m 1 i = 14 = 3.5 vertices internos 4

TEOREMA CINCO Un árbol m ario de altura h tiene a lo sumo, m h hojas. En este caso la altura es h = 3 y m = 3 por lo tanto el árbol tendrá como máximo 3 3 = 27 nodos hoja.

ARBOLES BINARIOS DE BÚSQUEDA Para hacer una búsqueda que encuentre elementos de manera mas eficiente cuando los objetos están totalmente ordenados, esto se puede lograr por medio de un árbol binario de búsqueda. Para hacer una inserción de un dato en un árbol binario se tiene en cuenta que hay una raíz, después se compara si el dato a insertar es menor que la raíz, de ser así se inserta al lado izquierdo y en caso de ser mayor se inserta al lado derecho. Y asi se puede hacer el proceso de forma recursiva por todos los niveles del árbol. Para realizar una búsqueda de un elemento se procede de la misma manera, se empieza por la raíz y se compara si es mayor o menor a esta, y así se puede avanzar a la derecha o izquierda respectivamente, este proceso se repite recursivamente hasta que se encuentre el elemento.

EJEMPLO Construya un árbol binario de búsqueda para los id : 64, 14, 44, 50, 68, 10, 16, 1. Construya un árbol binario de búsqueda para las siguientes letras: M, P, G, Z, C, B, F, R.

COMPLETADO DE ÁRBOLES Los vértices sin etiquetar están rodeados por un circulo.

ÁRBOLES DE DECISIÓN Los arboles con raíz pueden utilizarse para modelar problemas en los que una serie de decisiones llevan a una solución. Por ejemplo: un árbol binario de búsqueda que pueda emplearse para localizar elementos basándose en una serie de comparaciones, donde cada una de ella nos dice si hemos localizado o no el elemento o si debemos proceder al subárbol izquierdo o al subárbol derecho

EJEMPLO

TEOREMA Un algoritmo de ordenación basado en comparaciones binarias requiere al menos [log n!]. Comparaciones. n = 8 comparaciones = log n! comparaciones = 4,6 Este resultado nos quiere decir que como mínimo se deben hacer 5 comparaciones para insertar todos los datos en el árbol.

CÓDIGOS INSTANTÁNEOS Considerando el problema de codificar las letras del alfabeto mediante cadenas de bits, podemos hacer cadenas de longitud 5, pero para codificar datos son 5 veces el numero de caracteres por tanto se organizaron las letras en un árbol donde la letras que mas se usan están de primeras y tienen una cadena de bits mas corta y por el contrario las letras que menos se utilizan queda con una cadena mas larga E = 0 A = 10 T = 110 N = 1110 S = 11110 Como se observa, las letras menos usadas tienen una cadena de bits mas larga, por el contrario las mas usadas tienen cadenas de bits cortas.

CÓDIGOS DE HUFFMAN El algoritmo consiste en la creación de un árbol binario que tiene cada uno de los símbolos por hoja, y construido de tal forma que siguiéndolo desde la raíz a cada una de sus hojas se obtiene el código Huffman asociado. M A T E M A T I C A M A T E I C 2 10 3 10 2 10 1 10 1 10 1 10

Vamos ingresando las letras al árbol de forma ascendente de acuerdo a su probabilidad C = 0,1 I = 0,1 E = 0,1 T = 0,2 M = 0,2 A = 0,3

ÁRBOLES DE JUEGOS Los vértices de estos arboles representan los estados o posiciones en el desarrollo del juego; las aristas representan los movimientos permitidos entre dos estados cualesquiera

SISTEMA DE ETIQUETADO UNIVERSAL

RECORRIDO DE ARBOLES Pre orden (raíz, izquierda, derecha) A B E J K N O P F C D G L M H I Post orden ( izquierda, derecha, raíz) J N O P K E F B C L M G H I D A In orden (izquierda, raíz, derecha) J E N K O P B F A C L G M D H I

NOTACION INFIJA, PREFIJA Y POSTFIJA Representacion mediante árbol binario de ( x + y 2 + ( x 4 3 )

ARBOLES GENERADORES Sea G un grafo simple. Un árbol generador o recubridor de G es un subgrafo de G que es un árbol y contiene todos los vértices de G Grafo G Sub-Grafo de G

TEOREMA UNO Un grafo simple es conexo si, y sólo si, admite un árbol generador

BÚSQUEDA EN PROFUNDIDAD En lugar de construir árboles generadores eliminando aristas, los árboles generadores se pueden obtener añadiendo aristas. Elegimos un vértice arbitrario como raíz del árbol. Formamos un camino que comienza en este vértice añadiendo sucesivamente vértices y aristas, siendo cada nueva arista incidente con el ultimo vértice del camino y un vértice que no está en el camino

EJEMPLO Grafo G (a) (b) (c) (d) (e)

BÚSQUEDA EN ANCHURA (POR NIVELES) Elegimos un vértice arbitrario como raíz. Añadimos todas las aristas incidentes en ese vértice. Los nuevos vértices añadidos en esa fase forman los vértices del nivel 1 del árbol generador. Los ordenamos con un orden cualquiera. Para cada vértice del nivel 1 visitados en orden, añadimos todos los vértices incidentes con él, siempre que no formen un ciclo. Seguimos el mismo procedimiento hasta que se hayan añadido todos los vértices del árbol.

EJEMPLO Grafo G (a) (b) (c) (d)

BÚSQUEDA EN PROFUNDIDAD EN GRAFOS DIRIGIDOS Los algoritmos de búsqueda en profundidad y búsqueda en anchura se pueden modificar para que puedan aplicarse a grafos dirigidos. Sin embargo el resultado final no será necesariamente un árbol generador, sino un bosque generador. En ambos algoritmos podemos añadir una arista sólo cuando ésta se aleja del vértice en curso hacia oro que no se ha añadido aún. Si en un paso de alguno de los dos algoritmos vemos que tal arista no existe, el siguiente vértice añadido por el algoritmo pasa a ser la raíz de un nuevo árbol en el bosque generador.

EJEMPLO (a) (b) (c) (d)

ÁRBOL GENERADOR MÍNIMO Un árbol generador mínimo de un grafo ponderado es un árbol generador tal que la suma de los pesos de sus aristas es la mínima posible de entre todos los árboles generadores.

ALGORITMOS PARA ÁRBOLES GENERADORES MÍNIMOS Se puede resolver una amplia variedad de problemas mediante el cálculo de un árbol generador de un grafo ponderado tal que la suma de los pesos de las aristas del árbol sea mínima.

ALGORITMO DE PRIM Para grafos ponderados, conexo y no dirigido de n vértices. El algoritmo encuentra un subconjunto de aristas que forman un árbol con todos los vértices, donde el eso total de todas las aristas en el árbol es el mínimo posible.

ALGORITMO DE KRUSKAL Grafo ponderado, conexo y no dirigido de n vértices. Se usa para encontrar un árbol recubridor mínimo en un grafo conexo y ponderado. Es decir, busca un subconjunto de aristas que, formando un árbol, incluyen todos los vértices y donde el valor total de todas las aristas del árbol es el mínimo. Si el grafo no es conexo, entonces busca un bosque expandido mínimo

EJEMPLO Calcular mediante el algoritmo de Kruskal o Prim un Árbol generador mínimo del grafo.

ACTIVIDAD Realizar el algoritmo de Huffman para las siguientes palabras : INGENIERIA, SISTEMAS

GRACIAS