2012年2月11日土曜日

ルート計算プログラムをどうやって作ろう~プログラム言語


必要なデータを揃えたので、次はプログラム作り。
さて、どうやって作ろうか。
  • C/C++
  • Visual Basic
  • C#
  • Java
などが定番か。
  • VBScript
  • Perl
  • Ruby
などのスクリプト言語は手軽でいい。
  • Excel/VBA
なら、Excelのシートで入力データの定義をして、結果もExcelのシートに書き出せる。
Excelって、表計算や資料作りでは広く使われてるし、個人でも(自宅で)使っている人も多いと思うけど、セルに計算式、関数などを使っている人は多くても、VBAでプログラムを作ってる人って意外と少ないみたい。
手軽だし、エディタ、デバッガなどが一通り揃った統合開発環境としてもお勧め。
ボタンや入力ボックスを自由に配置してフォームを作ることもできる。
Excelの表計算機能を使わなくても、開発環境、プログラム環境としてもお勧め。
今回は本題から外れるので、これはまたの機会に。

などを踏まえつつ...
次のような観点で検討。
  • 最短完乗ルートの検索プログラムでは、試行錯誤を繰り返すと思われるので、アルゴリズムを手軽に試すことができる方がいい
  • 最短完乗ルートは、おそらくは膨大な(数百万?、数千万?、数億?)のルートを作り、評価して最短のものを探すことになるので実行速度も重要
次の2段階でプログラム作りをすることにする。
Step1 最短完乗ルート検索アルゴリズムの確立
Step2 処理の高速化

ということで、Step1はVBScript、Step2はC/C++を使うことにする。

Step1でVBScriptを使うメリット
何と言ってもお手軽。
言語仕様で厳密な変数型の定義を必要とせず、アルゴリズムの検証など、ロジック部分に集中できる。

他のスクリプト言語でもいいが、エディタ(メモ帳でも)さえあれば動かせる手軽さは大きい。
デメリットは、遅いことか。

Step2でC/C++を使うことのメリット
アルゴリズムがある程度固まったら、C/C++に書き換えて高速化。
どのくらいの効果があるかは試してみる必要があるが、おそらく、同じロジックで1桁~2桁以上の高速化ができると思われる。


つづく。

0 件のコメント:

コメントを投稿