Projeto e Análise de Algoritmos - Aula 12 - Algoritmos de busca em largura e profundidade em grafos

25.8k views3222 WordsCopy TextShare
UNIVESP
Engenharia de Computação - 13º Bimestre Disciplina: Projeto e Análise de Algoritmos - EEM-002 Unive...
Video Transcript:
[Música] i [Música] o la pesoe sellan beijing 2 nos habla número 12 del proyecto y análisis y algoritmos en esa aula veremos al algoritmo de búsqueda largura y algoritmo de búsqueda profundidad y en grafos un problema fundamental en grafos y saber cómo explorar un grafo de forma sistemática muchas aplicaciones son extraídas como problemas de busca entonces algoritmos de busca son a base de varios algoritmos más gerais en grafos como que podemos explorar un grafo suponía que bosé que el saber si existen caminos simples entre dos vértices porque tenemos que pensar aquí es que en un
grafo pues cuando per cojamos su grafo la gente consiga llegar un vértice anterior en todo de algunos editores y tengo que marcar los vértices que ya fueron explorados tenemos que marcar los vértices tal vez por ejemplo como face o algoritmo de busca en profundidad y largura de algún insecto comencemos entonces como algoritmo de búsqueda largura sellaje un grafo o si tenemos un conjunto de vértices y conjuntos de aristas y tenemos un vértice se ha partido la famosa será busca o algoritmo de búsqueda y largura también conocido como brett fierce age el ifai per todas las
aristas de geógrafo descubriendo todos sus suertes y satín si veis a partir de ese no inicial de ese vértice inicial s aunque que vais a hacer ese algoritmo en tonel y va a determinar la distancia de cada uno de sus vértices a s esa distancia país en mérida el número de aristas vamos porque vamos a comenzar en todo a explorar ese grafo de aquí mostrado una figura y tenemos un estado una verdad de uno inicial que es en un aparte del que vamos a aplicar a busquen largura antes de encontrar un vértice a distancia cama
y zoom de ese todo suceda desde la distancia caso encontrados pero algoritmo de búsqueda largura en todo primero que va a hacer encontrar ese vértice un que está a distancia cero del mismo después va a encontrar todos sus vértices que están a distancia aunque sería 1 2 4 y 3 después va a encontrar los que están a distancias 2 que serían un su vértice 6 y 6 y de puestos que están a distancia 3 que sería un vértice cuándo ejecutamos algoritmo de búsqueda largura he producido un árbol he producido más árboles con jasen ese es
a árboles by contener todos sus vértices accesibles a partir de ahí vamos necesario les vamos ver un camino más culto desde ese ate en que te un vértice a csif esta valores a mostrar aquí con líneas ver medias mentón tenemos un árbol en hai sada en un vértice y el lacón tiene todos sus vértices que sería en este caso todos sus vértices del grafo por todos ellison accesibles a partir de vértice para facer a busquen largura ya falamos que precisamos marcaron sus vértices de algún objeto nunca se buscan largura sus vértices son pintados de diferentes
colores vamos coloridos vértices de blanco sin ciprés o en blanco podemos colocar los vértices que no fueron descubiertos aínda en sheen's a vértices que ya fueron descubiertos más a indalo examinamos sus vecinos y en preto sus vértices cuyos vecinos ya fueron examinados y para mantener sus vértices hinchas vamos a usar una fila entonces llamamos un ejemplo aquí tenemos un grafo de inicio tenemos todos sus vértices coloridos de blanco y todos él existen distancia infinita vamos a hacer a buscar el argumento compartido ver si este es el primero que efecto el vértice origen y pintado de
zinsa que ese de aquí vértice origen y eléctrica de considerado descubierto en el jr y colocado una fila nos afila llamada de que ese vértice es retirado de la fila o sea su vértice se ha retirado de la fila y usuarias es israelí son colocados en que hay pintados de ciencia quien somos adyacentes a ese son vértices liberticida bleu usd hoy somos ser colocados manos afilada bleú viaje el índice actualizada distancia para que en este caso sería a distancia a ese 1 y aquí a distancia de doble a ese 1 y actualizado también un parking
dubai está marcando aquí como por medio de ésta para saber quién culpar apósito coloritmo su vértice completo por sus museos vecinos sus vecinos de ese ya fueron todos visitados descubiertos antón tenemos una fila dable hubiese un próximo elemento que va a ser retirado de la fila va a ser dable los diseños de edad lo que en que son son tesis lo que vamos a hacer vais a ir dable y va a entrar una fila de gis elevamos el colorido de zinsa y un vértice dable uvais el colorido de preto actualizamos a distancia están siento a
que se va a ser una más que upyd cada uno de él y en ese caso para tablet en distancia aún por tanto tesifonte distancia 2 vamos a estar a una distancia 2 el próximo elemento que vais a retirar una fila de escayola mosquín que son un censista eres son v y u s más único que blanco v entonces ha retirado guarde aquí va a ser ingerido v una fila cierto color y maxwell de presto y ahí continuamos con un proceso quien que el próximo que va a ser retirado de la fila de usted hoy
vamos que en que somos vecinos de usted son 16 maestros y ya fue visitado antes tanto observe que son menchi colocamos la fila vértices blancos en este caso apenas u que son inmediatamente coloridos de ciencia o entran a fila ok el próximo elemento que vais a retirado de la fila eu si hallamos que en que somos adyacentes a él y son weeps y lo cierto único blanco que hay es en chile weeps el aumento muchas hay wifi lo entra en la fila vamos austeros y siguen sin ser todo actualizamos también a distancia actualizamos que en
kuwait pronto y después su próximo vértice que vice se ha retirado de la fila v estamos aquí como ve él y no tenía ya sense el que se abran cuento no voy a contestar nada solamente y vais a ir úbeda fila un próximo que están a fila no tengo más niño un vértice blanco adyacente a él y entonces ser simples mensaje tirado la fila y actualizado claro oa distancia a tves en este caso y después un último elemento baixa retirado de la fila que vino en torno al final tenemos a fila fácil un peso del
código de algoritmo de búsqueda largura está aquí en todo primero que pasemos a patxi de inicialización tono inicio lo que vamos a hacer para todos sus vértices excepto un vértice es el que vamos color y de liz de blanco vamos a hacer vamos a hacer el color y de lis de blanco colocar a distancia infinito para cada uno de ellis y como no conocemos aínda que en kuwait dubai ser mío el próximo paso es color y vértice s como zinsa que un primero vértice que vais a descubierto a distancia de ese para ese cero e
hizo que ésta sino fetal una línea 6 y después su padre es en yo y no inicio a fila está vacía aquí a phil está vacía y colocamos su vértice s una fila que sería esa línea en cuanto existan vértices cintas o que vamos a hacer es tirar primero el elemento de la fila la línea 11 y para cada vértice asia central y que hizo que éstas y no afecte aquí hay en chivay primero preguntar si el blanco si el blanco qué vamos a hacer vamos color ir cada vértice alias en sí de zinsa actualizar
a distancia una línea en esa línea de aquí actualizar quien que hay aquí es cierto tengo que vamos a ver el club hay desde uno que le voy a descubierta desde que en ese caso y después vamos colocar ese vértice ve una fila eso que está siendo feito una línea 16 después de tener visitado todos los vértices adyacentes aquí hay en tipos y color y dentón finalmente un vértice como que hizo efecto en una niña ahora veamos cuánto que consume de tiempo ese algoritmo primero vamos a analizar a parte de visita dos vértices adyacentes cada
vértice colocado en la fila no máximo más beige y por tanto retirado de la fila también un máximo más beige ok precisamos saber cuánto que consume cada operación de colocar la fila y deja tirar la fila cada operación de de kiwi en club que sería colocar y retirar la fila de morante en pro de un evento a un tiempo total de operaciones una fila va a ser o debe el indicio sabemos que la lista de aceites de cada vértice examinados solamente cuando vértice girado y desequilibrado cierto a listas de adyacencias de cada vértice he examinado
la verdad sin un máximo más vez ya vimos las aulas anteriores que la cantidad de elementos las listas de adyacencia o de cantidad de aristas por tanto un tiempo gasto para bajar todas todos los elementos las listas de adyacencias va a ser idea entonces podemos concluir que la línea de esta línea de solito consume o dea a partir de inicialización como estamos pero corriendo aquí todos sus vértices en ese lazo de aquí la línea aún estamos por cogiendo todos sus vértices va a ser o debe y por tanto consumo el tiempo de algoritmo de busca
en largura va a ser o debe maysan ok alto ahora pasemos para el próximo algoritmo de busca que sería el algoritmo de búsqueda profundidad conocido también como decir search de fs con la idea de ese algoritmo y proseguir a buscar siempre a partir de vértice descubierto más recientemente ate que ese no tenía más diseños descubiertos entones ese caso se falta para un vértice anterior a él o posto dudo algoritmo anterior busquen largura o algoritmo de búsqueda profundidad y explorado vértice más antiguo primero y diferente de otro algoritmo que vimos antes él no va a crear
solamente una él iba a crear más florencia que sería un conjunto de árboles o algoritmo de búsqueda profundidad y también marca los vértices de albudeite en este caso los vértices van josé verdejo tú los rótulo de que un momento en que vértice fue descubierto o sella en un momento en que uberti se tornó 60 o efe que un momento en que examinamos u se os veciños o sella un momento en que torno o secreto y así a gente sabe que un vértice blanco desde inicio ate the scene sa desde ate efe entre df y el
proyecto a partir de ese aunque que vamos a hacer no algoritmos agora para enmarcar con esos rótulos df y así va a precisar de veo más variado que marque el tiempo de visita tenemos aquí un ejemplo tenemos un vértice origen que va a ser este de aquí no iniciando marcamos comenzamos con ese contador de tiempo el tempo está en cero cuando visitamos es el vértice origen un contador va a estar en 1 y marcamos un tiempo de visita del vértice de ese vértice de aquí común ay preguntamos existe algún vértice hay esencia o ver dice
que no tenía sido descubierto si existen varios nada así es existen 3-6 israel vamos pegarse un de ellis nos peguemos ese de aquí marcamos el y como visitado con marcamos su valor de de el que va a ser 2 cierto ahí continuamos hacemos la misma pregunta existe algún 26 ya sea en el vértice actual que no tenía sido descubierto existe si existen varios existe ese y ese de aquí que estamos pegado un de ellis y antes de eso vamos a marcar él como visitado un tiempo de él y de visita que se dio 3 hacemos
la misma pregunta existe algún vértice a ellas en su vértice que no tenía sido descubierto entonces vemos aquí usadas ya sensis a ese vértice de aquí ese maíz feliz ya fue descubierto antes no tengáis en todo no existe termine con ese vértice y marcó el y marcó el fin de él marcamos con con un valor de esa variable que hay en esta tengo a un longo de tiempo que sería 4 con un tiempo 4 ese vértice ya fue descubierto y elisa fue y todos sus vecinos de delicias fueron analizados termine con ese vértice pintó el
y de y volta se la buscaba yo precursor de ese vértice quien que un precursor de ese vértice ese de aquí y continuamos haciendo la misma pregunta existe al burger dicen 10 en su vértice a ese vértice de aquí que no te haya sido descubierto existe existes que vamos a visitar el viento y marcar un tiempo de visitar visitamos en línea tiempo 5 pasemos continuamos con la misma pregunta existe algún berti celia sánchez efe dice que no tenía sido descubierto no esto no existe termine con él y marcó un tiempo del tiempo efe y en
todo colocamos aquí 6 y terminé de visitar un tiempo 6 ese vértice botas en la busca pero precursor de ese vértice que en que un precursor de ese vértice un precursor de ese de aquí preguntamos si no existe algún vértice adyacente a él y que no te haya sido descubierto no tengáis entonces marcamos su tiempo de fin de el tiempo de fin de visita de él y estamos no seis un próximo serios hecho con él y fue marcado con un tiempo de 5h y alende hizo el y colorido de pret existe algún vértice alias en
su vértice que no tenga sido descubierto entramos por fidel y existe si tomamos más caro el tiempo de visita de él que sería tiempo hoy te parece el vértice de aquí continuamos existe algún particiación si a él y si marcamos un tiempo de visita del serio no existe algún vértice hacia él y no marcamos el y como y marcamos su tiempo de fin que sería days desde aquí la i volta moss para precursor de el que guaita y ahora vamos preguntar si existe algún vértice que haya no fue visitado no tengáis en todo marcamos el
y como marcamos su tiempo de visita de fin de visita de él que sería 11 votamos para precursor que ese de aquí o que existe algún vértice adyacencia el que no tenía sido visitado no acabamos con ese vértice marcamos un tiempo de de visita de fin va a ser un 12 y pronto qué aconteció aquí la gente comenzó como vértice origen la gente visitó todos sus vértices accesibles a partir de ese vértice por en haina no visitamos esos dos vértices de aquí tú que te vai facer o algoritmo que busquen profundidad y les voy a
continuar con los vértices que hayan estado en blanco que hainán o fueron visitados debemos comenzar con intentando visitar ese vértice de aquí ahora él iba a ser un vértice origen marcamos de un tiempo de inicio la visita 13 preguntamos si existe algún plan y será recibido a partir de él ya existe sin ese de aquí marcamos su tiempo de visita del 14 preguntamos si existe algún vértice adyacente ese 14 que no tenía sido visitado no existe más en todo acabamos con ese vértice marcamos su tiempo de fin que facer 15 pronto contamos para un antecesor
de él y que ese vértice de aquí preguntamos si existe algún vértice adyacencia del que aínda no fue visitado no existen más niños en todo acabamos también con él y marcamos su tiempo de fin de visita del que va a ser 16 un resultado que los resultados de algoritmo de búsqueda profundidad de una floresta en este caso más floresta que tendrás árboles cadenas los árboles la verdad ya sabe estas es de esas árboles esta marca de enfermería y tenemos aquí un árbol y tenemos aquí una u otra árbol plantemos un árbol con seis vértices y
tenemos otra árbol con dos vértices o pensamos en toma gora finalmente algoritmo de búsqueda profundidad juppé pseudo código de eli y primero vamos a ver qué acontece cuando visitamos un no un vértice lo primero que vamos a hacer es color y el vértice de zinsa porque indica que uberti se acabo de ser descubierto después vamos a hacer ese contador que vaya aumentando de 1 marcamos su tiempo de visita de de ese vértice con ese valor de esa variable de tiempo del contador de tiempo y después vamos ver si existe algún vértice alias el chele y
se está haciendo feito las líneas 4 5 y 6 tengo que vamos a hacer si un vértice hacia seychelles de blanco en todo el juego marcado en kuwait desde antes el pay de ella más recursiva mente o algoritmo que visite un vértice como llamar o algoritmo decir search con un parámetro b para ser llamado recursiva mente visitar a gurús vértice ve cuando él y termine de explorar todos sus vértices adyacentes entonces ya podemos hablar que todos sus vértices adyacentes fueron examinados y por tanto podemos marcar ese vértice o decor prette ok y marcamos también un
tiempo designado de visita de él y que eeuu efe esto de aquí que vais a hacer en la verdad crear un árbol más segura antes que busca en profundidad el y cría una floresta con como pasemos para crear la floresta lo que vamos a hacer entonces llamar es y algoritmos varias veces para los vértices que aínda son blancos aunque falso decir 6 visite el y visita un vértice y todos los usos adyacentes para todos sus usuarios alcanzables a partir de él y voy a crear más árboles con país en un es en ese caso entonces
aquí tenemos un algoritmo que se llama ese algoritmo decir sense visit este algoritmo va a recibir un conjunto de vértices conjunto de aristas y un primero que vais a hacer a partir de inicialización y después a llamada a ese algoritmo que visita un vértice no es un apache de inicialización que son esas líneas de aquí ser tocadas vértice del primero y colorido de blanco no sabemos qué en kuwait son colocamos su país todo el mundo y guagua new un tiempo comencé en cero tiempo de visita que hoy en tchité para marcar de puestos de uefa
y después para cada vértice que existe en un grafo que vamos preguntar y vértice hay blancos y el blanco visitamos cl y entonces el llamado ese algoritmo de aquí que va a visitar todos sus vértices que son atendibles a partir de v se detuvo parece que aquí un árbol y aquí una verdad si fueses criada más floresta ese algoritmo de búsqueda profundidad si también tengo un consumo de tiempo de odio de maíz igual que el algoritmo de busca en largura con eso terminamos entonces a presentar son los dos algoritmos básicos de busca buscar en algoritmos
que en profundidad y en grafos espero que nos estén y han gustado y teatros [Música] 2 [Música] [Música] sí [Música] ah
Related Videos
Projeto e Análise de Algoritmos - Aula 13 - Problema do caminho mais curto
22:43
Projeto e Análise de Algoritmos - Aula 13 ...
UNIVESP
6,259 views
Algoritmo de Busca A Estrela (A*)
10:52
Algoritmo de Busca A Estrela (A*)
IA Expert Academy
16,373 views
Projeto e Análise de Algoritmos - Aula 09 - Limite inferior para o problema de ordenação
17:14
Projeto e Análise de Algoritmos - Aula 09 ...
UNIVESP
5,071 views
COMPLEXIDADE de ALGORITMOS I - Noção INTUITIVA
15:10
COMPLEXIDADE de ALGORITMOS I - Noção INTUI...
Programação Dinâmica
77,493 views
Inteligência Artificial - Aula 4 - Busca Cega (Não Informada)
32:50
Inteligência Artificial - Aula 4 - Busca C...
Fred Oliveira
812 views
Aula 17 - Busca em Profundidade em Grafos
42:47
Aula 17 - Busca em Profundidade em Grafos
Professor Ricardo Ramos - IFSULDEMINAS
2,884 views
Componentes Fortemente Conexas - Algoritmos em Grafos
16:44
Componentes Fortemente Conexas - Algoritmo...
Aulas de Computação
5,716 views
Inteligência Artificial - 8 - Algoritmos de Busca - A*
26:25
Inteligência Artificial - 8 - Algoritmos d...
Wilson Castello
1,520 views
O que é um grafo
16:57
O que é um grafo
Professor Possani
25,170 views
GRAFOS. Introdução à Teoria dos Grafos. Programação, Matemática e Curiosidades.
1:03:13
GRAFOS. Introdução à Teoria dos Grafos. Pr...
Manual do Código
11,405 views
Introdução à Teoria dos Grafos – Aula 11 – Dividindo grafos em componentes conexas
10:21
Introdução à Teoria dos Grafos – Aula 11 –...
Programa de Iniciação Cientifica da OBMEP
17,360 views
Árvores: O Começo de TUDO | Estruturas de Dados e Algoritmos
57:41
Árvores: O Começo de TUDO | Estruturas de ...
Fabio Akita
212,356 views
Notação Big O e Complexidade de Algoritmos
9:10
Notação Big O e Complexidade de Algoritmos
CódigoEscola
27,101 views
Aula 23 Estrutura de Dados - Grafos - Buscas em Largura e em Profundidade
43:10
Aula 23 Estrutura de Dados - Grafos - Busc...
Professor Douglas Maioli
5,250 views
O que é a Teoria dos Grafos - Introdução - 01
14:01
O que é a Teoria dos Grafos - Introdução - 01
Bóson Treinamentos
11,576 views
Notação Big O - Dica rápida de como saber a complexidade de um algoritmo
9:35
Notação Big O - Dica rápida de como saber ...
DevPleno
79,313 views
2- Caminhos e Circuitos em Grafos
10:52
2- Caminhos e Circuitos em Grafos
Projeto Grafos nas Escolas
17,070 views
ÁRVORE BINÁRIA de BUSCA | Estruturas de Dados #13
29:36
ÁRVORE BINÁRIA de BUSCA | Estruturas de Da...
Programação Dinâmica
34,308 views
Listas, Pilhas e Filas em Estruturas de Dados - Qual a diferença?
15:19
Listas, Pilhas e Filas em Estruturas de Da...
Bóson Treinamentos
40,876 views
Busca Heurística (Parte 2): Busca A* (A estrela)
13:09
Busca Heurística (Parte 2): Busca A* (A es...
Serafim Nascimento
21,270 views
Copyright © 2024. Made with ♥ in London by YTScribe.com