Perché una lingua normale si chiama 'normale'?


31

Ho appena completato il primo capitolo dell'Introduzione alla teoria del calcolo di Michael Sipser che spiega le basi degli automi finiti.

Definisce un linguaggio regolare come tutto ciò che può essere descritto da un automa finito. Ma non riuscivo a trovare dove spiegasse perché una lingua normale si chiama "normale?" Qual è l'origine del termine "regolare" in questo contesto?

NOTA: sono un principiante, quindi per favore prova a spiegare in termini semplici!


6
Sembra che questo risale a Kleene e al suo studio di set regolari .
Kaveh,

Risposte:


28

Come dice Kaveh in un commento, Kleene ha conferito il nome quando ha dato il via alla teoria degli automi e ai linguaggi formali. Credo che il termine fosse arbitrario, anche se sono passati molti anni da quando ho letto il suo documento originale.

I matematici hanno l'abitudine di dirottare nomi e aggettivi comuni per oggetti e proprietà matematici, a volte con buone ragioni come analogie geometriche o di altro tipo o metafore, e talvolta arbitrariamente. Basta guardare "gruppo", "anello", "spazio", "covone", "atlante", "molteplice", "campo" e così via.

In effetti, il termine "regolare" per le lingue a stati finiti, sebbene sia ancora prevalente nella teoria degli automi, non è usato molto nel suo cugino algebrico, nella teoria dei semigruppi finiti o nell'algebra astratta in generale. Perché? Perché il termine è già stato preso per un semigruppo che è vicino a un gruppo in un senso tecnico specifico, quindi non è possibile abbinare un linguaggio regolare nel senso di Kleene con un semigruppo regolare corrispondente . Terzo, Kleene ha definito un altro tipo di evento chiamato "definito", che è stato molto studiato per un po ', ma si è rivelato non particolarmente fruttuoso. Oggi, insiemi di linguaggi finiti svolgono il ruolo di eventi definiti come base per eventi regolari.

Il termine preferito in algebra è "razionale" sia per la classe di lingue di Kleene sia per i semigruppi e i monoidi più generali. Tale utilizzo riflette anche un'importante analogia tra il termine "razionale" in algebra come soluzione di un'equazione lineare con coefficienti interi e il concetto di serie di potenze razionali negli automi e nella teoria del linguaggio formale.


Informazioni aggiuntive. Il documento originale di Kleene del 1951, intitolato "Rappresentazione di eventi in reti nervose e automi finiti" può essere trovato qui . A pag. 46 risolve l'arbitrarietà del termine "regolare" con questa affermazione:

Descriveremo attualmente una classe di eventi che chiameremo "eventi regolari". (Saremo lieti di ricevere suggerimenti su un termine più descrittivo.)

Apparentemente, nessuno ha trovato un termine più descrittivo. ;-)

Come spesso accade con i documenti seminali che portano allo sviluppo intensivo di aree completamente nuove, la terminologia e i concetti sono quasi irriconoscibili nei termini di oggi. In primo luogo, l'articolo riguardava i modelli di neuroni, quindi l'uso di "eventi" invece di "linguaggi" o "insiemi". Il termine "eventi" persisteva bene negli anni '60 e '70, anche dopo che l'importanza dei concetti di Kleene per gli automi e i linguaggi formali superava ampiamente qualsiasi valore per le neuroscienze.

In secondo luogo, ci sono alcune differenze matematiche, come la definizione di quella che veniva chiamata "chiusura di Kleene" come un'operazione binaria, equivalente a , invece della più semplice operazione unaria o che usiamo oggi. La motivazione di Kleene era di evitare la stringa vuota (o evento con durata zero nei suoi termini). Questa è stata un'intuizione notevolmente preistorica poiché la teoria successiva ha mostrato quanto sia cruciale la scelta di includere o escludere la stringa vuota dalle definizioni in molti contesti. Terzo, Kleene definì un concetto chiamato "eventi definiti" e ne sviluppò eventi regolari, ma oggigiorno utilizziamo set finiti per lo scopo. Gli eventi definiti sono stati studiati per un po ', ma si sono rivelati molto meno importanti degli eventi / insiemi / lingue regolari.abaa+

Ad ogni modo, una lettura completa di questo documento probabilmente non vale il tempo di nessuno oggi, tranne che per scopi storici. L'ho appena sfogliato per le definizioni e le idee cruciali, ed è stato divertente.


6
"Regular" è fortemente sovraccarico e ci sono linguaggi non razionali con funzioni di generazione razionale. Entrambi i termini fanno schifo.
Raffaello

2
Grazie per aver raccolto la carta fondamentale di Kleene. Direi che, quando gli automi sono usati come modelli di calcolo , al contrario dei riconoscitori di lingue, usiamo ancora il termine "eventi" per i simboli di input / output. Tuttavia, vale ancora la pena leggere il documento di Kleene per un'altra ragione. L'informatica dovrebbe anche studiare come avviene il calcolo nei mondi naturale e sociale, oltre a studiare come avviene nelle nostre macchine. Abbiamo perso questa attenzione nel corso degli anni perché siamo consumati dall'inesorabile marcia della tecnologia.
Uday Reddy,

1
Il documento in realtà non ricevette una vasta diffusione fino a quando non fu pubblicato in un volume AMS del 1956 chiamato Automata Studies, che conteneva diversi importanti documenti iniziali sulla teoria degli automi. Ah, i giorni meravigliosi prima del web e della pubblicazione istantanea - quando le cose si muovevano molto più lentamente. È possibile ottenere il libro su Amazon per soli $ 72,50 o utilizzato per $ 12 + spedizione.
David Lewis,

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.