Prolog là gì

Programs must be written for people khổng lồ read, & only incidentally for machines to exeđáng yêu.

Bạn đang xem: Prolog là gì

Main menu


Cmùi hương I: Giới Thiệu Về Prolog

Prolog là ngôn từ được sử dụng thịnh hành nhất vào loại những ngôn từ xây dựng lôgich (Prolog tức là PROgramming in LOGic). Ngôn ngữ Prolog vì chưng GS tín đồ Pháp Alain Colmerauer và đội nghiên cứu của ông khuyến nghị lần thứ nhất trên ngôi trường Đại học tập Marseille đầu trong thời gian 1970. Đến năm 1980, Prolog nhanh lẹ được vận dụng thoáng rộng ngơi nghỉ châu Âu, được người Nhật chọn làm ngôn ngữcải tiến và phát triển loại máy vi tính nạm hệ 5. Prolog đã được cài để lên trên các đồ vật vi tính Apple II, IBM-PC, Macintosh.

Prolog có cách gọi khác là ngôn ngữ lập trình sẵn ký kết hiệu (symbolic programming) giống như những ngôn ngữ lập trình hàm (functional programming), tuyệt xây dựng phi số (nonnumerical programming). Prolog hết sức thích hợp đểxử lý những bài xích toán tương quan cho những đối tượng người tiêu dùng (object) và mối quan hệ (relation) thân chúng.

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

SWI-Prolog ở trong dòng bọn họ Prolog Edinburgh bởi giáo sư Jan Wielemaker tạo vào năm 1983 trên khoa Khoa học tin tức Xã hội, trường Đại học Amsterdam, Hà Lan. Đây là mã nguồn msinh hoạt cho các công ty cách tân và phát triển thiết kế ngắn gọn xúc tích. SWI-Prolog gồm một thỏng viện vị trường đoản cú, và tư liệu lí giải đa dạng chủng loại. SWI-Prolog chuyển động theo khối hệ thống 1-1 thể, gồm bối cảnh trao đỏi hai chiều linh hoạt đối với ngôn từ C. SWI-Prolog là một trong những ngôn ngũ sư phạm, vì thế bị tinh giảm rất nhiều về vận tốc biên dịch công tác.

SWI-Prolog hoạt động bên trên môi trường thiên nhiên hình ảnh XPCE lý thuyết đối tương (GUI) X-windows. SWI-Prolog tương đối dễ dàng sử dụng nhờ vào khai quật các đặc trưng shop hình ảnh. SWI-Prolog cho những phiên phiên bản bên trên những hệ điều hành quản lý khác nhau cân xứng với đa số mội trường.

Công cố kỉnh SWI-Prolog là biện pháp góp lập trình sẵn logic cùng với thư viện vị tự đa dạng và phong phú với là 1 trong những mã mối cung cấp mlàm việc. Để xem thêm về lao lý này hoàn toàn có thể vào trang chủ của SWI-Prolog tại: http://www.swi-prolog.org/. Sau Khi tải về bạn cũng có thể thiết lập theo công việc sau:

Bước 1: Chạy tệp tin SWI-Prolog_xxx.exe tiếp nối dấn OK, tiếp đó nhấn I Agree (hình dưới)

*

Bước 2: Chọn môi trường thiên nhiên chạy, cài đặt thừa nhận next nhằm tiếp tục

*

Bước 3: Chọn chỗ setup cùng thừa nhận next để thường xuyên. Lưu ý lưu lại lại thỏng mục setup để link cho tới môi trường làm việc Khi kết nối cùng với hình ảnh C#. Nếu đường truyền không đúng đã tác động cho tới quy trình chạy trên bối cảnh C# trong tương lai.

*

Bước 4: Chọn đuôi không ngừng mở rộng Hay là *.pl, hay những *.pro, dìm Install để ban đầu tải đặt

*

Bước 5: Sau Khi chạy Install quy trình thiết lập đã bước đầu thực this au lúc xong nhận finished

*

Sau Lúc thiết lập kết thúc vẫn xuất hiện hình ảnh SWI-Prolog như sau:

*

Để lập trình sẵn ngữ điệu súc tích Prolog ta rất có thể viết bên trên bất kể trình biên soạn thảo văn uống bản nào kế tiếp lưu file bên dưới dang *.pl hoặc *.pro tùy theo phần không ngừng mở rộng các bạn thiết lập trước đó. Sau Khi thực hiện các câu lệnh thiết kế xong xuôi, banjc ó thể chạy trược tiếp file *.pl, khi ấy của sổ SWI-Prolog vẫn chỉ ra nhằm mục tiêu giúp đỡ bạn thực hiện thắc mắc truy hỏi vấn. Để bài viết liên quan câu lênh bạn cũng có thể gõ: ?- help. Để hiển thị hỗ trợ về những câu lệnh truy tìm vấn trong lập trinc Prolog

Để tạo đồ họa đến ngữ điệu ngắn gọn xúc tích Prolog ta rất có thể kết nối bọn chúng với các ngữ điệu trực quan hơn hẳn như là C/C++, C#, Java,… Dưới đây chỉ là phía dẫn liên kết giữa Prolog cùng với đồ họa C#.

Xem thêm: Vì Sao Uống Collagen Bị Nổi Mụn Cùng Dược Sĩ Trang Nguyễn Giải Đáp

Trước không còn ta phải mày mò môi trường chạy thời điểm trước lúc setup, môi trường thiên nhiên SWI_HOME_DIR giúp cho SWI_Prolog rất có thể hoạt động bên trên môi trường thiên nhiên đồ họa GUI. Để liên kết được hình ảnh ta đề xuất tlỗi viện liên kết cùng với nền tảng gốc rễ .NET framework là Swi-cs-pl.

Lưu ý: phiên bạn dạng Prolog khôn cùng đặc biệt quan trọng vào bài toán sử dụng những thỏng viện kết nối (Các thỏng viện cùng phiên bản cài đặt có thể tra cứu trên Home của SWI-Prolog hoặc tệp tin kèm theo bài xích báo cáo này):

Nếu áp dụng windows 7/8 32bit thì cần sử dụng Prolog 32bit, ví như sử dụng windows7/8 thì thực hiện phiên phiên bản Prolog 64bit.

Nếu sử dụng Prolog 32bit thì thư viện buộc phải là SwiPlCs.dll cùng nunit.framework.dll, giả dụ áp dụng Prolog 64bit thì thỏng viện thực hiện nên là SwiPlCs64.dll cùng nunit.framework.dll.

Sử dụng phiên phiên bản SWI-Prolog 6.3.3 mang lại cỗ thư viện SwiPlCs.dll với nunit.framework.dll, thực hiện phiên phiên bản SWI-Prolog 6.6.5 cho bộ thu viện SwiPlCs64.dll và nunit.framework.dll.

Xem thêm: Recital Là Gì, Nghĩa Của Từ Recital, Nghĩa Của Từ Recital

Cách kết nối C# cùng với Prolog:

Cách 1: Copy 2 tlỗi viện khớp ứng vào thư mục Debug của Project tương ứng với bản cài đặt tương tự như môi trường thiên nhiên chạy, tiếp đến thêm 2 thỏng viện này vào References của Project

Cách 2: Thực hiện liên kết cùng với môi trường xung quanh trên tệp tin Program.cs

using SbsSW.SwiPlCs;namespace Prolog_Math static class Program static void Main() Environment.SetEnvironmentVariable("SWI_HOME_DIR",
"C:Program Files (x86)swipl"); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); if (!PlEngine.IsInitialized) String<> empty_param = ""; PlEngine.Initialize(empty_param); Application.Run(new Prolog()); PlEngine.PlCleanup(); Lưu ý: Môi ngôi trường của SWI-Prolog phụ thuộc vào vào links băng thông thời điểm thiết lập đã làm được ghi chú bên trên. Nếu không đúng đường dẫn này coi nlỗi môi trường thiên nhiên Prolog không vận động. Tại phía trên khoác định đến hệ quản lý điều hành 32bit là “C:Program Files (x86)swipl”, và hệ quản lý điều hành 64 bit là “C:Program Filesswipl”

Sau khi link môi trường ta có thể sinh sản lớp đối tượng người dùng kết nối sau (Thực thi dưới dang class.cs):

using SbsSW.SwiPlCs;using NUnit.Framework;using System.Text.RegularExpressions;namespace Prolog_Math class QueryString public void Load_file(string s) s = s.Replace("\", "https://"); s = String.Format("consult("0")", s); string query = s.Replace("\", "https://"); try PlQuery q = new PlQuery(query); Assert.IsTrue(q.NextSolution()); catch (SbsSW.SwiPlCs.Exceptions.PlException e) System.Windows.Forms.MessageBox.Show(e.ToString(), "Error"); public string Query(string s) s.Trim(); Regex r = new Regex(
"*"); MatchCollection matches = r.Matches(s); string result = ""; try PlQuery q = new PlQuery(s); bool HasSolution = false; foreach (PlQueryVariables v in q.SolutionVariables) HasSolution = true; foreach (Match match in matches) result += v.ToString() + " ; "; if (matches.Count == 0) return HasSolution ? "true" : "false"; return result; catch (SbsSW.SwiPlCs.Exceptions.PlException ex) return "Error query: " + ex.Message; Sau cùng bạn có thể liên kết cùng tệp tin *pl của Prolog với đồ họa C# tùy ở trong vào yên cầu bài xích toán thù. Để mang đến băng thông mang định hotline cho tới tệp tin *.pl ta yêu cầu chuyển tệp tin này vào tlỗi mục Debug của Project nhằm tách việc load đường truyền tĩnh không hề muốn.


Chuyên mục: Kiến Thức