Classe di complessitàNella teoria della complessità computazionale, una classe di complessità è un insieme di problemi di una certa complessità. Un esempio tipico di definizione di classe di complessità ha la forma:
Ad esempio, la classe NP è l'insieme dei problemi di decisione che possono essere risolti da una macchina di Turing non deterministica in tempo polinomiale, mentre la classe P è l'insieme dei problemi di decisione che possono essere risolti da una macchina di Turing deterministica in tempo polinomiale. Alcune classi di complessità sono insiemi di problemi costruttivi (cioè che richiedono di calcolare una funzione, e non di rispondere SÌ o NO), come ad esempio FP. Molte classi di complessità possono essere caratterizzate in termini della logica matematica necessaria ad esprimerle; vedi complessità descrittiva. Gli assiomi di Blum possono essere usati per definire classi di complessità senza riferirsi ad un modello computazionale concreto. Relazioni tra classi di complessitàLa seguente tabella mostra alcune classi di problemi (o di linguaggi) che sono considerate nella teoria della complessità. Se la classe X è un sottoinsieme stretto di Y, allora X è rappresentata sotto ad Y, con una linea continua che li connette. Se X è un sottoinsieme, ma non si sa se X e Y sono insiemi uguali, allora la linea è tratteggiata. Tecnicamente, la suddivisione tra problemi solubili e insolubili appartiene più alla teoria della calcolabilità, ma aiuta a vedere in prospettiva le classi di complessità. Bibliografia
Voci correlate
Collegamenti esterni
|