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, kopieren-Listen

Anzahl der Antworten 1 Antworten
im Versuch, meine Arme um einige grundlegende prolog aber kämpfen ein bisschen. in bestimmten - im-versucht haben durch eine Liste von Elementen und kopieren, Element für Element in eine neue Liste. Kann ich es auf der Rückseite,

Prolog Summe die Zahl in der Liste.

Anzahl der Antworten 4 Antworten
Wie Summe alle ungeraden positionierte Elemente in einer Liste Beispiel [1,2,3,4,5,6,7,8,9] = 25 odd(,0]. odd([Z],Z). odd([X,Y|T], Sum+1):- odd(T,Sum). aber es wieder mich 1+3+5+7+9. InformationsquelleAutor user236501 | 2011-11-09

Bubble-sort im Prolog-Sprache

Anzahl der Antworten 5 Antworten
Muss ich implementieren Sie den bubble-sort-Funktion (die Sortier-Algorithmus). Habe ich bereits umgesetzt bubblesort und swap eine Hilfe-Funktion für bubblesort: swap([X,Y|T1],[Y,X|T1]):-(Y<X,!). swap([X|T1],[X|T2]):- swap(T1,T2). bubblesort(,) :- !. bubblesort(T1,T2) :- (bubblesort(swap(T1,T2),T2)). Bekomme ich eine Endlosschleife. Ich muss die Signatur der

Prolog: das Finden der N-te Element einer Liste

Anzahl der Antworten 2 Antworten
Ich bin versucht, suchen das N-te element einer Liste in Prolog. Hier ist der code, den ich bin versucht zu verwenden: Cells = [OK, _, _, _, _, _] . ... next_safe(_) :- facing(CurrentDirection), delta(CurrentDirection, Delta), in_cell(OldLoc),

Umsetzung der "Letzte" in Prolog

Anzahl der Antworten 3 Antworten
Ich versuche, ein Gefühl für die Prolog-Programmierung durch Ulle Endriss' lecture notes. Wenn meine Lösung zu einer übung verhält sich nicht wie erwartet, ich finde es schwer, eine gute Erklärung. Ich denke, das hat zu tun mit

Zurückgeben eines Wertes aus einer Funktion in prolog

Anzahl der Antworten 2 Antworten
Wie können wir die Rückgabe eines Wertes aus einem prolog-Funktion mit nur einem argument? Ex. leaf(V) ist eine Funktion sollte einen Wert zurückgeben V und es wird aufgerufen, aus einem funktionsbaum(leav(V), Summe)? InformationsquelleAutor Aniruddha Tekade | 2016-11-26

Wie - Graph-Färbung in Prolog

Anzahl der Antworten 2 Antworten
Ich versuche, mich der einfache graph-coloring-Algorithmus in Prolog, aber ich bin ein bisschen eine harte Zeit zu verstehen, die Sprache. Ich weiß, was ich will - ich will gehen zu einem Eckpunkt, alle anderen vertices verbunden sind,

Prolog - die erste Liste aus einer Liste von Listen

Anzahl der Antworten 1 Antworten
Ich habe eine Liste, bestehend aus kleineren Listen in der es, jede Liste, bestehend aus 2 Elemente: [[a,1],[b,2],[c,3]] Habe ich mit Hilfe einer Funktion namens nehmen(1,L,R), um das erste Element aus der Liste L und die Rücksendung

prolog avg der Liste

Anzahl der Antworten 3 Antworten
Habe ich den code, der in der Lage zu berechnen, die avg eine Liste, aber das problem ist nur, es hat Fehler, wenn es ist die leere Liste. Ich möchte den Wert false zurück, wenn die Liste

Prolog, aufteilen der Liste in zwei Listen

Anzahl der Antworten 5 Antworten
Hab ich ein problem mit Listen. Was ich tun müssen, ist split eine Liste [1,-2,3,-4], in zwei Listen [1,3] und [-2,-4]. Mein code sieht wie folgt aus: lists(,_,_). lists([X|Xs],Y,Z):- lists(Xs,Y,Z), X>0 -> append([X],Y,Y) ; append([X],Z,Z). und ich

Pattern-Matching - Prolog vs. Haskell

Anzahl der Antworten 5 Antworten
Dies ist keine Hausaufgaben Frage, sondern eine exam study guide Frage. Was ist der Unterschied zwischen pattern matching in Prolog Vs. Haskell? Ich habe getan, einige der Forschung und Lesen, die Theorien dahinter nicht wirklich geben mir

Immer der kleinste Wert einer Liste

Anzahl der Antworten 4 Antworten
Ich bin auf der Suche nach den Minimalwert einer Liste (als Lernerfahrung, also ohne min). Mein Ansatz ist der folgende: minimo([X], X). minimo([X,Y|Tail], N):- (X > Y, minimo([Y,Tail], Y)); (X <= Y, minimo([X,Tail], X)). Dies gibt mir

Überprüfen, ob string Zeichenfolge in Prolog

Anzahl der Antworten 4 Antworten
Gibt es eine Möglichkeit zu überprüfen, ob ein string ein Teilstring eines anderen Strings in Prolog? Ich habe versucht, die Umwandlung der Zeichenkette in eine Liste von chars und anschließend zu überprüfen, ob die erste Menge ist

Entfernen element oder Liste in SWI-Prolog

Anzahl der Antworten 1 Antworten
Anderes problem, ich habe eine gute Arbeit "function" für das löschen: remove(,X,) :- !. remove([X|T],X,L1) :- !, remove(T,X,L1). remove([H|T],X,[H|L1]) :- remove(T,X,L1). Aber es funktioniert nicht wie ich will, dass es funktioniert. Es entfernt element oder sogar Liste...

Cycle detection in graph

Anzahl der Antworten 6 Antworten
Erhalten wir einen Graphen mit den folgenden Fakten: edge(a,b) edge(a,c) edge(b,a) edge(c,d) edge(d,d) edge(d,e) edge(e,f) edge(f,g) edge(g,e) Und wir sind gefragt, um eine Regel zu definieren, cycle(X), bestimmt, wenn es einen Zyklus ab dem Knoten X. Ich

Stellen Prolog Rückkehr eine Lösung und beenden Sie die Anzeige der Abfrage-option

Anzahl der Antworten 2 Antworten
Ich bin neu in prolog und am Experimentieren mit, wie man es halt Abfragen nach findet er eine Antwort. Ich bin mit diesem code: member1(L,[L|_]). member1(L,[_|RS]) :- member1(L,RS),!. Ist das Ergebnis: | ?- member1(3,[3,2,3]). true ? a

Prolog-Programm, um zu bestimmen, wenn die beiden Listen nicht gleich sind

Anzahl der Antworten 2 Antworten
Will ich bauen Sie ein Prolog-Programm, um festzustellen, ob zwei Listen, die Argumente sind nicht gleich. Dies ist, was ich getan habe bisher. not-equal(,[a|_]). not-equal([a|_],[H|T]):-not-equal(a,T). Definieren Sie "gleich". Unifiable? InformationsquelleAutor raym0nd | 2011-10-19

Prolog permutation extrahieren von Lösungen

Anzahl der Antworten 3 Antworten
permutation(, ). permutation(L, [X|Xs]) :- select(X, L, Rest), permutation(Rest, Xs). Wenn ich Typ permutation([1,2,3],R) die erste Lösung ist "[1,2,3]", aber wie man die zweite ohne ";" oder "nicht bestanden". Ich muss an die 2. Lösung wie "[1,3,2]"

Keine Berechtigung zum ändern der statischen Verfahren

Anzahl der Antworten 1 Antworten
Wenn ich ein assert wie: assert(-color(red)). es gibt mir die Fehlermeldung: ERROR: assert/1: No permission to modify static procedure `(-)/1' so, ich ändern -Farbe dynamisch: dynamic -color/4. und jetzt gibt er mir die Fehlermeldung: ERROR: dynamic/1: Type

Prolog flatten Liste

Anzahl der Antworten 1 Antworten
flatten([A|B],R):- (islist(A)->(flatten(A,R1),R=R1);(write(A),append([A],R1,R))), flatten(B,R1). flatten(X,X). islist([_|_]). Dies ist der code, den ich geschrieben aber ich habe seltsames problem.. Bekomme ich 257 ?- flatten([1,,2,[3],[3,[3,5]]],R). 123335335 R = [1, , 2, [3], [3, [3, 5]]] . Obwohl die zahlen von

Prolog undefined Prozedur-Fehler?

Anzahl der Antworten 1 Antworten
erst vor kurzem angefangen zu lernen, Prolog, und ich habe KEINE Ahnung, warum ich immer diese Fehlermeldung. Dies ist der "code" in der .pl-Datei: bigger(elephant, horse). bigger(horse, donkey). bigger(donkey, dog). bigger(donkey, monkey). isbigger(X, Y) :- bigger(X, Y).

Concatting eine Liste von strings in Prolog

Anzahl der Antworten 3 Antworten
Schreibe ich ein Lisp-C übersetzer und ich habe ein problem mit der Handhabung von strings. Dies ist ein code, verwandelt eine einfache Lisp-Funktion, um ein C-äquivalent: define(F) --> fun_unary(F), !. fun_unary(F) --> "(define (", label(Fun), spaces, label(Arg1),

Implementieren Sie ein Prolog-Prädikat, die sagen, wenn ein element gehört zu einer Liste. Probleme mit nicht numerische Listen

Anzahl der Antworten 2 Antworten
Ich studiere Prolog für eine Uni-Prüfung und ich habe Probleme mit dieser übung: Implementieren Sie das Prädikat not_member(X,L) das ist WAHR, wenn das element X gehört nicht auf die Liste L. Wenn meine Argumentation richtig ist, ich

Prolog Labyrinth der Lösung des Algorithmus

Anzahl der Antworten 1 Antworten
Will ich implementieren Sie eine Lösung des Labyrinth-Algorithmus in Prolog. Daher suchte ich für einige Labyrinth lösungsalgorithmen und Folgendes gefunden: http://www.cs.bu.edu/teaching/alg/maze/ FINDEN-PFAD(x, y): if (x,y outside maze) return false if (x,y is goal) return true if (x,y

Was ist SML verwendet?

Anzahl der Antworten 7 Antworten
Was sind die Verwendungen von SML in das eigentliche Wort? Sind seine praktischen Anwendungen ähnlich wie Prolog? InformationsquelleAutor | 2009-04-07

Warum ist dieser prolog Abfrage true und false?

Anzahl der Antworten 2 Antworten
Meine SWI-Prolog-Wissensbasis enthält die folgenden zwei Tatsachen: f(a,b). f(a,c). Nun, wenn dann Stelle ich die Abfrage ?- f(a,c). true. Aber ?- f(a,b). true ; false. Warum ist f(a,b) sowohl wahr als auch falsch? Dies geschieht auch, wenn

Ich will erstellen Sie dynamische Fakten in prolog

Anzahl der Antworten 1 Antworten
Schrieb ich folgenden einfachen code, und ich erwarte, dass, wenn ich Schreibe " Mann.', dieser code bitten, mir einmal: "ist es Männlich?" und wenn ich input 'Nein', Sie schreiben auf dem Bildschirm "Sie eine Frau ist". male

Im Prolog, ist eine Tatsache, die dasselbe wie ein Funktor?

Anzahl der Antworten 3 Antworten
Wenn Sie zum Beispiel nächste Zeile des Prolog-Erklärung: move(state(middle, onbox, middle, hasnot), grasp, state(middle, onbox, middle, has)). Sind beide bewegen und Staat funktoren? Ich bin irgendwie verwirrt durch Fakten, funktoren, Begriffe, ... InformationsquelleAutor Lieven Cardoen | 2013-10-01

wie kann ich drucken Sie alle Datenbank-Fakten in prolog

Anzahl der Antworten 2 Antworten
Ich habe eine Datenbank in prolog, alles was ich will zu tun ist, enuamrate durch Ihr element und drucken Sie eins nach dem anderen. Wie kann das getan werden? fact(is(mike,asthmatic)). fact(has(andy,highPressure)). fact(is(mike,smoker)). Ich habe dies geschrieben, und

prolog - erklären zu müssen union und intersection

Anzahl der Antworten 1 Antworten
/* e */ union([A|B], C, D) :- member(A,C), !, union(B,C,D). union([A|B], C, [A|D]) :- union(B,C,D). union(,Z,Z). /* f */ intersection([A|B], C, D) :- member(A,C), !, intersection(B,C,D). intersection([A|B], C, [A|D]) :- intersection(B,C,D). intersection(,Z,). Können Sie Jungs klar und

Prolog, Gebäude Liste mit bedingten Klauseln

Anzahl der Antworten 4 Antworten
Ich muss diese Hausaufgabe mit prolog (SWI-Geschmack) und kann nicht meinen Kopf um einige Dinge. Zum Beispiel, wenn ich soll zum Durchlaufen einer Liste und fügen Sie die Elemente auf einem anderen, aber NUR, wenn Sie erfüllen

Wie Annulliere in Prolog

Anzahl der Antworten 2 Antworten
Ich bin neu in PROLOG und bin ganz am Anfang der übungen auf auf dieser Seite. In Anbetracht der Regeln Elternteil(X, Y) und männliche(X) ich versuche zu definieren, die in der Regel mother(X, Y) als mother(X, Y)

Code für Prolog-Programm um zu überprüfen, ob eine gegebene Liste ist Palindrom oder nicht, ohne die Verwendung eines reverse-Betrieb

Anzahl der Antworten 5 Antworten
Dies ist, wie man Palindrom mit einem reverse-Betrieb. Prädikate palin(list) findrev(list,list,list) compare(list,list) Klauseln palin(List1):- findrev(List1,,List2), compare(List1,List2). findrev(,List1,List1). findrev([X|Tail],List1,List2):- findrev(Tail,[X|List1],List2). compare(,):- write("\nList is Palindrome"). compare([X|List1],[X|List2]):- compare(List1,List2). compare([X|List1],[Y|List2]):- write("\nList is not Palindrome"). Aber ich möchte es ohne reverse-Betrieb. Kann

Benutzereingaben , Wie können wir es tun?

Anzahl der Antworten 3 Antworten
Wie können wir etwas erhalten, was vom Benutzer in prolog : zum Beispiel : animal(dog). animal(cat). write('please type animal name:'),nl. /* How to read from user and store it to X and then check that user has

Wie bekomme ich die Summe von zahlen in prolog?

Anzahl der Antworten 2 Antworten
Ich bin neu in prolog und ich mache einige übungen für die Praxis. Also ich versuche, die Summe der gegebenen zahlen in eine Liste. Ich versuche zu verwenden: my_last(X, [X]). my_last(X, [_|L]) :- my_last(X, L). (aus hier)

Die Umkehrung einer Liste in Prolog

Anzahl der Antworten 7 Antworten
Ich habe fertig, eine Hausaufgabe für meine Programmierung Klasse. Ich sollte erstellen Sie ein Prolog-Programm, das kehrt eine Liste. Ich bin jedoch Probleme zu verstehen, warum genau es funktioniert. %1. reverse a list %[a,b,c]->[c,b,a] %reverse(list, rev_List). reverse(,).

Prolog: wie Schreibe (und Verwendung) einer Funktion, die Listen alle Listen-Permutationen?

Anzahl der Antworten 3 Antworten
Habe ich gefunden, so ein Beispiel der naiven Art, geschrieben in prolog und ich bin versucht, es zu verstehen: naive_sort(List,Sorted):-perm(List,Sorted),is_sorted(Sorted). is_sorted(). is_sorted([_]). is_sorted([X,Y|T]):-X=<Y,is_sorted([Y|T]). perm(List,[H|Perm]):-delete(H,List,Rest),perm(Rest,Perm). perm(,). delete(X,[X|T],T). delete(X,[H|T],[H|NT]):-delete(X,T,NT). Naive_sort Aufruf korrekt funktioniert, aber ich kann einfach nicht herausfinden,

Sortieren einer Liste in Prolog

Anzahl der Antworten 2 Antworten
Prolog hat eine einzigartige Weise des Umgangs mit Dingen, zumal praktisch jede operation beinhaltet die Rekursion der einen oder anderen Art. Eines der klassischen Beispiele für jede Sprache ist die Sortierung einer Liste von Integer-zahlen in aufsteigender

Was sind die Vorteile der Verwendung von Prolog gegenüber anderen Sprachen?

Anzahl der Antworten 7 Antworten
Jeder Sprache, die verwendet wird, verwendet wird für seine Vorteile, in der Regel. Was sind die Vorteile von Prolog? Was die Allgemeine Situation/Problematik wo kann man verwenden, Prolog effizienter als jede andere Sprache? InformationsquelleAutor Lazer | 2009-10-03

Wie machst du eine Verschachtelte if-else-Anweisung im Prolog?

Anzahl der Antworten 2 Antworten
Wenn ich diese Funktion haben: min(List1, List2, Output) :- length(List1, N), length(List2, M), ( N < M -> Output = 'true' ; Output = 'false' ). aber was ist, wenn ich wollte auch überprüfen, ob N ==

Wie können make-Arrays in prolog?

Anzahl der Antworten 6 Antworten
Ich möchte ein array in Prolog. Wie kann es tun? Wie kann der Zugriff auf die Elemente? tnx, ich kenne diesen link. und etwas über Listen in prolog, aber ich wollen, etwas zu lernen, wie Arrays in

Wie zum ausführen von prolog-code?

Anzahl der Antworten 4 Antworten
Ich arbeite an einem Stammbaum in prolog. Ich habe keine Ahnung, wie zu kompilieren und führen Sie dieses Programm. Bitte geben Sie mir einige grundlegende Schritte, um es auszuführen. Sind Sie mit Windows oder Linux? Haben Sie

nicht die Regel in prolog funktioniert nicht wie erwartet

Anzahl der Antworten 1 Antworten
Ich versuche zu schreiben, ein einfaches Labyrinth-such-Programm in prolog, bevor ich einen Raum hinzuzufügen besucht Liste, die ich bin der überprüfung, ob Sie bereits ein Mitglied der angesehenen Liste. Aber ich kann nicht ankommen dieses zu wirken,

Prädikat control in Prolog

Anzahl der Antworten 2 Antworten
Haben eine Neugier bezogen auf Prolog-Prädikat Kontrolle. Angeblich habe ich ein Prädikat f(A,X) und g(B). f(A,X):- a,b,c, g(X). g(B):- true. a - returns true b - returns true. c - returns false. where a,b and c are

Lösung des N-Damen-Problem... Wie weit können wir gehen?

Anzahl der Antworten 9 Antworten
Des N-Damen-Problem: Dieses problem besagt, dass, gegeben ein Schachbrett der Größe N durch N ist, finden die verschiedenen Permutationen, in der N Damen auf dem Brett platziert werden, ohne dass ein bedrohen sich gegenseitig. Meine Frage ist:

Eingebettete Prolog-Interpreter/Compiler für Java

Anzahl der Antworten 13 Antworten
Arbeite ich an einer Anwendung in Java, die Bedürfnisse zu tun, die eine komplexe Logik Regel Abzüge als Teil seiner Funktionalität. Ich möchte code meiner Logik Abzüge in Prolog oder eine andere Logik/constraint programming language, anstelle von

Wie berechnen Sie den Index des Elements in einer Liste?

Anzahl der Antworten 3 Antworten
Bin ich angefangen zu spielen mit prolog, und mit einem Java-hintergrund, es ist wirklich schwierig für mich, hier ist also eine dumme Frage: Wie Sie schreiben, eine indexOf-Prädikat zu geben in der Lage den index ein bestimmtes

Datalog vs. CLIPS vs. Prolog

Anzahl der Antworten 2 Antworten
Wie viele Programmierer ich studierte Prolog in der Universität, aber nur sehr wenig. Ich verstehe, dass Prolog und Datalog sind eng verwandt, aber Datalog ist einfacher? Ich glaube auch, dass ich gelesen habe, dass Datalog hängt nicht

Prolog Stammbaum

Anzahl der Antworten 6 Antworten
Habe ich es aber nicht zeigt Antworten, Wenn ich Fragen über die Brüder,Schwestern,Onkel,Tanten Dies ist, was ich schrieb, was ist falsch ? /*uncle(X, Y) :– male(X), sibling(X, Z), parent(Z, Y).*/ /*uncle(X, Y) :– male(X), spouse(X, W), sibling(W,

Wie hinzufügen am Ende der Liste in prolog

Anzahl der Antworten 2 Antworten
Ich versuche, fügen Sie ein Element am Ende einer Liste in prolog, aber es hält auf, zu scheitern. insertAtEnd(X,[ ],[X]). insertAtEnd(X,[H|T],[H|Z]) :- insertAtEnd(X,T,Z). letters([a,b,c]). Verstehe ich nicht, warum das unten nicht funktioniert. insertAtEnd(d,letters(Stored),letters(Stored)). Ich bin auch der