Ý nghĩa của (meta) phương pháp heuristic


10
  1. Để tối ưu hóa, từ Wikipedia :

    Trong khoa học máy tính, metaheuristic chỉ định một phương pháp tính toán nhằm tối ưu hóa một vấn đề bằng cách lặp đi lặp lại để cải thiện một giải pháp ứng viên liên quan đến một thước đo chất lượng nhất định. Siêu dữ liệu đưa ra một vài hoặc không có giả định về vấn đề được tối ưu hóa và có thể tìm kiếm không gian rất lớn của các giải pháp ứng cử viên. Tuy nhiên, siêu dữ liệu không đảm bảo một giải pháp tối ưu đã từng được tìm thấy. Nhiều siêu dữ liệu thực hiện một số hình thức tối ưu hóa ngẫu nhiên.

    Các thuật ngữ khác có ý nghĩa tương tự như siêu hình, là: không có đạo hàm, tìm kiếm trực tiếp, hộp đen hoặc thực sự chỉ là trình tối ưu hóa heuristic. Một số sách và tài liệu khảo sát đã được xuất bản về chủ đề này.

    • Tôi tự hỏi làm thế nào để biết liệu một phương pháp tối ưu hóa có phải là siêu hình hay không? Ví dụ,

      (1) Là phương pháp đơn giản cho siêu dữ liệu lập trình tuyến tính?

      (2) Có phải phần lớn các phương pháp lập trình phi tuyến tính như giảm độ dốc, phương pháp số nhân Lagrangian, phương pháp phạt, phương pháp điểm nội bộ (phương pháp rào cản), siêu hình?

      (3) Có phải tất cả các phương pháp không có độ dốc, chẳng hạn như phương pháp Nelder của Mead hoặc phương pháp đơn giản xuống dốc, siêu hình?

    • Một số phương pháp tối ưu hóa không phải là siêu hình là gì?

  2. Nói chung hơn (vượt quá tối ưu hóa) cho các kỹ thuật giải quyết vấn đề, từ Wikipedia :

    Heuristic đề cập đến các kỹ thuật dựa trên kinh nghiệm để giải quyết vấn đề, học hỏi và khám phá . Khi một tìm kiếm toàn diện là không thực tế, các phương pháp heuristic được sử dụng để tăng tốc quá trình tìm kiếm một giải pháp thỏa đáng. Ví dụ về phương pháp này bao gồm sử dụng quy tắc ngón tay cái, phỏng đoán có giáo dục, phán đoán trực quan hoặc ý thức chung.

    Nói một cách chính xác hơn, heuristic là các chiến lược sử dụng thông tin có thể truy cập dễ dàng, mặc dù có thể áp dụng một cách lỏng lẻo để kiểm soát việc giải quyết vấn đề ở người và máy móc.

    Tôi tự hỏi làm thế nào để hiểu ý nghĩa của "heuristic"?

    • Làm thế nào tôi có thể biết liệu một kỹ thuật "giải quyết vấn đề, học hỏi và khám phá" có phải là heuristic hay không?

    • Một số kỹ thuật "giải quyết vấn đề, học hỏi và khám phá" không theo kinh nghiệm là gì?

Cảm ơn và trân trọng!

Câu trả lời:


7

Heuristic là một cái gì đó hoạt động trong nhiều trường hợp trong thực tế, mặc dù không có lập luận chi tiết về lý do tại sao nó nên hoạt động tốt.

Metaheuristic không phải là một thuật toán mà là một sơ đồ hoặc ý tưởng heuristic chung có thể được sử dụng bên trong các thuật toán cụ thể.

Ví dụ, thuật toán đơn giản cho lập trình tuyến tính không phải là heuristic hay metaheuristic, vì nó có một lý thuyết hội tụ được thiết lập tốt. Các sqame giữ cho lập trình tứ phương tuần tự hoặc phương pháp điểm bên trong. (Các phương pháp điểm bên trong là một sơ đồ tổng quát, nhưng không phải là heuristic và do đó không phải là một siêu dữ liệu, vì có một lý thuyết khá mạnh liên quan đến nó.)

Thuật toán Nelder-Mead = dow dốc Simplex để giảm thiểu chức năng là heuristic (nó thực sự có thể thất bại đối với các vấn đề khá đơn giản ở các chiều cao hơn) và tìm kiếm tabu là siêu dữ liệu (vì có thể viết khá nhiều thuật toán đa dạng sử dụng tìm kiếm tabu, nhưng Mặt khác có chất lượng khá khác nhau.


Cảm ơn! (1) Vì vậy, để cho biết liệu một phương pháp có phải là siêu hình hay không, là để xem liệu nó có một lý thuyết liên quan đến khi nào nó hội tụ đến trình tối ưu hóa thực sự không? Nếu một phương pháp chưa có một lý thuyết như vậy, thì nó có phải là mulleuristic không? Nếu một ngày có một lý thuyết cho nó, nó sẽ trở thành từ siêu hình thành phi siêu hình? (2) "Các thuật ngữ khác có ý nghĩa tương tự như siêu hình, là: không có đạo hàm, tìm kiếm trực tiếp, hộp đen hoặc thực sự chỉ là trình tối ưu hóa heuristic." Tôi tự hỏi nếu metaheuristic chỉ sử dụng các giá trị hàm và là đạo hàm miễn phí? Đây có phải là phương pháp "tìm kiếm" trong câu trả lời của bạn cho câu hỏi khác của tôi không?
Tim

@Tim: metaheuristic có nghĩa là: (i) không có lý thuyết hội tụ (ii) không có công thức xác định để tiến hành mà là các nguyên tắc chung. - phái sinh-miễn phí (= tìm kiếm trực tiếp = hộp đen; các tên khác nhau cho cùng một nguồn gốc lịch sử khác nhau) có thể là heuristic hoặc không; nó chỉ nói về đầu vào mà người dùng phải cung cấp.
Arnold Neumaier

Cảm ơn! Tôi tự hỏi nếu metaheuristic chỉ sử dụng các giá trị hàm và là đạo hàm miễn phí?
Tim

@Tim: Có lẽ là có; Tôi không biết bất cứ thứ gì thực sự được gọi là siêu hình sử dụng độ dốc.
Arnold Neumaier

7

Tôi sẽ không lặp lại đơn giản và Nelder-Mead vì @ArnoldNeumaier đã đưa ra một lời giải thích rất tốt, nhưng muốn thêm 2 xu của tôi.

Một trong những câu trích dẫn hay nhất mà tôi đã nghe cách đây một thời gian để mô tả sự khác biệt giữa heuristic và metaheuristic: Một heuristic là một quy tắc khá tốt. Một siêu nhân là một quy tắc khá tốt để tìm các quy tắc khá tốt.

Bạn chỉ nên xem nó như một cách để tìm ra các heuristic tốt cho các vấn đề cụ thể; về cơ bản nếu bạn tự hỏi mình một trong những câu hỏi sau đây bạn đang nói về siêu hình:

  • Làm thế nào tôi nên điều chỉnh các tham số của heuristic này để cải thiện hiệu suất cho vấn đề đó?
  • Đây là heuristic tốt hơn heuristic?

Có một loạt các siêu dữ liệu bạn có thể sử dụng để giải quyết vấn đề, học hỏi và khám phá , cụ thể là:

  • Mô phỏng ủ : Tôi đã sử dụng vấn đề này trong một vấn đề để tối ưu hóa vị trí của các thành phần được kết nối trên lưới để giảm thiểu tổng chi phí kết nối chẳng hạn.
  • Đám hạt
  • Đàn kiến
  • Tìm kiếm Tabu

Tôi thấy rằng hầu hết các siêu dữ liệu được phần nào lấy cảm hứng từ các hiện tượng tự nhiên, khó giải thích chặt chẽ, nhưng có đặc tính hội tụ tốt.

Đây là một liên kết tốt nếu bạn muốn đọc thêm về một số kỹ thuật siêu hình khác


Cảm ơn! Tôi không chắc là tôi hiểu "Một heuristic là một quy tắc khá tốt. Một siêu nhân là một quy tắc khá tốt để tìm ra các quy tắc khá tốt." Ví dụ, mô phỏng ủ, hạt bụi, đàn kiến ​​và tabu tìm kiếm heuristic hay metaheuristic? Nếu họ là một trong hai, đối tác của họ cho người kia là gì?
Tim

Những gì bạn nên hiểu từ trích dẫn này là cả heuristic và metaheuristic đều không chính xác cũng như không được chứng minh, do đó "quy tắc khá tốt". Siêu dữ liệu ở cấp độ cao hơn so với heuristic và thông qua nhiều lần lặp lại liên tiếp, bạn có thể tìm thấy một tập hợp các tham số sẽ giải quyết vấn đề chính xác. Nếu bạn biết bộ thông số này là gì ngay từ đầu, bạn sẽ phải viết một heuristic để giải quyết vấn đề. Nhưng vì bạn không biết, bạn phải sử dụng một thuật toán để tìm các tham số này cho heuristic của mình: một siêu hình. Mong rằng làm rõ.
Charles Menguy

Và các thuật toán tôi đưa ra ở đây đều là siêu dữ liệu, và bạn có thể tìm thêm chi tiết về liên kết tôi đưa ra. Tôi không chắc chính xác ý của bạn đối với các đối tác.
Charles Menguy

Theo các đối tác, ý tôi là, ví dụ, nếu các thuật toán là tất cả các siêu dữ liệu, thì các heuristic mà chúng hoạt động phải là chính chúng cộng với các giá trị cụ thể cho các tham số có thể điều chỉnh của chúng?
Tim

Lấy ví dụ mô phỏng ủ. Những gì nó làm cuối cùng là một tìm kiếm trên chuỗi Markov. "Quy tắc" của heuristic sẽ là giả định rằng một nhà nước trong chuỗi Markov là giải pháp. Những gì siêu hình làm là nó sẽ tìm kiếm sự hội tụ trong chuỗi Markov để tìm trạng thái tối ưu mô tả giải pháp. Nói chung, tôi nghĩ rằng bạn không nên cố gắng quá nhiều để phân biệt: sử dụng phương pháp phỏng đoán khi có một giải pháp đơn giản "tương đối" có thể dễ dàng tính toán và sử dụng siêu dữ liệu khi không gian giải pháp quá lớn và bạn cần thông minh hơn giải quyết vấn đề.
Charles Menguy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.