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


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

課題(1)


提出のテスト

  1. 練習用のオートマトンを作るからオートマトンのテストをするにかけてオートマトンを作成する. 「File」メニューの「Save」で「0.txt」(この0はMy First Automatonの場合,Exercise 1-12は1-12の番号を使うこと.Rollback Automatonに対応する番号はない)というファイル名を付けてデスクトップに保存にする.最初に「Save」を選んだ時は,「デスクトップ」は出てこないので,自分のユーザ名(共通ID)の10桁の数字のフォルダを選んで,その下の「デスクトップ」を探して選択する.2回めからは,「デスクトップ」が選ばれるはずである.
  2. ターミナルを開いて,
    /home/5320954122/bin/report615 0
    
    と入力する(/home/5320954122 は「情報木曜4限」担当の田中のホームディレクトリ).すでに,
    java -jar AutoSim.jar
    
    を実行しているウィンドウがある場合は,メニューバーから「シェル」->「新規ウィンドウ」->「Basic」を選んで,別のウィンドウを開いて,そこでコマンドを入力する. 「/home/5320954122/bin/report615」は提出コマンド名で,「0」は問題番号を表すパラメータである.別の問題番号の問題を解答する場合は,この「0」該当する問題番号,に取り替える必要がある. 作成したオートマトンが正しく動作する場合は,
    課題 0 を提出しました.
    0123456789 の6/15 の課題の提出状況
    課題 0 は6 月 15 日 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/15 の課題の提出状況
    課題 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/report615 t0
    
    のように,問題番号t0-t3 を指定して実行する.チューリングマシンの場合は,停止時の状態(終了状態, 非終了状態)が間違っている場合以外に,10000ステップ以内に停止しない場合も間違いと見なして,
    This Turing machine does not stop in 10000 steps for input (abba)
    
    のようなメッセージを出す.


  4. 注意


    オートマトン作成問題のExercise 1からExercise 12までのオートマトンを作成して,上の課題提出プログラムを使って提出する.

    なるべくたくさんのオートマトンを作って提出すること.提出プログラムは 保存したオートマトンのファイルもコピーするので,同一のファイルが提出 された場合には後からチェックできる. 


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

    身のまわりの物や、よく知っているものを何か選び、その動きをオートマトンまたはチューリングマシンとして表現してみよ。レポートには を書くこと。

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

    なお,チューリングマシンを作成する場合は,以下のような抽象的な問題を扱っても良い(最後の1つは今回使うシミュレータで扱えるサイズになるかどうか微妙). 表現する際には、どのような動作・操作をどの文字に割り当てるか、何を終了状態だとするかは自由である。例えば「踏切が閉じている」ことを終了状態に対応させてもよいし、「踏切が閉じる」ことを「a」という文字に対応させ、「a」という文字でしか遷移できない状態を作ってもよいだろう。元々,オートマトンは一般のコンピュータと比べて計算能力は劣っているので,あまりに複雑な対象を相手にしようとすると,そもそもモデル化が不可能な場合もある.また,チューリングマシンとして表現可能なものであっても,シミュレータで扱える文字数や,描画可能な状態数の制限により,シミュレータでは実現が難しい場合もある.その場合は,簡単化した問題を扱うのようにする.


    提出方法

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

    補足

    オートマトンシミュレータからの図の取り込み
    プレビュー(Finderを開いてアプリケーション->プレビュー.app)を起動し,「ファイル」->「スクリーンショットを取る」->「選択部分」として範囲を指定して取り込みを実行し,PNG形式でファイルに保存する.
    PNG形式のファイルのWORD文書での利用
    「挿入」->「写真」->「ファイルから」として,作成したファイルを指定する.
    PNG形式のファイルのLaTeX文書での利用
    • 画像ファイルの準備
      このシステムのLaTeXシステムで取り込むことのできることのできるのは,1 ページからなるPostScript ファイル(正確にいうとEPSF形式)のみである. PNG形式のファイルは,
       convert sim.png sim.eps
      
      のように実行して,PostScriptファイルを作成しておく必要がある.
    • TeXファイルの編集
      画像ファイルを取り込む方法はこのシステムでも何種類かあるが,ここでは graphicsパッケージを使う方法を紹介する.
      1. 文書の最初の \documentclassコマンド以降に\begin{document}以前に
        \usepackage{graphics}
        
        を入れる.
      2. 画像を入れたいところに,
        \includegraphics{sim.eps}
        
        のように \includegraphicsコマンドを入れる.幅を8cm高さを4cmに指定する時は,
        \resizebox{8cm}{4cm}{\includegraphics{sim.eps}}
        
        のように resizeboxコマンドを利用する.縦横比を保って幅だけを8cmに指定 する時は,
        \resizebox{8cm}{!}{\includegraphics{sim.eps}}
        
        縦横比を保って高さだけを4cmに指定する時は,
        \resizebox{!}{4cm}{\includegraphics{sim.eps}}
        
        にする.画像をセンタリングする時は,
        \begin{center}
        \resizebox{8cm}{4cm}{\includegraphics{sim.eps}}
        \end{center}
        
        のように,center環境の中に入れる.

    提出期限

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