3. Математик тайлбар буюу яаж энэ дүрс гарч ирэв?
Дунд сургуульд үздэг Евклидийн геометрт, цэг буюу 0 гэдэг энгийн суурь ойлголт. Цэгүүдээс тогтох шулуун, хэрчим буюу нэг хэмжээсийг бас төсөөлөх хялбархан. Хэрчим, муруйгаас тогтох тойрог, гурвалжин, дөрвөлжин буюу хоёр хэмжээст дүрс, цаашлаад дахин нэг хэмжээс нэмээд бөмбөрцөг, пирамид, куб зэргийг төсөөлчих түвэггүй. Энэ бүгд маань шугман хэмжээст, хавтгайн геометр буюу Евклидийн геометр ба цаашлаад шугман бус хэмжээст Лобачевскийн геометр бий. Лобачевскийг энэ удаад орхиё, тусад нь ярихгүй бол бас дуусахгүй сэдэв.
Тэгэхээр бүхэл хэмжигдэхүүнт эдгээр тойрог, бөмбөрцөг зэрэг эгэл дүрснүүд төгсөглөг чанартай бол бутархай хэмжигдэхүүнт фрактал дүрснүүд төгсөглөг биш чанартай гэдгийг дээрх жишээ видео, дүрслэлээс харж, ойлгосон байх.
Яаж гарч ирсэнг нь ойлгох бол математикийн мэдлэгээ эхлээд санах хэрэгтэй болно. Математик хэсэг нь уйтгартай санагдах байх гээд ихэнхи хэсгийг алгаслаа. Учир нь, уг нийтлэлийн гол зорилго маань фракталын талаар танилцуулах, программчлал ашиглан өөрөө гаргаж үзэх явдал юм.
Эйлерийн нээсэн i^2 = -1 байх хуурмаг гишүүнт хэсэг ба бодит a тооноос тогтох (a + b*i) тоог комплекс тоо гэнэ. b -г хуурмаг хэсэг гэнэ. Аливаа бодит a тоо нь (a + 0*i) байх комплекс тоо гэж үзэж болно.
Мандельброт фрактал нь F(z) = z^2 + C функцийг z = 0 + 0*i үед,
z0 = 0
z1 = C
z2 = z12 + C
...
zn+1 = zn2 + C
Рекуррент цувааны
|zn| утга хязгааргүй руу хазайх (дивергенц) хязгаарын n утганд хүрэх үеийн C утгуудыг атлас (atlas) дээр n өнгөөр ялган тэмдэглэхэд Мандельброт дүрс үүснэ.
Зураг 2. Анх 1978 онд математикч Robert W. Brooks, Peter Matelski нарын хэвлүүлсэн дүрслэл.
(зургийг Wikipedia сайтаас)
Зураг 3. 1980-аад оны дунд үеэс компьютерийн тооцоолох чадвар сайжирсанаар илүү тод, нарийвчлалтай зураглалыг гаргах болсон байна.
(зургийг JEAN FRANCOIS PUGET блогоос)
Пайтон хэл дээр энгийнээр программ бичсэн жишээг
JEAN FRANCOIS PUGET блогоос авч харая:
Эх python notebook кодуудыг https://gist.github.com/jfpuget/60e07a82dece69b011bb хуудснаас хараарай.
import numpy as np
from matplotlib import pyplot as plt
from matplotlib import colors
%matplotlib inline
def mandelbrot(z,maxiter):
c = z
for n in range(maxiter):
if abs(z) > 2:
return n
z = z*z + c
return maxiter
def mandelbrot_set(xmin,xmax,ymin,ymax,width,height,maxiter):
r1 = np.linspace(xmin, xmax, width)
r2 = np.linspace(ymin, ymax, height)
return (r1,r2,[mandelbrot(complex(r, i),maxiter) for r in r1 for i in r2])
def mandelbrot_image(xmin,xmax,ymin,ymax,width=3,height=3,maxiter=80,cmap='hot'):
dpi = 72
img_width = dpi * width
img_height = dpi * height
x,y,z = mandelbrot_set(xmin,xmax,ymin,ymax,img_width,img_height,maxiter)
fig, ax = plt.subplots(figsize=(width, height),dpi=72)
ticks = np.arange(0,img_width,3*dpi)
x_ticks = xmin + (xmax-xmin)*ticks/img_width
plt.xticks(ticks, x_ticks)
y_ticks = ymin + (ymax-ymin)*ticks/img_width
plt.yticks(ticks, y_ticks)
norm = colors.PowerNorm(0.3)
ax.imshow(z.T,cmap=cmap,origin='lower',norm=norm)
Зургийг үүсгэхдээ:
Ажиллаж дуустал бага зэрэг удах байх. Хурдан ажилладаг, тооцооллын хурдыг сайжруулсан хэд хэдэн жишээг
эндээс дэлгэрэнгүй хараарай.
Julia set үүсгэх python notebook код: https://github.com/makeyourownmandelbrot/makeyourownmandelbrot
5. Эцэст нь, фрактал амьдралд хэрэгтэй юм уу?
Аливаа зүйл хоёр талтай.
1. Юунд хэрэг болохыг бүү мэд, амьдралд хэрэг болохгүй зүйл судалж суух хайран цаг зав биш үү?
Анх оюутан болоод комплекс тоо үзсэн хичээлийн шалгалт дээр талийгч нэгэн профессор яг ингэж асууж байсан юм. Аль 10-р ангидаа л комплекс тоо үзчихээд орж ирсэн би гэдэг хүн анги дүүрэн оюутан дундаас бараг хамгийн түрүүнд бүх бодлогоо дуусгаад профессор дээр явж очтол -"За бүгд зөв байна, гэхдээ нэг юм асууя. Комплекс тоог амьдрал дээр юунд ашигладаг вэ, хэлчих?" гэлээ. Энэ талаар өмнө нь огт сонсож, уншиж байгаагүй болохоор мэдэхгүй юм байна гээд л толгойгоо маажтал, -"Амьдралд хэрэглэхгүй юм бол сурч яах гэж байгаа нөхөр вэ? Электроникт ашигладаг юм, мэдэж ав." гээд -10 оноо, 90 (B+) гаргачихав. Байгалийн ухааны хичээл дээр дандаа А авч байдаг байсан хүн гэнэт шоконд орж инженерийн ангид орсноо тэгэхэд ойлгож авч билээ. Хэрэглээ чухал! :-) Тэрнээс хойш ч бас нэг багшийн зөвлөсөний дараа дүнг ер тоохоо больсон доо.
2. Зүй тогтолыг нь нээсэн хойно амьдралд хэрэг болох нь гарцаагүй.
Онолын математикийн чиглэлээр докторын зэрэг хамгаалсан Монголын анхны эмэгтэй математикч болох Ж.Даваадулам гээд багш,
"...XVII зууны математикчид долгионы тэгшитгэл бодоход ихээхэн хүч чармайлт тавьж байжээ. Тэр үед долгионы практик хэрэглээний талаар хэн ч бодоогүй байна. 1864 онд Максвелл цахилгааны үзэгдлийг дүрслэхэд долгионы тэгшитгэл хэрэглэжээ. 1888 онд Герц анх удаа радио долгионыг лабораторийн нөхцөлд барьсан байна. 1896 онд анхны радио дамжуулалт хийгдсэн. XXI зуунд бид гар утас барьж, утасгүй интернет хэрэглэж байна. Долгионы тэгшитгэлээс радио хүлээн авагч зохион бүтээх хүртэл 150 жил, Дифференциал геометрээс атомын бөмбөг хүртэл 100 жил, Матрицын онолоос эдийн засгийн хэрэглээ хүртэл 100 жил, интеграл тэгшитгэлээс квант онол хүртэл 30 жил, квант онол хэрэглээгээ олтол басхүү нэлээд хэдэн жил өнгөрсөн байна. Өнөөдрийн бидний амьдран буй энэ гайхамшигтай сайхан басхүү аймшигтай ертөнцийг цогцлооход математикийн шинжлэх ухааны оруулсан хувь нэмэр аугаа их юм. Математикийн шинжлэх ухааны хөгжил нь бусад шинжлэх ухаануудын хөгжлийг дагуулдаг. Шинжлэх ухаан технологийн хөгжил нь нийгэм эдийн засаг, улс төрийн өөрчлөлт шинэчлэлийн урьтал нөхцөл болдог. Бид монголчууд цөөхөн ч гэсэн математикчидтай байгаагаараа бахархах хэрэгтэй. Суурь шинжлэх ухаан бол нийгмийн оюун санааны дархлаа юм. Мэдлэгийн эдийн засгийн эрин үе хаалга тогшиж байна. "Мэдлэг бол хүч” гэж нэрт сэтгэгч Фрэнсис Бэкон хэлсэн байдаг. Одоо цагт "Мэдлэг бол баялаг” гэж хэлж болж байна...." гэж хэлжээ.
Байгаль дээр фрактал үзэгдэл олон тохиолддог байна, модны мөчир, аянга цахилгаан гэх мэт. Тэгэхээр хэрэг болох байх?
Миний бие мэргэжлийн математикч биш хэдий ч, 5-р ангийн сурагч байхдаа тооны гүнзгийрүүлсэн ангийн элсэлтийн шалгалтанд тэнцээгүй боловч, 7-р ангидаа тооны багш шалгалт авахдаа тусдаа ширээнд суулган "тусгаарлаж" барахаа" байгаад сүүлдээ өнөөх гүнзгий анги руу "хөөгдөж" төгссөн, математикт дуртай байсан нэгэн тул ийн сараачлаа. Андуурч, эндүүрсэн зүйлс байвал математикчид залруулж өгөөрэй.
Ашигласан материал:
1. https://www.ibm.com/developerworks/community/blogs/jfp/entry/How_To_Compute_Mandelbrodt_Set_Quickly?lang=en
2. https://en.wikipedia.org/wiki/Mandelbrot_set
3. Tariq Rashid, "Make Your Own Mandelbrot", Amazon Digital Services LLC, 2016
4. http://ubsonin.mn/index.php?newsid=249
5. https://mn.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA
6. https://ru.wikipedia.org/wiki/%D0%9C%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%BE_%D0%9C%D0%B0%D0%BD%D0%B4%D0%B5%D0%BB%D1%8C%D0%B1%D1%80%D0%BE%D1%82%D0%B0