Lý lịch
Cây quyết định nhị phân là cây gốc, trong đó mỗi nút bên trong (và gốc) được gắn nhãn bởi một chỉ mục sao cho không có đường dẫn nào từ gốc đến lá lặp lại một chỉ mục, các lá được gắn nhãn bởi các đầu ra trong và mỗi cạnh được gắn nhãn cho con trái và cho con phải. Để áp dụng cây cho đầu vào :j ∈ { 1 , . . . , n } { A , B } 0 1 x
- Bắt đầu từ gốc
- nếu bạn ở trên lá, bạn xuất nhãn lá hoặc và chấm dứtB
- Đọc nhãn của nút hiện tại của bạn, nếu thì di chuyển sang con bên trái và nếu thì di chuyển sang con bên phải.x j = 0 x j = 1
- nhảy đến bước (2)
Cây được sử dụng như một cách để đánh giá một hàm, cụ thể chúng ta nói rằng cây đại diện cho tổng hàm nếu với mỗi chúng ta có . Độ phức tạp truy vấn của cây là độ sâu của nó và độ phức tạp truy vấn của hàm là độ sâu của cây nhỏ nhất đại diện cho nó.f x ∈ { 0 , 1 } n T ( x ) = f ( x )
Vấn đề
Cho cây quyết định nhị phân T xuất ra cây quyết định nhị phân T 'có độ sâu tối thiểu sao cho T và T' đại diện cho cùng một hàm.
Câu hỏi
Thuật toán nổi tiếng nhất cho điều này là gì? Có bất kỳ giới hạn dưới được biết đến? Điều gì xảy ra nếu chúng ta biết rằng ? Nếu chúng ta chỉ yêu cầu có độ sâu xấp xỉ tối thiểu thì sao?T '
Cách tiếp cận ngây thơ
Cách tiếp cận ngây thơ được đưa ra để liệt kê tất cả đệ quy cây quyết định nhị phân của độ sâu trong khi thử nghiệm nếu họ đánh giá để điều tương tự như . Điều này dường như yêu cầu các bước (Giả sử phải thực hiện các bước để kiểm tra xem điều gì cho một tùy ý ). Có một cách tiếp cận tốt hơn?d - 1 T O ( d 2 n n !dT(x)x
Động lực
Câu hỏi này được thúc đẩy bởi một câu hỏi trước đó về sự đánh đổi giữa độ phức tạp truy vấn và độ phức tạp thời gian . Cụ thể, mục tiêu là ràng buộc phân tách thời gian cho tổng số chức năng. Chúng ta có thể tạo cây từ thuật toán tối ưu thời gian với thời gian chạy , và sau đó chúng tôi muốn chuyển đổi nó thành cây cho thuật toán tối ưu truy vấn. Thật không may, nếu (Và thường ) thì nút cổ chai là chuyển đổi. Sẽ thật tuyệt nếu chúng ta có thể thay thếbởi một cái gì đó như .t T ′ t ∈ O ( n ! / ( N - d ) ! ) D ∈ Θ ( n ) n ! / ( n - d ) ! 2 ngày