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.
9
Antworten
Ich habe Probleme beim Verständnis der folgenden Faktoren-Programm fact1(0,Result) :- Result is 1. fact1(N,Result) :- N > 0, N1 is N-1, fact1(N1,Result1), Result is Result1*N. Wenn fact1 heißt geschachtelt innerhalb des zweiten fact1, heißt das nicht, dass
4
Antworten
Wie kann ich schreiben Sie die folgende Regel in PROLOG: wenn P, dann nicht Q Ich verstehe, dass Sie können einfach schreiben Sie wenn P dann Q die Prädikate wie q(X) :- p(X), aber wie kann man
3
Antworten
Angesichts der folgenden Fakten und Prädikaten: sound(time1). sound(time2). sun(time3). relax(X):-sound(X),!,sun(X). relax(_):-sun(_). Beim ausführen relax(S). würde ich erwarten, dass man S=time1 aufgrund der ! sagt (korrigiert mich wenn ich falsch Liege), dass wenn die " X " zufrieden
2
Antworten
Ich kann einfach nicht herausfinden, wie man drucken Sie den Wert X. Hier ist, was ich versucht in der Datei: 59 ?- read(X). |: 2. X = 2. 60 ?- write(X). _G253 true. Was ist _G253? Ich
9
Antworten
Habe ich angefangen zu lernen, Prolog und Gedanken über den theoretischen Unterschied von der SQL-Sprache. Beispiel: beide sind deklarative Sprachen beide unterstützen eine Tatsache-driven knowledge-Datenbank beide support-Frage-Stil von von Daten-abrufen von unterstützen beide funktionalen Abhängigkeiten Mehr gemeinsame
2
Antworten
Ich versuche heraus zu finden, wie zum verketten von zwei Atomen: A = 'my ', B = 'atom', Wie kann ich die verketten diese beiden Atome, so dass das Ergebnis ist: 'my atom' ? InformationsquelleAutor der Frage
3
Antworten
Möchte ich die Anzahl der Zeiten, die ein benutzerdefiniertes Prädikat wahr ist. Ich habe zum Beispiel den folgenden code: is_man(john). is_man(alex). ?:-is_man(X). X zurückkehren wird, john, dann, wenn ich drücken Sie das Semikolon wird es auch zurück,
3
Antworten
Ich Schreibe ein kleines Programm, welches zählt, wie viele Elemente in einer Liste sind keine Nummern. Hier ist mein code: not_number(,0). not_number([X|T],R):- not(number(X)), R1 is R+1, not_number(T,R1). not_number([_|Tail],Result):- not_number(Tail,Result). Wenn ich die Ausführung von code wie dieser
1
Antworten
Wunderte ich mich, ich bin mir bewusst, die Sie verwenden können assert zum hinzufügen von Fakten oder Regeln oder was auch immer, wenn Sie erklärt haben, das Prädikat zu -:dynamicaber diese erlaubt nur die änderungen, die vorgenommen
3
Antworten
Ich habe gesehen, einige Antworten hier, die es benutzen und ich weiß nicht, was es bedeutet oder wie es zu benutzen. Ich ist auch schwer zu suchen über eine Suchmaschine 🙂 InformationsquelleAutor der Frage Juanjo Conti |
3
Antworten
Werde ich durch einen Prolog tutorial. Es sagt mir, ich kann andere Last prolog-Dateien, indem Sie Folgendes eingeben: [filename]. aber jedes mal, wenn ich versuche dies immer bin ERROR: load_files/2: Arguments are not sufficiently instantiated. Sich die
5
Antworten
Ich bin auf der Suche nach einem Prädikat, das funktioniert wie dies: ?- subset([1,2,3], X). X = ; X = [1] ; X = [2] ; X = [3] ; X = [1, 2] ; X
8
Antworten
Ich bin völlig neu zu Prolog und versuchen, einige übungen. Einer von Ihnen ist: Schreiben Sie ein Prädikat-Satz(InList,OutList) das als Eingabe eine beliebige Liste, und gibt eine Liste, in der jede element der Eingangs-Liste wird nur angezeigt,
1
Antworten
Habe ich Prädikat P1 liefert, dass die Werte einer nach dem anderen wie diese: -? P1(ARGUMENTS, RETURN). -? RETURN = 1; -? RETURN = 2; -? RETURN = 3; -? fail. Ich auch ein anderes Prädikat genannt
4
Antworten
Ich kann nicht kommen mit einer situation, wo ich es brauche. InformationsquelleAutor der Frage Igor | 2010-06-08
7
Antworten
Von Logik-Programmierung, ich meine die sub-Paradigma der deklarativen Programmiersprachen. Verwechseln Sie diese Frage mit "Welche Probleme kann Sie lösen mit wenn-dann-sonst?" Einer Sprache wie Prolog ist sehr spannend, und es lohnt sich zu lernen, für den Willen
2
Antworten
Würd ich gern Lesen einer text-Datei, und wenden Sie ein Prädikat, um jede Zeile (die Prädikate enthalten write die nicht die Ausgabe). Wie soll ich das tun? InformationsquelleAutor der Frage Igor Marvinsky | 2011-01-26
8
Antworten
Ich würde gerne ein Prolog-Prädikat ersetzen kann, dass ein element in eine Liste an einem bestimmten index. Beispiel: % replace(+List,+Index,+Value,-NewList). ?- L=[a,b,c,d], replace(L,1,z,L2). L2 = [a,z,c,d] Ich weiß nicht, wie dies zu tun. Vielen Dank für Ihre
5
Antworten
Im Kontext einer Java - /Eclipse-Anwendung, die ich verwenden möchten Prolog für eine Besondere Aufgabe. Was sind die verfügbaren Lösungen und tools zu tun, und die damit verbundenen vor-und Nachteile ? Kann ich starten ein externer Prolog-interpreter
4
Antworten
Ich bin mit SWI-Prolog und ich bin versucht zu drucken eine Liste, aber wenn die Liste mehr als 9 Elemente - es so Aussehen, dass - [1, 15, 8, 22, 5, 19, 12, 25, 3|...] gibt es
2
Antworten
Wie kann ich Anhängen Listen in Prolog? Ich habe gesucht im Internet und gefunden habe ich diesen (von http://www.csupomona.edu/~jrfisher/www/prolog_tutorial/2_7.html) append([X|Y],Z,[X|W]) :- append(Y,Z,W). append(,X,X). So bekommt es die Z durch das entfernen der Elemente von [X|Y] im [X|W].
8
Antworten
Ich lese viele Artikel, die versuchen zu verstehen, den Unterschied zwischen funktionalen und Logik-Programmierung, aber der einzige Abzug den ich in der Lage gewesen, so weit ist, dass Logik-Programmierung Programme definiert durch mathematische Ausdrücke. Aber so etwas
5
Antworten
Derzeit arbeite ich an einem sehr kurzen Projekt auf den Prolog, und nur steckengeblieben versucht, einen "filter" die ich erstellt habe, auf eine Liste. Ich habe das, was man nennen könnte den filter bereit, aber ich kann
2
Antworten
Ich bin mit SWI-Prolog unter Windows und erhalte die folgende Fehlermeldung: 14 ?- parent(X, Y) :- child(Y, X). ERROR: toplevel: Undefined procedure: (:-)/2 (DWIM could not correct) Ich bin mir nicht ganz sicher, was Los ist, wie
7
Antworten
Ich bin ein langjähriger python-Entwickler und vor kurzem eingeführt wurden, Prolog. Ich Liebe die Idee, mit Beziehung Regeln für bestimmte Arten von Aufgaben, und möchte hinzufügen, dass dieses zu meinem repertoire. Gibt es gute Bibliotheken für Logik-Programmierung
3
Antworten
Interview-Frage! Dies ist, wie Sie normalerweise definieren die member relation in Prolog: member(X, [X|_]). % member(X, [Head|Tail]) is true if X = Head % that is, if X is the head of the list member(X, [_|Tail]) :-
5
Antworten
Das problem, das ich sehe, ist ein bisschen trivial. Ich möchte zu der Verwendung von logischen, nicht im Prolog, aber es scheint, dass not/1 ist nicht die Sache, die ich möchte: course(ai). course(pl). course(os). have(X,Y) :- course(X),course(Y),not(X
2
Antworten
Ich finde keine Dokumentation über die "ungleich" - Zeichen in Visual Prolog. Bitte geben Sie die richtige Lösung für dieses problem: class predicates sister : (string Person, string Sister) nondeterm(o,o). clauses sister(Person, Sister) :- Person [not-equal-sign] Sister,
8
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:
1
Antworten
Ich bin nur nach dem Buch Sieben Sprachen in Sieben Wochen. Habe ich installiert gprolog in meinem Mac-Rechner mit dem Befehl port install gprolog-devel und führen erste prolog-code. likes(wallace, cheese). likes(grommit, cheese). likes(wendolene, sheep). friend(X, Y) :-
7
Antworten
Muss ich anfangen, zu lernen, Prolog, für meinen job. Habe ich nicht verwendet, Prolog vor und meine Firma muss ein Programm erstellen, wird die Verwendung Prolog. Also das Programm wird kommerziell genutzt werden. So einige Fragen: 1)
2
Antworten
Kann mir jemand erklären den Unterschied zwischen den == und die = operator in Prolog? Ich weiß, dass X = Y bedeutet, dass X vereinigt mit Y ist wahr, wenn X bereits vereint mit Y oder gemacht
6
Antworten
Gibt es einige Besondere Operatoren in Prolog, einer von Ihnen ist "ist", aber, vor kurzem stieß ich auf die =:= Operatoren, und ich habe keine Ahnung, wie es funktioniert. Kann mir jemand erklären, was der Betreiber macht,
2
Antworten
Ich habe dieses Stück code: % Family tree female(pen). male(tom). male(bob). female(liz). female(pat). female(ann). male(jim). parent(pam, bob). parent(tom, bob). parent(tom, liz). parent(bob, ann). parent(bob, pat). parent(pat, jim). Bekomme ich diesen Fehler: Warning: Clauses of female/1 are not
6
Antworten
Nun, da habe ich eine Klasse vor 3 Jahren in A. I. im eindeutig kompetent genug, diese Frage zu stellen......nur ein Scherz, nur ein Scherz 😉 aber im ernst, was ist es über diese Sprachen, die machen
10
Antworten
Wahrscheinlich eine dumme Frage, aber ich finde keine Dokumentation überall. Gibt es eine Möglichkeit zu tun, wenn im prolog, z.B. wenn eine variable 0 ist, dann tun einige Aktionen (schreiben von text in das terminal). Ein anderes
5
Antworten
Welche Art von Problemen besser gelöst in Prolog als in Haskell? Was sind die wichtigsten Unterschiede zwischen diesen beiden Sprachen? Bearbeiten Gibt es eine Haskell-Bibliothek (eine Art logische solver), die nachahmen können Prolog-Funktionalität? InformationsquelleAutor der Frage danatel
5
Antworten
Habe ich nahm einen Kurs, in dem ich lernte einige prolog. Ich konnte nicht herausfinden, wie /Wann schneidet. Obwohl ich die Allgemeine Idee, die Schnitte, die ich kann nicht scheinen, um Sie richtig zu verwenden. Kann jemand
2
Antworten
Arbeite ich an einigen prolog, dass ich neu bin. Ich bin auf der Suche nach einer "oder" - operator registered(X, Y), Y=ct101, Y=ct102, Y=ct103. Hier ist meine Abfrage. Was ich schreiben möchte ist code: "return X, gegeben
4
Antworten
Bin ich reißen meine Haare aus versuchen zu finden, wie man schreiben Sie einfach ein Hallo Welt Programm in Prolog. Ich will einfach nur, um ein Programm zu erstellen, das läuft etwa so: > ./hw Hello, world!
3
Antworten
Ich habe ein Interesse an spielen und fuxing mit prolog, ich habe installiert die swi-prolog und dem repository Hinzugefügt, nur für den Fall jemand interessiert ist, auf welche Befehle die ich verwendet habe: % sudo apt-add-repository ppa:swi-prolog/stable
7
Antworten
Ich habe nur die Arbeit mit Prolog für ein paar Tage. Ich verstehe einige Dinge, aber das ist wirklich verwirrend mich. Ich bin wohl eine Funktion schreiben, die eine Liste und flacht. ?- flatten([a,[b,c],[[d],,[e]]],Xs). Xs = [a,b,c,d,e].
14
Antworten
Schreiben brauche ich einige Prolog-Programme für eine Klasse. Irgendwelche Empfehlungen? InformationsquelleAutor der Frage Marcos Lara | 2008-11-12
4
Antworten
Kann mir jemand sagen, wie der Zugriff auf ein bestimmtes Element einer Liste in prolog? Zum Beispiel sagen, ich brauche, um den Zugriff auf die 3. oder 4. element einer Liste übergeben in der Regel ein? InformationsquelleAutor
1
Antworten
Wie schreiben Sie ein Prolog-Prozedur map(List, PredName, Result) gilt das Prädikat PredName(Arg, Res) auf die Elemente des Listund gibt das Ergebnis zurück in die Liste Result? Beispiel: test(N,R) :- R is N*N. ?- map([3,5,-2], test, L). L
4
Antworten
Was ist einer gut, der andere nicht in der Praxis? Ich verstehe die Theorie von dem, was Sie tun, aber was sind Ihre Grenzen und Möglichkeiten im praktischen Einsatz? Ich überlege mir Drools vs java prolog für
3
Antworten
Ich testete meine neue version von SWI-prolog und halten Sie über die kommenden Fehler :singleton-variable. Beispiel: member(X,[X|T]). member(X,[X|T]) :- member(X,T). findet das Element einer Liste wie : member(yolands,[yolanda,tim]) X = yes aber stattdessen bekomme ich eine singleton
2
Antworten
Ich würde gerne code aus einer anderen Quelle-Datei. Weiß jemand wie das geht? InformationsquelleAutor der Frage cody | 2010-11-04
8
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.