問題タブ [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 - Prolog の整数除算演算子
このコードは、プロローグの暗号パズルを解くために私が書いているプログラムの一部です。CLPFD (SICStus Prolog) を使用してこれを解決しています。組み込みの整数除算演算子「//」を使用しているときにエラーが発生します (詳細については以下を参照してください)。これを解決できなかったので、独自の整数除算関数を作成しました。
私が知りたいのは、「//」が失敗する理由です。+、 - 、 / などの他の算術演算子にはそのような問題はありません。
前:
これは私が得るエラーです
エラー:ドメイン エラー: clpfd_expression' expected, found
(0+_G1592+_G1586)//10' 例外: (12) throw(error(domain_error(clpfd_expression, (0+_G3994{0..9}+_G3991{0..9}))// 10)、_G3976)) ?
後:
これは完全に機能します。「//」を独自の整数除算に置き換えるだけでした
prolog - SICStus Prolog によるフィボナッチ数列の一般化
一般化されたフィボナッチ数列 (GFS) に対するクエリの解決策を見つけようとしています。クエリは次のとおりです。12 番目の数字が 885 である GFS はありますか? 最初の 2 つの数字は 1 ~ 10 の間で制限される場合があります。
(1, 1) で始まるシーケンスで N 番目の数値を見つけるための解決策を既に見つけました。ここで、最初の数値を明示的に定義します。これが私がこれのために持っているものです:
前述のクエリについては、動的に実行する必要があるため、初期番号を明示的に定義せずに fib メソッドを再利用する次の方法でうまくいくと思いました。
...しかし、これはうまくいかないようです。
この方法で初期数を定義することはできませんか、それとも何かひどく間違っていますか? 解決策を求めているわけではありませんが、これを解決するのに役立つアドバイスをいただければ幸いです。
dynamic - 既存のプロローグ ファイルへのファクトの追加
元の内容を上書きせずに、既存の Prolog ファイルにファクトを挿入するのに問題があります。
ファイル test.pl があるとします:
これをプロローグにロードし、さらに事実を主張すると:
私は次のようにしてこれを保存できることを知っています:
これは機能しますが、test.pl には ":- dynamic Born/2" ではなく事実のみが含まれるようになりました。
このファイルをリロードすると、":- dynamic Born/2." のため、test.pl にファクトを挿入できなくなるため、これは問題です。もう存在しません。
私はどこかでそれを読んだ、私はできる:
これはファイルの最後に追加するだけですが、次のエラーが発生します。
ところで、私は Sicstus プロローグを使用しています。これは違いがありますか?
ありがとう!
eclipse - SicstusとEclipse(Spider)を使用したコードスタイル設定
私は現在、Eclipse Galileo(Spider)内でSicstus PrologVC94.1.1を使用しています。非常に初心者の質問があります。インデントと一般的なコードスタイルの設定を自動的に制御するにはどうすればよいですか?
c# - C# と Sicstus プロローグを接続するにはどうすればよいですか?
重複の可能性:
Prolog と C# の統合
Prolog プロジェクトを C# に接続しようとしています。これどうやってするの?
prolog - prolog存在エラー:プロシージャが存在しません
リスト用のモジュールを含めました::-use_module(library(lists))。しかし、それでもこのエラーが発生します。
誰か助けてもらえますか?
sicstus-prolog - SICStus Prolog での実行時間の制限
SICStus Prolog でクエリの実行時間を制限することはできますか?
prolog - 削除: プロローグ
制約充足問題を解決する「Computational Intelligence book」から csp.pl をコンパイルしようとしています。これをベースにクロスワードパズルジェネレーターを解いていきたいです。
しかし、コードを実行しようとすると、
remove は組み込みの述語ではないと思います
これはコードの一部です...誰でもこの問題を解決するのを手伝ってくれませんか...教科書では一部のプログラムでhvが実行されると主張されているため、コードは実行されるはずです..
助けてください
java - Java:実行中のPrologプログラムを閉じるためのキーバインディングを作成する
バックグラウンドで実行され、押されたキー(私の場合はスペースバー)の特定の組み合わせを検出し、スペースバーを取得した後、ctrl+cとaをに送信するJavaで小さなプログラムを作成したいと思います。実行される予定のプロローグコマンドを中止するためのプロローグコンソールコマンド。それは可能でしょうか?
よろしくお願いします!
shell - シェルファイルを介してPrologSicstusを実行する
私はシェルスクリプトを介してファイルを実行し、その出力をそのファイルに書き込もうとしています。
スクリプトは非常に単純です。
/usr/local/sicstus4.1.1/bin/sicstus -l run --goal "runh('examples / callbacks_matlab.pl'、S)、halt。" >「/Users/Andrew/Dropbox/IP/modellingphase/rules.txt」
ただし、これを実行すると、次のエラーで失敗します。sicstus(24883,0x7fff70916ca0)malloc:*オブジェクト0x10082b408のエラー:解放されたオブジェクトのチェックサムが正しくありません-オブジェクトは解放された後に変更された可能性があります。*デバッグするmalloc_error_breakにブレークポイントを設定します
一方、ゴールから「停止」を削除すると、すべてが正常になりますが、Sicstusはまだ実行されています。
シェルスクリプトで上記のエラーが発生することなく、sicstusを終了する方法はありますか?
お時間をいただきありがとうございます。
アンドレアス