EJERCICIOS RESUELTOS DE PROLOG

Tamaño: px
Comenzar la demostración a partir de la página:

Download "EJERCICIOS RESUELTOS DE PROLOG"

Transcripción

1 Ejercicio N 1 EJERCICIOS RESUELTOS DE PROLOG Dado el grafo dirigido representado en la siguiente figura: b c a d e Una representación para el mismo en Prolog podría consistir en una lista que contenga dos sublistas: una representando el conjunto de nodos (o vértices) y otra representando el conjunto de arcos, donde cada arco es a su vez una lista de dos elementos, el nodo inicial y el final. Por ejemplo: (A) [[a b c d e] [[a b] [b c] [b d] [c e] [d a] [d e] [e a]]] Otra representación válida consiste en una lista de listas, donde cada sublista contiene como elementos un nodo y una lista de los nodos hacia los cuales éste está conectado, por ejemplo: (B) [[a [b]] [b [c d]] [c [e]] [d [a e]] [e [a]]] te que el elemento [d [a e]] representa la existencia de los arcos [d a] y [d e] en la representación anterior. Una tercera representación, basada en la idea de (B), considera que cada sublista contiene el nodo en primer lugar seguido de la lista de nodos con los cuales está conectado (sin colocar estos dentro de otra lista), por ejemplo: (C) [[a b] [b c d] [c e] [d a e] [e a]] (te que esta representación es más sencilla que la anterior) Se le pide que desarrolle predicados que permitan obtener: a) la representación (A) de un grafo dado en la representación (B)... y viceversa. b) la representación (A) de un grafo dado en la representación (C)... y viceversa. c) la representación (B) de un grafo dado en la representación (C)... y viceversa. La transformación entre la representación (A) y otra tal como (B) no puede definirse con un único predicado que brinde ambos servicios, por lo cual será necesario definir cada sentido de la consulta en forma separada. % Pasar de (A) ---> (B) pasarab([dos, Arcos], Resultado):- pasarab_sublista(dos, Arcos, Resultado). pasarab_sublista([],_,[]). pasarab_sublista([do Ns], Arcos, [[do, Conectados] Rs]):- pasarab_arcos(do, Arcos, Conectados), pasarab_sublista(ns, Arcos, Rs). Ejercicios Resueltos Prolog 1

2 pasarab_arcos(_, [], []). pasarab_arcos(n1, [[N1,N2] As], [N2 Ns]):- pasarab_arcos(n1, As, Ns). pasarab_arcos(n1, [[N2,_] As], Ns):- N1 \= N2, pasarab_arcos(n1, As, Ns). % Pasar de (A) ---> (C) pasarac(grafoa, GrafoC):- pasarab(grafoa, GrafoB), pasarbc(grafob, GrafoC). % Pasar de (B) ---> (C) pasarbc([], []). pasarbc([[do,conectados] Xs], [[do Conectados] Ys]):- pasarbc(xs, Ys). % Pasar de (B) ---> (A) pasarba(grafo, [dos, Arcos]):- pasarba_armar(grafo, dos, Arcos). pasarba_armar([], [], []). pasarba_armar([[do, Conectados] Rs], [do Ns], Arcos):- pasarba_arcos(do, Conectados, Arcosdo), pasarba_armar(rs, Ns, As), concatenar(arcosdo, As, Arcos). pasarba_arcos(_n, [], []). pasarba_arcos(n, [C Cs], [[N,C] Rs]):- pasarba_arcos(n, Cs, Rs). % Pasar de (C) ---> (A) pasarca(grafoc, GrafoA):- pasarcb(grafoc, GrafoB), pasarba(grafob, GrafoA). % Pasar de (C) ---> (B) pasarcb(grafoc, GrafoB):- pasarbc(grafob, GrafoC). concatenar([], L, L). concatenar([x Xs], Y, [X Zs]):- concatenar(xs, Y, Zs). grafoa( [[a,b,c,d,e],[[a,b],[b,c],[b,d],[c,e],[d,a],[d,e],[e,a]]] ). grafob( [[a,[b]],[b,[c,d]],[c,[e]],[d,[a,e]],[e,[a]]] ). grafoc( [[a,b],[b,c,d],[c,e],[d,a,e],[e,a]] ). Consultas (trabajando siempre con el grafo de la figura) En general:? grafox( X ), pasarxy( X, Y ). donde X e Y serán A, B o C, según el caso que se desee probar. Ejercicios Resueltos Prolog 2

3 Ejemplos:? grafoa( A ), pasarab( A, B ). A = [[a, b, c, d, e], [[a, b], [b, c], [b, d], [c, e], [d, a], [d, e], [e, a]]] B = [[a, [b]], [b, [c, d]], [c, [e]], [d, [a, e]], [e, [a]]] ;? grafob( B ), pasarbc( B, C ). B = [[a, [b]], [b, [c, d]], [c, [e]], [d, [a, e]], [e, [a]]] C = [[a, b], [b, c, d], [c, e], [d, a, e], [e, a]] ;? grafoc( C ), pasarca( C, A ). C = [[a, b], [b, c, d], [c, e], [d, a, e], [e, a]] A = [[a, b, c, d, e], [[a, b], [b, c], [b, d], [c, e], [d, a], [d, e], [e, a]]] ; Ejercicio N 2 Realizar un predicado invertir que dada una lista de listas de longitud 2 o mayor, evalúe True si el segundo argumento es otra lista cuyos elementos están invertidos. invertir([[a, 1], [a, 2], [b, 1], [b, 2]], [[2, b], [1, b], [2, a], [1, a]]) True Las listas que deben ser tratadas no se deben limitar a una profundidad de dos niveles de paréntesis. Se deben considerar listas de cualquier nivel de anidamiento. concatenar([], L, L). concatenar([x Xs], Y, [X Zs]):- concatenar(xs, Y, Zs). invertir([], []). invertir([x Y], A):- atomic(x), invertir(y, B), concatenar(b, [X], A). invertir([x Y], A):- not(atomic(x)), invertir(x, X1), invertir(y, B), concatenar(b, [X1], A). Ejemplos de consultas:? invertir([[a, 1], [a, 2], [b, 1], [b, 2]], [[2, b], [1, b], [2, a], [1, a]]). Yes? invertir([[r,o,m,a], [n,e,u,q,u,e,n], [h,o,n,o,l,u,l,u]], X). X = [[u, l, u, l, o, n, o, h], [n, e, u, q, u, e, n], [a, m, o, r]] ;? invertir([[a, [b, [c], d, [e, f, [g, h], i, j], [k]], l, m]], X). X = [[m, l, [[k], [j, i, [h, g], f, e], d, [c], b], a]] ; Ejercicios Resueltos Prolog 3

4 Ejercicio N 3 Se desea desarrollar un programa Prolog que permita intercalar los elementos de dos listas considerando longitudes distintas para cada tramo de intercalación. Es decir, para cada lista se indicará la cantidad de elementos de la misma que se intercalarán sucesivamente para formar la lista resultante, por ejemplo: intercala([a 1, a 2, a 3, a 4, a 5, a 6 ], [b 1, b 2, b 3, b 4 ], 3, 2, [a 1, a 2, a 3, b 1, b 2, a 4, a 5, a 6, b 3, b 4 ]). True intercala([a 1, a 2, a 3, a 4 ], [b 1, b 2 ], 4, 1, X). X = [b 1, a 1, a 2, a 3, a 4, b 2 ] Debe tenerse en cuenta que cada lista incluya la cantidad de elementos necesaria para ser intercalada correctamente y que cualquiera de ellas puede intercalar el tramo inicial o el tramo final. intercala(l1, L2, N1, N2, R):- intercalar_lista(l1, L2, N1, N2, R). intercala(l1, L2, N1, N2, R):- intercalar_lista(l2, L1, N2, N1, R). intercalar_lista([], [], _N1, _N2, []). intercalar_lista(l1, L2, N1, N2, Result):- concatenar(prel1, RestoL1, L1), largo(prel1, N1), intercalar_lista(l2, RestoL1, N2, N1, X), concatenar(prel1, X, Result). % las listas deben tener al menos 1 elemento: largo([_x], 1). largo([_x Xs], N):- largo(xs, N2), N is N Ejemplos de consultas:? intercala([a1, a2, a3, a4, a5, a6], [b1, b2, b3, b4], 3, 2, [a1, a2, a3, b1, b2, a4, a5, a6, b3, b4]). Yes? intercala([a1, a2, a3, a4, a5, a6], [b1, b2, b3, b4], 2, N, X). N = 2, X = [a1, a2, b1, b2, a3, a4, b3, b4, a5, a6] ; N = 1, X = [b1, a1, a2, b2, a3, a4, b3, a5, a6, b4] ;? intercala([a1, a2, a3, a4], [b1, b2], N, 1, X). N = 2, X = [a1, a2, b1, a3, a4, b2] ; N = 2, X = [b1, a1, a2, b2, a3, a4] ; N = 4, X = [b1, a1, a2, a3, a4, b2] ; Ejercicios Resueltos Prolog 4

5 Ejercicio N 4 Un árbol n-ario es un árbol donde cada nodo puede tener cero o más descendientes. Dado un árbol de este tipo, cuyas aristas tendrán un costo asociado, se pretende desarrollar un predicado en Prolog que permita obtener un camino valido desde la raíz hasta un nodo hoja y el costo total asociado al mismo. Por ejemplo: 3 a 2 4 b c d 3 5 e f En este árbol el camino desde el nodo raíz a hasta el nodo f tiene costo 2+5=7. Para representar el árbol se utilizará la función: arbol(r, ListaHijos, ListaCostos) en donde ListaHijos = [h 1, h 2,..., h n ] y ListaCostos = [c 1, c 2,..., c n ], siendo c i el costo asociado a la arista que une r con h i. Se le solicita que defina el predicado camino(arbol, Camino, Costo) Según el ejemplo anterior debe verificarse la siguiente consulta:?- camino(arbol(a, [ arbol(b, [], []), arbol(c, [arbol(e, [], []), arbol(f, [], [])], [3, 5]), arbol(d, [], []) ], [ 3, 2, 4 ]), L, C). L = [a, b], C = 3 ; L = [a, c, e], C = 3 ; L = [a, c, f], C = 7 ; L = [a, d], C = 4 ; no. Donde la expresión remarcada representa el árbol dado. ta: observe que un nodo hoja tendrá la forma: arbol(n, [], []) camino(arbol(raiz, [], []), [Raiz], 0). camino(arbol(raiz, Hijos, Costos), [Raiz L], CostoTotal):- hijo(hijos, Costos, Hijo, CostoHijo), camino(hijo, L, CostoL), CostoTotal is CostoHijo + CostoL. hijo([hijo _], [Costo _], Hijo, Costo). hijo([_ Hs], [_ Cs], Hijo, Costo):- hijo(hs, Cs, Hijo, Costo). Ejercicios Resueltos Prolog 5

6 Ejercicio N 5 Dos grafos son isomorfos si tienen la misma cantidad de nodos y tipos de relaciones, independientemente de los valores de nodos. Por ejemplo: b d 5 6 a f 4 3 e 2 c 1 Los dos grafos anteriores son isomorfos, ya que tienen la misma cantidad de nodos y los mismos tipos de relaciones entre nodos, independientemente de los valores de nodos. La tabla siguiente muestra lo dicho: dos grafo 1 Relaciones grafo 1 dos grafo 2 Relaciones grafo 2 A (a, b) (a, e) 1 (1,2) (1, 5) B (b, a) 2 (2,1) C (c, f) 3 (3, 6) D (d, e) (d,f) 4 (4, 5) (4, 6) E (e, a) (e, d) 5 (5, 1) (5, 4) F (f, d) (f, c) 6 (6, 4) (6, 3) Se le solicita que defina el predicado nodosisomorfos(grafo1, Grafo2, ListaParesdos), en donde Grafo1 y Grafo2 son dos grafos isomorfos, y ListaParesdos es la lista de pares de nodos equivalentes entre ambos grafos. La representación para los grafos deberá ser por medio de una lista de la forma: donde arista es un par : [nodo-x, nodo-y] [ [nodo-1, nodo-2,.., nodo-n], [arista1, arista2,, aristan] ] nodosisomorfos([dos1, Aristas1], [dos2, Aristas2], ListaParesdos):- longitud(dos1, Longdos), longitud(dos2, Longdos), longitud(aristas1, LongAristas), longitud(aristas2, LongAristas), permutacion(dos2, P), mapeo(dos1, P, ListaParesdos), reemplazar(aristas1, ListaParesdos, AristasP), conjuntosiguales(aristasp, Aristas2). permutacion([], []). permutacion(xs,[z Zs]):- desarma(z, Xs, Ys), permutacion(ys, Zs). desarma(x, [X Xs], Xs). desarma(x, [Y Ys], [Y Zs]):- desarma(x, Ys, Zs). mapeo([], [], []). mapeo([x Xs], [Y Ys], [[X, Y] R]):- mapeo(xs, Ys, R). Ejercicios Resueltos Prolog 6

7 reemplazar([], _ListaPares, []). reemplazar([[x, Y] Z], ListaPares, [[R, S] T]):- miembro([x, R], ListaPares), miembro([y, S], ListaPares), reemplazar(z, ListaPares, T). conjuntosiguales([], []). conjuntosiguales([x Xs], Y):- desarma(x, Y, R), conjuntosiguales(xs, R). miembro(x, [X _]). miembro(x, [_ Y]):- miembro(x, Y). longitud([], 0). longitud([_ Y], N):- longitud(y, N2), N is N Ejemplos de consultas:? nodosisomorfos([[a,b,c], [[a,b],[b,c]]], [[1,2,3],[[2,3],[3,1]]], P). P = [[a, 2], [b, 3], [c, 1]] ;? nodosisomorfos([[a,b,c,d], [[a,b],[b,c],[b,d]]], [[1,2,3,4],[[2,3],[3,1],[3,4]]], P). P = [[a, 2], [b, 3], [c, 1], [d, 4]] ; P = [[a, 2], [b, 3], [c, 4], [d, 1]] ;? nodosisomorfos([[a,b,c,d,e,f],[[b,a],[a,e],[e,d],[d,f],[f,c]]], [[1,2,3,4,5,6],[[6,5],[5,4],[4,3],[3,1],[1,2]]], ListaPares). ListaPares = [[a, 5], [b, 6], [c, 2], [d, 3], [e, 4], [f, 1]] ; Ejercicios Resueltos Prolog 7

Á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.

Á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. ÁRBOLES Árboles Un grafo conectado que no contiene circuitos simples. Utilizados desde 1857, por el matemático Ingles Arthur Cayley para contar ciertos tipos de componentes químicos. Un árbol es un grafo

Más detalles

Programación Declarativa Universidad de Málaga

Programación Declarativa Universidad de Málaga Programación Declarativa Universidad de Málaga 3. o de Ingeniería Informática E.T.S.I. Informática Enero de 2008 Tema 5. Programación lógica con árboles Ejercicios Ejercicio 1. Dada la siguiente representación

Más detalles

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

Es un conjunto de objetos llamados vértices o nodos unidos por enlaces llamados aristas o arcos, que permiten representar relaciones binarias entre 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. Típicamente, un grafo se representa

Más detalles

Definiciones: conjuntos, grafos, y árboles. Agustín J. González ELO 320: Estructura de Datos y Algoritmos. 2002

Definiciones: conjuntos, grafos, y árboles. Agustín J. González ELO 320: Estructura de Datos y Algoritmos. 2002 Definiciones: conjuntos, grafos, y árboles Agustín J. González ELO 320: Estructura de Datos y Algoritmos. 2002 1 Conjuntos (sets) y Grafos (graphs) Un Conjunto es una colección de objetos distintos. No

Más detalles

Definición 1: Un grafo G es una terna ordenada (V(G), E(G), Ψ

Definición 1: Un grafo G es una terna ordenada (V(G), E(G), Ψ Título: Un Arbol Natural Autor: Luis R. Morera onzález Resumen En este artículo se crea un modelo para representar los números naturales mediante un grafo, el cual consiste de de un árbol binario completo

Más detalles

Introducción a los árboles. Lección 11

Introducción a los árboles. Lección 11 Introducción a los árboles Lección 11 Árbol: Conjunto de elementos de un mismo tipo, denominados nodos, que pueden representarse en un grafo no orientado, conexo y acíclico, en el que existe un vértice

Más detalles

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

Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos. Matemática Discreta y Lógica 2 1. Árboles Árboles Definición 1.1 Sea G = (V, A) un grafo no dirigido. G se denomina árbol si es conexo y no contiene ciclos. Como un lazo es un ciclo de longitud 1, un árbol

Más detalles

Matemáticas Discretas

Matemáticas Discretas Coordinación de Ciencias Computacionales - INAOE Matemáticas Discretas Cursos Propedéuticos 2011 Ciencias Computacionales INAOE Dr. Enrique Muñoz de Cote jemc@inaoep.mx http://ccc.inaoep.mx/~jemc Oficina

Más detalles

Capítulo 8. Árboles. Continuar

Capítulo 8. Árboles. Continuar Capítulo 8. Árboles Continuar Introducción Uno de los problemas principales para el tratamiento de los grafos es que no guardan una estructura establecida y que no respetan reglas, ya que la relación entre

Más detalles

Curso Básico de Computación

Curso Básico de Computación CINVESTAV IPN México City 2010 1 Preliminares 1.1 Cadenas, alfabetos y lenguajes Un símbolo es un ente abstracto que no se puede definir formalmente. Letras o dígitos son ejemplos

Más detalles

Análisis y Complejidad de Algoritmos. Arboles Binarios. Arturo Díaz Pérez

Análisis y Complejidad de Algoritmos. Arboles Binarios. Arturo Díaz Pérez Análisis y Complejidad de Algoritmos Arboles Binarios Arturo Díaz Pérez Arboles Definiciones Recorridos Arboles Binarios Profundidad y Número de Nodos Arboles-1 Arbol Un árbol es una colección de elementos,

Más detalles

ESTRUCTURAS DE DATOS Y ALGORITMOS

ESTRUCTURAS DE DATOS Y ALGORITMOS ESTRUCTURAS DE DATOS Y ALGORITMOS CURSO 2009 PRÁCTICO 8 Nota: al igual que en los prácticos 6 y 7, en los problemas que siguen se usarán los tipos lista y árbol binario, como tipos abstractos, cada uno

Más detalles

Programación Declarativa UNIVERSIDAD DE MÁLAGA

Programación Declarativa UNIVERSIDAD DE MÁLAGA Programación Declarativa UNIVERSIDAD DE MÁLAGA (3 o de Ingeniería Técnica en Informática) E.T.S.I. INFORMÁTICA 17 de Febrero de 2005 Alumno: Grupo: Prolog Ejercicio 1 (a)(2 pts.) Realiza el árbol de búsqueda

Más detalles

Práctica N o 4 - Programación Lógica

Práctica N o 4 - Programación Lógica Práctica N o 4 - Programación Lógica Para resolver esta práctica, recomendamos usar el SWI-Prolog, de distribución gratuita, que puede bajarse de http://www.swi-prolog.org. No utilizar cut (!) ni predicados

Más detalles

INDICE INTRODUCCION1 DESARROLLO2 GRAFOS (CONCEPTO).2 ARISTAS...2 VERTICES2 CAMINOS.3 CLASIFICACION DE GRAFOS...3 GRAFOS EULERIANOS.

INDICE INTRODUCCION1 DESARROLLO2 GRAFOS (CONCEPTO).2 ARISTAS...2 VERTICES2 CAMINOS.3 CLASIFICACION DE GRAFOS...3 GRAFOS EULERIANOS. INDICE INTRODUCCION1 DESARROLLO2 GRAFOS (CONCEPTO).2 ARISTAS...2 VERTICES2 CAMINOS.3 CLASIFICACION DE GRAFOS...3 GRAFOS EULERIANOS.7 GRAFOS CONEXOS7 ÁRBOLES..7 BOSQUES DE ÁRBOLES...8 RECORRIDO DE UN GRAFO..8

Más detalles

Estructura de Datos. Temario Unidad VI. Árboles Árboles Binarios

Estructura de Datos. Temario Unidad VI. Árboles Árboles Binarios Estructura de Datos Árboles Árboles Binarios Temario Unidad VI 6.1 Definición y operaciones 6.2 Implementación 6.3 Recorrido en Árboles Binarios 6.4 Árboles AVL y su implementación 6.5 Árboles n-arios

Más detalles

Introducción a Árboles Árboles Binarios

Introducción a Árboles Árboles Binarios Introducción a Árboles Árboles Binarios Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Introducción a Árboles Estructuras hasta ahora Estructuras

Más detalles

Listas en Prolog. Capítulo. Listas como sujetos

Listas en Prolog. Capítulo. Listas como sujetos Capítulo 5 Listas en Prolog Este capítulo introduce el concepto de lista, un tipo de dato de gran influencia dentro de la inteligencia artificial. Se comienza con una introducción a listas en Prolog y

Más detalles

Tema 5 Árboles y Grafos.

Tema 5 Árboles y Grafos. Tema 5 Árboles y Grafos. Definiciones básicas de teoría de grafos. Un grafo consta de un conjunto de nodos, un conjunto de aristas y una correspondencia f del conjunto de aristas al conjunto de nodos.

Más detalles

Sesión 4: Teoría de Grafos

Sesión 4: Teoría de Grafos Modelos Gráficos Probabilistas L. Enrique Sucar INAOE Sesión 4: Teoría de Grafos Problema de los puentes de Königsberg [Euler] Teoría de Grafos Definición y terminología Tipos de grafos Trayectorias y

Más detalles

Este material es de uso exclusivo para clase de algoritmos y estructura de datos, la información de este documento fue tomada textualmente de varios

Este material es de uso exclusivo para clase de algoritmos y estructura de datos, la información de este documento fue tomada textualmente de varios CLASE GRAFOS Este material es de uso exclusivo para clase de algoritmos y estructura de datos, la información de este documento fue tomada textualmente de varios libros por lo que está prohibida su impresión

Más detalles

Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS

Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS Contenido PARTE II: ESTRUCTURAS DE DATOS AVANZADAS TEMA 4. - La Estructura de datos Árbol 4.1. Árboles, definiciones 4.2 Árboles binarios y su representación 4.3 Operaciones básicas de un árbol binario

Más detalles

Matemáticas Básicas para Computación

Matemáticas Básicas para Computación Matemáticas Básicas para Computación MATEMÁTICAS BÁSICAS PARA COMPUTACIÓN 1 Sesión No. 11 Nombre: Árboles Objetivo: Al término de la sesión el participante conocerá los tipos de grafos específicamente

Más detalles

Matemáticas Discretas L. Enrique Sucar INAOE. Teoría de Grafos. Problema de los puentes de Königsberg [Euler]

Matemáticas Discretas L. Enrique Sucar INAOE. Teoría de Grafos. Problema de los puentes de Königsberg [Euler] Matemáticas Discretas L. Enrique Sucar INAOE Teoría de Grafos Problema de los puentes de Königsberg [Euler] Teoría de Grafos Definición y terminología Tipos de grafos Trayectorias y circuitos Isomorfismo

Más detalles

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.

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. Grafos Los grafos son estructuras que constan de vértices o nodos y de aristas o arcos que conectan los vértices entre sí. Un grafo G consiste en dos cosas: 1. Un conjunto V de elementos llamados nodos

Más detalles

Estructuras de Datos y Algoritmos

Estructuras de Datos y Algoritmos Estructuras de Datos y Algoritmos Tema 5.1. Árboles. Árboles binarios y generales Prof. Dr. P. Javier Herrera Contenido 1. Introducción 2. Terminología 3. Árboles binarios 4. Árboles generales Tema 5.1.

Más detalles

PRUEBAS DE CAJA BLANCA

PRUEBAS DE CAJA BLANCA PRUEBAS DE CAJA BLANCA PARTE. DESCRIPCIÓN DE TÉCNICAS Se examinan los caminos lógicos del sistema haciendo diversos recorridos. Sus objetivos son: Ejecutar por lo menos una vez todos los caminos independientes

Más detalles

Estructura de Datos Unidad 6: ARBOLES

Estructura de Datos Unidad 6: ARBOLES Estructura de Datos Unidad 6: ARBOLES A. CONCEPTO DE ARBOL B. TIPOS DE ARBOL C. ARBOL BINARIO D. IMPLEMENTACION DE UN ARBOL BINARIO E. PROYECTO Introducción En ciencias de la informática, un árbol es una

Más detalles

ESTRUCTURAS DE DATOS

ESTRUCTURAS DE DATOS ESTRUCTURAS DE DATOS Listas 1. Definir predicados Prolog referentes a listas con los siguientes significados: miembro(elem,lista) "Elem pertenece a Lista" longitud(lista,long) "Lista tiene Long elementos"

Más detalles

Apellidos:... Nombre:...

Apellidos:... Nombre:... Apellidos:....................................... Nombre:........................................ Introducción a la Inteligencia Artificial 1 er Parcial de Teoría 12 Noviembre 2004 Ejercicio 1: Responder

Más detalles

Práctica N o 5 - Programación Lógica

Práctica N o 5 - Programación Lógica Práctica N o 5 - Programación Lógica Para resolver esta práctica, recomendamos usar el SWI-Prolog, de distribución gratuita, que puede bajarse de http://www.swi-prolog.org. No utilizar cut (!) ni predicados

Más detalles

Árboles. no es un árbol porque no es conexo. Sin embargo, cada componente conexa es un árbol y, este tipo de grafo se llama bosque.

Árboles. no es un árbol porque no es conexo. Sin embargo, cada componente conexa es un árbol y, este tipo de grafo se llama bosque. Ejemplos Árboles Un grafo sin lazos, es un árbol si es conexo y no contiene ciclos. Tenemos que: es un árbol. no es un árbol porque contiene un ciclo. no es un árbol porque no es conexo. Sin embargo, cada

Más detalles

Guía 2: Listas, recursión e inducción

Guía 2: Listas, recursión e inducción Introducción a los Algoritmos - 2do cuatrimestre 2014 Guía 2: Listas, recursión e inducción Docentes: Walter Alini, Luciana Benotti En esta guía comenzaremos a trabajar con listas Para familiarizarnos

Más detalles

Curso Básico de Computación Preliminares

Curso Básico de Computación Preliminares Curso Básico de Computación Preliminares Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) Preliminares 2010 1 / 11 1 Preliminares

Más detalles

Capítulo 4: Grafos Clase 4: Árboles

Capítulo 4: Grafos Clase 4: Árboles Capítulo 4: Grafos Clase 4: Árboles Matemática Discreta - CC3101 Profesor: Pablo Barceló P. Barceló Matemática Discreta - Cap. 4: Grafos 1 / 12 Árboles Los árboles son una clase particular de grafos que

Más detalles

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Lógica y Estructuras Discretas Tutor: Antonio Rivero Cuesta Tema 5 Teoría de Grafos Conceptos Básicos Un grafo consta de: Grafo Un conjunto de nodos, Un conjunto de aristas

Más detalles

Roberto Carlos Abreu Díaz. October 28, 2009

Roberto Carlos Abreu Díaz. October 28, 2009 Binarios binarios Java October 28, 2009 Binarios binarios Java 1 2 Binarios 3 binarios Java Código Java para búsqueda 4 Código Java para inserción 5 Caso 1 Caso 2 Caso 3 Outline Binarios binarios Java

Más detalles

Árboles generales. Un árbol es una estructura no lineal acíclica utilizada para organizar información de forma eficiente. La definición es recursiva:

Árboles generales. Un árbol es una estructura no lineal acíclica utilizada para organizar información de forma eficiente. La definición es recursiva: Capítulo 9. Programación con Árboles 107 Árboles Árboles generales Un árbol es una estructura no lineal acíclica utilizada para organizar información de forma eficiente. La definición es recursiva: Un

Más detalles

Programación lógica con árboles. Introducción. Contenido. Introducción. 1. Programación con árboles 2. Otras estructuras arbóreas

Programación lógica con árboles. Introducción. Contenido. Introducción. 1. Programación con árboles 2. Otras estructuras arbóreas Contenido 1. Programación con árboles 2. Otras estructuras arbóreas Ingeniería Informática Ingeniería Técnica en Informática Departamento de Lenguajes y Ciencias de la Computación Universidad de Málaga

Más detalles

3.0.-ARBOLES ABARCADORES Y COMPONENTES CONEXOS CONCEPTO DE ARBOL ABARCADOR Y SU RELACION CON LOS RECORRIDOS.

3.0.-ARBOLES ABARCADORES Y COMPONENTES CONEXOS CONCEPTO DE ARBOL ABARCADOR Y SU RELACION CON LOS RECORRIDOS. 3.0.-ARBOLES ABARCADORES Y COMPONENTES CONEXOS 3.1.- CONCEPTO DE ARBOL ABARCADOR Y SU RELACION CON LOS RECORRIDOS. 3.2.- BOSQUES Y COMPONENTES CONEXOS. NEXON LENIN CEFERINO POMPOSO Los árboles son particularmente

Más detalles

Tema Árboles binarios fmap para árboles binarios Plegado de árboles binarios

Tema Árboles binarios fmap para árboles binarios Plegado de árboles binarios Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 9. Árboles 9.1 Árboles binarios fmap para árboles binarios Plegado de árboles binarios 9.2

Más detalles

Metodología de Programación I Tutorial Prolog 1/3

Metodología de Programación I Tutorial Prolog 1/3 Metodología de Programación I Tutorial Prolog 1/3 Dr. Alejandro Guerra-Hernández Departamento de Inteligencia Artificial Facultad de Física e Inteligencia Artificial aguerra@uv.mx http://www.uv.mx/aguerra

Más detalles

Estructuras de Datos y Algoritmos: Boletín de Problemas del segundo parcial

Estructuras de Datos y Algoritmos: Boletín de Problemas del segundo parcial Estructuras de Datos y Algoritmos: Boletín de Problemas del segundo parcial (Facultad de Informática) Curso 00 0 Estructuras de Datos y Algoritmos (FI-UPV) Curso 00 0 Árboles. Si la acción P fuera escribir

Más detalles

Estructuras incompletas. Listas diferencia.

Estructuras incompletas. Listas diferencia. Estructuras incompletas. Listas diferencia. 1 / 13 Estructuras incompletas Proporcionan una técnica de implementación muy potente propia de Prolog: Incrementan radicalmente la eficiencia de muchos programas.

Más detalles

Programación recursiva en Prolog

Programación recursiva en Prolog Programación recursiva en Prolog Curso 2002/03, Fecha:14/12/2002 Enunciado 1 (naturales) El siguiente predicado define la suma de números naturales representados mediante la constante 0 y la función siguiente

Más detalles

Abstracción de procedimientos

Abstracción de procedimientos Abstracción de procedimientos 1.- Consideremos ABN (árboles binarios numéricos) sin nodos repetidos. Denimos los siguientes conceptos: Se pide: Dados dos ABN, A y B, decimos que B es SUBARBOL PRINCIPAL

Más detalles

Algoritmos y Estructuras de Datos III

Algoritmos y Estructuras de Datos III Árboles Algoritmos y Estructuras de Datos III Árboles Definición: Un árbol es un grafo conexo sin circuitos simples. Árboles Teorema: Dado un grafo G = (V, X ) son equivalentes: 1. G es un árbol. 2. G

Más detalles

MATEMÁTICAS PARA LA COMPUTACIÓN

MATEMÁTICAS PARA LA COMPUTACIÓN MATEMÁTICAS PARA LA COMPUTACIÓN CAPÍTULO RELACIONES RELACIONES COMO LISTAS ENLAZADAS AUTOR: JOSÉ ALFREDO JIMÉNEZ MURILLO AVC APOYO VIRTUAL PARA EL CONOCIMIENTO RELACIONES COMO LISTAS ENLAZADAS Algunas

Más detalles

Un árbol binario T se define como un conjunto finito de elementos, llamados nodos, de forma que:

Un árbol binario T se define como un conjunto finito de elementos, llamados nodos, de forma que: Instituto Universitario de Tecnología Industrial Rodolfo Loero Arismendi I.U.T.I.R.L.A. ÁRBOLES Sección 3DA Asignatura: Estructura de Datos Lenguaje (C). Ciudad Bolívar _ abril_ 2006. Introducción El siguiente

Más detalles

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

Tema Árboles generales. 9.2 Árboles binarios 9.3 Árboles de búsqueda Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Tema 9. Árboles 9.1 Árboles generales 9.2 Árboles binarios 9.3 Árboles de búsqueda 9.1 Árboles generales Un árbol es

Más detalles

UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-RUACS. Investigación de Operaciones

UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-RUACS. Investigación de Operaciones UNIVERSIDAD NACIONAL DE INGENIERÍA UNI-RUACS Facultad de Ingeniería Industrial Investigación de Operaciones Tema: Teoría de los Grafos Elaborado por: Ing. Carlos Alberto Moreno. Docente: Ing. Pastrana

Más detalles

Francisco J. Hernández López

Francisco J. Hernández López Francisco J. Hernández López fcoj23@cimat.mx Estructura de datos no lineales donde cada componente o nodo puede tener uno o más predecesores (a diferencia de los árboles) y sucesores Un grafo esta formado

Más detalles

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

ÁRBOLES CRISTIAN ALFREDO MUÑOZ ÁLVAREZ JUAN DAVID LONDOÑO CASTRO JUAN PABLO CHACÓN PEÑA EDUARDO GONZALES Á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ás detalles

1. Diseñe algoritmos que permitan resolver eficientemente el problema de la mochila 0/1 para los siguientes casos:

1. Diseñe algoritmos que permitan resolver eficientemente el problema de la mochila 0/1 para los siguientes casos: PROGRAMACIÓN DINÁMICA RELACIÓN DE EJERCICIOS Y PROBLEMAS 1. Diseñe algoritmos que permitan resolver eficientemente el problema de la mochila /1 para los siguientes casos: a. Mochila de capacidad W=15:

Más detalles

Tipos paramétricos y recursivos

Tipos paramétricos y recursivos Tipos paramétricos y recursivos Taller de Álgebra I Verano 2017 Tipos paramétricos Tipos paramétricos Podemos hacer que los constructores de un tipo de datos reciban parámetros. A los tipos construidos

Más detalles

GRAMATICAS LIBRES DEL CONTEXTO

GRAMATICAS LIBRES DEL CONTEXTO GRMTICS LIBRES DEL CONTEXTO Estas gramáticas, conocidas también como gramáticas de tipo 2 o gramáticas independientes del contexto, son las que generan los lenguajes libres o independientes del contexto.

Más detalles

Universidad Nacional de Educación a Distancia Ingeniería Técnica en Informática de Sistemas Introducción a la Inteligencia Artificial (2º curso)

Universidad Nacional de Educación a Distancia Ingeniería Técnica en Informática de Sistemas Introducción a la Inteligencia Artificial (2º curso) Universidad Nacional de Educación a Distancia Ingeniería Técnica en Informática de Sistemas Introducción a la Inteligencia Artificial (2º curso) Soluciones exámenes junio 2010 Semana 1. Ejercicio 1. (Valoración:

Más detalles

Control en Prolog. Control

Control en Prolog. Control Control sobre La búsqueda El retroceso La unificación Aplicaciones. Control en Prolog Recorrido sobre grafos Sin repetir nodo Sin repetir arco Control La búsqueda mediante un predicado sin argumentos!

Más detalles

Definiciones y ejemplos.

Definiciones y ejemplos. V. Grafos Definiciones y ejemplos. Módulo 5 DEF. Sea V un conjunto finito no vacío, y sea El par (V, E) es llamada entonces grafo dirigido en V, donde V es el conjunto de vértices o nodos y E es su conjunto

Más detalles

Programación Declarativa

Programación Declarativa Programación Declarativa Ingeniería Informática Especialidad de Computación Cuarto curso. Primer cuatrimestre Escuela Politécnica Superior de Córdoba Universidad de Córdoba Curso académico: 2017 2018 Práctica

Más detalles

Programación Declarativa

Programación Declarativa Programación Declarativa Ingeniería Informática Especialidad de Computación Cuarto curso. Primer cuatrimestre Escuela Politécnica Superior de Córdoba Universidad de Córdoba Curso académico: 2018 2019 Práctica

Más detalles

Tema 08: TAD Árbol. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom

Tema 08: TAD Árbol. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom Tema 08: TAD Árbol M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom (Prof. Edgardo A. Franco) 1 Contenido Descripción del TAD Árbol Especificación

Más detalles

Algoritmos y Estructuras de Datos III

Algoritmos y Estructuras de Datos III Árboles Algoritmos y Estructuras de Datos III Árboles Definición: Un árbol es un grafo conexo sin circuitos simples. Árboles Teorema: Dado un grafo G = (V, X ) son equivalentes: 1. G es un árbol. 2. G

Más detalles

Tema 2: Grafos y Árboles. Algoritmos y Estructuras de Datos 3

Tema 2: Grafos y Árboles. Algoritmos y Estructuras de Datos 3 Tema 2: Grafos y Árboles Algoritmos y Estructuras de Datos 3 1 ÍNDICE 2.1 Definiciones básicas: grafos y árboles 2.2 Representaciones de árboles y grafos 2.3 Algoritmos de recorrido de árboles binarios

Más detalles

Programación con listas

Programación con listas Programación con Estructuras III.1 Programación con listas Unificación con listas. Dominio de definición Predicados sobre listas.tablas de comportamiento Predicados aritméticos con listas. Predicados iterativos

Más detalles

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

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos Algoritmos y Estructuras de Datos I 1 cuatrimestre de 009 Departamento de Computación - FCEyN - UBA Programación funcional - clase Tipos algebraicos Tipos algebraicos y abstractos ya vimos los tipos básicos

Más detalles

Estructura de Datos. Estructuras de Datos no lineales : Árboles

Estructura de Datos. Estructuras de Datos no lineales : Árboles Estructura de Datos Estructuras de Datos no lineales : Árboles Definiciones de Árbol En términos matemáticos, un árbol es cualquier conjunto de puntos, llamados vértices, y cualquier conjunto de pares

Más detalles

Introducción a Árboles Árboles Binarios

Introducción a Árboles Árboles Binarios Introducción a Árboles Árboles Binarios Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Introducción a Árboles Estructuras hasta ahora Estructuras

Más detalles

Ciencias de la Computación I

Ciencias de la Computación I Ciencias de la Computación I Gramáticas Libres del Contexto y Lenguajes Libres del Contexto Gramáticas Formales Una gramática formal es una cuadrupla G = (N, T, P, S) N = conjunto finito de símbolos no

Más detalles

Estructura de datos y de la información Boletín de problemas - Tema 10

Estructura de datos y de la información Boletín de problemas - Tema 10 Estructura de datos y de la información Boletín de problemas - Tema 10 1. En el caso de que sea posible, dar un ejemplo de los siguientes puntos. Si no, explicar por qué no lo es. Considerar un valor genérico

Más detalles

Estructura de Datos. Unidad V Estructuras no lineales estáticas y dinámicas. (Árboles y grafos)

Estructura de Datos. Unidad V Estructuras no lineales estáticas y dinámicas. (Árboles y grafos) Ing. En Sistemas Computacionales Estructura de Datos Unidad V Estructuras no lineales estáticas y dinámicas. (Árboles y grafos) Ing. Néstor Alejandro Carrillo López Arboles Un árbol es un conjunto finito

Más detalles

Práctica N o 1 - Programación Funcional

Práctica N o 1 - Programación Funcional Práctica N o 1 - Programación Funcional Para resolver esta práctica, recomendamos usar el Hugs 98, de distribución gratuita, que puede bajarse de http://www.haskell.org/hugs/. Ejercicio 1 Dado el siguiente

Más detalles

PROGRAMACIÓN DECLARATIVA: LÓGICA Y RESTRICCIONES

PROGRAMACIÓN DECLARATIVA: LÓGICA Y RESTRICCIONES EJERCICIO 1 (3,5 puntos 30 minutos) Se pide al alumno que escriba un programa lógico puro para realizar el recorrido en anchura de un árbol binario, codificando los siguientes predicados, así como cualquier

Más detalles

Estructura de Datos. Códigos de Huffman. Primer Semestre, Compresión de Archivos. Compresión de Archivos

Estructura de Datos. Códigos de Huffman. Primer Semestre, Compresión de Archivos. Compresión de Archivos Estructura de Datos Códigos de Huffman Prof.: Mauricio Solar Prof.: Lorna Figueroa Primer Semestre, 2 Los algoritmos estudiados hasta ahora han sido diseñados, en general, para que utilicen el menor tiempo

Más detalles

Grafos. Amalia Duch Brown Octubre de 2007

Grafos. Amalia Duch Brown Octubre de 2007 Grafos Amalia Duch Brown Octubre de 2007 Índice 1. Definiciones Básicas Intuitivamente un grafo es un conjunto de vértices unidos por un conjunto de líneas o flechas dependiendo de si el grafo es dirigido

Más detalles

Grafos. Algoritmos y Estructuras de Datos III

Grafos. Algoritmos y Estructuras de Datos III Grafos Algoritmos y Estructuras de Datos III Grafos Un grafo G = (V, X ) es un par de conjuntos, donde V es un conjunto de puntos o nodos o vértices y X es un subconjunto del conjunto de pares no ordenados

Más detalles

2. Desarrolla una especificación informal genérica para el TAD árbol binario. Incluir operaciones para crear y modificar el árbol.

2. Desarrolla una especificación informal genérica para el TAD árbol binario. Incluir operaciones para crear y modificar el árbol. 1. Escribe una especificación informal para los distintos métodos de ordenación que conozcas. La especificación debe ser genérica, es decir trabajar con elementos de cualquier tipo. En qué se diferencia

Más detalles

Universidad Nacional de Educación a Distancia. Ingeniería Técnica en Informática de Sistemas. Introducción a la Inteligencia Artificial (2º curso)

Universidad Nacional de Educación a Distancia. Ingeniería Técnica en Informática de Sistemas. Introducción a la Inteligencia Artificial (2º curso) Universidad Nacional de Educación a Distancia Ingeniería Técnica en Informática de Sistemas Introducción a la Inteligencia Artificial (2º curso) Soluciones exámenes septiembre 2010 Ejercicio 1. (Valoración:

Más detalles

Capítulo 7. Grafos. Continuar

Capítulo 7. Grafos. Continuar Capítulo 7. Grafos Continuar Introducción Uno de los primeros resultados de la teoría de grafos fue el que obtuvo Leonhard Euler en el siglo XVIII al resolver el problema de los puentes de Königsberg.

Más detalles

Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1.

Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1. Ejercicios Resueltos del Práctico 4 Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1. 1 2 struct NodoLista { 3 int elem ; 4 NodoLista * sig ;

Más detalles

Semana 4: Métodos de Búsqueda No informados. Prof. Oscar Benito Pacheco.

Semana 4: Métodos de Búsqueda No informados. Prof. Oscar Benito Pacheco. Semana 4: Métodos de Búsqueda No informados Prof. Oscar Benito Pacheco. Estrategias de Búsqueda Búsqueda No Informada Búsqueda Informada (Ciega) (Heurística) 1. Búsqueda preferente por amplitud 2. Búsqueda

Más detalles

Programación Declarativa

Programación Declarativa Programación Declarativa Ingeniería Informática Especialidad de Computación Cuarto curso. Primer cuatrimestre Escuela Politécnica Superior de Córdoba Universidad de Córdoba Curso académico: 2016 2017 Práctica

Más detalles

Solución Primer Parcial Matemática

Solución Primer Parcial Matemática Solución Primer Parcial Matemática 1-01 1 Dados los puntos P 1 (5, 4) y P (, 4) hallar: (a) Ecuación, elementos y gráfico de la parábola con vértice en P 1 y foco en P. El eje de la parábola es paralelo

Más detalles

Propiedades de lenguajes independientes del contexto

Propiedades de lenguajes independientes del contexto Capítulo 12. Propiedades de lenguajes independientes del contexto 12.1. Identificación de lenguajes independientes del contexto Lema de bombeo. 12.2. Propiedades Cierre, Complemento de lenguajes, Sustitución,

Más detalles

Árboles y esquemas algorítmicos. Tema III

Árboles y esquemas algorítmicos. Tema III Árboles y esquemas algorítmicos Tema III Bibliografía Tema III (lecciones 15 a 22) del libro Campos Laclaustra, J.: Estructuras de Datos y Algoritmos, Prensas Universitarias de Zaragoza, Colección Textos

Más detalles

Trabajo Práctico 2 - Programación Lógica Viajante de comercio Fecha de entrega: jueves 30 de octubre, hasta las 21 hs.

Trabajo Práctico 2 - Programación Lógica Viajante de comercio Fecha de entrega: jueves 30 de octubre, hasta las 21 hs. Trabajo Práctico 2 - Programación Lógica Viajante de comercio Fecha de entrega: jueves 30 de octubre, hasta las 21 hs. 1. Mapas y rutas Una empresa de transporte desea organizar su logística. Para ello,

Más detalles

TIPOS ABSTRACTOS DE DATOS EN HASKELL

TIPOS ABSTRACTOS DE DATOS EN HASKELL TIPOS ABSTRACTOS DE DATOS EN HASKELL ÍNDICE GENERAL 1. Introducción a Haskell 2. Tipos abstractos de datos en Haskell 3. TAD Grafo 4. TAD Montículos 5. Bibliografía INTRODUCCIÓN A HASKELL 1. Introducción

Más detalles

1.1 Define un operador ( ) que devuelva True si y solo si tan solo uno de sus argumentos es True. Por ejemplo:? (3 > 2) (2 > 5)

1.1 Define un operador ( ) que devuelva True si y solo si tan solo uno de sus argumentos es True. Por ejemplo:? (3 > 2) (2 > 5) 1 Informática Haskell Matemáticas Curso 2004-2005 Pepe Gallardo Universidad de Málaga Práctica 1 1.1 Define un operador ( ) que devuelva True si y solo si tan solo uno de sus argumentos es True. Por ejemplo:?

Más detalles

Inteligencia Artificial II Prolog I

Inteligencia Artificial II Prolog I Inteligencia Artificial II Prolog I Dr. Alejandro Guerra-Hernández Universidad Veracruzana Centro de Investigación en Inteligencia Artificial mailto:aguerra@uv.mx http://www.uv.mx/personal/aguerra Maestría

Más detalles

Introducción a la Teoría de Grafos

Introducción a la Teoría de Grafos Introducción a la Teoría de Grafos Conceptos Simples, Problemas Difíciles Héctor Ramírez C. 1 1 Departamento de Ingeniería Matemática Universidad de Chile Curso MA3701: Optimización Héctor Ramírez C. (U.

Más detalles

CAPÍTULO 2. ÁRBOLES 2.0. CONCEPTOS GENERALES

CAPÍTULO 2. ÁRBOLES 2.0. CONCEPTOS GENERALES CAPÍTULO 2. ÁRBOLES 2.0. CONCEPTOS GENERALES Los árboles (en general) se utilizan para representar fórmulas algebraicas, para organizar objetos en orden de tal forma que las búsquedas sean muy eficientes

Más detalles

Tema 13: Aplicaciones de programación funcional

Tema 13: Aplicaciones de programación funcional Tema 13: Aplicaciones de programación funcional Programación declarativa (2010 11) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de

Más detalles

PROGRAMACIÓN ORIENTADA A LA INTELIGENCIA ARTIFICIAL

PROGRAMACIÓN ORIENTADA A LA INTELIGENCIA ARTIFICIAL PROGRAMACIÓN ORIENTADA A LA INTELIGENCIA ARTIFICIAL Ejercicios de programación en LISP y PROLOG prog-ia@dia.uned.es Dpto. Inteligencia Artificial E.T.S.I. Informática (UNED) C/ Juan del Rosal 16 28040

Más detalles

Tema 15: GRAFOS Algoritmos y estructuras de datos I - Tema 15 1

Tema 15: GRAFOS Algoritmos y estructuras de datos I - Tema 15 1 Tema 15: GRFOS jemplos de grafos G 1 = (V 1, 1 ) V 1 ={1,2,3,4} 1 ={ (1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4) } (1, 3) 1 (1, 2) (2, 3) (1, 4) 2 3 4 (3, 4) (2, 4) jemplos de grafos G 2 = (V 2, 2 )

Más detalles

Tema: Algoritmos para la ruta más corta en un Grafo.

Tema: Algoritmos para la ruta más corta en un Grafo. Programación IV. Guía No. 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Algoritmos para la ruta más corta en un Grafo. Objetivos Específicos Definir el concepto de camino

Más detalles

Clase adicional 9. Listas enlazadas. Temas. Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño

Clase adicional 9. Listas enlazadas. Temas. Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño Clase adicional 9 Temas Listas enlazadas Árboles Problemas de la clase adicional Ejercicios de diseño Listas enlazadas Previamente en este curso, ya habrá trabajado con dos de las estructuras de datos

Más detalles