Separare elenchi di parole


10

Esiste un problema aperto nei linguaggi formali noto come Problema di separazione; che viene brevemente indicato come dato due distinte stringhe di lunghezza , quanto è grande un DFA necessario per "separarle", nel senso che accetta una stringa ma rifiuta l'altra.n

Ecco alcuni documenti pertinenti 1 , 2 . (Ne ho un po 'di più ma non ho abbastanza reputazione per pubblicarli).

Tutti discutono del problema di separare due stringhe distinte. Mi chiedo se c'è stato alcun lavoro svolto nel campo della separazione liste di stringhe, significato dato due liste di stringhe, e , che taglia DFA è tenuto ad accettare ogni stringa nel e rifiutare ogni corda in . Questo problema equivale al regex golf.AA BBAB

Ci sono alcune domande di base su cui ho lavorato, ad esempio se una delle liste ha dimensioni o se tutte le stringhe hanno lunghezze diverse.1

Ho cercato in giro ma non ho trovato documenti che trattino questo tipo di problema. Sono state condotte ricerche in questo settore?

Grazie in anticipo.



Il link di VZN è fantastico! Tuttavia, credo che puoi trovare ulteriori informazioni se dai un'occhiata all'appendice di "Computer e intrattabilità: una guida alla teoria della completezza NP"
Michael Wehar,

Inoltre, se sei interessato a separare due elenchi con macchine di Turing lineari limitate nel tempo, ho dato una piccola costruzione e ho pubblicato il commento online (non è niente di così speciale). Fondamentalmente, per due elenchi di elementi k in cui ogni stringa ha lunghezza al massimo n, è possibile separare gli elenchi con una macchina di Turing che ha e ha un " autonomia ottimale ". klog(n)log(log(n))
Michael Wehar,

1
Da Gold1978, sappiamo che il problema di determinare se due elenchi possono essere separati da un DFA di una determinata dimensione è NP-completo. Se si modifica il problema per dire separato da una macchina di Turing con un limite di tempo scritto in unario, allora non è noto se il problema è NP-completo. È stato suggerito che questo problema potrebbe essere correlato al problema del circuito minimo, nel qual caso risolverebbe i problemi aperti nella complessità strutturale se si dimostrasse che era in P o se era NP-completo.
Michael Wehar,

Risposte:


8

La domanda che stai ponendo è nota come problema di separazione per le lingue: date due lingue e L , esiste una terza lingua M (un separatore) che le separa, cioè K M e M L = .KLMKMML=

Sei interessato in caso ristretto dove e L sono finite, e la dimensione di un DFA M .KLM

In un articolo del 2013 , gli autori indicano:

Sebbene il problema della separazione si verifichi frequentemente, non è stato tuttavia sistematicamente studiato, anche nel caso limitato, ma ancora impegnativo, delle lingue normali.

Citano tuttavia diversi casi speciali che sono stati risolti e che certamente comprendono il caso finito.

Potresti anche voler esaminare l' interpolante Craig , un problema simile sulle formule logiche. L'interpolazione viene utilizzata ad esempio nel controllo dei modelli basato su SAT, in un'impostazione che ritengo più vicina a ciò che si sta cercando (soprattutto per quanto riguarda la finezza dell'input). Questo documento dovrebbe essere un buon punto di partenza.


Apprezzo che tu abbia condiviso questo. Non sapevo di questo documento. Grazie. :)
Michael Wehar,

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.