Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Toán cho CNTT] Gradient descent hàm bậc 2 một biến

    Gradient descent một biến

    Cho hàm bậc hai f(x) = a*x^2 + b*x + c. Đạo hàm là f'(x) = 2*a*x + b.

    Thực hiện gradient descent xuất phát từ x0 với learning rate lr trong n bước:

    x <- x - lr * f'(x)
    

    In ra giá trị x sau n bước.

    Thuật toán

    1. Đặt x = x0.
    2. Lặp n lần: x = x - lr * (2*a*x + b).
    3. In x.

    Ví dụ

    Với a=1, b=0, c=0, x0=10, lr=0.1, n=1: f'(10)=20, x = 10 - 0.1*20 = 8.000000.

    • Định dạng đầu vào:

      Dòng 1: ba số thực a b c. Dòng 2: x0 lr (số thực). Dòng 3: số nguyên n.

    • Ràng buộc đầu vào:

      -100 <= a,b,c,x0 <= 100, a != 0, 0 < lr <= 1, 0 <= n <= 100000.

    • Định dạng đầu ra:

      Một dòng: giá trị x sau n bước. Số thực in với định dạng {:.6f} (6 chữ số thập phân).

    Ví dụ:

    Đầu vào:

    1 0 0
    10 0.1
    1
    

    Đầu ra:

    8.000000

    Giải thích:

    f'(10)=2*1*10+0=20; x=10-0.1*20=8.

    Đang tải editor...