У меня есть следующий язык
Я пытаюсь определить, к какому классу языка Хомского он подходит. Я могу видеть, как это можно сделать, используя контекстно-зависимую грамматику, поэтому я знаю, что это, по крайней мере, контекстно-зависимо. Кажется, что это не было бы возможно сделать с контекстно-свободной грамматикой, но у меня есть проблема, доказывающая это.
Кажется, что лемма прокачки проходит потому, что если помещен в третью часть любого слова (раздел со всеми с). Он может качать и столько раз, сколько вы хотите, и он останется на языке. Если я ошибаюсь, не могли бы вы сказать мне, почему, если я прав, я все еще думаю, что этот язык не является контекстно-свободным, так как я могу доказать это?2 V X
Ответы:
Вы можете заставить накачку быть в некоторых местах, используя лемму Огдена , например, отмечая все 0.
Предположим, что он не содержит контекста, тогда лемма Огдена дает вам , вы даете ему который есть в языке, и вы «помечаете» все 0. Тогда любая факторизация должна быть такой , что существует в или . Вы также можете принять и поскольку и должны быть подстроками вашего языка.w = 0 p 1 p 2 p w = u x y z v 0 x z x = a k z = b m x x z zр > 0 w=0p1p2p w=uxyzv 0 x Z х = аК Z= бм х х ZZ
Если то имеет больше 0, чем 1w = u x 2 y z 2 vz=0...0 w=ux2yz2v
Если и то имеет больше 1, чем 2.z = 1..1 w = u x 2 y z 2 vx=0..0 z=1..1 w=ux2yz2v
Если и то имеет больше 0, чем 1.z = 2..2 w = u x 2 y z 2 vx=0..0 z=2..2 w=ux2yz2v
Так что - это не слово вашего языка. Следовательно, он не является контекстно-свободным.ux2yz2v
Для других методов, см. Обсуждение: Как доказать, что язык не является контекстно-свободным?
источник
Насосная лемма следует решить вашу проблему в отношении третьей части слова; обратите внимание , что , когда вы разделяете , любая комбинация также на языке, в том числе при . Попробуй это.у V п ш х п у п = 0z=uvwxy uvnwxny n=0
РЕДАКТИРОВАТЬ: Как утверждает jmad , Лемма прокачки похожа на игру:
Итак, вам нужно указать слово, разбить 3 на случаи и показать, что для каждого случая вы можете найти так, чтобы полученное слово отсутствовало в языке.n
Когда вы разделяете , подумайте обо всех случаях, в которые может попасть . Вы заметите, что если не попадает в 2, то легко прокачивать 0 и 1, пока они не превосходят 2, и тогда у вас есть слово, которого нет в языке. Мое предложение состоит в том, что, если попадает на 2 территории, вы также можете заставить и исчезнуть, установив , поэтому . Затем, исключив 2, вы можете получить слово, которое не входит в язык.v x y v x y v x y v y n = 0 u v n x y n z = u x zs=uvxyz vxy vxy vxy v y n=0 uvnxynz=uxz
источник