Supponiamo di voler colorare i vertici di un grafico in modo avido, dato un ordine predeterminato di questi vertici. L'obiettivo è evitare di dare due vertici adiacenti (collegati da un bordo) dello stesso colore.
Mi chiedo se questi due algoritmi sono equivalenti:
Algoritmo 1: considera ciascun vertice (nell'ordine specificato) e assegna il colore più piccolo disponibile.
Algoritmo 2: anche se non tutti i vertici sono colorati, le classi di colori vengono create in sequenza cercando di includere i vertici non colorati, non adiacenti (nell'ordine specificato) nella classe corrente.
Sono quasi certo che questi due algoritmi siano equivalenti. In effetti, considera Algorithm 2 su un grafico con 5 vertici. Supponiamo che la prima classe di colore abbia i vertici 1, 3, 5. Ciò significa che i vertici 2 e 4 non possono prendere il colore 1. Quindi in Algorithm 1, il vertice 1 prende il colore 1, il vertice 2 assume il colore 2, il vertice 3 prende il colore 1 il vertice 4 assumerebbe il colore 2 o 3 e il vertice 5 assumerebbe il colore 1. Questo semplice esempio mi convince che è vero, ma ovviamente non è una prova. Possiamo trasformarlo in una dimostrazione rendendola più generica o possiamo trovare un esempio di contatore?