問題タブ [gnu-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 投票する
3 に答える
24848 参照

prolog - プロローグ - 指定された範囲に適合する数値を生成する

次のような述語を使用したいと思います。

意味:

Prolog で適切にコーディングする方法 (ソリューションのパフォーマンスを考慮して - 再帰の深さなど) ?

ソリューションは GNU-Prolog で実行される予定です。

PSこの質問に触発された質問

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

prolog - プロローグ: "check(a++b++c++d equals d++a++c++b) -> yes" の実行方法

カスタム オペレータを定義しましょう++equals

そして事実:

check/1次のすべての状況で true を返す述語、 let it be を作成しようとしています。

戻る

これをPrologで実装する方法は? (コードスニペットをお願いします。それは可能ですか?何か不足していますか?)

Gnu-Prolog が推奨されますが、SWI-Prolog も使用できます。

PSコードはドラフトの「疑似コード」として扱い、小さな構文の問題は気にしないでください。

PPS '++' はまだ始まったばかりです。オペレーターをもっと増やしてほしい。そういうわけで、ものをリストに入れることは良い解決策ではないのではないかと心配しています.

さらに

さらに、クエリが可能であればいいでしょう(ただし、この部分は必須ではありません。最初の部分に答えることができれば、それで十分です)

可能な結果の1つ(他の人を見せてくれた@matに感謝)

私は主に質問の最初の部分の解決策を探しています-「はい/いいえ」チェック。

X、Y の 2 番目の部分は、いい追加です。その中で、X、Y は単純なアトムでなければなりません。上記の例では、X、Y のドメインが指定されていますdomain(X,[a,b,c]),domain(Y,[a,b,c])

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

prolog - Prolog が一致すると成功するが、出力にラベルを付けるように求められたときに失敗する原因は何ですか?

学習課題として Prolog を使用して論理パズルを解こうとしていますが、GNU Prolog 有限領域ソルバーを使用して問題を正しくマッピングしたと思います。

solve 関数を実行すると、Prolog は次のように吐き出します: yes と、すべてが 0..1 の範囲に制限された変数のリスト (私が制約したため、ブール値)。問題は、fd_labeling(Solution) 句を追加しようとすると、顔と吐き出しについてプロローグすることです: いいえ。

私はこの言語に不慣れで、実際に回答にラベルを付けるように依頼するまで、すべてが機能しているように見える理由を理解するための攻撃のコースを見つけることができないようです...

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

prolog - GProlog データベースの保存

私のプログラムには動的句があり、正常に動作しますが、プログラムを閉じると消えます。

私はそれを試しました

しかし、これは機能しません。

このデータベースをファイルに保存する方法はありますか?

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

gnu-prolog - 単純な数学でのGnuPrologのsegfaults

次のコードが与えられます:

gprologで実行すると、次のようになります。

ただし、ファイルをコンパイルすると、次のようになります。

私は何が欠けていますか?最初のケースでセグフォールトし、2番目のケースで正常に実行されるのはなぜですか?

(役立つ場合:Mac OS 10.7.2)

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

prolog - プロローグは複合語を読み取り、それを式のように扱います

次のコードは機能しません

しかし、以下は

何故ですか?「読み取り」機能が正しく動作していないようです

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

database - 単純なPROLOGの問題:Prologデータベースに対して複数のクエリをどのようにテストしますか?

すべてのデータを挿入するために使用したPrologデータベースファイル(test_inserts.p)があります。

また、データベースから特定の情報を受け取るために作成したすべてのPrologクエリを含むPrologクエリファイル(test_queries.pl)もあります。

gprologを使用するときに、test_inserts.pデータベースファイルに対してtest_queries.plクエリを実際に使用する方法を考えていましたか?両方を同時にロードする方法があり、実行したい各クエリを再入力する代わりに、どういうわけか実行するクエリをコマンドできることを望んでいました。

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

java - 有限領域ソルバー fd_minimize/2

Prolog で述語を最小化する必要があります。現在、GNU Prolog Java を使用しています。私はこの事実を得た

指定されたテリトリーには X 軍がいると表示されます。ここで、特定のプレイヤーが所有する軍隊の最小数を見つけたいと考えています。だから私は書いています:

通訳者は次のように言います。

java.lang.IllegalArgumentException: 目標は現在アクティブではありません

http://www.gprolog.org/manual/gprolog.html#htoc313問題 は、インタープリターの Java 実装に FD ソルバーがないことだと思います。ヒント/回避策はありますか?

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

prolog - グローバル スタック サイズの変更、GNU Prolog

そのため、大学の bash サーバーで GNU Prolog を使用しており、グローバル スタック サイズを増やす必要があります。

次のオプションを使用してコンパイルを試みました。

test は、テスト用に作成した単なる test.pl ファイルです。ただし、まだ次の例外が発生します

これは、サイズがまだ 8192 Kb であることを示しています。残念ながら、私は GNU Prolog バージョン 1.2.16 を実行しています。それがサーバー上にあり、簡単に変更できないからです。ここで私にできることはありますか?

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

file-io - GNU Prolog でファイルから行を読み取る

簡単にできるはずの何かで頭を壁にぶつけているような気がします。おそらく私のアプローチは間違っています。Prolog の I/O の背後にある概念を理解しているような気がしません。(例: ストリーム エイリアスと open/3 によってバインドされた変数の違いは何ですか?) しかし、私は脱線します:

GNU Prologでファイルを1行ずつ読み取るにはどうすればよいですか? (したがって、SWI が持っている便利な関数にアクセスすることはできません。) get_char/1 と peek_char/1 (終了改行をチェックするため) に関係があると思いますが、実行可能な解決策を実装する私の試みはこれまでのところ失敗しています。

これが私が得た限りです:

これをインタープリターにロードすると、次のようになります (読みやすくするために空の行は削除されています)。

行は必ずしも文字リストとして読み込まれる必要はありませんが、私の目標は特定の条件 (たとえば、文字の繰り返しがない) に一致する単語のリストを検索することであるため、それが最も賢明な方法のように思われました。それ。