Giải quyết "bài toán người bán hàng" trong khoa học máy tính nhờ... ong

bk9sw
25/9/2012 17:29Phản hồi: 47
Giải quyết "bài toán người bán hàng" trong khoa học máy tính nhờ... ong
bumbeblee_travelling_salesman.jpg


Bằng việc tìm hiểu về hành vi của loài ong, một nhóm các nhà nghiên cứu tại đại học Queen Mary, London đã tiến hành ghi chép và mô hình hóa quãng đường đi mà ong có thể bay từ bông hoa này sang bông hoa khác sau đó trở về tổ trong một khoảng thời gian ngắn nhất và ít tiêu tốn năng lượng nhất. Phát hiện lần này sẽ giúp các nhà nghiên cứu phát triển những giải pháp tính toán linh hoạt nhằm khắc phục nhiều vấn đề từ việc xây dựng hạ tầng mạng máy tính nhanh hơn cho đến việc chế tạo những vi xử lý mạnh hơn. [prebreak][/prebreak]

Bài toán người bán hàng:

Thử đặt ra một vấn đề đơn giản sau: bạn là một nhân viên bán hàng và khách hàng của bạn lại nằm rải rác trên một loạt các thành phố. Bạn biết chính xác khoảng cách giữa mỗi 2 thành phố và muốn tìm con đường ngắn nhất để có thể đến thăm mỗi thành phố một lần và sau đó trở về nhà, nơi bạn xuất phát.

bumbeblee_travelling_salesman-0.png
Việc kết nối 15 thành phố lớn nhất nước Đức với lộ trình ngắn nhất là một phép tính khá phức tạp.

Trong khoa học máy tính, ví dụ trên được gọi là "bài toán người bán hàng" (traveling salesman problem) - đây là một vấn đề rất cơ bản và ứng dụng của nó thì nhiều vô kể. Một ứng dụng rất điển hình là hoạt động hàng ngày của các công ty chuyển phát. Công việc của họ là phải phân phát và tiếp nhận hàng hóa sao cho ít tốn thời gian và chi phí nhiên liệu nhất trong khi vẫn đảm bảo không bỏ sót bất cứ điểm đến nào. Ngoài ra, vấn đề trên còn được các nhà sản xuất điện tử áp dụng để tạo ra những con chip siêu nhỏ tốt hơn hay được các nhà di truyền học sử dụng vào chuỗi DNA.

Vấn đề trên không phải "dễ xơi" và phương pháp trực tiếp nhằm tìm ra lời giải phổ biến là kiểm tra tất cả các tổ hợp. Tuy nhiên, trên thực tế phương pháp này không thật sự khả thi bởi nếu lấy mẫu chỉ gồm 20 thành phố thì sẽ có gần 60,8 triệu tỉ phép so sánh để tìm ra hành trình có lợi nhất.

Chim và ong:

Mỗi khi các nhà nghiên cứu bị thách thức bởi một vấn đề nào đó thì việc tìm kiếm những giải pháp của tự nhiên có thể là một sự lựa chọn không tồi. Ngành khoa học máy tính cũng không phải là ngoại lệ: thế giới động vật đã mất hàng trăm triệu năm để đúc kết những giải pháp hiệu quả và đơn giản nhằm mở ra câu trả lời cho rất nhiều vấn đề mà chúng ta gặp hàng ngày. Chẳng hạn như loài chim đã liên tục học hỏi để có khả năng bay theo các lộ trình quen thuộc nhằm định hướng giữa các địa điểm quan trọng như tổ và khu vực kiếm ăn, hay những bầy kiến luôn là nguồn cảm hứng cho các kỹ thuật mới giúp nhanh chóng tìm ra giải pháp gần như tối ưu cho bài toán người bán hàng nói trên.

Giờ đây, qua việc đánh giá những phát hiện vừa công bố, một nhóm các nhà nghiên cứu tại đại học Queen Mary, London đã chứng minh rằng những chú ong vò vẽ có thể giải quyết vấn đề tương tự bài toán tìm đường đi ngắn nhất của người bán hàng bằng cách sử dụng một phép lặp đơn giản không cần dùng đến những con số thực, chỉ cần bộ não nhỏ bé của ong.

Không giống như người bán hàng, động vật dĩ nhiên không thể biết được khoảng cách giữa hàng loạt địa điểm một cách chính xác nhưng chúng sẽ thu thập thông tin dần dần. Do đó, động vật (kể cả con người) thực ra đã sử dụng chiến lược phỏng đoán để định vị giữa nhiều địa điểm nhằm tìm ra đoạn đường tối ưu, chẳng hạn như việc liên kết các địa điểm gần nhất chưa viếng thăm hoặc lên kế hoạch cho những địa điểm cần đến trước.

Để kiểm tra các giả thuyết, nhóm nghiên cứu đã thiết lập 5 bông hoa nhân tạo trong một khoảng sân nhỏ và theo dõi đường đi của từng cá thể ong nhằm quan sát xem chúng đã di chuyển từ bông hoa này sang bông tiếp theo như thế nào.

Dữ liệu được ghi nhận cho thấy, trung bình mỗi chú ong đã tìm ra đường đi ngắn nhất giữa 5 bông hoa và trở về tổ sau khi bay thử 20 trong số tổng số 120 lộ trình khả thi. Ngạc nhiên hơn, chúng dường như liên tục cải tiến đường đi của mình qua những thử nghiệm và sai sót - một tập quán phức tạp trước đây chỉ được phát hiện trên những động vật có não lớn.

Quảng cáo


Các nhà nghiên cứu đã cho thấy rằng hành vi của ong có thể được giải thích bằng một hệ thống đơn giản. Sau khi phát hiện ra tất cả những bông hoa trong một khu vực định sẵn, những chú ong thỉnh thoảng sẽ thử tìm một lộ trình mới và nếu lộ trình này là ngắn nhất tính đến thời điểm hiện tại, ong sẽ tăng xác suất thử nghiệm lộ trình này trong tương lai. Vì vậy, thông qua một vòng lặp gồm phản hồi tích cực, những đường bay tốt sẽ được gia cường trong trí nhớ qua thời gian trong khi số còn lại sẽ bị quên dần, qua đó cho phép ong nhanh chóng chọn ra lộ trình luôn ngắn và tối ưu.

bumbeblee_travelling_salesman-2.png
Biểu đồ cho thấy cơ chế vạch lộ trình bay của ong từ tổ (N) đến các bông hoa (F1 -> F5). Chúng thỉnh thoảng thử nghiệm các lộ trình mới cho đến khi tìm được lộ trình tối ưu nhất.

Quy trình này rất tương đồng với thuật toán bầy kiến (ACO) vốn đang được sử dụng rộng rãi trong ngành khoa học máy tính. Tuy nhiên, khi so sánh với phương pháp bầy kiến, vẫn có những điểm khác biệt quan trọng trong cách thức thực hiện của loài ong. Một ví dụ, khi một trong 5 bông hoa được di chuyển khỏi vị trí ban đầu hoặc loại bỏ, những chú ong tham gia vào việc tìm kiếm lộ trình đến những bông hoa gần nhất luôn thành công. Vì vậy, khi được mô hình hóa phù hợp, việc phỏng theo hành vi của ong có thể mang lại một thuật toán tổng quát hơn, linh hoạt hơn và phù hợp hơn đối với những trường hợp trong đó số lượng tài nguyên, hình dạng không gian và giá trị của chúng thay đổi liên tục theo thời gian.

Một văn bản mô tả về nghiên cứu này đã được đăng tải trên tạp chí PLOS Biology. Các bạn quan tâm có thể tham khảo thêm tại đây.

Theo: Gizmag
47 bình luận
Chia sẻ

Xu hướng

cách nghĩ mới -->thuật toán mới--> công nghệ mới :eek:
Phức tạp quá mình đọc đi đọc lại vẫn chưa hiểu đc hết T___T
Hiryuu128
ĐẠI BÀNG
12 năm
Hic, không hiểu cho lắm, đọc đi đọc lại vẫn chưa biết áp dụng những điểm mới gì và như thế nào, chung quy lại thì nó khác gì so với phương pháp loại trừ nhỉ @@

Công nhận cái con số so sánh khủng thật, nếu dùng theo kiểu loại trừ thì đến khi nào mới tìm ra được đường đi tối ưu nhất

nhquangdt3
ĐẠI BÀNG
12 năm
Mình rất thích khám phá thế giới động vật. Đôi khi xem những chương trình thế giới động vật lại biết thêm rất nhiều tập tính hay của các loài động vật mà mình không ngờ tới. Rất thú vị!
@nhquangdt3 TRước mình là fan cuồng của internation graphic... xem k chán, giờ nhiều chương trình tạp nham quá
nhquangdt3
ĐẠI BÀNG
12 năm
Đôi khi lập trình đòi hỏi có một lối tư duy mới. Nhiều lúc nó rất đơn giản nhưng mình lại làm cho nó phức tạp đi bằng những suy nghĩ phức tạp. Mình rất thích lập trình.
khoikito
ĐẠI BÀNG
12 năm
Mình đọc sơ qua, hình như chúng dùng phép thử. Thử từng đường và nếu thấy đoạn đường nào ngắn hơn, chúng sẽ đi nhiều hơn. Khi đó não của chúng sẽ tự loại bỏ các đoạn đường dài. Nếu 1 con ong dùng phương pháp này thì khó ra được phương pháp nào đi nhanh, nhưng ở đây là 1 đàn ong, việc xử lý sẽ nhanh hơn rất nhiều.
freewind93
ĐẠI BÀNG
12 năm
@khoikito vậy ra ong dùng thêm pp chia để trị nữa 😃
tam1104
ĐẠI BÀNG
12 năm
***Bạn hiểu đơn giản là vầy. Ví dụ như đưa ra 5 số 5, 3 , 4 ,2 , 1 kêu bạn sắp xếp lại từ bé đến lớn. Bạn ko làm dc => nhờ con ong làm. Người ta quan sát dc thì biết dc rằng à à con ong nó phải bay đi bay lại để biết cách sắp xếp cho đúng theo thứ tự là 1,2,3,4,5. Thế thôi.
khoikito
ĐẠI BÀNG
12 năm
Bạn bk9sw dịch bài này tài thật. Theo mình nghĩ thì việc dịch những bài viết kiểu này thật khó 😁
Bó tay. Ở đây có nghĩa là sau mỗi lần thử, con ong sẽ so sáh lần trước và phỏng đoán đoạn nào giúp nó nhah hơn, đoạn nào làm chậm nó lại. Vì vậy nó loại dần các phép thử chứ ko phải thực hiện tất cả các phép thử có thể có.
Kaoazaki
ĐẠI BÀNG
12 năm
phỏng đoán --> thử
thử đúng --> theo​
thử sai --> phỏng đoán lại​
-->thử​
thử đúng --> theo​
thử sai --> phỏng đoán lại​
...
đến khi từ trên xuống dưới đều đúng thì thôi.

đó cũng là một cách nghĩ. nhưng nhờ cậy nhiều vào sự "tinh tế" của bản thân.
@Kaoazaki cho phep em bấm nut thankkkkkkkkkkk
Ong dùng sơ đồ pert để lên tiến trình ah,ong giỏi
Công nghệ mới áp dụng làm tăng năng suất lao động... nhớ lại cái câu không biết của nhân vật nổi tiếng nào " Tôi giao việc thật khó cho nhân viên thật lười... kiểu gì cũng có đột biến sáng tạo"
@kelangbat câu đó của Bill Gates..
đọc tới đọc lui thì thấy như 1 phép loại trừ nhưng ko loại trừ ngay mà loại trừ dần dần = cách các con ong chỉ thỉnh thoảng thử nghiệm đường đi mới, điều hay nhất chính là các con ong đã hình thành nên 1 sơ đồ đường đi tối ưu, dù khi có 1 biến cố nào đó như ở trên là họ dời 1 chậu hoa, thì đàn ong vẫn tiếp tục lộ trình = con đường ngắn nhất mà chúng tìm đc
Dimita
ĐẠI BÀNG
12 năm
Bài toán tìm đường đi ngắn nhất trong môn Toán Rời Rạc, lẽ nào mình mang cho ong làm nhỉ. 😁
Nhiều khi đường ngắn nhất không phải là đường nhanh nhất, nhất là ở trong thành phố. Chưa kể trong các điểm đến, nơi mình cần (hoặc phải) đến trước lại ở xa hơn nơi mình cần đến sau. Nói chung là phức tạp.

Ví dụ như hôm nọ, Việc em phải làm là hỏi địa chỉ nhà Bí thư chi bộ khu dân cư, đến đó xin xác nhận, rồi đến văn phòng Đảng uỷ phường xin dấu, rồi về cơ quan. Không biết địa chỉ bí thư, em phải đi hỏi công an phường, đến nhà ông Bí thư, ông ý đi vắng:eek: , thế là hỏi và đến ông phó bí thư. Ông phó bí thư lại đi làm:mad: , quay về nhà, đợi 1 lúc rồi lại lộn ra nhà ông bí thư, xin được xác nhận rồi, quay ra VP Đảng uỷ phường thì lại đóng cửa chẳng có ai,:mad: thế là vòng lại đến CQ đi làm.

Mặc dù lộ trình gần nhất của em là đi VP Đảng uỷ, xin dấu, rồi xin xác nhận, rồi đi làm, nhưng ai cho làm thế đâu :p

Nói lai rai hơi dài dòng, vì em cũng bức xúc cái chuyện đi lại này, công việc thì lại hay phải làm chân gỗ. hic.

nhưng giải quyêt được bài toán người bán hàng này mà phí ship hàng nó giảm được thì tốt quá :p
@xxxphantomxxx
Thực ra bài toán này ứng dụng thực tiễn cực cao và cực nhiều. Mình hôm trước cũng đau đầu vì bài toán này dù được phát biểu ở dạng quy hoạch lưới điện.

Như bài toán mình gặp thì tiền là đơn vị cho khoảng cách.

Về bài toán của bạn, bạn thay quãng đường địa lý bằng thời gian là lại chuyển về bài toán gốc thôi.
Vẫn chưa hiểu lắm. Hic.
rongV
TÍCH CỰC
12 năm
cũng giống bài toán kinh tế trong QTKD thôi
cứ như là giải sudoku vậy.thử thử.
musicfan181
ĐẠI BÀNG
12 năm
trời đất, tưởng cái j to tát.
''mỗi chú ong đã tìm ra đường đi ngắn nhất giữa 5 bông hoa và trở về tổ sau khi bay thử 20 trong số tổng số 120 lộ trình khả thi'' chắc phát hiện lớn nhất trong nghiên cứu này là con người cũng phải ''bay thử 20 lần'' :p
@musicfan181 một bác tỏ ra nguy hiểm trong kinh doanh chỉ cần bớt đi 1 là lời 10 rồi bác ah,h này mah còn cái lối suy nghĩ thụ động đường mòn không chịu khai thác tìm kiếm những con đường khác thì có mah bám đuôi đi sau những công ty tiên phong mãi thôi
musicfan181
ĐẠI BÀNG
12 năm
@ezio_nguyen91 nhok con này có tướng ko phải bám đuôi rồi 😆
@musicfan181 tinh tướng quá bác làm thầy bói dc đó

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019