ScholarGate
Asisten

Logika dan Pemrograman Deklaratif

Logika dan pemrograman deklaratif mengekspresikan masalah sebagai relasi, fakta, dan aturan, menyerahkan pencarian solusi kepada mesin inferensi daripada instruksi langkah demi langkah yang eksplisit.

Temukan Topik dengan PaperMindSegeraFind papers & topics
Tools & resources
Unduh salindia
Learn & explore
VideoSegera

Definition

Pemrograman logika adalah paradigma deklaratif di mana sebuah program adalah sekumpulan klausa logis (fakta dan aturan), dan komputasi berlangsung melalui deduksi otomatis, biasanya resolusi dengan unifikasi, untuk menjawab kueri terhadap pengetahuan tersebut.

Scope

Topik ini mencakup pemrograman logika berdasarkan klausa Horn dan resolusi (seperti dalam Prolog), pemrograman logika kendala, dan gagasan deklaratif yang lebih luas tentang menentukan apa yang harus berlaku daripada bagaimana menghitungnya. Ini mencakup unifikasi, pencarian mundur (backtracking), semantik model-teoretis dan bukti-teoretis dari program logika, serta pemisahan spesifikasi logis dari kontrol.

Core questions

  • Apa artinya menghitung dengan membuktikan tujuan dari klausa logis?
  • Bagaimana unifikasi dan pencarian mundur (backtracking) mewujudkan pencarian melalui program relasional?
  • Bagaimana pemisahan logika dari kontrol dibuat secara tepat?
  • Bagaimana kendala memperluas pemrograman logika murni?

Key theories

Prinsip resolusi
Resolusi Robinson memberikan aturan inferensi tunggal yang berorientasi mesin untuk logika orde pertama, menyediakan mesin deduktif yang membuat pemrograman logika layak secara komputasi.
Logika ditambah kontrol
Analisis Kowalski membedakan konten logis suatu program (apa yang benar) dari komponen kontrolnya (bagaimana bukti dicari), membingkai pemrograman logika sebagai cara untuk memvariasikan kontrol sambil menjaga logika tetap.
Semantik deklaratif dan prosedural dari program logika
Lloyd memformalkan semantik model-teoretis, titik tetap, dan operasional dari program logika definit dan membuktikan korespondensinya, mendasari makna program logika.

Clinical relevance

Teknik deklaratif dan berbasis logika mendasari bahasa kueri basis data, pemecah kendala, representasi pengetahuan, dan mesin aturan. Penekanan mereka pada penentuan masalah daripada algoritma membuat mereka sangat cocok untuk pencarian kombinatorial, konfigurasi, dan tugas penalaran.

History

Prinsip resolusi Robinson tahun 1965 meletakkan dasar deduktif. Pada awal tahun 1970-an Colmerauer dan Roussel menciptakan Prolog, dan Kowalski mengartikulasikan interpretasi prosedural dari klausa Horn. Paradigma ini berkembang pesat sepanjang tahun 1980-an, memengaruhi proyek Generasi Kelima Jepang, dan kemudian berkembang menjadi pemrograman logika kendala dan pemrograman set-jawaban.

Debates

Kemurnian versus kontrol praktis
Bahasa pemrograman logika menyeimbangkan ideal logika deklaratif murni dengan kebutuhan praktis akan kontrol eksplisit, seperti cut dan pengurutan, yang meningkatkan efisiensi tetapi mengorbankan pemisahan logika/kontrol yang bersih.

Key figures

  • Robert Kowalski
  • Alain Colmerauer
  • J. Alan Robinson
  • John Lloyd
  • Philippe Roussel

Related topics

Seminal works

  • kowalski1979
  • robinson1965
  • lloyd1987
  • colmerauer1993

Frequently asked questions

Bagaimana pemrograman logika berbeda dari pemrograman imperatif?
Alih-alih menentukan urutan operasi, program logika mendeklarasikan fakta dan aturan, dan mesin inferensi mencari bukti yang menjawab kueri, sehingga pemrogram berfokus pada apa yang benar daripada bagaimana menghitungnya.
Apa itu unifikasi?
Unifikasi adalah proses menemukan substitusi yang membuat dua istilah logis identik; ini adalah mekanisme inti di mana program logika mencocokkan tujuan dengan kepala klausa.

Methods for this concept

Related concepts