Buona referenza su metodi approssimativi per la risoluzione di problemi logici


13

È noto che molti problemi logici (ad esempio problemi di soddisfacibilità di diverse logiche modali) non sono decidibili. Ci sono anche molti problemi indecidibili nella teoria degli algoritmi, ad esempio nell'ottimizzazione combinatoria. Ma in pratica euristismi e algoritmi approssimativi funzionano bene con algoritmi pratici.

Quindi ci si può aspettare che possano essere adatti anche algoritmi approssimativi per problemi logici. Tuttavia, l'unica tendenza di ricerca su questa linea che sono riuscito a trovare è il problema max-SAT e il suo sviluppo è stato attivo negli anni novanta.

Esistono altri trend di ricerca attivi, seminari, parole chiave, buoni riferimenti per l'uso e lo sviluppo di metodi approssimativi per la logica modale, la programmazione logica e così via?

Se si prevede che il ragionamento automatico acquisirà importanza nelle future applicazioni dell'informatica, si dovrà essere in grado di andare oltre i vincoli di indecidibilità della logica e metodi approssimativi o l'euristica può essere il percorso naturale da seguire, non è vero?


1
"l'unica tendenza di ricerca su questa linea che sono riuscito a trovare è il problema max-SAT e il suo sviluppo è stato attivo negli anni novanta". In realtà, i solutori di MAXSAT stanno migliorando significativamente in questi giorni: maxsat.udl.cat/12/solvers/index.html
Radu GRIGore,

Dopo alcuni studi ora sono propenso a cambiare idea. La teoria dei modelli finiti dovrebbe essere il campo più prospettico per l'IA e la logica applicata. Le logiche basate sulla teoria dei modelli infinita possono essere esteticamente belle ma mancano di due importanti connessioni con la realtà: 1) le applicazioni pratiche sono sempre limitate da risorse limitate (ad es. L'elenco delle variabili dovrebbe essere limitato); 2) il worl fisico è necessariamente limitato e ha anche maggiori probabilità di essere discreto (ad es. Lunghezza fondamentale e così via). Quindi - ora non capisco l'uso di infinite teorie dei modelli. SONO le approssimazioni.
TomR,

Un'altra tendenza è la "scienza delle connessioni" o l'integrazione neuro-simbolica - in cui la logica viene utilizzata per affermare il problema e fornire input e lettura dell'output del calcolo, ma il calcolo stesso viene eseguito dalla rete neurale. Si discute su quanto possa essere potente la NN (ad esempio, alcuni suggeriscono che possono superare il limite di Turing solo quando i numeri reali sono usati come pesi, ma questo può essere discusso - ad esempio, è una questione aperta se esistono numeri reali in natura) ma è convinto che ci dovrebbero essere prospettive per l'uso di metodi euristici in logica e l'integrazione è un modo.
TomR

Risposte:


10

La motivazione che affermi per affrontare l'indecidibilità si applica anche a problemi decidibili ma difficili. Se hai un problema NP-hard o PSPACE-hard, dovremo tipicamente usare una qualche forma di approssimazione (nel senso ampio del termine) per trovare una soluzione.

È utile distinguere tra diverse nozioni di approssimazione.

  • ε
  • δ

(ε,δ)

Ecco un esempio di una diversa nozione di approssimazione. Supponiamo di eseguire un calcolo come moltiplicare due numeri grandi e di voler verificare se la moltiplicazione era corretta. Esistono molte tecniche euristiche utilizzate nella pratica per verificare la correttezza senza ripetere nuovamente il calcolo. È possibile verificare che i segni siano stati moltiplicati per ottenere il segno giusto. Puoi verificare se i numeri hanno la giusta parità (proprietà dei numeri pari / dispari). È possibile utilizzare un controllo più sofisticato come Eliminare nove. Tutte queste tecniche hanno una proprietà comune che possono dirti se hai fatto un errore, ma non possono garantire se hai la risposta giusta. Questa proprietà può essere vista come un'approssimazione logica perché potresti essere in grado di dimostrare che il calcolo originale è errato ma potresti non essere in grado di dimostrare che è corretto.

Tutti i controlli che ho menzionato sopra sono esempi di una tecnica chiamata interpretazione astratta. L'interpretazione astratta rende completamente rigorosa una nozione di approssimazione logica distinta dalle approssimazioni numeriche e probabilistiche. Il problema che ho descritto con l'analisi di un singolo calcolo si estende al caso più complesso di analisi di un programma. La letteratura sull'interpretazione astratta ha sviluppato tecniche e quadri per ragionamenti logici approssimativi sui programmi e più recentemente sulla logica. I seguenti riferimenti potrebbero essere utili.

  1. Interpretazione astratta in breve di Patrick Cousot, che è una semplice panoramica.
  2. Panoramica di Astrazione di Patrick Cousot, come parte del suo corso. C'è un bell'esempio di astrazione per determinare le proprietà di un boquet di fiori. L'analogia del bouquet include punti fissi e può essere resa matematicamente precisa.
  3. Corso di interpretazione astratta di Patrick Cousot, se vuoi tutta la profondità e i dettagli.
  4. Interpretazione astratta e applicazione ai programmi di logica , Patrick Cousot e Radhia Cousot, 1992. Si applica ai programmi di logica, secondo la vostra richiesta. La sezione iniziale formalizza anche la procedura di lancio di nove come un'interpretazione astratta.

Tutto ciò è stato generalmente applicato alla ragione dei programmi per computer. C'è stato un lavoro abbastanza recente sull'applicazione di idee dall'interpretazione astratta per studiare le procedure decisionali per la logica. L'obiettivo non è stato la logica modale ma la soddisfacibilità nella logica proposizionale e teorie del primo ordine prive di quantificatori. (Dal momento che ho lavorato in questo spazio, uno di seguito è il mio)

  1. Una generalizzazione del metodo di Staalmarck da parte di Aditya Thakur e Thomas Reps, 2012. Fornisce una generalizzazione del metodo di Staalmarck ai problemi nell'analisi del programma.
  2. Il prodotto ridotto di domini astratti e la combinazione di procedure decisionali , Patrick Cousot, Radhia Cousot e Laurent Mauborgne, 2011. Questo documento studia la tecnica Nelson-Oppen per combinare procedure decisionali e mostra che può essere utilizzato anche per combinazioni incomplete, che è particolarmente interessante se hai problemi indecidibili.
  3. I solutori della soddisfazione sono analizzatori statici , il mio articolo con Leopold Haller e Daniel Kroening, 2012. Applica la vista di approssimazione basata su reticolo per caratterizzare i solutori esistenti. Puoi anche guardare le mie diapositive sull'argomento , invece.

Ora nessuno dei documenti sopra risponde alla tua domanda specifica sull'attacco di problemi di soddisfacibilità che sono indecidibili. Ciò che fanno questi documenti è avere una visione orientata all'approssimazione di problemi logici che non sia numerica o probabilistica. Questo punto di vista è stato ampiamente applicato alla ragione dei programmi e credo che risolva esattamente ciò che stai chiedendo.

Per applicarlo alla logica modale, suggerirei che un punto di partenza è usare la semantica algebrica di Jonsson e Tarski o la semantica successiva di Lemmon e Scott. Questo perché l'interpretazione astratta è formulata in termini di reticoli e funzioni monotone, quindi le algebre booleane con gli operatori sono una semantica conveniente con cui lavorare. Se vuoi iniziare con i frame di Kripke, puoi applicare il teorema della dualità di Jonsson e Tarski (che alcuni potrebbero chiamare dualità di Stone) e derivare la rappresentazione algebrica. Successivamente, è possibile applicare i teoremi dell'interpretazione astratta per l'approssimazione logica.

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.