Dấu ngoặc trong một chức năng bước


8

Tôi có chức năng

,f(x)={0(x<a)1/2(x=a)1(x>a)

trong đó là không rõ. Tôi có thể tính toán chức năng đối với bất kỳ giá trị của x , và tìm cách xác định một (ở một mức độ chính xác cao).axa

Cho một khung ban đầu , tôi chia nhỏ khung bằng cách xác địnhx0<a<x1

x2:=x0+x12

và tính toán . Sau đó, tôi có x 0 < a < x 2 hoặc x 2 < a < x 1 . Tôi có thể tiến hành phương pháp này cho đến khi các giá trị ngoặc đơn đồng ý với độ chính xác nào đó, và do đó giải quyết cho a .f(x2)x0<a<x2x2<a<x1a

Có một thuật toán hiệu quả hơn?

Câu trả lời:


7

Không. Mặc dù câu hỏi được đặt theo thuật ngữ số học dấu phẩy động, đây là câu hỏi chính về tìm kiếm nhị phân. Tìm kiếm nhị phân là một thuật toán tối ưu trong số các thuật toán dựa trên cây quyết định (ví dụ: https://stackoverflow.com/q/4571478/491171 ). Bất kỳ cấu trúc dữ liệu và sách giáo khoa thuật toán nên thảo luận về điều này.

an=|highlow|/ϵmachnlog2nlog2na

a


5

fPP+12


2
(+1) Đây là lý do tại sao việc xác định chính xác mô hình tính toán rất quan trọng để nói về hiệu quả thuật toán.
Kirill
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.