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.
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,
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
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
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),
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
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
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,
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
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
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
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
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
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
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...
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
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
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
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]"
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
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
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).
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),
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
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
7
Antworten
Was sind die Verwendungen von SML in das eigentliche Wort? Sind seine praktischen Anwendungen ähnlich wie Prolog? InformationsquelleAutor | 2009-04-07
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
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
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
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
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
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
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)
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
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
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)
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(,).
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,
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
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
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 ==
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
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
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,
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
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:
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
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
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
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,
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