6/12 演習(オートマトンとチューリングマシン) 


今日の課題は2つある.6/12 18:05までは課題(1)に,それ以降は課題(2)に取り組んで欲しい.

課題(1)


補足


提出のテスト

注意: 課題(1)の提出にはITC-LMSは使わない.以下の説明に従って,iMac端末からコマンドを実行して提出する.
  1. 練習用のオートマトンを作るからオートマトンのテストをするにかけてオートマトンを作成する. 「File」メニューの「Save」で「0.txt」(この0はMy First Automatonの場合,Exercise 1-12は1-12の番号を使うこと.Rollback Automatonに対応する番号はない)というファイル名を付けてデスクトップに保存にする.最初に「Save」を選んだ時は,「デスクトップ」は出てこないので,自分のユーザ名(共通ID)の10桁の数字のフォルダを選んで,その下の「デスクトップ」を探して選択する.2回めからは,「デスクトップ」が選ばれるはずである.
  2. ターミナルを開いて,
    /home/5320954122/bin/report612  0
    
    と入力する(/home/5320954122 は「情報火曜5限」担当の田中のホームディレクトリ).すでに,
    java -jar AutoSim.jar
    
    を実行しているウィンドウがある場合は,メニューバーから「シェル」->「新規ウィンドウ」->「Basic」を選んで,別のウィンドウを開いて,そこでコマンドを入力する. 「/home/5320954122/bin/report612」は提出コマンド名で,「0」は問題番号を表すパラメータである.別の問題番号の問題を解答する場合は,この「0」該当する問題番号,に取り替える必要がある.

    なお,rollback automaton は提出する必要がない(対応する問題番号がない).

    作成したオートマトンが正しく動作する場合は,

    課題 0 を提出しました.
    0123456789 の6/12 の課題の提出状況
    課題 0 は6 月 12 日 8 時 28 分にユーザ0123456789によって提出済み
    課題 1 は提出されていません
    課題 2 は提出されていません
    課題 3 は提出されていません
    課題 4 は提出されていません
    課題 5 は提出されていません
    課題 6 は提出されていません
    課題 7 は提出されていません
    課題 8 は提出されていません
    課題 9 は提出されていません
    課題 10 は提出されていません
    課題 11 は提出されていません
    課題 12 は提出されていません
    課題 t0 は提出されていません
    課題 t1 は提出されていません
    課題 t2 は提出されていません
    課題 t3 は提出されていません
    
    のようなメッセージが出て終了する.たとえば,

    のように,間違っていたオートマトンのファイルを指定した時(My First Automatonのテストをパスする前に0.txt を保存した場合,rollback オートマトンの定義を0.txtに保存した場合)には,
    The result of input (abac) must be Yes, but returns No
    0123456789 の6/12 の課題の提出状況
    課題 0 は提出されていません
    課題 1 は提出されていません
    課題 2 は提出されていません
    課題 3 は提出されていません
    課題 4 は提出されていません
    課題 5 は提出されていません
    課題 6 は提出されていません
    課題 7 は提出されていません
    課題 8 は提出されていません
    課題 9 は提出されていません
    課題 10 は提出されていません
    課題 11 は提出されていません
    課題 12 は提出されていません
    課題 t0 は提出されていません
    課題 t1 は提出されていません
    課題 t2 は提出されていません
    課題 t3 は提出されていません
    
    のようなメッセージが出る.このメッセージの例では,「abac」という入力に対して,本来は 「Yes」(終了状態)となるのに「No」(非終了状態)となってしまったということを表している.
  3. チューリングマシンのファイル(t0.txt - t3.txt)の提出も
    /home/5320954122/bin/report612  t0
    
    のように,問題番号t0-t3 を指定して実行する.チューリングマシンの場合は,停止時の状態(終了状態, 非終了状態)が間違っている場合以外に,10000ステップ以内に停止しない場合も間違いと見なして,
    This Turing machine does not stop in 10000 steps for input (abba)
    
    のようなメッセージを出す.


  4. 注意


    オートマトン作成問題のExercise 1からExercise 12までのオートマトンを2個以上,チューリングマシン作成練習のチューリングマシンを1個以上作成して,上の課題提出プログラムを使って提出する. (注 : 6/19追加 )練習用オートマトン,練習用のチューリングマシンも含めて2個以上,1個以上提出されていれば要件を満たしていることにします

    なるべくたくさんのオートマトン,チューリングマシンを作って提出すると練習になる(課題の評価点に関しては多くても変わらない).提出プログラムは保存したオートマトンのファイルもコピーするので,同一のファイルが提出された場合には後からチェックできる. 

    • 提出プログラムで提出する前に「デスクトップ」に,「{課題番号}.txt」(オートマトンの場合は{課題番号}は0-12, チューリングマシンの場合は課題番号はt0-t3)というファイル名で保存しておく必要がある.

    課題(2) 身のまわりの機械のモデル化

    身のまわりの物や、よく知っているものを何か選び、その動きをオートマトンまたはチューリングマシンとして表現してみよ。レポートには
    • (a)選んだものの振る舞いの日本語による説明
    • (b)それをどのように入力や状態に対応させたかの説明
    • (c)作られたオートマトンまたはチューリングマシンが正しいことをテストするための表 (練習用のオートマトンを作るの「オートマトン動作のチェック表」にあたるものです)
    • (d)作成したオートマトンまたはチューリングマシンの定義(図を描け)
    • (e)工夫した点や苦労した点
    を書くこと。

    身のまわりのものとしては例えば以下のようなものが考えられるが、これらに限らず面白いものを探してみよ。

    • 自動改札機 (正しい切符の投入、不正な切符の投入、人の進入、人の通過、ゲートの開閉などがどのような順序で起きるか)
    • 携帯電話の操作 (数字キーや機能キーと、画面の変化)
    • 携帯電話の文字入力 (数字キーと文字の確定)
    • オンラインショッピングサイト (ログイン・カートに入れる・取消・ログアウトなどの操作と画面の変化)
    • 踏切 (線路の特定の区間への電車の進入、踏切の昇降)
    なお,チューリングマシンを作成する場合は,以下のような抽象的な問題を扱っても良い(最後の1つは今回使うシミュレータで扱えるサイズになるかどうか微妙).
    • 2進数の加算をおこなうチューリングマシンの作成.この場合は,停止時の状態は問わなくて,停止時にテープに書かれている文字が結果の2進数に対応していることを求める.
    • 2進数の乗算をおこなうチューリングマシンの作成.この場合は,停止時の状態は問わなくて,停止時にテープに書かれている文字が結果の2進数に対応していることを求める.
    • ある2進数が素数かどうかを判定するチューリングマシンの作成.
    表現する際には、どのような動作・操作をどの文字に割り当てるか、何を終了状態だとするかは自由である。例えば「踏切が閉じている」ことを終了状態に対応させてもよいし、「踏切が閉じる」ことを「a」という文字に対応させ、「a」という文字でしか遷移できない状態を作ってもよいだろう。元々,オートマトンは一般のコンピュータと比べて計算能力は劣っているので,あまりに複雑な対象を相手にしようとすると,そもそもモデル化が不可能な場合もある.また,チューリングマシンとして表現可能なものであっても,シミュレータで扱える文字数や,描画可能な状態数の制限により,シミュレータでは実現が難しい場合もある.その場合は,簡単化した問題を扱うのようにする.


    提出方法

    MS-Word, LaTeX等の文書整形システムで作成した文書を「学生証番号.pdf」という名前のPDFファイル(例 J4-130395.pdf)にして,ITC-LMSのページ(ITC-LMS「0030545 情報」の課題「オートマトンとチューリングマシン」)から提出すること.LaTeXで作成した場合は高く評価する.
    • 学生証番号,名前を必ず書くこと

    補足

    オートマトンシミュレータからの図の取り込み
    プレビュー(Finderを開いてアプリケーション->プレビュー.app)を起動し,「ファイル」->「スクリーンショットを取る」->「選択部分」として範囲を指定して取り込みを実行し,PNG形式でファイルに保存する.
    PNG形式のファイルのWORD文書での利用
    「挿入」->「写真」->「ファイルから」として,作成したファイルを指定する.
    PNG形式のファイルのLaTeX文書での利用
    HWB: 27.11グラフィックスに説明がある.

    提出期限

    7月10日(火) 23:59.期限を過ぎたものは試験実施まで6割を上限に採点する.