Monday, May 01, 2017

Математикийн гоо сайхан: Фрактал ертөнц

"Бүх шинжлэх ухааны хаан нь математик, хатан хаан нь арифметик" гээд л дунд сургуульдаа багагүй сонсож, харж байсан байлгүй. Тоонд бас гоо сайхан гэж байх уу? гэх хүн байдаг л даа. Дуу, хөгжмийг нотоор илэрхийлж тэмдэглэдэгтэй адил математик нь байгаль, ертөнцийн зүй тогтолыг олж, тоо томъёогоор илэрхийлдэг шинжлэх ухаан шүү дээ, минийхээр.

1. Математикт гоо сайхан бий юу?

Поль Эрдос ингэж хэлсэн байна: "Тоонууд яагаад сайхан гэж? Энэ нь яагаад Бетховений 9-р симфони сайхан бэ гэж асуусантай адил. Хэрэв чи яагаад гэдгийг нь харахгүй байгаа бол хэн ч чамд ойлгуулж чадахгүй. Би тоонууд сайхан гэдгийг мэдэж байна. Хэрэв тоо сайхан биш бол юу ч тийм биш."

Фибоначчийн дараалал, Алтан харьцаа (Golden ratio)-наас эхлээд олон зүйлийг хэлж болох байх. Уран зураг ч их байна. 

Математикийн гоо сайхнаас өөр нэг сонирхолтой жишээг сонирхоё,

Харахад энгийн нэгэн F(z) = z^2 + C гэсэн комплекс тэгштгэлд ямар их гоо сайхан, хорвоо ертөнц, утга учир бүхэлдээ агуулагдаж байдгийг чадан ядан тайлбарлая.

Энэ тэгштгэл бидэнд "Бутархай нь бүхлээ агуулж бүхэл нь бутархайгаа агуулна" гэдгийг харуулж байгаа юм.

2. Фрактал, яг юу гэсэн үг вэ?

Манай нэгэн физикч: -"...Энэ бол бид том зүйлийн дотор багтах ба том зүйл нь бидэн дотор багтана гэсэн үг! Нэг үгээр хэлбэл бид одот орчлонд харьяалагдан багтах бөгөөд одот орчлон мөн бидэн дотор багтана гэсэн үг. Анх сонсоход их л сонин бөлгөө. Гэтэл энэ саяхнаас батлагдаад байгаа..." гэж оновчтой тайлбарлажээ.

Фрактал буюу бутархай хэмжигдэхүүнт геометр дүрсүүдийг математикчид нээж олсоны нэг нь одоо танилцуулах гэж буй Мандельброт (Mandelbrot set) болно. Мөн түүн дотор орших Жюлиа (Julia set) фрактал нь ч маш гоёмсог! Фрактал геометр дүрс нь энгийн хэсгүүдээс бүхэл хэсэг нь тогтох бөгөөд, тухайн энгийн хэсгийг хичнээн томруулж задалж харсан ч уг хэсэг нь бас л бүхэл хэсгээсээ тогтсон байх тул үүнд эцэс төгсгөл гэж байхгүй! Гарч ирж дуусдаггүй матрёшка тоглоом гэвэл их ядмаг тайлбар болох байх даа :-)

Зураг 1. Мандельброт фрактал.
(зургийг JEAN FRANCOIS PUGET блогоос)
"...Бид (хорвоо ертөнц) атомоос тогтоно. Атом нь цөм хэмээх нейтрон, протон, мөн түүнийг тойрон эргэх электроноос тогтоно. Нейтронийг цааш задалбал кварк болно гэх мэтчилэн цааш задрана... Гэтэл бидний абсолют тэгш гадаргуу хэмээн ойлгодог тэр зүйл 10 хасах 41 зэргийн орчинд (маш өчүүхэн, бичил астрономи мэт орчинд) өөрчлөгдөв. Энэ орчнийг Планкийн орчин гэнэ. Тэгш гэсэн ойлголт муруй болж флуктуаци ажиглагдав. Нарийн судалбал асар их таталцлын орон бүхий хар нүх байх нь тэр! Энэ чинь юу болж байна? Хар нүх бол сансар огторгуйд байрлах асар хүчтэй таталцлын орон үүсгэдэг биет. Түүний тэр их татах хүчийг гэрэл хүртэл нэвтрэн гарч чадахгүй бөгөөд түүнд нь томоохон одод хүртэл залгигдаж орно. Хаашаа одсныг нь хэн ч таашгүй... Тэгэхээр биднийг агуулан буй галактик, одот ертөнц бидэн дотор ч багтах болж байна. Бид тэгвэл агуу байх нь ээ? Мөн бидний энэ төсөөлөн буй орчлон ертөнц зүүний үзүүр хатгах дайны цэгээс ч жижиг орчноос тэсрэн гарч ирсэн болой. Их тэсрэлтийн онол. Цаашид ч мөн тэлсээр байгаа аж..." гэж дээрх физикч бас энгийнээр сайхан тайлбарлаж.

Доорх видеоноос, Мандельброт фракталын дотор яг л орчлон ертөнцийн гүн рүү нэвтрэн орж буй мэт дүрсэлсэнг үзнэ үү. Өндөр хүчин чадалтай компьютерийн тооцооллыг ашиглан 10-ын 0 зэрэгтээс -225 зэрэгт хүртэл маш өчүүхэн жижиг астрономи хүртэлх орчинд фракталын дүрсүүд хэр гоёмсог үргэлжилж байгааг харуулжээ.


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 блогоос)

Зураг 4,5,6. Өнгөөр ялгарсан, илүү тод дүрслэл.
(зургийг Wikipedia сайтаас)




Зураг 7. Хар цагаан, илүү том дүрслэл
(зургийг vimeo сайтаас)



4. Программын код буюу хэрхэн дүрсэлж гаргах вэ?

Пайтон хэл дээр энгийнээр программ бичсэн жишээг 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)

Зургийг үүсгэхдээ:

mandelbrot_image(-2.0,0.5,-1.25,1.25,maxiter=80,cmap='gnuplot2')

Ажиллаж дуустал бага зэрэг удах байх. Хурдан ажилладаг, тооцооллын хурдыг сайжруулсан хэд хэдэн жишээг эндээс дэлгэрэнгүй хараарай.

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 



Бичлэг таалагдсан бол сурталчилгаан дээр +1 дарж тус хүргээрэй ;)

0 Comments:

blogger templates | Make Money Online