4.5.5 Đối phó với Infinite Streams
Về mặt kỹ thuật, dự toán, chúng tôi sử dụng cho những khoảnh khắc thứ hai và cao hơn giả định rằng n, chiều dài dòng, là một hằng số. Trong thực tế, n phát triển theo thời gian. Thực tế là, tự nó, không gây ra vấn đề, vì chúng ta lưu trữ chỉ có giá trị của biến và nhân rộng một số chức năng của giá trị đó bằng n khi đó là thời gian để ước lượng thời điểm này. Nếu chúng ta đếm số lượng các yếu tố dòng nhìn thấy và lưu trữ giá trị này, mà chỉ cần bit logn, sau đó chúng tôi có n có sẵn bất cứ khi nào chúng ta cần nó. Một vấn đề nghiêm trọng hơn là chúng ta phải cẩn thận như thế nào chúng ta chọn vị trí cho các biến. Nếu chúng ta làm lựa chọn này một lần và cho tất cả, sau đó là dòng dài hơn, chúng tôi là thiên vị trong lợi của vị trí đầu, và ước tính của thời điểm này sẽ là quá lớn. Mặt khác, nếu chúng ta chờ đợi quá lâu để chọn vị trí, sau đó đầu trong dòng chúng tôi không có nhiều biến và như vậy sẽ có được một ước tính đáng tin cậy. Các kỹ thuật thích hợp để duy trì như nhiều biến như chúng ta có thể lưu trữ mọi lúc, và để ném một số ra như dòng phát triển. Các loại bỏ các biến được thay thế bằng những cái mới, trong một cách mà ở tất cả các lần, xác suất chọn bất kỳ vị trí một cho một biến là giống như của chọn bất kỳ vị trí khác. Giả sử chúng ta có không gian để lưu trữ các biến s. Sau đó, các vị trí đầu tiên của của dòng là mỗi chọn là vị trí của một trong các biến s. Quy nạp, giả sử chúng ta đã thấy dòng n yếu tố, và xác suất của bất kỳ vị trí cụ thể là vị trí của một biến là thống nhất, có nghĩa là s / n. Khi (n +1) yếu tố st đến, chọn vị trí đó với xác suất s / (n +1). Nếu không chọn, sau đó các biến s giữ vị trí tương tự của họ. Tuy nhiên, nếu (n +1) vị trí st được chọn, sau đó ném ra một trong các biến s hiện tại, với xác suất bằng nhau. Thay thế một loại bỏ bởi một biến mới có yếu tố là một trong những ở vị trí n + 1 và có giá trị là 1. Chắc chắn, xác suất mà vị trí n + 1 được chọn cho một biến là những gì nó phải là: s / (n + 1). Tuy nhiên, xác suất của từng vị trí khác cũng là s / (n + 1), như chúng ta có thể chứng minh bằng cảm ứng trên n. Bởi giả thuyết quy nạp, trước khi sự xuất hiện của các yếu tố dòng st (n + 1), xác suất này là s / n. Với xác suất 1-s / (n + 1) (n + 1) vị trí st sẽ không được lựa chọn, và khả năng của mỗi vị trí đầu tiên vẫn còn n s / n. Tuy nhiên, với xác suất s / (n + 1), (n + 1) vị trí st được chọn, và xác suất cho mỗi vị trí n đầu tiên là giảm yếu tố (s-1) / s. Xem xét hai trường hợp, xác suất chọn mỗi vị trí n đầu tiên là biểu hiện này đơn giản hóa đến và sau đó để từ đó đơn giản hoá để Vì vậy, chúng tôi đã thể hiện bằng cảm ứng trên các dòng dài n rằng tất cả các vị trí có xác suất bằng nhau s / n được chọn là vị trí của một biến.
đang được dịch, vui lòng đợi..
