Perbezaan antara prolog dan LISP

Perbezaan antara prolog dan LISP

Prolog vs lisp

Prolog dan LISP adalah dua bahasa pengaturcaraan komputer AI (kecerdasan buatan) yang paling popular hari ini. Mereka dibina dengan dua paradigma pengaturcaraan yang berbeza. Prolog adalah bahasa deklaratif, sementara LISP adalah bahasa berfungsi. Kedua -duanya digunakan untuk pelbagai masalah AI tetapi prolog digunakan paling banyak untuk masalah logik dan pemikiran, sementara LISP digunakan untuk masalah dengan keperluan prototaip pesat.

Prolog

Prolog adalah bahasa pengaturcaraan AI. Ia adalah milik keluarga bahasa pengaturcaraan logik. Prolog adalah bahasa deklaratif, di mana perhitungan dibawa oleh pertanyaan atas hubungan (yang mewakili logik program), yang ditakrifkan sebagai peraturan dan fakta. Dibangunkan pada tahun 1970, Prolog adalah salah satu bahasa pengaturcaraan logik tertua dan salah satu bahasa pengaturcaraan AI yang paling popular hari ini (bersama dengan LISP). Ia adalah bahasa percuma, tetapi banyak varian komersial yang ada. Ia mula -mula digunakan untuk pemprosesan bahasa semulajadi, tetapi kini telah digunakan untuk pelbagai tugas seperti sistem pakar, sistem penjawab automatik, permainan dan sistem kawalan lanjutan. Prolog hanya mempunyai satu jenis data yang disebut istilah. Istilah boleh menjadi atom, nombor, pembolehubah atau istilah kompaun. Nombor boleh terapung atau bilangan bulat. Prolog menyokong senarai dan rentetan sebagai pengumpulan item. Prolog mentakrifkan hubungan menggunakan klausa. Klausa boleh sama ada peraturan atau fakta. Prolog membolehkan lelaran menyeluruh predikat rekursifnya.

LISP

LISP adalah keluarga bahasa pengaturcaraan komputer. Dan dialek LISP yang paling terkenal yang digunakan untuk pengaturcaraan tujuan umum hari ini adalah LISP dan Skim biasa. Nama LISP berasal dari "pemprosesan senarai" dan kerana ia menunjukkan, struktur data utama LISP adalah senarai yang dipautkan. Malah seluruh sumber ditulis menggunakan senarai (menggunakan notasi awalan), atau lebih banyak senarai kurungan yang betul (dipanggil S-Expressions). Sebagai contoh, panggilan fungsi ditulis sebagai (f a1 a2 a3), yang bermaksud fungsi f dipanggil menggunakan a1, a2 dan a3 sebagai argumen input untuk fungsi. Oleh itu, ia dipanggil bahasa berorientasikan ungkapan, di mana semua data dan kod ditulis sebagai ungkapan (tidak ada perbezaan antara ungkapan dan pernyataan dalam LISP). Ciri yang bagus ini sangat istimewa untuk LISP, di mana ia boleh digunakan untuk melanjutkan bahasa kepada masalah yang dihadapi dengan menulis makro berguna. Walaupun rekursi ekor digunakan oleh pengaturcara untuk menyatakan gelung, semua dialek LISP yang sering dilihat termasuk struktur kawalan seperti gelung. Selain itu, LISP dan Skim biasa mempunyai MAPCAR dan peta yang merupakan contoh fungsi, yang menyediakan fungsi gelung dengan menggunakan fungsi berturut -turut untuk semua elemennya dan kemudian mengumpulkan hasil ke dalam senarai.

Apakah perbezaan antara Prolog dan LISP?

Walaupun, Prolog dan LISP adalah dua bahasa pengaturcaraan AI yang paling popular, mereka mempunyai pelbagai perbezaan. LISP adalah bahasa berfungsi, sementara Prolog adalah pengaturcaraan logik dan bahasa deklaratif. LISP sangat fleksibel kerana ciri -ciri prototaip dan makro yang cepat, jadi ia sebenarnya membolehkan memperluaskan bahasa untuk memenuhi masalah di tangan. Di kawasan AI, grafik dan antara muka pengguna, LISP telah digunakan secara meluas kerana keupayaan prototaip pesat ini. Walau bagaimanapun, disebabkan kebolehan pengaturcaraan logiknya, Prolog sangat sesuai untuk masalah AI dengan aplikasi penalaran simbolik, pangkalan data dan bahasa parsing. Pilihan satu daripada yang lain bergantung sepenuhnya pada jenis masalah AI yang perlu diselesaikan.