Ciri dan contoh pengaturcaraan logik

Ciri dan contoh pengaturcaraan logik

The Pengaturcaraan logik Ini adalah paradigma pengaturcaraan yang menggunakan litar logik bukan hanya fungsi matematik untuk mengawal bagaimana fakta dan peraturan dinyatakan.

Daripada aliran kawalan berstruktur dengan teliti yang menentukan kapan untuk melaksanakan dan bagaimana untuk menilai panggilan ke fungsi atau arahan lain, peraturan logik program ditulis sebagai klausa logik atau predikat.

Contoh pengaturcaraan logik dalam prolog. Sumber: oleh Kuldeepsheoran1 - Screenshot, CC oleh -SA 3.0, Wikimedia Commons

Pendekatan ini, yang sering digunakan dalam pengaturcaraan genetik dan evolusi, secara amnya memberitahu model apa objektif untuk dicapai, bukannya bagaimana untuk mencapainya.

Setiap peraturan mengandungi tajuk dan badan dengan logik formal, bukannya fungsi matematik yang boleh dilaksanakan. Sebagai contoh, "dan itu benar (menuju): jika C1, C2 dan C3 adalah benar (badan)". Fakta atau hasilnya dinyatakan tanpa badan, seperti "dan benar".

Walau bagaimanapun, dengan beberapa bahasa pengaturcaraan seperti Prolog. Sebagai contoh, "untuk menyelesaikan dan menambah C1, C2 dan C3".

[TOC]

Ciri -ciri pengaturcaraan logik

Pengaturcaraan logik jauh berbeza dari strategi pengaturcaraan yang ada. Daripada arahan ke komputer dengan program ini, hubungan antara objek ditubuhkan. Dengan cara ini, komputer boleh membuat hubungan ini dan dengan itu mencapai penyelesaian logik.

Dalam program logik terdapat dua set utama kod: fakta dan peraturan. Peraturan ini berlaku untuk fakta -fakta untuk mendapatkan pengetahuan mengenai alam sekitar.

Potongan Kebenaran dan Logik

Program logik dapat diuraikan melalui dua konsep penting: Potongan kebenaran dan logik. Kebenaran datang jika pengiraan dalam program itu benar atau tidak, di bawah pelaksanaan simbol program. Potongan logik menentukan sama ada klausa logik adalah akibat dari program.

Boleh melayani anda: Jenis perisian aplikasi

Arahan ini akan selalu ditafsirkan sebagai ayat dan klausa yang logik, hasil pelaksanaannya menjadi akibat logik dari pengiraan yang mengandungi.

Logik pesanan pertama

Ia adalah cabang logik cadangan. Pertimbangkan jika objek benar atau palsu dari perspektif separa dunia, yang dipanggil domain. Pengaturcaraan logik didasarkan pada generalisasi logik pertama.

Logik ini terdiri daripada sintaks dan semantik. Sintaks adalah bahasa rasmi yang digunakan untuk menyatakan konsep. Sebaliknya, semantik formula logik pertama menunjukkan bagaimana untuk menentukan nilai sebenar formula mana -mana.

Logik ini didasarkan pada abjad dan bahasa pertama, sebagai tambahan kepada satu set aksioma dan peraturan kesimpulan.

Bentuk Clausal

Ia adalah subset logik pertama. Ia mempunyai bentuk yang dinormalisasi di mana ayat ditakrifkan oleh awalan sejagat atau rantaian kuantifik sejagat, dan set kuantifi klausa percuma.

Semasa meminta perundingan dari program ini, badan klausa yang tajuknya dapat bertepatan akan dipertimbangkan. Ini sama dengan menggunakan peraturan kesimpulan dalam logik.

Sebagai petikan kesimpulan, dua klausa dipilih yang mempunyai harta yang mengandungi dilema x (literal positif) dan yang lain mengandungi dilema ¬x (literal negatif). Dilema ini dikenali sebagai pelengkap.

Dari dua klausa awal ini, klausa resolutif baru dibina menggunakan semua literals, kecuali yang pelengkap.

Kecerdasan Buatan

Pengaturcaraan logik adalah metodologi yang digunakan untuk mencari komputer untuk menyimpulkan, kerana berguna untuk mewakili pengetahuan. Logik digunakan untuk mewakili pengetahuan dan kesimpulan untuk mengendalikannya.

Boleh melayani anda: nticx

Logik yang digunakan untuk mewakili pengetahuan adalah bentuk klausa. Ia digunakan kerana logik pertama difahami dengan baik dan dapat mewakili semua masalah pengiraan.

Prolog adalah bahasa pengaturcaraan yang berdasarkan idea pengaturcaraan logik. Idea Prolog adalah untuk menjadikan logik kelihatan bahasa pengaturcaraan.

Contoh pengaturcaraan logik

Contoh 1

- Fakta: Rubí adalah kucing.

- Peraturan: Semua kucing mempunyai gigi.

- Rundingan: Rubí mempunyai gigi?

- Kesimpulan: Ya.

Peraturan "semua kucing mempunyai gigi" boleh digunakan untuk Rubí, kerana ada fakta yang mengatakan "Rubí adalah kucing". Contoh ini tidak ditulis dengan mana -mana sintaks bahasa pengaturcaraan sebenar.

Contoh 2

Contoh ini boleh ditulis dalam Prolog, kerana menjadi salah satu bahasa pengaturcaraan logik yang paling terkenal:

- perempuan (Alissa).

- Lelaki (Bobby).

- Lelaki (Carlos).

- perempuan (Doris).

- Son_ (Doris, Carlos).

- Son_ (Carlos, Bobby).

- Son_ (Doris, Alissa).

- Bapa_ (f, p):- Lelaki (f), son_ (p, f).

Program ini sukar dibaca, kerana Prolog sangat berbeza dari bahasa lain. Sebarang komponen kod yang menyerupai "Perempuan (Alissa)." ianya adalah fakta.

Peraturan adalah "Bapa_ (f, p):- Lelaki (f), son_ (p, f)". Simbol ":-" boleh dibaca sebagai "memang benar jika". Huruf modal bermaksud bahawa pembolehubah boleh digunakan untuk sebarang objek, jadi f boleh bermakna Carlos, Doris, Alissa atau Bobby. Kod ini boleh diterjemahkan sebagai:

- Alissa adalah wanita.

- Bobby adalah lelaki.

- Carlos adalah lelaki.

- Doris adalah wanita.

Ia boleh melayani anda: peranti output: ciri, apakah penggunaan, jenis, contoh

- Doris adalah anak perempuan Carlos.

- Carlos adalah anak Bobby.

- Doris adalah anak perempuan Alissa.

- "F adalah bapa p" adalah benar jika f adalah seorang lelaki dan jika p adalah anak lelaki f.

Rundingan

Katakan anda ingin berunding dengan program ini untuk maklumat lanjut. Anda boleh meminta anda berasal dari siapa Bapa Bobby dengan: ?- Bapa_ (Bobby, x). Sistem akan menunjukkan jawapan berikut: x = Carlos.

Dalam kes ini hubungan sedang berlaku di mana salah satu nilainya adalah pemboleh ubah. Apa yang dilakukannya adalah memohon objek yang berbeza untuk hubungan ini sehingga salah seorang daripada mereka secara logiknya pepejal.

Bapa hanya Carlos adalah Bobby, dan Bobby adalah seorang lelaki. Ini memenuhi peraturan.". Apabila X sama dengan "Carlos", logik adalah pepejal.

Rundingan lain

Lain -lain konsultasi umum boleh dibuat kepada Prolog, yang menjadikan sistem menghasilkan pelbagai hasil:

- ?- Bapa_ (Bapa, Anak).

- Bapa = Bobby

- Anak = Carlos

- Bapa = Carlos

- Anak = Doris

Seperti yang dapat diperhatikan, pengaturcaraan logik tidak memerlukan maklumat bahawa Alissa atau Bobby adalah orang untuk mendapatkan pengetahuan tentang mereka. Malah, tidak perlu menunjukkan bahawa ada konsep yang disebut orang.

Dalam kebanyakan bahasa pengaturcaraan bukan logikal, konsep -konsep ini harus terlebih dahulu ditakrifkan sebelum menulis program yang memproses maklumat mengenai orang.

Rujukan

  1. AI Deep (2020). Pengaturcaraan logik. Diambil dari: Deepai.org.
  2. Wikiversity (2020). Teori Bahasa Pengaturcaraan/Pengaturcaraan Logik. Diambil dari: dalam.Wikiversity.org.
  3. Imperial College London (2006). Pengaturcaraan logik. Diambil dari: Doc.KAD PENGENALAN.Ac.UK.
  4. Jia-huai anda (2020). Pengenalan kepada Logik Programmmmm. Universiti Alberta. Diambil dari: eng.Ucy.Ac.Cy.
  5. C2 Wiki (2020). Pengaturcaraan logik. Diambil dari: wiki.C2.com.