Perché gli automi con limiti lineari non sono così popolari come gli altri automi?


9

Nella mia esperienza, i linguaggi sensibili al contesto e gli automi limitati lineari sono spesso saltati o breezati in corsi di teoria della computabilità e sono persino esclusi da alcuni libri di testo notevoli, sebbene gli automi finiti e pushdown ricevano molta attenzione. Sicuramente ci deve essere una buona ragione per cui agli LBA viene data meno attenzione rispetto alle loro controparti?



Potresti spiegare come si collega la domanda collegata, Kaveh? (Perché non penso che il suo tono sia utile qui, ma le risposte individuali potrebbero essere)
Raphael

2
@Raphael: Le risposte alla domanda posta da Kaveh per spiegare perché i linguaggi sensibili al contesto non sono considerati così importanti come lo erano prima: in breve, ci sono altri modelli più interessanti da considerare. (altro)
Tsuyoshi Ito,

2
(seguito) Lo stesso motivo si applica agli "automi limitati lineari". È divertente che non avessi mai sentito parlare di quel nome. Per me sono solo macchine di Turing deterministiche / non deterministiche dello spazio O, e non riesco a capire perché dovremmo individuare quelle dello spazio O (n) (invece dello spazio polinomiale o dello spazio O (log n) o altro), anche se ci deve essere stato un motivo storico. Inoltre, né la classe DSPACE (O (n)) né NSPACE (O (n)) è chiusa in chiamate di subroutine .
Tsuyoshi Ito,

1
Tsuyoshi, la mia interpretazione della domanda è che AF, PDA e il resto della Gerarchia di Chomsky (secondo il tuo ragionamento ugualmente noioso) sono insegnati, ma LBA no.
Raphael,

Risposte:


13

Con modifiche "appropriate" possiamo trasformare queste classi in classi di complessità; Automi finiti in , CFL in LogCFL e LBA in PSPACE.NC1

Ora dovrebbe essere abbastanza chiaro il motivo per cui siamo interessati ai primi due in più rispetto alla LBA. I primi due si adattano naturalmente alla solita definizione di calcolo fattibile. Ma PSPACE no.


1
trasformare un LBA in PSPACE sembra quasi che lo spazio lineare sia tutto ciò di cui hai bisogno per catturare PSPACE che chiaramente non può essere vero. Quindi qual è il mio errore nel pensare?
Suresh Venkat,

2
@Suresh: ci sono le seguenti connessioni. La classe di problemi che sono (NC1-) riducibili alle lingue normali è NC1, la classe di problemi (log-spazio-) riducibile a CFL è LogCFL e la classe di problemi (NC1- o spazio-log-) riducibile a LBA è PSPACE. Non sono sicuro di poter usare la stessa nozione di riducibilità in tutti e tre questi casi.
Tsuyoshi Ito,

Il contenimento di un problema completo per un'altra classe (anche con riduzioni ) non sembra essere un buon motivo per rendere interessante la classe. AC0
Kaveh,

3

Bene, chiedi al tuo professore perché lo ha fatto. Posso solo indovinare.

Non sono così interessanti come i modelli completi di Turing e il PDA perché sono nel vuoto dell'inutilità * che condividono, ovviamente, con il loro linguaggio equivalente: non il più potente possibile, ma già molto intrattabile.

Un'altra ragione potrebbe essere che non si sa molto (indovinando qui) su di loro, ma ciò potrebbe dipendere da un problema con le uova di gallina.

Non è chiaro il tempo , quindi ciò potrebbe problemi per la didattica. Inoltre, le prove tipiche (ad es. Linguaggio accettato, equivalenze dei modelli) sono molto più difficili rispetto ad altri modelli.NLBA=DLBA

(*) esagerazione deliberata


2

Sembra che non solo CSG ma anche CFG, ... siano fuori moda in questi giorni. Penso che oggigiorno gli automi e il PDA siano generalmente pensati nei corsi di teoria della computabilità / complessità (se non del tutto) e lì sono inclusi non per il loro bene ma per introdurre Turing Machines.

Le grammatiche sono probabilmente interessanti per la teoria dei compilatori, ma non tanto per la computabilità / complessità da includere in un corso di laurea introduttivo. Ci sono troppi argomenti che uno vorrebbe trattare, ma un corso di un semestre è troppo breve e dobbiamo selezionare e molti di questi argomenti che non possiamo trattare a causa delle restrizioni temporali sono molto più interessanti dell'LBA.


1
Vorrei che tu fossi universalmente vero! La lezione introduttiva su TCS insegnata nel mio universo è metà automi / CFL. Frequento questa lezione e gli studenti sembrano davvero lontani dall'essere interessati. Questo potrebbe essere un altro motivo per cui CFL / CSL non vengono più presentati: ci sono argomenti molto più interessanti.
Michaël Cadilhac,

1
Bene, la teoria CS non è solo complessità. In particolare i modelli CFG e i relativi automi sono molto importanti (almeno come basi) in molti rami del CS. Un corso introduttivo dovrebbe prepararti per tutti i settori. Ci dispiace, ma questa risposta puzza di ignoranza. Inoltre, non risponde alla domanda.
Raffaello,

@Raphael, sto parlando di corsi di teoria della computabilità / complessità che è dove si pensa la teoria degli automi nelle università che conosco in questo momento. Nessuno ha detto nulla sui corsi di teoria in generale. Penso che dovresti leggere attentamente i post prima di accusare gli altri di ignoranza. Il mio post risponde alla domanda: perché LBA non è pensato nei corsi di teoria della computabilità / complessità? Questo è il motivo, ed è il motivo per cui i libri di testo di teoria della computabilità e della complessità non includono molto sull'LBA, che ti piaccia o no.
Kaveh,

Quindi sei privato delle ragioni personali di ogni autore e docente in tutto il mondo? Si Giusto. Ad ogni modo, tieni presente che la parola "complessità" non compare affatto nella domanda pubblicata. Nota anche che con il commento e la modifica della sorpresa sopra, non hai risposto alla domanda. Fatto, che ti piaccia o no.
Raphael,

1
@Raphael, non leggi ancora attentamente e continui a interpretare ciò che scrivo nel modo che preferisci, mi sembra che tu voglia solo discutere, penso che il mio punto sia abbastanza chiaro, quindi sentiti libero di pensare come preferisci. :)
Kaveh,

2

Le espressioni regolari e i CFG vengono utilizzati in pratica per l'analisi del codice (ovvero i linguaggi di programmazione). Il motivo è che ci sono algoritmi molto efficienti per analizzarli. Gli LBA, d'altra parte, sono troppo potenti per essere effettivamente utilizzati in quel contesto.

Un'origine storica della teoria degli automi è l'argomento della costruzione del compilatore. Per la ragione sopra menzionata, solo i linguaggi normali e i CFG sono utili per costruire compilatori (nonostante il fatto che le grammatiche di attribuzione non siano realmente CFG e che gli algoritmi di analisi CFG non analizzino realmente l'intera classe di CFG). Gli LBA potrebbero essere stati inventati da Chomsky come un livello intermedio di complessità tra il banale e "l'inglese". Quindi forse il posto giusto per insegnare loro è nei corsi di linguistica piuttosto che in quelli di informatica!


Poiché gli LBA sono equivalenti alla classe abbastanza naturale di grammatiche sensibili al contesto, non penso che siano stati inventati solo per divertimento. ;)
Raffaello,

@Raphael: Yuval non lo implicava affatto.
reinierpost,
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.