Le grammatiche di tipo 3 generano lingue regolari. Queste sono lingue con caratteristiche come inizia con "xxx", contiene "xxx", termina con "xxx", contiene un numero dispari di y, ecc. Gli automi finiti (deterministici o non) riconoscono queste lingue.
Le grammatiche di tipo 2 generano lingue senza contesto. Queste sono lingue con caratteristiche come un certo numero di x seguite da un numero minore o uguale o uguale di y, o dove una parola è seguita dalla stessa parola, ma invertita. Gli automi pushdown riconoscono questi linguaggi ... pensate all'automa finito con uno stack.
Le grammatiche di tipo 1 generano lingue sensibili al contesto. Queste sono così vicine alle grammatiche di tipo 0 che è spesso difficile trovare una differenza tra loro. Gli LBA (automi lineari delimitati) riconoscono queste lingue, pensano che la macchina di Turing abbia risorse limitate ... pensa un computer moderno.
Le grammatiche di tipo 0 generano lingue di Turing, a volte denominate lingue ricorsivamente enumerabili. Questi sono praticamente tutti i linguaggi in cui è possibile scrivere un programma per computer da riconoscere, ma si fondono perfettamente con il Tipo 1, poiché i computer reali generalmente hanno un qualche tipo di limite di memoria.
Gli automi finiti e gli automi pushdown sono molto importanti per risolvere i problemi che sorgono durante la scrittura di compilatori. Tuttavia, non è per questo che li studi, li studi per imparare i limiti di ciò che può/non può essere calcolato. Molti programmatori pensano che sia possibile risolvere qualsiasi problema con un computer. La teoria della computabilità ti insegna diversamente.
modifica di "Dude" - OK, qui è un facile da capire (e famoso) problema che non può essere risolto da una qualsiasi macchina di Turing o computer o programmatore o genio alieno ...
Immaginate di avere alcuni domino ... ma invece di schemi di punti, hai una parola breve in alto e in basso, pronuncia parole come "aba" e "cab". Se ti do 5 o 10 o 50 di questi domino, puoi sistemarli in modo che le parole in alto, tutte concatenate insieme, corrispondano esattamente alle parole concatenate in basso. Puoi creare tutte le copie che vuoi di ogni e qualsiasi domino.
Esempio di domino (artificiale :) (a/aab), (aba/ac), (cabina/ab) è un insieme di 3 domino in cui le cime (a + aba + cabina) corrispondono esattamente al fondo (aab + ac + ab).
Per quanto facile possa sembrare, non può essere risolto in generale.
BTW, quando ho letto per la prima volta questo problema ... Stavo pensando ... ooooh, n! sta iniziando a guardare bene!
a) So che la gerarchia è composta da insiemi con 0 che è quello che li contiene tutti. Quello che sto chiedendo è quali sono le caratteristiche che fanno sì che una lingua appartenga al livello 1 e non al livello 2. Scusa se la grammatica della domanda era ambigua. +1 – andandandand
Ho mescolato i numeri. Non li usiamo nella mia università. – ebo
Non conoscevo il problema della parola. Grazie, l'ho trovato interessante. – andandandand