Su un grafico , eseguiamo il seguente processo:
- Inizialmente, tutti i nodi in sono colorati.
- Mentre ci sono nodi non colorati in , ogni nodo non colorato effettua le seguenti operazioni:
- Seleziona un numero reale casuale e lo invia a tutti i suoi vicini;
- Confronta il suo numero con il numero dei suoi vicini; se il suo numero è strettamente più piccolo, allora il vicino si dipinge di rosso e avvisa tutti i suoi vicini.
- Se un vicino diventa rosso, questo nodo si dipinge di nero.
Per esempio:
- Supponiamo che il grafico sia un percorso: abcde.
- Supponiamo che i numeri nel primo passaggio siano: 1-2-0-3-4.
- I nodi a e c sono dipinti di rosso; i nodi bec sono dipinti di nero.
- Nel secondo passaggio, solo il nodo e rimane incolore; è banalmente minimale, quindi si dipinge di rosso.
LA MIA DOMANDA È: qual è il numero medio di passaggi che questo processo esegue prima che tutti i nodi vengano colorati?
Il mio calcolo attuale mi porta a una stima , che sembra troppo bella per essere vera. Ecco il calcolo:
Considera un nodo con vicini. La probabilità che sia il più piccolo tra i suoi vicini è . Se ciò accade, allora e tutti i suoi vicini verranno colorati. Quindi il numero previsto di vertici colorati per ogni passaggio è per nodo . Quindi il numero totale previsto di vertici colorati ogni passo è , quindi nel tempo tutti i nodi saranno colorati.
Se questa analisi è errata (che è probabilmente il caso), allora qual è il numero effettivo di passaggi?
EDIT: Come notato da @JukkaSuomela, l'algoritmo sopra descritto è dovuto a Metivier et al, 2011 e viene spiegato e analizzato in queste note di lezione . Dimostrano che il tempo di esecuzione è .
Ma non sono ancora convinto che questa analisi sia stretta. In tutti i grafici che ho controllato, sembra che l'algoritmo si completi in tempo previsto.
La mia domanda ora è: qual è un grafico nel caso peggiore in cui questo algoritmo richiede effettivamente passaggi in media?