問題タブ [sicstus-prolog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
prolog - 変数のドメインで値のカスタム順序を指定する方法は?
V
変数があり、 の値がV
range の任意の数値であると仮定しましょう0..5
。ただし、一部の値は他の値よりも優先されるため、ドメインをV
順序付きシーケンスとして指定すると役立ちます。
SICStus Prolog で実行できますか?
例:
マニュアルを読みましたが、役立つものは何も見つかりませんでした。この問題は、カスタム ラベル付け (つまり、V のドメインをリストに変換し、並べ替えて値を に割り当てるV
) で解決できますが、パフォーマンスが低下することが予想されます。
prolog - clpfd:automaton を使用して SICStus Prolog のカウンター値を制限する方法は?
1 と 0 のリストで連続する 1 の数を制限する非常に単純なオートマトンを実装したいと考えています ([0,1,1,0,1,1,1] など)。
私のオートマトンは次のようになります。
上記の Prolog コードにカウンターC
指定の制約を追加するにはどうすればよいですか?C <= Allowed
eclipse - SICSTUS の「SPIDER」IDE で変数バインディングを表示するにはどうすればよいですか?
SICSTUSマニュアルとSPIDER IDE自体のドキュメントの指示に従って、SICSTUS Prolog開発に「SPIDER」IDEを使用しています。デバッグ中、'SICSTUS Debugging' パースペクティブの下で、ここに示されている画像の右上に見られるように、変数は [変数] ウィンドウに表示されません(Spider ページの最初のものです)。
このガイドに従ってすべてをセットアップしましたが、これは、私が知る限り、機能していない唯一のものです. デバッグ中に変数バインディングを取得するための追加の手順はありますか?
前もって感謝します、
編集:最近、ドライブをフォーマットした後、同じシステムにすべてを再インストールしましたが、完全に機能するようになりました。何のことかわかりませんが、最初に何か間違ったことをしたと思います。
c - C からプロローグ リストを作成する
Sicstus Prolog ランタイムのフロントエンドとして C プログラムがあります。そして、Cでリストを作成し、記入してPrologランタイムに渡そうとしています。私はCライブラリを見てきましたが、これをどのように行うべきかについての情報は見つかりません。これを行うのは単一の関数呼び出しではなく、組み合わせ(?)
また、これに関連するいくつかの関数呼び出しが C ライブラリにあることもわかります (SP_put_list()、SP_put_list_codes()、SP_put_list_n_bytes()、SP_put_list_n_codes() )
作成したいリストは、[leftmost,step,up,all] のように labeling/2 に渡すオプションのリストですが、実行時にこのリストを作成して入力し、Sicstus Prolog に渡したいと考えています。
swi-prolog - SWI/CLP(FD) における到達可能性制約
ノードとアークの存在に関する制約を解決することにより、有向グラフの形状を決定しようとしています。たとえば、バイナリ変数V1V2
は、ノードから へ1
のアークがある場合です。たとえば、グラフが接続されていること、または特定のノードから別の特定のノードへのパスがあることを要求するために、到達可能性制約を表現したいと思います (または、代わりに推移閉包を見つけます)。V1
V2
SICStus Prolog がfd_closure
この目的のために持っていることを見てきましたが、SWI Prolog には似たようなものは見つかりませんでした。CHRを使用する必要がありますか? アーク/パスの一貫性の例を見てきましたが、正しい方向を見ているかどうかはわかりません。