ei grafi! - Francesco Cauteruccio

Transcript

ei grafi! - Francesco Cauteruccio
e i grafi!
Esercizio Algoritmi e Strutture Dati - DEMACS @ Unical
[email protected]
Metal Gear Solid ® Konami Digital Entertainment Co., Ltd.
Problema
•
Grafo G = <V,E> (non orientato)
•
Dobbiamo trovare un cammino “sicuro” dal nodo
Snake al nodo Meryl
•
Un cammino C è sicuro quando non esiste un arco
(u,v) in C tale che u o v siano dei nodi Soldiers o
nodi sorvegliati direttamente dai tali
Esempio
Meryl
(nodo cercato)
Snake
(nodo di partenza)
Soldiers
Nodi sorvegliati
Idee?
•
Possiamo pensare ad un cammino come ad una visita del grafo
•
Si parte da un nodo i
•
Si visitano tutti i nodi del grafo
•
•
•
Se il nodo corrente è il nodo cercato, STOP.
Per il nostro problema:
•
Nodo di partenza: Snake
•
Nodo cercato: Meryl
Ma come possiamo assicurarci che il cammino sia sicuro?
Un cammino sicuro
•
Applichiamo la definizione di sicurezza ad un nodo
•
•
Un nodo v è sicuro quando:
•
v non è un nodo Soldiers
•
tutti i vicini diretti di v non sono Soldiers
Basta quindi muoversi solo sui nodi sicuri!
Esempio di soluzione
the end