必要なデータを揃えたので、次はプログラム作り。
さて、どうやって作ろうか。
- C/C++
- Visual Basic
- C#
- Java
- VBScript
- Perl
- Ruby
- Excel/VBA
Excelって、表計算や資料作りでは広く使われてるし、個人でも(自宅で)使っている人も多いと思うけど、セルに計算式、関数などを使っている人は多くても、VBAでプログラムを作ってる人って意外と少ないみたい。
手軽だし、エディタ、デバッガなどが一通り揃った統合開発環境としてもお勧め。
ボタンや入力ボックスを自由に配置してフォームを作ることもできる。
Excelの表計算機能を使わなくても、開発環境、プログラム環境としてもお勧め。
今回は本題から外れるので、これはまたの機会に。
などを踏まえつつ...
次のような観点で検討。
- 最短完乗ルートの検索プログラムでは、試行錯誤を繰り返すと思われるので、アルゴリズムを手軽に試すことができる方がいい
- 最短完乗ルートは、おそらくは膨大な(数百万?、数千万?、数億?)のルートを作り、評価して最短のものを探すことになるので実行速度も重要
次の2段階でプログラム作りをすることにする。
Step1 最短完乗ルート検索アルゴリズムの確立Step2 処理の高速化
ということで、Step1はVBScript、Step2はC/C++を使うことにする。
Step1でVBScriptを使うメリット
何と言ってもお手軽。
言語仕様で厳密な変数型の定義を必要とせず、アルゴリズムの検証など、ロジック部分に集中できる。
他のスクリプト言語でもいいが、エディタ(メモ帳でも)さえあれば動かせる手軽さは大きい。
デメリットは、遅いことか。
Step2でC/C++を使うことのメリット
アルゴリズムがある程度固まったら、C/C++に書き換えて高速化。
どのくらいの効果があるかは試してみる必要があるが、おそらく、同じロジックで1桁~2桁以上の高速化ができると思われる。
つづく。
0 件のコメント:
コメントを投稿