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

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

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

入力アルファベット 、テープ記号の集合 ( は空白記号)をもつ 1 テープ決定性チューリング機械 を考える。状態の集合は で、初期状態は 、 は停止状態である( に入った時点で は停止する)。遷移関数 は次の表で与えられる。表の各欄の は「次の状態を にし、ヘッドの位置の記号を に書き換え、ヘッドを の向き( は左、 は右)に 1 マス動かす」ことを表す。

状態 \\ 読んだ記号

テープは両側に無限に続き、はじめは入力文字列が連続するマスに書かれ、それ以外のマスはすべて である。ヘッドは最初、入力文字列の最も左の記号の上にある。遷移関数を 1 回適用することを 1 ステップと数える。

入力文字列 を与えたとき、 が停止するまでのステップ数を求めよ。

この問題で使うもの

この問題を解けるようになるまで(2 技能)
算数中学高校大学大学院

読み込み中…

右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。

一覧で見る(前提が先)
  1. 決定性有限オートマトンの動作と受理判定
  2. チューリング機械の動作の追跡

ヒント

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

ヒント 1

状態 と状態 がそれぞれ何をしているかを、表から読み取ってみよう。

ヒント 2

は入力の右端の次の空白まで右へ進むだけで、 は右端から左へ を に書き換えていき、最初に か を読んだところで停止する。

ヒント 3

の間に、入力の 文字と空白 つを読むので ステップかかる。残りは、右端から続く の個数と最後の ステップを数えればよい。

答えと解説

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

の動作を状態ごとに追う。入力 の長さは で、左から順にマス に書かれているとする。

状態 の動作

では も も書き換えずに右へ進み、 を読んだら に移って左へ 1 マス戻る。ヘッドはマス から始まり、マス 〜 の記号を読むのに ステップ、マス の を読むのに ステップかかる。ここまでで ステップで、ヘッドはマス にあり、状態は である。

状態 の動作

では を に書き換えながら左へ進み、(または )を読んだらそれを に書き換えて停止する。これは 2 進数に を加える繰り上がりの処理である。

  • 第 ステップ: マス の を読み、 に書き換えて左へ。
  • 第 ステップ: マス の を読み、 に書き換えて左へ。
  • 第 ステップ: マス の を読み、 に書き換えて左へ動き、 に入って停止。

よって、停止するまでのステップ数は

である。なお、停止時のテープの内容は で、これは を 2 進数として読んだ値 に を加えた を表している。

答え:

別解

テープの位置を左から 1, 2, ... と番号づけ、 は位置 1〜7 に と書かれている。ヘッドは位置 1、状態は 。

  • ステップ 1〜7: は を読むと書き換えずに右へ進む。位置 1〜7 を順に読み、7 ステップでヘッドは位置 8()に来る。
  • ステップ 8: で を読む。 により状態 、位置 7 へ。
  • ステップ 9: で位置 7 の を読む。 により に書き換え、位置 6 へ。
  • ステップ 10: で位置 6 の を読む。 により に書き換え、位置 5 へ。
  • ステップ 11: で位置 5 の を読む。 により に書き換え、停止状態 に入り停止。

最終テープは で、入力 に 1 を加えた 2 進数(、ヘッドは位置 4 の左側から見て下位ビットが右)と一致し、動作(2 進数のインクリメント)と整合する。合計のステップ数は 。

この問題の確認

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

間違いを報告する

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

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

関連する問題