1. Trang chủ
  2. » Luận Văn - Báo Cáo

MỘT SỐ PHÂN RÃ CỦA HIGGS VÔ HƯỚNG TRUNG HÒA TRONG MÔ HÌNH SIÊU ĐỐI XỨNG GẦN TỐI THIỂU

69 433 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 69
Dung lượng 1,71 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Vật lý tính toán là gì? Vật lý tính toán là lĩnh vực nghiên cứu vật lý bằng các phương pháp tính toán. Ở đây, máy tính sẽ không đưa ra được bất kì một sự hiểu biết nào về ý nghĩa của bài toán vật lý nhưng nó sẽ cho phép ta tác động vào những bài toán mà ta không thể giải được bằng cách này hay cách khác. Một khía cạnh quan trọng của vật lý tính toán là minh họa những hệ phức tạp rộng lớn. Ví dụ như nếu bạn là một nhà Khí tượng, bạn sẽ làm thế nào để dự đoán được sự thay đổi của khí hậu? Bạn sẽ giải bài toán này bằng cách sử dụng phương pháp MonteCarlo. Phương pháp này hoàn toàn không thể thực hiện được khi không có máy tính.

Trang 1

Tôi xin chân thành cám ơn các thầy cô bộ môn Vật lý lý thuyết cũng như cácthầy cô khác đã tạo điều kiện giúp đỡ chúng tôi về nhiều mặt để chúng tôi có thểhoàn thành khóa luận này.

Tôi xin cám ơn các bạn sinh viên cùng tham gia nghiên cứu và giúp đỡ tôitrong suốt quá trình làm khóa luận

Cuối cùng, tôi xin bày tỏ lòng biết ơn đến gia đình luôn động viên, tạo mọiđiều kiện thuận lợi cũng như giúp đỡ tôi trong suốt quá trình học tập

Hà Nội, ngày 28 tháng 4 năm 2014

Vũ Thị Hòa

Trang 2

MỤC LỤC

Trang 3

để tính số và mô phỏng phải kể đến một số ngôn ngữ lập trình mạnh như

Mathematica, C, Maple, Fortran, Matlab,…

Mạng fractal (fractal lactice) và mạng thần kinh (neural network) là nhữngbài toán vật lý vô cùng phổ biến trong tự nhiên và vô cùng phức tạp mà nếu chỉ sửdụng những phương tiện thông thường và những phương pháp thông thường thìkhông thể giải được Tuy nhiên, mạng fractal và mạng thần kinh đóng một vai tròquan trong trong khoa học và cuộc sống nên việc giải các bài toán mạng fractal vàmạng thần kinh là một nhu cầu cấp thiết

Vì vậy, với những lí do trên đề tài khóa luận được chọn là “Giải các bài toán về mạng fractal và mạng thần kinh bằng cách sử dụng các ngôn ngữ lập

trình Mathematica và C”.

2 Mục đích nhiệm vụ nghiên cứu

- Tìm hiểu tổng quan về vật lý tính toán và các ngôn ngữ lập trình

- Cài đặt các chương trình Mathematica và C Nghiên cứu cách lập trình bằng

Mathematica và C.

- Tìm hiểu tổng quan về mạng fractal và mạng thần kinh

- Lập trình các bài toán về mạng fractal và mạng thần kinh bằng Mathematica và

C Chạy chương trình và phân tích kết quả thu được.

3 Đối tượng nghiên cứu

Mạng fractal và mạng thần kinh

4 Phương pháp nghiên cứu

Sử dụng phương pháp lặp và phương pháp Monte Carlo trong mô phỏng

5. Cấu trúc của khóa luận

Ngoài phần mở đầu, kết luận, phụ lục và tài liệu tham khảo đề tài gồm bốnchương như sau

Trang 5

CHƯƠNG 1 TỔNG QUAN 1.1 Vật lý tính toán

Vật lý tính toán là gì? Vật lý tính toán là lĩnh vực nghiên cứu vật lý bằng cácphương pháp tính toán Ở đây, máy tính sẽ không đưa ra được bất kì một sự hiểubiết nào về ý nghĩa của bài toán vật lý nhưng nó sẽ cho phép ta tác động vào nhữngbài toán mà ta không thể giải được bằng cách này hay cách khác

Một khía cạnh quan trọng của vật lý tính toán là minh họa những hệ phức tạprộng lớn Ví dụ như nếu bạn là một nhà Khí tượng, bạn sẽ làm thế nào để dự đoánđược sự thay đổi của khí hậu? Bạn sẽ giải bài toán này bằng cách sử dụng phươngpháp Monte-Carlo Phương pháp này hoàn toàn không thể thực hiện được khikhông có máy tính

Một lĩnh vực khác của các bài toán vật lý là các hiện tượng vật lý được mô tảbằng các phương trình vi phân tuyến tính như con lắc hỗn độn Vật lý tính toán vàcác phương pháp tính số là một công cụ hoàn hảo để nghiên cứu các hệ như vậy

Một lợi thế của vật lý tính toán là người ta có thể bắt đầu với một bài toánđơn giản mà nó có thể dễ dàng giải được theo phép giải tích Sau đó ta thêm vàongày càng nhiều những nhân tố có thật để tìm lời giải cho hệ phức tạp

1.2. Các ngôn ngữ lập trình Mathematica và C

Để đáp ứng nhu cầu giải quyết các bài toán phức tạp thì công cụ tính toáncần có tốc độ xử lý cao, dung lượng bộ nhớ lớn và các ngôn ngữ lập trình hiện đại

như Mathematica, C, C++, Maple, Fortran, Matlab,… Về cơ bản, các phần mềm

đều có những tính năng quan trọng như tính giải tích, tính gần đúng, mô phỏng, nhưng giữa chúng cũng có những sự khác biệt và khi giải các bài toán cụ thể ta nênchọn sử dụng những phần mềm phù hợp để mang lại hiệu quả cao hơn Khóa luận

này sử dụng hai ngôn ngữ lập trình là Mathematica và C

1.2.1. Ngôn ngữ lập trình Mathematica

1.2.1.1.Lịch sử

Phần mềm Mathematica (Math) lần đầu tiên được Hãng Wolfram Research

phát hành vào năm 1988 và là một hệ thống nhằm thực hiện các tính toán toán họctrên máy tính điện tử Nó là tổ hợp các tính toán bằng kí hiệu, tính toán bằng số, vẽ

đồ thị và là ngôn ngữ lập trình tinh vi

Trang 6

Lúc đầu Mathematica chỉ phục vụ cho các ngành khoa học vật lý, công nghệ

và toán học nhưng cùng với thời gian nó đã trở thành phần mềm quan trọng trongnhiều lĩnh vực khoa học khác nhau như sinh học, hóa học, kinh tế,…Trong số

100000 người sử dụng Mathematica có 28% là các kĩ sư, 21% là các nhà khoa học,

20% là các nhà vật lý, 12% là các nhà toán học và 12% là các nhà doanh nghiệp,các nhà khoa học xã hội và nhân văn

Tác giả của Math là Stephen Wolfram sinh ngày 29 tháng 8 năm 1959 và là

một nhà khoa học người Anh Ông được biết đến là nhà vật lý lý thuyết và đượcxem là nhà sáng tạo quan trọng nhất trong lĩnh vực tính toán khoa học và kĩ thuậtngày nay

Phiên bản đầu tiên của Mathematica được công bố ngày 23 tháng 6 năm

1988 Công trình này được xem là thành tựu chính trong lĩnh vực khoa học tính toán

Trong những năm tiếp theo, việc sử dụng Mathematica ngày càng rộng rãi và

Wolfram đã thành lập một hãng công nghệ phần mềm vào loại hàng đầu thế giớitrong cả hai lĩnh vực công nghệ và kinh doanh Đến nay phiên bản mới nhất của

Math là 9.0.1 phát hành vào ngày 5 tháng 2 năm 2013 và có thể chạy trên hầu hết các

hệ điều hành như Windows XP/ Vista/ 2000 Server/ Server 2008/ 7/ 8/ Server 2012

1.2.1.2. Một số ưu điểm của Mathematica

Mathematica là một hệ thống thực hiện các phép tính Nó cho phép tính toán

bằng số, bằng kí hiệu và vẽ đồ thị Dòng vào In[n] là do người sử dụng gõ vào các

lệnh, các định nghĩa cần thiết Dòng ra là Out[n] là do Math đưa trả kết quả trở lại.

Khả năng tính toán bằng kí hiệu, cũng như tính toán bằng số là một trong những

điểm mạnh của Math Do đó Math có khả năng thực hiện các phép tính đại số cũng

như số học một cách nhanh chóng

Mathematica là một ngôn ngữ lập trình mạnh Ta có thể viết chương trình

bằng ngôn ngữ Math tương tự như viết chương trình bằng ngôn ngữ C.

Mathematica có một hệ thống biểu diễn các kí hiệu toán học Do đó lập trình

các phép tính có thể sử dụng kí hiệu toán học thay thế cho các lệnh một cách thuậntiện

Trang 7

1.2.1.3. Cài đặt và hướng dẫn sử dụng phần mềm Mathematica

Các phiên bản của Mathematica cũng như hướng dẫn cài và crack các phiên

bản này được đăng tải rất đầy đủ và chi tiết trên các trang web Dưới đây là mộthướng dẫn chi tiết để cài đặt phiên bản Math 6.0 trên Windows 7

Bước 1: Tải phần mềm tại http://physics.tgs.vn/Phucnv87/mathematica%20v

%206.0.rar

Bước 2: Sau khi tải về và giải nén, xuất hiện một tệp có đuôi bin, một tệp có

đuôi cue và một tệp có đuôi keyzen.rar

Bước 3: Dùng phần mềm tạo ổ đĩa ảo để đọc tệp có đuôi cue và sau đó tiến

hành quá trình cài đặt

Bước 4: Sau khai cài đặt mở tệp có đuôi keyzen.rar để tiến hành bẻ khóa.

Hình 1.1

Như trên Hình 1.1 Math ID ở trên cùng, License Number ở bên trái và

Password ở bên phải Đầu tiên điền tên và nơi làm việc của bạn và sau đó điền License Number Điền xong thì qua trang tiếp theo Trang sau nó đã có sẵn MathID.

Bây giờ sao chép MathID có sẵn này và dán vào chương trình hack keygen rồi chọn Generate Nó sẽ cho số License và Password mới Sao chép License mới rồi quay trở lại trang trước và điền vào thay cho cái cũ Trở lại trang sau để điền Password.

Đến đây ta hoàn thành quá trình cài đặt

Trang 8

Hình 1.2 là giao diện làm việc của Mathematica 6.0.

Hình 1.2

Không có một cuốn sách hướng dẫn sử dụng Mathematica một cách đầy đủ

và chi tiết Vì vậy, cách học và sử dụng Mathematica một cách hiệu quả nhất là sử dụng thư viện của Mathematica bằng cách mở Mathematica và chọn “Help” trên

Menu rồi chọn Documentation Center Khi đó, xuất hiện một cửa sổ như Hình 1.3:

Hình 1.3

Ta nhấp tên lệnh vào ô trống rồi Enter Khi đó, thư viện chứa lệnh đó hiện ra

và ta học cách sử dụng lệnh đó qua ví dụ trong thư viện

1.2.2. Ngôn ngữ lập trình C

1.2.2.1. Lịch sử

Trang 9

Ngôn ngữ C do Brian W Kernighan và Dennis M Ritchie phát triển vào đầu

những năm 1970 tại phòng thí nghiệm Bell với mục đích ban đầu là để phát triển hệđiều hành Unix

Phần lớn các ý tưởng quan trọng nhất của C xuất phát từ một ngôn ngữ có trước đó gọi là BCPL do Martin Richards nghiên cứu Ảnh hưởng của BCPL đối với

C gián tiếp thông qua ngôn ngữ B do Ken Thompson viết năm 1970 cho hệ điều

hành Unix chạy trên họ máy tính PDP – 7

Ngoài việc C được dùng để viết hệ điều hành Unix, người ta nhanh chóng nhận ra sức mạnh của C trong việc xử lý các vấn đề hiện đại của tin học như: xử lý

số, văn bản, cơ sở dữ liệu, lập trình hướng đối tượng

Liên quan đến sự hình thành và phát triển của ngôn ngữ, có thể kể đến một

số sự kiện đáng quan tâm sau:

(i) Năm 1978, cuốn sách dạy lập trình bằng ngôn ngữ C tên là “The C programming

language” do Brian W Kernighan và Dennis M Ritchie biên soạn đã được xuất bản

và được phổ biến rộng rãi

(ii) Năm 1983 một tiểu ban của Viện Tiêu chuẩn quốc gia Mỹ (ANSI) được thành lập

nhằm đề xuất ra một chuẩn cho ngôn ngữ C.

(iii) Năm 1988 chuẩn ANSI chính thức được ban hành Chuẩn này bao gồm các mô tả

về ngôn ngữ theo Brian W Kernighan và Dennis M Ritchie và quy định các thư

viện chuẩn của ngôn ngữ C Nhờ đó, tính khả chuyển của chương trình viết bằng C

được tăng cường

(iv) Trong thế giới máy vi tính có các hệ chương trình dịch C nổi tiếng như Turbo C,

Borland C của Borland Inc; MSC, VC của Microsoft Corp và Lattice C của Lattice.

(v) Sự phát triển của ngôn ngữ lập trình trong những năm 1980 đã đưa đến phong cách

lập trình hướng đối tượng Một trong những ngôn ngữ rất được ưa dùng là C++ Đó

là một bổ sung mới các yếu tố hướng đối tượng vào ngôn ngữ C.

Trang 10

1.2.2.2. Một số ưu điểm của ngôn ngữ lập trình C

C thể hiện nhiều điểm tương tự với Pascal như chịu nhiều ảnh hưởng của

ALGOL Ngày nay, nếu Pascal là ngôn ngữ lập trình chủ yếu dùng để học cách lập

trình thì C mang tính chuyên sâu bởi vì ở đó người ta tìm thấy đáp án cho các yêu

cầu của mình Đó là tính hiệu quả, cô đọng khi viết và có thể truy cập vào mọinguồn tư liệu và chương trình hệ thống Đó là một ngôn ngữ có nhiều kết quả tronggiới hạn hàn lâm hơn là trong thực tế

Các tính chất đặc trưng của ngôn ngữ lập trình C:

cũng như các chương trình quản lý văn bản và cơ sở dữ liệu

(ii) C là một ngôn ngữ có mức độ thích nghi cao Do các kiểu dữ liệu và cấu trúc điều

khiển của C có hầu hết trên các máy tính nên thư viện lúc chạy cần để cài đặt

chương trình là khá gọn

(iii) C độc lập với bất kì kiến trúc máy đặc biệt nào và với một chút thận trọng thì ta có

thể dễ dàng viết được các chương trình “khả chuyển” Đó là những chương trình cóthể chạy mà không cần thay đổi gì khi có thay đổi về phần cứng

(iv) C không đưa ra các phép toán xử lý trực tiếp các đối tượng hợp thành như xâu kí tự,

danh sách hoặc bảng C cũng không xác định bất kì một phương tiện cấp phát bộ

nhớ nào khác ngoài cấp phát tĩnh và cấp phát động theo nguyên tắc xếp chồng dành

cho các biến cục bộ của hàm Bản thân C không cung cấp cơ chế vào ra và không

có phương tiện truy nhập tệp Tất cả các cơ chế này đều được thực hiện bằng việcgọi hàm trong thư viện

nhóm tuần tự các câu lệnh, chọn quyết định (if); chu trình với phép kiểm tra kết thúc ở đầu cuối (for, while) hoặc ở cuối (do…while) và việc lựa chọn một trong các trường hợp có thể (switch).

truyền bằng cách sao chép giá trị của đối số và hàm được gọi không thể nào thayđổi được giá trị của đối số hiện tại Khi muốn “gọi theo con trỏ”, cần phải truyềncon trỏ một cách tường minh và hàm có thể thay đổi đối tượng mà con trỏ chỉ tới

Do các tên bảng được truyền như vị trí của gốc của bảng nên các đối bảng thực tếđược gọi theo dẫn trỏ

(vii) C cho phép hàm được gọi đệ quy và các biến cục bộ của hàm sẽ được “tự động”

sinh ra hoặc được tạo mới với mỗi lần gọi mới Các định nghĩa hàm không được

Trang 11

lồng nhau nhưng các biến có thể được khai báo theo kiểu cấu trúc khối Các hàm

của chương trình C có thể dịch tách biệt nhau Các biến có thể là biến trong của

hàm hoặc biến ngoài hàm Hàm chỉ biết được các biến ngoài trong cùng một tệp

gốc, hoặc biến tổng thể extern Các biến tự động có thể đặt trong các thanh ghi để

tăng hiệu quả nhưng việc khai báo thanh ghi chỉ là một hướng dẫn cho chương trìnhdịch và không liên quan đến các thanh ghi đặc biệt của máy

(viii) C không phải là một ngôn ngữ có kiểu mạnh mẽ theo nghĩa của Pascal hoặc Algol

68 Nó tương đối thoải mái trong chuyển đổi dữ liệu nhưng không tự động chuyểncác kiểu dữ liệu một cách phóng túng như của PL/I Các chương trình dịch hiện cóđều không đưa ra cơ chế kiểm tra chỉ số mảng, kiểu đối số,…

(ix) Giống như mọi ngôn ngữ khác, C vẫn có những nhược điểm như một số phép toán

có thứ tự thực hiện chưa đúng, một số phần cú pháp có thể làm tốt hơn và hiện nay

có nhiều phiên bản của ngôn ngữ chỉ khác nhau ở một vài chi tiết

(x) C tỏ ra là một ngôn ngữ cực kì hiệu quả và đầy sức ấn tượng đối với nhiều lĩnh vực

ứng dụng lập trình

1.2.2.3. Cài đặt và hướng dẫn sử dụng ngôn ngữ lập trình C

Trong khóa luận này, chương trình bằng ngôn ngữ C chạy trên Turbo C++ 3.0 Đây là phần mềm chuyên dụng chạy được chương trình C và C++ trên hầu hết

các hệ điều hành

Các bước cài đặt Turbo C++ 3.0 trong Window 7:

Bước 1: Tải về phần mềm Turbo C++ 3.0 từ trang web.

Bước 2: Giải nén và bẳng cách bấm vào INSTALL.exe và sau đó là ENTER

để cài đặt Kết quả thu được như Hình 1.4

Hình 1.4

Trang 12

Bước 3: Ghi tên ổ đĩa ví dụ C, D, E,… chứa phần mềm Turbo C++ 3.0 vừa

bung nén Sau đó bấm ENTER Hình ảnh xuất hiện như trên Hình 1.5.(VD: C, D, E, bấm kí tự tương ứng)

Hình 1.5

Bước 4: Trên màn hình hiện lên đường dẫn Bấm ENTER Khi đó, hình ảnh

có dạng như trên hình 1.6

Hình 1.6

Bước 5: Bấm F9 để cài đặt nhanh hoặc bấm nút lên xuống để chọn Start

Intallation để cài đặt Bấm ENTER Hình ảnh xuất hiện như trên Hình 1.7

Trang 13

Hình 1.7Sau khi cài đặt, hình ảnh giao diện của Turbo C++ 3.0 như trên hình 1.8.

Hình 1.81.3. Mạng fractal

đo trong lý thuyết hình học Euclide cổ điển

Vào các năm 1890 và 1891, các nhà toán học Peano và Hilbert đã phát minh

ra các đường cong có tính chất rất đặc biệt Đó là các đường cong không tự cắt theo

Trang 14

một quy luật được chỉ ra bởi Peano và Hilbert và chúng lấp đầy mọi miền hữu hạncủa mặt phẳng Năm 1904, nhà toán học Thụy Điển Helge Koch đã đưa ra một loạiđường cong khác với những đường cong của Peano và Hilbert Các đường congKoch không lấp đầy mặt phẳng nhưng có độ dài thay đổi một cách vô hạn mặc dùchúng chứa trong một miền hữu hạn Tất cả các đường cong đó đều có một tính chấtđặc trưng là tự tương tự.

Chỉ nhờ sự giúp đỡ của máy tính điện tử, bản chất của tính tương tự mớiđược nghiên cứu đầy đủ và chi tiết trong cuốn sách “Các vật fractal” xuất bản năm

1975 Năm 1979, Benoit B Mandelbrot đưa ra tập Mandelbrot Năm 1982,Mandelbrot xuất bản cuốn sách “Hình học phân hình trong tự nhiên” Trong cuốnsách này, Mandelbrot phân tích các dạng cấu trúc phức tạp của tự nhiên thành cácthành phần cơ bản gọi là fractal

Sau khi đặt nền móng cho lý thuyết hình học fractal, Mandelbrot cùng vớicác nhà toán học khác như A Douady và J Hubbard đã phát triển lý thuyết về cácmặt fractal Dựa trên các công trình của Mandelbrot (1976, 1979, 1982) vàHutchinson (1981), vào các năm 1986 và 1988 Michael F Barnsley và M Begger

đã phát triển lý thuyết biểu diễn các đối tượng tự nhiên dựa trên cơ sở lý thuyết vềcác hệ hàm lặp (IFS) Ngày nay, lý thuyết fractal được phát triển rộng rãi trong mọilĩnh vực

Benoit B Mandelbrot (sinh ngày 20 tháng 11 năm 1924 và mất ngày 14tháng 10 năm 2010) là nhà toán học mang hai quốc tịch Pháp và Mỹ Mandelbrotnghiên cứu trên nhiều lĩnh vực của toán học trong đó bao gồm vật lý toán và toántài chính Ông là cha đẻ của hình học fractal Ông đưa ra thuật ngữ fractal và miêu

tả tập Mandelbrot Hình 1.9 và hình 1.10 là chân dung Mandelbrot và hình ảnh củatập Mandelbrot

Trang 15

Hình 1.9 Hình 1.10

1.3.2. Định nghĩa và các đặc tính của fractal

Hiện nay chưa có định nghĩa chính xác về thuật ngữ “fractal” Tuy nhiên, cómột số cách hiểu về fractal Theo Mandelbrot, fractal chỉ những đối tượng hình học

có hình dạng gồ ghề, không trơn nhẵn trong tự nhiên Cụ thể hơn đó là những vậtthể có tính đối xứng sắp xếp trong một phạm vi nhất định Điều đó có nghĩa là khi

ta chia một vật thể fractal, với hình dạng gồ ghề, gãy góc thành những phần nhỏ thì

nó vẫn có được đặc tính đối xứng trong một cấu trúc tưởng như hỗn loạn Người tathường cho rằng fractal là một đường cong hoặc kiểu mẫu mà nó bao gồm đườngcong hoặc kiểu mẫu nhỏ hơn có cùng hình dạng Có thể hiểu fractal chỉ những đốitượng có diện tích hữu hạn nhưng có chu vi vô hạn

Fractal có một số đặc tính cơ bản sau

a. Tính tự tương tự Tính tự tương tự có thể có nhièu biến thể như tự tương tự chính xác là sự giống nhau trên tất cả các thang đo ví dụ như nụ tuyết Koch, chuẩn tự tương tự là sự gần đúng cùng một kiểu tại các thang đo khác nhau, có thể chứa các

bản sao nhổ của toàn bộ fractal ở các dạng méo hoặc suy biến Ví dụ như các vệtinh của tập Mandelbrot là các gần đúng của toàn bộ tập nhưng không phải là các

bản sao chính xác Tự tương tự thống kê là sự lặp lại một kiểu mẫu một cách hỗn

loạn sao cho các phép đo số hoặc thống kê được bảo tồn qua các thang đo ví dụ như

các fractal sinh ra một cách ngẫu nhiên Tự tương tự định tính là sự lặp lại một kiểu

mẫu một cách định tính

b. Đặc tính không khả vi ở bất kì chỗ nào Điều này có nghĩa là các fractal không thể

đo được theo các cách truyền thống Để tìm được chiều dài của một đường congkhông fractal hình sóng, người ta có thể tìm các đoạn thẳng của dụng cụ đo nào đó

đủ nhỏ để đặt sát liền nhau qua các sóng trong đó các đoạn lấy đủ nhỏ để xem nhưphù hợp với đường cong theo cách đo thông thường với một thước đo Nhưng khi đomột đường cong fractal hình sóng như đường cong tuyết Koch, người ta không baogiờ tìm được một đoạn thẳng đủ nhỏ để phù hợp với đường cong do mẫu hình sóngluôn luôn xuất hiện lại mặc dù tại một kích thước nhỏ hơn.Người ta kéo được ít hơnthước đo vào trong chiều dài tổng cộng đo được mỗi lần người ta cố gắng làm khớpngày càng chặt hơn với đường cong Điều này có lẽ là phản trực giác

c. Cấu trúc tinh tế tới mọi thang đo nhỏ một cách tùy ý.

Trang 16

d. Tính không đều một cách cục bộ và toàn cục mà nó không dễ dàng được mô tả

trong ngôn ngữ hình học Euclid truyền thống

1.3.3. Ứng dụng của fractal

Hình học fractal có nhiều ứng dụng trong cuộc sống và mở ra nhiều hướngnghiên cứu mới trong nhiều lĩnh vực như sinh học, y học, thiên văn, kinh tế, công nghệthông tin

Khoa học máy tính

Hình học fractal có thể giúp thiết kế các hình ảnh đẹp trên máy tính một cáchđơn giản và trực quan Đây là một trong những lĩnh vực được nhiều người quan tâmnhất là đối với những người yêu mến nghệ thuật Cơ sở hình học Fractal cũng đãđược ứng dụng trong công nghệ nén ảnh một cách hiệu quả thông qua các hệ hàmlặp Đây là một trong những lĩnh vực được các chuyên gia về khoa học máy tínhđặc biệt quan tâm

Phương pháp nén ảnh fractal là một phương pháp nén dữ liệu có mất mátthông tin cho ảnh số dựa trên phân dạng Phương pháp này thích hợp nhất cho cácảnh tự nhiên dựa vào tính chất là các phần của một bức ảnh thường giống với cácphần khác của chính bức ảnh đó Thuật toán phân dạng chuyển các phần này thành

dữ liệu toán học được gọi là “mã phân dạng” và mã này được dùng để tái tạo lại bứcảnh đã được mã hóa Đại diện của ảnh phân dạng được mô tả một cách toán họcnhư là hệ hàm lặp

Đối với một ánh xạ co trên một không gian metric đầy đủ, luôn luôn tồn tạimột điểm bất động Đối với một họ ánh xạ co như vậy cũng luôn luôn tồn tại mộtđiểm bất động Có thể luôn tìm được điểm bất động của nó bằng cách lấy một giá trịkhởi đầu rồi lặp lại nhiều lần ánh xạ đó trên các kết quả thu được của mỗi lần lặp

Số lần lặp càng nhiều thì giá trị tìm được càng xấp xỉ chính xác giá trị của điểm bấtđộng Do đó nếu ta coi ảnh cần nén là “điểm bất động” của một họ ánh xạ co thì đốivới mỗi một ảnh ta chỉ cần lưu thông tin về họ ánh xạ thích hợp Điều này làm giảmrất nhiều dung lượng cần có để lưu trữ thông tin ảnh

Y học và sinh học

Các nhà khoa học đã tìm ra các mối quan hệ giữa fractal với hình thù của tếbào, quá trình trao đổi chất của cơ thể người, ADN, nhịp tim, … Trước đây, các nhà

Trang 17

sinh học quan niệm lượng chất trao đổi phụ thuộc vào khối lượng cơ thể người,nghĩa là nó tỉ lệ bậc ba khi xem xét con người là một đối tượng ba chiều Nhưng từgóc nhìn của hình học phân dạng, người ta cho rằng sẽ chính xác hơn nếu xem conngười là một mặt phân dạng với số chiều xấp xỉ 2,5 Như vậy, tỉ lệ đó không nguyênnữa mà là một số hữu tỷ Việc chẩn đoán bệnh áp dụng hình học phân dạng đã cónhững tiến bộ rõ rệt Bằng cách quan sát hình dạng của các tế bào theo quan điểmphân dạng, người ta đã tìm ra các bệnh lý của con người Tuy nhiên, những lĩnh vựcnày vẫn còn mới mẻ và cần phải được tiếp tục nghiên cứu.

Hóa học

Hình học fractal được sử dụng trong việc khảo sát các hợp chất cao phân tử.Tính đa dạng của cấu trúc polyme dẫn tới sự phong phú về đặc tính của các hợpchất cao phân tử Hình dạng vô định hình, đường đứt gãy, chuỗi, sự tiếp xúc của bềmặt polyme với không khí… đều có liên quan đến các phân dạng Chuyển động củacác phân tử và nguyên tử trong hợp chất và dung dịch, các quá trình tương tác gầngiữa các chất với nhau,… đều có thể xem như một hệ động lực hỗn độn

Vật lý

Trong vật lý, khi nghiên cứu các hệ cơ học có năng lượng tiêu hao (chẳnghạn như có lực ma sát) người ta nhận thấy trạng thái của các hệ đó khó xác địnhtrước và hình ảnh hình học của chúng là các đối tượng fractal

Thiên văn học

Các nhà khoa học đã tiến hành xem xét lại các quỹ đạo của các hành tinhtrong hệ Mặt Trời cũng như trong các hệ thiên hà khác Một số kết quả cho thấykhông phải các hành tinh này quay theo một quĩ đạo elip như trong hình họcEuclide mà nó chuyển động theo các đường fractal Quỹ đạo của nó được mô phỏngbằng những quỹ đạo trong các tập hút “lạ”

Kinh tế

Mô tả sự biến động của giá cả trên thị trường chứng khoán bằng các đồ hìnhphân dạng sẽ cho phép chúng ta theo dõi sự biến động của giá cả Trên cơ sở đó cóthể dự báo giá cả trên thị trường dựa theo các luật của hình học phân dạng

1.3.4. Một số phương pháp chế tạo fractal

Trang 18

Có nhiều phương pháp để chế tạo fractal, tuy nhiên thường sử dụng baphương pháp chính sau

a. Sử dụng các hệ hàm lặp là lặp lại một quy tắc thay thế hình học hoặc lặp lại mộtchuỗi, một mô hình nào đó

b. Tạo các fractal bằng cách lặp lại một cách ngẫu nhiên

c. Tạo các fractal escape – time là tạo các fractal từ việc phát sinh điểm ảnh từ mộtđiểm ảnh bất kì

1.4. Mạng thần kinh

1.4.1. Lịch sử

Sự kiện đầu tiên đánh dấu sự ra đời của mạng thần kinh nhân tạo diễn ra vàonăm 1943 khi nhà thần kinh học Warren McCulloch và nhà toán học Walter Pittsviết một bài báo mô tả cách thức các nơ ron hoạt động Họ cũng đã tiến hành xâydựng một mạng nơ ron đơn giản bằng các mạch điện Các nơ ron của họ được xemnhư là các thiết bị nhị phân với ngưỡng cố định Kết quả của các mô hình này là cáchàm logic đơn giản chẳng hạn như “a OR b” hay “a AND b”

Năm 1949 Donald Hebb cho xuất bản cuốn sách “Tổ chức của tập tính”.Cuốn sách chỉ ra rằng các nơron nhân tạo sẽ trở lên hiệu quả hơn sau mỗi lần chúngđược sử dụng Những tiến bộ của máy tính đầu những năm 1950 giúp cho việc môhình hóa các nguyên lý của những lý thuyết liên quan tới cách thức con người suynghĩ trở thành hiện thực Nathanial Rochester sau nhiều năm làm việc tại các phòngthí nghiệm nghiên cứu của IBM đã có những nỗ lực đầu tiên để mô phỏng mộtmạng nơron Trong thời kì này tính toán truyền thống đã đạt được những thànhcông rực rỡ trong khi những nghiên cứu về nơron còn ở giai đoạn sơ khai Mặc dùvậy những người ủng hộ “Các máy biết suy nghĩ” vẫn tiếp tục bảo vệ cho lậptrường của mình Năm 1956 Dự án Dartmouth nghiên cứu về trí tuệ nhân tạo(artificial intelligence) đã mở ra thời kỳ phát triển mới cả trong lĩnh vực trí tuệ nhântạo lẫn mạng nơron Tác động tích cực của nó là thúc đẩy hơn nữa sự quan tâm củacác nhà khoa học về trí tuệ nhân tạo và quá trình xử lý ở mức đơn giản của mạngnơron trong bộ não con người Những năm tiếp theo của dự án Dartmouth, John vonNeumann đã đề xuất việc mô phỏng các nơron đơn giản bằng cách sử dụng rơleđiện áp hoặc đèn chân không Nhà sinh học chuyên nghiên cứu về nơron Frank

Rosenblatt cũng bắt đầu nghiên cứu về perceptron Sau thời gian nghiên cứu này

perceptron đã được cài đặt trong phần cứng máy tính và được xem như là mạng

Trang 19

nơron lâu đời nhất còn được sử dụng đến nay Perceptron một tầng rất hữu ích

trong việc phân loại một tập các đầu vào có giá trị liên tục vào một trong hai lớp

Perceptron tính tổng có trọng số các đầu vào rồi trừ tổng này cho một ngưỡng và

cho ra một trong hai giá trị mong muốn có thể Tuy nhiên, perceptron còn rất nhiều hạn chế Những hạn chế này đã được chỉ ra trong cuốn sách về perceptron của

Marvin Minsky và Seymour Papert viết năm 1969 Năm 1959 Bernard Widrow vàMarcian Hoff thuộc Đại học Stanford đã xây dựng mô hình ADALINE (ADAptiveLINear Elements) và MADALINE (Multiple ADAptive LINear Elements) Các mô

hình này sử dụng quy tắc học các bình phương trung bình tối thiểu (LMS).

MADALINE là mạng nơron đầu tiên được áp dụng để giải quyết một bài toán thực

tế Nó là một bộ lọc thích ứng có khả năng loại bỏ tín hiệu dội lại trên đường dâyđiện thoại Ngày nay, mạng nơron này vẫn được sử dụng trong các ứng dụngthương mại Năm 1974 Paul Werbos đã phát triển và ứng dụng phương pháp họclan truyền ngược Tuy nhiên, phương pháp này mới trở lên phổ biến sau đó mất vàinăm Các mạng lan truyền ngược được biết đến nhiều nhất và được áp dụng rộng rãinhất cho đến nay

Những thành công ban đầu này khiến cho con người cường điệu quá mức vềkhả năng của các mạng nơron Điều đó có những tác động không tốt đến sự pháttriển của khoa học và kỹ thuật thời bấy giờ khi người ta lo sợ rằng đã đến lúc máymóc có thể làm mọi việc của con người Những lo lắng này khiến người ta bắt đầuphản đối các nghiên cứu về mạng neuron Thời kì tạm lắng này kéo dài đến năm

1981 Năm 1982 trong một bài báo gửi tới một viện nghiên cứu, bằng sự phân tíchtoán học rõ ràng, mạch lạc, John Hopfield đã chỉ ra cách thức để các mạng nơronlàm việc và những công việc chúng có thể thực hiện được Cống hiến của Hopfieldkhông chỉ ở giá trị của những nghiên cứu khoa học mà còn ở việc thúc đẩy sự tiếptục các nghiên cứu về mạng nơron Cũng trong thời gian này, một hội nghị về hợptác trong nghiên cứu mạng nơron với sự tham gia của Hoa Kỳ và Nhật Bản đã được

tổ chức tại Kyoto, Nhật Bản Sau hội nghị, Nhật Bản đã công bố những nỗ lực của

họ trong việc tạo ra máy tính thế hệ thứ V Hoa Kỳ bày tỏ ra lo lắng về sự tụt hậutrong lĩnh vực này Và sau đó Hoa Kỳ nhanh chóng huy động quĩ tài trợ cho cácnghiên cứu và ứng dụng mạng nơron Năm 1985 Viện Vật lý Hoa Kỳ bắt đầu tổ

Trang 20

chức các cuộc họp hàng năm về mạng nơron ứng dụng trong khoa học tính toán.Năm 1987 một hội thảo quốc tế đầu tiên về mạng nơron của Viện Kỹ sư điện vàđiện tử đã thu hút sự tham gia của hơn 1800 nhà nghiên cứu Ngày nay, không chỉdừng lại ở mức nghiên cứu lý thuyết, các nghiên cứu ứng dụng mạng nơron để giảiquyết các bài toán thực tế được diễn ra ở khắp mọi nơi Các ứng dụng mạng nơron

ra đời ngày càng nhiều và ngày càng hoàn thiện hơn Điển hình là các ứng dụng xử

lý ngôn ngữ (language processing), nhận dạng kí tự (character recognition), nhậndạng tiếng nói (voice recognition), nhận dạng mẫu (pattern recognition), xử lý tínhiệu (signal processing), lọc dữ liệu (data filtering),…

1.4.2. Định nghĩa và cấu trúc của mạng nơron nhân tạo

Mạng nơron nhân tạo, ANN (Artificial Neural Network) gọi tắt là mạng

nơron là một mô hình xử lý thông tin phỏng theo cách thức xử lý thông tin của các

hệ nơron sinh học Nó được tạo nên từ một số lượng lớn các phần tử (gọi là phần tử

xử lý hay nơron) kết nối với nhau thông qua các liên kết (gọi là trọng số liên kết)

làm việc như một hệ thống thống nhất để giải quyết một vấn đề cụ thể nào đó

Một nơron là một đơn vị xử lý thông tin và là thành phần cơ bản của mộtmạng nơron Cấu trúc của một nơron được mô tả trên Hình 1.11

Hình 1.11Các thành phần cơ bản của một nơron nhân tạo bao gồm các thành phần sau

a Tập các đầu vào: Là các tín hiệu đầu vào (input signals) của nơron Các tín hiệu

này thường được đưa vào dưới dạng một vector N chiều.

b Tập các liên kết: Mỗi liên kết được biểu thị bởi một trọng số gọi là trọng số liên kết

(Synaptic weight) Trọng số liên kết giữa tín hiệu vào thứ j với nơron k thường được

Trang 21

kí hiệu là wkj Thông thường, các trọng số này được khởi tạo một cách ngẫu nhiên ở

thời điểm khởi tạo mạng và được cập nhật liên tục trong quá trình học mạng

trọng số liên kết của nó

thành phần của hàm chuyển

e Hàm chuyển (Transfer function) : Hàm này được dùng để giới hạn phạm vi đầu

ra của mỗi nơron Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng đã cho Thôngthường, phạm vi đầu ra của mỗi nơron được giới hạn trong đoạn [0,1] hoặc [-1, 1] Cáchàm chuyển rất đa dạng Chúng có thể là các hàm tuyến tính hoặc phi tuyến Việc lựachọn hàm chuyển nào là tuỳ thuộc vào từng bài toán và kinh nghiệm của người thiết kếmạng Một số hàm chuyển thường sử dụng trong các mô hình mạng nơron được đưa ratrong Bảng 1.1

Trang 22

Log-Sigmoid (logsig)

e Đầu ra: Đó là tín hiệu đầu ra của một nơron Đối với mỗi nơron có tối đa một đầu

ra Xét về mặt toán học, quan hệ giữa đầu ra và các đầu vào của nơron thứ k được

mô tả bằng công thức sau:

1.4.3. Các kiểu mô hình mạng nơron

Cách thức kết nối các nơron trong mạng xác định kiến trúc (topology) của

mạng Các nơron trong mạng có thể kết nối đầy đủ, tức là mỗi nơron đều được kếtnối với tất cả các nơron khác hoặc kết nối cục bộ chẳng hạn như chỉ kết nối giữa cácnơron trong các tầng khác nhau Người ta chia ra hai loại kiến trúc mạng chính là tựđộng kết hợp và kết hợp khác kiểu

Trang 23

Mạng tự động kết hợp (autoassociative) là mạng có các nơron đầu vào cũng

là các nơron đầu ra Mạng Hopfield là một kiểu mạng tự động kết hợp (Hình 1.12)

Hình 1.12 Mạng tự động kết hợpKết hợp khác kiểu (heteroassociative) là mạng có tập nơron đầu vào và đầu

ra riêng biệt Perceptron, các mạng perceptron nhiều tầng (MLP), mạng Kohonen,

… thuộc loại này (Hình 1.13)

Hình 1.13 Mạng kết hợp khác kiểu

Ngoài ra, tùy thuộc vào mạng có các kết nối ngược (feedback connections) từ

các nơron đầu ra tới các nơron đầu vào hay không, người ta chia ra làm 2 loại kiếntrúc mạng là mạng kiến trúc truyền thẳng và mạng kiến trúc phản hồi

Kiến trúc truyền thẳng (feedforward architechture) là kiểu kiến trúc mạngkhông có các kết nối ngược trở lại từ các nơron đầu ra về các nơron đầu vào; mạngkhông lưu lại các giá trị đầu ra trước và các trạng thái kích hoạt của nơron Cácmạng nơron truyền thẳng cho phép tín hiệu di chuyển theo một đường duy nhất từđầu vào tới đầu ra Đầu ra của một tầng bất kì sẽ không ảnh hưởng tới tầng đó Cácmạng kiểu perceptron là mạng truyền thẳng (Hình 1.14)

Trang 24

Hình 1.14 Mạng truyền thẳngKiến trúc phản hồi (Feedback architecture) là kiểu kiến trúc mạng có các kếtnối từ nơron đầu ra tới nơron đầu vào Mạng lưu lại các trạng thái trước đó và trạngthái tiếp theo không chỉ phụ thuộc vào các tín hiệu đầu vào mà còn phụ thuộc vàocác trạng thái trước đó của mạng Mạng Hopfield thuộc loại này (Hình 1.15).

Các phạm vi ứng dụng bao hàm với việc nhận dạng và kiểm soát hệ thống(kiểm soát phương tiện giao thông, kiểm soát quá trình, quản lí tài nguyên thiênnhiên), hóa học lượng tử, trò chơi và ra quyết định (cờ cào cáo, cờ vua, chơi bài

Trang 25

poker), nhận biết hình ảnh (các hệ thống rada, nhận dạng mặt, nhận biết vật và v…v…), nhận biết tiến trình (cử chỉ, giọng nói, nhận biết văn bản viết tay), chuẩn đoán

y khoa, tài chính (các hệ thống thương mại tự động hóa), khai thác dữ liệu (hoặckhám phá kiến thức từ các cơ sở dữ liệu, “KDD”), sự hình dung và sự lọc các thưrác

Các mạng thần kinh nhân tạo cũng đã được sử dụng để chữa trị một số ungthư Mạng thần kinh nhân tạo (ANN) dựa trên hệ thống dò ung thư phổi lai có tên làHLND tăng cường độ chính xác của sự chuẩn đoán và tốc độ chụp X quang ung thưphổi Các mạng này cũng đã được sử dụng để chuẩn đoán ung thư tuyến tiền liệt.Các chuẩn đoán có thể được sử dụng để làm các mô hình riêng được lấy từ mộtnhóm lớn các bệnh nhân so với thông tin của một bệnh nhân đã cho Các mô hìnhkhông phụ thuộc vào các giả thuyết về các mối liên quan của các biến số khác nhau.Ung thư trực tràng cũng đã được dự đoán khi sử dụng mạng thần kinh Mạng thầnkinh cũng dự đoán được hệ quả đối với một bệnh nhân bị ung thư trực tràng với một

độ chính xác cao hơn so với các phương pháp lâm sàng hiên có Sau khi được huấnluyện, các mạng có thể dự đoán nhiều hậu quả bệnh từ các cơ quan không có liênquan với nhau

Trang 26

CHƯƠNG II: ÁP DỤNG CÁC NGÔN NGỮ LẬP TRÌNH MATHEMATICA

VÀ C ĐỂ NGHIÊN CỨU MẠNG FRACTAL VÀ MẠNG THẦN KINH.

2.1 Mạng fractal

2.1.1 Cơ sở lí thuyết

Mandelbrot đã định nghĩa fractal là "một tập hợp mà trong đó số đoHausdorff (hay đo Hausdorff-Besicovitch) lớn hơn số đo tô pô học" Số đoHausdorff là khái niệm sinh ra để đo kích thước của phân dạng và thường khôngphải là một số tự nhiên Một hình fractal trên tờ giấy 2 chiều có thể bắt đầu cónhững tính chất của vật thể trong không gian 3 chiều và có thể có số đo Hausdorffnằm giữa 2 và 3 Đối với một fractal hoàn toàn tự tương tự, số đo Hausdorff sẽ đúngbằng số đo Minkowski-Bouligand

Trong toán học, số đo Hausdorff là một số thực không âm mở rộng ứng với mộtkhông gian metric nào đó Số đo Hausdorff tổng quát hóa khái niệm số đo của một

không gian vectơ thực Số đo Hausdorff của một không gian tích trong n-chiều bằng n.

Ví dụ như số đo Hausdorff của một điểm là 0, số đo Hausdorff của một đường thẳng là 1

và số đo Hausdorff của mặt phẳng là 2 Tuy nhiên, có rất nhiều tập kì dị có số đoHausdorff không phải là số nguyên Khái niệm này được đưa ra vào năm 1918 bởi nhàtoán học Felix Hausdorff Nhiều sự phát triển mang tính kĩ thuật để tính số đo Hausdorffcho những tập hợp có tính kì dị cao do Abram Samoilovitch Besicovitch đề xuất

Việc đưa ra số đo Hausdorff nhằm khắc phục những nhược điểm của số đotopo Chẳng hạn như số đo topo không thể nói lên được bất cứ điều gì về kích thướccủa vật Đường cong phủ không gian là một ví dụ điển hình cho nhược điểm này.Những đường như đường Peano hay đường Hilbert có thể phủ toàn bộ hình vuôngđơn vị có số đo topo là 2 mặc dù chúng chỉ có số đo topo là 1 Điều đó cho thấyđường Peano hay đường Hilbert xử sự như có số đo topo là 2

Tuy nhiên, việc xác định số đo Hausdorff là rất phức tạp Xuất phát từ địnhnghĩa này, Mandelbrot đã đưa ra số đo fractal tổng quát với ba dạng đặc biệt là số đo tựtương tự (hay số đo Hausdorff – Besicovitch), số đo compa và số đo box – counting

a. Số đo tự tương tự: Xét hình chữ nhật ABCD có AB = a, BC = b Chia hình chữ nhật

thành N phần Khi đó diện tích mỗi phần bằng ab/N và độ dài mỗi cạnh tỉ lệ với tỉ

số tương tự Tương tự, trong d chiều thì

Đặt r = r(N) suy ra: Lấy logarit hai vế ta được:

Trang 27

N d

r

=

(2.1)Định nghĩa số đo tự tương tự phù hợp với định nghĩa thông thường của hìnhhọc Euclide

bờ biển, dòng sông,… Chiều dài của đường bờ biển có thể đo được bằng cách sửdụng một bản đồ và một compa với độ mở r (Hình 2.1) Ta đếm số lần đo cần thiết

để đo hết đường bờ biển Khi đó chiều dài của đường bờ biển là L(r) = N(r).r r càng nhỏ thì L(r) càng lớn Biểu diễn mối quan hệ giữa L(r) vào r trên đồ thị lnL -

lnr thì lnL phụ thuộc tuyến tính vào lnr nhưng nghịch biến, nghĩa là nếu lnr tăng thì

lnL giảm và ngược lại Từ đó, ta có mối quan hệ như sau:

c. Số đo box-counting: Cách làm tương tự số đo compa và chỉ khác một điều là ở đây

người ta sử dụng lưới các ô vuông để bao phủ bờ biển (Hình 2.3) Số đo counting áp dụng cho mọi cấu trúc trong mặt phẳng không gian

box-Hình 2.3

Trang 28

2.1.2 Thuật toán

Ở đây ta sẽ cùng thảo luận các fractal được phát sinh bằng cách sử dụng các

hệ hàm lặp với kết quả là các hình tự tương tự chính xác Số đo được tính theo côngthức (2.1)

Ta bắt đầu bằng một bộ khởi tạo Nó có thể là một đoạn thẳng hay một đagiác Mỗi cạnh của bộ khởi tạo được thay thế bằng một bộ phát sinh Sau đó mỗiđoạn thẳng của hình mới lại được thay thế bởi một phiên bản nhỏ hơn của bộ phátsinh Quá trình trên được tiếp tục vô số lần Dưới đây là một số mạng fractal đượcsinh ra bởi phương pháp tạo fractal bằng cách sử dụng các hệ hàm lặp

a. Thuật toán của đường cong tuyết Koch

Đường cong tuyết Koch được xây dựng bởi nhà toán học Helge Von Kochvào năm 1904 Thuật toán xây dựng đường cong tuyết Koch được mô tả như Hình2.4 Thuật toán này gồm các bước sau

Hình 2.4

Bước 1: Bắt đầu với một đoạn thẳng.

Bước 2: Chia đoạn thẳng thành ba đoạn có chiều dài bằng một phần ba đoạn

ban đầu Thực hiện thay thế đoạn ở giữa bằng một đường gấp khúc gồm hai cạnh,mỗi cạnh có chiều dài đúng bằng một phần ba chiều dai đoạn ban đầu

Bước 3: Thực hiện quá trình thay thế trên tới vô hạn lần thì thu được đường

cong tuyết VonKoch như trên

b. Thuật toán của đệm Sierpinski

Đệm Sierpinski là một đường cong rất đặc biệt, bởi vì có rất nhiều cách phátsinh ra nó với các khởi tạo ban đầu hoàn toàn khác nhau nhưng lại kết thúc ở việc

Trang 29

sinh ra một loại đường cong duy nhất Dưới đây trình bày hai thuật toán để hìnhthành nên đệm Sierpinski.

Bước 3: Lặp lại quá trình trên không giới hạn bước lặp

Trong C thuật toán trên sẽ được thể hiện như sau

Mỗi một điểm xác định được đặc trưng bởi hai biến nguyên x và y biểu diễn

các tọa độ của pixel trên màn hình

struct {int x, int y} qn= {20, 20}, pw, p[3] = {{10, 10}, {MAXX – 10, 10}, {MAXX/3, MAXY – 10}};

Bây giờ mỗi một bước lặp , một trong ba điểm p[i] được lặp chọn bằng cáchsinh ra một số ngẫu nhiên

pw = p[3*rand()/RAND_MAX

và một điểm mới được tịnh tiến

qn.x = (pw.x + qn.x)/2;

qn.y = (pw.y + qn.y)/2;

Khi đó, một ảnh điểm được vẽ như sau

putpixel (qn.x, qn.y, WHITE);

Sau các bước lặp vô hạn ta thu được một cấu trúc cân đối rõ ràng bao gồm cáchình tam giác lồng vào nhau Cấu trúc này là tự đồng dạng nghĩa là tất cả các tam giáctrông giống nhau và không phụ thuộc vào kích thước của chúng Nhưng cấu trúc gầnnhư là trống rỗng vì mỗi một tam giác có một số hữu hạn các lỗ trống ở bất kì thang đonào Chỉ sau một ít phép lặp, bất kì điểm nào mà ta bắt đầu với nó kết thúc trong lưới kì

lạ này

Thuật toán 2

Thuật toán này bao gồm các bước sau

Bước 1: Bắt dầu với một tam giác.

Trang 30

Bước 2: Loại bỏ một tam giác ra khỏi tâm của nó sao cho giữ lại ba tam giác

giống nhau

Bước 3: Lặp lại điều này không giới hạn cho toàn bộ các tam giác được giữ lại.

Trong Mathematica thuật toán này được biểu thị như sau:

Mỗi một tam giác được mô tả bằng một danh sách của ba điểm trong mặtphẳng Tam giác ban đầu được cho bởi:

Cuối cùng chúng ta cũng thu được một cấu trúc giống với cấu trúc được tạo

ra bởi thuật toán 1

c. Thuật toán của các nụ tuyết Koch

Tương tự như cách tạo đường cong tuyết Koch, thuật toán của nụ tuyết Kochgồm các bước sau

Bước 1: Bắt đầu với một tam giác đều

Bước 2: Với mỗi cạnh của tam giác ta thực hiện phép thay thế như trong

thuật toán tạo đường cong tuyết Koch

Trang 31

Bước 3: Lặp lại quá trình trên vô hạn lần.

Thuật toán trên được minh họa qua Hình 2.5

Hình 2.5Một dạng khác của nụ tuyết Koch được phát hiện bởi W Gosper gọi là nụ tuyếtKoch_Gosper Trong nụ tuyết này, bộ khởi tạo là một lục giác đều và bộ phát sinhchứa ba đoạn nằm trên một lưới của các tam giác đều như Hình 2.6

Hình 2.6Thuật toán của nụ tuyết Koch_Gosper được mô tả như Hình 2.7

Hình 2.7Một vài nụ tuyết khác cũng được hình thành từ ý tưởng của thuật toán nụtuyết Koch nhưng có sự khác biệt về bộ khởi tạo và bộ phát sinh như nụ tuyếtKoch_Minkowski và nụ tuyết Koch bậc hai – 8 đoạn

Thuật toán của nụ tuyết Koch_Minkowski bao gồm các bước sau

Bước 1: Bắt đầu với bộ khởi tạo là một hình vuông.

Bước 2: Thay thế bộ khởi tạo bằng một bộ phát sinh như Hình 2.8.

Trang 32

Hình 2.8

Bước 3: Lặp lại quá trình trên vô hạn lần như Hình 2.9 ta thu được hình ảnh

của nụ tuyết Koch_Minkowski

Hình 2.9Thuật toán của nụ tuyết Koch bậc hai – 8 đoạn gồm các bước sau

Bước 1: Bắt đầu bằng một hình vuông.

Bước 2: Ta thay thế mỗi cạnh của hình

vuông bằng một bộ phát sinh như Hình 2.10

Hình 2.10

Bước 3: Lặp lại quá trình thay thế trên vô hạn lần ta thu được nụ tuyết Koch

bậc hai – 8 đoạn

Trang 33

d. Thuật toán của tập Mandelbrot

Trong nhiều thập niên của thế kỷ XX, các nhà toán học đã để tâm nghiên cứuđến một loại biểu thức phức tạp được xác định bởi:

Trong trường hợp tổng quát, dãy {zn} được xác định bởi công thức (2.3) ởtrên rất khó khảo sát về mặt lý thuyết Chỉ đến năm 1979, Mandelbrot mới thànhcông trong việc quan sát dãy này với sự hỗ trợ của máy tính điện tử Kết quả đượcMandelbrot quan sát thấy là một trong những cấu trúc fractal phức tạp và đẹp Nó

đã được đặt tên là tập Mandelbrot

Ký hiệu zn = ( xn , yn), c = (p,q), trong đó xn = Re(zn), p = Re(c), yn = Im(zn),

q = Im(c), ∀n ≥ 0 thì hệ thức truy hồi xác định ở (2.3) có thể được viết lại theo dạngđơn giản hơn như sau:

xn+1 = xn2 – yn2 + p

yn+1 = 2xn .yn + q (2.4)

Dãy {zn} có tính chất sau: nếu tồn tại k ∈ N sao cho | zk | > 2 thì dãy {zn} hội

tụ đến vô cực Nếu tồn tại k ∈ N sao cho | zt | < 2, ∀t : k ≤ t ≤ 1, với 1 là hằng sốhữu hạn thì cũng có | zn | < 2, ∀n ≥ k (Ký hiệu | z | chỉ modul của số phức z)

Tập Mandelbrot là hình ảnh của dãy {zn}, với giá trị khởi đầu z0 = 0 Khi đómàn hình máy tính sẽ chuyển đổi thành một mặt phẳng phức thu hẹp với trục x biểudiễn phần thực của số phức c Trục y biểu diễn phần ảo của số phức c

Từ tính chất về sự hội tụ của dãy {zn} ta có thể chia tập các giá trị của c trênmặt phẳng phức thành hai lớp là lớp 1 và lớp 2 Lớp l gồm các giá trị c làm cho dãy{zn} không tiến ra vô cực mà được giới hạn trong một vòng tròn bán kính 2 Một

Trang 34

cách cụ thể, đó là các giá trị c sao cho khi xuất phát từ chúng, ta luôn có | zi | < 2, ∀i

= 1, 2, …, l, trong đó l do ta chọn trước Để ý là giá trị l càng lớn thì tính hội tụ củadãy {zn} tương ứng với một giá trị cụ thể càng được kiểm tra chặt chẽ và chính xác.Tuy nhiên, khi đó thời gian tính toán để xác định tính hội tụ sẽ tăng lên gấp nhiềulần Lớp 2 gồm các giá trị phức c làm cho dãy {zn} hội tụ về vô cực Đó là các giátrị c khởi đầu dẫn đến | zn | > 2 ở một ngưỡng k hữu hạn nào đó.Vấn đề đặt ra ở đây

là cần quan sát tính hỗn độn của dãy {zn} Do đó chúng ta tập trung các quan sátvào các giá trị c thuộc lớp 2 Do đó các giá trị này phải được thực hiện một cách nổibật trên màn hình máy tính bởi các màu khác nhau Ta sẽ tô màu mặt phẳng phứcmàn hình theo qui tắc sau: Các giá trị c thuộc lớp 1 được tô màu đen vì không cótính chất gì đáng chú ý Còn các giá trị c thuộc lớp 2 được tô bằng các màu khácnhau ứng với các ngưỡng tiến ra vô hạn k khác nhau Do số lượng màu có thể hiểnthị trên một màn hình đồ hoạ là hữu hạn, việc tô màu các giá trị này sẽ được thựchiện theo kỹ thuật tô màu xoay vòng được chỉ ra ở các phần tiếp sau đây

Thuật toán tổng quát của tập Mandelbrot bao gồm các bước sau:

Bước 1: Xuất phát với một giá trị khởi đầu c = (p,q).

Bước 2: Kiểm tra c thuộc lớp 1 hay lớp 2.

Bước 3: Nếu c thuộc lớp 1 thì tô điểm ảnh tương ứng với c trên màn hình

bằng màu đen, ngược lại tô điểm ảnh này bởi màu tương ứng xác định từ kỹ thuật tôxoay vòng

Bước 4: Chọn một giá trị c mới và trở lại bước 1 cho đến khi quét hết toàn bộ

giá trị c cần khảo sát (đôi khi ta không cần khảo sát toàn bộ mà chỉ khảo sát một

miền con được yêu cầu của mặt phẳng phức) Khi đó thuật toán kết thúc

Bây giờ ta ký hiệu: Max_Iterations là số lần lặp tối đa cần có để kiểm tra giá trị c thuộc lớp 1 hay lớp 2 (chính là giá trị 1 được đề cập trong định nghĩa của lớp 1) Count là số lần lặp đã thực hiện (giá trị này tương ứng với một ngưỡng tiến ra vô

hạn k được nêu ra trong định nghĩa lớp 2) Miền con của mặt phẳng phức cần khảosát là một cửa sổ hình chữ nhật được mô tả bởi toạ độ góc trái bên dưới (Xmin , Ymin)

và toạ độ góc phải trên (Xmax , Ymax) (theo hệ trục toạ độ thông thường)

Khi đó mối liên hệ giữa hệ trục toạ độ phức thực tế với hệ toạ độ nguyên trênmàn hình máy tính được x thể hiện bởi Hình 2.11

Ngày đăng: 24/07/2015, 14:25

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[3]. H.O.Peitgen and D.Saupe, (1988), The Science of Fractal Images, Springer, Berlin, Heidelberg, New York Sách, tạp chí
Tiêu đề: The Science of Fractal Images
Tác giả: H.O.Peitgen and D.Saupe
Năm: 1988
[4]. P.T.Tôn và N.M.Đức, (2003), Tìm hiểu lý thuyết hình học fractal và ứng dụng trong việc cài đặt một số đường, mặt fractal phổ biến, Báo cáo sinh viên tại trường ĐH Khoa học Tự nhiên Sách, tạp chí
Tiêu đề: Tìm hiểu lý thuyết hình học fractal và ứng dụngtrong việc cài đặt một số đường, mặt fractal phổ biến
Tác giả: P.T.Tôn và N.M.Đức
Năm: 2003
[1]. J.Hertz, A.Krogh, R.G.Palmer, (1991), Introduction to the Theory of Neural Computation, Addison-Wesley, Reading, MA Sách, tạp chí
Tiêu đề: Introduction to the Theory of NeuralComputation
Tác giả: J.Hertz, A.Krogh, R.G.Palmer
Năm: 1991
[2]. W. Kinzel and G. Reents, (1997), Physics by Computer Programming Physical Problems Using Mathemmatica and C, Springer, Wurzburg, German Sách, tạp chí
Tiêu đề: Physics by Computer Programming PhysicalProblems Using Mathemmatica and C
Tác giả: W. Kinzel and G. Reents
Năm: 1997
[3]. B.Muller, J.Reinhardt, M.T.Strickland, Neural Networks: An Introduction, Springer, Berrlin, Heidelberg, New York Sách, tạp chí
Tiêu đề: Neural Networks: An Introduction
[4]. E.Ott, (1993), Chaos in Dynamical Systems, Cambridge University Press, Cambridge, New York Sách, tạp chí
Tiêu đề: Chaos in Dynamical Systems, Cambridge University Press
Tác giả: E.Ott
Năm: 1993
[5]. H.O.Peitgen and D.Saupe, (1988), The Science of Fractal Images, Springer, Berlin, Heidelberg, New York Sách, tạp chí
Tiêu đề: The Science of Fractal Images
Tác giả: H.O.Peitgen and D.Saupe
Năm: 1988
[6]. M.Schroeder, (1991), Fractals, Chaos, Power Laws: Minutes from an Infinite Paradise, W.H.Freeman, New York Sách, tạp chí
Tiêu đề: Fractals, Chaos, Power Laws: Minutes from an InfiniteParadise
Tác giả: M.Schroeder
Năm: 1991
[7]. H.G.Schuster, (1995), Deterministic Chaos: An Introduction, VCH, Weinheim, New York Sách, tạp chí
Tiêu đề: Deterministic Chaos: An Introduction
Tác giả: H.G.Schuster
Năm: 1995
[8]. S. Wagon, (1991), Mathematics in Action, W.H.Freeman, New York Sách, tạp chí
Tiêu đề: Mathematics in Action
Tác giả: S. Wagon
Năm: 1991
[5]. Trang web http://en.wikipedia.org/wiki/fractal[6]. Trang web http://www.physik.uni-wuerzburg.de[7]. Trang web http://www.fractalforum.comTÀI LIỆU THAM KHẢO Link

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Như trên Hình  1.1  Math ID  ở trên cùng,  License  Number  ở  bên trái  và - MỘT SỐ PHÂN RÃ CỦA HIGGS VÔ HƯỚNG TRUNG HÒA TRONG MÔ HÌNH SIÊU ĐỐI XỨNG GẦN TỐI THIỂU
Hình 1.1 Như trên Hình 1.1 Math ID ở trên cùng, License Number ở bên trái và (Trang 7)
Hình 1.2 là giao diện làm việc của Mathematica 6.0. - MỘT SỐ PHÂN RÃ CỦA HIGGS VÔ HƯỚNG TRUNG HÒA TRONG MÔ HÌNH SIÊU ĐỐI XỨNG GẦN TỐI THIỂU
Hình 1.2 là giao diện làm việc của Mathematica 6.0 (Trang 8)
Hình 1.7 Sau khi cài đặt, hình ảnh giao diện của Turbo C++ 3.0 như trên hình 1.8. - MỘT SỐ PHÂN RÃ CỦA HIGGS VÔ HƯỚNG TRUNG HÒA TRONG MÔ HÌNH SIÊU ĐỐI XỨNG GẦN TỐI THIỂU
Hình 1.7 Sau khi cài đặt, hình ảnh giao diện của Turbo C++ 3.0 như trên hình 1.8 (Trang 13)
Hình 1.11 Các thành phần cơ bản của một nơron nhân tạo bao gồm các thành phần sau - MỘT SỐ PHÂN RÃ CỦA HIGGS VÔ HƯỚNG TRUNG HÒA TRONG MÔ HÌNH SIÊU ĐỐI XỨNG GẦN TỐI THIỂU
Hình 1.11 Các thành phần cơ bản của một nơron nhân tạo bao gồm các thành phần sau (Trang 20)
Bảng 1.1. Một số hàm truyền thông dụng - MỘT SỐ PHÂN RÃ CỦA HIGGS VÔ HƯỚNG TRUNG HÒA TRONG MÔ HÌNH SIÊU ĐỐI XỨNG GẦN TỐI THIỂU
Bảng 1.1. Một số hàm truyền thông dụng (Trang 21)
Hình 1.12. Mạng tự động kết hợp Kết hợp khác kiểu (heteroassociative)  là mạng có tập nơron đầu vào và đầu - MỘT SỐ PHÂN RÃ CỦA HIGGS VÔ HƯỚNG TRUNG HÒA TRONG MÔ HÌNH SIÊU ĐỐI XỨNG GẦN TỐI THIỂU
Hình 1.12. Mạng tự động kết hợp Kết hợp khác kiểu (heteroassociative) là mạng có tập nơron đầu vào và đầu (Trang 23)
Hình 1.14. Mạng truyền thẳng Kiến trúc phản hồi (Feedback architecture) là kiểu kiến trúc mạng có các kết nối từ nơron đầu ra tới nơron đầu vào - MỘT SỐ PHÂN RÃ CỦA HIGGS VÔ HƯỚNG TRUNG HÒA TRONG MÔ HÌNH SIÊU ĐỐI XỨNG GẦN TỐI THIỂU
Hình 1.14. Mạng truyền thẳng Kiến trúc phản hồi (Feedback architecture) là kiểu kiến trúc mạng có các kết nối từ nơron đầu ra tới nơron đầu vào (Trang 24)
Hình 2.1      Hình 2.2 - MỘT SỐ PHÂN RÃ CỦA HIGGS VÔ HƯỚNG TRUNG HÒA TRONG MÔ HÌNH SIÊU ĐỐI XỨNG GẦN TỐI THIỂU
Hình 2.1 Hình 2.2 (Trang 27)
Hình 2.5 Một dạng khác của nụ tuyết Koch được phát hiện bởi W. Gosper gọi là nụ tuyết Koch_Gosper - MỘT SỐ PHÂN RÃ CỦA HIGGS VÔ HƯỚNG TRUNG HÒA TRONG MÔ HÌNH SIÊU ĐỐI XỨNG GẦN TỐI THIỂU
Hình 2.5 Một dạng khác của nụ tuyết Koch được phát hiện bởi W. Gosper gọi là nụ tuyết Koch_Gosper (Trang 31)
Hình 2.12. Perceptron Đầu ra của mạng được xác định như sau: mạng lấy tổng có trọng số các thành phần của vector đầu vào, kết quả này cùng ngưỡng b được đưa vào hàm chuyển (perceptron dùng hàm giới hạn cứng làm hàm chuyển) và kết quả của hàm - MỘT SỐ PHÂN RÃ CỦA HIGGS VÔ HƯỚNG TRUNG HÒA TRONG MÔ HÌNH SIÊU ĐỐI XỨNG GẦN TỐI THIỂU
Hình 2.12. Perceptron Đầu ra của mạng được xác định như sau: mạng lấy tổng có trọng số các thành phần của vector đầu vào, kết quả này cùng ngưỡng b được đưa vào hàm chuyển (perceptron dùng hàm giới hạn cứng làm hàm chuyển) và kết quả của hàm (Trang 38)
Hình 3.4                                              Hình 3.5 - MỘT SỐ PHÂN RÃ CỦA HIGGS VÔ HƯỚNG TRUNG HÒA TRONG MÔ HÌNH SIÊU ĐỐI XỨNG GẦN TỐI THIỂU
Hình 3.4 Hình 3.5 (Trang 44)
Hình 3.6 là mức đầu tiên và mức ba của nụ tuyết Koch_Gosper. - MỘT SỐ PHÂN RÃ CỦA HIGGS VÔ HƯỚNG TRUNG HÒA TRONG MÔ HÌNH SIÊU ĐỐI XỨNG GẦN TỐI THIỂU
Hình 3.6 là mức đầu tiên và mức ba của nụ tuyết Koch_Gosper (Trang 45)
Hình 3.10 Bây giờ ta đánh máy 1 và 0 một cách ngẫu nhiên. Ta kiểm tra nó với các sinh viên trong lớp học của chúng ta mà mỗi một người trong số đó viết khoảng 1000 bản sao của hai kí tự vào một tệp và duy trì dãy đến mức ngẫu nhiên có thể có - MỘT SỐ PHÂN RÃ CỦA HIGGS VÔ HƯỚNG TRUNG HÒA TRONG MÔ HÌNH SIÊU ĐỐI XỨNG GẦN TỐI THIỂU
Hình 3.10 Bây giờ ta đánh máy 1 và 0 một cách ngẫu nhiên. Ta kiểm tra nó với các sinh viên trong lớp học của chúng ta mà mỗi một người trong số đó viết khoảng 1000 bản sao của hai kí tự vào một tệp và duy trì dãy đến mức ngẫu nhiên có thể có (Trang 48)
Hình 3. Nụ tuyết Koch Trong nhiều thập niên của thế kỉ XX, các nhà toán học đã nghiên cứu tập hợp   fractal   Mandelbrot   sinh   ra   từ   một   biểu   thức   phức   tạp   được   xác   định   bởi - MỘT SỐ PHÂN RÃ CỦA HIGGS VÔ HƯỚNG TRUNG HÒA TRONG MÔ HÌNH SIÊU ĐỐI XỨNG GẦN TỐI THIỂU
Hình 3. Nụ tuyết Koch Trong nhiều thập niên của thế kỉ XX, các nhà toán học đã nghiên cứu tập hợp fractal Mandelbrot sinh ra từ một biểu thức phức tạp được xác định bởi (Trang 66)
Hình 4. Tập hợp fractal Mandelbrot - MỘT SỐ PHÂN RÃ CỦA HIGGS VÔ HƯỚNG TRUNG HÒA TRONG MÔ HÌNH SIÊU ĐỐI XỨNG GẦN TỐI THIỂU
Hình 4. Tập hợp fractal Mandelbrot (Trang 67)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w