Показване на езика е без контекст

От мен се иска да покажа, че наборът от песни от формата ABA^R е без контекст (където A^R е обърнато A). Не знам как да покажа, че езикът е без контекст.

Не сме изучавали конкретно как да покажем, че един език е без контекст, така че да не може да бъде твърде сложен. Единственото нещо, за което се сещам, е да направя граматика без контекст за езика, но наистина не знам дали това е достатъчно, за да покаже, че е без контекст или как бих направил граматика за набор от песни.


person jtht    schedule 26.09.2014    source източник
comment
Тук има отговор: stackoverflow.com/questions/3510109/ Също така имайте предвид, че създаването на граматика без контекст е добре за показване на език без контекст.   -  person Spencer Wieczorek    schedule 26.09.2014
comment
Не можете да използвате лема за изпомпване, за да покажете, че даден език е свободен от контекст. Може да се използва само за да покаже, че не е. Има езици без контекст, които отговарят на лемата за изпомпване.   -  person Nuri Tasdemir    schedule 26.09.2014
comment
A и B набор от низове ли са или какво?   -  person Nuri Tasdemir    schedule 26.09.2014
comment
@NuriTasdemir Да, предполагам. Това е цялата информация, която имам. Предполагам, че ще се опитам да направя граматика за него.   -  person jtht    schedule 26.09.2014
comment
Използвайте push down automata. Но какво имаш предвид под A^R е A обратно. Може ли да бъдеш по-точен   -  person nu11p01n73R    schedule 26.09.2014
comment
Важно е да знаете какво представляват А и Б в тази формула. Ако всеки е просто произволен низ над дадена азбука (т.е. една и съща азбука и за двете), тогава не е необходимо да конструирате CFG за езика, можете просто да го разсъждавате. (Съвет: всеки низ може да бъде празен низ.)   -  person Michael Dyck    schedule 26.09.2014


Отговори (1)


Ако приемем, че A и B са набор от низове и са свободни от контекст, тогава има граматики без контекст за език A и B, да речем G_A и G_B. Можете да получите безконтекстната граматика за език A^R от G_A доста лесно. Просто обърнете дясната страна на граматичните правила и готово, имате граматиката за A^R.

Ако началната променлива на G_A е S_A, G_B е S_B и G_A^R е S_A', тогава крайната граматика ще бъде комбинацията от тези граматики (всяка променлива от трите граматики трябва да бъде именувана уникално) с новата начална променлива и новата правило, посочващо

S -> S_A S_B S_A'
person Nuri Tasdemir    schedule 26.09.2014
comment
При извличането на изречение (песен) от вашето S, S_A' не е ограничено да извлече фраза, която е обратната на това, което S_A извлича, което според мен е това, което изисква първоначалният въпрос. - person Michael Dyck; 26.09.2014
comment
@MichaelDyck S_A извлича низ от A, а S_A' извлича низ от A^R. Тези два низа може да не са обратни един на друг и това е умишлено. Това пита ОП. Ако те трябва да са обратни един на друг (приемам, че мислите по този начин), тогава въпросът трябва да бъде зададен като L = {xyx^R| x \in A И y \in B} - person Nuri Tasdemir; 26.09.2014