Tag: prolog

Prolog ist die am häufigsten verwendete Logik-Programmiersprache. Es unterstützt nicht-deterministische Programmierung durch chronologisches backtracking und pattern-matching durch die Einheit.

Prolog - die erste Liste ist die Teilliste der zweiten Liste?

Anzahl der Antworten 4 Antworten
Beispiel: isin([1,2,3], [1,0,1,2,3,0]) ergibt true, da 123 ist in 101230 Schrieb ich den folgenden code: isin([AH|AT],[AH|AT]). isin([AH|AT],[BH|BT]):- AH = BH, isin(AT,BT),isin([AH|AT],BT). scheint nicht zu arbeiten. Versuchen Sie nicht, alle eingebauten Funktionen und BTW, der Prolog hat ein

So erstellen Sie eine Tatsache in SWI-Prolog?

Anzahl der Antworten 2 Antworten
Ich will einfach nur, um etwas zu schaffen wie: like(x,y). Ich habe versucht, für eine lange Zeit und bin wirklich frustriert, könnte jemand bitte sagen Sie mir, wie es zu tun???!!! Eigentlich gibt es zwei Möglichkeiten, in

Ausführung-operation für jedes element in der Liste in swi-prolog und andere

Anzahl der Antworten 1 Antworten
Wie mache ich eine operation für jedes element einer Liste, in Ordnung? Basierend auf diesen zwei Ressourcen: http://www.swi-prolog.org/pldoc/doc/swi/library/lists.pl http://www.swi-prolog.org/pldoc/doc_for?object=foreach/2 Stell ich immer verlassen können: foreach(member(X, [1,2]), write(X)). Ist, dass deterministische und kann ich wickeln Sie das Mitglied/2

Dynamic rule assertion in SWI-prolog

Anzahl der Antworten 2 Antworten
Ich versuche eine Regel hinzufügen, die dynamisch auf die knowledge base verwenden SWI-prolog, wo der Körper der Regel ist im Voraus nicht bekannt. Die gewünschte Regel wie folgt aussieht: rule(a) :- fact(1), fact(2). Normalerweise würde man einfach

Prolog - wie um zu überprüfen, ob eine Liste schließt bestimmte Elemente?

Anzahl der Antworten 1 Antworten
Ich versuche aus Prolog zum ersten mal und bin mit ein wenig Schwierigkeiten bei der Verwendung von Listen. Sagen, ich habe eine Liste von Elementen. Ich möchte, um zu überprüfen, dass die Liste besteht aus folgenden Elementen:

Suche alle Pfade und den kürzesten Pfad für eine Grafik - Prolog

Anzahl der Antworten 2 Antworten
Ich habe ein problem in meinem code mit turbo-prolog, die durchsucht alle Pfade und den kürzesten Weg in einem Graphen zwischen 2 Knoten. Das problem, das ich habe, ist zu testen, ob der Knoten in der Liste

SWI-Prolog: ERROR: is/2: Arguments nicht ausreichend instanziiert

Anzahl der Antworten 1 Antworten
Ich versuche, erstellen Sie ein Programm, das druckt, wie viele glatte zahlen sind in einem Intervall. Ein Teil der code ist hier: countsmooth(_, , _, _, Count) :- Count is 0. countsmooth(X, [H|T], Min, Max, Count) :-

Prolog if/else-Anweisung mit "oder" - Bedingung

Anzahl der Antworten 1 Antworten
Ich bin neu in Prolog, und ich bin versucht zu schreiben, eine if/else-Anweisung mit einer "oder" - Bedingung. Also, um zu demonstrieren, möchte ich etwas wie: gothrough([H|T], B, C):- ( T == or H == 'then'

Binary Tree In Prolog

Anzahl der Antworten 1 Antworten
Binäre Baum definiert werden können, in Bezug auf die 2 Prädikate: emptyBT, der leere binäre Baum. BTTree(N,T1,T2) das ist wahr, wenn N ist die Wurzel eines binären Baumes mit linkem Teilbaum T1 und rechten Teilbaum T2, wo

"nicht" - operator oder der negation in Prolog

Anzahl der Antworten 3 Antworten
Hintergrund Schreiben brauche ich eine relation von Leistung(P) , sieht durch die Liste und entscheidet, ob alle, aber ein element von P ist null. Hier ist was ich habe: %I have a relation called zero(P) which decides

Wie schreibt man IF -, ELSE-Bedingungen in Prolog

Anzahl der Antworten 1 Antworten
Ich bin ein C# - Kerl und sehr neu in prolog. Ich brauche zum schreiben ein prolog-Programm für das folgende Szenario. Kann mir jemand bitte helfen, es zu erreichen. Zwei Personen teilen sich eine Kommode. Brust 4

Ausdrucken von Elementen der Liste in Prolog

Anzahl der Antworten 2 Antworten
Ich habe eine Liste, X, enthält drei Elemente; ID, Name und Klasse. Alle Benutzereingaben werden read_student_info([A, B, C]), nl, nl, menu([[A, B, C] | X]). read_student_info([A, B, C]) :- write('\tStudent ID: '), read(A), write('\tStudent Name: '), read(B),

Variablen und wie werden Sie festgelegt und verwendet im prolog

Anzahl der Antworten 2 Antworten
http://www.csupomona.edu/~jrfisher/www/prolog_tutorial/2_1.html So auf, dass tutorial, wo es ist: conflict(Coloring) :- adjacent(X,Y), color(X,Color,Coloring), color(Y,Color,Coloring). Verstehe ich das richtig, dass die Farbe ist eine variable und ein Wert nach dem ersten Aufruf color und dann wird dieser Wert verwendet,

Programm für das Auffinden von Gcd in Prolog

Anzahl der Antworten 5 Antworten
Ich zu schreiben versucht, einen code in Prolog für die Suche nach GCD (ohne modulo) kann mir jemand sagen, was ist Los mit diesem Programm? gcd(X,Y,Z):- X>=Y, X1=X-Y, gcd(X1,Y,Z). gcd(X,Y,Z):- X<Y, X1=Y- X, gcd(X1,X,Z). gcd(0,X,X):- X>0. InformationsquelleAutor

Prolog - fügen Sie einige Elemente, die gleiche Liste

Anzahl der Antworten 4 Antworten
Ich habe ein problem, um das hinzufügen von Elementen in einer Liste in Prolog. Ich benutze diese Regel: add(X, L, [X|L]). Dieser Regel fügen Sie ein element im Kopf der Liste. Wenn ich möchte hinzufügen, einige element

Läuft SWI Prolog Mac via Terminal

Anzahl der Antworten 2 Antworten
Ich versuche zu laufen prolog vom terminal. Ich habe die installierte version 7.2.2 und fügte hinzu, es an meinem Umfeld Pfad mit dem Befehl: PATH=$PATH:/Applications/SWI-Prolog.app/Contents/MacOS Dann begann ich tippte swipl aber dieser Fehler wird zurückgegeben, statt: Illegal

Prolog: Liste von zahlen

Anzahl der Antworten 2 Antworten
Wie kann ich eine Liste erstellen mit zahlen von 1 bis N, wobei N >= 0? Prädikat: zahlen(N, L). ?-­ numbers(5,X). X = [1, 2, 3, 4, 5]. ?­- numbers(0,X). X = . Ist dieses Hausaufgaben? Was haben Sie bisher ausprobiert? Wenn Listen beteiligt sind, müssen Sie

Die Integration von Prolog mit C#

Anzahl der Antworten 7 Antworten
Kennt jemand eine schöne (und möglichst Kostenlose) Möglichkeit für die Integration von Prolog und C#? Im suchen, um eine Prolog-dll oder ähnlichen Anruf von meinem managed code und rufen eine Antwort nachdem alle die Bearbeitung abgeschlossen ist.

Bestimmen, ob eine Liste leer ist oder nicht

Anzahl der Antworten 3 Antworten
Ich will ein paar if | else Sachen in prolog. Unten ist mein code, Prolog zurück '- R = false' wenn mein input-Liste nicht leer ist, wird es wieder "falsch", wenn meine Liste ist leer. Was vermisse

Summe der ersten n zahlen in prolog

Anzahl der Antworten 5 Antworten
Hallo kann mir jemand helfen bei der Berechnung der Summe der ersten n zahlen. Für das Beispiel n=4 => Summe = 10. Bisher habe ich dies schrieb, predicates sum(integer,integer) clauses sum(0,0). sum(N,R):- N1=N-1, sum(N1,R1), R=R1+N. Diese arbeitet,

Wie findet man das N-te element einer Liste in Prolog

Anzahl der Antworten 2 Antworten
Ich bin versucht, schreiben Sie ein Prolog-code finden Sie die n-te element einer Liste. Ich schrieb den code unten, aber es nicht zurückgeben, das element rechts. match([Elem|Tail],Num,Num,Elem). match([Elem|Tail],Num,C,MatchedNumber):- match(Tail,Num,N,Elem), C is N+1. In der ersten Zeile sage

E-Modul in Prolog

Anzahl der Antworten 1 Antworten
Ich versuche verwenden eine bedingte Anweisung, wenn N auch etwas tun, sonst tun Sie etwas anderes. Hier ist ein Teil von meinem code, wo ich bin, dies zu tun: (N,Lines,1):-write(N),nl, ( mod(N,2) = 0 -> write('Hello'),nl,write('Again Hello')

Prolog - Suche eine Liste für ein element, drucken Sie die Liste, wenn das element gefunden wird

Anzahl der Antworten 2 Antworten
So, ich bin versucht, zu schreiben ein kleines Programm, das das folgende tut. Kann ich Suche nach einem element in einer Liste, falls das element in der Liste gefunden wird, dann wird die Liste ausgedruckt, um zu

Prolog "Out of local stack" Fehler

Anzahl der Antworten 2 Antworten
Hier ist mein einfaches Prolog-Programm: friend(X,Y):- knows(X,Y). friend(X,Z):- friend(X,Y), friend(Y,Z). knows(brian,tom). knows(tom,peter). Wenn ich geben Sie die folgende Abfrage friend(brian,peter). Prolog geben Sie die folgende Ausgabe: ?- friend(brian,peter). true Wenn ein weiterer Typ ein Semikolon, Prolog sagen:

Prolog: Und-Oder-Ausdrücke (Boolesche Funktion)

Anzahl der Antworten 2 Antworten
Ich mache die Hausaufgaben zu implementierenden zwei relations-und(A,B) und oder(A,B), die für die logischen "UND" und das logische "ODER" - Operationen auf zwei Boolesche Operanden A und B. die Relation und(A,B)gilt, wenn A und B beide true

Prolog-Listen und-Parametern und return-Werten

Anzahl der Antworten 2 Antworten
Ich bin neu in prolog und das kann ich einfach nicht verstehen. Ich versuche ein einfaches Programm erstellen, erhält eine Liste von Prädikaten, sucht für ein bestimmtes Prädikat in der Liste, und wendet eine Funktion auf, die

Even und Odd-Listen

Anzahl der Antworten 3 Antworten
Ich versuche zu implementieren ist ein Prolog-Programm, das aufteilen einer Liste in zwei Listen. Die erste enthält die zahlen selbst in Positionen, und die zweite die Zahl ist ungerade Positionen. E. g.: even_odd([1,2,4,7,5],Even,Odd). führt Even=[2,7]. und Odd=[1,4,5].

Prolog eine Liste Erstellen

Anzahl der Antworten 4 Antworten
Habe ich die Erstellung einer Liste von n Elementen, zum Beispiel, do_list(5,L1). zurückkehren sollte, L1=[1,2,3,4,5]. Dies ist, was ich habe, aber es funktioniert nicht. do_list(X,L1):- X1 is X-1, do_list(X1,[X1|L1]). do_list(0,). InformationsquelleAutor xKalelX | 2012-04-18

Umsetzung der "For-Schleife" auf prolog

Anzahl der Antworten 7 Antworten
Wie zu Implementieren mit Rekursion und cut-off-Zyklus des Zählers (wie for i: = 1 downto N do <operator>) ? Bitte deutlicher erklären, was Sie wollen, tun, tun. Wenn Sie das implementieren von Schleifen in Prolog, dann machst

Prolog-Programm Um Zu Überprüfen, Ob Eine Zahl Eine Primzahl Ist

Anzahl der Antworten 5 Antworten
Schrieb ich das folgende Programm basiert auf der Logik, dass eine Primzahl ist nur teilbar durch 1 und sich selbst. Also ich gehe einfach durch den Prozess der Teilung, um alle zahlen, die größer als eins und

Arbeiten mit der Liste von Listen in Prolog

Anzahl der Antworten 2 Antworten
Bitte helfen Sie mir dieses problem zu lösen: Ich habe eine Liste von Listen [[1,2],[3,4]] Wie bekomme ich: [1,3] [1,4] [2,3] [2,4] Oder wenn ich eine Liste von Listen [[1,2],[3,4],[6,7]] Wie bekomme ich: [1,3,6] [1,3,7] [1,4,6] [1,4,7]

Prolog: die Überprüfung, ob etwas ist das Letzte Element in der Liste?

Anzahl der Antworten 4 Antworten
Ich bin neu in prolog und bin im Grunde beim schreiben eine Klausel, die würde als true ausgewertet werden, wenn ein bestimmtes Element ist das Letzte Element in einer gegebenen Liste. Hier ist, was ich habe: last(X,[Y|X]).

Mit Prolog: eine Liste prüfen, ob das erste element der Liste gleich dem letzten element

Anzahl der Antworten 1 Antworten
Mit prolog, muss ich eine Regel erstellen, die bestimmt, wenn man eine Liste, wenn das erste element der Liste gleich dem letzten element der Liste. Unten ist mein denken. The Base Cases: 1) If The Parameter Is

code zum vergleichen von zwei strings in prolog

Anzahl der Antworten 1 Antworten
Habe ich gelernt prolog.. ich bin mit einem editor namens prol1.1.1 ich schreiben müssen Regel zum vergleichen von 2 strings, wenn ich so etwas wie rel(a1,b1). rel(a2,b2). rel(b2,c2). associatedWith(X,Y,Z) :- rel(X,Y),rel(Y,Z). ?- associatedWith(X,Y,Z). funktioniert es aber wenn

Rekursion in prolog (auf Listen)

Anzahl der Antworten 4 Antworten
kann mir bitte jemand helfen nur w/die Grundlagen zur Durchführung rekursive prolog-Funktionen.. append(,X,X). % base append([X|Y],Z,[X|W]) :- append(Y,Z,W). %recursive % base case addup(, 0). % sum of the empty list of numbers is zero % recursive case:

Prolog - Erste Syntax-Fehler - Operator Erwartet

Anzahl der Antworten 4 Antworten
Bin ich angefangen zu lernen, Prolog, und ich bin in ein compiler-Fehler mit meinem code. Ich versuche, code zu schreiben, der prüft, ob eine Familie in die Armut, wenn Sie bestimmte Bedingungen erfüllen. Die Letzte Zeile zwei

prolog trace wie zu verwenden

Anzahl der Antworten 2 Antworten
Wie gehen Sie den zweiten Schritt, wenn die trace-prolog-Programm? Zum Beispiel, ich möchte trace folgende einfache Programm: length1(,0). length1([_X|Xs],N):- length1(Xs,N1), N is N1+1. Ich-trace-Programm: ?- trace,length([1,2,3],N). Call: (7) length([1, 2, 3], _G231) ? Exit: (7) length([1, 2,

Wie Sie access-Liste Permutationen in prolog?

Anzahl der Antworten 3 Antworten
Ich möchte die access-Liste permutation und übergeben Sie Sie als argument an andere Funktionen übergeben werden. Dies ist die permutation code: takeout(X,[X|R],R). takeout(X,[F|R],[F|S]) :- takeout(X,R,S), write(S). perm([X|Y],Z) :- perm(Y,W), takeout(X,Z,W). perm(,). Bitte erklären Sie Ihr problem klar

set union-operation in Prolog : Erklärung

Anzahl der Antworten 3 Antworten
union([H|T],,[H|T]). union(,[H|T],[H|T]). union([H|T], SET2, RESULT) :- member(H,SET2), union(T,SET2,RESULT). union([H|T], SET2, [H|RESULT]) :- not(member(H,SET2)), union(T,SET2,RESULT). Ich bin in der Lage zu verstehen, dass es ist das Durchlaufen der ersten Liste und das hinzufügen auf der Grundlage, ob das

Gibt einen Wert zurück, nachdem eine Rekursion in Prolog

Anzahl der Antworten 2 Antworten
Ich entschied mich für das Studium einige Logik-Programmierung und ich stieß auf ein problem. Es ist programmiert in SWI-Prolog. test(A, B, N):- nonvar(B), B = final, true. test(A, B, N):- N > 2, test(A, final, N). test(A,

Liste Länge in Prolog

Anzahl der Antworten 4 Antworten
Ich bin Anfänger in Prolog-Programmierung. Ich schrieb dieses Programm, um die Berechnung der Länge einer Liste. Warum ist unten das Programm falsch? length(0, ). length(L+l, H|T) :- length(L, T). Schrieb ich unter Programm und es funktioniert einwandfrei.

Prolog Länge einer Liste

Anzahl der Antworten 2 Antworten
Wie kann ich die Berechnung der Länge einer Liste ?- size_sub([[b,a,g], [9,3,7,4], [6]], X). X = [3, 4, 1]. ?- size_sub([[c,g,e,w], [7]], X). X = [4, 1]. ?- size_sub(, X). X = . ist, die Letzte richtige?

So rufen Sie ein Prädikat von einem anderen Prädikat in Prolog?

Anzahl der Antworten 3 Antworten
So, ich habe gerade angefangen, der Prolog und ich Frage mich zwei Dinge: 1) gibt es eingebaute Funktionen (oder sind Sie alle aufgerufen, Prädikate?) für einfache Dinge wie das Maximum von 2 zahlen, oder Sinus von einer

Zusammenführen von Listen in PROLOG?

Anzahl der Antworten 3 Antworten
Brauche ich zum Zusammenführen von zwei Listen L1=[1,2,3] und L2=[a,b]: M=[1,a,2,b,3]. Wie kann ich es in PROLOG bitte? InformationsquelleAutor Jakub Turcovsky | 2013-04-10

So erstellen Sie eine Liste von Fakten in Prolog?

Anzahl der Antworten 1 Antworten
Es gibt diese Fakten: man(john). man(carl). woman(mary). woman(rose). Ich brauchen, um das Prädikat Leute(Liste) gibt eine Liste mit den Namen jedes Mannes und jeder Frau auf der Grundlage der bisherigen Fakten. Dies ist, was ich brauche als

Liste Länge, einlegen element

Anzahl der Antworten 4 Antworten
Ich versuche, ein Programm zu schreiben in Prolog, die das einfügen eines Elementes in eine bestimmte position, also z.B. ?- ins(a, [1,2,3,4,5], 3, X). X = [1,2,a,3,4,5]. Ich habe den folgenden code: ins(X,[H|T],P,OUT) :- length([T3],P), concatenate(X,[H],T), ins(...).

schreiben prolog-Anweisung mit der not-operator

Anzahl der Antworten 1 Antworten
Habe ich Prolog-Aussagen wie diese verb('part_of-8'). noun('doctor_investigation_system-2'). noun('dis-4'). berelation('be-6'). verb('be-6'). noun('hospital_information_system-11'). noun('his-13'). rel('part_of-8', 'doctor_investigation_system-2'). rel('doctor_investigation_system-2', 'dis-4'). rel('part_of-8', 'be-6'). rel('part_of-8', 'hospital_information_system-11'). rel('hospital_information_system-11', 'his-13'). associatedWith(X,Y,Z) :- verb(Y), noun(X), noun(Z), X\=Y, Y\=Z, Z\=X, rel(X,Y), rel(Y,Z), not(beralation(X)), not(beralation(Z)), not(beralation(Y)). mein Ziel

So entfernen Sie Duplikate aus einer Liste in SWI-Prolog?

Anzahl der Antworten 5 Antworten
So muss ich schreiben, ein Prädikat, das remove_duplicates/2 entfernt doppelte Elemente bilden eine gegebene Liste. Zum Beispiel: ?- remove_duplicates([a,a,b,c,c], List). List = [a,b,c] Yes Bitte halten Sie im Verstand ich bin nur zu lernen SWI-Prolog für zwei

Prolog-Iteration durch Liste

Anzahl der Antworten 1 Antworten
Sagen wir, ich habe die Liste Xs = [a,b,c]. Jetzt möchte ich zum iterieren durch alle Elemente und rufen Sie eine andere Funktion für diese Elemente. Meine Frage ist: wie tun Sie dies, indem Sie den Kopf

Inkrementieren von zahlen in prolog

Anzahl der Antworten 1 Antworten
Ich versuche, umzusetzen einen Zuwachs in prolog, und haben geschrieben das folgenden code: coordenate(X,Y,Z):- X is 1, Y is 1, Z is 1, coordenate(X1,Y1,Z1), X1 is X+1, Y1 is Y+1, Z1 is Z. Auch habe ich versucht: