Giải các phép chia và chinh phục nếu tỷ lệ phân chia phụ thuộc vào


20

Có một phương pháp chung để giải quyết sự tái phát của mẫu:

T(n)=T(nnc)+T(nc)+f(n)

cho c<1 , hoặc nói chung hơn

T(n)=T(ng(n))+T(r(n))+f(n)

Trong đó là một số hàm tuyến tính phụ của .g(n),r(n)n

Cập nhật : Tôi đã xem qua các liên kết được cung cấp dưới đây và cũng đã sàng lọc tất cả các mối quan hệ lặp lại trong ghi chú của Jeff Erickson . Hình thức tái phát này không được thảo luận ở bất cứ đâu. Phương pháp Akkra-Bazi chỉ áp dụng khi phần tách là phân số. Bất kỳ tài liệu tham khảo sâu sắc sẽ được thông báo.


2
Hãy thử tạo các hàm.
saadtaame

1
Liệu Akra-Bazzi phương pháp áp dụng? Nó chỉ đưa ra ước tính , nhưng điều đó có thể là đủ. O()
vonbrand

4
Vì bạn không bao gồm nhiều nỗ lực để tự mình giải quyết vấn đề của mình, chúng tôi có thể làm việc cùng. Hãy để tôi hướng bạn đến các câu hỏi tham khảo của chúng tôi bao gồm các vấn đề tương tự như của bạn một cách chi tiết. Vui lòng xử lý các câu hỏi liên quan được liệt kê ở đó, cố gắng giải quyết vấn đề của bạn một lần nữa và chỉnh sửa để bao gồm các nỗ lực của bạn cùng với các vấn đề cụ thể bạn gặp phải.
Raphael

1
Kiểm tra các tài liệu của Tom Leighton về "Ghi chú về các định lý tổng thể tốt hơn cho các lần tái phân chia và chinh phục", chúng có sẵn trên mạng. Có lẽ bạn có thể điều chỉnh bằng chứng của Akra-Bazzi ở đó cho trường hợp của bạn.
vonbrand

1
Các chức năng tạo @EngrStudent đã được đề xuất trong bình luận đầu tiên. :)
Raphael

Câu trả lời:


6

Giả sử bạn có tái phát

T(n)={T(nnc)+T(nc)+f(n)n > 21otherwise

Chúng ta có thể làm gì với chức năng này? Chà, không nhiều lắm trừ khi chúng ta áp đặt một số cấu trúc nhất định lên nó. Tôi đến từ một nền tảng phân tích số, được lát bằng các công thức số mà bằng cách nào đó hoạt động ngay cả khi vấn đề cơ bản không đủ trơn tru (không quan trọng, chúng ta vẫn đưa phương pháp của Newton vào sự khác biệt được chia của nó) hoặc quá phức tạp để phân tích (sắp xếp giống như vấn đề này). Phản ứng ruột của tôi đối với những vấn đề này là đưa ra một số giả định được xử lý bằng tay, bắt chéo ngón tay của chúng tôi và hy vọng điều tốt nhất. Trong trường hợp này, nó dường như đưa ra giới hạn tương đối tốt.

Cụ thể, tôi muốn đưa ra hai giả định chính. Một trong những giả định này ít nhiều vô căn cứ, nhưng chúng ta sẽ không đi được rất xa nếu không có nó. Cái kia có một trực giác trực quan tốt đẹp mà bạn có thể hy vọng mò mẫm, nhưng nó vẫn còn nhiều tay hơn bất cứ thứ gì khác.

  1. T(n)T(n)f(n)=log(n)c=12limn2T(n)=1limn2+T(n)=2+ln2nnnnnT(n)n2nnT(n)
  2. nα(n)n>α(n)ncT(ξ(nα(n),n)α(n)n(nα(n),n)α(n)nnT(n)

Bây giờ, cả hai thuộc tính này đều được giả định và tôi không biết làm thế nào để thực sự chứng minh bằng bất kỳ cách nghiêm ngặt nào. Nhưng như tôi đã nói trước đây, hãy vượt qua những ngón tay của chúng tôi và hy vọng điều tốt nhất.

T(n)=T(nnc)+T(nc)+f(n)T(n)T(nnc)=T(nc)+f(n)ncT(n)T(nnc)nc=T(nc)+f(n)
Tnncn
T(n)T(nnc)nc=T(ξ(nnc,n)).
nT(ξ)
T(ξ)T(n)T(nϵ)ϵ    ϵ<nc
ϵ=1
nc(T(n)T(n1))T(nc)+f(n)T(n)T(n1)T(nc)+f(n)nc
T(n)knT(kc)kc+knf(k)kc

T(n)T(n)f(z)

f(n)=o(nc)fncT(n)=Θ(knf(k)kc)nf(x)xcdx

f(n)=ω(nc)

(knT(kc)kc)+Fc(n)
Fc(n)=nf(x)xcdx

nT(xc)xcdx

kT(kc)kcnf(xc)xcdx=nT(ξ<nc)ξc
nT(nc)nc
T(n)nMT(nc)nc+Fc(n)
M

(n,nc,nc2,nc3,,nck)nck<2

(*)T(n)n(ik1MinciFc(nci)+Mknck)
Fc(nci)
T(n)=O(Fc(n)+nFc(nc)(Mnc+M2nc2++Mknck))
k=logc(log(2)log(n))Mncnck
T(n)=O(nkFc(n)Mk)

(*)

nn>10

cf

T^(n)=nklogclogn2MknckF(nck)F(n)=knf(k)kc
MkT(kc)kcnT(nc)nc
T(n)=T(nα(n))+T(β(n))+f(n)
T^(n)=nk#β(n)Mkαk(n)F(βk(n))F(n)=knf(k)α(k)
αk(n)=α(k(α(n)))#β(n)n,β(n),β(β(n)),,β#β(n)(n)12
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.