問題タブ [prolog-toplevel]

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 投票する
1 に答える
5343 参照

list - 結果のリストをSWI-Prologで展開するにはどうすればよいですか?

長さ述語の後にwrite(L)を使用すると、インタープリターはリストを2回出力し、1つは展開され、もう1つは展開されません。

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

prolog - プロローグ リストの 2 つの星

リストの 2 つの星は何ですか?

検索してみましたが、成功しませんでした。

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

procedure - Prolog: Hello World を印刷する手順を作成する

この単純なものをエディターにロードしたい:

「こんにちは」と出力されるようにします。

私は何をすべきか?

私は現在やろうとしていますFile->New

Write という名前のファイルを保存するE:\Program Files\pl\xpce\prolog\lib

クエリを実行する場合:

?-書く。

それは印刷しています:

なんで?

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

prolog - このプロローグ クエリが true と false の両方になるのはなぜですか?

私の SWI-Prolog ナレッジ ベースには、次の 2 つの事実が含まれています。

今、私がクエリを提起した場合

しかし

f(a,b) が真であり偽でもあるのはなぜですか? これは、KB に 3 つのファクトがある場合にも発生します。f(a,d) を追加するとします。KB では、f(a,d) は true (のみ) ですが、f(a,b) と f(a,c) は true と false の両方です。何が起こっているのでしょうか? Prolog がこれらのクエリに対して (のみ) 真の回答をするようにするにはどうすればよいでしょうか?

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

prolog - 一連のルールに対して「true;false」の2つの答えのセットを取得する

最初に助けてくれてありがとう。私は、義理のすべてのバージョンを含む、家族関係を説明するプロローグプログラムを書いています。ロジックはすべてそこにあります。私が助けを必要としているのは、私があまり経験していないので、いくつかのプロローグの問題です。セミコロンを使用して、ルールごとに複数の可能性を設定しようとしています。

私が義理の兄弟を扱っている方法は、義理の兄弟が私の兄弟でもあるようにすることです。そのため、どちらが正しいかを確認するために複数のチェックが必要です。私はプロローグがtrueを返したいのですが、オプションのいずれかがtrueの場合にのみtrueを返します。ただし、もちろん、オプションの1つは常にfalseになり、もう1つは常にtrueになるため、可能なオプションとしてtrueとfalseが返されます。彼らは私の義理の兄弟か、私の生まれながらの兄弟のどちらかです。私はプロローグにtrueのみを返すようにさせることはできず、別の答えとしてfalseのオプションがありません。誰かアドバイスがあればそれは素晴らしいことです。関連するコードは以下に含まれています。だから、「brother(baby、dad)」と入力すると。私が欲しいのは偽であるとき、私は可能な答えとして真と偽を取得します。しかし、「兄弟(お父さん、赤ちゃん)」。trueのみを返します。しかし、私は今とりとめのないです。コードのいずれかが赤ちゃんのお父さんのものと混同している場合は申し訳ありません。ありがとう!

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

prolog - (swi)プロローグ用のあまり似ていないポケットベル

UNIXの一般的なワークフローは、フィルターのパイプラインを使用して、最終的にlessなどのポケットベルを使用することです。例(引数を省略)

さて、swi-prologのコマンドラインの典型的なワークフローの1つは、次のような特定の接続詞のソリューションのセットを提供するように要求することです。

それは私に一連の解決策を容易に与えます。これは、ターミナルウィンドウよりもはるかに長くなる可能性があります。または単一のクエリ

画面に収まらない非常に長いリストを再び与える可能性があります。|lessですから、私は常に、列の最後で平手打ちしたい状況にいることに気づきます。

私が探しているのは、一連のソリューションまたは1つの大きな用語をポケットベルで開く機能です。似たようなもの:

また

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

prolog - Prologで変数の結果と真/偽の両方を返すにはどうすればよいですか?

ばかげているように聞こえますが、私の述語 maximum/2 がリスト内の最大の要素を返すとしましょう...出力は次のようになります。

私が実装した最大のものは、「false」を出力しないことを除いて、上記のように機能します。この「false」も出力するようにするにはどうすればよいですか。価値?これは、私が終わらせなければならない厄介な任務のためです。:(

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

matrix - Prologのマトリックスの私の答えに「...」が表示されるのはなぜですか

座標のマトリックス(チェス盤のような)を作成するための小さなコードを作成しました。これは次のとおりです。

初めて実行したときはうまくいきましたが、マトリックスの次元を増やすと、次のように、マトリックスの最後にある「ドット」が、次元が上がるにつれて1つの座標を増やして表示され始めます。

なぜこれが起こるのか誰かが何か手がかりを持っていますか?

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

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

prolog - ルールを理解する-答えとして偽

私はPrologを初めて使用し、なぜこのルールが1つの真の後に偽の結果を与えるのかを考えていました。

likes(1,banana).
likes(1,mango).

test :- likes(1,banana),likes(1,mango).

この誤りの背後にある理由を知りたい。

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

prolog - プロローグは、使用しようとすると「未定義の手順」というエラーを出します:-

Windows で SWI-Prolog を使用していますが、次のエラーが発生します。

これは先週うまくいき、Prologを学び始めたばかりなので、何が起こっているのか完全にはわかりません。