TTBOMK, "ngẫu nhiên thuật toán" không phải là một thuật ngữ tiêu chuẩn. "Thuật toán ngẫu nhiên" là, tuy nhiên, và nó có lẽ là những gì có nghĩa là ở đây.
Ngẫu nhiên: Sử dụng ngẫu nhiên bằng cách nào đó. Có hai hương vị: Thuật toán Monte Carlo luôn kết thúc trong thời gian giới hạn, nhưng không đảm bảo giải pháp tối ưu, trong khi các thuật toán Las Vegas không nhất thiết được đảm bảo hoàn thành trong bất kỳ thời gian hữu hạn nào, nhưng hứa sẽ tìm giải pháp tối ưu . (Thông thường, chúng cũng được yêu cầu có thời gian hoạt động là hữu hạn dự kiến .) Ví dụ về các thuật toán phổ biến của Monte Carlo: MCMC, mô phỏng ủ và thử nghiệm nguyên thủy Miller-Rabin. Quicksort với sự lựa chọn trục ngẫu nhiên là một thuật toán Las Vegas luôn luôn kết thúc trong thời gian hữu hạn. Thuật toán không sử dụng bất kỳ ngẫu nhiên nào là xác định.
Heuristic: Không được đảm bảo để tìm câu trả lời đúng. Một thuật toán không phải là heuristic là chính xác.
Nhiều phỏng đoán rất nhạy cảm với các thuộc tính "ngẫu nhiên" của đầu vào không ảnh hưởng đến giải pháp thực, chẳng hạn như các mục đặt hàng được xem xét trong phỏng đoán đầu tiên cho vấn đề Bin Packing. Trong trường hợp này, chúng có thể được coi là thuật toán ngẫu nhiên của Monte Carlo: bạn có thể hoán đổi ngẫu nhiên các đầu vào và chạy lại chúng, luôn giữ câu trả lời tốt nhất mà bạn tìm thấy.OTOH, các chẩn đoán khác không có thuộc tính này - ví dụ: Phương pháp heuristic đầu tiên-giảm-giảm là xác định, vì nó luôn luôn sắp xếp các mục theo thứ tự giảm kích thước.
Nếu tập hợp đầu ra có thể có của một thuật toán ngẫu nhiên đặc biệt là hữu hạn và chứa câu trả lời đúng, sau đó chạy nó đủ lâu là "thực tế được bảo đảm" để cuối cùng tìm thấy nó (theo nghĩa là xác suất không tìm thấy nó có thể được thực hiện tùy ý nhỏ, nhưng không bao giờ 0). Lưu ý rằng nó không tự động khi một số hoán vị của các đầu vào cho heuristic sẽ dẫn đến câu trả lời chính xác - trong trường hợp của First-Fit, nó chỉ ra rằng là đúng, nhưng điều này chỉ được chứng minh trong năm 2009 Đôi khi các câu lệnh mạnh hơn về sự hội tụ của các thuật toán ngẫu nhiên có thể được thực hiện: chúng thường nằm dọc theo dòng "Đối với bất kỳ ngưỡng nhỏ nào d, sau bước t, chúng tôi sẽ nằm trong d của giải pháp tối ưu với xác suất f (t, d) ", với f (t, d) hàm tăng t và d.
Nguồn
2015-01-22 10:18:25
Bạn đề cập đến các thuật toán xác định và điều này khiến tôi thêm nhầm lẫn. Không phải thuật toán _deterministic_ và _exact_ cũng giống nhau không? – orestis21
Không, bạn có thể có chẩn đoán xác định. Phương pháp heuristic đầu tiên-giảm-giảm cho việc đóng gói thùng là xác định bởi vì được đưa vào cùng một đầu vào, nó sẽ luôn tạo ra cùng một đầu ra. Nhưng nó không chính xác, bởi vì nó có thể không tìm ra giải pháp tối ưu. –
nhận xét này khá sáng suốt. Sau đó chúng ta có thể nói rằng chúng ta có dipoles _deterministic-stochastic_ và _exact-heuristics_? – orestis21