Một hệ động lực nếu tồntại số mũ Lyapunov dương chứng tỏ sự phân tách theo thời gian hàm mũ của quỹ đạo nghiệm với những thay đổi rất nhỏ của điều kiện banđầu, hay tồn tại sự phụ thuộc n
Trang 1ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
NGUYỄN QUANG HUY
PHƯƠNG PHÁP RUNGE-KUTTA VÀ THUẬT TOÁN TÍNH SỐ MŨ LYAPUNOV CỦA HỆ ĐỘNG LỰC
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
THÁI NGUYÊN, 2017
Trang 2ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
PHƯƠNG PHÁP RUNGE-KUTTA VÀ THUẬT TOÁN TÍNH SỐ MŨ LYAPUNOV CỦA HỆ ĐỘNG LỰC
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Người hướng dẫn khoa học: TS TRƯƠNG HÀ HẢI Học viên thực hiện: Nguyễn Quang Huy
THÁI NGUYÊN, 2017
Trang 7LỜI CAM ĐOAN
Tôi xin cam đoan: Luận văn thạc sỹ chuyên ngành Khoa học máytính, tên đề tài “Phương pháp Runge-Kutta và thuật toán tính số mũLyapunov của hệ động lực” là công trình nghiên cứu, tìm hiểu và trìnhbày do tôi thực hiện dưới sự hướng dẫn khoa học của TS Trương HàHải, Trường Đại học Công nghệ Thông tin và Truyền thông - Đại họcThái Nguyên
Kết quả tìm hiểu, nghiên cứu trong luận văn là hoàn toàn trung thực,không vi phạm bất cứ điều gì trong luật sở hữu trí tuệ và pháp luật ViệtNam Nếu sai, tôi hoàn toàn chịu trách nhiệm trước pháp luật
Tất cả các tài liệu, bài báo, khóa luận, công cụ phần mềm của các tácgiả khác được sử dụng lại trong luận văn này đều được chỉ dẫn tườngminh về tác giả và đều có trong danh mục tài liệu tham khảo
Thái Nguyên, ngày 18 tháng 5 năm 2017
Tác giả luận vănNguyễn Quang Huy
Trang 8LỜI CẢM ƠN
Tác giả xin chân thành cảm ơn TS Trương Hà Hải, trường Đại họcCông nghệ thông tin và truyền thông - Đại học Thái Nguyên, là giáoviên hướng dẫn khoa học đã hướng dẫn tác giả hoàn thành luận vănnày, xin được cảm ơn các thầy, cô giáo trường Đại học công nghệ thôngtin và truyền thông nơi tác giả theo học và hoàn thành chương trình caohọc đã nhiệt tình giảng dạy và giúp đỡ
Xin cảm ơn trường Cao đẳng Kinh tế - Tài chính Thái Nguyên nơitác giả công tác đã tạo mọi điều kiện thuận lợi để tác giả hoàn thànhchương trình học tập
Và cuối cùng xin cảm ơn gia đình, bạn bè, đồng nghiệp đã động viên,giúp đỡ tác giả trong suốt thời gian học tập, nghiên cứu và hoàn thànhluận văn này
Xin chân thành cảm ơn
Thái Nguyên, ngày 18 tháng 5 năm 2017
Tác giả luận vănNguyễn Quang Huy
Trang 9DANH SÁCH HÌNH VẼ
1.1 Vùng hút Lorenz 8
1.2 Vùng hút Rossler 11
1.3 Vùng hút Rabinovich-Fabrikant 12
1.4 Vùng hút Mạch Chua 13
1.5 Mô tả về sự phân tách quỹ đạo 15
1.6 Mô tả về sự thay đổi của hình cầu điều kiện ban đầu qua ánh xạ 16
1.7 Vùng ổn định của phương pháp RK4 18
1.8 Biểu đồ hội tụ của phương pháp Euler và phương pháp RK4 21 2.1 Mô tả quá trình phân tách quỹ đạo khi có nhiễu nhỏ ban đầu 32 3.1 Không gian pha của hệ Rabinovich - Fabrikant với a = 0.1, b = 0.98 và giá trị ban đầu [0.1, 0.1, 0.1] Hệ là hỗn loạn 41 3.2 Không gian pha của hệ Rabinovich - Fabrikant với a = 0.1, b = 0.2715và giá trị ban đầu[0.1, 0.1, 0.1] Hệ không là hỗn loạn 41
3.3 Không gian pha của hệ Rabinovich - Fabrikant với a = 0.1, b = 0.5 và giá trị ban đầu [0.1, 0.1, 0.1] Hệ không là hỗn loạn 42
Trang 10DANH SÁCH BẢNG
Trang 11độc lập (t).
phương trình vi phân thường
Phương pháp Runge Kutta bậc 4
Continuos Gram-Schmidt
Schmidt liên tục
Trang 12MỤC LỤC
Lời cam đoan i
Lời cảm ơn ii
Danh sách hình vẽ ii
Danh sách bảng iii
Danh mục ký hiệu, từ viết tắt v
Mở đầu 1
Chương 1 MỘT SỐ KIẾN THỨC CHUẨN BỊ 6
1.1 Hỗn loạn 6
1.2 Các hệ động lực sử dụng 10
1.3 Số mũ Lyapunov 13
1.4 Một số tính chất của phương pháp giải số 16
Chương 2 PHƯƠNG PHÁP RUNGE-KUTTA VÀ THUẬT TOÁN TÍNH SỐ MŨ LYAPUNOV 22
2.1 Phương pháp Runge-Kutta 22
2.2 Các thuật toán tính số mũ Lyapunov 30
Chương 3 CÀI ĐẶT 36
3.1 Kết quả tính toán với hệ Lorenz 37
3.2 Kết quả tính toán với hệ Rossler 39
3.3 Tính toán số mũ Lyapunov của hệ RK 40
3.4 Kết quả tính toán số mũ Lyapunov của mạch Chua 41 Kết luận chung 43
Trang 13Tài liệu tham khảo 44PHỤ LỤC 48
Trang 14MỞ ĐẦU
Với sự hỗ trợ của máy tính, rất nhiều các bài toán trong lĩnh vựckhoa học kĩ thuật đã được nghiên cứu giải quyết, đưa ra lời giải sốtrong thời gian phù hợp và độ chính xác cao Nói riêng với hệ phươngtrình vi phân thường, việc nghiên cứu tìm nghiệm số lại càng trở nênquan trọng Điều này bắt nguồn từ hai lý do: Thứ nhất, từ khi đượcphát minh bởi nhà toán học Newton, phép tính vi tích phân nói chung
và phương trình vi phân nói riêng là công cụ chủ yếu để mô hình hóatoán học các bài toán thực tế Không chỉ giải quyết các bài toán cơ họcNewton như giai đoạn đầu, ngày nay các bài toán vật lý về quá trìnhkhuyếch tán, truyền nhiệt đến các bài toán dự báo thời tiết, kinh tế,sinh học, , đều cần đến phương trình vi phân Nói một cách ngắn gọn,mọi quá trình biến đổi liên tục theo thời gian của đối tượng nghiên cứuđều cần đến phương trình vi phân để mô hình hóa toán học Thứ hai,việc tìm nghiệm giải tích của phương trình vi phân không hề đơn giản.Chỉ một số ít các phương trình vi phân có dạng đặc biệt mới có thể tìmnghiệm rõ với các phương pháp, kỹ thuật dành riêng cho dạng đó Trongkhi đó các bài toán xuất phát từ nhu cầu thực tế, sau quá trình áp dụngcác định luật, mô hình hóa, nhận được hệ phương trình vi phân mô tảbài toán thường rất phức tạp Các kết quả giải tích về hệ nhận được cóthể là tính tồn tại, duy nhất nghiệm, sự ổn định của nghiệm,v.v nhưngmuốn có nghiệm ta phải bắt tay vào giải số Vì các lý do đó, nghiên cứugiải số hệ phương trình vi phân đã sớm được quan tâm bởi rất nhiềunhà toán học và còn tiếp tục phát triển Một số thuật toán hiệu quả,
Trang 15có độ chính xác cao, được áp dụng rộng rãi như: Phương pháp Newton,phương pháp Euler, phương pháp Runge Kutta.
Gần đây khoa học về hỗn loạn (Chaos theory) đã thu hút được sựquan tâm lớn của các nhà nghiên cứu Sự tồn tại một hành vi kỳ lạ của
hệ tất định ngoài các hành vi quen thuộc như ổn định, tuần hoàn, tựatuần hoàn với số chu kỳ lớn, thực ra đã thu hút sự chú ý của những nhàtoán học lớn, có tư duy vượt thời đại như Henry Poincare từ đầu thế
kỷ 20 Khi nghiên cứu bài toán ba vật thể nổi tiếng, ông đã nhận thấynhững dấu hiệu của hỗn loạn Nhưng phải đến năm 1963 hỗn loạn mớithực sự trở thành đối tượng nghiên cứu được quan tâm Edwat Lorenz,nhà toán học và khí tượng học nổi tiếng của MIT, đã phát hiện hệ 12phương trình vi phân dùng để mô tả, dự báo khí tượng của ông có mộthành vi kỳ lạ Một sự thay đổi vô cùng nhỏ của điều kiện ban đầu đãdẫn đến sự phân tách vô cùng lớn của nghiệm Ngày nay chúng ta đãbiết đó là sự phụ thuộc nhạy cảm vào điều kiện ban đầu, hiện tượng ôngphát hiện được gọi là hiệu ứng cánh bướm Lý thuyết hỗn loạn đã cónhiều ứng dụng trong việc mô tả chính xác tự nhiên cũng như các lĩnhvực khoa học Mặc dù có nhiều định nghĩa khác nhau về hỗn loạn songtất cả các định nghĩa đó đều có chung một điểm là tồn tại sự phụ thuộcnhạy cảm vào điều kiện ban đầu của nghiệm Số mũ Lyapunov là mộtkhái niệm để “đo” sự phụ thuộc nhạy cảm này Một hệ động lực nếu tồntại số mũ Lyapunov dương chứng tỏ sự phân tách theo thời gian hàm
mũ của quỹ đạo nghiệm với những thay đổi rất nhỏ của điều kiện banđầu, hay tồn tại sự phụ thuộc nhạy cảm vào điều kiện ban đầu Nó làdấu hiệu cho thấy hệ hỗn loạn Với ý nghĩa quan trọng đó của số mũLyapunov, việc nghiên cứu tính toán số mũ Lyapunov rất được quantâm Các thuật toán nổi tiếng như tính số mũ Lyapunov chuỗi thời gian
Trang 16của Gencay hay tính số mũ Lyapunov khi biết hệ phương trình vi phân
mô tả hệ động lực của Wolf
Với hai vấn đề nêu ở trên, luận văn này sẽ nghiên cứu thuật toánRunge-Kutta giải số hệ phương trình vi phân để từ đó ứng dụng tính số
mũ Lyapunov của hệ động lực được mô tả bởi hệ phương trình vi phân.Hai thuật toán tính số mũ Lyapunov sẽ được nghiên cứu cài đặt trên cơ
sở sử dụng phương pháp Runge – Kutta là: Phương pháp phân tách quỹđạo dùng để tính số mũ Lyapunov lớn nhất; Phương pháp trực chuẩnhóa liên tục Gram – Schmidt tính tất cả số mũ Lyapunov của hệ Việcnghiên cứu thành công luận văn, xây dựng được chương trình tính số
mũ Lyapunov đã giúp cho tác giả được bổ sung thêm kiến thức cơ sởtoán học cho chuyên ngành khoa học máy tính và nâng cao kiến thứccho bản thân, đóng góp thêm một công cụ hữu ích trong quá trình khảosát hành vi hệ động lực, một đối tượng rất được quan tâm nghiên cứuhiện nay
Nội dung của luận văn gồm 3 chương:
Chương 1 Một số kiến thức chuẩn bị
Chương này trình bày các kiến thức chuẩn bị cho việc nghiên cứu Đó
là các khái niệm liên quan đến hỗn loạn như phụ thuộc nhạy cảm vàođiều kiện ban đầu, số mũ lyapunov; Các kiến thức mang tính chất giớithiệu về các hệ động lực được sử dụng trong luận văn như hệ Lorenz, hệChua, hệ Rossler, hệ Ranbikovich-Fabrikant; Các tính chất của phươngpháp giải số như tính ổn định, độ phức tạp, độ khó, độ chính xác củaphương pháp Các nội dung này được trình bày trong các phần sau:1.1 Hỗn loạn
1.2 Các hệ động lực sử dụng
1.3 Số mũ Lyapunov
Trang 171.4 Một số tính chất của phương pháp giải số.
Chương 2 Phương pháp Runge-Kutta và thuật toán tính số mũ punov
Lya-Nội dung chương 2 tập trung vào hai vấn đề sau: Phương pháp Runge– Kutta giải hệ phương trình vi phân thường và hai thuật toán tính số
mũ lyapunov Cụ thể như sau:
2.1 Phương pháp Runge-Kutta
2.2 Các thuật toán tính số mũ Lyapunov
Chương 3 Cài đặt và đánh giá kết quả
Sau khi nắm rõ các nội dung trong chương 2, chương 3 trình bày kếtquả cài đặt thử nghiệm tính số mũ Lyapunov cho bốn hệ động lực đãnêu Kết quả sẽ được phân tích, đánh giá, so sánh theo một số tiêu chí.Ngoài ra việc ứng dụng của hệ hỗn loạn trong mã hóa ảnh số cũng đượcnêu ra và phân tích trong chương này
mũ Lyapunov và hành vi của nghiệm đến tham số của hệ và số các giátrị ban đầu cho trước cũng sẽ được chỉ ra Phần mô tả ứng dụng cũng
có một số phân tích cho thấy hiệu quả mã hóa bảo mật thông tin ảnhcủa hệ hỗn loạn
Trang 18Phần kết luận: Trình bày kết quả mà luận văn đạt được và hướngphát triển Ngoài ra, các hàm và chương trình lập trình sử dụng ngônngữ Matlab sẽ được trình bày trong phần phụ lục.
Trang 19CHƯƠNG 1MỘT SỐ KIẾN THỨC CHUẨN BỊ
Trình bày kiến thức chuẩn bị, các khái niệm liên quan đến hỗn loạnnhư phụ thuộc nhạy cảm vào điều kiện ban đầu, số mũ Lyapunov; Cáckiến thức mang tính chất giới thiệu về các hệ động lực được sử dụngtrong luận văn như hệ Lorenz, hệ Chua, hệ Rossler, hệ Rabinovich-Fabrikant; Các tính chất của phương pháp giải số như tính ổn định, độphức tạp, độ khó, độ chính xác của phương pháp
Lý thuyết hỗn loạn là một nhánh của toán học, được biết đến rộngrãi hiện nay nhờ sự khó dự đoán của mô hình dự báo thời tiết [6] và môhình tăng trưởng của quần thể sinh học [13] Một tính chất quan trọngcủa hệ hỗn loạn là nhạy cảm với các điều kiện ban đầu
Định nghĩa 1.1.1 Sự phụ thuộc nhạy cảm vào điều kiện ban đầu: Sựthay đổi rất nhỏ trong điều kiện ban đầu của hệ sẽ dẫn tới sự thay đổi
to lớn trong nghiệm
Khái niệm này có nghĩa là những lỗi rất nhỏ sẽ tăng theo thời gian vàcuối cùng làm nghiệm sai lệch hoàn toàn, vô giá trị Những lỗi vô cùngnhỏ không thể tránh khỏi khi dùng dấu phẩy động thay thế cho đầu vàochính xác, sẽ phát triển theo thời gian và làm mô hình mô phỏng khôngcòn chính xác nữa
Không có định nghĩa phổ quát được chấp nhận cho sự hỗn loạn, mặc
dù hầu hết các định nghĩa đều nhắc đến sự phụ thuộc nhạy cảm vàođiều kiện ban đầu Một số tác giả chỉ yêu cầu điều kiện nhạy cảm với
đk ban đầu [5], trong khi một số khác lại yêu cầu một số điều kiện khácnữa [12], [27], [4] Luận văn này tìm hiểu về số mũ Lyapunov của hệ,
Trang 20dùng để đo sự phân tách của nghiệm dựa trên sự thay đổi nhỏ của điềukiện ban đầu Số mũ Lyapunov là một phương pháp để nghiên cứu sựnhạy cảm với điều kiện ban đầu Tính toán số mũ Lyapunov cho phépchúng ta xác định được hệ là hỗn loạn dựa trên định nghĩa của Alligood[5] Trước khi thảo luận về số mũ Lyapunov và các phương pháp để tínhtoán nó, một số kiến thức liên quan được trình bày.
Một Hệ động lực là một hệ phương trình mô tả sự biến đổi theo thờigian Nó có thể là hệ các phương trình sai phân rời rạc hoặc các phươngtrình vi phân liên tục Hệ động lực có thể mô tả các hiện tượng thực tếnhư mô hình thời tiết hay sự tăng trưởng của các quần thể theo thờigian [23], [28], [2] Các phương trình sai phân mô tả sự biến đổi trạngthái theo thời gian còn được gọi là các ánh xạ (map) và các phươngtrình vi phân gọi là các luồng (flow) Quỹ đạo hay đường đi mô tả sựphát triển theo thời gian của trạng thái (nghiệm) của hệ động lực Một
tại thời gian ti, t0 ≤ ti ≤ tF inal, là:
Trang 21bất động (cố định) nếu nó ánh xạ vào chính nó, nghĩa là f (xi) = xi.
Một chu trình tuần hoàn có nghĩa tương tự như điểm bất động, một
Trong [27], [4], Strogatz định nghĩa một vùng hút là một tập hợp mà
điểm hút của (1.1.2) Một vùng hút lạ có thể hiểu đơn giản là tập hợpkhác với tập các điểm cố định hay chu trình tuần hoàn Khi nghiệm của
hệ được vẽ ra thì ta có thể nhìn thấy trực quan vùng hút lạ Vùng hútLorenz là một ví dụ kinh điển về vùng hút lạ (hình 1.1) Qua đó ta cóthể thấy hành vi không tuần hoàn trong dài hạn của hệ Lorenz: Quỹđạo bị chặn nhưng không hội tụ về bất kỳ một điểm cố định hay mộtchu trình tuần hoàn nào
Hình 1.1: Vùng hút Lorenz với các tham số δ = 10, β = 83, ρ = 28 và với điều kiện ban đầu [0.9, 0.9, 0]
Trang 22Strogatz đưa ra một định nghĩa vùng hút lạ khắt khe hơn với ba phần:Một vùng hút lạ là một tập bất biến, thu hút một tập mở các điều kiện
đạo hay đường đi xuất phát từ trong nó sẽ mãi ở trong nó theo thời
Còn khái niệm tối tiểu nghĩa là đó là tập lớn nhất thỏa mãn định nghĩa.Khái niệm về hỗn loạn có nhiều định nghĩa khác nhau theo hướng chặtchẽ dần Định nghĩa của Strogatz [27] như sau:
Định nghĩa 1.1.2 Một hệ động lực được gọi là hỗn loạn nếu nó biểu
lộ sự không tuần hoàn trong dài hạn và nhạy cảm với điều kiện ban đầu.Một hệ tồn tại vùng hút lạ và nhạy cảm với điều kiện ban đầu là một
hệ hỗn loạn theo định nghĩa của Strogatz
Devanley [12] định nghĩa sự hỗn loạn cho ánh xạ chặt chẽ hơn, nhưng
Tính chất nhạy cảm với điều kiện ban đầu được Devanley định nghĩa là
cận của nó, tồn tại điểm trong lân cận thỏa mãn sau hữu hạn lần lặp,
và là cơ sở cho việc nghiên cứu phân tách quỹ đạo Định nghĩa hỗn loạncủa Davenley như sau:
Trang 23Định nghĩa 1.1.3 Một ánh xạ f : A → A được gọi là hỗn loạn nếu
nó hòa trộn tô pô, nhạy cảm với điều kiện ban đầu và tập các điểm tuần
Luận văn sử dụng định nghĩa của Alligood [5]:
Định nghĩa 1.1.4 Một hệ động lực được gọi là hỗn loạn nếu nó có số
và nhận thấy sự sai khác rất lớn ở kết quả Đây chính là đặc tính nhạycảm với điều kiện ban đầu mà ông đã ghi nhận được từ hệ phương trìnhcủa mình [26], [19], [4] Mô hình được đơn giản hóa thành hệ phươngtrình vi phân thường như sau:
Lorenz nổi tiếng (hình 1.1) Hành vi không tuần hoàn trong thời giandài và nhạy cảm với điều kiện ban đầu làm cho hệ Lorenz thỏa mãnđịnh nghĩa 1.1.2 về hỗn loạn
Trang 24thể hiện vùng hút của hệ với những giá trị tham số này.
Hình 1.2: Vùng hút Rossler với a = 0.2, b = 0.2, c = 5.7 và điều kiện đầu [0.1, −0.1, 0.1]
Trang 25Những phương trình này được Rabinovich - Fabrikant sử dụng để môhình hóa sóng trong môi trường vật chất không cân bằng Nó không nổitiếng như hai hệ trên những vẫn là một lĩnh vực nghiên cứu sôi động.[20], [10], [11] Các nhà toán học thường sử dụng hệ này để kiểm traphương pháp giải số cho phương trình vi phân thường [10], [1] và giá trịtham số khác nhau dẫn đến các bức tranh pha rất khác nhau Hình 1.3
Hình 1.3: Vùng hút Rabinovich - Fabrikant với a = −1, b = −0.1 và các giá trị ban đầu [0.1, 0.1, 0.1]
Trang 26trong đó α, β là các tham số thực và hàm f (x) là hàm tuyến tính từngkhúc và liên tục được cho bởi
Hình 1.4 thể hiện hình ảnh pha của vùng hút này
Hình 1.4: Vùng hút mạch chua với các tham số α = 9, β = 1007 , a = −87, b = −57 và giá trị ban đầu [0.1, 0.1, 0.1]
Số mũ Lyapunov của hệ dùng để xác định một thành phần được nóiđến trong tất cả các định nghĩa về hỗn loạn ở trên, đó là tính nhạy cảmvới điều kiện ban đầu Nó cung cấp một độ đo về sự phân tách theotiến trình thời gian của những quỹ đạo xuất phát ở những giá trị ban
Trang 27đầu gần nhau Hai quỹ đạo với giá trị ban đầu rất gần nhau nhưng có
số mũ lyapunov dương sẽ phân tách rất nhanh Nghiệm nhận được sẽhoàn toàn khác nhau Hình 1.5 mô tả về sự phân tách này Một quỹ
phân tách này lớn lên theo những lần lặp sau Một hệ có tất cả số mũLyapunov đều âm sẽ hội tụ về điểm cố định hay một chu trình tuầnhoàn và không có hành vi hỗn loạn
Một hàm trơn là hàm khả vi vô hạn lần Tất cả các vế phải trong các
hệ xét ở trên đều là hàm trơn Alligood và đồng tác giả đã đưa ra địnhnghĩa số mũ Lyapunov của hàm trơn như sau [5], [3]
đạo hàm trong Jacobian đo sự phân tách cực nhỏ Hình cầu nhiễu giá
trong ví dụ hình 1.5.Ví dụ về sự thay đổi của hình cầu điều kiện ban
Các số Lyapunov đo mức độ kéo dài hoặc nén trung bình theo hướng
hướng trục đó có một quỹ đạo phân tách ra từ một quỹ đạo khác và
Trang 28Hình 1.5: Hai quỹ đạo sai khác rất nhỏ ban đầu sẽ phân tách xa khi số lần lặp tăng lên nếu số
mũ Lyapunov dương.
hệ thể hiện tính chất nhạy cảm với điều kiện ban đầu Và khi đó số mũLyapunov tương ứng sẽ dương Điều này dẫn tới định nghĩa (1.1.4), một
hệ là hỗn loạn nếu có số mũ lyapunov dương
Để tính số mũ Lyapunov cho hệ động lực liên tục, một phương phápgiải số được áp dụng từ thời điểm ban đầu đến thời điểm kết thúc sửdụng bước thời gian cố định Thông thường khoảng thời gian càng nhỏthì độ chính xác càng cao Nghiệm số rời rạc nhận được với quỹ đạotiến theo thời gian sẽ cho thấy một số hành vi của hệ Các phương phápthay đổi bước lưới không được đề cập ở đây vì sự phức tạp của nó
Trang 29Hình 1.6: Mô tả về sự thay đổi của hình cầu điều kiện ban đầu qua ánh xạ
Việc tính toán số mũ Lyapunov yêu cầu giải số các hệ phương trình viphân thường (ODEs) Rất nhiều ODEs xuất phát từ thực tế nên chúngkhông có nghiệm giải tích (nghiệm đóng), các nhà khoa học phải tìmcách giải số nó sao cho đạt độ chính xác mong muốn Xuất phát từtập hợp điều kiện ban đầu, có nhiều phương pháp để đưa ra lời giải số.Nhưng để so sánh, đánh giá các phương pháp số ta cần dựa vào các tínhchất chung của chúng, đó là tính chính xác (thể hiện bởi bậc), tính ổnđịnh (bùng nổ sai số hay không), và độ phức tạp tính toán (có hiệu quả
và dễ thực hiện không? Thời gian tính toán ước lượng là bao lâu?) Việclựa chọn phương pháp phải đảm bảo cân bằng giữa các yếu tố trên [1]
Tính ổn định của phương pháp là tính chất chống lại sự bùng nổ sai
số lan truyền Khi phương pháp không ổn định, một lỗi tính toán rấtnhỏ xuất hiện sẽ làm lời giải số nhanh chóng tiến đến vô hạn Tính ổnđịnh phụ thuộc trực tiếp vào phương pháp hơn là phụ thuộc vào hệ đangxét Vì vậy chúng thường được đo theo cách giống nhau Tính ổn định
Trang 30của phương pháp thường được mô tả bằng một vùng trên mặt phẳngphức, được gọi là vùng ổn định Vùng ổn định của phương pháp đượcxác định từ bài toán giá trị ban đầu:
bị chặn của nghiệm thực tế cũng thể hiện trong nghiệm số Tập hợp này
lim
với phần thực âm nằm trong vùng ổn định
Các phương pháp số mong muốn chứa toàn bộ nửa trái của mặt phẳngphức trong miền ổn định vì trong miền này giới hạn của nghiệm giải
ổn định tuyệt đối Tuy nhiên chỉ những phương pháp ẩn mới có thể ổnđịnh tuyệt đối
Tính ổn định của nghiệm số phụ thuộc cả phương pháp số và hệphương trình bởi vì vùng ổn định phụ thuộc vào phương pháp số còn
Trang 31các giá trị riêng của ma trận Jacobian lại phụ thuộc vào hệ ODEs Trongthực tế, nghiệm số được cho là ổn định nếu còn bị chặn và không ổnđịnh nếu nó biểu hiện tính không bị chặn.
Cần chú ý rằng, ý tưởng về tính ổn định được dựa trên hệ tuyến tính
Và việc chuyển từ hệ tuyến tính với nghiệm chính xác sang hệ phi tuyếnvới nghiệm không chính xác là không hoàn hảo [17] Mặc dù vậy, tính
ổn định tuyến tính là một tiêu chuẩn tổng quát được sử dụng để mô tả
độ tin cậy của một phương pháp số Hình 1.7 thể hiện vùng ổn định củaphương pháp Runge-Kutta bậc 4 (RK4) Dễ thấy rằng RK4 không ổnđịnh tuyệt đối
Hình 1.7: Vùng ổn định của phương pháp Runge-Kutta bậc 4 Với những giá trị ban đầu trong vùng này, nghiệm số của (1.4.1) bị chặn.
Độ khó thể hiện đặc tính của hệ phương trình hơn là của phươngpháp giải số Tuy nhiên do nó có ảnh hưởng lớn đến nghiệm số khi lựachọn phương pháp giải số cho bài toán nên được trình bày ở đây Độ khó
Trang 32là tính chất mô tả sự khó khăn của việc tìm nghiệm số của hệ Thông
Độ khó thường được đo bởi tỷ số khó (stiffness ratio) - là tỷ số giữagiá trị riêng lớn nhất và nhỏ nhất của ma trận Jacobian Việc tính toánbao gồm cả số lần rất lớn và rất nhỏ cũng như lỗi chứa dấu phẩy động.Bảng 1.1 cung cấp các tỷ số khó của các hệ phương trình nghiên cứutrong luận văn Với hệ Lorenz, Rossler và Rabinovich - Fabrikant tác giả
ngẫu nhiên Ta nhận thấy mặc dù hệ Rossler đơn giản hơn hệ Lorenznhưng tỷ số khó lại cao Mạch Chua có thể có hai ma trận Jacobian với
Bảng 1.1: Tỷ số khó trung bình của các hệ nghiên cứu trong luận văn
Hệ phương trình Các tham số t0 h tend Trials Tỷ số khó
b = −57
2.4861
Độ chính xác của một phương pháp giải số được mô tả bởi bậc của
Trang 33thỏa mãn:
phương pháp Với hai phương pháp Euler và RK4, với cùng bước lưới
phương pháp IRK8 độ chính xác còn cao hơn nữa
Tuy nhiên độ chính xác càng cao thì chi phí tính toán bao gồm thờigian, chi phí bộ nhớ, độ khó trong việc lập trình thực hiện cũng sẽtăng cao tương ứng Vì vậy ta phải cân nhắc giữa độ chính xác chấpnhận được và chi phí tính toán
Để cung cấp hình ảnh trực quan về sự xác minh thực nghiệm của bậc,
ta thường sử dụng biểu đồ hội tụ Biểu đồ này mô tả sự sai khác giữa
của bước lưới:
Lấy logarit hai vế ta có:
Trên hệ trục với hai trục thang logarit, biểu đồ này là một đường thẳng
Ví dụ về biểu đồ hội tụ của phương pháp Euler và RK4 được cho tronghình 1.8, có được theo cách như sau: Bắt đầu bởi tập hợp các số mũ
vẽ độ lệch đối với bước lưới trên trục logarit Độ dốc của đường thẳngnối các điểm trên đồ thị sẽ là bậc của phương pháp Trong hình 1.8, độ
Trang 34dốc của phương pháp Euler và RK4 được thể hiện như mong đợi.
Hình 1.8: Biểu đồ hội tụ của phương pháp Euler và phương pháp RK4.
Trang 35CHƯƠNG 2PHƯƠNG PHÁP RUNGE-KUTTA VÀ THUẬT TOÁN
Phương pháp Runge-Kutta tìm nghiệm của hệ phương trình vi phân
là tổng quát hóa của phương pháp Euler
Nó chính xác hơn vì sử dụng nhiều hàm đánh giá trong mỗi bước, tuynhiên nó cũng sẽ yêu cầu thời gian tính toán lâu hơn Các bước thời
trong mỗi bước đó Các giai đoạn được gán trọng số và thêm vào cácgiá trị trước đó để có được lời giải số của một bước thời gian Chi tiết
có thể tham khảo trong [1], [7], tóm tắt phương pháp như sau:
νX
i=1
νX
Trang 36Nếu các giá trị số gia k của phương pháp được cho bằng các phươngtrình hiện, nó được gọi là phương pháp hiện Nếu được cho bằng cácphương trình ẩn thì nó được gọi là phương pháp ẩn Với các phươngpháp hiện, giá trị các số gia ở (2.1.3) được tính trực tiếp và (2.1.2)
có thể giải được ngay Phương pháp ẩn yêu cầu sử dụng phương phápNeuton:
Một cách quen thuộc để liệt kê các hệ số của phương pháp RungeKutta là sử dụng bảng Butcher [1], [8] Dạng tổng quát của bảng Butcher
hệ phương trình vi phân được sử dụng trong luận văn là otonom (không
ý rằng, với mọi phương pháp hiện các phần tử đường chéo chính và phía
đơn giản nhất- Phương pháp Euler – có bảng butcher như sau
Bảng 2.2: Bảng butcher của phương pháp Euler.
0 0 1