工学実験1 最初の準備

授業のページ


今回の演習は、Chukyo BSD上で、プログラムを実行し、結果を収集します (同じ設定なら、全員が同じ結果になります)。仲間で協力しよう。

  1. Virtual Boxから、Chukyo BSDを起動します。
  2. 演習で使うCプログラムをMaNaBoからダウンロードして準備します。

1. Virtual Box から、Chukyo BSDを使ってみよう

  1. Windowsで、Virtual Box を起動
  2. メニュー左のChukyo BSDを選択。 →起動を選択。
    • 仮想的に、電源を入れた状態です。UNIXが起動します。
    • スケールモードを選択しよう (一つのウィンドウが大きく、Virtual Boxになります)
  3. 無事、起動したら、ログインしよう  
    • login guest
    • password 表示されません
    • 忘れたら、鈴木先生の資料
  4. UNIXのウィンドウシステム、Fluxbox を使ってみよう  (日本語の入力切り替えは、Shiftとスペースキー)
    • 右メニューで、ソフト一覧(英語)。選択すると、ソフトウェアが起動
      • Firefox ウェブページブラウザ
      • urxvt ターミナルソフト (コマンドを入力できるウィンドウ)
      • tkgate (回路シミュレータ) (「コンピュータのアーキテクチャと構成」で利用予定でした)
  5. Firefoxで、MaNaBoにアクセスしてみよう 。授業のページ、9回目へ。

2. 演習で使うCプログラムをMaNaBoからダウンロードして準備します
(指導書4.3)

  1. urxvtを使用する。基本のUNIXコマンドを入力してみよう。マウスによるコピーはせずに、キーボード入力だ! 
    • urxvt が起動した最初のディレクトリを、ホームディレクトリ、といいます。
    • ls
    • pwd
    • 授業用のディレクトリ (Windowsではフォルダ)を作成します。 problem-solvingという名前にします。(問題解決にあたる専門用語です)
      • mkdir problem-solving
    • cd problem-solving (移動します)
    • pwd で、移動を確認しよう
  2. MaNaBoから、この演習で使う2つのファイルをダウンロードしよう。 mt-search.c と node.c です。2つをproblem-solvingの下にダウンロードします。
    • save link as
    • ダウンロード先に、guest を選択し、problem-solvingディレクトリを指定しよう
    • 本当にファイルがあるか、urxvtウィンドウで、確認しよう
      • ls -l (もう少し詳しい情報表示)
      • cat ファイル名
      • less ファイル名 (大きいファイルのとき。次のページは、スペース。1ページ戻るにはb。終了はq)
    • 今は使いませんが、ファイル操作用コマンド
      • rm ファイル名
      • mv 元のファイル 移動先
      • cp 元のファイル コピー先
  3. ダウンロードしたCのソースファイルを、コンパイルしよう。
    • gcc -o mt-search mt-search.c
      • うまくいけば、mt-search というファイルができます。ls -l で確かめてみよう。
  4. mt-searchを実行しよう。最初の ./ をお忘れなく。
    • ./mt-search 2 3 4 0
    • このプログラムの指定: モデル木の木の分岐数2  木の深さ3段(最初は0に注意)  目標ノード番号4  探索アルゴリズム識別0 (0は深さ優先探索)
    • 実行例 (小笠原先生の例) (ループのたびに、探索アルゴリズム中の リスト L の内容を 出力。最後の行は、目標状態に到達した場合のパス(探索履歴)を出力しています)
      • -> [0] -> NULL
        -> [2] -> [1] -> NULL
        -> [6] -> [5] -> [1] -> NULL
        -> [14] -> [13] -> [5] -> [1] -> NULL
        -> [13] -> [5] -> [1] -> NULL
        -> [5] -> [1] -> NULL
        -> [12] -> [11] -> [1] -> NULL
        -> [11] -> [1] -> NULL
        -> [1] -> NULL
        -> [4] -> [3] -> NULL
        Path 2 : -> [4] -> [1] -> [0] .
  5. もう1つのプログラムをコンパイルしよう。
    • gcc -o node -lm node.c
      • -l は、リンクせよ、という意味。mは、mathematicsつまり、数学関係のライブラリのリンクを指定しています。
      • ls -l で、コンパイル成功を確認しよう。
    • ./node 3 4 3
    • このプログラムの指定 : b, m, d
    • モデル木の例は、指導書のp.33。mt-searchを実行する前に、b, m, dを指定した場合のモデル木のノード番号を知る必要があります。
    • 実行例 (分岐数 3, 木の深さ 4段、3段目までのモデル木、左端と右端のノード番号の出力)
      • ./node 3 4 3
        branching factor= 3, max depth= 4 depth= 3
        d:0     0 -     0
        d:1     1 -     3
        d:2     4 -    12
        d:3    13 -    39
        
WindowsとUNIXのファイルの改行コードについて

そのほか、いろいろと必要になりそうな作業

終わり方