過去問ハブ🔥 0日
オートマトン・形式言語・計算理論有限オートマトン(DFA/NFA)と正規表現難易度 標準11 / 50

非終端記号 S, A、終端記号 a, b、開始記号 S からなる正規文法で、生成規則が S → aS、S → bA、A → a のとき、この文法が生成する言語を表す正規表現はどれか。

選択肢をタップすると、その場で答え合わせできます

正解と解説を見る

正解 Ca*ba

解説

正解は「a*ba」です。S → aS を0回以上適用すると、先頭に a が任意個並びます。その後 S → bA で b を出力して A に移り、A → a で a を1つ出力して終わります。したがって生成される文字列は ba、aba、aaba、… で、正規表現 a*ba で表せます。非終端記号を状態、規則 S → aS を「S から a で S へ遷移」とみなせば、同じ言語を受理する NFA に翻訳できます。「(ab)*a」は ab の繰返しの後に a が続く形で、ba を表せません。「a*b*a」は b を複数含む abba なども表しますが、この文法では b はちょうど1個です。「ba*」は末尾の a が任意個で、先頭の a を表せません。

  • #正規文法
  • #正規表現

この調子でオートマトン・形式言語・計算理論を続けて解く

▶ この科目の連続演習へ進む(10問)

この問題の分野を深く学ぶなら

PR情報工学・理系基礎の教科書を探す

詳細を見る

オートマトン・形式言語・計算理論の問題一覧へ戻る

「有限オートマトン(DFA/NFA)と正規表現」の関連問題