Logica del secondo ordine monadica per manichini


13

Sono programmatore con una presa sugli automi, ma non sulla logica.

Ho letto sui giornali che i due sono strettamente legati. Gli automi deterministici finiti (DFA), gli automi ad albero e gli automi a spinta visibile sono tutti correlati alla logica del secondo ordine (MSO) di Monadic. Anche se, capisco gli automi e le persone (nei documenti) hanno cercato di spiegare la relazione con MSO con me, assumono sempre un forte background nella logica e una comprensione dell'MSO.

Quando guardo libri e corsi sulla logica, per lo più gestiscono solo la logica del primo ordine, che sembra piuttosto semplice e composta solo da alcuni concetti: esistono variabili, o, e, non implica, per tutti, ecc.

Qualcuno può spiegare o indicarmi una risorsa che può spiegare:

  1. Qual è la logica del secondo ordine in contrasto con la logica del primo ordine?
  2. Che cos'è la logica monadica vs non monadica?
  3. Perché è importante che una logica del secondo ordine sia monadica sia decidibile O perché questa è la domanda sbagliata?
  4. Perché la logica monadica del secondo ordine è decidibile?
  5. La relazione con almeno DFA?

Se è una risorsa sarebbe bello se si presume che io sia un programmatore e non un logico. Questo significa che vorrei capire come lo implementerei come codice, perché fino ad allora la matematica mi sembra una magia;)

Grazie per l'aiuto che mi puoi dare. Lo apprezzerei molto.


"Perché è importante che una logica di secondo ordine sia monadica sia decidibile O perché questa è la domanda sbagliata?" se si consente la quantificazione su un predicato binario, ad esempio si prende immediatamente la potenza della logica del primo ordine con un singolo predicato binario che è già indecidibile (anche senza funzioni of arity> 0, e senza uguaglianza) [Kalmar, Suranyi, 1950]M[...M(x,y)...]
Vor

Risposte:


10
  1. Qual è la logica del secondo ordine in contrasto con la logica del primo ordine?
  2. Che cos'è la logica monadica vs non monadica?

La logica monadica del secondo ordine è la logica del primo ordine più la quantificazione su insiemi. Quindi, oltre a poter dire che esiste un elemento di dominio con alcune proprietà ( ), puoi anche dire che esiste un insieme di elementi di dominio con alcune proprietà. Quindi, ad esempio, possiamo definire la 3-colorabilità dei grafici dicendox

RGB[x(xRxGxB)¬x((xRxG)(xGxB)(xBxR))xy(E(x,y)¬((xRyR)(xGyG)(xByB)))].

In parole, ci sono colori rosso, verde e blu tali

  • ogni vertice ha un colore
  • e nessun vertice ha due colori
  • e, se c'è un bordo tra due vertici, quei due vertici non hanno lo stesso colore.

La logica generale del secondo ordine consente non solo la quantificazione su insiemi ma anche su relazioni arbitrarie sul dominio. Ricorda che una relazione è un insieme di -tuple sul dominio, per alcuni  . Gli insiemi sono solo relazioni unarie: e una tupla è solo un elemento del dominio.kkk=11

  1. Perché è importante che una logica del secondo ordine sia monadica sia decidibile O perché questa è la domanda sbagliata?

  2. Perché la logica monadica del secondo ordine è decidibile?

Onestamente, non ricordo i problemi di decidibilità. Un punto chiave è che la logica completa del secondo ordine consente di quantificare in esistenza un ordine lineare del dominio

Rxyz[(R(x,y)R(y,x))((R(x,y)R(y,x))x=y)((R(x,y)R(y,z))R(x,z))].

Cioè, esiste una relazione binaria che è totale, antisimmetrica e transitiva, cioè, è un ordine lineare nel dominio  . Ciò ti dà implicitamente un ordine lineare su  per qualsiasi  , e puoi usare le relazioni su  per abbastanza grande da  simulare un nastro di Turing. Ma, con SO monadico, non puoi fare nessuna di queste cose.DDnnDnn

(Immagino che, se il tuo dominio è infinito, probabilmente dovrai specificare in aggiunta che l'ordine lineare è discreto e ha un elemento minimo; allora sai che ha un segmento iniziale che è isomorfo ai numeri naturali e che dovrebbe essere abbastanza.)

Su input finiti, il frammento esistenziale di SO - formule della forma , dove sono simboli di relazione e  è di primo ordine - definisce esattamente NP . La logica completa del secondo ordine definisce esattamente la gerarchia polinomiale. Questo è esattamente a causa della capacità di codificare le macchine di Turing e del fatto che quantificare una raccolta fissa di relazioni ti dà una quantità polinomiale di cose con cui giocare.R1RkφRiφ

  1. La relazione con almeno DFA?

Possiamo rappresentare stringhe su un certo alfabeto finito  da strutture relazionali. Il vocabolario ha un simbolo di relazione binaria  che verrà interpretato come un ordine lineare e un simbolo di relazione univoco  per ogni carattere . Ogni elemento del dominio è un carattere nella stringa, l'ordine lineare indica l'ordine in cui appaiono i caratteri e le relazioni  indicano quale carattere appare in ogni posizione.ΣRaaΣRa

Supponiamo ora di avere un DFA con  stati e supponiamo di avere a che fare con stringhe finite, per ora. Possiamo scrivere una formula che è sostanzialmente simile alla formula di tre colorabilità sopra che dice che il nostro DFA accetta la stringa codificata dal suo input. Dice che ci sono insiemi (di elementi di dominio, cioè posizioni nella stringa) , tali che sarà l'insieme di posizioni nella stringa in cui l'automa si trova nello stato  . Quindi affermare che:kQ1,,QkQii

  • ogni posizione  è esattamente in uno di ;Q 1 , , Q kjQ1,,Qk
  • la prima posizione è in  (supponendo che questo sia lo stato iniziale);Q1
  • se la posizione è in  allora la esima posizione è in qualunque stato la funzione di transizione dell'automa dica che dovrebbe essere;Q i ( j + 1 )jQi(j+1)
  • la posizione finale è in uno stato accettante.

Se questa formula è vera, l'automa deve accettare la stringa; se è falso, l'automa deve rifiutare. Per gli NFA, diciamo solo che ogni posizione è in almeno uno stato e lo stato finale è in almeno uno stato accettante. Per input infiniti, possiamo codificare, ad esempio, la condizione di Büchi dicendo "per tutte le posizioni  nell'input, se  è in uno stato accettante, c'è anche un tale che  è anche in uno stato accettante.j j > j j jjj>jj

In questo momento, non ricordo la prova del contrario (che tutto ciò che è definibile in MSO può essere riconosciuto da un automa appropriato). Se ho tempo, lo cercherò e posterò uno schizzo.

Al contrario , possiamo rappresentare induttivamente il significato delle formule MSO con automi a stati finiti, a seguito della costruzione degli automi. Per fare questo abbiamo aumentare l'alfabeto dell'automa, con l'aggiunta di componenti che indicano il valore delle variabili di posizione liberi e impostazione delle variabili . Se leggiamo una stringa lungo l'automa troviamo esattamente un singolo per indicare una determinata posizione , e le posizioni in un set sono contrassegnate allo stesso modo.X 1 i XiX1iX

Le formule di base sono per "posizione ha il simbolo ", per " è un elemento di " e per "posizione è prima della posizione ". Queste formule possono essere rappresentate dai seguenti automi a stati finiti semplici (sopra l'alfabeto aumentato adatto alla formula):i a i X i X i < j i jRa(i)iaiXiXi<jij

automi di base

Formule più complesse sono costruiti utilizzando i connettivi booleani ei quantificatori esistenziali . Il significato previsto di questi operatori è facilmente tradotto in lingue come l'unione degli operatori linguistici , complemento e proiezione , che è l'operazione che rimuove il componente corrispondente dall'alfabeto aumentato. Per l'unione dobbiamo prestare attenzione agli alfabeti aumentati nel caso in cui le due parti della formula non siano d'accordo sull'insieme di variabili libere. La proiezione è semplice, ma cambierà un automa deterministico in uno non deterministico.i , X ,¬i,Xc


Aggiunto il mio suggerimento per il contrario. In attesa di approvazione da parte di @DavidRicherby
Hendrik Jan

Grazie per un'ottima risposta Sto ancora elaborando tutto questo e ci sto lavorando, cercando i termini, pensando a come implementarlo, ecc. Nel frattempo penso che il numero 3 fosse la domanda sbagliata. Forse avrebbe dovuto piuttosto essere il motivo per cui la relazione tra automi e logica è così importante, che è menzionata in così tanti articoli?
Walter Schulze,

Grazie per l'eccellente risposta!
Klas.
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.