数値解析Ⅱ Elevator Program

数値解析Ⅱ
ELEVATOR
SIMULATOR 3.0
Leader
金 善凡
Algorithmer
山本 利沙、山口 和恵
Programmer 堀田 裕樹
Presenter
濱田 貴行
Power Pointer 西松 早紀
ELEVATOR SIMULATOR とは?

私たちの生活に密接な乗り物である
エレベーター。
このプログラムは、そのエレベーター
の効率をより良くするために様々な実
験が出来るように作られている。
参考にしたPROGRAM(2008)とその問題
点

ボタンを押さないといけない

人が乗りっぱなし

ビジュアル的にプログラムの
動作がわかりにくい
改善案
<1>去年のエレベータプログラムの多くを採用した
<2>Module化を利用、より柔軟な構成に
<3>乗客の動作をほぼ完全に再現
<4>ビジュアル化
説明①
<1>エレベーターのAlgorithm
中間発表で紹介した点数制は、
カゴの加速度や、扉の開閉にかかる
時間を考慮し、最短距離ではなく、
最短時間を比較する方式にした。
説明② Objectとは?
<2>エレベータや人の表現にObjectを使用
私たちが考える物理的なもの、
つまり様々な特性を持ってる
独立なもののこと、
またはプログラム上で
具現化した物
説明③
<3>より自然な動作のため、乱数や確率的な手法を用いる
Random関数で乱数を得て・・・
•
乗客の搭乗において、予測不可
能さを実現
•
簡単な操作で、各階の出現確率
を指定することを可能に
説明④
<4>乗客のエレベーター認識
乗客にエレベータを認識さ
せることは難しく、時間・空間
計算量が多くなる。
そのため、乗客がエレベー
タを認識するのではなく、
エレベータが乗客を認識。
反省点
 ビジュアル化が完全には出来ていない

シミューレーションを通じて、エレベータの不安定さを実感
 ビジュアルのデザイン性がない
 プログラム上にほとんど説明を加えていないので、
後の作業者に不親切なものになっている
提言
 JavaScriptに大きなプログラムは不適切
JavaScriptはScript言語である為、簡単なプログラム
には便利だが、1000行を超える大きいプログラムを作る
際には不便。大きいプログラムには、JavaやC++などを
使う方が好ましい。
 エレベータ自体があまりObject的ではない
原作であるエレベータのコードがあまりにも複雑で、その
上あまり効率がよくないため、より高い完成度のためには
新しく作るほうが望ましい