問題タブ [failure-slice]
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 - プロローグが不可能な解決策を無限に調べるのを止める方法は?
次のプログラムを想定します。
2 つの数値を加算する場合はうまく機能しますが、次のようなクエリを実行しようとすると、次のようになります。
Z
解決策がないことが明らかになった後も、可能な値を検索し続けます(つまり、 Z>s(0)
)
私は cut( !
) 演算子に精通しており、私の直感では解決策がそれと関係があると言っていますが、この場合の使用方法がわかりません。
prolog - 隣接メンバーを検索
リストの 2 つのメンバーが隣接しているかどうかを確認する必要があります。制限は、append/3
述語を使用することです。これまでのところ、私は以下を行ってきました。それが本当であれば機能します。そうでなければ、答えが得られません。永遠に実行されるようです。
list - Prolog で丸で囲まれたリストを作成する
Prologでこの関数を作成しようとしています:
だから私はこれをしました:
しかし、出力は次のとおりです。
これは良いことですが、初めてすべての可能性を実行した後に停止したいと思います。
私に何ができる?
prolog - プロローグ - リストのすべての数字を 1 ずつ増やす
私はこれを試しました
私はそれが間違っていることを知っています、あなたは私を助けてくれますか? ありがとう
prolog - プロローグ - N-Queens クイズ - 無限ループ
8-Queens問題についてです。より一般的な N-Queens 問題を解決しようとしています。
目標は、このルールで考えられるすべての答えを表示することです。例えば:
私はすべての答えとすべてを正しく得ることができましたが、何らかの理由で、私のコードは最後の解決策の後に無限ループに入ります.
これは私がこれまでに書いたものです:
これは、ソリューションに使用した範囲ルールです (正しいです)。
これがおそらく最善の解決策ではないことはわかっていますが、ここで何がうまくいかなかったのかを理解するのに役立つことがあります。
prolog - アイテムの収集と出現回数のカウント
collCount/2
リスト内の同一のアイテムをそれぞれの出現回数でタプルにグループ化する再帰ルールを作成しようとしています。
たとえば、 とcollCount([a,b,a,b,c,b],F)
バインドF
し[(a,2),(b,3),(c,1)]
ます。このクエリを実行すると、Prolog は単純に を返しますno
。
以下は、私がこれまでになんとかしたことです:
述語countDel/4
は、リスト内の特定の項目のすべての出現をカウントして削除します。たとえば、countDel(2,[1,2,3,2,2],L,N)
は L を[1,3]
およびN
とバインドし3
ます。
述語occur/3
は、リスト内の特定の項目のすべての出現をカウントします。たとえば、 とoccur(3,[1,2,3,4,3],Num)
バインドNum
し2
ます。
述語delAll/3
は、リスト内の特定の項目のすべての出現を削除します。たとえば、 とdelAll(3,[1,2,3,4,3],L)
バインドL
し[1,2,4]
ます。
どんな助けでも大歓迎です。
prolog - 2 のべき乗である二分木のすべての要素を集める
以下を機能させることができません。これは私がこれまでに得たものです: