Seberapa sering Prolog / ASP digunakan di daerah non-penelitian?


9

Saya baru saja mengetahui tentang KRR (Representasi Pengetahuan dan Penalaran) dan ASP, tidak mendengar apa pun tentang mereka sebelumnya (kecuali sedikit tentang prolog). Saya sudah membaca sedikit tentang mereka dan salah satu penggunaan utama mereka tampaknya AI.

Pertanyaan saya adalah seberapa banyak ASP yang digunakan atau bahasa deklaratif lainnya, apakah ada beberapa program yang sering digunakan menggunakannya (seperti mesin pencari?) Atau sebagian besar untuk tujuan penelitian? Apa yang mungkin menjadi alasan mengapa mereka tidak begitu terkenal? Apakah karena pengembangan AI termasuk dalam pemrograman "tingkat lanjut"?


Ini sepertinya di luar topik di sini.
Yuval Filmus

2
Ini adalah tempat kedua saya mempostingnya, ada ide di mana itu pada topik?
FloriOn

@ FloriOn: apa tempat pertama dan kemunculan pertama pertanyaan Anda?
Basile Starynkevitch

Prolog bagus untuk waktunya tetapi sangat sulit digunakan dalam proyek besar apa pun. Sintaksnya menjadi sangat kabur dalam hal yang kompleks, juga selalu menafsirkan seluruh struktur di pohon agama bukanlah yang Anda inginkan - sistem KRR harus memiliki fungsi lebih lanjut ...
user8426627

Jawaban:


4

seberapa banyak ASP yang digunakan atau bahasa deklaratif lainnya

Anda dapat melihat aktivitas Prolog yang menurut saya adalah bahasa pemrograman ASP yang paling umum:

Hanya berdasarkan itu, paket teratas Prolog adalah (483 / 139.326) x 100 = 0,35% sepopuler salah satu paket besar Node.js. Atau 0,07% lebih banyak paket.

apakah sebagian besar untuk tujuan penelitian

IMO ya, itu sebagian besar untuk keperluan penelitian. Tetapi ini mirip dengan Ocaml , yang dari pengalaman saya sebagian besar untuk tujuan penelitian sampai pengguna korporat seperti Facebook menerbitkan Flow (mengetik pemrograman JavaScript), dan yang lain menerbitkan Coq (pembuktian teorema otomatis), yang membantu membawa Ocaml ke arus utama.

Apa yang mungkin menjadi alasan mengapa mereka tidak begitu terkenal?

IMO Prolog tidak digunakan karena (a) paradigma yang berbeda, (b) manajer paket tidak sesuai dengan standar (ini adalah masalah besar hari ini), dan (c) tidak ada kerangka kerja web yang diinjili . Jika ada manajer paket yang baik seperti NPM untuk Node.js, dan ada kerangka kerja web yang dipasarkan, serta sekelompok kecil penginjil, yang akan membantu membawanya ke arus utama. Ruby memiliki 37 sinyal dan Rails, Python memiliki Google, dll.

Apakah karena pengembangan AI termasuk dalam pemrograman "tingkat lanjut"?

Tidak terlalu. Beberapa penelitian AI menggunakan prolog untuk memodelkan hal-hal , tetapi itu bukan persyaratan untuk AI. AI dapat dibagi menjadi dua bagian: (1) Model pembelajaran mesin / berbasis probabilistik di mana hubungan dipelajari dan tidak didefinisikan dengan baik, dan kemudian (2) model yang ditentukan secara manual. Kebanyakan AI adalah campuran keduanya, tetapi model yang ditentukan secara manual bernilai dan tetap pribadi untuk sebagian besar. Model yang didefinisikan secara manual dapat didefinisikan menggunakan Prolog , dan ada beberapa makalah di luar sana untuk melakukan itu, tetapi itu tidak perlu. Untuk meringkas, semua pekerjaan AI dapat dilakukan dalam bahasa pemrograman biasa, hanya saja Prolog mungkin membuatnya sedikit lebih kompak untuk menulis dalam beberapa kasus.


2
1. Saya pikir Coq jauh kurang mainstream daripada OCaml. 2. SWI-Prolog memiliki kerangka kerja swi-prolog.org/FAQ/PrologLAMP.txt , pathwayslms.com/swipltuts/html/index.html Singkatnya , itu belum cukup untuk membuatnya menjadi arus utama.
Alexey Romanov

Sial, saya pikir itu mungkin membantu: p
Lance Pollard

Sebagian turun untuk kemudahan instalasi, dan prolog dan paket sulit untuk diinstal dan dijalankan .
Lance Pollard

6
Ada jauh lebih banyak ke dunia pemrograman daripada situs web. Saya cukup yakin Flow tidak banyak membantu meningkatkan adopsi OCaml yang sebelumnya tidak sulit. Demikian pula untuk Coq tetapi karena alasan yang berbeda. Coq berusia 30 tahun. Sejauh yang saya tahu, ada adopsi OCaml yang cukup signifikan di bidang keuangan. Tetapi keuangan bukanlah situs web sehingga Anda kebanyakan tidak mendengarnya. Sekarang pertimbangkan hal-hal seperti rantai pasokan dan riset operasi di mana ASP dapat diterapkan. Ini adalah masalah dengan pertanyaan seperti OP's. Mungkin seseorang memberi SICStus uang untuk terus menjadi perhatian.
Derek Elkins meninggalkan SE

2

Saya baru saja berjalan 354 siswa, sebagian besar SE, melalui menginstal SWI-Prolog. Punya sekitar selusin masalah instalasi. Kebanyakan menemukan prosesnya cukup mudah.

Saya akui, jika SWI-Prolog memiliki 100x lebih banyak pengguna instal akan lebih terpoles. Tetapi tidak ada yang menghindar karena pemasangannya terlalu sulit.

Adapun paket, untuk menginstal paket Anda query pack_install (my_pack).

Itu lebih mudah daripada memasang permata ruby.

Sekarang, mengenai seberapa sering digunakan di daerah non-penelitian - statistik d / l tidak berarti apa-apa a) karena http://swi-prolog.org dilayani melalui CDN (bahwa kita harus menggunakan beberapa server dan CDN mengatakan sesuatu), dan b) kita tahu sebagian besar pengguna undergrads mengambil kursus PL teori / survei.

Penggunaan komersial menjadi lebih umum. Saya telah menulis hanya Prolog selama beberapa tahun sekarang, dan saya bukan akademisi (kadang-kadang saya bekerja sebagai kontraktor untuk sebuah universitas, tetapi bukan sebagai akademisi, sebagai insinyur).

Sebagian besar aplikasi berada di AI atau lingkungan pembelajaran mesin. Masalah ML sulit sering mendapat manfaat dari pencampuran AI simbolis.


2

Baca tentang AI musim dingin dan lebih banyak tentang sejarah AI .

Pada 1980-an, AI simbolik dominan. Pada masa itu, sistem pakar berkembang biak. Banyak dari mereka telah dikodekan dalam Prolog.

Saat ini, kami masih memiliki (di beberapa area) sistem aturan bisnis dan mesin aturan bisnis , dan pendekatan aturan bisnis yang digunakan dalam sistem manajemen aturan bisnis , yang IMHO adalah penerus langsung sistem pakar dari tahun 1980-an. AFAIK, banyak perangkat lunak berorientasi bisnis dibangun di atas prinsip yang sama. Saya percaya bahwa banyak keputusan kredit (atau asuransi) dibuat hari ini secara otomatis (dan setiap hari) di bank dengan sistem seperti itu. Sistem penulisan ulang seperti XSLT juga digunakan sehari-hari, dan merupakan keturunan dari gagasan sistem pakar tahun 1980-an. Pemrograman deklaratif (termasuk CLIPS atau bahkan membuat atau lainnyasistem berbasis aturan s) dapat dipandang sebagai pembubaran ide-ide AI simbolis dalam pemrograman umum dan industri perangkat lunak (segera setelah sesuatu menjadi "mudah" dan "tersebar luas" tidak dapat disebut AI lagi).

Saat ini, AI direduksi menjadi pendekatan pembelajaran mesin (termasuk komputasi neural ). Apa (secara luas) disebut AI sebelum 1980-an saat ini disebut AGI .

Musim dingin AI berikutnya mungkin beberapa musim dingin interpretasi abstrak . Abstrak Interpretasi adalah teori dan pola pikir tentang analisis program statis . Hari ini, AI itu telah menjadi kata kunci, dan kadang-kadang disajikan sebagai solusi untuk sebagian besar masalah keamanan perangkat lunak (yang IMHO tidak).

Beberapa orang (termasuk saya) percaya bahwa AI simbolis tidak sepenuhnya mati (setidaknya jika dikombinasikan dengan paradigma lain). Pandangan yang menarik adalah pandangan Jacques Pitrat (pensiunan peneliti dan perintis AI Prancis) di blog - nya .

Tetapi AI (keduanya sebagai "kecerdasan buatan" sebagaimana didefinisikan dalam Dartmouth 1956 dan sebagai "informatika canggih") sulit dibangun. Diperlukan bertahun-tahun upaya untuk mengembangkannya. Ingat wawasan Brook : "walaupun seorang wanita membutuhkan sembilan bulan untuk membuat satu bayi, sembilan wanita tidak dapat menghasilkan bayi dalam satu bulan". Ini berlaku untuk sistem perangkat lunak yang kompleks dan menantang (yang mungkin perlu sembilan tahun untuk diselesaikan, tetapi kita hidup di dunia yang tidak mampu membayar tim peneliti perangkat lunak berbakat yang kecil selama sembilan tahun). Untuk alasan sosial dan ekonomi yang tidak sepenuhnya saya pahami (tetapi saya sangat menyesal), perangkat lunak tidak memiliki yang setara dengan proyek jangka panjang besar seperti ITER(dan bahkan tidak memiliki proyek penelitian kecil jangka panjang yang bertahan lebih dari 4 atau 5 tahun dengan selusin peneliti). Lihat juga proyek perangkat lunak tempat peristirahatan, dan perhatikan bahwa domain perangkat lunak saat ini kurang kreatif, secara keseluruhan, daripada banyak ide yang berkembang pada tahun 1980-an. Lihat LiOS Proven's FOSDEM 2018 talk The Circuit Less Traveled

Apa yang kebanyakan disebut di abad sebelumnya (XX th abad) AI sekarang ini disebut AGI . The terminologi telah berubah, dan ambisi yang saat ini hampir hilang. Hari-hari ini, pada awal 2020-an, AI kebanyakan tentang jaringan saraf dan pembelajaran mesin . Perasaan saya di 2019 adalah bahwa AI menjadi kata kunci yang tidak berguna hari ini (itu adalah tidak lebih tentang A rtificial saya ntelligence ).

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.