Quali sono gli isomorfismi appropriati tra i linguaggi formali?


9

Un linguaggio formale sopra un alfabeto è un sottoinsieme di , cioè un insieme di parole su quell'alfabeto. Due linguaggi formali e sono uguali, se gli insiemi corrispondenti sono estensivamente uguali a sottoinsiemi di . Si possono usare le lingue nella teoria della complessità per formalizzare il concetto di "problema". Si potrebbe lamentare che l'uguaglianza estensionale "in generale" è indecidibile, ma credo che ciò sarebbe fuorviante.LΣΣLL'LL'

Sto riflettendo sul seguente problema da qualche tempo: due lingue L e L' sopra alfabeti Σ={un',B} e Σ'={c,d} (dove un' , B , c e dsono lettere distinte) non possono mai essere uguali, anche se descrivono "esattamente" lo stesso "problema". Ma dovrebbero essere isomorfi, se davvero descrivono "esattamente" lo stesso "problema". Quello che vorrei sapere sono le possibili nozioni di isomorfismo appropriate per la teoria della complessità. Inizialmente pensavo che un "traduttore" computazionalmente debole come una macchina a stati finiti potesse essere usato per definire gli isomorfismi consentiti, ma questo sembra già abbattere per banali traduzioni sintattiche tra formule logiche equivalenti. (Vedi ad esempio questa tabella con la definizione sintattica del doppio A in logica lineare .)

Oggi ho avuto la seguente idea: una definizione della lingua corrispondente a un certo "problema decisionale" ha spesso due parti: (1) una codifica delle istanze problematiche consentite come stringhe finite di simboli e (2) una definizione del " accettato "istanze problematiche che appartengono alla lingua. Se il controllo se una determinata stringa di simboli finita è una codifica di un'istanza del problema consentita richiede già una macchina computazionalmente più forte di una macchina a stati finiti, allora questa macchina più forte dovrebbe essere usata anche per la definizione degli isomorfismi consentiti.

Domande: questa linea di ragionamento ha qualche possibilità di "risolvere" il mio problema? Il mio problema è già stato risolto, quindi devo solo leggere i riferimenti giusti? Il mio stesso problema ha un senso o è fuorviante quanto lamentarsi dell'indecidibilità dell'uguaglianza estensiva?


Modifica (non ancora una risposta) Ho notato che "(1) Una codifica delle istanze problematiche consentite come stringhe finite di simboli" contiene già il presupposto (nascosto) di un input normalizzato. Senza questo presupposto, due diverse stringhe finite potrebbero corrispondere alla stessa istanza del problema. Invece di verificare se una determinata stringa finita è valida, il controllo potrebbe produrre un input normalizzato (e mappare stringhe non valide a una stringa speciale).

Questa impostazione ha il vantaggio che la macchina che esegue il controllo / normalizzazione è già dotata di mezzi per trasformare stringhe finite in altre stringhe finite. La macchina consentita (classe di complessità) per questa attività potrebbe far parte della definizione del problema e i morfismi (iso) utilizzerebbero la stessa macchina (classe di complessità). (Il suggerimento di "riduzioni polifunzionali di molti tempi" dal commento di Raffaello sarebbe davvero una possibilità di problemi in .)P

Uno svantaggio è che questo modo di specificare potrebbe essere appropriato solo per le macchine deterministiche. Le macchine non deterministiche potrebbero richiedere modi più flessibili per specificare / decidere se due stringhe di input corrispondono alla stessa istanza del problema.


1
Tutti i linguaggi infiniti (su alfabeti finiti) sono isomorfi (poiché sono numerabili). Devi perfezionare ciò che vuoi. Inoltre, con quale misura dici che due problemi sono "uguali"? Probabilmente, le riduzioni polivalenti multi-tempo ti forniscono una mappatura come desideri, ma queste mappano problemi "diversi" (ma allo stesso modo difficili) l'uno sull'altro.
Raffaello

@Raphael Sono leggermente confuso dal tuo commento "Devi affinare ciò che vuoi." Questa domanda è precisamente su quale nozione di isomorfismo potrei "volere" usare. A volte è difficile sapere cosa vuoi davvero! Per il passaggio della domanda che parla di lingue che descrivono "esattamente" lo stesso "problema", sostanzialmente stavo solo pensando al caso quando identificare con e con renderebbe e uguali. Continuare questa linea di ragionamento è ciò che inizialmente mi ha portato a considerare le macchine a stati finiti come "traduttori", che alla fine non risolve il mio problema. acbdLL
Thomas Klimpel

@Raphael Immagino che per la maggior parte dei problemi, le riduzioni polivalenti in molti tempi sono troppo potenti dal punto di vista computazionale per gli isomorfismi che ho in mente. Non voglio che l'isomorfismo calcoli la soluzione per me, o riduca un problema teorico grafico a un problema di soddisfacibilità logica. Voglio solo identificare due codifiche leggermente diverse ma sostanzialmente equivalenti della stessa istanza del problema. Non ho alcun problema, se questa nozione di isomorfismo dovesse capitare di identificare anche alcuni problemi teorici (codifiche di) grafici con alcuni (codifiche di) problemi di soddisfacibilità logica.
Thomas Klimpel,

approssimativamente, la complessità associata alle riduzioni viene utilizzata per questo scopo. una riduzione meno forte del tempo P è ad es. riduzioni dello spazio di registro, tempo , ecc.O(nc)
vzn,

Risposte:


6

Il mio problema è già stato risolto, quindi devo solo leggere i riferimenti giusti?

La teoria della famiglia di lingue astratta è rilevante. Ad esempio, i morfismi definiti dai trasduttori a stati finiti portano alla famiglia dei coni . Il breve discorso di Eilenberg sull'ICM del 1970 spiega bene questo quadro, vedi anche il capitolo 11 "Proprietà di chiusura delle famiglie di lingue" da Introduzione alla teoria, lingue e computazione degli automi (1a edizione) di J. Hopcroft e J. Ullman del 1979. Tuttavia , solo le lingue non deterministiche rientrano in questo quadro 1 . Alla fine, il libro Teoria dei codici di J. Berstel e D. Perrin del 1985 mi ha aiutato a trovare soluzioni ragionevoli per il mio problema. Codici e automidi J. Berstel, D. Perrin e C. Reutenauer del 2009 è un'importante revisione di questo libro con una copertura molto più ampia.

Questa linea di ragionamento ha qualche possibilità di "risolvere" il mio problema? Il mio problema in sé ha un senso, o è fuorviante come ...?

L'ipotesi che esista una categoria corretta per modellare gli isomorfismi tra le lingue per "formalizzare il concetto di problema" è sbagliata. Esistono molte categorie diverse che possono essere interessanti nel contesto dei linguaggi formali.

Qui ci sono tre categorie interessanti relative a riduzioni multiple, che saranno chiamate totale , parziale e relazionale . Gli oggetti delle categorie sono coppie di un alfabeto finito Σ e una lingua L Σ di parole sopra Σ . Per il totale , i morfismi tra l'oggetto sorgente ( Σ , L ) e l'oggetto target ( Σ , L ) sono funzioni totali f(Σ,L)ΣLΣΣ(Σ,L)(Σ,L) con L = f - 1 ( L ) . Perparziale, i morfismi sono funzioni parziali f : Σ Σ con L = f - 1 ( L ) , dove due funzioni parziali f , g sono considerate uguali (come morfismi) se f ( x ) = g ( x )f:ΣΣL=f1(L)f:ΣΣL=f1(L)fgf(x)=g(x)per tutti . Per quanto riguarda le relazioni , i morfismi sono relazioni R Σ × Σ con L = R - 1 ( L ) , e due morfismi qualsiasi tra la stessa fonte e destinazione sono considerati uguali. L'insieme delle funzioni o relazioni consentite può essere limitato a vari "traduttori" semplici per ottenere categorie con isomorfismi interessanti.xLRΣ×ΣL=R1(L)

  • Gli omomorfismi monoidi da a Σ danno una categoria totale di base . Gli isomorfismi di questa categoria sono fondamentalmente solo le biiezioni tra Σ e Σ . Qualsiasi famiglia ragionevole di lingue dovrebbe rispettare meglio questi isomorfismi, vale a dire essere chiusi sotto omomorfismi inversi.ΣΣΣΣ
  • Le funzioni parziali definite dai traduttori di Turing di spazio-log deterministici danno una categoria parziale abbastanza naturale . È in grado di eseguire molte trasformazioni sintattiche banali (come applicare le leggi di De Morgan per spostare le negazioni sugli atomi), include il morfismo definito dai trasduttori 1 a stati finiti funzionali e può anche ordinare. Tuttavia non identificherà due lingue completamente non correlate come isomorfe, poiché l'uguaglianza della composizione di due morfismi con un morfismo identitario è un requisito molto più forte della semplice esistenza di riduzioni multiple in entrambe le direzioni.
  • Le relazioni definite dai traduttori di macchine di Turing spazio-log non deterministici danno un'interessante categoria relazionale . SAT è isomorfo a HORNSAT in questa categoria, ma è una questione aperta se TAUTOLOGIA o qualsiasi altro problema co-NP completo sia isomorfo a HORNSAT.

Due lingue e L sopra gli alfabeti Σ = { a , b } e Σ = { c , d } (dove a , b , c e d sono lettere distinte) non possono mai essere uguali, anche se descrivono "esattamente" il stesso problema." Ma dovrebbero essere isomorfi, se davvero descrivono "esattamente" lo stesso "problema".LLΣ={a,b}Σ={c,d}abcd

La categoria totale di base sopra descritta risolve questo problema.

Il problema diventa più interessante se "esattamente lo stesso" è sostituito da "quasi lo stesso per scopi più pratici": Sia una lingua sopra Σ = { U , C , A , G } e sia L la lingua sopra Σ = { 0 , 1 } ottenuto da L con la sostituzione U 00 , C 01 , A 10 e G 11LΣ={U,C,A,G}LΣ={0,1}LU00C01A10G11. Si noti che in qualsiasi categoria totale , e L non sono isomorfi per L = Σ . Lo stesso sarebbe vero per le categorie parziali , se la parte "dove due funzioni parziali f , g sono considerate uguali (come morfismi) se f ( x ) = g ( x ) per tutte le x L " fosse omessa dalla definizione.LLL=Σfgf(x)=g(x)xL

La categoria parziale abbastanza naturale sopra descritta è sufficiente per rendere isomorfi e L . Sarebbe bello avere una categoria più semplice (cioè più restrittiva) che li rende isomorfi. Le seguenti categorie (successivamente più restrittive) mi sembrano ragionevoli:LL

  • Le funzioni parziali realizzate da trasduttori di stato finito non ambigui 2 in cui l'unico stato accettante è lo stato iniziale. Gli isomorfismi di questa categoria parziale sono (un sottoinsieme delle) biiezioni tra codici di lunghezza variabile riconoscibili .
  • Le funzioni parziali realizzate da trasduttori di stato finito deterministici in cui l'unico stato accettante è lo stato iniziale. Gli isomorfismi di questa categoria parziale sono (un sottoinsieme delle) biiezioni tra codici prefissi .
  • Le funzioni parziali realizzate simultaneamente da un trasduttore deterministico sia in avanti che indietro in cui l'unico stato accettante è lo stato iniziale. Gli isomorfismi di questa categoria parziale sono (un sottoinsieme delle) biiezioni tra codici bifix .
  • Potrebbero anche avere senso ulteriori restrizioni delle funzioni parziali in modo tale che gli isomorfismi siano (un sottoinsieme delle) biiezioni tra codici a blocchi .

Si possono usare le lingue nella teoria della complessità per formalizzare il concetto di "problema".

Prima ancora di conoscere la teoria delle categorie, mi chiedevo se esistessero modi "più fedeli" per formalizzare il concetto di "problema". Dopo aver acquisito familiarità con la teoria delle categorie, a volte ho cercato di trovare possibili soluzioni, ma ho sempre rinunciato rapidamente al primo ostacolo (perché nessuno si preoccupa comunque). So che Yuri Gurevich ha risolto alcune domande correlate, ma le sue soluzioni sono praticamente applicabili, mentre cercavo qualcosa di più bello e astratto, indipendente dall'applicabilità pratica.

La maggior parte del mio tempo libero nelle ultime tre settimane è andato finalmente a fare progressi su questo problema. Molto spesso il tempo è stato dedicato alla ricerca di fastidiosi problemi nelle possibili soluzioni che avevo in mente. La sensazione di fare progressi è nata dalla lettura di libri e articoli (vecchi) e dall'apprendimento di molti concetti e fatti di base sui trasduttori e sugli insiemi razionali. Alla fine ho appreso le nozioni di un prefisso e di un codice bifix (precedentemente codice biprefix nel libro di Berstel), che mi ha permesso di trovare le ragionevoli 3 categorie sopra descritte.

Potrebbe essere difficile apprezzare quelle categorie (legate al codice), senza aver visto alcuni problemi delle categorie più ovvie. Un problema generale è che la chiusura sotto composizione può rendere difficile definire una classe di funzioni parziali ben limitata. Un altro problema è legato al fatto che l'aggiunta di una (o la moltiplicazione per una costante) è una "funzione facile da calcolare" se le cifre del numero sono indicate in ordine di fascia bassa, ma non se le cifre sono indicate in grande ordine endiano.


O(n)O(1)

2 Un trasduttore di stato finito non ambiguo è un trasduttore di stato finito non deterministico con al massimo un percorso di accettazione per ciascun ingresso. Realizza una funzione parziale, quindi è anche un trasduttore allo stato finito funzionale. È determinabile se un determinato trasduttore allo stato finito non è ambiguo.

RΣ×ΣL=R1(L)R1(ΣL)e ogni due morfismi tra la stessa fonte e lo stesso target sono considerati uguali.

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.