1

PROLOGでブリッジとトーチのパズルを解いています。さまざまな検索方法を試しているので、計算時間を見つける必要があります。アルゴリズムが問題を解く開始時間と終了時間のことです。

Prolog からシステム時刻にアクセスできますか? どのように?

4

2 に答える 2

1

を使用get_time/1してアルゴリズムの実行時間を評価すると、アルゴリズムの実行時間が単独で計算されるのではなく、コンピューターのプロセス スタック全体の実行時間が計算されます。たとえば、OS が何らかのプロセスをバックグラウンドで実行することを決定した場合、これにより時間差が大幅に変化する可能性があります。

SWI-Prolog には、呼び出されたすべての述語の計算に費やされた時間を追跡する専用のサポートがあります。このためには、(1) ライブラリstatisticsをインポートし、(2) でプロファイリングする述語を囲む必要がありますprofile/1

例えば:

:- use_module(library(statistics)).

run_test:-
  profile(my_predicate(MyArgument)).

お役に立てれば!

于 2014-04-05T13:10:39.567 に答える