I linguaggi formali possono essere usati per studiare la notazione matematica?


8

Domanda: Esistono testi introduttivi nel linguaggio formale o nella teoria del linguaggio di programmazione che discutono su come applicarlo allo studio della notazione ottimale?

In particolare, sono interessato a scoprire quali lingue stack, alberi di analisi e indici sono e come prevedere quando un determinato tipo di notazione porterà alla ridondanza esponenziale.

Fondamentalmente non ho alcuna conoscenza né del linguaggio formale / grammaticale né della teoria della programmazione, dal momento che, come maggiore in matematica, l'unica informatica che ho imparato erano algoritmi e teoria dei grafi, oltre a modesti frammenti di teoria della complessità e funzioni booleane. Pertanto, se gli unici libri che ne discutono non sono introduttivi, sarei grato per le risposte che entrambi elencano tali libri che parlano di esplosione della notazione esponenziale, così come i libri introduttivi che prepareranno i libri che affrontano direttamente la mia domanda.

Contesto: questa domanda è ispirata principalmente da una risposta su Physics.SE , che afferma che:

È molto facile provare (rigorosamente) che non esiste una notazione tra parentesi che riproduce le contrazioni dell'indice tensore, poiché le parentesi sono analizzate da un linguaggio di stack (grammatica libera dal contesto nella classificazione di Chomsky) mentre gli indici non possono essere analizzati in questo modo, perché includono grafici. Le parentesi generano alberi di analisi e in ogni grafico sono sempre presenti molti alberi massimi in modo esponenziale, pertanto la notazione presenta ridondanza esponenziale.

Durante il resto della risposta, vengono discussi altri esempi di "esplosione della notazione esponenziale", ad esempio con le reti di Petri nella biologia computazionale.

Vi sono anche altri casi in cui è difficile analizzare la notazione matematica, ad esempio come menzionato qui quando le funzioni e le funzioni applicate all'argomento non si distinguono chiaramente. Ciò può diventare particolarmente confuso quando la funzione diventa l'argomento e l'argomento diventa la funzione, ad esempio qui .


3
Questa domanda sembra molto ampia. Puoi restringerlo? Inoltre, puoi definire i tuoi termini? Cosa intendi esattamente con "notazione ottimale"? Che cosa intendi per "ridondanza esponenziale" o "ingrandimento della notazione esponenziale"? Quando parli di notazione, in quale contesto? Notazione per esprimere che tipo di dichiarazioni?
DW

3
Inoltre, dici che vuoi imparare cosa sono gli alberi di analisi ecc.; bene, spiegare tutto ciò sarebbe troppo lungo per fornire in una sola risposta. Ti suggerisco di andare a leggere riferimenti standard (ad es. Libri di testo, appunti del corso online), e quindi se hai domande specifiche mentre stai leggendo, torna indietro e chiedi su quelle cose specifiche su cui sei confuso.
DW

3
Penso ancora che sia troppo ampio. Sarebbe meglio richiedere un riferimento per un singolo argomento. Inoltre, se si desidera solo richiedere riferimenti che coprono lingue di stack, alberi di analisi e indici, tutto il resto (sulla ridondanza della notazione ecc.) È irrilevante e distraente e deve essere rimosso. Infine e, cosa più importante: quale ricerca hai già fatto? Quali riferimenti hai già trovato? Perché li hai rifiutati? Quali criteri prevedi di utilizzare per valutare i riferimenti? Ad esempio, quale sfondo hai già e a quale livello dovrebbe trovarsi il libro di testo?
DW

3
Fondamentalmente, vuoi un riferimento per la teoria dei linguaggi formali. Uno standard è infolab.stanford.edu/~ullman/ialc.html , ma sappi che ci sono corsi universitari dedicati all'argomento. L'argomento è molto ampio, quindi non aspettarti di riprenderlo in un pomeriggio ;-)
chi,

3
Che cosa dovrebbe essere la "notazione ottimale"?
Raffaello

Risposte:


6
  1. La teoria del linguaggio formale non si occupa della semantica del linguaggio. Potrebbe sembrare strano, dato che tendiamo a pensare al linguaggio come un meccanismo per comunicare qualcosa, ma se ci pensate, ci sono davvero due livelli di comprensione del linguaggio (almeno): il livello di superficie, in cui il linguaggio è un flusso dei lessemi e il livello denotazionale sottostante che è più o meno separato dalla rappresentazione superficiale. (Chomsky ha ipotizzato un livello "trasformativo" intermedio per aggirare alcune limitazioni con i CFG ma non è rilevante qui.) Di conseguenza, è possibile dire "la stessa cosa" in lingue diverse; Chomsky non è un whorfiano. (Vedi Wikipedia per una breve panoramica, con alcuni riferimenti).

  2. Tuttavia, una grammatica senza contesto non è sufficiente per distinguere le espressioni corrette e errate. Chomsky ha offerto il classico esempio: le idee incolori dormono furiosamente (cosa che ha scritto in modo errato, essendo un americano). Vedi di nuovo Wikipedia . (Purtroppo Wikipedia non ha una versione inglese canadese.) La divisione precisa tra errori sintattici e semantici è difficile, se non impossibile, da delimitare e c'è stato un dibattito considerevole su questo argomento nei campi CS, che non ho intenzione di provo persino a discutere qui perché mi trovo sempre nei guai quando lo faccio. Tuttavia, possiamo identificare una regola grammaticale classica presente in molte lingue umane: accordo nome / verbo. Non sono d'accordomi sembra un errore sintattico, nel senso che capisco perfettamente l'intento dell'espressione, ma lo riconosco anche come errato. Ma questo problema sintattico può essere colto da una grammatica libera dal contesto solo se si elencano tutti i possibili accordi. Cioè, possiamo scrivere qualcosa di vagamente simileSNPsingVPsing|NPpluralVPplural, ma è facile vedere come l'enumerazione possa sfuggire di mano al linguaggio con regole di accordo più complicate (genere, ad esempio).

  3. Il problema con le grammatiche libere dal contesto è che sono libere dal contesto, anche se non dovresti prendere quella descrizione troppo sul serio perché è facile cadere nella trappola dell'errato interpretazione dell'uso tecnico delle parole comuni (che, potrei sostenere, è il base di questa domanda in primo luogo). Ciò significa che un non terminale (comeNPsopra) deve derivare esattamente lo stesso insieme di frasi indipendentemente dal contesto in cui appare. Quindi non abbiamo potuto scrivere, per esempio,SNPXVPX con la comprensione che Xdeve essere riempito allo stesso modo in entrambe le espansioni. (Questo è uno dei problemi che la grammatica trasformazionale ha tentato di affrontare.)

  4. Questo è esattamente il problema con le contrazioni dell'indice tensore. Una contrazione dell'indice tensore pone un requisito particolare sull'uso delle variabili indice: una variabile indice deve essere utilizzata esattamente due volte, nel qual caso non può essere sul lato sinistro, o esattamente una volta, in cui deve essere sul lato sinistro- lato della mano. (Dato che non sono un fisico, sarei tentato di comprimerlo nel dire che una variabile indice deve apparire esattamente due volte in tutto. Ma esiste una distinzione semantica tra variabili libere e segnaposto, che è importante per la comprensione del espressione). In questo caso non esiste una raccolta finita semplice di variabili indice e nessun limite al numero di segnaposto utilizzati. Inoltre, la ridenominazione dei segnaposto non influisce sulla semantica a condizione che i nuovi nomi non vengano utilizzati altrove nell'espressione,

  5. È infatti possibile dimostrare rigorosamente l'affermazione secondo cui le grammatiche senza contesto non possono catturare un accordo contestuale, come negli esempi precedenti. Penso che abbia qualcosa a che fare con ciò che l'affermazione citata sta affermando. A seconda di quanto tu sia onnisciente, potresti trovare interessante imparare di più, ma non penso che finirà per essere particolarmente rilevante per le intuizioni filosofiche o fisiche che sembra stia cercando.

  6. Gli altri articoli collegati, sulle sfortunate forme di superficie nella notazione matematica, sono semplicemente aneddotici; nessuno di loro, per quanto posso vedere, sottolinea qualsiasi punto profondo o persino superficiale rilevante per la teoria del linguaggio formale, proprio come la barzelletta forse famosa che il pesce di un uomo è il brivido di un altro non è nemmeno vagamente perspicace nella linguistica del romanticismo, ma è ancora divertente (IMO).


Questo è interessante - non mi rendevo conto che ci fosse una tale sovrapposizione tra linguistica e informatica. Questo sembra molto rilevante perché una delle cose che mi confonde molto sulla notazione tensore / Einstein è la distinzione tra variabili libere e segnaposto, vedi ad esempio math.stackexchange.com/questions/2001893/… Per la cronaca, il problema è la risposta Ho detto che sembra che il riferimento sia con notazione tra parentesi, e non con notazione di per sé, anche se non capisco l'argomento da solo.
Chill2Macht,

Vale a dire che le parentesi vengono "analizzate in pila" significa che sono "lingue in pila", il che significa che corrispondono a "analisi degli alberi" mentre la notazione dell'indice corrisponde presumibilmente a "grafici generali" e il numero di alberi (massimi) in un grafico aumenta esponenzialmente con la dimensione del grafico, quindi in qualche modo questo significa che ci sono in modo esponenziale molte espressioni tra parentesi che significano tutte la stessa cosa di una singola espressione indice? So cos'è uno stack (LIFO) e so cos'è un albero di spanning massimo, ma non sono sicuro di cosa si intende per analisi o analisi dell'albero.
Chill2Macht,

2
Per analizzare una grammatica libera dal contesto, è necessario un "automa push-down", che è una macchina a stati finiti con una pila. (È inoltre necessario un oracolo o un algoritmo o una pazienza per trovare l'azione giusta; l'automa teorico non è deterministico.) Da qui "stack language". Il problema con le espressioni tra parentesi non sono le parentesi, ma piuttosto il fatto che non hanno indici.
rici,
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.