Logic programming
http://dbpedia.org/resource/Logic_programming an entity of type: Thing
La programació lògica consisteix en l'aplicació del corpus de coneixement sobre lògica per al disseny de llenguatges de programació; no ha de confondre's amb la disciplina de la lògica computacional. La programació lògica és un tipus de paradigmes de programació dins del paradigma de programació declarativa. La resta dels subparadigmes de programació dins de la programació declarativa són: programació funcional, programació basada en restriccions, programes DSL (de domini específic) i híbrids. La programació lògica gira entorn del concepte de predicat, o relació entre elements. La programació funcional es basa en el concepte de funció (que no és més que una evolució dels predicats), de caràcter més matemàtic.
rdf:langString
البرمجة المنطقية (بالإنجليزية: Logic programming) هي بمفهومها العام استعمال المنطق الرياضي من أجل برمجة الحاسوب. ويستعمل المنطق لغة تصريحية للتعبير عن المشكلة. خلاف الكثير من لغات البرمجة التقليدية فإن المبرمج في البرمجة المنطقية لا يقوم بحل المشكلة بشكل كامل، وانما يقع على عاتقه مسؤولية جزئية في حل المشكلة، وهي بتمثيل القضايا والمعارف بصفة منطقية (logical form)، ويقع الجزء الآخر لحل المشكلة على ما يدعى بمبرهن القضايا (theorem-prover) أو مولد النماذج (model-generator) الذي يقوم بحل المشكلة بشكل فعال.
rdf:langString
La programación lógica es un tipo de paradigma de programación dentro del paradigma de programación declarativa. El resto de los subparadigmas de programación dentro de la programación declarativa son: programación funcional, programación con restricciones, programas DSL (de dominio específico) e híbridos. La programación funcional se basa en el concepto de función (que no es más que una evolución de los predicados), de corte más matemático. La programación lógica gira en torno al concepto de predicado, o relación entre elementos.
rdf:langString
Foirm ríomhchláraithe a bhaineann níos mó le measúnú na rialacha ná ceisteanna ar threoracha don ríomhaire. Is teangacha don ghnó seo LISP agus Prolog.
rdf:langString
논리형 프로그래밍(論理型 프로그래밍, 영어: logic programming)은 논리 문장을 이용하여 프로그램을 표현하고 계산을 수행하는 개념에 기반을 둔다. 논리형 프로그래밍에서 볼 수 있는 일종의 논리 문장들은 (반드시 그런 것은 아니지만) 형태로 되어 있다: G if G1 and … and Gn 이러한 프로그램들은 이를테면 에서와 같이 순수하게 선언적으로 이해할 수 있다. 그러나 이들은 목표 추론 절차와 같이 절차적으로 이해할 수도 있다.: to show/solve G, show/solve G1 and … and Gn 위의 예는 프롤로그의 예이다. (answer set programming) 분야는 절대 문절 형태가 선택에 의해 확장되는 하나의 예이다.
rdf:langString
論理プログラミング(Logic Programming)とは、数理論理学(記号論理学)を基礎にしたプログラミングパラダイム、または数理論理学のコンピュータプログラミングへの応用である。形式論理の論理式をソースコードの書式に投影することが基本になる。プログラミングに適用するための幅広い解釈が加えられており、研究対象としての論理プログラミングは非常に多様である。 より一般的に受け入れられている論理プログラミングは、述語論理を基礎にし、問題領域の事実と規則を論理式モデル書式で表現して(ロジック)非決定性の演繹の導出原理を用いる(コントロール)というものである。このアルゴリズムスタイルで最も普及した論理プログラミング言語は「Prolog」である。
rdf:langString
邏輯編程(逻辑程序设计)是種編程典範,它設定答案須符合的規則來解決問題,而非設定步驟來解決問題。過程是 算法=邏輯+控制。 不同的方法,可以看英語:Inductive logic programming。 邏輯編程的要點是將正規的邏輯風格帶入電腦程式設計之中。數學家和哲學家發現邏輯是有效的理論分析工具。很多問題可以自然地表示成一個理論。說需要解答一個問題,通常與解答一個新的假設是否跟現在的理論無衝突等價。邏輯提供了一個證明問題是真還是假的方法。建立證明的方法是人所皆知的,故邏輯是解答問題的可靠方法。邏輯編程系統則自動化了這個程序。人工智能在邏輯編程的發展中發揮了重要的影響。 是邏輯編程社群的著名問題。電腦須自行找出令猴子接觸香蕉的可行方法,取代程式設計師指定猴子接觸香蕉的路徑和方法。 邏輯編程建立了描述一個問題裏的世界的邏輯模型。邏輯編程的目標是對它的模型建立新的陳述。世界上知識不斷膨脹。傳統來說,我們會將一個問題陳述成單一的假設。邏輯編程的程式透過證明這個假設在模型裏是否為真來解決問題。 一些經常用到邏輯編程工具的範疇:
* 專家系統,程式從一個巨大的模型中產生一個建議或答案。
* 自動化定理證明,程式產生一些新定理來擴充現有的理論。 最常用的邏輯編程語言是Prolog,另外有較適用於大型方案的Mercury。詳盡的清單可見於Category:邏輯編程語言。
rdf:langString
Logické programování je v širším významu použití matematické logiky jako prostředku pro programování. Jeho počátky můžeme vystopovat až k návrhu Johna McCarthyho advice taker (rádce) [1958]. V tomto návrhu slouží logika pro čistě deklarativní reprezentaci jazyka a dokazovač vět (theorem-prover) nebo generátor modelů (model-generator) se používá jako řešitel problémů (problem-solver). Řešení problému se tak dělí mezi programátora (ručí za správnost programu vyjádřené v logické formě) a dokazovač vět nebo generátor modelů (odpovídá za efektivní řešení problému). B1 a … a Bn implies H
rdf:langString
Logische Programmierung (Prädikative Programmierung, Logikprogrammierung) ist ein Programmierparadigma, das auf der mathematischen Logik beruht. Anders als bei der imperativen Programmierung besteht ein Logik-Programm nicht aus einer Folge von Anweisungen, sondern aus einer Menge von Axiomen, welche hier als eine Ansammlung von Fakten oder Annahmen zu verstehen ist. Stellt der Benutzer eines Logik-Programms eine Anfrage, so versucht der Interpreter, die Lösungsaussage allein aus den Axiomen zu berechnen.
rdf:langString
Logic programming is a programming paradigm which is largely based on formal logic. Any program written in a logic programming language is a set of sentences in logical form, expressing facts and rules about some problem domain. Major logic programming language families include Prolog, answer set programming (ASP) and Datalog. In all of these languages, rules are written in the form of clauses: H :- B1, …, Bn. and are read declaratively as logical implications: H if B1 and … and Bn. H. to solve H, solve B1, and ... and solve Bn. Consider the following clause as an example: fallible(X) :- human(X).
rdf:langString
La programmation logique est une forme de programmation qui définit les applications à l'aide :
* d'une base de faits : ensemble de faits élémentaires concernant le domaine visé par l'application,
* d'une : règles de logique associant des conséquences plus ou moins directes à ces faits,
* d'un moteur d'inférence (ou démonstrateur de théorème ) : exploite ces faits et ces règles en réaction à une question ou requête.
rdf:langString
In informatica la programmazione logica è un paradigma di programmazione nato negli anni '70 che adotta la logica del primo ordine sia per rappresentare sia per elaborare l'informazione. La programmazione logica differisce dalla programmazione tradizionale, sviluppata dalinguaggi ad alto livello quali Fortran, Cobol, Basic, Algol, Pascal, Ada, etc., in quanto richiede e nello stesso tempo consente al programmatore di descrivere la struttura logica del problema piuttosto che il modo di risolverlo . Da un punto di vista concettuale, il programmatore si può così concentrare sugli aspetti logici del problema e sul modo migliore per rappresentarli, senza essere focalizzato sulla necessità di determinare in dettaglio il modo di pervenire ai risultati.
rdf:langString
Programowanie logiczne (nazywane także programowaniem w logice lub programowaniem w języku logiki) – metoda programowania, będąca odmianą programowania deklaratywnego, w której program podawany jest jako pewien zestaw zależności, a obliczenia są dowodem pewnego twierdzenia w oparciu o te zależności. Na przykład chcemy stwierdzić, czy w danym grafie skierowanym istnieje ścieżka z pewnego punktu do pewnego innego punktu. Krawędzie zapisane są relacją edge(Skąd, Dokąd). Nasz program wyglądałby w Prologu tak: Co czytamy następująco:
rdf:langString
Logisch programmeren is een vorm van programmeren die valt onder het declaratieve paradigma. Een veelgebruikte logische programmeertaal is Prolog. Ook SQL is een declaratieve taal.Logische talen vinden vooral toepassing in de computationele taalkunde en de kunstmatige intelligentie. logisch programmeren is een andere vorm van logisch programmeren.
* Katten hebben een vacht
* Een vacht bestaat uit haren De interpreter moet in dit geval antwoord kunnen geven op de vraag "Hebben katten haren?". Een voorbeeld van een functionele en logische programmeertaal is Curry.
rdf:langString
Логи́ческое программи́рование — парадигма программирования, основанная на математической логике — программы в ней задаются в форме логических утверждений и правил вывода. Наиболее известный язык логического программирования — Пролог. От Плэнера также произошли логические языки программирования , , и , а также язык , не использующих метод поиска с возвратами. Языки Mercury, Visual Prolog, Oz, , Datalog основаны на Прологе.
rdf:langString
Programação lógica é um paradigma de programação que faz uso da lógica matemática. John McCarthy [1958] foi o primeiro a publicar uma proposta de uso da lógica matemática para programação. A primeira linguagem de programação lógica foi a Planner, a qual permitia a invocação orientada a padrões de planos procedimentais de asserções e de objetivos. Com a necessidade de adaptação aos sistemas de memória muito limitada, que eram disponíveis quando ela foi desenvolvida. A linguagem Planner usava estruturas de controle de backtracking, de tal forma que apenas um único caminho computacional tinha que ser armazenado por vez. Em seguida, o Prolog foi desenvolvido como uma simplificação do Planner que permitia a invocação orientada a padrões apenas a partir de objetivos (também baseado em backtracki
rdf:langString
Логі́чне програмува́ння — парадигма програмування, а також розділ дискретної математики, що вивчає методи і можливості цієї парадигми, засновані на виведенні нових фактів з даних фактів згідно із заданими логічними правилами. Логічне програмування засноване на теорії математичної логіки. Найвідомішою мовою логічного програмування є Prolog, що є за своєю суттю універсальною машиною виводу, що працює в припущенні замкненості системи фактів.
rdf:langString
Logikprogrammering är ett programmeringsparadigm baserat på att bevis av predikatlogiska satser på vissa former kan automatiseras, vilket upptäcktes av på 1960-talet. Logikprogrammering är deklarativ, programmeraren anger vad som ska göras men inte hur (som i imperativ programmering). Ett logikprogram består av en formulering av problemet man vill ha löst på en predikatlogisk form. Sen är det upp till en interpretator att bevisa satsen/programmet.Deklarativiteten är en av fördelarna med logikprogrammering, en annan (som blir mer och mer aktuell) är att bevis av predikatlogiska satser kan automatiskt. Det är av stort intresse för att på ett enkelt sätt kunna skriva effektiva program för datorer med flera processorer eller processorkärnor, vilket har visat sig svårt med imperativ programme
rdf:langString
rdf:langString
Logic programming
rdf:langString
برمجة منطقية
rdf:langString
Programació lògica
rdf:langString
Logické programování
rdf:langString
Logische Programmierung
rdf:langString
Programación lógica
rdf:langString
Ríomhchlárú loighce
rdf:langString
Programmazione logica
rdf:langString
Programmation logique
rdf:langString
論理プログラミング
rdf:langString
논리형 프로그래밍
rdf:langString
Logisch programmeren
rdf:langString
Programowanie logiczne
rdf:langString
Логическое программирование
rdf:langString
Programação lógica
rdf:langString
Logikprogrammering
rdf:langString
Логічне програмування
rdf:langString
邏輯編程
xsd:integer
17927
xsd:integer
1121161240
rdf:langString
La programació lògica consisteix en l'aplicació del corpus de coneixement sobre lògica per al disseny de llenguatges de programació; no ha de confondre's amb la disciplina de la lògica computacional. La programació lògica és un tipus de paradigmes de programació dins del paradigma de programació declarativa. La resta dels subparadigmes de programació dins de la programació declarativa són: programació funcional, programació basada en restriccions, programes DSL (de domini específic) i híbrids. La programació lògica gira entorn del concepte de predicat, o relació entre elements. La programació funcional es basa en el concepte de funció (que no és més que una evolució dels predicats), de caràcter més matemàtic.
rdf:langString
البرمجة المنطقية (بالإنجليزية: Logic programming) هي بمفهومها العام استعمال المنطق الرياضي من أجل برمجة الحاسوب. ويستعمل المنطق لغة تصريحية للتعبير عن المشكلة. خلاف الكثير من لغات البرمجة التقليدية فإن المبرمج في البرمجة المنطقية لا يقوم بحل المشكلة بشكل كامل، وانما يقع على عاتقه مسؤولية جزئية في حل المشكلة، وهي بتمثيل القضايا والمعارف بصفة منطقية (logical form)، ويقع الجزء الآخر لحل المشكلة على ما يدعى بمبرهن القضايا (theorem-prover) أو مولد النماذج (model-generator) الذي يقوم بحل المشكلة بشكل فعال.
rdf:langString
Logické programování je v širším významu použití matematické logiky jako prostředku pro programování. Jeho počátky můžeme vystopovat až k návrhu Johna McCarthyho advice taker (rádce) [1958]. V tomto návrhu slouží logika pro čistě deklarativní reprezentaci jazyka a dokazovač vět (theorem-prover) nebo generátor modelů (model-generator) se používá jako řešitel problémů (problem-solver). Řešení problému se tak dělí mezi programátora (ručí za správnost programu vyjádřené v logické formě) a dokazovač vět nebo generátor modelů (odpovídá za efektivní řešení problému). Častěji se však logické programování chápe v užším smyslu, kdy se logika používá na deklarativní i procedurální reprezentaci jazyka. Vychází z faktu, že zpětně usuzující dokazovač vět (backwards reasoning theorem-prover) použitý na deklarativní větu ve tvaru implikace: B1 a … a Bn implies H zachází s touto implikací jako s cíl redukující (goal-reduction) procedurou. ukaž/vyřeš H, ukaž/vyřeš B1 a … a Bn. Programátor neručí pouze za správnost programu, ale i za jeho efektivitu. Často je pro dosažení efektivity nezbytné, aby se programátor seznámil se způsobem, jakým dokazovač vět řeší problém a uměl jej využívat. Tím, že logické programovaní používá program k řízení chování vykonavatele programu (program executor) se podobá tradičnímu imperativnímu programování. Od imperativních programů s pouze procedurální interpretací se však logické programy liší existencí deklarativní logické interpretace, která pomáhá zajistit jejich korektnost. Díky tomu, že jsou tyto programy deklarativní (tedy deklarují, co je vstupem a výstupem, a nezabývají se tím, jak výpočet probíhá), jsou na mnohem vyšší konceptuální úrovni než čistě imperativní programy, a jejich vykonavatelé, kteří jsou vlastně dokazovači vět, operují na konceptuálně vyšší úrovni než běžné překladače a interprety.
rdf:langString
Logische Programmierung (Prädikative Programmierung, Logikprogrammierung) ist ein Programmierparadigma, das auf der mathematischen Logik beruht. Anders als bei der imperativen Programmierung besteht ein Logik-Programm nicht aus einer Folge von Anweisungen, sondern aus einer Menge von Axiomen, welche hier als eine Ansammlung von Fakten oder Annahmen zu verstehen ist. Stellt der Benutzer eines Logik-Programms eine Anfrage, so versucht der Interpreter, die Lösungsaussage allein aus den Axiomen zu berechnen. Dazu werden eine Menge von so genannten Regeln und Anweisungen, die der Syntax gemäß aufgebaut sind zusammen mit der Information, welche Lösungsmethode vorgesehen ist, in den Programmcode eingefügt. Logische Programmiersprachen gehören zu den deklarativen Programmiersprachen und haben ihre Ursprünge im Forschungsgebiet Künstliche Intelligenz. In einem imperativen Programm wird genau beschrieben, wie und in welcher Reihenfolge ein Problem zu lösen ist. Im Gegensatz dazu wird in einem logikbasierten Programm beschrieben, was gilt. Das Wie ist durch die Lösungsmethode vorgegeben. Die Lösung wird aus den Regeln hergeleitet. Die bekannteste logische Programmiersprache ist Prolog. Zu den Begründern der logischen Programmierung zählten in den 1970er Jahren Alain Colmerauer und Robert Kowalski.
rdf:langString
La programación lógica es un tipo de paradigma de programación dentro del paradigma de programación declarativa. El resto de los subparadigmas de programación dentro de la programación declarativa son: programación funcional, programación con restricciones, programas DSL (de dominio específico) e híbridos. La programación funcional se basa en el concepto de función (que no es más que una evolución de los predicados), de corte más matemático. La programación lógica gira en torno al concepto de predicado, o relación entre elementos.
rdf:langString
Logic programming is a programming paradigm which is largely based on formal logic. Any program written in a logic programming language is a set of sentences in logical form, expressing facts and rules about some problem domain. Major logic programming language families include Prolog, answer set programming (ASP) and Datalog. In all of these languages, rules are written in the form of clauses: H :- B1, …, Bn. and are read declaratively as logical implications: H if B1 and … and Bn. H is called the head of the rule and B1, ..., Bn is called the body. Facts are rules that have no body, and are written in the simplified form: H. In the simplest case in which H, B1, ..., Bn are all atomic formulae, these clauses are called definite clauses or Horn clauses. However, there are many extensions of this simple case, the most important one being the case in which conditions in the body of a clause can also be negations of atomic formulas. Logic programming languages that include this extension have the knowledge representation capabilities of a non-monotonic logic. In ASP and Datalog, logic programs have only a declarative reading, and their execution is performed by means of a proof procedure or model generator whose behaviour is not meant to be controlled by the programmer. However, in the Prolog family of languages, logic programs also have a procedural interpretation as goal-reduction procedures: to solve H, solve B1, and ... and solve Bn. Consider the following clause as an example: fallible(X) :- human(X). based on an example used by Terry Winograd to illustrate the programming language Planner. As a clause in a logic program, it can be used both as a procedure to test whether X is fallible by testing whether X is human, and as a procedure to find an X which is fallible by finding an X which is human. Even facts have a procedural interpretation. For example, the clause: human(socrates). can be used both as a procedure to show that socrates is human, and as a procedure to find an X that is human by "assigning" socrates to X. The declarative reading of logic programs can be used by a programmer to verify their correctness. Moreover, logic-based program transformation techniques can also be used to transform logic programs into logically equivalent programs that are more efficient. In the Prolog family of logic programming languages, the programmer can also use the known problem-solving behaviour of the execution mechanism to improve the efficiency of programs.
rdf:langString
La programmation logique est une forme de programmation qui définit les applications à l'aide :
* d'une base de faits : ensemble de faits élémentaires concernant le domaine visé par l'application,
* d'une : règles de logique associant des conséquences plus ou moins directes à ces faits,
* d'un moteur d'inférence (ou démonstrateur de théorème ) : exploite ces faits et ces règles en réaction à une question ou requête. Cette approche se révèle beaucoup plus souple que la définition d'une succession d'instructions que l'ordinateur exécuterait. La programmation logique est considérée comme une programmation déclarative plutôt qu’impérative, car elle s'attache davantage au quoi qu'au comment, le moteur assumant une large part des enchaînements. Elle est particulièrement adaptée aux besoins de l’intelligence artificielle, dont elle est un des principaux outils.
rdf:langString
Foirm ríomhchláraithe a bhaineann níos mó le measúnú na rialacha ná ceisteanna ar threoracha don ríomhaire. Is teangacha don ghnó seo LISP agus Prolog.
rdf:langString
논리형 프로그래밍(論理型 프로그래밍, 영어: logic programming)은 논리 문장을 이용하여 프로그램을 표현하고 계산을 수행하는 개념에 기반을 둔다. 논리형 프로그래밍에서 볼 수 있는 일종의 논리 문장들은 (반드시 그런 것은 아니지만) 형태로 되어 있다: G if G1 and … and Gn 이러한 프로그램들은 이를테면 에서와 같이 순수하게 선언적으로 이해할 수 있다. 그러나 이들은 목표 추론 절차와 같이 절차적으로 이해할 수도 있다.: to show/solve G, show/solve G1 and … and Gn 위의 예는 프롤로그의 예이다. (answer set programming) 분야는 절대 문절 형태가 선택에 의해 확장되는 하나의 예이다.
rdf:langString
In informatica la programmazione logica è un paradigma di programmazione nato negli anni '70 che adotta la logica del primo ordine sia per rappresentare sia per elaborare l'informazione. La programmazione logica differisce dalla programmazione tradizionale, sviluppata dalinguaggi ad alto livello quali Fortran, Cobol, Basic, Algol, Pascal, Ada, etc., in quanto richiede e nello stesso tempo consente al programmatore di descrivere la struttura logica del problema piuttosto che il modo di risolverlo . Da un punto di vista concettuale, il programmatore si può così concentrare sugli aspetti logici del problema e sul modo migliore per rappresentarli, senza essere focalizzato sulla necessità di determinare in dettaglio il modo di pervenire ai risultati. In particolare viene adottato il frammento della logica a clausole di Horn che rappresenta la base teorica su cui sono costruiti i linguaggi di programmazione afferenti al paradigma logico e in particolare il Prolog, o suoi sottolinguaggi, come Datalog o AnsProlog. Il meccanismo principale per elaborare teorie logiche fatte di clausole è l'unificazione. Fra le estensioni della programmazione logica sono la programmazione logica induttiva e la programmazione logica abduttiva.
rdf:langString
論理プログラミング(Logic Programming)とは、数理論理学(記号論理学)を基礎にしたプログラミングパラダイム、または数理論理学のコンピュータプログラミングへの応用である。形式論理の論理式をソースコードの書式に投影することが基本になる。プログラミングに適用するための幅広い解釈が加えられており、研究対象としての論理プログラミングは非常に多様である。 より一般的に受け入れられている論理プログラミングは、述語論理を基礎にし、問題領域の事実と規則を論理式モデル書式で表現して(ロジック)非決定性の演繹の導出原理を用いる(コントロール)というものである。このアルゴリズムスタイルで最も普及した論理プログラミング言語は「Prolog」である。
rdf:langString
Programowanie logiczne (nazywane także programowaniem w logice lub programowaniem w języku logiki) – metoda programowania, będąca odmianą programowania deklaratywnego, w której program podawany jest jako pewien zestaw zależności, a obliczenia są dowodem pewnego twierdzenia w oparciu o te zależności. Na przykład chcemy stwierdzić, czy w danym grafie skierowanym istnieje ścieżka z pewnego punktu do pewnego innego punktu. Krawędzie zapisane są relacją edge(Skąd, Dokąd). Nasz program wyglądałby w Prologu tak: path(A,B) :- walk(A,B,[]).walk(A,B,V) :- edge(A,X), not(member(X,V)), (B = X; walk(X,B,[A|V])). Co czytamy następująco:
* istnieje ścieżka z X do Y, jeśli można przejść z A do B
* istnieje ścieżka z X do Y, jeśli dla jakiegoś Z istnieje krawędź z X do Z, oraz ścieżka z Z do Y Programowanie logiczne umożliwia łatwy zapis wielu algorytmów, a programy logiczne w przeciwieństwie do imperatywnych łatwo też wykonywać równolegle.
rdf:langString
Logisch programmeren is een vorm van programmeren die valt onder het declaratieve paradigma. Een veelgebruikte logische programmeertaal is Prolog. Ook SQL is een declaratieve taal.Logische talen vinden vooral toepassing in de computationele taalkunde en de kunstmatige intelligentie. logisch programmeren is een andere vorm van logisch programmeren. In een deductieve logische programmeertaal valt het redeneerproces schematisch weer te geven als feiten + regels = resultaten. De compiler/interpreter is op de hoogte van een aantal feiten, en probeert aan de hand van regels een antwoord te geven op een vraag die aan hem wordt gesteld. Voorbeelden van feiten die voor de interpreter bekend kunnen zijn:
* Katten hebben een vacht
* Een vacht bestaat uit haren De interpreter moet in dit geval antwoord kunnen geven op de vraag "Hebben katten haren?". Een voorbeeld van een functionele en logische programmeertaal is Curry.
rdf:langString
Logikprogrammering är ett programmeringsparadigm baserat på att bevis av predikatlogiska satser på vissa former kan automatiseras, vilket upptäcktes av på 1960-talet. Logikprogrammering är deklarativ, programmeraren anger vad som ska göras men inte hur (som i imperativ programmering). Ett logikprogram består av en formulering av problemet man vill ha löst på en predikatlogisk form. Sen är det upp till en interpretator att bevisa satsen/programmet.Deklarativiteten är en av fördelarna med logikprogrammering, en annan (som blir mer och mer aktuell) är att bevis av predikatlogiska satser kan automatiskt. Det är av stort intresse för att på ett enkelt sätt kunna skriva effektiva program för datorer med flera processorer eller processorkärnor, vilket har visat sig svårt med imperativ programmering.Bland nackdelarna märks att logikprogram är ineffektiva på enprocessorsmaskiner, samt att logikprogrammering är svårt att lära sig för den som saknar kunskap om predikatlogik.Det första praktiskt användbara logikprogrammeringsspråket, och fortfarande det mest spridda, är Prolog.Logikprogrammering var som mest uppmärksammad på 1980-talet, ofta i samband med artificiell intelligens.Bland svenska forskare som gjort insatser inom logikprogrammering kan nämnas Sten-Åke Tärnlund, , Sverker Janson, Seif Haridi och .
rdf:langString
Programação lógica é um paradigma de programação que faz uso da lógica matemática. John McCarthy [1958] foi o primeiro a publicar uma proposta de uso da lógica matemática para programação. A primeira linguagem de programação lógica foi a Planner, a qual permitia a invocação orientada a padrões de planos procedimentais de asserções e de objetivos. Com a necessidade de adaptação aos sistemas de memória muito limitada, que eram disponíveis quando ela foi desenvolvida. A linguagem Planner usava estruturas de controle de backtracking, de tal forma que apenas um único caminho computacional tinha que ser armazenado por vez. Em seguida, o Prolog foi desenvolvido como uma simplificação do Planner que permitia a invocação orientada a padrões apenas a partir de objetivos (também baseado em backtracking). A partir do Planner, foram desenvolvidas as linguagens de programação QA-4, Popler, Conniver, e QLISP. As linguagens de programação Mercury, Visual Prolog, Oz e Frill, foram desenvolvidas a partir do Prolog. Atualmente existem linguagens de programação lógica concorrente (não baseadas em backtracking) derivadas do Planner (por exemplo, a Ether) e derivadas do Prolog (ver Shapiro 1989 para um apanhado geral).
rdf:langString
Логі́чне програмува́ння — парадигма програмування, а також розділ дискретної математики, що вивчає методи і можливості цієї парадигми, засновані на виведенні нових фактів з даних фактів згідно із заданими логічними правилами. Логічне програмування засноване на теорії математичної логіки. Найвідомішою мовою логічного програмування є Prolog, що є за своєю суттю універсальною машиною виводу, що працює в припущенні замкненості системи фактів. Першою мовою логічного програмування була мова Planner, в якій була закладена можливість автоматичного виведення результату з даних і заданих правил перебору варіантів (сукупність яких називали «планом»). Planner використовували для, зниження вимог до обчислювальних ресурсів (за допомогою методу пошуку з поверненням) і для виведення фактів без активного використання стеку. Потім була розроблена мова Prolog, яка не вимагала плану перебору варіантів і була, в цьому сенсі, спрощенням мови Planner. На основі ідей Planner були створені такі мови логічного програмування, як: , , і . Мови програмування , , і були створені на основі Prolog. На основі мови Planner було розроблене також декілька альтернативних мов логічного програмування, не заснованих на методі пошуку з поверненням, наприклад, .
rdf:langString
Логи́ческое программи́рование — парадигма программирования, основанная на математической логике — программы в ней задаются в форме логических утверждений и правил вывода. Наиболее известный язык логического программирования — Пролог. Первым языком логического программирования был язык Плэнер, в котором была заложена возможность автоматического вывода результата из данных и заданных правил перебора вариантов (совокупность которых называлась планом). Плэнер использовался для того, чтобы понизить требования к вычислительным ресурсам (с использованием техники поиска с возвратом) и обеспечить возможность вывода фактов, без активного использования стека. Затем был разработан Пролог, который не требовал плана перебора вариантов и был, в этом смысле, упрощением Плэнера. От Плэнера также произошли логические языки программирования , , и , а также язык , не использующих метод поиска с возвратами. Языки Mercury, Visual Prolog, Oz, , Datalog основаны на Прологе.
rdf:langString
邏輯編程(逻辑程序设计)是種編程典範,它設定答案須符合的規則來解決問題,而非設定步驟來解決問題。過程是 算法=邏輯+控制。 不同的方法,可以看英語:Inductive logic programming。 邏輯編程的要點是將正規的邏輯風格帶入電腦程式設計之中。數學家和哲學家發現邏輯是有效的理論分析工具。很多問題可以自然地表示成一個理論。說需要解答一個問題,通常與解答一個新的假設是否跟現在的理論無衝突等價。邏輯提供了一個證明問題是真還是假的方法。建立證明的方法是人所皆知的,故邏輯是解答問題的可靠方法。邏輯編程系統則自動化了這個程序。人工智能在邏輯編程的發展中發揮了重要的影響。 是邏輯編程社群的著名問題。電腦須自行找出令猴子接觸香蕉的可行方法,取代程式設計師指定猴子接觸香蕉的路徑和方法。 邏輯編程建立了描述一個問題裏的世界的邏輯模型。邏輯編程的目標是對它的模型建立新的陳述。世界上知識不斷膨脹。傳統來說,我們會將一個問題陳述成單一的假設。邏輯編程的程式透過證明這個假設在模型裏是否為真來解決問題。 一些經常用到邏輯編程工具的範疇:
* 專家系統,程式從一個巨大的模型中產生一個建議或答案。
* 自動化定理證明,程式產生一些新定理來擴充現有的理論。 最常用的邏輯編程語言是Prolog,另外有較適用於大型方案的Mercury。詳盡的清單可見於Category:邏輯編程語言。
xsd:nonNegativeInteger
39514