- Qual è la logica del secondo ordine in contrasto con la logica del primo ordine?
- 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 dicendo∃x…
∃R∃G∃B[∀x(x∈R∨x∈G∨x∈B)∧¬∃x((x∈R∧x∈G)∨(x∈G∧x∈B)∨(x∈B∧x∈R))∧∀x∀y(E(x,y)→¬((x∈R∧y∈R)∨(x∈G∧y∈G)∨(x∈B∧y∈B)))].
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
Perché è importante che una logica del secondo ordine sia monadica sia decidibile O perché questa è la domanda sbagliata?
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
∃R∀x∀y∀z[(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.∃R1…∃RkφRiφ
- 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)iai∈XiXi<jij
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,∃X∪c