BUSQUEDA EN ANCHURA Y PROFUNDIDAD

Slides:



Advertisements
Presentaciones similares
Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
Advertisements

Tania Guzmán García Luis González Varela Alexandre González Rivas
ALGORITMOS DE KRUSKAL Y PRIM
GRAFOS Presentado por: Oscar Leonardo Ramírez John Freddy Sandoval
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
ESTRUCTURA DE DATOS Unidad 04 Árboles BINARIOS.
Árboles Grafo que no contiene ciclos, es decir es un grafo también acíclico, pero a su vez es conexo.
Teoría de Grafos I semestre 2009 UNIVERSIDAD NACIONAL DE INGENIERIA
Ordenamiento Interno y Búsqueda Binaria
MATEMÁTICAS DISCRETAS.
“GRAFOS” Chacón Zamora José Christian González García Andrea
ESTRUCTURAS DE DATOS AVANZADAS
PROGRAMACION DE ESTRUCTURAS DE DATOS
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Teoría de lenguajes y compiladores
Planificación de la Información.
Solución de problemas por búsqueda inteligente
Integrantes: Esteban Jiménez Guesseppe Lozada Mario Rodriguez Gustavo Tenorio Fabio.
Definiciones: conjuntos, grafos, y árboles
Recurrencia Programación II 3-4 de febrero de 2009.
Tema Nº4.
Teoría de Grafos.
Material de apoyo Unidad 8 Estructura de datos
HILOS Y COMUNICACIÓN ENTRE PROCESOS
AED I. Estructuras de Datos.
Cecilia Laborde González
GRAFOS HUGO ARAYA CARRASCO.
1 Algoritmos Elementales de Grafos Agustín J. González ELO-320: Estructura de Datos Y Algoritmos 1er.Sem
Material de apoyo Unidad 4 Estructura de datos
Grafos. Un Grafo G es un par de conjuntos (V, E), donde V es un conjunto no vacío de elementos llamados vértices o nodos y E es un conjunto formado por.
UNIDAD II. Manejo de archivos
Definiciones: conjuntos, grafos, y árboles
Trabajo presentado por: LUIS FERNANDO OBANDO ING
I n s t i t u t o T e c n o l ó g i c o d e T e c n o l ó g i c o d e V i l l a h e r m o s a ING. EN SISTEMAS CATEDRATICO: I.I. Zinath Javier Gerónimo.
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
Estructura de Datos y Algoritmos
Diseño y análisis de algoritmos
Clase 10: Estructuras de datos y arreglos.
BUSQUEDA SECUENCIAL Consiste en revisar elemento tras elemento hasta encontrar el dato buscado, o llegar al final del conjunto de datos disponibles. La.
Métodos de búsqueda Unidad 6.
Métodos de Búsqueda Informada. Búsqueda de la mejor Ruta En esta sección no sólo nos interesa encontrar una posible ruta, sino obtener aquella ruta que.
A LGORITMO DE BÚSQUEDA POR COSTO UNIFORME Dorian López.
Sistema de archivos Sistemas operativos.
(Organización y Manejo de Archivos)

Aplicación de estructuras de datos
Matemáticas Discretas
Estructuras de datos para Grafos
Estructura de Datos M.C. José Andrés Vázquez Flores FCC/BUAP
Teoría de Sistemas Operativos Administración de Archivos.
Sesión 3: Teoría de Grafos
Definiciones: conjuntos, grafos, y árboles
Agustín J. González ELO-320: Estructura de Datos Y Algoritmos
Cecilia Laborde González
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
Estructura de Datos 4 Grafos Dirigidos
Instituto Tecnológico De Villahermosa Alumno: Lázaro García Hernández.
ANALISIS DE REDES UNIDAD PROCEDIMIENTO DE OPTIMIZACION
UNIDAD 2 Grafos Árboles abarcadores mínimos Caminos más cortos.
ARBOLES GENERALIZADOS
GRAFOS.
Capítulo 8: Árboles Autor: José Alfredo Jiménez Murillo.
BUSQUEDA POR PROFUNDIDAD INTELIGENCIA ARTIFICIAL
MIA - Grupo 5 Unidad 2.

M.C. Meliza Contreras González
Matemáticas Discretas MISTI
Recorridos de grafos Segunda Parte M.C. Meliza Contreras González.
JURGEN MARTINEZ SANCHEZ JOSÉ ALAN HERNÁNDEZ GONZÁLEZ GUSTAVO RAFAEL DE LA ROSA VILLAFUERTE DFS en Grafos.
BÚSQUEDA DE SOLUCIONES Soluciones no Informadas (cont.) Dra. Myriam Hernández A.
Transcripción de la presentación:

BUSQUEDA EN ANCHURA Y PROFUNDIDAD Por: Juan Carlos Echeverri Cadavid Análisis de Algoritmos Profesor: Ricardo Botero

Para la comprensión y determinación de los algoritmos de Búsqueda en Profundidad y Anchura, es necesario tener conocimiento de algunos conceptos básicos de la teoría de grafos Grafo Camino Componente conexa Grafo conexo

QUE ES 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. Típicamente, un grafo se representa gráficamente como un conjunto de puntos (vértices o nodos) unidos por líneas (aristas). Tipos de grafos dirigidos (aristas) no dirigidos (arcos)

TIPOS DE GRAFOS Grafo etiquetado: Cada arista y/o vértice tiene asociada una etiqueta/valor. Grafo ponderado = Grafo con pesos: Grafo etiquetado en el que existe un valor numérico asociado a cada arista o arco. Multigrafo: Grafo en el que se permite que entre dos vértices exista más de una arista o arco.

CAMINO (teoría de grafos) Un camino es una sucesión de vértices tal que de cada uno de sus vértices existe una arista hacia el vértice sucesor. Un camino simple es aquel que no repite vértices en su recorrido. Dos caminos son ajenos o independientes si no tienen ningún vértice en común excepto el primero y el último. Sucesión de arcos adyacentes tal que el vértice final de cada arco coincide con el inicial del siguiente.

COMPONENTE CONEXA Es un grafo tal que para cada par de vértices, existe un camino de uno hacia el otro, y viceversa.

GRAFO CONEXO Si es posible formar un camino desde cualquier vértice a cualquier otro en el grafo, decimos que el grafo es conexo. Un grafo no dirigido es un grafo conexo

BUSQUEDA EN ANCHURA BFS -Breadth First Search) es un algoritmo para recorrer o buscar elementos en un grafo. Usado frecuentemente sobre arboles. Intuitivamente, Se comienza en la raíz (eligiendo algún nodo como elemento raíz en el caso de un grafo) y se exploran todos los vecinos de este nodo. A continuación para cada uno de los vecinos se exploran sus respectivos vecinos adyacentes, y así hasta que se recorra todo el árbol. Y agotar la grafica. BFS es un algoritmo de búsqueda sin información, que expande y examina todos los nodos de un árbol sistemáticamente para buscar una solución. El algoritmo no usa ninguna estrategia heurística. Si las aristas tienen pesos negativos aplicaremos el algoritmo de Bellman-Ford en alguna de sus dos versiones.

Orden en que se recorre un grafo en una búsqueda en anchura

Algoritmo para la búsqueda en anchura: Este algoritmo realiza la búsqueda en anchura en un grafo G comenzando en un nodo de partida A. 1. Inicializar todos los nodos al estado de preparados (ESTADO=1). 2. Poner el nodo de partida A en la COLA y cambiar su estado a espera (ESTADO=2). 3. Repetir pasos 4 y 5 hasta que COLA esté vacía.estado a procesado (ESTADO=3). 4. Quitar el nodo del principio de la cola, N. Procesar N y cambiar supreparados (ESTADO=1) y cambiar su estado al de espera (ESTADO=2). [ fin del bucle del paso 3 ] 5. Añadir a COLA todos los vecinos de N que estén en estado de 6. Salir.

Pseudocódigo

BUSQUEDA EN PROFUNDIDAD DFS o Depth First Search) es un algoritmo que permite recorrer todos los nodos de un grafo o árbol , de manera ordenada, pero no uniforme. Su funcionamiento consiste en ir expandiendo todos y cada uno de los nodos que va localizando, de forma recurrente, en un camino concreto. Cuando ya no quedan más nodos que visitar en dicho camino, regresa (Backtracking), de modo que repite el mismo proceso con cada uno de los hermanos del nodo ya procesado.

Orden en que se recorre un grafo en una búsqueda en profundidad.

Algoritmo para la búsqueda en profundidad: Este algoritmo realiza la búsqueda en profundidad el grafo G comenzando en un nodo A. 1. Inicializar todos los nodos al estado de preparado (ESTADO=1) 2. Meter el nodo inicial A en la pila y cambiar su estado a estado de espera (ESTADO=2). 3. Repetir los pasos 4 y 5 hasta que la pila este vacia.estado al de procesado (ESTADO=3). 4. Sacar el nodo N en la cima de la pila. Procesar el nodo N y cambiar supreparados (ESTADO=1) y cambiar su estado a estado de espera (ESTADO=2). [ fin de bucle del paso 3 ] 5. Meter en la pila todos los vecinos de N que estén en estado de 6. Salir.

Pseudocódigo para grafos

conclusion Los algoritmos de búsqueda BFS y DFS son una de las herramientas básicas a la hora de trabajar con grafos. No sólo podremos usarlos para recorrer grafos o buscar elementos, sino que también podemos adaptarlos y mejorarlos para resolver de manera eficiente cualquier tipo de situaciones que podamos moldear como un grafo o un árbol.

bibliografia www.google.com es.wikipedia.org http://www.dma.fi.upm.es/

Preguntas ¿Qué es un grafo? ¿Cómo funciona la búsqueda en profundidad en un grafo?

BUSQUEDA EXTERNA EN ARCHIVOS SECUENCIALES Por: Jhonathan Monsalve Velásquez Análisis de Algoritmos. Profesor: Ricardo Botero

QUE ES LA BÚSQUEDA ? La búsqueda es una de las operaciones más importantes en el procesamiento de la información, y permite la recuperación de datos previamente almacenados. La búsqueda de información esta relacionada con las diferentes tablas de búsqueda, llamadas “lookup”, las cuales contienen una gran cantidad de información, que es distribuida y almacenada en forma de listas de datos.

TIPOS DE BÚSQUEDA El tipo de búsqueda puede ser clasificada en varias formas, como interna o externa. Esto varia según el lugar de destino en el que esté almacenada la información (en memoria o en dispositivos externos). BÚSQUEDA EXTERNA Es aquella donde se evidencia grandes volúmenes de registros, que puede ser necesario almacenarlos en archivos de disco o cinta, este proceso es externo a la memoria del equipo. BÚSQUEDA INTERNA La búsqueda interna es aquella donde se almacenan por completo todos los registros en memoria de la computadora.

FINALIDAD DE LA BUSQUEDA Existen diferentes algoritmos de búsqueda, por lo que su elección depende directamente de la forma en que se encuentren organizados sus datos. Su objetivo principal es la detección de el dato buscado, es por eso que la búsqueda de un elemento N se puede determinar de la siguiente forma: Buscar_elemento “N” Existe N el conjunto de información ?. Identificar la posición de N en el conjunto. No Existe Determinar que N no existe en el conjunto

DISPOSITIVOS DE ALMACENAMIENTO SECUENCIAL Estos son algunos de medios de almacenamiento secuencial para la información. Unidades de cinta magnéticas Unidades de Disquetes Discos ópticos Cintas magnéticas Cartuchos de memoria Digitalización de imágenes

QUE SON ARCHIVOS ? Los archivos también denominados ficheros son una colección de datos relacionados entre sí, localizados o almacenados como una unidad en alguna parte de la computadora. Dichos elementos sirven para dar la entrada y salida a un ordenador normalmente son manejados con programas y pueden ser contrastados con arrays y registros. Características de los archivos Independencia de la información respecto de los programas La información almacenada es permanente. Un archivo puede ser accedido por distintos programas en distintos momentos. Gran capacidad de almacenamiento

ARCHIVOS SECUENCIALES Es la forma básica de organizar e un conjunto de registros, que forman un archivo, permiten indicar a la computadora mediante la programación que el ordenador lea o escriba una entrada. Estos archivos se almacenan uno tras otro, el primer registro almacenado se coloca al principio del archivo y el segundo se almacena inmediatamente después (no existen posiciones sin uso) y así sucesivamente. Posición1 Registro1 Posición2 Registro2 Posición3 Registro3 Posición N Registro N

METODO DE BÚSQUEDA SECUENCIAL EN ARCHIVOS SECUENCIALES. Consiste en revisar la estructura de datos elemento por elemento hasta encontrar el dato que estamos buscando, o hasta llegar al final de la estructura de datos. Para leer un archivo secuencial, el sistema siempre  comienza al principio del arreglo de izquierda a derecha y lee un registro a la vez hasta llegar al registro deseado. El proceso concluye cuando el elemento es encontrado o cuando el intervalo de búsqueda se anula o es nulo lo primero que suceda. Normalmente si la búsqueda concluye con éxito, es de interés conocer la posición en que fue hallado el elemento.

p q EJEMPLO BÚSQUEDA SECUENCIAL q<>null q.info<>x Si Si dato a buscar: X=45 P = apuntador del primer nodo tamaño del arreglo: N=5 Q = variable de tipo apuntador A1 A2 A3 A4 A5 30 45 30 70 40 q<>null Si p q q.info<>x Si

Hemos encontrado el valor buscado en EJEMPLO BÚSQUEDA SECUENCIAL dato a buscar: X=45 P = apuntador del primer nodo tamaño del arreglo: N=5 Q = variable de tipo apuntador A1 A2 A3 A4 A5 q<-q.liga 30 45 30 70 40 Si q<>null p q q.info<>x No Hemos encontrado el valor buscado en Posición A1 Valor = 45

PREGUNTAS ¿Cuáles son los tipos de busqueda? ¿Qué son archivos secuenciales?

Gracias….