Thành viên:Maiduyduy/nháp

Hình "Bandt 12 gon" là cách gọi ngắn gọn của Bandt 12 gon with exact overlap là một hình Tự đồng dạng[1] được các Học trò và những Người hâm mộ gọi theo tên của Nhà toán học người Đức, Giáo sư Tiến sĩ Christoph Bandt[2] là người tạo ra nó với cấu trúc Exact overlap[3] hoặc Overlapping construction[4][5][6] nghĩa là các Thành phần cấu tạo nên nó Giao nhau[7] một cách chính xác. Bandt 12 gon gồm có 12 vòng có màu khác nhau giao nhau và đồng dạng với cái hình lớn ngoài cùng. Cho dù đi sâu vào chi tiết, phóng to vô hạn lần ở bất kỳ điểm nào của hình, chúng ta đều thấy cấu trúc giống hệt hình toàn thể.
Lịch sử Thành viên:Maiduyduy/nháp
Trong Hình học Fractal thì người ta quan tâm tới các hình của các Tập tự đồng dạng (Self-similarity), ở đó mỗi thành phần cấu tạo nên nó đều đồng dạng với cái toàn thể. Để biết được rõ ràng cấu trúc của nó như Chiều Hausdorff và các tính chất Tô pô người ta quan tâm tới các hình tự đồng dạng mà các thành phần của nó chỉ chạm ( Just touching ) (chạm nhau tại hữu hạn điểm, vô hạn điểm, hoặc Rep-tile), nói chính xác hơn là thoả mãn Điều kiện mở tiếng Anh là Open set condition[8][9] hoặc Exact overlap (giao nhau một cách chính xác). Như hình vẽ ở đây, 12 vòng nhỏ, tạo nên vòng lớn, các vòng nhỏ đều giao với nhau một cách trùng khít và chúng đồng dạng với vòng lớn. Christoph Bandt tạo ra hình vẽ này vào năm 2008 và cùng năm đó ở hội thảo về Fractal và Wavelet tại Đại học Greifswald, Đức, lần đầu tiên hình vẽ này dùng làm Logo trên thẻ tham dự của các đại biểu hội thảo từ ngày 7 tới ngày 13 tháng 9 năm 2008.[10]
Cấu trúc Thành viên:Maiduyduy/nháp
Tập tự đồng dạng
Để tạo ra Hình tự đồng dạng này, người ta sử dụng một Hệ hàm lặp[11] gọi là IFS[11] là viết tắt của Interated Function System. Hệ hàm lặp[11] này là tập hợp các Hàm co[12][13] tiếng Anh gọi là Contraction mapping[12].
Theo Định lý Điểm bất động (Fixed point theorem) thì đối với 1 hàm co thì sẽ có 1 Điểm bất Động[14] Như vậy rất có lý nếu suy luận rằng đối với nhiều hàm co thì sẽ có 1 tập hợp các điểm bất động. Điều này được khẳng định bởi định lý của Moran’s (1946)[15][16] và sau đó được phát triển bởi nhiều nhà toán học khác Hutchinson (1981), Kenneth Falconer[17] Tập hợp các điểm này làm thành một hình gọi là Attractor[5][14] hay một Tập tự đồng dạng[18] (Self-similar set[1][5]).
Hệ hàm lặp IFS của Bandt 12gon
Hệ hàm lặp IFS viết dưới dạng số phức
Bandt 12 gon được tạo bởi 12 hàm co với hệ số co[19] (contraction ratio[5]) bằng nhau và bằng và tịnh tiến tới các đỉnh của đa giác đều 12 cạnh như vậy hệ IFS gồm 12 hàm như sau
Hệ hàm lặp IFS viết dưới dạng ma trận
Hệ hàm co được viết dưới dạng ma trận như sau:
Các ma trận hệ số của các hàm co này đều có giá trị riêng là tức là xấp xỉ 0.2679 và véc tơ riêng [20] là véc tơ 0, nghĩa là nó đơn thuần làm thu nhỏ vật thể mà nó tác động theo hệ số co[19] là 0.2679.
Số chiều Hausdorff của Bandt 12gon Thành viên:Maiduyduy/nháp
Khái niệm thể tích hay diện tích, số chiều tô pô (chiều ở không gian thông thường) bị bất lực để cung cấp thông tin về Bandt 12gon và các tập tự đồng dạng nói chung. Chính vì thế cần phải sáng tạo ra một độ đo mới, số chiều mới, để có thể biểu diễn thông tin của những hình mà không thể biểu diễn được bằng các khái niệm trước đó. Felix Hausdorff đã đưa ra một niệm chiều không gian mới không nhất thiết phải là số nguyên như chiều tô pô[21]. Trong mặt phẳng (không gian R^2) nếu một hình kín đặc sẽ có chiều tô pô là 2, trong không gian R^3 một vật thể đặc kín sẽ có chiều tô pô là 3. Bandt 12gon không phải là Tấm lát (Tile) lát (tilling) kín R^2, nó rỗng vì thế có chiều Hausdorff sẽ bé hơn 2 và lớn hơn 1. Chiều Hausdorff có thể hình dung như nó dùng để đo độ đậm đặc, độ kín của một vật thể. Nhiều tác giả đã xây dựng công thức và phương pháp tính chiều Hausdorff cho các tập tự đồng dạng[3][4]. Tuy nhiên chiều Hausdorff của Bandt 12gon không tính được dễ dàng bởi vì phần giao nhau của các mảnh có địa chỉ vô tận.
Cách máy tính tạo ra Bandt 12 gon và các tập tự đồng dạng Thành viên:Maiduyduy/nháp
Trên lý thuyết thì chúng ta có thể vẽ Bandt 12 gon hoặc các tập tự đồng dạng nói chung, bằng tay. Nghĩa là dùng giấy và bút để vẽ. Nó giống như vẽ đồ thị của hàm số bằng tay vậy, còn ở đây là " đồ thị" của nhiều hàm số. Người ta không gọi chúng là "đồ thị"nữa mà gọi là Attractor hay là Self-similar set. Và nhiều hàm số thì người ta gọi là hệ hàm lặp IFS. Tại sao lại có chữ lặp (interated) bởi vì các hàm này tác động lặp lại nhiều lần thì cho tới khi xuất hiện điểm bất động. Bất kể đầu vào (input) là tập hợp như thế nào, đầu ra (output) sẽ là một tập bất động tự đồng dạng. Chẳng hạn hàm số căn bậc hai nhé, bạn cho đầu vào là 1000, hay 10.000 thì bấm căn bậc hai nhiều lần số này, thì kết quả ngày càng bé dần và tới 1 thì dừng lại, số 1 chính là điểm bất động. Hoặc hàm số sẽ có điểm bất động là số 0.
Vì chắc chắn có một Attractor hay Self-similar set của hệ hàm lặp IFS. Nên đầu vào input chúng ta có thể lấy một điểm bất kỳ, sau đó cho tập hợp các hàm co tác động lên điểm đó lặp đi lặp lại một cách ngẫu nhiên. Và ta vẽ ảnh của các điểm sau khi các hàm co tác động đủ nhiều để có thể cho ra tập bất động.
Cụ thể, ta chọn một số bất kỳ 1 hoặc 0, hoặc một điểm bất kỳ trên mặt phẳng. Có thể lấy điểm nằm ngay gốc toạ độ. Sau đó áp các hàm co một cách ngẫu nhiên, liên tiếp lên các điểm mới được tạo. Số lần các hàm thực hiện càng nhiều thì ta được Tập tự đồng dạng càng rõ nét và chính xác.
Như vậy với tốc độ xử lý của máy tính mới có thể vẽ được một tập tự đồng dạng, về lý thuyết vẽ tay có thể được, nhưng ko ai đủ kiên nhẫn để xác định các điểm bất động khi áp các hàm co ngẫu nhiên và liên tiếp hàng triệu lần cả. Chính vì lý do đó mà khi chưa xuất hiện máy tính một cách phổ biến thì Hình học Fractal không được phát triển, các cấu trúc tự đồng dạng lúc đó chỉ nằm ở công thức.
Một số code lập trình để vẽ Bandt 12 gon Thành viên:Maiduyduy/nháp
Có thể sử dụng một số phần mềm lập trình như R, C, Java, Mathematica, Matlab... để vẽ Bandt 12 gon.
MATLAB
Code cho hệ hàm lặp viết dưới dạng số phức
function Bandt12gon;z = zeros (1,1000000);a1=cos(2*pi/12)+i*sin(2*pi/12);a=repmat(a1,1,12).^(1:12);r=tan(pi/12);hold off;plot(0,'w.','MarkerSize',1)hold on;k=floor(12*rand(size(z)))+1;for n=2:length(z);z(n)=r*z(n-1)+a(k(n));endfor m =1:12plot(z(k==m),'.','Color',rand(3,1),'MarkerSize',1)endaxis equalMATLAB
Code cho hệ hàm lặp viết dưới dạng ma trận
function Bandt12gon;x=zeros(1,5000000);y=x;a=[repmat(0.2679,1,12)];b=[repmat(0,1,12)];c=[repmat(0,1,12)];d=[repmat(0.2679,1,12)];e=[1/2 sqrt(3)/2 0 sqrt(3)/2 1/2 -1 -sqrt(3)/2 -1/2 0 -sqrt(3)/2 -1/2 1]; f=[sqrt(3)/2 1/2 1 -1/2 -sqrt(3)/2 0 -1/2 -sqrt(3)/2 -1 1/2 sqrt(3)/2 0];I=floor(12*rand(size(x)))+1;for k=2:length(x); x(k)=a(I(k))*x(k-1)+b(I(k))*y(k-1)+e(I(k)); y(k)=c(I(k))*x(k-1)+d(I(k))*y(k-1)+f(I(k));endfor k=1:12plot(x(I==k),y(I==k),'.','MarkerSize',1,'Color',rand(1,3))endaxis equalCode mathlab này được viết bởi duymt
Các bạn có thể copy code Mathlab và chay thử online trên trang web này: https://matlab.mathworks.com/