| dbpprop:abstract
| - Prolog is a logic programming language. It is a general purpose language often associated with artificial intelligence and computational linguistics. It has a purely logical subset, called "pure Prolog", as well as a number of extralogical features. Prolog has its roots in formal logic, and unlike many other programming languages, Prolog is declarative: The program logic is expressed in terms of relations, and execution is triggered by running queries over these relations. Relations and queries are constructed using Prolog's single data type, the term. Relations are defined by clauses. Given a query, the Prolog engine attempts to find a resolution refutation of the negated query. If the negated query can be refuted, i.e., an instantiation for all free variables is found that makes the union of clauses and the singleton set consisting of the negated query false, it follows that the original query, with the found instantiation applied, is a logical consequence of the program. This makes Prolog (and other logic programming languages) particularly useful for database, symbolic mathematics, and language parsing applications. Because Prolog allows impure predicates, checking the truth value of certain special predicates may have some deliberate side effect, such as printing a value to the screen. This permits the programmer to use some amount of conventional imperative programming when the logical paradigm is inconvenient. The language was first conceived by a group around Alain Colmerauer in Marseille, France, in the early 1970s. According to Robert Kowalski, the first Prolog system was developed in 1972 by Alain Colmerauer and Phillipe Roussel. Cite error: Invalid <ref> tag; refs with no name must have content The first implementations of Prolog were interpreters, however, David H. D. Warren created the Warren Abstract Machine, an early and influential Prolog compiler which came to define the "Edinburgh Prolog" dialect which served as the basis for the syntax of most modern implementations. Prolog was one of the first logic programming languages, and remains among the most popular such languages today, with many free and commercial implementations available. While initially aimed at natural language processing, the language has since then stretched far into other areas like theorem proving, expert systems, games, automated answering systems, ontologies and sophisticated control systems, and modern Prolog environments support the creation of graphical user interfaces, as well as administrative and networked applications. Subsequent extensions of Prolog by the original team introduced Constraint Logic Programming abilities into the implementations. (en)
- Prolog (PROgramming in LOGic) er et deklarativt og logikbaseret programmeringssprog . Programmering i Prolog er programmering i logik. Man skriver programmer ved at opstille en sammenhæng af logiske udsagn. Dette medfører et højere abstraktionsniveau i den forstand, at man som programmør bevæger sig væk fra, hvordan man løser et givet problem i de mere maskinnære programmeringssprog til, hvad man gør for at løse det - og dette udtrykt i logik. Et eksempel på et prolog-program, der kan udtrykke en familie-relation, kan være: mand. mand. kvinde. son_af. son_af. far :- son_af, mand. Dette læses, at først har vi en række fakta, fx Harald og Gorm er mænd, mens Thyra deklareres som kvinde. Så defineres et prædikat, søn af, som kan udtrykke, at Harald er søn af Gorm. Nu kan vi bygge videre på programmet og skabe en far-relation, der skal læses sådan, at far gælder for X og Y, hvis X er en mand, og der er et son_af-relation mellem Y og X. Nu kan prolog-fortolkeren spørges, >far? Variablerne X instantieres til Gorm og Y til Harald, hvorefter der fortsættes til son_af, hvilket også lykkedes. Derefter prøves Mand, hvilket lykkedes. Der svares yes! Nu prøver vi om >far(Thyra, Harald)? kan lykkes! Først instantieres variablerne og herefter spørges, om Harald er son_af Thyra, hvilket lykkedes, men da vi kommer til mand, så kan vi ikke finde mand i databasen, og fortolkeren returnerer et no. Familieeksemplet kan naturligvis udbygges i det uendelige. (da)
- Prolog, proveniente del francés Programation en Logique, es un lenguaje de programación lógico e interpretado, bastante conocido en el medio de investigación en Inteligencia Artificial. (es)
- Prolog ist eine Programmiersprache, die Anfang der 1970er Jahre maßgeblich von dem französischen Informatiker Alain Colmerauer entwickelt wurde und ein deklaratives Programmieren ermöglicht. Sie ist die wichtigste logische Programmiersprache. Erste Implementierungen wichen in ihrer Syntax stark voneinander ab, aber der Edinburgh-Dialekt setzte sich bald als Quasistandard durch. Er war jedoch nicht formal definiert, bis er 1995 zur Grundlage eines ISO-Standards wurde (ISO/IEC 13211-1), der auch ISO-Prolog genannt wird. Der erste Prolog-Interpreter wurde in Marseille in ALGOL W realisiert. Der erste Compiler wurde von David H. D. Warren in Edinburgh entwickelt. Dieser hatte als Zielsprache die des Logik-Prozessors Warren's Abstract Machine, was heute noch für die meisten Prolog-Compiler der Fall ist. (de)
- Prolog on tunnetuin logiikkaohjelmointikieli. Nimi Prolog on lyhenne ranskan kielen sanoista PROgrammation en LOGique, sananmukaisesti logiikkaohjelmointi. Kielen kehittivät vuonna 1972 Alan Colmerauer, Philippe Roussel ja Robert Kowalski vaihtoehdoksi LISPille. Logiikkaohjelmointikielenä Prolog poikkeaa melkoisesti proseduraalisista "tavallisista" ohjelmointikielistä. Kielellä tehdyt ohjelmat muodostuvat käskyjen sijaan säännöistä ja kyselyistä. Kyselyllä pyritään selvittämään, pystytäänkö se johtamaan säännöistä käsin. (fi)
- Prolog est l’un des principaux langages de programmation logique. Le nom Prolog est un acronyme de PROgrammation LOGique. Il a été créé par Alain Colmerauer et Philippe Roussel vers 1972. Le but était de faire un langage de programmation qui permettait d'utiliser l'expressivité de la logique au lieu de définir pas à pas la succession d'instructions que doit exécuter un ordinateur. Prolog est utilisé dans de nombreux programmes d’intelligence artificielle et dans le traitement de la linguistique par ordinateur (surtout ceux concernant les langages naturels). Sa syntaxe et sa sémantique sont considérées comme très simples et claires . Beaucoup de recherches menant à l’implémentation actuelle de Prolog vinrent des effets du projet pour les ordinateurs de la cinquième génération qui utilisaient comme base une variante. Prolog est basé sur le calcul des prédicats du premier ordre; cependant il est restreint dans sa version initiale à n’accepter que les clauses de Horn . L’exécution d’un programme Prolog est effectivement une application du théorème prouvant par résolution du premier ordre. Les concepts fondamentaux sont l’unification, la récursivité et le retour sur trace. L'algorithme de résolution de Prolog est basé sur une extension de la SLD-résolution. Une des particularités de Prolog est que l'on peut construire une base de connaissances dans un ordre indéterminé. Prolog peut ensuite résoudre des séries de problèmes logiques relatifs à une telle base de connaissances (notion base de données déductive). (fr)
- Il Prolog (PROgramming in LOGic) è un linguaggio di programmazione che adotta il paradigma di programmazione logica. È stato ideato da Robert Kowalski, Marten Van Emdem, ed implementato da Alain Colmerauer negli anni 70, costituendo un tentativo di costruire un linguaggio di programmazione che consentisse l'espressione del problema in forma logica invece della traduzione di un algoritmo di soluzione in forma di istruzioni da eseguire da parte della macchina. L'attuale implementazione di Prolog è dovuta in gran parte all'efficiente codifica di David H.D. Warren, implementata tramite la sua Warren Abstract Machine . Il Prolog è impiegato in molti programmi di intelligenza artificiale, la sua sintassi e la semantica sono molto semplici e chiare . Il Prolog si basa sul calcolo dei predicati; tuttavia la sintassi è limitata a formule dette clausole di Horn che sono disgiunzioni di letterali del primo ordine quantificate universalmente con al più un letterale positivo. L'esecuzione di un programma Prolog è comparabile alla dimostrazione di un teorema mediante la regola di inferenza detta risoluzione . I concetti fondamentali sono l'unificazione, la ricorsione in coda e il backtracking. (it)
- Prolog(プロローグ、プロログ)は非手続き型プログラミング言語の一つ。論理型言語に分類される。名称はProgramming in Logic の略。 1972年ごろにフランスのカルメラウアーとコワルスキーによって考案された。プログラムは一階述語論理に基づいてデータ間の関係を示す命題として記述され、処理系がそれらにパターンマッチング(ユニフィケーション)を施しながら、与えられた命題が成立するか再帰的手続きによって探索する。 人工知能におけるトップ・ダウン式の問題解決と相性が良いために、人工知能研究とエキスパートシステムの実現のための主要言語として広く採用された。Prologのもととなる演繹手法は導出と呼ばれ、自動定理証明の研究においてProlog開発以前よりよく知られていた。Prologは、導出において節を以下に述べる頭部が一つの命題からのみなるホーン節に限定したものととらえる事が出来る。 (ja)
- Prolog (Fr. programmation en logique, "programmeren met logica") is een logische programmeertaal die ontworpen werd door Robert Kowalski en Alain Colmerauer aan de universiteit van Marseille in het jaar 1973. De taal heeft een sterk logisch en declaratief karakter: feiten en relaties worden gedeclareerd in een eenvoudig soort database die bevraagd kan worden. (nl)
- Prolog (programming in logic) er et deklarativt programmeringsspråk satt sammen av logiske slutninger. Det består både av et rent logisk språk og tilleggsfunksjoner som gjør at man kan bruke programmeringsspråket til det meste, som for eksempel å lage grafiske brukergrensesnitt . Språket brukes mye innen kunstig intelligens. Eksempel: Vi kan deklarere en sannhet ved å fortelle Prolog følgende: katt. som er ekvivalent med katt :- true. Her er noen eksempler på spørringer vi kan spørre Prolog programtolkeren er tom en katt? ?- katt. yes. Hvem er katter? ?- katt(X). X = tom; yes. Prolog er likt predikatlogikk på den måten at det er fult mulig å direkte oversette de fleste predikatlogikk setninger ved å bare erstatte operatorene i setningen med de ekvivalente operatorene til prolog. (no)
- Prolog (od francuskiego Programmation en Logique) to język programowania logicznego - program w Prologu to opis reguły wnioskowania oraz celudo którego zmierzamy, a rola komputera polega na odpowiednim zastosowaniu reguł aby znaleźć rozwiązanie. Prolog został stworzony w 1971 roku przez Alaina Colmeraurera i Phillipe'a Roussela. Używany w wielu programach z zakresu sztucznej inteligencji. Prolog opiera się o rachunek predykatowy pierwszego rzędu, jednak ogranicza się tylko do klauzul Horna. (pl)
- Prolog é uma linguagem de programação que se enquadra no paradigma de Programação em Lógica Matemática. É uma linguagem de uso geral que é especialmente associada com a inteligência artificial e lingüística computacional. Consiste numa linguagem puramente lógica, que pode ser chamada de Prolog puro, e numa linguagem concreta, a qual acrescenta o Prolog puro com componentes extra-lógicos.O uso Prolog puro foi originalmente restrito em provas do teorema da resolução com Cláusulas de Horn do formato:H :- B1, …, Bn..A aplicação do provador de teoremas trata estas cláusulas como procedimentos:para mostrar/resolver H, mostrar/resolver B1 and … and Bn.O Prolog puro foi então estendido para incluir a negação por falha, na qual condições negativas da forma not(Bi) são mostradas por tentativa e falha para resolver as condições positivas correspondentes Bi).O nome Prolog para a linguagem concreta foi escolhido por Philippe Roussel como uma abreviação de “PROgrammation en LOGique”. Foi criada em meados de 1972 por Alain Colmerauer e Philippe Roussel, baseados no conceito de Robert Kowalski da interpretação procedimental das cláusulas de Horn. A motivação para isso veio em parte da vontade de reconciliar o uso da lógica como uma linguagem declarativa de representação do conhecimento com a representação procedimental do conhecimento, que era popular na América do Norte no final da década de 1960 para início de 1970. Muito do desenvolvimento moderno do Prolog veio dos projetos de computadores da quinta geração (FGCS), que desenvolveu uma variante do Prolog chamada Kernel Language para seu primeiro sistema operacional. Apesar do longo tempo de desenvolvimento, Prolog ainda não é uma linguagem portável, já que cada implementação usa rotinas completamente diferentes e incompatíveis entre si. Por exemplo, um programa trivial que faz um loop de ler uma linha da console e escreve a mesma linha, terminando quando for entrada uma linha vazia, é impossível de ser escrito de forma que qualquer interpretador consiga rodar. (pt)
- Пролог (Prolog) — язык и система логического программирования, основанные на языке предикатов математической логики дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка. Основными понятиями в языке Пролог являются факты, правила логического вывода и запросы, позволяющие описывать базы знаний, процедуры логического вывода и принятия решений. Факты в языке Пролог описываются логическими предикатами с конкретными значениями. Правила в Прологе записываются в форме правил логического вывода с логическими заключениями и списком логических условий. Особую роль в интерпретаторе Пролога играют конкретные запросы к базам знаний, на которые система логического программирования генерирует ответы «истина» и «ложь». Для обобщенных запросов с переменными в качестве аргументов созданная систем Пролог выводит конкретные данные в подтверждение истинности обобщенных сведений и правил вывода. Факты в базах знаний на языке Пролог представляют конкретные сведения . Обобщённые сведения и знания в языке Пролог задаются правилами логического вывода и наборами таких правил вывода над конкретными фактами и обобщенными сведениями. Начало истории языка относится к 1970-м годам. Будучи декларативным языком программирования, Пролог воспринимает в качестве программы некоторое описание задачи или баз знаний, и сам производит логический вывод, а также поиск решения задач, пользуясь механизмом бэктрекинга и унификацией. (ru)
- Prolog, ett programspråk för logikprogrammering. Prolog skiljer sig från de flesta andra programspråk i och med att det bygger på logiska uttryck och inte på instruktioner för datorn. Prolog används främst inom områdena artificiell intelligens och språkbehandling. Att programmera i Prolog liknar inte riktigt program skrivna i programspråk som t.ex C, språket är uppbyggt så att man i sitt program definierar klausuler som returnerar sant eller falskt. Man ställer sedan frågor till systemet som med hjälp av de klausuler man definierat kan dra slutsatser och svara på frågor. (sv)
- Prolog(Programming in Logic的缩写)是一种逻辑编程语言。它建立在逻辑学的理论基础之上, 最初被运用于自然语言等研究领域。现在它已广泛的应用在人工智能的研究中,它可以用来建造专家系统、自然语言理解、智能知识库等。 (zh)
|