prolog

Prolog ist die am häufigsten verwendete Logik-Programmiersprache. Es unterstützt nicht-deterministische Programmierung durch chronologische Rückverfolgung und Mustererkennung durch Vereinheitlichung.
2
Antworten

Legitime Verwendung von (\ +) // 1

In den Grammatikregeln ( dcg ) gibt es mehrere vordefinierte Konstrukte: (',')//2 bedeutet Verkettung, ('|')//2 bedeutet Alternation usw. Ein Konstrukt, das von mehreren, aber nicht allen Prolog-Systemen unterstützt wird, ist (\+)//1 ....
06.10.2012, 09:35
2
Antworten

Makros in SWI-Prolog schreiben

Ich versuche, ein einfaches Makro für switch-Anweisungen in SWI-Prolog zu implementieren. Dies ist eine Reihe von bedingten Anweisungen: %Vor% und das ist ein äquivalenter (aber viel langsamer) Ausdruck mit demselben Effekt: %Vor% Ich...
16.06.2016, 18:29
1
Antwort

Mögliche Verhaltensweisen von 'predsort / 3'

Dies ist ein Follow-up zu einem antworten auf eine Frage zum Sortieren nach einem bestimmten Argument eines Begriffs, ohne eine neue Liste für keysort zu erstellen (wenn ich die ursprüngliche Frage richtig verstanden habe). Nehmen wir an...
21.01.2015, 21:00
1
Antwort

Ist dieser Code tail-rekursiv?

Ich versuche eine Lösung für AdventCode Tag 6 in Prolog zu schreiben. ( Ссылка ) Zuvor habe ich eine Lösung geschrieben, die Prädikate dynamisch erstellt und ersetzt, um die Lichter im Auge zu behalten. Es ist nicht überraschend, dass es ziem...
25.12.2015, 19:52
1
Antwort

Bitte erläutern Sie diesen in Prolog geschriebenen Turing Machine Simulator

Der Wikipedia Prolog Artikel enthält diesen Turing Machine Simulator: %Vor% Es gibt ein Beispielprogramm, das: Beim Lesen einer "1" bewegt sich der Kopf nach rechts. Beim Lesen einer Leerstelle, schreibt eine Eins und geht in den End...
02.04.2015, 00:47
4
Antworten

Verwenden Sie Schnitt in Prolog, um eine Funktion once_member / 2 zu definieren

Disclaimer: Dies ist eine informelle und nicht bewertete Kursarbeit in meiner eigenen Zeit. Ich habe es selbst versucht, bin gescheitert und suche jetzt nach einer Anleitung. Ich versuche eine Version der Funktion member / 2 zu implementieren...
26.11.2011, 23:36
2
Antworten

Doppelte Lösungen

Ich habe ein Problem damit, Code zu bekommen, der eindeutige Antworten auf meine Anfrage liefert. Zum Beispiel, zu definieren %Vor% läuft dann %Vor% gibt die Ausgabe: %Vor% Wie Sie sehen können, sind die beiden Lösungen identisch. Gi...
03.10.2010, 15:39
1
Antwort

Generiere alle Permutationen der Liste [1, 1, 2, 2, ..., n, n], wobei die Anzahl der Elemente zwischen jedem Paar gerade in Prolog ist

Ich habe vor kurzem angefangen, Prolog zu lernen, und ich habe eine Aufgabe bekommen, ein Prädikat list(N, L) zu schreiben, das Listen L erzeugt, so dass: L hat die Länge 2N, jede Zahl zwischen 1 und N kommt genau zweimal in L vor, zw...
06.03.2016, 19:04
1
Antwort

Vergleich abstrakter Maschinen zur Ausführung von Prolog

Ich suche nach einer Forschungsarbeit oder einer anderen Publikation, die verschiedene abstrakte Maschinen (mehr als eine) für die Ausführung von Prolog mit Prolog-Interpretern vergleicht, die nicht auf abstact-Maschinen basieren. Was ich bisher...
17.05.2014, 13:17
3
Antworten

Falte eine Teilliste um

Dies ist eine Frage, die durch eine bereits gelöschte Antwort auf diese Frage . Das Problem könnte wie folgt zusammengefasst werden:    Ist es möglich, über eine Liste zu falten, wobei das Ende der Liste beim Falten erzeugt wird? Hier is...
16.09.2016, 12:12