2016-09-21 4 views
0

私はDLVで少し時間をかけて作業していますが、プログラムが大規模なときはルールのアクティベーションが難しいと感じています。だから私はmanualに行って、これをするための何かがあるかどうかを調べた。DLVインタラクティブモード(デバッグ)

私が見つけた唯一の事はフロントエンドのオプション-FPでしたが、この点でマニュアルが十分な情報を提供していないため、これが私が探しているものかどうかはわかりません。だから、このフラグを使用して私のプログラムを実行するために、どのようなものを私がしたが、私は次のエラーを取得する:

Background knowledge must not contain aggregates

プログラムは、このフラグなしで実行され、私は骨材を取り除くことはできません。また、私は愚かなプログラムを試してみましたが、別の警告/エラーが要求されます:

Warning: No plan length given. Plan length defaults to zero. No goal query has been specified.

が、これはDLVのプログラムをデバッグする正しい方法ですか?方法はありますか?

ありがとうございました。

答えて

1

いいえ、これはDLVプログラムをデバッグする正しい方法ではありません。

プランニングフロントエンド(-FPによって呼び出される)は、プランニングの問題、すなわち一般的な種類の問題を解決するためにDLVを使用することを目的としています。 これはworld/myシステムの現在の状態です。ここには私が実行できる行動のセットがあります。ここには私が到達したい目標があります。 これらの目標を達成するには、どのような順序でこれらの行動を実行する必要があるかを知りたいと思いますか? (私は計画についての詳細な情報源はよくわかりませんが、私は研究中に数年前にコースを持ちました - ちょうど50秒のGoogle検索の結果として、これはより多くの情報の役に立つ源かもしれません:http://aima.cs.berkeley.edu/2nd-ed/newchap11.pdf

DLVの計画フロントエンドでは、この種のプランを表現し、それを解決するためのフレームワークを提供しています(2番目の警告で要求するプランの長さは、計画がかかります)。だから私はこれがあなたが探しているものだとは思わない。

私はDLVのデバッグに全く経験はありませんが、以前はASP IDE https://www.mat.unical.it/ricca/aspide/downloadが何らかのデバッグをサポートしていると言われていたと思いますが、それはdlvウェブサイトhttp://www.dlvsystem.com/に記載されています。情報が提供され、それがあなたに役立つかどうか。 (一般的には、ASPシステムの実際の実装はそのセマンティクスの宣言的定義と大きく異なるため、デバッグはあまり単純ではないと思います)。

(申し訳ありませんが、回答よりもむしろコメントですが、まだコメントを書くことはできません。回答のみ)

関連する問題