問題タブ [swi-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.

0 投票する
2 に答える
1983 参照

prolog - アトムが小文字かどうかを調べる

私はこのようにやっています:

そのような回避策のように感じない方法はありますか?

0 投票する
2 に答える
1881 参照

exception - Prologでタイムアウト例外をキャッチする方法

プロローグでのアルゴリズムの「実行」を制限したい。ヒントを教えていただけますか、その方法を教えてください。この述語を見つけました:call_with_time_limit time_limit_exceeded例外をキャッチするにはどうすればよいですか?ありがとう

アップデート:

私はそれをこのように試しています:

しかし、timeout(1)を呼び出すと、次のことに注意してください。

しかし、私がこのようにそれを行うとき:

もう一度timeout(1)を呼び出して、すべて問題ありません。なんで?UPDATE 2に感謝 します:

問題は解決しました。大文字で「引数」を予測する必要があります。

0 投票する
1 に答える
512 参照

prolog - グローバル変数をエミュレートするためのアサートとリトラクト

グローバル変数をエミュレートするためにこれを行っています:

別の方法はありますか?(変数を引数として渡すことに加えて、つまり)。必ずしもより効率的であるとは限りません。ただ興味があります。

0 投票する
4 に答える
7878 参照

prolog - SWI-Prolog で述語を集約する

X私はすべてを数える必要がありsome_predicate(X)、そのようなものは本当にたくさんありXます。それを行う最善の方法は何ですか?

最初の手がかりはfindall、リストに蓄積し、リストの長さを返すことです。

(permutation/2多くの結果があり、カウントを計算する方法が悪いことを示すダミーのプレースホルダーです)

明らかに、実際のデータではスタック オーバーフローが発生します。

次に、 に置き換えようとしてfindallsetofますが、役に立ちません。

最後に、aggregate述語の [ ][1] (クリック可能) ファミリを見つけて、 and を使用しようとしましaggregate/3aggregate/4

それはすべて間違っていると思います。私はこのようなものを取得する必要があります:

  1. 私は何を間違っていますか?

  2. 正しい答えを計算する述語を宣言するにはどうすればよいですか? [1]: http://www.swi-prolog.org/pldoc/doc/home/vnc/prolog/lib/swipl/library/aggregate.pl

0 投票する
1 に答える
291 参照

user-interface - Logtalk と XPCE

XPCE と Logtalk の両方を使用してアプリケーションを開発できますか、それともクラス システムに互換性がありませんか?

0 投票する
4 に答える
6791 参照

python - Pythonからprolog述語を呼び出す

私はいくつかの.plファイルを持っていて、Pythonスクリプトからその中で宣言された述語を呼び出したいと思います。どうやってやるの?

例えば、test.pl

のように働く

rDどういうわけかPythonスクリプトから呼び出して、結果変数で答えを取得したい

ps:これは単なる例であり、現在のPrologプログラムを書き直したくありません。

0 投票する
1 に答える
903 参照

prolog - SWI-prolog のレコード ライブラリの例を探しています

レコード ライブラリの使用例 (またはチュートリアル) を探しています

http://www.cs.fit.edu/~pkc/classes/ai/swi-prolog/Manual/record.html

テンプレートとして使用できる SWI-prolog 用。指針はありますか?

ありがとう、

SetJmp

0 投票する
1 に答える
933 参照

prolog - Prologでファイルをロードする方法は?

c:/ に「file1.pl」という名前のファイルがあります。

ここで、ファイルをprologにロードし、プロシージャと定義した関係についてクエリを実行します。

私が理解したように、次の手順を実行する必要があります。

  1. ファイル→編集。

  2. ファイル -> 変更されたファイルをリロードします。

  3. ファイル -> ナビゲーターでファイルと手順を表示します。

これらの手順を実行すると、何も起こりません。クエリを実行すると、次の問題が発生します。toplevel: Undefined procedure: blabla/2 (DWIN couldnt correct goal)

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

0 投票する
1 に答える
2595 参照

prolog - SWI-PrologのセマンティックWebライブラリを使用してRDF/OWLをクエリする方法は?

SWI-PrologセマンティックWebライブラリを使用してOWL/RDFファイルにクエリを実行し、いくつかの情報を抽出するにはどうすればよいですか?

OWL / RDFファイルにはすべてのDebianパッケージに関する情報が含まれているため、パッケージの依存関係を見つけるためにクエリを実行する必要があります。

例えば:

OWLファイルは次のように構成されています。

OWL / RDFファイルをPrologスクリプトにロードするにはどうすればよいですか?また、パラメーターとしてAを入力し、スクリプトがBとCを出力するように、Prologスクリプト内でクエリを実行するための構文は何ですか?

0 投票する
2 に答える
3133 参照

java - Ubuntu11.04でJPLを使用して「シンボル検索エラー」を解決するには?

Java でプログラムをコーディングしていて、Prolog に接続したいと考えています。したがって、JPLを使用することにしました。Windows Vista で JPL を使用するのは完璧です。その後、OS プラットフォームを Ubuntu 11.04 に変更する必要があります。残念ながら、エラーがあります:

シンボル検索エラー: /usr/lib/swi-prolog/lib/i386/libjpl.so: 未定義のシンボル: PL_is_initialized

環境:

  1. Ubuntu 11.04
  2. Java バージョン 1.6.0_24
  3. Eclipse ガリレオ バージョン: 3.5.2
  4. i386 用の SWI-Prolog バージョン 5.10.1
  5. Jpl (apt-get install swi-prolog-java)
  6. Family.java + family.pl

作業の手順と問題点を以下に説明します。step1: Synaptic Package Manager を使用して swi-prolog + jpl をインストールする Swi-prolog インストール

step2: Family.java を実行し、エラーを発見 JPLが見つかりませんエラー

step3: VMarguments でライブラリ パスを構成するVMarguments の設定 step4: 再度実行すると、エラーが発生します /usr/lib/jvm/java-6-sun-1.6.0.24/bin/java: symbol lookup error: /usr/lib/swi-prolog /lib/i386/libjpl.so: 未定義のシンボル: PL_is_initialized step5: 環境も構成しますが、エラーは同じです。 環境引数を設定する

ステップ3と5のように問題を解決するために使用した方法は、インターネットから検索しました。試してみるべき他の解決策が見つかりません。誰にもアイデアはありますか?
前もって感謝します。