Esistono diversi algoritmi che decidono in tempo polinomiale se un grafico può essere disegnato o meno sul piano, anche molti con un tempo di esecuzione lineare. Tuttavia, non sono riuscito a trovare un algoritmo molto semplice che si possa facilmente e velocemente spiegare in classe e mostrerebbe che PLANARITY è in P. Ne conosci qualcuno?
Se necessario, puoi usare il teorema di Kuratowski o di Fary, ma niente cose profonde, come il teorema minore grafico. Nota anche che non mi interessa il tempo di esecuzione, voglio solo qualcosa di polinomiale.
Di seguito sono riportati i 3 migliori algoritmi finora, che mostrano un compromesso semplicità / no-deep-teoria necessaria.
Algoritmo 1: Usando questo possiamo verificare se un grafico contiene un o un come minore nel tempo polinomiale, otteniamo un algoritmo molto semplice usando la teoria profonda. (Si noti che questa teoria utilizza già incorporamenti grafici, come indicato da Saeed, quindi non si tratta di un vero approccio algoritmico, ma di qualcosa di semplice da dire agli studenti che già conoscevano / accettavano il teorema del grafico minore.)K 3 , 3
Algoritmo 2 [basato sulla risposta di qualcuno]: è facile capire che è sufficiente gestire grafici a 3 connessioni. Per questi, trova una faccia e poi applica il teorema di primavera di Tutte.
Algorithm 3 [raccomandato da Juho]: algoritmo Demoucron, Malgrange e Pertuiset (DMP). Disegna un ciclo, i componenti del grafico rimanente sono chiamati frammenti, li incorporiamo in modo adeguato (nel frattempo creando nuovi frammenti). Questo approccio non utilizza altri teoremi.