prolog

    0

    1答えて

    最近私はPrologの学習を始めました。私は述語と関数について質問しました。どのように私は、述語内のオブジェクトは、例えば、別の述語であるかどうかをチェックする関数を記述することができます。 vertex(a). edge(l,k,-1). edge(k,l,4). edge(a,z,-2). checkEdges(edge(X,Y,_)) :- vertex(X),vertex(Y)

    0

    1答えて

    外部の任意の外部者が有効なID証明なしにキャンパスに入ることを許可するセキュリティー者は、 となります。有効な身分証明書を持たない一部の外部者は、 内にあります。これらのすべての部外者は、私はこのようなアプローチ上記の質問について (a) From the above statements, construct a knowledge base. (b) Implement forward an

    0

    1答えて

    私はメソッドの中にある項目のリストを持っています。私はリストを呼び出すために別のメソッドを使用していますが、そのメソッドの中にリストを入力したくありません。これをどうすれば解決できますか? foo(X)を使用してgo(X)のリストを変更したいが、機能しません。私はfoo(X)が[a、b、c、d、e]を返すことを知っています。変数と foo([a,b,c,d,e]). hi:- read(X),m

    1

    1答えて

    私はhttp://www.learnprolognow.org/lpnpage.php?pagetype=html&pageid=lpn-htmlse25から、この逆の機能だ:これは ?- rev([a,b,c], R). R = [c,b,a] のようなもののために動作します。しかし、私はこれで、スタックオーバーフローを取得 accRev([H|T],A,R):- accRev(T,[H|

    0

    1答えて

    こんにちは私はPrologを学習していて、私の先生は述語を作成するように頼んだ。私たちは、zipのように動作するが、不均等長の2つの入力リストを取ることができるcomposeという述語を作るように求められている。一方が他方より大きい場合、結果の最後に大きなリストの残りの超過要素を追加するだけです。これまで ?- compose([a,b,c],[x,y,z],L). L = [a,x,b,y,c

    1

    1答えて

    リスト内のすべての数値をどれだけ深くネスティングしてもカウントするプログラムが必要です。私は別のリストの中にいない場合に数字を数えることができましたが、深くネストされた要素を介して再帰的に働いているわけではありません。私はこれまでのところ、これを持っている: count([],0). count([H|Tail], N) :- count(Tail, N1), ( numbe

    2

    1答えて

    私はNxNのsudokuソルバーをプロローグで書いています。以下のコードは、4 * 4解決のためにうまく機能します。 (私はいくつかのドメイン情報を持っています)しかし、それは9x9のために遅いです。私は行の作成機能を改善するために多くの方法を試しました。行のすべての値が一意でなければならないことを既に考慮しています(ドメインに含める必要があります)。 ライブラリーなしでこれをどのように改善できま

    0

    1答えて

    私はPrologとPrologの相違点リストの概念を学んでいます。 私は次のコードを持っている:それはリストのリストを生成するSWI-インタプリタで、今私はリスト[1,2,3]を追加した場合 :- op(400, xfx, \). append(Xs, Ys, Zs) :- append_dl([Xs|T1]\T1, [Ys|T2]\T2, Zs\[]). append_dl(X

    0

    1答えて

    私は次の問題を抱えています: 私は頭から尾までリストを1つずつ作りたいと思います。しかし、私は既に挿入された要素に依存する条件を持っています。 condition(Sofar, Element) :- between(1, 150, Element2), \+member(Element2, Sofar), Element = Element2. makelis

    0

    4答えて

    私はPrologを初めて使う人でありネイティブスピーカーではないので、わからないのは残念です。 私の質問は、リストからaとbが同じように表示される場合はどうすれば見つけることができますか? たとえば、[a,a,b,b]は私にtrueを与えますが、一方が他方よりも多く現われる場合はfalseとなります。例:[a,a,a,b,b]。 誰でも教えてください。これは私がこれまで持っていたものであり、間違っ