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: 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

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