問題タブ [prolog-dif]

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

prolog - Prologでの失敗述語の用途は何ですか?

私はそれが必要になる状況を思い付くことができません。

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

compiler-errors - このプロローグ プログラムがコンパイルされないのはなぜですか?

私はプロローグプログラムを持っています。これらの行は、コンパイルを妨げています:

次のエラーが表示されます。

0 投票する
3 に答える
2688 参照

list - 複数の同じ要素を持つリストの順列Prolog

こんにちはみんなplsは言語の誤用を許します

myPermutation(L1、L2)を作成する必要があります。リストL1(多くの連続した外観を持つ要素を含む)を指定すると、同じである2つの連続した要素がないようにソートされたL1であるリストL2が返されます)

例:リストL1 [1,1,1,1,1,2,2,3,3,4,4,5,5]が与えられた場合、L2は[1,2,1,5,1,3,1 、4,1,2,3,5,4]ランダム順列を試し、各順列の整合性をチェックしましたが、非常に低速です(12個を超える要素を持つL1の場合は約24 CPU)

唯一の可能な解決策は、順列をチェックするのではなく、一貫した順列を作成することですが、どうすればこれを行うことができますか?

それは標準的なプロローグでも実行できますが、論理プログラミングの理解が十分でないため、頭を悩ませることはできません。

ありがとう:D

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

prolog - リストからの単純なプロローグの削除

(これはコースワークの質問ではありません。私自身の個人的な学習です。)

リストから要素を削除するために Prolog で演習を行おうとしています。これが私のコードです:

テストすると、最初に良い答えが得られます (つまり、すべての X が削除されます)。しかし、バックトラックにより、X のインスタンスの一部が削除された、またはまったく削除されていないリストの他のすべてのバリアントが提供されます。

なぜこれが必要なのですか?H==X が最後の句まで落ちるのはなぜですか?

0 投票する
3 に答える
223 参照

prolog - H128 を返す Prolog クエリ

以下のクエリでは、最初に取得X = H128していますが、それはどこから来たのですか? また、なぜ yes が返されるのですか? 変数Xが実際には定義されておらず、その条件をテストしているためですか?

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

list - Prologで統合せずにリストのすべてのメンバーを削除する

重複の可能性:
プロローグの削除: Element と統合するすべての要素を削除するわけではありません

これを書く場合、Prologで:

結果は次のようになります。

_ 変数は最初の要素で 1 にバインドされ、(1,1) のさらに要素を検索して削除するため、正常です。

この統合が行われ、フォーム (1,_) のすべてのメンバーが削除されないようにする方法はありますか。その場合、結果は次のようになります: L = [ (3, 4)]。

0 投票する
3 に答える
1210 参照

syntax - プロローグの戻り結果

宿題のため、明示的なものは何もありません。

見つかった他のゴールを無視しながら、プログラムによって見つかった最初のゴールのみを返すように Prolog を取得する方法はありますか?

説明のために、プログラムを以下に示します。

プログラムが唯一の解決策として最初の順列のみを返すようにする方法はありますか? 次の場合:

いただけますか

解決策として?

0 投票する
3 に答える
8761 参照

prolog - Prolog の簡略化された巡回セールスマン

同様の質問に目を通しましたが、私の問題に関連するものは何も見つかりません。のデータベースを使用して、からCityAへのパスを見つけるアルゴリズムまたは「ループ」のセットを見つけるのに苦労していますCityB

事実。これまでになんとかできたことは以下のとおりですが、常にバックトラックしwrite(X),て最終的な反復で完了します。これは、私がやりたいことですが、ある程度だけです。

たとえば、行き止まりになっている都市名を出力したり、最終的な繰り返しを使用したりしたくありません。基本的に からCityAまでのパスを作成CityBし、そのパス上に移動先の都市の名前を書きます。

誰かが私を助けてくれることを願っています!

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

prolog - プロローグ文脈自由文法の処理

与えられたCFG

可能なすべてを生成するgrammar('S'、sentence)のような述語を書きたい

左端の派生を使用して、検出された記号が終端記号である場合はその終端記号を出力し、検出された記号が非終端 記号'S'である場合は、バックトラックして置換し、文法の1つa S bまたはcまたはdを繰り返して、処理する。

コードは必要ありません...開始方法のヒントを教えてください

0 投票する
5 に答える
102593 参照

prolog - Prolog の論理的な 'not' は何ですか?

私が直面している問題は、少し些細なことです。Prolog で論理的ではなく使用したいのですが、それnot/1は私が望むものではないようです:

私は質問します:

そして、私が望む結果が得られません:(