簡體   English   中英

為什么L = {wxw ^ R | w,x屬於{a,b} ^ +}是常規語言

[英]Why L={wxw^R| w, x belongs to {a,b}^+ } is a regular language

使用L1 = {WcW^R|W ∈ {a,b}*}引理,我們可以很容易地證明語言L1 = {WcW^R|W ∈ {a,b}*} 不是常規語言 (字母是{a,b,c}; W ^ R代表反向字符串W)

但是,如果我們用"x"(x ∈ {a,b}+)替換字符c ,比如說, L2 = {WxW^R| x, W ∈ {a,b}^+} L2 = {WxW^R| x, W ∈ {a,b}^+} ,則L2 是常規語言

你能給我一些想法嗎?

如果我們用x替換字符c,其中(x∈{a,b} + ),比如說,L2 = {WXW R | x,W∈{a,b} + },則L2是常規語言。

是的, L2是常規語言:)。

您也可以為L2編寫正則表達式。

語言L2 = {WXW R | x,W∈{a,b} + }表示:

  • string應該開始由ab組成的字符串, a字符串是W ,以反向字符串W R結尾。
  • 注意:因為W和W R是相反的,所以字符串以相同的符號開頭和結尾(可以是ab
  • 並且包含中間的任何 ab 字符串 ,即X (因為+X長度變得大於1 |X| >= 1

這種字符串的示例如下:

aabababa,如下:

   a    ababab    a  
  --   --------   --
   w     X        W^R  

或者它也可以是:

babababb,如下:

   b    ababab    b
  --   --------   --
   w     X        W^R

請參閱W長度不是語言定義中的約束。

所以任何字符串WXW R都可以假定等於a(a + b) + ab(a + b) + b

    a    (a + b)+   a
   ---   --------  ---
    W      X       W^R  

要么

    b    (a + b)+   b
   ---   --------  ---
    W      X       W^R    

此語言的正則表達式為: a(a + b) + a + b(a + b) + b

不要將WXW RWCW R混合,其X+使語言成為常規。 通過包含X (a + b)*來思考我們可以對W進行有限選擇 ,即ab (有限是常規的)。

語言WXW R可被說:如果與啟動a與端部a ,並且如果開始與b與端b 所以相應地我們需要兩個最終狀態。

  • Q6如果Wa
  • Q5如果Wb

IT DFA如下所示。

DFA

語言中包含| W |的任何字符串 > 1可以解釋為| W |語言中的字符串 因此,如果字符串以相同的符號開頭和結尾,則該字符串使用該語言。 有兩個符號:a和b。 因此該語言等同於語言a(a+b)(a+b)*a + b(a+b)(a+b)*b 為了證明這一點,你應該形式化“如果y在WxW中,那么y在a(a + b)(a + b)* a + b(a + b)(a + b)* b中的論證;以及如果y在a(a + b)(a + b)* a + b(a + b)(a + b)* b中,則y在WxW“中。

它在其他情況下不起作用,因為c是固定符號,並且不能包括除結尾之外的所有字符。 只要在示例中綁定“x”的長度,語言就會變得不規則。

問題是W∈{a,b} ^ +,所以a ^ n(a + b)a ^ n應該在語言L2中。 現在沒有這樣的DFA會接受字符串a ^ n(a + b)a ^ n,因為在接受n個和(a + b)^ +后,dfa無法准確記住很多它在開頭就被接受了,所以L2不應該是常規的.........但是我搜索這個答案的每一個地方都說它是常規的.....這會讓我煩惱

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM