Thuật toán tối ưu hóa cây quyết định


16

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 xTj{1,...,n}{A,B}01x

  1. Bắt đầu từ gốc
  2. nếu bạn ở trên lá, bạn xuất nhãn lá hoặc và chấm dứtBAB
  3. Đọ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 = 1jxj=0xj=1
  4. 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 )Tfx{0,1}nT(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 'depth(T)=O(logdepth(T))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 !d=depth(T)d1TdT(x)xO(d2nn!(nd)!)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àyTtTtO(n!/(nd)!)dΘ(n)n!/(nd)!2d


Tìm cây quyết định tối ưu là NP-đầy đủ. Tôi được dạy rằng trong lý thuyết Quyết định và các lớp khai thác dữ liệu, tuy nhiên chúng được dựa trên các ghi chú và tôi không biết về bài báo gốc giới thiệu kết quả.
chazisop

@chazisop mát mẻ, cảm ơn. Tôi không rõ ràng rằng việc tìm cây quyết định tối ưu là trong NP, nhưng tôi sẽ suy nghĩ về nó / tìm kiếm thêm. Đôi khi biết tuyên bố định lý là một nửa để chứng minh nó: D.
Artem Kaznatcheev

Tôi nghĩ rằng tài liệu tham khảo sớm nhất cho điều này là: Giới hạn thấp hơn về Danh sách quyết định học tập và cây. (Hancock et al. 1994) cs.uwaterloo.ca/~mli/dl.ps
Lev Reyzin

1
Bằng chứng cho thấy việc tìm ra cây quyết định tối ưu là một vấn đề hoàn chỉnh NP được đưa ra bởi Laurent Hyafil và Ronald L. Rivest trong việc Xây dựng cây quyết định nhị phân tối ưu là NP- Complete (1976). tham khảo: tại đây
antoine

Câu trả lời:


16

Tôi có 3 câu trả lời, tất cả đều cho kết quả độ cứng khác nhau.

Đặt là một số hàm.f:{0,1}n{0,1}

trả lời 1

Đưa ra một cây quyết định tính toán f và một số, thật khó để biết liệu có tồn tại một cây quyết định T tính toán f có kích thước nhiều nhất là số đó hay không. TfTf( Zantema và Bodlaender '00 )

Trả lời 2

Với một cây quyết định tính toán f , NP khó có thể xấp xỉ điện toán cây quyết định nhỏ nhất f với bất kỳ yếu tố không đổi nào. Tff( Sieling '08 )

Trả lời 3

Gọi là kích thước của máy tính cây quyết định nhỏ nhất f . Cho một cây quyết định T tính f , giả sử N P D T I M E ( 2 n ε ) đối với một số ε < 1 , người ta không thể tìm thấy một cây quyết định tương đương với T ' kích thước s k cho bất kỳ k 0 .sfTfNPDTIME(2nϵ)ϵ<1Tskk0

Tôi nghĩ rằng câu trả lời mạnh mẽ hơn này (dựa trên giả định yếu hơn) có thể được tạo ra từ các kết quả đã biết trong lý thuyết học về thuật toán Occam cho các cây quyết định, thông qua lập luận sau:

  1. Có thể tìm thấy cây quyết định trên biến trong thời gian n log s , trong đó là cây quyết định nhỏ nhất phù hợp với các ví dụ đến từ phân phối (mô hình PAC). ( Blum '92 ) nnlogss
  2. Giả sử cho một số , chúng ta không thể PAC tìm hiểu cây quyết định kích thước theo kích thước cây quyết định cho bất kỳ . ( Alekhnovich và cộng sự '07 )ε < 1 s s k k 0NPDTIME(2nϵ)ϵ<1sskk0

Hai kết quả này dường như ngụ ý một kết quả độ cứng cho vấn đề của bạn. Một mặt (1), chúng ta có thể tìm thấy một cây quyết định lớn; mặt khác (2), chúng ta không nên thu nhỏ nó để có được một cái "nhỏ" tương đương, có kích thước , ngay cả khi tồn tại kích thước . ssks


(Tôi tìm thấy câu trả lời của bạn từ câu trả lời này , được đăng cách đây chưa đầy một giờ.)Dường như " " có thể được thay thế bằng "dương ε , kể từ khi giảm ε làm cho cánh tay phải phía trên ngăn nhỏ .ϵ<1ϵϵ Ngoài ra, ở đâu trong bài báo đó là 2. hiển thị?

Xem điểm bullet # 2 trong trừu tượng ở đây: researcher.watson.ibm.com/researcher/files/us-vitaly/...
Lev Reyzin

(đến từ cùng một câu trả lời với Ricky Demer) bạn có thể nói chi tiết hơn một chút về cách bạn nhận được "câu trả lời 3" từ các điểm 1. và 2. không? Tôi không rành lắm về việc học lý thuyết và có một khoảng thời gian khó khăn để kết nối các bộ phận ...
Marc

Vấn đề nhất quán và khả năng học hỏi này có liên quan chặt chẽ thông qua dao cạo của Occam. Ý tưởng là nếu bạn có thể tìm thấy một hàm nhất quán từ một tập nhỏ, bạn có thể thành công trong việc học PAC. Do đó, độ cứng của kết quả học tập hàm ý kết quả "độ cứng của tính nhất quán". Tôi không chắc chắn bao nhiêu tôi càng có thể giải thích trong một bình luận ...
Lev Reyzin

Theo như tôi hiểu, thuật toán gợi lên 1. không chạy kịp thời mà sẽ cần thiết để có được mâu thuẫn với 2. (kết quả chính xác trong bài viết nếu tôi hiểu đúng nói rằng không có thuật toán học đa thời gian cho cây quyết định). Vì vậy, có thể có một vấn đề với lập luận của bạn. Poly(n,s)
Marc
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.