La gerarchia di Chomsky è obsoleta?


45

La gerarchia di Chomsky (–Schützenberger) viene utilizzata nei libri di testo di informatica teorica, ma ovviamente copre solo una minima parte dei linguaggi formali (REG, CFL, CSL, RE) rispetto al diagramma completo dello zoo di complessità . La gerarchia ha più un ruolo nella ricerca attuale? Ho trovato solo piccoli riferimenti a Chomsky qui su cstheory.stackexchange, e nello Zoo di complessità i nomi Chomsky e Schützenberger non sono affatto menzionati.

La ricerca attuale è più focalizzata su altri mezzi di descrizione ma grammatiche formali? Ero alla ricerca di metodi pratici per descrivere linguaggi formali con diversa espressività e mi sono imbattuto in un linguaggio in crescita sensibile al contesto (GCSL) e in linguaggi visibilmente pushdown (VPL), che giacciono entrambi tra i linguaggi classici di Chomsky. La gerarchia di Chomsky non dovrebbe essere aggiornata per includerli? O non è utile selezionare una gerarchia specifica dall'insieme completo delle classi di complessità? Ho provato a selezionare solo quelle lingue che possono adattarsi alle lacune della gerarchia di Chomsky, per quanto ne so:

REG (= Chomsky 3) ⊊ VPL ⊊ DCFL ⊊ CFL (= Chomsky 2) ⊊ GCSL ⊊ CSL (= Chomsky 1) ⊊ R ⊊ RE

Non riesco ancora a capire dove "lingue leggermente sensibili al contesto" e "lingue indicizzate" si adattano (da qualche parte tra CFL e CSL) anche se sembra esserci una rilevanza pratica per l'elaborazione del linguaggio naturale (ma forse qualcosa di pertinenza pratica è meno interessante nella ricerca teorica ;-). Inoltre potresti citare GCSL ⊊ P ⊂ NP ⊂ PSPACE e CSL ⊊ PSPACE ⊊ R per mostrare la relazione con le famose classi P e NP.

Ho trovato su GCSL e VPL:

Sarei anche felice se conoscessi libri di testo più recenti sulle grammatiche formali che trattano anche VPL, DCLF, GCSL e grammatiche indicizzate, preferibilmente con puntatori ad applicazioni pratiche.


7
Un punto secondario: non vedo l'assenza dei nomi Chomsky e Schützenberger nello Zoo della complessità come prova che "la gerarchia di Chomsky è obsoleta". La gerarchia di Chomsky è una nozione nella teoria del linguaggio formale. Complexity Zoo è un sito Web principalmente sulla teoria della complessità, sebbene contenga alcune nozioni nella teoria del linguaggio formale come i linguaggi senza contesto. Sono campi correlati ma distinti. Sarebbe obsoleto se non fosse menzionato in un libro di testo nella teoria del linguaggio formale, ma non so se sia così.
Tsuyoshi Ito,

7
Buon punto, Tsuyoshi. Francamente, mi piacerebbe vedere uno "Zoo delle lingue formali" con una buona base teorica (riferimenti a documenti di ricerca!) Ma anche risorse pratiche. Ad esempio ci sono dozzine di varianti di sintassi di Backus-Naur-Form e varianti di espressioni regolari (alcune anche non regolari). Accanto alla semplice gerarchia di Chomsky ho trovato difficile ottenere un quadro chiaro dell'attuale stato della ricerca nei linguaggi formali.
Jakob,

Puoi anche aggiungere lingue senza stelle rigorosamente al di sotto delle lingue normali. Sono come normali, ma senza la stella di Kleene. Ben noto Ben educato
Wren Romano,

Come mi hanno mostrato diverse risposte, le grammatiche formali alla Chomsky sono un metodo storico per descrivere i linguaggi formali, che ha raggiunto i suoi limiti. Sto ancora cercando una buona panoramica delle grammatiche formali, che non sono focalizzate sulla teoria della complessità, ma grazie per tutti gli ulteriori riferimenti! Accetterò la risposta di mgalle perché finora ha meno reputazione.
Jakob,

2
Nell'informatica, la progettazione del linguaggio informatico, la progettazione e la programmazione del software, le grammatiche e le lingue senza contesto e le espressioni e le lingue regolari sono attrezzature di lavoro di base e più importanti che mai. Ma per grammatiche arbitrarie, LBA e linguaggi sensibili al contesto, d'altra parte, ho visto poche applicazioni o nessuna.
reinierpost

Risposte:


20

Da quello che ho visto nella community di Natural Language Processing, le grammatiche formali alla Chomsky non sono più utilizzate così tanto. Anche loro pensano che la Gerarchia di Chomsky sia superata dal linguaggio modello.

Ciò che ha preso il suo posto sono cose come la regola di riscrittura (l'algoritmo di Lars), i modelli di dipendenza (Dan Klein), la grammatica di sostituzione dell'albero (il modello DOP), le grammatiche binarie (Alex Clark).


Rileggendo la mia risposta, sembra più negativo di quanto volessi che fosse troppo suono. RL e CFL non avrebbero mai dovuto essere modelli realistici del linguaggio naturale, e la maggior parte dei "nuovi" modelli sono in realtà ispirati in essi.
mgalle

Pensavo che RL non fosse nemmeno progettato come modello di linguaggi naturali, ma come modello di comportamento del sistema. [Anche il testo originale di Kleene non utilizza la terminologia del linguaggio formale.]
DG_4

26

In breve: si.

Più in particolare: Chomsky è stato uno dei primi a formalizzare una gerarchia relativa a lingue, grammatiche e automi. Questa intuizione è ancora molto rilevante ed è insegnata in tutti i corsi introduttivi sulla teoria degli automi. Tuttavia, la gerarchia specifica inventata da Chomsky e i nomi degli elementi della gerarchia non sono più davvero significativi. Da allora abbiamo inventato numerosi formalismi che si collocano tra i livelli della gerarchia di Chomsky, al di sopra o al di sotto di esso. E i nomi usati da Chomsky non sono particolarmente interessanti, cioè non sono basati su una misura interessante di complessità o altro, sono solo numeri. Le lingue leggermente sensibili al contesto dovrebbero essere Tipo-1.5 o Tipo-1.7 o Tipo-1.3? Che importa. "Leggermente sensibile al contesto" è un nome molto più informativo.

Lo zoo di complessità è un po 'diverso perché è pieno di ogni sorta di equivalenze condizionate e simili. Una gerarchia più moderna per la teoria degli automi non sarebbe lineare (ad esempio, confrontare CFG vs PEG) ma avrebbe comunque una topologia ben nota. Per avere una prospettiva sulla moderna teoria degli automi, dovresti esaminare il lavoro sulle librerie combinatore parser e alcune cose sull'unificazione e sulla teoria dei tipi (sebbene entrambi si estendano lontano).


4
Abbiamo trovato nomi migliori, sì. Ciò non implica che i risultati siano obsoleti.
Raffaello,

4
@Raphael: la obsoleta non è a causa dei nomi, di per sé, è perché la gerarchia specifica introdotta da Chomsky non viene più utilizzata. Le inclusioni descritte dalla gerarchia di Chomsky sono (a) ancora corrette, e (b) tra le inclusioni in qualsiasi gerarchia moderna; ma la gerarchia di Chomsky in quanto tale , non è terribilmente rilevante, tranne per il fatto che capita di colpire alcuni dei punti più famosi. Le persone non fanno più ricerche sulla gerarchia di Chomsky, fanno ricerche altrove. Questo non è come la torre polinomiale che ha ragioni per i suoi nomi / strutture.
Wren Romano,

26

Se qualcosa nel TCS è obsoleto, è questa gerarchia di inclusione del piccolo sottoinsieme di classi di complessità che è stata conosciuta / considerata interessante nel 1956.

Riposa in pace, Gerarchia di Chomsky, e potresti non frequentare più il curriculum della teoria universitaria.


12
Come una volta Juris Hartmanis ha gridato: "Che ne dici delle lezioni di Chomsky ?? Le lezioni di Chomsky sono un abominio !!"
Ryan Williams,

1
Ryan: Ricordo anche che Juris ha definito il CH un "abominio"! Mentre scrivevo la mia risposta, stavo discutendo se avrebbe voluto rendere pubblica la sua osservazione. Ma lo conosci meglio di me ... MrGreen
Scott Aaronson,

Questo commento può anche essere motivato almeno un po 'dalla visione peggiorativa di alcune scienze informatiche teoriche e matematici alla linguistica e ad altre scienze "deboli": xkcd.com/435 . Ma certo la gerarchia di Chomsky oggi oscura la visione della moderna teoria della complessità, quindi questo risponde alla mia domanda. Sarebbe comunque bello avere un rimpiazzo aggiornato per iniziare nel curriculum di teoria degli studi universitari, specialmente se sei più interessato a linguaggi e grammatiche formali per applicazioni pratiche.
Jakob,

1
La Gerarchia di Chomsky elenca le classi di lingue ordinate in base alla complessità della descrizione, non alla complessità del calcolo che di solito è implicita quando si usa il termine "teoria della complessità". Sono imparentati, ovviamente. Ad ogni modo, non riesco ancora a vedere come una gerarchia (approssimativa) possa oscurare classi più raffinate che difficilmente possono essere comprese senza essere venute dalla Gerarchia di Chomsky. Sono la porta d'ingresso!
Raffaello,

20

Se consideri la Gerarchia di Chomsky con nomi "moderni" (ad esempio REG, LIN, CFL, CSL, RE o DFA / NFA, PDA, LBA, TM), dico: No, non è obsoleto!

Motivo 0 : è ancora corretto nel senso che le sue definizioni e i suoi risultati non sono contraddittori con le nuove conoscenze.

Motivo 1 : queste classi / modelli di calcolo sono ancora i primi a insegnare, perché sono semplici e ben studiati. Prova a insegnare automa LR a un laureando senza prima coprire DFA / DPDA.

Motivo 2 : le classi sono ancora i primi / principali parametri di riferimento per le nuove invenzioni (ho sfogliato un documento sui multi-CFG che, ovviamente, diceva: più di CFG, meno di CSG). Ciò può essere in parte dovuto al fatto che vengono insegnati per primi, ma anche perché sono semplici e ben studiati.

Anti-Reason 3 : I risultati non superano solo perché sono state trovate nuove classi / modelli. Mantengono il loro valore come basi del campo nonostante non vengano utilizzate attivamente sulla frontiera della ricerca.


10
"La matematica non invecchia , diventa classica ". (Purtroppo non so a chi sia attribuita questa citazione.)
Heinrich Apfelmus,

Non intendi "NPDA" invece di "DPDA"? Alcuni linguaggi senza contesto sono riconosciuti solo da automi pushdown non deterministici.
Zsbán Ambrus,

@ ZsbánAmbrus Abbastanza bene; Avrei dovuto scrivere solo "PDA". Grazie!
Raffaello,

L'ultimo motivo non è affatto convincente (immagino che sia per questo che è un anti-motivo?). Molti risultati vengono superati perché vengono riassunti o talvolta addirittura banalizzati da un diverso approccio all'argomento. Non sto dicendo questo il caso qui, solo che il motivo, come affermato, non dice molto. Inoltre, un nitpick grammaticale: "obsoleto" non è un verbo.
Sasho Nikolov,

11

Penso che dipenda dal modello di calcolo. Se si considera finito / pushdown / ecc. automi come modello di calcolo, quindi la gerarchia di Chomsky diventa importante (vedi ad esempio il libro di Sipser). D'altra parte, gioca un ruolo secondario nel modello di calcolo di Turing.

La seguente illustrazione potrebbe essere utile:

Modifica: i linguaggi formali svolgono un ruolo importante nella progettazione di linguaggi informatici (come Java) e compilatori, nonché nell'elaborazione del linguaggio naturale (PNL).


Scusa András, non riesco a capire il tuo commento. L'OP ha chiesto se la gerarchia di Chomsky è obsoleta. Il suo ragionamento era che non lo vedeva nello zoo della complessità, ecc. Risposi che se considera gli automi come un modello di elaborazione, la gerarchia di Chomsky diventa rilevante. Inoltre, ho detto che le classi di questa gerarchia sono importanti per la progettazione del compilatore e gli algoritmi NLP. IMHO, questo è totalmente correlato alla domanda.
MS Dousti,

2
Sicuramente la gerarchia di Chomsky non è davvero obsoleta, si trova nella maggior parte delle introduzioni di informatica teorica, linguaggi formali, progettazione di compilatori ecc. Ma a parte questo, non sembra esserci nulla di nuovo da dire. Penso che anche le lingue tra REG e CFL e tra CFL possano essere importanti. È una cattiva idea estendere la gerarchia con queste lingue perché la gerarchia di Chomsky ha un odore di "obsoleto" come non importante per la ricerca attuale?
Jakob,

Non penso sia una cattiva idea, anche se è necessario trovare un'applicazione per cui si adatta la nuova estensione.
MS Dousti,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.