i Ta có sơ đồ mô tả như sau: HCGƯD = CSTT + MTSD BDTT Nguồn tri thức NSD Chuyên gia Tài liệu chuyên môn Qua sơ đồ trên ta có thể thấy: Một chương trình ứng dụng được xây dựng dựa t
Trang 1BỘ GIAO THÔNG VẬN TẢI BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
HOÀNG THỊ KỲ
BÁO CÁO THỰC TẬP TỐT NGHIỆP
TƯ VẤN MUA XE MÁY
HẢI PHÒNG - 2015
Trang 2BỘ GIAO THÔNG VẬN TẢI BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
HẢI PHÒNG - 2015
Trang 4MỤC LỤC
Trang 5MỘT SỐ TỪ VIÊT TẮT CÓ TRONG BÀI
DANH MỤC CÁC HÌNH VẼ
1.2 Sơ đồ thuật toán suy diễn tiến 7
3.1 Biểu tượng hãng xe Honda 11 3.2 Biểu tượng của hãng xe Piaggio 12 3.3 Biểu tượng của hãng xe Yamaha 13 3.5 Biểu diễn dữ liệu trong Prolog 18
Trang 6CHƯƠNG 1 TỔNG QUAN
1.1 Giới thiệu bài toán.
Hiện nay, khoa học công nghệ phát triển đời sống con người ngày một nâng cao Trước kia để đi hết quãng đường khoang 5km chúng ta có thể mất cả giờ đồng hồ nhung ngày nay khi oto, xe máy ra đời thì chúng ta có thể rút ngắn thời gian đi xuống rất nhiều Cùng với sự phất triển của khoa học công nghệ có rất nhiều loại xe, mẫu
mã, kiểu dáng ra đời làm cho chúng ta đặt ra rất nhiều câu hỏi khi đi mua xe Để chọn được một chiếc xe máy phù hợp với túi tiền, công việc, và sở thích của mình không phải đơn giản
Một chiếc xe máy đẹp đi bên mình không những giúp chúng ta trinh phục mọi nẻo đường mà nó còn thể hiện được tính cách, sở thích và sự sành điệu của bạn
Hệ tư vấn mua xe máy sẽ hỗ trợ cho người sử dụng chọn được chiếc xe máy phù hợp với cá nhân người sử dụng
i) Ta có sơ đồ mô tả như sau:
HCGƯD = CSTT + MTSD
(BDTT)
Nguồn tri thức NSD
Chuyên gia Tài liệu chuyên môn
Qua sơ đồ trên ta có thể thấy: Một chương trình ứng dụng được xây dựng dựa trên CSTT và (MTSD) mô tơ suy diễn Trong đó CSTT được lấy từ nguồn tri thức
Có hai loại là xin ý kiến từ các chuyên gia trong lĩnh vực đó, cũng có thể lấy theo cách thứ hai đó là tổng hợp từ các tài liệu chuyên môn Còn MTSD phụ thuộc vào người dùng do người dùng đưa ra
Trang 7ii) Vai trò của kỹ sư tri thức (knowledge Engineer)
Sε ε
SuperSuperSuperε
εSuperSuper
iii) Xây dựng hệ chuyên gia
Sau khi đã xét ai trò của các nhân tố ở mục trên ta có thể thấy rằng để xây dựng một hệ chuyên gia thì cần có sự tham gia của các nhân tố và sự kết hợp của họ tiến hành trong một thời gian dài( long-term) Các nhân tố bao gồm:
Trong cách này không có sự tham gia của Lập trình viên
HCGƯD = ∑ nỗ lực (CGia + KSTT) + CÔNG CỤ
ES Generation KBMS
Shell ES ES Building to
Trang 8Empty ES
v) Hệ tri thức(knowledge system)
Tri thức được thu nạp từ nhiều nguồn khác nhau như là:
+Tài liệu
+KDD
+Knowledge Base System
+Knowledge Base System : Hệ thống làm việc trên cơ sở tri thứcvi) Hệ chuyên gia nhằm giải quyết bài toán tư vấn (consultation) khóvii) Hệ chuyên gia phải đạt trình độ cao
1.2.1.2 Cấu trúc hệ chuyên gia
Trang 9Một hệ chuyên gia kiểu mẫu bao gồm các thành phần cơ bản sau :
Ở đâu cần tư vấn ở đó có thể xây dựng hệ chuyên gia
* Các dạng bài toán (Sự tư vấn)
- Diễn giải (Interpretation): Đưa ra mô tả tình huống các dữ liệu thu thập được
- Dự báo (Hediction): đưa ra hậu quả của một tình huống nào đó, như là dự báo thời tiết, dự báo giá cả thị trường
- Chuẩn đoán (Diagnosis): Xác định các lỗi , các bộ phận hỏng hóc của hệ thống dựa trên các dữ liệu quan sát được.(Khi hệ thống hoạt động không bình thường)
- Gỡ rối (Debugging): Mô tả các phương pháp khắc phục hệ thống khi gặp sự cố
- Thiết kế : lựa chọn cấu hình các đói tượng nhằm thoả mãn một số ràng buộc nào
Trang 10x: CAD Intelligent (x) : CAD
- Giảng dạy : Phần mềm dạy học, có thể chuẩn đoán và sủa lỗi của học sinh trong quá trình học tập
1.2.2 Biểu diễn tri thức
1.2.2.1 Cơ sở tri thức
Khái niệm cơ sở tri thức là tập hợp các tri thức liên quan đến vấn đề mà chương trình quan tâm giải quyết tạo thành một cơ sở tri thức
1.2.2.2 Biểu diễn tri thức
- Biểu diễn tri thức (knowledge representation) là một lĩnh vực nghiên cứu quan trọng của Trí tuệ nhân tạo Nhằm phát triển các phương pháp, cách thức biểu diễn tri thức
và các công cụ hỗ trợ việc biểu diễn tri thức
- Có rất nhiều phương pháp biểu diễn tri thức, và phải phụ thuộc vào tri thức cụ thể của từng bài toán ta mới chọn được một phương pháp biểu diễn hợp lý nhất
• Biểu diễn tri thức bằng luật sản xuất (Production rules)
• Biểu diễn tri thức bằng khung (Frames)
• Biểu diễn tri thức sử dụng mạng ngữ nghĩa(Semantic networks )
• Biểu diễn tri thức bằng ontology
1.2.2.3 Biểu diễn tri thức dựa trên luật
- Phương pháp biểu diễn tri thức bằng luật sinh được phát minh bởi Newell và Simon trong lúc hai ông đang cố gắng xây dựng một hệ giải bài toán tổng quát Đây là một kiểu biểu diễn tri thức có cấu trúc, và được sử dụng phổ biến nhất trong các hệ cơ sở tri thức
- Ý tưởng cơ bản là tri thức có thể được cấu trúc bằng một cặp điều kiện – hành
động : "NẾU điều kiện xảy ra THÌ hành động sẽ được thi hành"
- Trong biểu diễn tri thức sử dụng luật, ta cần xác định:
• Tập các sự kiện F(Facts)
Trang 11{A1,A2, A3, …… An, B1,B2, B3, …… Bm }
• Tập các luật R(rules) áp dụng trên các sự kiện có dạng sau:
IF A1 AND A2 AND … AND An THEN B
(trong đó A1,A2, …… An, B) là các sự kiện trong F
A1,A2, A3, …… An – được gọi là điều kiện (Conditions)
sở tri thức về mặt tổng quát là một thao tác khó (vì giữa các tri thức thường có quan
hệ không tường minh), nhưng trong giới hạn cơ sở tri thức dưới dạng luật, ta vẫn có một số thuật toán đơn giản để loại bỏ các vấn đề này
- Ưu điểm của phương pháp biểu diễn tri thức dựa trên luật :
Biểu diễn tri thức bằng luật đặc biệt hữu hiệu trong những tình huống hệ thống cần đưa ra những hành động dựa vào những sự kiện có thể quan sát được Nó có những
ưu điểm chính yếu sau đây :
• Các luật rất dễ hiểu nên có thể dễ dàng dùng để trao đổi với người dùng (vì nó là một trong những dạng tự nhiên của ngôn ngữ)
• Có thể dễ dàng xây dựng được cơ chế suy luận và giải thích từ các luật
• Việc hiệu chỉnh và bảo trì hệ thống là tương đối dễ dàng
• Có thể cải tiến dễ dàng để tích hợp các luật mờ
- Nhược điểm của phương pháp biểu diễn tri thức dựa trên luật
• Các tri thức phức tạp đôi lúc đòi hỏi quá nhiều (hàng ngàn) luật sinh Điều này sẽ làm nảy sinh nhiều vấn đề liên quan đến tốc độ lẫn quản trị
hệ thống
• Thống kê cho thấy, người xây dựng hệ thống trí tuệ nhân tạo thích sử dụng luật sinh hơn tất cả phương pháp khác (dễ hiểu, dễ cài đặt) nên họ thường tìm mọi cách để biểu diễn tri thức bằng luật sinh cho dù có
Trang 12phương pháp khác thích hợp hơn! Đây là nhược điểm mang tính chủ quan của con người
• Cơ sở tri thức luật sinh lớn sẽ làm giới hạn khả năng tìm kiếm của
chương trình điều khiển Nhiều hệ thống gặp khó khăn trong việc đánh giá các hệ dựa trên luật sinh cũng như gặp khó khăn khi suy luận trên luật sinh
1.2.2.4 Suy diễn tiến
- Là một trong hai cơ chế cơ chế suy luận trên các luật sản xuất trong biểu diễn tri
thức dựa trên luật
- Bài toán cần chứng minh:Với một tập các mệnh đề giả thiết (cơ sở tri thức) KB, cần suy ra mệnh đề kết luận Q Suy diễn tiến là suy diễn dựa trên dữ liệu nên rất phù hợp với các bài toán đưa ra quyết đinh, nhận dạng đối tượng…
- Ý tưởng của suy diễn tiến: Lặp lại 2 bước sau cho đến khi suy ra được kết luận:
• Áp dụng các luật có mệnh đề giả thiết được thỏa mãn trong KB
• Bổ sung kết luận của các luật đó vào trong KB
- Sơ đồ thuật toán
Trang 131.2 Sơ đồ thuật toán suy diễn tiến
- Những điểm cần chú ý khi cài đặt giải thuật suy diễn tiến.
• Tránh các vòng lặp bằng cách kiểm tra xem các mệnh đề mới đã có trong danh sách các mệnh đề cần chứng minh chưa? Nếu rồi thì không bổ sung lại nữa!
• Tránh việc chứng minh lặp lại đối với một mệnh đề Mệnh đề này có thể đã được chứng minh là đúng ở trước đó hoặc đã được chứng minh ở trước đó
là không thể thỏa mãn được trong KB
- Ưu điểm của suy diễn tiến
• Ưu điểm chính của suy diễn tiến là làm việc tốt khi bài toán về bản chất đi thu thập thông tin rồi thấy điều cần suy diễn
• Suy diễn tiến cho ra khối lượng lớn các thông tin từ một số thông tin ban đầu Nó sinh ra nhiều thông tin mới
• Suy diễn tiến là tiếp cận lý tưởng đối với loại bài toán cần giải quyết các nhiệm vụ như lập kế hoạch, điều hành điều khiển và diễn dịch
- Nhược điểm của suy diễn tiến
• Một nhược điểm chính của hệ thống suy diễn tiến là không cảm nhận được rằng chỉ một vài thông tin là quan trọng Hệ thống hỏi các câu hỏi có thể hỏi mà không biết rằng chỉ một ít câu đã đi đến kết luận được
Trang 14• Hệ thống có thể hỏi cả câu không liên quan Có thể các câu trả lời cũng quan trọng, nhưng làm người dùng lúng túng khi phải trả lời các câu không dính đến chủ đề
CHƯƠNG II NGÔN NGỮ LẬP TRÌNH PROLOG
2.1 Giới thiệu chung về prolog
Prolog là một ngôn ngữ lập trình Tên gọi Prolog được xuất phát từ cụm từ tiếng Pháp Programmation en logique, nghĩa là “ lập trình theo logic “
Prolog được sử dụng nhiều trong các ứng dụng của trí tuệ nhân tạo và ngôn ngữ học trong khoa học máy tính (đặc biệt là trong ngành xử lý ngôn ngữ tự nhiên vì đây là mục tiêu thiết kế ban đầu của nó) Cú pháp và ngữ nghĩa của Prolog đơn giản và sáng sủa, nó được người Nhật coi là một trong những nền tảng để xây dựngmáy tính thế hệ thứ năm mà ở đó, thay vì phải mô tả cách giải quyết một bài toán trên máy tính, con người chỉ cần mô tả bài toán và máy tính sẽ hỗ trợ họ nốt phần còn lại
Prolog còn được gọi là ngôn ngữ lập trình ký hiệu
(symbolicprogramming)tương tự các ngôn ngữ lập trình hàm (functional programming), hay lập trình phi số (non-numerical programming) Prolog rất thích hợp để giải quyết các bàitoán liên quan đến các đối tượng (object) và mối quan
hệ (relation) giữa chúng
Khác với những ngôn ngữ cấu trúc như Pascal, hay C mà ta đã làm quen, Prolog là một ngôn ngữ mô tả, với một số sự kiện và quy luật suy diễn đã mô tả, Prolog sẽ suy luận cho ta các kết quả
từ trong phần Body có thể có dấu phủ định đi kèm Chương trình logic mà không có
sự xuất hiện của dấu phủ định đi kèm gọi là chương trình logic xác định , còn không thì được gọi là chương trình logic thường
2.2.1 Dữ kiện
Dữ kiện là những mệnh đề Hỏn mà phần body là rỗng Kiểu mệnh đề này thường
Trang 15được sử dụng để mô tả các dữ kiện của bài toán, ví dụ như việc khai báo xe vespa là
Ga(vespa)
Khi đó ta có thể rút ra duy nhất một dữ kiện đúng là “vespa là một loại xe ga” TRong một ứng dụng Prolog, bạn có thể hỏi một trong hai câu sau để có được câu trả lời đúng:
Trang 16Với một chương trình Prolog xác định, ngữ nghĩa của nó được định nghĩa là một mô hình tối thiểu của nó.
Với một chương trình Prolog bình thường, có nhiều loại ngữ nghĩa được sử dụng như ngữ nghĩa đầy đủ, ngữ nghĩa tối thiểu, ngữ nghĩa hoàn chỉnh,
Prolog quy ước sau mỗi mệnh đề ta phải sử dụng 1 dấu chấm để kết thúc câu lệnh
2.3 Kiểu dữ liệu Prolog
Prolog bao gồm kiểu dữ liệu sơ cấp và kiểu dữ liệu có cấu trúc Sự phân lớp này nhận biết kiểu của một đối tượng nhờ bề ngoài cú pháp
Cú pháp của Prolog quy định mỗi kiểu đối tượng có 1 dạng khác nhau Prolog không cần cung cấp một thông tin nào khác để nhận biết kiểu của một đối tượng Trong Prolog người sử dụng không cần khai báo kiểu dữ liệu
Hình 2.3.1 biểu diễn sự phân lớp các kiểu dữ liệu
-Các kiểu dữ liệu trong Prolog được xây dựng từ các kí tự trong bảng mã ACIICác chữ cái in hoa A, B, C ,D chữ cái in thường a, b,c, d
Trang 17Trong một chương trình Prolog chú thích được đặt trong /* và */
Ví dụ:
/* cái này không được động vào*/
Trong trường hợp muốn đặt một chú thích ngăn sau môi phần khai báo Prolog cho hết dòng có thể đặt dấu %
- Các tri thức cụ thể của bài toán tư vấn mua xe máy:
+ Dựa trên các dữ liệu về xe máy bao gồm: kiểu dáng, màu sắc, hãng xe, xuất xứ, phân khối, giá tiền, khả năng tiêu thụ xăng,
+ Dữ liệu về người sử dụng: tuổi tác, nghề nghiệp, giới tính, sở thích………
Sau đây chúng ta sẽ tìm hiểu về thông tin chi tiết một số hãng xe máy đang hot trên thị trườn nước ta hiện nay:
- Đầu tiên chúng ta phải nói đến hãng xe luôn được người tiêu dùng bình chọn cao là hãng Honda
Trang 183.1 Biểu tượng hãng xe Honda
Kể từ khi Honda bước chân vào thị trường Việt Nam đến nay luôn được người tiêu dùngViệt Nam biết đến với uy tín và chất lượng của một tập đoàn sản xuất xe máy lớn nhất trên thế giới Sản phẩm ban đầu là những chiếc xe Honda Cub 50, Cub 70, Super Cub,… đã thực sự chinh phục được lòng tin của người tiêu dùng Việt Nam bằng chính chất lượng và sự tiện dụng của những sản phẩm đó Hãng xe còn mang đến các sản phẩm xe máy công nghệ cao và thân thiện với môi trường.Honda Việt Nam cung cấp cho thị trường các sản phẩm chính sau: Super Dream (nay đã có Super Dream mới);Future gồm: Future NEO và Future II;xe Wave gồm: Wave α, Wave ZX, Wave RS; xe tay ga Spacy, @, SH, Dylan Xe máy của tập đoàn Honda Việt Nam luôn mang đến cho người sử dụng cảm giác an toàn, sự tin tưởng vào chất lượng và độ bền của xe Sau hơn 10 năm đi vào hoạt động kinh doanh, công ty Honda Việt Nam đã từng bước trưởng thành và đứng vững trên thị trường xe máy Việt Nam
Thứ hai có thể nói đén dòng xe tay ga với nhiều kiếu dáng, mẫu mã sang trọng
Piaggio
Trang 19Hình 3.2 Biểu tượng của hãng xe Piaggio
Piaggio là thương hiệuxe tay ga thuộc tập đoàn Piaggio & C S.p.a, một biểu tượng cho sự tiên phong trong cuộc sống hiện đại.Thương hiệu này bao gồm các dòng
xe thể hiện sự cách tân mang tính công nghệ, an toàn, thân thiện và mang thiết kế cao cấp, sành điệu Đây là thương hiệu hấp dẫn dành cho tất cả những ai thích sự thay đổi
và làm mới mình.Tại Việt Nam, thương hiệu Piaggio đã và đang đem đến cho người tiêu dùng Việt Nam 4 dòng sản phẩm đẳng cấp là: Beverly, Liberty, Fly và ZIP.Với phong cách Ý đặc trưng, Beverly là sự kết hợp hoàn hảo giữa thiết kế độc đáo với các chi tiết sang trọng và các tính năng cao cấp, làm tăng thêm sự thoải mái và tiện dụng cho người sử dụng xe Được sản xuất với phiên bản 125 phân khối, có trang bị hệ thống phun xăng điện tử, Beverly nổi bật bởi chính kiểu dáng sang trọng, lịch lãm và các tính năng vượt trội
Thứ ba chúng ta sẽ nhắc đến dòng xe số dược ưa chuộng
Trang 20Hình 3.3 Biểu tượng của hãng xe Yamaha
Chỉ xếp sau Honda, Yamaha là hãng xe máy có doanh số bán xe đứng thứ 2 tại thị trường Việt Nam Sự hoàn thiện, cải tiến về công nghệ và thiết kế đã giúp hãng xe Nhật Bản ngày càng chiếm được cảm tình của người dùng Việt Nam Kể từ khi có mặt chính thức tại Việt Nam năm 1998 đến nay, Yamaha đã tung ra thị trường nhiều model khác nhau Tuy thành công có thất bại có, nhưng tất cả đã đóng góp một phần không nhỏ vào việc thay đổi quan niệm gọi xe máy là “xe Honda” của người tiêu dùng Việt Nam Những mẫu xe của Yamaha luôn được thiết kế với một ngôn ngữ chung, đó là sự trẻ trung và thể thao Bên cạnh đó, hãng xe Nhật Bản cũng thường xuyên nâng cấp về công nghệ, để cho ra đời những mẫu xe được đánh giá cao như Exciter, Jupiter, Nouv
Thứ tư chúng ta sẽ tìm hiểu đến dòng xe số của hãng SYM
Trang 21Hình 3.4 Biểu tượng của hãng xe SYM
Hiện nay sản phẩm của SYM đã có mặt tại rất nhiều nước trên thế giới.Trở thành công ty tiên phong về nghiên cứu và phát triển trong lĩnh vực công nghiệp thiết kế, chế tạo, gia công và lắp ráp xe mô-tô, gắn máy với sự tiến bộ về kỹ thuật nhằm cung cấp cho khách hàng những sản phẩm ưu việt về chất lượng, tính năng và được mọi người tin dùng Sản phẩm mang thương hiệu SYM có hai dòng chính: xe Cub (xe số bình thường) và xe Scooter (xe tay ga)Dòng xe Cub có các nhãn hiệu xe sau:Angel, Magic, Star, Amigo, Bonus, HuskyDòng xe Scooter bao gồm: Attila, Excel, HD, GTS
Bảng thông tin chi tiết về một số loại xe