Спеціальний клас мов: «кругові» мови. Чи відомо?


20

Визначте наступний клас "кругових" мов над кінцевим алфавітом Sigma. Власне, назва вже існує для позначення іншої речі, яку, здається, використовується в галузі обчислення ДНК. AFAICT, це інший клас мов.

Мова L - круговий iff для всіх слів у , ми маємо:w Σ wΣ

шw належить L, якщо і тільки якщо для всіх цілих чисел k > 0k>0 , w kwk належить L.

Чи відомий цей клас мов? Мене цікавлять кругові мови, які також є регулярними, зокрема:

  • ім'я для них, якщо вони вже відомі

  • вирішення проблеми, з огляду на автоматику (зокрема: DFA), чи підкоряється прийнята мова вищенаведеному визначенню


1
Це дуже цікаве питання. Два пов'язаних з цим питання: 1) якщо у нас є звичайна мова L та пов’язана DFA, чи можемо ми зробити це круговим? 2) Враховуючи будь-яку мову L, чи буває так, що circ (L) є регулярним або має деякі приємні властивості?
Суреш Венкат

ps, можливо, це очевидно, але чому ви вважаєте, що кругові мови є підкласом звичайних мов?
Суреш Венкат

3
@ Суреш, я думаю, що він визначає мову, щоб вона була круглою, якщо вона є) регулярною; б) задовольняє замкнутості W L , N N : W пLwL,nN:wnL .
Пітер Тейлор


1
Можливо, подяки не слід розміщувати, але це було моє перше питання, і я дуже оцінив якість коментарів, відповідей та обговорень. Спасибі.
vincenzoml

Відповіді:


19

У першій частині ми покажемо експоненціальний алгоритм вирішення циркулярності. У другій частині ми показуємо, що ця проблема є важкою для coNP. У третій частині ми показуємо, що кожна кругова мова є об'єднанням мов форми r + (тут r може бути порожнім регулярним виразом); союз не обов'язково є нерозбірливим. У четвертій частині ми демонструємо кругову мову, яка не може бути записана як суперечлива сумаr + i .r+rr+i

Редагувати: Включено деякі виправлення після коментарів Марка. Зокрема, мої попередні твердження, що циркулярність є coNP-повною або NP-жорсткою, виправляються.

Редагувати: виправлена ​​нормальна форма з r i вr + i . Виставляли "по своїй суті неоднозначну" мову.rir+i


Продовжуючи коментар Пітера Тейлора, ось як вирішити (вкрай неефективно), чи є мова круговою, враховуючи її DFA. Створіть нову DFA, стани якої n - пар старих. Цей новий DFA паралельно виконує n копій старого DFA.nn

Якщо мова не кругла, то є слово w таке, що якщо ми повторимо його через DFA кілька разів, починаючи з початкового стану s 0 , то отримаємо стани s 1 , , s n такі, що s 1 приймає, але одне з інших не приймає (якщо всі вони приймають, то послідовність s 0 , ... , s n повинна кругообігу, щоб w завжди був у мові). Іншими словами, у нас є шлях від s 0 , , s nws0s1,,sns1s0,,snw- від 1 до s 1 ,, s n, де s 1 приймає, але один з інших не приймає. І навпаки, якщо мова кругла, то цього не може статися.s0,,sn1s1,,sns1

Тож ми звели проблему до простого спрямованого тесту на доступність (просто перевірте всі можливі «погані» n- пар).n


Проблема циркулярності є coNP-жорсткою. Припустимо, нам дають екземпляр 3SAT з n змінними x та m , C 1 , , C m . Ми можемо припустити, що n = m (додавання фіктивних змінних) і що n є простим (інакше знайти просте між n і 2 n за допомогою тестування первинності AKS, і додати фіктивні змінні та пропозиції).nx⃗ mC1,,Cmn=mnn2n

Розглянемо наступну мову: "вхід не має форми x 1x n, де x i - задовольняюче завдання для C i ". Побудувати O ( n 2 ) DFA для цієї мови легко . Якщо мова не кругла, то в мові є слово w , деякої сили якого немає в мові. Оскільки єдині слова, які не є в цій мові, мають довжину n 2 , w має бути довжиною 1 або n . Якщо вона довжиниx⃗ 1x⃗ nx⃗ iCiO(n2)wn2w1n1 , розглянемозамість w n (воно все ще в мові), так що w є в мові, а w n - не в мові. Те, що w n немає у мові, означає, що w - задовольняюче завдання.1wnwwnwnw

І навпаки, будь-яке задовольняє завдання перекладається на слово, що підтверджує некруговість мови: задовольняюче завдання w належить до мови, але w n - ні. Таким чином, мова є круговою, якщо екземпляр 3SAT незадовільний.wwn


У цій частині ми обговорюємо нормальну форму для кругових мов. Розглянемо деякий DFA для кругового мови L . Послідовність З = С 0 , ... є реальним , якщо С 0 = s (початковий стан), всі інші держави беруть і С я = С J означає C я + 1 = С J + 1 . Таким чином, кожна реальна послідовність зрештою є періодичною, і існує лише безмежно багато реальних послідовностей (оскільки DFA має кінцево багато станів).LC=C0,C0=sCi=CjCi+1=Cj+1

Ми говоримо, що слово поводиться відповідно до C,C якщо слово приймає DFA зі стану c i в стан c i + 1 , для всіх i . Набір усіх таких слів E ( C ) є регулярним (аргумент подібний до першої частини цієї відповіді). Зауважимо , що Е ( С ) представляє собою підмножина L .cici+1iE(C)E(C)L

Давши реальну послідовність C , визначте, що C k є послідовністю C k ( t ) = C ( k t ) . Послідовність C k також реальна. Оскільки існує лише кінцево багато різних послідовностей C k , мова D ( C ), яка є об'єднанням усіх E ( C k ) , також є регулярною.CCkCk(t)=C(kt)CkCkD(C)E(Ck)

Ми стверджуємо, що D ( C ) має властивість, що якщо x , y D ( C ), то x y D ( C ) . Справді, припустимо, що x C k і y C l . Тоді x y C k + l . Таким чином, D ( C ) = D ( C ) + можна записати у формі rD(C)x,yD(C)xyD(C)xCkyClxyCk+lD(C)=D(C)++ для деякого регулярного виразу r .r+r

Кожне слово w у мові відповідає деякій реальній послідовності C , тобто існує реальна послідовність C, яка w поводиться відповідно до. Таким чином , L є об'єднанням D ( C ) в протягом всього дійсної послідовності C . Тому кожна кругова мова має подання форми r + i . І навпаки, кожна така мова є круговою (тривіально).wCCwLD(C)Cr+i


Розглянемо кругової мову L всіх слів над , б , які містять або парне число або «и або парне число б » и (або обидва). Ми показуємо, що вона не може бути записана як непересічна сума r + i ; Під "неперервним" ми маємо на увазі, що r + ir + j = .La,babr+ir+ir+j=

Нехай N i - розмір деякої DFA для r + i , а N > max N i - якесь непарне ціле число. Розглянемо x = a N b N ! . Оскільки x L , x r + i для деяких i . За насосним леми, можна накачати префікс х довжин не більше N . Таким чином, r + i породжує z = a N !Nir+iN>maxNix=aNbN!xLxr+iixNr+i b N ! . Аналогічно, y = az=aN!bN!N!bNy=aN!bN is generated by some r+jr+j, which also generates zz. Note that ijij since xyLxyL. Thus the representation cannot be disjoint.


There seem to be a number of errors here. You're reducing from UNSAT, not SAT, so you're showing it's coNP-hard. What's your polynomial time witness for (non)-membership?
Mark Reitblatt

"Since the only words not in the language have length n2n2" Shouldn't that be nmnm?
Mark Reitblatt

I don't think it's "trivially in coNP". At least, it's not trivially obvious to me. The "obvious" certificate would be a string ll in the language, and a power kk such that lklk isn't in the language. But it's not immediately obvious to me why such a word must be polynomially-sized. Maybe it's by a simple fact of automata theory that I'm overlooking.
Mark Reitblatt

An even more serious apparent flaw is that you jump from each clause being satisfiable individually to the whole formula being satisfiable. Unless I am misreading, of course.
Mark Reitblatt

Я погоджуюсь, що не ясно, що циркулярність є у співзвучності. З іншого боку, я не бачу проблем в решті аргументу (тепер, коли я поставив n = m ). Якщо кожне застереження задовольняється тим самим призначенням, то примірник 3SAT задовольняється цим призначенням. n=m
Yuval Filmus

17

Ось кілька робіт, які обговорюють ці мови:

Тьєррі Качат, Сила раціональних мов з однієї літери, DLT 2001, Springer LNCS № 2295 (2002), 145-154.

С. Говат, П. Лепольд і Г. Лішке, Коріння і повноваження звичайних мов, DLT 2002, Springer LNCS № 2450 (2003), 220-230.

Х. Бордін, Безперервність сили без контекстних мов не можна визначити, TCS 314 (2004), 445-449.


6

@Dave Clarke, L = a*|b* would be circular, but L* would be (a|b)*.

In terms of decidability, a language LL is circular if there is an LL such that LL is the closure under + of LL or if it is a finite union of circular languages.

(I'm dying to redefine "circular" replacing your >> with . It simplifies things a lot. We can then characterise the circular languages as those for which there exists a NDFA whose starting state has only epsilon-transitions to accepting states and has an epsilon-transition to each accepting state).


You are right. I've removed my incorrect post.
Dave Clarke

Regarding adaption with : I am thinking that a minimal DFA should always have exactly one accepting state, namely the start state. Maybe more accepting states can happen, but then they need an εε-transition to the start state.
Raphael

1
@Raphael, consider again L = a*|b*. A DFA whose start state is the only accepting state and which accepts a and b must accept (a|b)*.
Peter Taylor

On the question of decidability, again: suppose you have a DFA with nn states of which nana are accepting. Suppose it accepts a word ww, and also accepts w2w2, w3w3, ..., wna+1wna+1. Then it accepts wxwx for x>0x>0. (Proof is a straightforward application of the pigeonhole principle). If it's possible to show that the minimal (minimising |w||w|) counterexample (ww, xx) to the circularity of the language accepted by the DFA has length bounded by a function of nn then brute force testing is possible. I suspect that |w|<=n+1|w|<=n+1, but I haven't proved it.
Peter Taylor

Продовжити ідею @ Рафаеля вище. Ідея start state = only accept state неправильна для цієї проблеми, але вона захоплює якусь цікаву властивість. Коли M є minDFA, стартовий стан є єдиним прийнятим станом, якщо і тільки тоді, коли L (M) є зіркою Клінова мови, що не містить префікса. Це один з моїх улюблених дрібниць DFA, і тому я швидко поділюсь цим! ;)
mikero

5

Редагувати: Нижче відображається повний (спрощений) доказ повноти PSPACE.

Два оновлення. По-перше, нормальна форма, описана в моїй іншій відповіді, з'являється вже в роботі Калбрікса і Нівату під назвою Префікс і періодичні мови раціональних ω -язиківω , на жаль, недоступні в Інтернеті.

Second, deciding whether a language is circular given its DFA is PSPACE-complete.

Circularity in PSPACE. Since NPSPACE=PSPACE by Savitch's theorem, it is enough to give an NPSPACE algorithm for non-circularity. Let A=(Q,Σ,δ,q0,F)A=(Q,Σ,δ,q0,F) be a DFA with |Q|=n|Q|=n states. The fact that the syntactic monoid of L(A)L(A) has size at most nnnn implies that if L(A)L(A) is not circular then there is a word ww of length at most nnnn such that wL(A)wL(A) but wkL(A)wkL(A) for some knkn. The algorithm guesses w and computes δw(q)=δ(q,w) for all qQ, using O(nlogn) space (used to count up to nn). It then verifies that δw(q0)F but δ(k)wF for some kn.

Circularity is PSPACE-hard. Kozen showed in his classic 1977 paper Lower bounds for natural proof systems that it is PSPACE-hard to decide, given a list of DFAs, whether the intersection of the languages accepted by them is empty. We reduce this problem to circularity. Given binary DFAs A1,,An, we find a prime p[n,2n] and construct a ternary DFA A accepting the language L(A)=¯{2w12w22wp:wiL(A1+(imodn))}.

(With some more effort, we can make A binary as well.) It is not difficult to see (using the fact that p is prime) that L(A) is circular if and only if the intersection L(A1)L(An) is empty.

0

Every sL of length p>0 can be written as xyiz where x=z=ϵ , y=wϵ . It's obvious that |xy|p and |y|=|w|>0. It follows that the language is regular for non-empty inputs, by the pumping lemma.

For w=ϵ , the definition holds, since a NDFA that accepts the empty string will also accept any number of empty strings.

The union of the above languages is the language L and since regular languages are closed under union, it follows that every circular language is regular.

By Rice's theorem, CIRCULARITY/TM is undecidable. The proof is similar to regularity.


1
The pumping lemma is a necessary, but not sufficient, condition for regularity. In particular, there are nonregular languages satisfying the pumping condition. Also, Rice's theorem would say that {M|L(M) is circular} is undecidable. This does not mean that {D|L(D) is circular} is undecidable (where D is a DFA, M a TM)! For instance, emptiness testing for DFAs is decidable, while emptiness testing for TMs is not.
alpoge

1
Here's a non-computable circular language. Let D={0x1:xR}, where R is some non-computable language (e.g. codes of halting TMs). Then D is circular but clearly non-computable (an oracle for D can be used to decide R).
Yuval Filmus

2
@Peter, have you read this answer? It was trying to prove that any circular language (without the condition of regularity) is regular.
Yuval Filmus

1
@Yuval, my mistake. @chazisop, the pumping lemma is useful for proving non-regularity of languages, but not regularity. (Besides, the assertion of your first sentence reduces to "Every sL of length p>0 can be written as yi where yϵ", which is clearly false).
Peter Taylor

1
Yes, I use CIRCULARITY/TM to refer to this. CIRCULARITY/DFA is probably decidable.
chazisop
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.