1. Trang chủ
  2. » Luận Văn - Báo Cáo

đề tài tìm hiểu cài đặt thuật toán breath first search cho bài toán trò đố 8 ô và 15 ô

15 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Một số tài khoản phô biến sử dụng thuật ngữ “trí thông minh nhân tạo” để mô tả máy móc bắt chước các chức năng “nhận thức” mà con người liên kết với tâm trí con người, chăng hạn như “học

TRƯỜNG ĐẠI HỌC KIÊN TRÚC HÀ NOI KHOA CÔNG NGHỆ THÔNG TIN Đề tài : Tìm hiểu , cài đặt thuật toán Breath First Search cho bài toán trò đô § ô và 15 ô Giảng viên hướng dẫn: Phạm Trọng Tuan Thanh vién: Cơ sở lý thuyết Alla gi — Tri tué nhan tao ( Artificial Intelligence — AI) la trí thông minh được thê hiện bởi may móc, trái ngược với trí thông minh tự nhiên được hiển thị bởi động vật bao gồm cả con người Các sách giáo khoa hàng đầu về AI định nghĩa lĩnh vực này là nghiên cứu về “tác nhân thông minh”: bat kỳ hệ thông nào nhận thức được môi trường của nó và thực hiện các hành động nhằm tối đa hóa cơ hội đạt được mục tiêu của nó Một số tài khoản phô biến sử dụng thuật ngữ “trí thông minh nhân tạo” để mô tả máy móc bắt chước các chức năng “nhận thức” mà con người liên kết với tâm trí con người, chăng hạn như “học tập” và “giải quyết vấn đề”, tuy nhiên, định nghĩa này bị các nhà nghiên cứu AI lớn bác bỏ — Trí tuệ nhân tạo được thành lập như một bộ môn học thuật vào năm 1956, va trong những năm kê từ đó đã trải qua một số làn sóng lạc quan, tiếp theo là sự thất vọng và mất nguôn tài chính (được gọi là “mua đông AI”), tiếp theo là các cách tiếp cận mới, thành công và nguồn tài trợ mới Nghiên cứu AI đã thử và loại bỏ nhiều cách tiếp cận khác nhau kê từ khi thành lập, bao gồm mô phỏng bộ não, mô hình hóa giải quyết vấn đề của con người, logic chính thức, cơ sở đữ liệu lớn về kiến thức và bắt chước hành vi của động vật Trong những thập kỷ đầu tiên của thế kỷ 21, máy học thông kê toán học cao đã thống trị lĩnh vực này, và kỹ thuật này đã tỏ ra rất thành công, giúp giải quyết nhiều vấn đề thách thức trong toàn ngành và học viện — Các quỹ giao dịch trao đôi (ETF) trí tuệ nhân tạo (AI) tìm cách cung cấp khả năng tiếp xúc với một phân khúc đang phát triển nhanh của ngành công nghệ AI nhằm mục đích mô phỏng trí thông minh của con người, tận dụng các thuật toán mạnh mẽ để khiến máy móc suy nghĩ và hành động giống như con người Mặc dù việc tự động hóa các nhiệm vụ lặp đi lặp lại và thay thế sức lao động của con người bằng máy móc không có gì mới, nhưng AI đang thúc đây xu hướng này, dẫn đến những bước nhảy vọt về năng suất - Đối với các nhà đầu tư lạc quan về tiềm năng phát triển của AI nhưng không ‹ chắc công ty nào sẽ hoạt động tốt nhất, AI ETF là một lựa chọn AI ETF năm giữ một rô cô phiếu trong các công ty tham gia vào một số khía cạnh của AI, cho phép các nhà đầu tư chia sẻ sự tăng trưởng lợi nhuận của các công ty AI mà không gặp thách thức khi có găng tách người thắng ra khỏi kẻ thua cuộc Vai tro: — Nghiên cứu AI đã phat triển các công cụ đề đại diện cho các lĩnh vực cụ thể, chăng hạn như: đôi tượng, thuộc tính, phạm trù và môi quan hệ giữa các đôi tượng: tỉnh huông, sự kiện, trạng thái và thời gian; nguyên nhân và ảnh hưởng; kiến thức về kiên thức (những gì chúng ta biết về những gì người khác biết); suy luận mặc định (những điều mà con người cho là đúng cho đến khi chúng được nói theo cách khác và sẽ van dung ngay ca khi các sự kiện khác đang thay đổi); cũng như các miền khác Trong số những vấn đề khó khăn nhất trong AI là: chiều rộng của kiến thức thông thường (số lượng các dữ kiện nguyên tử mà một người bình thường biết là rất lớn); và dạng ký hiệu phụ của hầu hết kiến thức thông thường (phần lớn những gì mọi người biết là không được biểu thị dưới đạng “sự kiện” hoặc “tuyên bố” mà chúng có thê diễn đạt bằng lời nói) — Biểu diễn kiến thức chính thức được sử dụng (rong lập chỉ mục và truy xuất dựa trên nội dung, giải thích hiện trường, hỗ trợ quyết định lâm sàng, khám phá kiến thức (khai thác các suy luận “thú vị” và có thể hành động từ cơ sở dữ liệu lớn), và các lĩnh vực khác — Nhiều vấn đề trong AI có thê được giải quyết về mặt lý thuyết bằng cách tìm kiếm một cách thông minh thông qua nhiều giải pháp khả thi: Việc suy luận có thể được rút gọn thành việc thực hiện tìm kiếm Ví dụ, chứng minh lôgic có thể được xem như việc tìm kiếm con đường dẫn từ tiền đề đến kết luận, trong đó mỗi bước là ứng dụng của một quy tắc suy luận Các thuật toán lập kế hoạch tìm kiếm thông qua các cây mục tiêu và mục tiêu con, có găng tìm đường dẫn đến mục tiêu đích, một quá trình được gọi là phân tích đầu cuối Các thuật toán robot dé di chuyển chân tay và cầm năm đồ vật sử dụng các tìm kiếm cục bộ trong không gian cầu hình — Các tìm kiếm toàn điện đơn giản hiếm khi đủ cho hầu hết các vấn để trong thế giới thực: không gian tìm kiếm (số lượng địa điểm cần tìm kiếm) nhanh chóng phát triển đến các con số thiên văn Kết quả là tìm kiếm quá chậm hoặc không bao giờ hoàn thành Giải pháp, đối với nhiều van dé, la sir dung “heuristics” hoặc “quy tắc ngón tay cái” đề ưu tiên các lựa chọn có lợi cho những người có nhiều khả năng đạt được mục tiêu hơn và thực hiện điều đó trong một số bước ngắn hơn Trong một số phương pháp tìm kiém, heuristics cũng có the dùng để loại bỏ một số lựa chọn không có khả năng dẫn đến mục tiêu (được gọi làˆ ‘cat tia cay tim kiếm”) Heuristics cung cap cho chương trình một “dự đoán tốt nhất” cho con đường mà giải pháp nằm trên đó Heuristics giới hạn việc tìm kiếm các giải pháp trong một kích thước mâu nhỏ hơn — Lĩnh vực AI, được đại diện bởi lĩnh vực công nghệ, hoạt động tốt hơn so với thị trường rộng lớn hơn trong năm qua Các quỹ ETE có tong lợi nhuận sau một năm tốt nhất là ROBO, ROBT và KOMP Các cổ phần hàng đầu của các quỹ ETF này lần lượt là iRhythm Technologies Inc., Ambarella, Inc va Bruker Corp — Một lưuý đặc biệt: Một số ETF sử dụng AI như một công cụ đề chọn cô phiếu đôi khi cũng được gọi là AI ETF Nhưng câu chuyện này tập trung vào các ETF nhắm mục tiêu đến các công ty sử dụng AI cho các ngành khác, chăng hạn như robot, tự động hóa, chăm sóc sức khỏe và ô tô — Hiện nay, có sáu AI ETF riêng biệt được giao dịch ở Hoa Kỳ, không bao gồm các quỹ nghịch đảo và đòn bây cũng như những quỹ có tài sản dưới 50 triệu đô la được quản lý (AUM) Lĩnh vực AI không có điểm chuẩn riêng, nhưng hiệu quả hoạt động của nó được phản ánh rõ nhất trong chỉ số dành cho lĩnh vực công nghệ, Chỉ số ngành Công nghệ thong tin S&P 500 Chi sô công nghệ thông tin (CNTT) đã vượt trội so với thị trường rộng lớn hơn với tổng mức sinh lời là 38,8% trong 12 tháng qua, cao hơn tổng mức sinh loi cua S&P 500 là 28,9%, tính đến ngày 9 tháng 12 năm 2021 AI ETF hoạt động tốt nhat, dya trén hiéu suat trong nam qua, la ROBO Global Robotics and Automation Index ETF ( ROBO ) Ưu nhược điểm của AI - Ưu điểm: Mạng lưới thần kinh nhân tạo và công nghệ trí tuệ nhân tạo với khả năng học tập sâu đang được phát triển nhanh chóng, AI xử lý được một lượng lớn dữ liệu nhanh hơn nhiều và đưa ra dự đoán chính xác hơn so với khả năng của con người Khối lượng dữ liệu không lồ được tạo ra hàng ngày gây khó khăn cho các nhà nghiên cứu, AI sử dụng học máy để có thé lây các dữ liệu đó và nhanh chóng biến nó thành thông tin có thể thực hiện được - Nhược điểm: Việc sử dụng AI sẽ tốn kém rất nhiều khi xử lý một lượng lớn dữ liệu mà lập trình AI yêu câu việc sử dụng AI trong các lĩnh vực hoạt Khả năng giải thích sẽ là một trở ngại trong định nghiêm ngặt động theo các yêu cầu cần phải tuân thủ quy Ví dụ như: Các tô chức tài chính, khi quyết định từ chối cấp tín dụng được đưa ra bởi AI, khó có thê đưa ra các giải thích rõ ràng, các lý do không cấp tín dụng cho khách hàng Phân loại công nghệ AI Công nghệ AI phản ứng (Reactive Machine): Công nghệ AI phản ứng là công nghệ có khả năng phân tích được các hành động của bản thân và đối thủ Từ đó đưa ra được các chiến lược hoàn hảo nhất Ví dụ như: Deep Blue là chương trình tự động chơi cờ vua cua IBM da đánh bại siêu đại kiện tướng cờ vua Garry Kasparov Công nghệ AI của Deep Blue có thê xác định các nước cờ và dự đoán bước di tiếp theo Nhưng nó không có ký ức và không thê sử dụng kinh nghiệm trong quá khử đề tiếp tục huân luyện trong tương lai - Công nghệ AI với bộ nhớ hạn chế: Công nghệ AI này có thể tự nhận biết được các trường hợp bât ngờ Ngoài ra nó còn có thê đưa ra được các hướng xử lý tốt nhật - _ Lý thuyết về trí tuệ nhân tạo: Lý thuyết về trí tuệ nhân tạo là một thuật ngữ tâm lý Công nghệ AI này có thê tự mình suy nghĩ và học hỏi mọi thứ xung quanh đề áp dụng cho chính bản thân nó cho một việc cụ thể Loại công nghệ AI này chưa được khả thi hiện nay - _ Công nghệ tự nhận thức: Công nghệ AI này có ý thức về chính mình và có các cư xử như con người Ngoài ra nó còn có được cảm xúc của chính con người và nó có thê chia sẻ buôn vui với người dùng Tuy nhiên thì loại công nghệ AI này vấn chưa kha thi Thuat toan BFS: BFS la gi? Thuat toan duyét dé thi wu tién chiéu rong (Breadth-first search - BFS) la mét trong những thuật toán tìm kiểm cơ bản và thiết yếu trên đồ thị Mà trong đó, những đỉnh nào gân đỉnh xuất phát hơn sẽ được duyệt trước Ứng dụng của BFSBFS co thé giúp ta giải quyết tốt một số bai toán trong thời gian và không gian tối thiểu Đặc biệt là bài toán tìm kiếm đường đi ngắn nhất từ một đính gốc tới tất cả các đỉnh khác Trong đồ thị không co trong so hoặc tất cả trọng số bằng nhau, thuật toán sẽ luôn trả ra đường đi ngắn nhất có thê Ngoài ra, thuật toán này còn được dùng đề tìm các thành phần liên thông của đồ thị, hoặc kiểm tra đồ thị hai phía, Thứ tự thăm các đỉnh của BFS Ý tưởng: Với đồ thị không trọng số và đỉnh nguồn ss D6 thi nay co thé là đồ thị có hướng hoặc vô hướng, điêu đó không quan trọng đôi với thuật toán Có thê hiểu thuật toán như một ngọn lửa lan rộng trên đồ thị: Ở bước thứ 00, chỉ có đỉnh nguồn ss đang cháy lan sang tat cả các đỉnh Ở mỗi bước tiếp theo, ngọn lửa đang cháy ở mỗi đỉnh lại chiêu rộng Những đỉnh kê với nó Trong mỗi lân lặp của thuật toán, "vòng lửa” lại lan rộng ra theo nào gân ss hơn sẽ bùng cháy trước Chính xác hơn, thuật toán có thể được mô tá như sau: Đầu tiên ta thăm đỉnh nguồn ss Việc thăm đỉnh ss sé phát sinh thứ tự thăm các đính (u1,u2 up)(u1,u2 up) kề với ss (những đỉnh gần ss nhất) Tiếp theo, ta thăm đỉnh ulul, khi thăm đỉnh u1ul sẽ lại phat sinh yéu cau tham nhiing dinh (v1,v2, ,vq)(v1,v2, ,vq) ké voi ulul Nhung 16 ràng những đỉnh vv này “xa” ss hơn những đỉnh uu nên chúng chí được thăm khi tat cả những đính uu đều đã được thăm Tức là thứ tự thăm các đinh sẽ là: s,ul,u2, ,up,vl,v2, ,VQ, Thuật toán tìm kiếm theo chiều rộng sử dụng một danh sách để chứa những đỉnh đang “chờ” thăm Tại mỗi bước, ta thăm một đỉnh đầu danh sách, loại nó ra khỏi danh sách và cho những đỉnh kề với nó chưa được thăm xếp hàng vào cuôỗi danh sách Thuật toán sẽ kết thúc khi danh sách rỗng Thuật toán: Buoé Duyét c Khoi tao hang doi (queue) Queue Chúng ta bắt đầu duyệt đính S (đỉnh bắt đâu) và đánh dâu đỉnh này là đã duyệt Queue Sau đó chúng ta tìm đính liền kề với Smà chưa được duyệt Trong ví dụ này chúng fa có 3 đỉnh, và theo thứ tự chữ cái chúng ta chon đỉnh A đánh dấu là đã duyệt và xếp Á vào hàng đợi Queue Queue Tiếp tục duyệt đỉnh liền kê với S là B Đánh Ss đâu là đã duyệt và xếp đỉnh này vào hàng đợi te X Tiếp tục duyệt đỉnh liền kê với § là C Đánh B c đâu là đã duyệt và xếp đỉnh này vào hàng đợi ` r/ i Bây giờ đính S không còn đỉnh nào liền kề mà chưa được duyệt Bây giờ chúng ta rut A tr ` ⁄ Cc B A hàng đợi p Queue Từ đỉnh A chúng ta có đỉnh liền kề là Ð và là % đỉnh chưa được duyệt Đánh dâu đính D là đã NIV me Queue duyệt và xếp vào hàng đợi / wm Queue 1 Giới thiệu bải toán: Bài toàn gồm một bảngô vuông kích thước 3x3, có tám ô được đánh số từ l tới 8 và một ô trồng Trạng thai ban dau, các ô được sắp xếp một cách ngấu nhiên, nhiệm vụ của người chơi là tìm cách đưa chúng về đúng thứ tự như hình dưới: 1 2 3 4 5 6 7 8 Trong qua trinh giai bai toan, tai mỗi bước, ta giả định chỉ có ô trồng là di chuyền, như vậy, tôi đaô trống có thê có 4 khả năng di chuyền (lên trên, xuống dưới, sang trái, sang phai) 2 Điều kiện của trạng thái đầu: Có những trạng thái của bảng số không thê chuyên về trạng thái đích Người ta chứng minh được răng, dé có thê chuyên từ trạng thái đầu tới trạng thái đích, thì trạng thái đầu này phải thỏa mãn điều kiện được xác định như sau: Ta xét lần lượt từ trên xuống dười, từ trái sang phải, với mỗi ô số đang xét (giả sử là ô thứ 1), ta kiêm tra xem phía sau có bao nhiêu ô sô có giá trị nhỏ hơn ô đó Sau đó ta tính tông N=nl+n2+ +nổ Ta có quy tắc chung sau cho bài toán n-puzzle: se Nếu số ô vuông lẻ: N mod 2 =0 se Nếu số ô vuông chẫn: N mod 2 =0 và ô trống phải nằm ở hàng chăn xét từ trên xuống N mod 2 = 1 và ô trống phải nằm ở hàng lẻ xét từ trên xuống Cụ thé, ta đang xét bài toán 8-puzzle — có 9 ô vuông nên trạng thái đầu phải thỏa mãn điều kiện Vi du: Cho trang thai dau sau 2-0-6-8-7-5-4-3-1 4 3 1 Xôéthitr nhat c6 gia tri 2: Phia sau co 1 6 nhé hon (1) => nl = 1 Xét ô thứ hai có giá trị 6: Phía sau có 4 6 nho hon (5,4,3,1) => n2 =4 Xét ô thứ ba có giá trị 8: Phía sau có 5 ô nhỏ hơn (7,Š,4,3,L) => n3 =5 Xét ô thứ tư có giá trị 7: Phía sau có 4 ô nhỏ hơn (5,4,3,l) => n4 = 4 Xét ô thứ năm có giá trị 5: Phía sau có 3 ô nhỏ hơn (4,3,l) => nŠ =3 Xét ô thứ sáu có giá trị 4: Phía sau có 2 ô nhỏ hơn (3,1) => nó = 2 Xét ô thứ bảy có giá trị 3: Phía sau có l ô nhỏ hơn (L) => n7 = Ì Xét ô thứ tám có giá trị L: Phía sau không còn 6 nào nhỏ hơn => n8 = 0 N=1+4+5+44+34+2+1+0=20 Ta có 20 mod 2 = 0 => Thỏa mãn Những trạng thái của bảng số mà có thê chuyên về trạng thái đích gọi là câu hình hợp lệ, ngược lại gọi là câu hình không hợp lệ Với bảng số kích thước mxm (m là cạnh) thì ta có không gian trạng thái là (mxm)! Với bài toán 8-puzzle, các trạng thái có thể có của bảng sô là (3x3)!= 362880 Nếu m tăng lên 1, sé làm không gian trạng thái tăng lên rất lớn, do vậy các phiên bản bài toán với m>3 ít khi được áp dụng Trong phạm vi bai bao cao, chung em tim hiéu vé 3 phuong pháp tìm kiếm lời giải cho bài toán 8-puzzle, đó là: Tìm kiếm theo chiều rộng, tìm kiếm theo chiều sâu, và tìm kiếm A* Hai phương pháp đầu là những phương pháp tìm kiếm không có thông tin, A* là phương pháp tìm kiếm có thông tin Cụ thê mỗi phương pháp sẽ được trình bày ngay sau đây 3 Thuật toán tìm kiếm theo chiều rộng (Breadth First Sreach): Thuật toán tìm kiếm theo chiều rộng là thuật toán tìm kiếm mù phô biến, thường được sử dụng trong lý thuyết đồ thị Chúng ta sẽ đi vào từng thuật toán từ tư tưởng của thuật toán cho tới giả mã và bước đi trong thuật toán đề làm rõ hơn cách thức hoạt động của thuật toán a) Tư tưởng của thuật toán Ta giả sử đầu vào thuật toán là một đồ thị G = (V, E), ta sẽ phải thực hiện lập lịch duyệt cho các đính của đồ thị G Việc duyệt các đỉnh sẽ được ưu tiên sao cho đỉnh nào gần với nó nhất sẽ được duyệt trước Tức là nó bắt đầu từ mức thấp nhất của không gian bài toán, sẽ duyệt theo chiều từ trái sang phải hoặc ngược lại ở mức tiếp theo, nêu không thấy lời giải ở mức này nó sẽ chuyên xuống mức kê đề tiếp tục cứ như vậy đến khi tìm được lời giải (nếu có) Ta xét ví dụ sau: Ví dụ : Bắt đầu ta thăm đỉnh S Việc thăm đỉnh S sẽ phat sinh thứ tự duyệt những đỉnh (x[1], x[2] ,x[p]) kề với S (những đỉnh gần S nhất) Khi thăm đỉnh x[I] sẽ lại phát sinh yêu cầu duyệt những đỉnh (u[1], u[2] , u[q]) kề với x[I] Nhưng rõ ràng các đỉnh u này xa S hơn những đỉnh x nên chúng chỉ được duyệt khi tất cả các đỉnh x đã được duyệt xong Tức là thứ tự duyệt đỉnh sau khi đã thăm x[I] sẽ là : (x[2], x[3], , x[p], uf1], u[2] u[q]) = Phai duyét sau x, Hình trên minh họa thứ tự duyệt của thuật toán tìm kiếm theo chiều rộng: ta nhận thấy quá trình duyệt của do thi sé la SOx1 Ox2 0 Oxp Oul Ô u2 Ô b) Giải thuật thuật toán: - Input: cdy dé thi G= (VE) véi đỉnh gốc là s0 ( trạng thái đâu) Tap dich Goals - Output: một đường đi p từ n0 đến 1 định ƒ trong tập Goals Thuật toán sử dụng một cầu trúc đữ liệu là hàng đợi (Queue) đê lưu trữ thông tin trung gian trong qua trinh tim kiểm (ở đây dễ hiểu là các đỉnh kế tiếp đợi được duyệt) Tương tự với tìm kiếm theo chiều sâu, các bước cho giải thuật tìm kiểm theo chiều rộng như sau : Bước 1: Khoi tao - Các đỉnh đều ở trạng thái chưa đánh dấu, trừ đỉnh xuất phát s là đã đánh dấu - Một hàng đợi Q (tổ chức dạng hàng đợi Queue), ban đầu chỉ có một phần tử là s Hàng doi dung dé chứa các đỉnh sẽ được duyệt theo thứ tự ưu tiên chiêu rộng Bước 2: Lặp lại các bước sau cho đến khi hàng đợi rỗng: - Nếu hàng đợi rỗng, không thấy đính đích, thông báo “ không tìm thấy”, dừng - Hàng đợi không rỗng, lấy u ra khỏi hàng đợi , thông báo thăm u (bắt đầu duyệt đỉnh u, nêu là lân duyệt đầu thì u ở đây là s) - Kiếm tra u có phải đính đích t không ® Nếu đúng trả về u, dừng vòng lặp, sang bước 3 ® Nêu sai tiệp tục chương trình - Xét tât cả các đỉnh v kê với u mà chưa được đánh dâu với mỗi đỉnh v đó: © Danh dau v , e Ghi nhận đường đi từ v dén u ® - Đây v vào hàng đợi (v sẽ chờ được duyệt tại những bước sau) Bước 3: Truy ngược lại đường đi Giả mã: For (moi v thuộc V) do Free|v| := True; Free[s] :=False {khởi tạo ban dau chỉ có đỉnh s là bị đánh dấu} Queue := rỗng: Push(s); ƒ Khởi tạo hàng đợi ban đầu chỉ gồm một đỉnh s} Repeat {lặp tới khi hàng đợi rỗng} u:= Pop; {lay từ hàng đợi ra một đỉnh u} Eor (với mọi v thuộc V : Free[v] and ((u v) thuộc E)) do fxét những đỉnh v kề u chưa vào hàng đợi} Begin Tracelv]:=u; { Lưu vết đường di} Free[v] := False ; {danh dau v} Push(v): { đây v vào hàng đợi} End; Until Queue = réng: {thông báo từ s có thăm được tới đỉnh v ma Free[v] = False}; If Free[f] then {s ổi tới được f} {truy theo vết từ f để tìm đường từ s Ô f}; c) Nhận xét : - Có thê có nhiều đường di từ s tới fnhưng thuật toán BES luôn trả về một đường đi ngắn nhat (theo nghĩa di qua it canh nhật) - Quá tình tìm kiếm theo chiều rộng cho ta một cây BFS gốc s Quan hệ cha — con trên cây được định nghĩa là: nếu từ đỉnh u tới thăm đỉnh v thì u là nút cha của nút v Hình biểu diễn về cây BFS: Ưu điểm - Kỹ thuật tìm kiếm rộng là kỹ thuật vét cạn không gian trạng thái bài toán vì vậy sẽ tìm được lời giải nêu có - Đường đi tìm được thỏa mãn di qua it dinh nhất Nhược điểm - Tìm kiếm lời giải theo thuật toán đã định trước, do vậy tìm kiếm một cách máy móc; khi không có thông tin bô trợ cho quá trình tìm kiếm, không nhận ra ngay lời giải - Không phủ hợp với không gian bài toán có kích thước lớn Đối với loại bài toán này thì phương pháp tìm kiêm chiều rộng đối diện với các khó khăn về nhu cầu: e©_ Cần nhiều bộ nhớ theo số nút cần lưu trữ ; ® Cân nhiều công sức xử lý các nút, nhất là khi các nhánh cây dài, sô nút tăng ® - Dê thực hiện các thao tác không thích hợp, thừa, đưa đên việc tăng đáng kê sô nút phải xử lý - Không hiệu quả nếu lời giải ở sâu Phương pháp này không phù hợp cho trường hợp có nhiêu đường dân đên kết quả nhưng đều sâu - Giao tiếp với người dùng không thân thiện Do duyệt qua tất cả các nút, việc tìm kiếm không tập trung vào một chủ đê đ) Độ phức tạp Quá trình tìm kiếm trên đồ thị bắt đầu từ một đỉnh có thể thăm tất cả các đỉnh còn lại, khi đó cách biêu diễn đồ thị có ảnh hưởng lớn tới chỉ phí về thời gian thực hiện giải thuật: e _ Trong các trường hợp ta biểu diễn đô thị bằng danh sách kê, thuật toan BFS va co độ phức tạp tính toán là O(n+m) = O(max(n, m)) Đây là cách cài đặt tốt nhất ® - Nếu ta biêu diễn đồ thị bằng ma trận kề thì độ phức tạp tính toán trong trường hợp này là O(ntn2 ) = O(n2 ) ® - Nếu ta biểu diễn đồ thị bằng danh sách cạnh, thao tác duyệt những đỉnh kê với đỉnh u sẽ dẫn tới việc duyệt toàn bộ danh sách cạnh, đây là cách cài đặt tồi tệ nhất, nó có độ phức tạp tính toán là O(n.m) Bai toan 8 Puzzle Một bảng 3x3 với các 6 trong d6 cé so ti 1 -> 8 va 1 6 trong , cac 6 duge dat o cac vi tri ngau nhién , 6 trong va 6 so có thê đôi chỗ cho nhau, tìm cách di chuyên các ô sao cho các con sô vệ đúng thứ tự Trạng thái ban đầu HIHIH BiG B Trạng thái đích Bie [e]} 4 HIHLeI| H Thuat toan BFS: (2/|8||3) [1 4) HIHH eo lL 1 2\é [3] Bye Ta] a HE [1J|g |4] Ape || +] [7 [s [[sl [7 [ŸIs [7l[s [s] qiỗ4 Y fa Ets Hi BH Si BH Glee Ee leis) [ZJsl3}[zla[][z[s]si 6] 5] [6] 5| NN 7|/6\|5 76 PIN /z[aja| [zJaj3] [@z[j3 [zl3|1 LN IN 7 7/5) _7 |6 || 5| HINH INS IN L™ IIIHH 814 KÌHH 12[3j Trang thai dich -> END @& eee II

Ngày đăng: 19/07/2024, 16:28

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w