Prolog / ASP có thường xuyên được sử dụng trong các lĩnh vực không nghiên cứu không?


9

Gần đây tôi đã phát hiện ra KRR (Đại diện kiến ​​thức và lý luận) và ASP, không nghe thấy gì về họ trước đây (ngoại trừ một chút về prolog). Tôi đã đọc một chút về họ và một trong những cách sử dụng chính của họ dường như là AI.

Câu hỏi của tôi sẽ là cách sử dụng rộng rãi ASP hoặc các ngôn ngữ khai báo khác, có một số chương trình được sử dụng thường xuyên sử dụng chúng (như công cụ tìm kiếm không?) Hay chủ yếu cho mục đích nghiên cứu? Điều gì có thể là lý do họ không được biết đến nhiều như vậy? Có phải vì phát triển AI thuộc về một "cấp độ nâng cao" hơn về lập trình?


Điều này có vẻ lạc đề ở đây.
Yuval Filmus

2
Đó là nơi thứ hai tôi đăng nó, có ý tưởng nào về chủ đề này không?
FloriOn

@FloriOn: nơi đầu tiên và lần đầu tiên xuất hiện câu hỏi của bạn là gì?
Basile Starynkevitch

Prolog là tốt cho thời gian của nó nhưng thực sự khó sử dụng trong bất kỳ dự án lớn. Cú pháp trở nên rất mơ hồ trong các thuật ngữ phức tạp, cũng luôn diễn giải toàn bộ cấu trúc trong cây tôn giáo không phải là điều bạn mong muốn - hệ thống KRR mà bạn có chức năng hơn nữa ...
user8426627

Câu trả lời:


4

sử dụng rộng rãi ASP hoặc các ngôn ngữ khai báo khác như thế nào

Bạn có thể thấy hoạt động của Prolog mà tôi nghĩ là ngôn ngữ lập trình ASP phổ biến nhất:

Chỉ dựa vào đó, gói hàng đầu của Prolog là (483 / 139.326) x 100 = 0,35% phổ biến như một trong những gói lớn của Node.js. Hoặc 0,07% như nhiều gói.

nó chủ yếu cho mục đích nghiên cứu

IMO có, nó chủ yếu cho mục đích nghiên cứu. Nhưng nó tương tự như Ocaml , từ kinh nghiệm của tôi chủ yếu dành cho mục đích nghiên cứu cho đến khi người dùng doanh nghiệp như Facebook xuất bản Flow (lập trình JavaScript) và những người khác đã xuất bản Coq (chứng minh định lý tự động), giúp đưa Ocaml trở thành xu hướng chính.

Điều gì có thể là lý do họ không được biết đến nhiều như vậy?

IMO Prolog không được sử dụng vì (a) một mô hình khác, (b) trình quản lý gói không ngang bằng (đây là một vấn đề lớn trong những ngày này) và (c) không có khung web truyền giáo . Nếu có một người quản lý gói tốt như NPM cho Node.js và có một khung web được bán trên thị trường, cũng như một nhóm nhỏ các nhà truyền giáo, điều đó sẽ giúp đưa nó vào dòng chính. Ruby có 37signals và Rails, Python có Google, v.v.

Có phải vì phát triển AI thuộc về một "cấp độ nâng cao" hơn về lập trình?

Không thật sự lắm. Một số nghiên cứu AI sử dụng prolog để mô hình hóa công cụ , nhưng nó không phải là một yêu cầu cho AI. AI có thể được chia thành hai phần: (1) Mô hình học máy / dựa trên xác suất trong đó các mối quan hệ được học và không được xác định rõ, sau đó (2) mô hình được xác định thủ công. Hầu hết AI là hỗn hợp của cả hai, nhưng các mô hình được xác định thủ công là có giá trị và được giữ riêng tư trong hầu hết các phần. Các mô hình được xác định thủ công có thể được xác định bằng Prolog và có một vài giấy tờ để thực hiện điều đó, nhưng không cần thiết. Tóm lại, tất cả các công việc AI có thể được thực hiện bằng các ngôn ngữ lập trình thông thường, chỉ cần Prolog có thể làm cho nó gọn hơn một chút để viết trong một số trường hợp.


2
1. Tôi nghĩ Coq ít chính thống hơn OCaml. 2. SWI-Prolog có khung web swi-prolog.org/FAQ/PrologLAMP.txt , pathwayslms.com/swipltuts/html/index.html Nói một cách nhẹ nhàng, điều đó không đủ để biến nó thành chủ đạo.
Alexey Romanov

Dang, tôi nghĩ rằng có thể giúp: p
Lance Pollard

Một phần của nó là để dễ cài đặt, và prolog và các gói khó cài đặt và chạy .
Lance Pollard

6
nhiều thứ cho thế giới lập trình hơn các trang web. Tôi khá chắc chắn Flow đã làm rất ít để cải thiện việc áp dụng OCaml mà hầu như không gặp khó khăn trước đó. Tương tự cho Coq nhưng vì những lý do khác nhau. Coq đã 30 tuổi. Theo như tôi có thể nói, việc áp dụng OCaml trong tài chính khá có ý nghĩa. Nhưng tài chính không phải là trang web nên bạn hầu như không nghe về nó. Bây giờ hãy xem xét những thứ như chuỗi cung ứng và nghiên cứu hoạt động trong đó có thể áp dụng ASP. Đây là vấn đề với các câu hỏi như của OP. Có lẽ ai đó đang cho SICStus tiền để tiếp tục là mối quan tâm.
Derek Elkins rời SE

2

Tôi mới đi bộ 354 sinh viên, chủ yếu là SE, thông qua cài đặt SWI-Prolog. Có khoảng một tá vấn đề cài đặt. Hầu hết tìm thấy quá trình khá dễ dàng.

Tôi sẽ thừa nhận, nếu SWI-Prolog có số người dùng gấp 100 lần thì cài đặt sẽ trở nên bóng bẩy hơn. Nhưng không ai tránh né vì cài đặt quá khó.

Đối với các gói, để cài đặt một gói bạn truy vấn pack_install (my_pack).

Điều đó dễ dàng hơn việc cài đặt đá quý ruby.

Bây giờ, như mức độ thường xuyên được sử dụng trong các khu vực không nghiên cứu - số liệu thống kê d / l không có nghĩa gì a) vì http://swi-prolog.org được cung cấp qua CDN (chúng tôi phải sử dụng nhiều máy chủ và CDN nói một cái gì đó) và b) chúng tôi biết phần lớn người dùng đang học đại học đang tham gia khóa học lý thuyết / khảo sát PL.

Sử dụng thương mại đang trở nên phổ biến hơn. Tôi đã chỉ viết Prolog vài năm nay và tôi không phải là một học giả (đôi khi tôi làm việc như một nhà thầu cho một trường đại học, nhưng không phải là một học giả, như một kỹ sư).

Hầu hết các ứng dụng là trong môi trường AI hoặc máy học. Các vấn đề ML cứng thường được hưởng lợi từ sự kết hợp của AI tượng trưng.


2

Đọc về AI mùa đông và nhiều hơn nữa về lịch sử của AI .

Trong những năm 1980, AI biểu tượng đã chiếm ưu thế. Trong thời gian đó, hệ thống chuyên gia s tăng sinh. Nhiều người trong số họ đã được mã hóa trong Prolog.

Ngày nay, chúng ta vẫn có (trong một số lĩnh vực) hệ thống quy tắc kinh doanhcông cụ quy tắc kinh doanhphương pháp tiếp cận quy tắc kinh doanh được sử dụng trong các hệ thống quản lý quy tắc kinh doanh , mà IMHO là người kế thừa trực tiếp các hệ thống chuyên gia từ những năm 1980. AFAIK, rất nhiều phần mềm định hướng kinh doanh được xây dựng trên các nguyên tắc tương tự. Tôi tin rằng nhiều quyết định tín dụng (hoặc bảo hiểm) được đưa ra ngày hôm nay tự động (và hàng ngày) trong các ngân hàng có hệ thống như vậy. Các hệ thống viết lại như XSLT cũng được sử dụng hàng ngày và là hậu duệ của các ý tưởng hệ thống chuyên gia năm 1980. Lập trình khai báo (bao gồm CLIPS hoặc thậm chí thực hiện hoặc khácCác hệ thống dựa trên quy tắc có thể được xem là sự hòa tan các ý tưởng AI tượng trưng trong ngành lập trình và phần mềm nói chung (ngay khi một thứ gì đó trở nên "dễ dàng" và "phổ biến" thì nó không thể được gọi là AI nữa).

Ngày nay, AI được giảm xuống theo phương pháp học máy (bao gồm cả điện toán thần kinh ). Những gì (nói chung) được gọi là AI trước những năm 1980 hiện được gọi là AGI .

Mùa đông AI tiếp theo có thể là mùa đông giải thích trừu tượng . Giải thích trừu tượng là một lý thuyết và tư duy về phân tích chương trình tĩnh . Ngày nay, AI đó đã trở thành một từ thông dụng, và đôi khi được trình bày như là giải pháp cho hầu hết các mối quan tâm về an toàn phần mềm (mà IMHO không phải là nó).

Một số người (bao gồm cả tôi) tin rằng AI tượng trưng không hoàn toàn chết (ít nhất là khi kết hợp với các mô hình khác). Một quan điểm thú vị là của Jacques Pitrat (một nhà nghiên cứu đã nghỉ hưu và là nhà tiên phong về AI của Pháp) trong blog của mình .

Nhưng AI (cả hai là "trí tuệ nhân tạo" như được định nghĩa trong Dartmouth 1956 và là "hệ thống tin học tiên tiến") rất khó để xây dựng. Nhiều năm nỗ lực là cần thiết để phát triển chúng. Hãy nhớ cái nhìn sâu sắc của Brook : "trong khi một người phụ nữ phải mất một tháng để sinh một đứa con thì chín người phụ nữ không thể sinh con trong một tháng". Điều này đúng với các hệ thống phần mềm phức tạp và đầy thách thức (có thể cần chín năm để hoàn thành, nhưng chúng ta sống trong một thế giới không đủ khả năng trả cho một nhóm nhỏ các nhà nghiên cứu phần mềm tài năng trong chín năm). Vì những lý do kinh tế và xã hội mà tôi không hiểu đầy đủ (nhưng tôi vô cùng hối hận), phần mềm không tương đương với các dự án dài hạn lớn như ITER(và thậm chí không có các dự án nghiên cứu dài hạn nhỏ kéo dài hơn 4 hoặc 5 năm với hàng tá nhà nghiên cứu). Xem thêm dự án phần mềm và nhận thấy rằng miền phần mềm ngày nay ít sáng tạo hơn so với nhiều ý tưởng đã phát triển trong những năm 1980. FOSDEM 2018 talk Xem Liam đã được chứng minh của The Circuit Ít Đã du lịch

Điều gì đã được chủ yếu là gọi trong thế kỷ trước (XX thứ thế kỷ) AI là ngày nay được gọi là AGI . Các thuật ngữ đã thay đổi, và tham vọng hiện nay gần như biến mất. Ngày nay, vào đầu những năm 2020, AI chủ yếu là về mạng lưới thần kinhhọc máy . Cảm giác của tôi vào năm 2019 là AI đã trở thành một từ thông dụng vô dụng ngày hôm nay (nó là không về Một rtificial tôi ntelligence ).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.