Thuật toán Newton–Raphson – Lịch sử tính CĂN BẬC HAI
HOT!Đăng ký để nhận các mẹo soạn bài giảng eLearning mới nhấtBấm vào đây Nhận Seri iSpring Suite (soạn eLearning)

Tin hot

6/recent/ticker-posts

Header Ads Widget

Phương Phạm Blog

Thuật toán Newton–Raphson – Lịch sử tính CĂN BẬC HAI

💡 Phần 1: Thuật toán Newton–Raphson – Tính căn bậc hai

Thuật toán Newton–Raphson là một phương pháp lặp để tìm nghiệm (hay root) của một hàm số. Cụ thể, nó tìm giá trị \(\mathbf{x}\) mà tại đó \(\mathbf{f(x) = 0}\).

Để áp dụng thuật toán này vào bài toán tính căn bậc hai của một số \(\mathbf{a}\) (tức là \(\mathbf{\sqrt{a}}\)), ta cần chuyển bài toán về dạng tìm nghiệm của một phương trình:

$$\mathbf{x^2 - a = 0}$$

Do đó, hàm số \(\mathbf{f(x)}\) được sử dụng làm cơ sở để suy ra công thức lặp tính căn bậc hai chính là:

$$\mathbf{f(x) = x^2 - a}$$

Công thức lặp tổng quát của thuật toán Newton–Raphson là:

$$\mathbf{x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}}$$

Khi thay \(\mathbf{f(x) = x^2 - a}\) và đạo hàm \(\mathbf{f'(x) = 2x}\) vào công thức trên, ta sẽ dẫn đến công thức Babylon quen thuộc.

Trong đó:

  • \(x_n\) là giá trị xấp xỉ hiện tại.
  • \(x_{n+1}\) là giá trị xấp xỉ tiếp theo (tốt hơn).
  • \(f(x_n)\) là giá trị của hàm số tại \(x_n\).
  • \(f'(x_n)\) là giá trị của đạo hàm bậc nhất của hàm số tại \(x_n\).

Về mặt hình học, \(x_{n+1}\) là giao điểm của tiếp tuyến với đồ thị hàm số \(f(x)\) tại điểm \((x_n, f(x_n))\) và trục hoành.

🛠️ Suy luận Công thức tính Căn bậc Hai

Để tìm căn bậc hai của một số \(a\) (tức là \(\sqrt{a}\)), ta cần đưa bài toán này về dạng tìm nghiệm của một phương trình \(f(x) = 0\).

1. Thiết lập Hàm số:

Ta biết rằng \(\sqrt{a}\) là nghiệm của phương trình \(x^2 = a\).
Chuyển vế, ta được phương trình có dạng \(f(x) = 0\):

$$f(x) = x^2 - a = 0$$

2. Tính Đạo hàm:

Tiếp theo, ta tính đạo hàm bậc nhất \(f'(x)\):

$$f'(x) = \frac{d}{dx} (x^2 - a) = 2x$$

3. Áp dụng Công thức Newton–Raphson:

Thay \(f(x_n)\) và \(f'(x_n)\) vào công thức lặp của Newton–Raphson:

$$x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)} = x_{n}-\frac{x_{n}^{2}-a}{2{{x}_{n}}}$$

4. Đơn giản hóa Công thức:

Để công thức lặp trở nên đơn giản hơn cho việc tính toán, ta tiến hành biến đổi đại số:

$$x_{n+1} = x_n - \left( \frac{x_n^2}{2x_n} - \frac{a}{2x_n} \right)$$ $$x_{n+1} = x_{n}-\frac{x_{n}}{2}+\frac{a}{2{{x}_{n}}}$$ $$x_{n+1} = \frac{1}{2}\left( {{x}_{n}}+\frac{a}{{{x}_{n}}} \right)$$

✅ Công thức Cuối cùng

Đây chính là Công thức tính căn bậc hai bằng thuật toán Newton–Raphson, còn được gọi là phương pháp Babylon:

$$x_{n+1} = \frac{1}{2} \left( x_n + \frac{a}{x_n} \right)$$

Cách sử dụng:

- Chọn một giá trị khởi tạo \(x_0\) (thường là một ước lượng hợp lý của \(\sqrt{a}\)).

- Lặp lại công thức trên cho đến khi giá trị \(x_{n+1}\) và \(x_n\) đủ gần nhau.

Phương pháp này nổi tiếng với tốc độ hội tụ rất nhanh (hội tụ bậc hai).

***

✅ Tổng Hợp và So Sánh Công Thức

Sau khi đã hiểu rõ cơ sở và quá trình dẫn xuất, bảng dưới đây sẽ tổng hợp và so sánh sự khác biệt giữa công thức lặp Newton-Raphson tổng quát (dùng cho căn bậc n) và công thức Babylon (dùng cho căn bậc hai):
Tính chất Phương pháp Babylon (Căn bậc Hai: \(\mathbf{\sqrt{a}}\)) Phương pháp Tổng quát (Căn bậc n: \(\mathbf{\sqrt[n]{a}}\))
Bậc căn (n) \(n=2\) n là số nguyên dương bất kỳ
Hàm số cơ sở $$\mathbf{f(x) = x^2 - a}$$ $$\mathbf{f(x) = x^n - a}$$
Công thức Lặp $$\mathbf{x_{n+1} = \frac{1}{2}\left(x_n + \frac{a}{x_n}\right)}$$
Trong đó:
n là chỉ số của bước lặp (n=0, 1, 2,...).
$$\mathbf{x_{k+1} = x_k - \frac{x_k^n - a}{n \cdot x_k^{n-1}}}$$
Trong đó:
n là bậc của căn (hằng số).
k là chỉ số của bước lặp (k=0, 1, 2,...).
Ghi chú Công thức đã được đơn giản hóa và là dạng dễ tính toán nhất. Công thức gốc, có thể dùng để tính căn bậc ba, bốn, v.v.

Kết luận: Công thức Babylon là một trường hợp đặc biệt của công thức lặp Newton-Raphson tổng quát khi bậc n=2.

---

🎯 Ví dụ 1: Tính Căn Bậc Hai của 5

(\(\sqrt{5}\))

Phương pháp lặp Newton (Babylon) sử dụng công thức sau để tính căn bậc hai của một số \(a\):

$$\mathbf{x_{n+1} = \frac{1}{2}\left(x_n + \frac{a}{x_n}\right)}$$

Trong ví dụ này, ta có:

  • Số cần tính căn (\(a\)): \(\mathbf{a = 5}\)

1. Khởi Tạo Giá Trị Ban Đầu (\(\mathbf{x_0}\))

Ta chọn giá trị khởi tạo \(x_0\) là số nguyên mà bình phương của nó gần \(a=5\) nhất:

  • \(2^2 = 4\)
  • \(3^2 = 9\)

Vì \(4\) gần \(5\) hơn \(9\), ta chọn:

$$\mathbf{x_0 = 2}$$

2. Bước Lặp 1 (\(\mathbf{n=0}\))

Áp dụng công thức với \(x_0 = 2\):

$$\begin{align*} x_1 &= \frac{1}{2}\left(x_0 + \frac{5}{x_0}\right) \\ &= \frac{1}{2}\left(2 + \frac{5}{2}\right) \\ &= \mathbf{\frac{9}{4}} \end{align*}$$

.Giá trị xấp xỉ: \(x_1 = 2.25\)

3. Bước Lặp 2 (\(\mathbf{n=1}\))

Áp dụng công thức với \(x_1 = \frac{9}{4}\):

$$\begin{align*} x_2 &= \frac{1}{2}\left(x_1 + \frac{5}{x_1}\right) \\ &= \frac{1}{2}\left(\frac{9}{4} + \frac{5}{\frac{9}{4}}\right) \\ &= \mathbf{\frac{161}{72}} \end{align*}$$

Giá trị xấp xỉ: \(x_2 \approx 2.236111\)

4. Bước Lặp 3 (\(\mathbf{n=2}\))

Áp dụng công thức với \(x_2 = \frac{161}{72}\):

$$\begin{align*} x_3 &= \frac{1}{2}\left(x_2 + \frac{5}{x_2}\right) \\ &= \frac{1}{2}\left(\frac{161}{72} + \frac{5}{\frac{161}{72}}\right) \\ &= \mathbf{\frac{51841}{23184}} \end{align*}$$

Giá trị xấp xỉ: \(x_3 \approx 2.2360679779\)

So sánh: Giá trị thực của \(\sqrt{5} \approx 2.2360679775\). Kết quả \(x_3\) đã chính xác đến 9 chữ số thập phân.

🧮 Ví dụ 2: Tính Căn Bậc Ba của 10

(\(\mathbf{\sqrt[3]{10}}\))

Trong ví dụ này:
       
  • Bậc căn (\(n\)): \(\mathbf{n = 3}\)
  •    
  • Số cần lấy căn (\(a\)): \(\mathbf{a = 10}\)

1. Công thức Lặp Áp dụng

Sử dụng công thức tổng quát: \(x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}\).
    $${x_{n+1} = x_n - \frac{x_n^3 - 10}{3x_n^2}}$$

2. Khởi Tạo Giá Trị Ban Đầu (\(\mathbf{x_0}\))

Ta chọn \(\mathbf{x_0}\) là số nguyên gần \(\mathbf{\sqrt[3]{10}}\) nhất. Vì \(2^3 = 8\) và \(3^3 = 27\), ta chọn:
    $$\mathbf{x_0 = 2}$$

3. Thực Hiện Các Bước Lặp

Bước Lặp 1 (\(\mathbf{n=0}\))

Áp dụng công thức với \(\mathbf{x_0 = 2}\):
    $$\begin{align*} x_1 &= 2 - \frac{2^3 - 10}{3 \cdot 2^2} \\ &= 2 + \frac{1}{6} \\ \mathbf{x_1} &= \mathbf{\frac{13}{6}} \end{align*}$$

Kết quả xấp xỉ: \(\mathbf{x_1 \approx 2.166667}\)

Bước Lặp 2 (\(\mathbf{n=1}\))

Sử dụng \(\mathbf{x_1 = \frac{13}{6}}\). Ta dùng giá trị xấp xỉ \(\mathbf{x_1 \approx 2.166667}\):
    $$\begin{align*} x_2 &= 2.166667 - \frac{(2.166667)^3 - 10}{3 \cdot (2.166667)^2} \\ &= 2.166667 - \frac{0.181817}{14.083338} \\ &= 2.166667 - 0.012910 \\ \mathbf{x_2} &\mathbf{\approx 2.153757} \end{align*}$$

So sánh Kết quả

Giá trị chính xác của \(\mathbf{\sqrt[3]{10}}\) (làm tròn) là \(\mathbf{\approx 2.154434}\).
Chỉ sau 2 bước lặp, kết quả xấp xỉ \(\mathbf{x_2 \approx 2.153757}\) đã rất gần với giá trị thực.

💡Phần 2: Cở sở công thức với toán học hiện đại

1. 📐 Cơ sở Hình học (Geometric Basis)

Ý tưởng cốt lõi là:

a. Bắt đầu với một điểm đoán chừng ban đầu (\(x_n\)) gần với nghiệm thực.

b. Vẽ tiếp tuyến của đồ thị hàm số \(f(x)\) tại điểm này (\(x_n, f(x_n)\)).

c. Tiếp tuyến này là một xấp xỉ tuyến tính (linear approximation) rất tốt cho hàm số \(f(x)\) gần điểm \(x_n\).

d. Tìm giao điểm của tiếp tuyến đó với trục hoành (\(x\)). Giao điểm này chính là ước lượng tiếp theo (\(x_{n+1}\)).

e. Lặp lại quá trình này cho đến khi đạt được độ chính xác mong muốn.

2. 🧮 Cơ sở Giải tích (Calculus Basis)

Công thức Suy luận

Độ dốc của tiếp tuyến tại điểm \(x_n\) là đạo hàm \(f'(x_n)\):

$$\frac{\Delta y}{\Delta x}$$

- Biến đổi công thức trên:

$$f'(x_n) = \frac{f(x_n)}{x_n - x_{n+1}}$$

- Giải phương trình để tìm \(x_{n+1}\):

$$x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}$$

***

💡Phần 3: Lịch sử phát triển

1. 🏛️ Giai Đoạn Cổ Đại: Phương Pháp Babylon (trước 1600 TCN)

Họ có công thức này như một phương pháp thực hành để tính toán, có lẽ được phát hiện qua thử và sai hoặc suy luận số học. Họ không có công cụ Toán học để chứng minh tính hiệu quả của nó

- Công thức:

$$x_{n+1} = \frac{1}{2} \left( x_n + \frac{a}{x_n} \right)$$

2. 🧪 Giai Đoạn Newton: Phương Pháp Xấp Xỉ Đa Thức (1671)

Ông là người phát triển phương pháp tổng quát (sử dụng Đạo hàm) để tìm nghiệm cho mọi hàm số, và khi áp dụng phương pháp đó vào bài toán căn bậc hai, ông đã chứng minh về mặt giải tích rằng công thức của người Babylon là đúng và tối ưu.

3. 🎯 Giai Đoạn Raphson / Hiện Đại: Công Thức Lặp Tổng Quát (1690)

Joseph Raphson đã tối ưu hóa quá trình này thành một công thức lặp có thể tái sử dụng, tương đương với việc sử dụng đạo hàm \(f'(x)\) mà chúng ta biết ngày nay.

- Công thức:

$$x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}$$

- Đối chiếu với \(\sqrt{a}\): Khi áp dụng công thức này cho \(f(x) = x^2 - a\) và \(f'(x) = 2x\), chúng ta suy ra chính xác công thức Babylon:

$$x_{n+1} = x_n - \frac{x_n^2 - a}{2x_n} = \frac{1}{2} \left( x_n + \frac{a}{x_n} \right)$$

💡✅ Tải ứng dụng tại đây (Pass giải nén: E-LearningTechVN)

Đăng nhận xét

0 Nhận xét