単元一覧 › 大学数学 オートマトン・形式言語

オートマトン・形式言語の問題

難易度 1教科書の例題レベル大学数学 オートマトン・形式言語

アルファベット 上の正規表現

を考える。次の文字列のうち、 が表す言語 に属するものをすべて選べ。

ア:

イ:

ウ:

エ:

オ:

この問題で使うもの

ヒント

行き詰まったら、上から順に 1 つずつ開いてください。

ヒント 1

正規表現が表す言語を読み取る技能を使います。 と がそれぞれどんな文字列を表すかを考え、連接でつなぐとどうなるかを調べましょう。

ヒント 2

は「 を 0 回以上」なので、 と書けます。これは を何個含む文字列でしょうか。

ヒント 3

は「 をちょうど 1 個含む文字列」全体です。各選択肢に含まれる の個数を数えてみましょう。

答えと解説

答えを見る

ア, イ, エ

結果を記録する(このブラウザにだけ保存されます):
解説を読む

手順 1: 正規表現の各部分が表す言語を読み取る。

は を 0 回以上並べた文字列全体 を表す( は空文字列)。 は 1 文字の だけを表す。

手順 2: 連接の意味を使って を言い換える。

は「 を 0 個以上」「 を 1 個」「 を 0 個以上」をこの順につないだものなので、

である。つまり は「 をちょうど 1 個だけ含む文字列」全体である。

手順 3: 各文字列を判定する。

  • ア : とすれば 。属する。
  • イ : とすれば 。属する。
  • ウ : を 2 個含むので、 がちょうど 1 個の形にできない。属さない。
  • エ : とすれば 。属する。
  • オ : を 1 個も含まないので、真ん中の に対応する文字がない。属さない。

よって、 に属するのは ア, イ, エ である。

別解

r = a*ba* は b をちょうど 1 個含み、その前後に a が 0 個以上並ぶ文字列を表す。ア b: a が 0 個ずつで属する。イ aab: 属する。ウ abab: b が 2 個なので属さない。エ baa: 属する。オ aa: b を含まないので属さない。よってア, イ, エ。

この問題の確認

AI が作成した問題です。公開前に次の確認を行いました。確認の方法について

間違いを報告する

この問題の誤り・分かりにくい点・難易度や学年のずれを知らせる
どこについての報告ですか

報告の内容と問題の番号を保存します。名前やメールアドレスは保存しません。

関連する問題