Cách kết nối Prolog với C#

Cách kết nối Prolog với C# trên Visual Studio có code Demo

This entry is part 1 of 2 in the series Hướng dẫn Prolog

Cách kết nối Prolog với C# trên Visual Studio như nào? Hệ chuyên gia tư vấn ngôn ngữ lập trình như thế nào? Câu trả lời sẽ có trong bài viết này. Mình sẽ đi nhanh qua phần giới thiệu về ngôn ngữ Prolog. Tiếp đó, mình sẽ hướng dẫn các bạn cách cài đặt Prolog lên Visual Studio để lập trình C# kết nối với Prolog. Sau cùng, mình sẽ demo chương trình “Hệ chuyên gia tư vấn lựa chọn ngôn ngữ lập trình”.

Hệ chuyên gia tư vấn lựa chọn ngôn ngữ lập trình
Hệ chuyên gia tư vấn lựa chọn ngôn ngữ lập trình

1. Hệ chuyên gia là gì?

Hệ chuyên gia là một hệ thống tin học có thể mô phỏng (emulates) năng lực quyết đoán (decision) và hành động (making abilily) của một chuyên gia (con người). Hệ chuyên gia là một trong những lĩnh vực ứng dụng của trí tuệ nhân tạo (Artificial Intelligence) như hình dưới đây.

 

 

Hệ chuyên gia là gì?

Hệ chuyên gia sử dụng các tri thức của những chuyên gia để giải quyết các vấn đề (bài toán) khác nhau thuộc mọi lĩnh vực.

Tri thức (knowledge) trong hệ chuyên gia phản ánh sự tinh thông được tích tụ từ sách vở, tạp chí, từ các chuyên gia hay các nhà bác học. Các thuật ngữ hệ chuyên gia, hệ thống dựa trên tri thức (knowledge−based system) hay hệ chuyên gia dựa trên tri thức (knowledge−based expert system) thường có cùng nghĩa.

Một hệ chuyên gia gồm ba thành phần chính là cơ sở tri thức (knowledge base), máy suy diễn hay môtơ suy diễn (inference engine), và hệ thống giao tiếp với người sử dụng (user interface). Cơ sở tri thức chứa các tri thức để từ đó, máy suy diễn tạo ra câu trả lời cho người sử dụng qua hệ thống giao tiếp.

Người sử dụng (user) cung cấp sự kiện (facts) là những gì đã biết, đã có thật hay những thông tin có ích cho hệ chuyên gia, và nhận được những câu trả lời là những lời khuyên hay những gợi ý đúng đắn (expertise).

2. Prolog là gì?

Prolog là ngôn ngữ được sử dụng phổ biến nhất trong dòng các ngôn ngữ lập trình lôgich (Prolog có nghĩa là PROgramming in LOGic). Ngôn ngữ Prolog do giáo sư người Pháp Alain Colmerauer và nhóm nghiên cứu của ông đề xuất lần đầu tiên tại trường Đại học Marseille đầu những năm 1970. Đến năm 1980, Prolog nhanh chóng được áp dụng rộng rãi ở châu Âu, được người Nhật chọn làm ngôn ngữ phát triển dòng máy tính thế hệ 5. Prolog đã được cài đặt trên các máy vi tính Apple II, IBM-PC, Macintosh.

Prolog còn được gọi là ngôn ngữ lập trình ký hiệu (symbolic programming) tương tự các ngôn ngữ lập trình hàm (functional programming), hay lập trình phi số (nonnumerical programming). Prolog rất thích hợp để giải quyết các bài toán liên quan đến các đối tượng (object) và mối quan hệ (relation) giữa chúng.

Prolog được sử dụng phổ biến trong lĩnh vực trí tuệ nhân tạo. Nguyên lý lập trình lôgich dựa trên các mệnh đề Horn (Horn logíc). Một mệnh đề Horn biễu diễn một sự kiện hay một sự việc nào đó là đúng hoặc không đúng, xảy ra hoặc không xảy ra (có hoặc không có, v.v…).

Các bạn có thể xem thêm về giáo trình hướng dẫn Prolog.

3. Cách kết nối Prolog với C#

Để kết nối Prolog với C#, bạn cần chuẩn bị và download về những tập tin sau:

  1. Visual Studio 2008 trở lên, trong bài này mình đang dùng VS bản 2017
  2. Môi trường lập trình Prolog(version 6.6.5 x86)
  3. Thư viện Prolog để kết nối với C# – SwiPlCs version 1.1.60605.0

Các mục 2 và 3 các bạn có thể download tại đây nhé. Mục 5 mình sẽ hướng dẫn các bạn download và cách kết nối prolog với C#. Làm theo video hướng dẫn cho nhanh và dễ hiểu nhé.

Lưu ý: Các bạn chỉ nên cài và sử dụng bản Prolog mình cung cấp. Các bản khác có thể không phù hợp do thư viện SwiPlCs của C# hiện tại đã ngừng phát triển nên có thể không tương thích với các môi trường Prolog mới nhất.

4. Class kết nối C# với Prolog

Dưới đây là Class giúp chúng ta dễ dàng kết nối C# với Prolog. Class này đã được xây dựng sẵn các hàm giúp bạn đọc file prolog và lấy kết quả truy vấn từ prolog. Các bạn chỉ cần sửa lại namespace theo tên Project của mình thôi nhé. Trong code dưới đây namespace là Which_Programing_Should_I_Learn.

Và sau đây có thể là phần mà các bạn mong chờ nhất, mình sẽ có video hướng dẫn chi tiết cách kết nối Prolog với C# và chương trình “Hệ chuyên gia tư vấn lựa chọn ngôn ngữ lập trình” do mình xây dựng.

5. Hệ chuyên gia tư vấn lựa chọn ngôn ngữ lập trình

Để hoàn tất bài viết chia sẻ về hệ chuyên gia tư vấn lựa chọn ngôn ngữ lập trình, mình xin tổng hợp lại bằng 1 video ngắn gọn sau đây. Video này sẽ hướng dẫn cách để các bạn cách kết nối Prolog với C# trên Visual Studio; Chạy chương trình demo của mình và xem kết quả nhé.

Lưu ý: Source code + file cài đặt trong video có thể xem và tải tại đây.

Một số hình ảnh của chương trình:

Sau khi bắt đầu -> trả lời các truy vấn -> Đưa ra lời tư vấn -> Lịch sử tư vấn(log) của hệ chuyên gia tư vấn lựa chọn ngôn ngữ lập trình. Chi tiết cách cài đặt xem video phía trên.

Ví dụ kết nối Prolog với C#Ví dụ kết nối Prolog với C#

Ví dụ kết nối Prolog với C#

Chúc các bạn có những kiến thức bổ ích từ Nguyễn Văn Hiếu Blog!

Similar Posts

Subscribe
Notify of
guest
3 Bình luận
Inline Feedbacks
View all comments