failure-slice

    1

    1答えて

    (SWI-プロローグを使用して次のプログラムをロードし、そのような cells([o,x,o,x,o], A). 又は cells(A, [o,x,o,x,o]). としてクエリを入力した後最初の結果は常に正しいと思われるが、セミコロンを提出した後、検索結果を探すためにどちらの場合でも追加の結果が必要かどうかわかりません)、ガベージコレクションとグローバルスタックエラーのそれぞれについての

    2

    2答えて

    [001(0,0,1)、(1+(1/0))['('、1、+、 'などの一部の文を一致させようとしています。 ( '1、/、0、 ')'、 ')']など。 私は自分自身が小さなDCGを次作りました。 g3 --> s3. s3 --> e3. e3 --> eAdd. e3 --> eMin. e3 --> eMul. e3 --> eDiv. e3 --> n3. eAdd --

    4

    3答えて

    nの可能なすべてのナイトポジションの計算ソリューションが正確なパスを知っているときに、Prologのバックトラッキングに問題があります。 私の解決策は、最初の結果の一部を印刷し、不可能な結果を​​探している間は終了しません。 これは私のコードです: move([X, Y], [A, B]) :- X + 1 < 8, Y + 2 < 8, A is X + 1, B is Y + 2. move

    2

    1答えて

    factorary述語fact(N,F)があります。NまたはFまたはその両方が数値にバインドされています。 例えば、私はfact(3,F)またはfact(N,6)を持つことができます。 ここに私の述語がありますが、実際にはどのように理解できません。私はtraceを使用しましたが、まだそれを理解することに問題があります。 fact(0,1). fact(N,F) :- fact(N1,

    0

    1答えて

    私はプロローグを初めて使っています。私は完全に動作するマジックスクエアプログラムを作成しようとしていますが、真実を言うにはどうすればいいのか分かりません。それは間違っている。私は自分のコードを共有しています。誰かが私を助けてくれることを願っています。今は数字が良いときには本当ですが、そうでないときはスタックエラーのようになります...(ここでは、チェック) ご注意いただきありがとうございます!プロ

    1

    1答えて

    私はプロローグにはかなり新しいですし、現在私はコードに練習例を与えている本を読んでいます。重複を取り除くことを私に任せています。 注:私は他のstackoverflowsを読んでいますが、重複を削除する方法を理解していますが、わからないのは私のコードが動作しない理由です。 (私は他のstackoverflowsへの別のアプローチを選択しました) 私は正常に動作すると信じてis_member述語を作

    1

    1答えて

    私の意図は、Prologにおける推移性の簡単な例(自分のためだけ)を実装することでした。 これらは私の事実です: trust_direct(p1, p2). trust_direct(p1, p3). trust_direct(p2, p4). trust_direct(p2, p5). trust_direct(p5, p6). trust_direct(p6, p7). trust

    5

    1答えて

    良いプロローグを書くために習得しなければならない設計ヒューリスティックは何ですか?私はPrologに熟達するには2年ほど経験豊富なプログラマーが必要だと聞きました。効果的に再帰を使用することもできますが、それは比較的小さなハードルのようです。プログラマーに大きなトラブルを与えるのはどういうことでしょうか?品質を判断するためにサンプルコードで何を探していますか?

    2

    2答えて

    にinorderを列挙します。 BSTの述語形式はnode(Value,Left,Right)またはleafなので、空のツリーはちょうどleafであり、1つのノードがあるツリーはnode(_,leaf,leaf)です。 述語がenumerate_bst(Elems,Bst)である場合、目標はBstをinorderリストElemsのすべての可能性に一致させることです。例えば、(setof/3に注意し

    4

    3答えて

    プロローグの新機能で、要素を任意の位置にリストに挿入できるすべてのオプションを与える述語を作成しようとしました。 例: インins(a, [b,c], R).を与える必要があります:それはありませんが、その後、 'グローバルスタック外' というエラーになる R = [a,b,c] R = [b,a,c] R = [b,c,a] 。これをより決定論的にし、結果を与え、実行する方法はありますか