La funzione Path e le forme a cespuglio

Slides:



Advertisements
Presentazioni simili
Prof.ssa Rossella Petreschi Lezione del 3 /12/ 2012 del Corso di Algoritmi e Strutture Dati Riferimenti: Capitolo 3 del testo Nishizeki,Chiba “Planar graphs:theory.
Advertisements

Prof.ssa Rossella Petreschi Lezione del 29/10/2012 del Corso di Algoritmi e Strutture Dati Riferimenti: Capitolo 19 del testo Cormen, Leiserson, Rivest,
Prof.ssa Rossella Petreschi Lezione del 5/12/2012 del Corso di Algoritmi e Strutture Dati Riferimenti: Capitolo 11 del testo Anany Levitin “The design.
I sistemi di equazioni di I grado Un sistema di equazioni DEFINIZIONE Un sistema di equazioni è un insieme di due o più equazioni, tutte nelle stesse.
Prof.ssa Rossella Petreschi Lezione del 3/12/2013 del Corso di Algoritmica GRAFI e PLANARITA’ Lezione n°15.
Prof.ssa Rossella Petreschi Lezione del 29 /10/2014 del Corso di Algoritmica Lezione n°8.
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Lezione n°10 Prof.ssa Rossella Petreschi
Progettare algoritmi veloci usando strutture dati efficienti
Cammini minimi in grafi:
Inserzione e Cancellazione
Branch and Bound Lezione n°19 Prof.ssa Rossella Petreschi
GRAFI e PLANARITA’ Lezione n°19 Prof.ssa Rossella Petreschi
Branch and Bound Lezione n°14 Prof.ssa Rossella Petreschi
Progettare algoritmi veloci usando strutture dati efficienti
Alberi di ricerca di altezza logaritmica
Analisi di sequenze di operazioni Union-Find
Lezione n°9 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Lezione n°17 Prof.ssa Rossella Petreschi
Lezione n°15 Prof.ssa Rossella Petreschi
Rappresentazione di alberi
B-alberi e alberi autoaggiustanti
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Lezione n°14 Reti di flusso Prof.ssa Rossella Petreschi
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Usi (meno scontati) della visita DFS
Lezione n°4 Prof.ssa Rossella Petreschi
Paths, tree and flowers Lezione n°14
K4 è planare? E K3,3 e K5 sono planari? Sì!
Lezione n°11 Prof.ssa Rossella Petreschi
Lezione n°12 Prof.ssa Rossella Petreschi
Lezione n°16 Prof.ssa Rossella Petreschi
ABBINAMENTO Lezione n°13
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Algoritmi e Strutture Dati
Algoritmi per il flusso nelle reti
Algoritmi per il flusso nelle reti
Lezione n°6 Prof.ssa Rossella Petreschi
Branch and Bound Lezione n°18 Prof.ssa Rossella Petreschi
Introduzione agli Algoritmi e alle Strutture Dati
Schema generale, visita in ampiezza e profondità.
Alberi n-ary Lezioni di C.
Algoritmi e Strutture Dati
Backtracking Lezione n°13 Prof.ssa Rossella Petreschi
Usi (meno scontati) della visita DFS
Lezione n°14 Prof.ssa Rossella Petreschi
Progettare algoritmi veloci usando strutture dati efficienti
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Automi e stringhe Lezione n°24 Prof.ssa Rossella Petreschi
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
APPUNTI SUL LINGUAGGIO C Implementazioni di Liste Concatenate
Algoritmi Avanzati a.a. 2010/11
Backtracking Lezione n°17 Prof.ssa Rossella Petreschi
Alberi di ricerca Lezione n°4
Cammini minimi in grafi:
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Grafi e problem solving
Lezione n°7 Splay-Trees e Heaps Prof.ssa Rossella Petreschi
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Il problema del flusso nelle reti
Insiemi disgiunti.
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Unione per ranghi compressi
HeapSort Stesso approccio incrementale del selectionSort Tipo di dato
Transcript della presentazione:

La funzione Path e le forme a cespuglio Lezione n°16 Prof.ssa Rossella Petreschi Lezione del 5/12/2013 del Corso di Algoritmica 1

LA FUNZIONE PATH Inizialmente s,t e (s,t) sono identificati vecchi, tutti gli altri vertici e spigoli di G sono identificati nuovi. Si conoscono poi DFS(t)=1, DFS(s)=2. La funzione PATH(v) prende come valore un cammino da v ad un vertice vecchio. Si considerano 4 casi: 1. vi è un nuovo back edge (v,w) PATH = vw; marca (v,w) vecchio. 2. vi è un nuovo tree edge (v,w) PATH = vw0w1wk-1wk, con w = w0 e LOW(w)=wk ovvero ci si arrampica sull’albero finchè un back- edge non ci porta in un vertice u tale che DFN(u)=LOW(w); marca vecchio tutti i vertici e gli spigoli sul PATH. 3. vi è un nuovo back edge (w,v) PATH = vw0w1wk-1wk, con w = w0 e wk vecchio; ovvero il cammino va all’indietro fino al primo vecchio vertice; 4. Tutti gli spigoli incidenti in v sono vecchi PATH = Ø. 2

PROCEDURA DI ST-NUMERAZIONE Procedura ST-NUMERAZIONE (G) Inizializzazione: si marcano s,t e (s,t) come vecchi e tutti gli altri vertici e spigoli come nuovi;si inseriscono t ed s nello stack S, nell’ordine, cont =1;pop v da S; while v ≠ t do if PATH =Ø then STN(v)=cont; cont=cont +1; else push tutti i vertici di PATH in ordine inverso a v(v deve rimanere al top) pop v da S STN(t)=cont 3

EMBEDDING Dato un disegno planare di un grafo G, si ordini la lista di adiacenza di G in modo che tutti i vicini di ogni vertice v seguano il verso dell’orologio sul disegno dato. L’insieme delle liste così ordinato è chiamato incastonamento (embedding) di G. 1 2 3 6 5 2 5 4 3 1 3 2 4 6 1 4 2 5 6 3 5 4 2 1 6 6 4 5 1 3 4

RAPPRESENTAZIONE A CESPUGLIO Si consideri G(V,E) sui cui vertici è imposta una st-numerazione v1, …, vn e Gk (Vk,Ek) sottografo di G indotto dai vertici Vk= (v1, …,vk). Se k<n, deve esistere almeno uno spigolo con un estremo in Vke un estremo in V-Vk. Si costruisca Gk’ aggiungendo a Gktutti gli spigoli di questo tipo con la caratteristica che un vertice in V- Vk connesso a d vertici in Vk sarà rappresentato con d copie virtuali di grado 1. Una rappresentazione a cespuglio di Gk’ è un ebedding di Gk’ con tutti i vertici virtuali posizionati sulla faccia esterna(usualmente sulla stessa orizzontale). 5

ANCORA SUI CESPUGLI (Even 1979) Sia (s,t) disegnato sul bordo della faccia esterna di un embedding di G. Si consideri Gk sottografo piano di G. Per 1≤ k ≤n vale: tutti i vertici e gli spigoli di G-Gk sono disegnati sulla faccia esterna del sottografo piano Gk di G; per una qualunque forma a cespuglio di Gk , esiste una sequenza di permutazioni e di scambi che porta tutte le copie del vertice “k+1” ad occupare posizioni consecutive sulla linea orizzontale 6

PQ-TREE Una forma a cespuglio Bk è normalmente rappresentata tramite una struttura dati chiamata PQ-tree. I nodi di un PQ-tree sono divisi in tre classi: P-nodi, Q-nodi e foglie, dove: i P-nodi rappresentano punti di articolazione di Gk e i figli di un P-nodo possono essere permutati arbitrariamente i Q-nodi rappresentano le componenti biconnesse di Gke i figli di un Q-nodo possono essere solo scambiati le foglie sono i nodi virtuali in Bk le foglie si muovono in accordo ai movimenti dei P-nodi (o dei Q-nodi) Booth e Lueker hanno provato che le permutazioni e gli scambi nominati sopra possono essere trovati applicando ripetutamente 9 trasformazioni base 7