رفتن به نوشته‌ها

برچسب: تبدیل آفین

مقدمه‌ای بر هندسه فرکتالی

Examples of ball packing, ball covering, and box covering. @wikipedia

«هندسه‌ی فرکتالی، فقط بخشی از ریاضیات نیست، بلکه موضوعی است که به هرکس کمک می‌کند تا این دنیا را متفاوت ببیند.»  بنوا مندلبرو – پدر هندسه‌ی فرکتالی

خیلی وقت پیش در مورد فرکتال‌ها نوشتم که شما می‌تونید اونا رو بخونید: 

این هفته، در مورد هندسه فرکتالی یک سخنرانی در دانشگاه شهید بهشتی داشتم با موضوع «مقدمه‌ای بر هندسه فرکتالی» می‌تونید ویدیوی این سخنرانی رو ببینید. همین‌طور اسلاید‌ها و فایل صوتی:

 

 

فرکتالها| قسمت سوم، خم‌های فضا پر کن و فرکتال‌های تصادفی

«حالا، اینجا چیز دیگری است که نسبتا جالب است. یکی از مخرب ترین رویدادها در تاریخ ریاضیات، که توسط بسیاری از مردم درک نشده، در حدود ۱۳۰ سال پیش رخ داده است، ۱۴۵سال پیش. ریاضیدانان شروع به خلق اشکالی که وجود نداشتند کردند. ریاضیدانان شروع به خودستایی کردند به حد مطلقا شگفت انگیزی که انسان بتواند چیزهایی را اختراع کند که طبیعت نمی دانست. به طور خاص، توانست چیزهایی اختراع کند مانند یک منحنی که صفحه را پر می کند. یک منحنی، منحنی است، یک صفحه، صفحه است، و این دو ترکیب نخواهند شد. خب، آنها ترکیب می شوند! مردی به نام پیانو چنین منحنی هایی تعریف کرد، و آن موضوع فوق العاده مورد علاقه واقع شد. آن موضوع بسیار مهم، اما بیشتر جالب توجه بود به دلیل یک نوع شکاف، یک جدایی بین ریاضیات آمده از واقعیت از یک طرف، و از طرف دیگر ریاضیات جدیدی که از ذهن ناب انسان آمده است. خب، من بسیار متاسف بودم برای تذکر اینکه ذهن ناب انسان در حقیقت، آنچه را برای یک مدت طولانی دیده شده بود بالاخره دیده است! و بنابراین من اینجا چیزی را معرفی می کنم، مجموعه ای از جریان های یک منحنی صفحه پر کن…» بنوآ مندلبرو (پدر هندسه‌ی فرکتالی) ، سخنرانی تد ۲۰۱۰

توی پست دوم فرکتال‌ها در مورد بعد (یا ناهمواری) غیرصحیح فرکتال‌ها توضیح دادم. مثلا دیدیم که بعد برف‌دانه‌ای که ساختیم ۱/۴۶ و بعد مثلث سیرپینسکی ۱/۵۸ به دست اومد. حالا فرض کنید که بعد از محاسبه بعد یک فرکتال، اون عدد دقیقا «۲» به دست بیاد! به نظرتون این چه معنی میده؟ اگر این اتفاق بیفته اون موقع فرکتال شما کل صفحه رو پر میکنه! یعنی به ازای هر نقطه از صفحه یک نقطه از فرکتال وجود داره. برای توضیح بیشتر اجازه بدید که وارد موضوع «خم‌های فضا (صفحه) پر کن بشم»:

خم‌های فضا پرکن:

خیلی از اوقات نیازه که مختصات فلان نقطه در فضا رو بدونیم. توی این جور مواقع،‌بسته به نوع مسئله، از دستگاه مختصاتی استفاده می‌کنیم که به کمک اون راحت‌تر بتونیم مختصات نقاط دلخواه رو مشخص کنیم. به عنوان مثال همه‌ی ما از دستگاه مختصات دکارتی (کارتزی) توی دبیرستان استفاده میکردم. دستگاهی که برای مشخص کردن هر نقطه از فضا کافی بود فاصله‌ی فضایی اون نقطه از مبدا (همون x, y, z) رو بدونیم. یا مثلا همه‌ی دانشجوهای فیزیک می‌دونند (یا باید بدونند!) زمانی که توی فضای ۳ بعدی با مسئله‌ی نیروی مرکزگرا مواجه میشند بهتره که از دستگاه مختصات کروی استفاده کنند. توی دستگاه کروی از دو تا زاویه و یک فاصله‌ی شعاعی استفاده میشه تا مختصات هر نقطه از فضا مشخص بشه. شاید رفتن از دستگاه دکارتی به کروی مسئله رو راحت‌تر کنه ولی چیزی که فرق نمی‌کنه اینه که برای توصیف هر نقطه در فضا چه در دستگاه دکارتی و چه در فضای کروی به ۳ تا پارامتر نیاز داریم و تعداد پارامترها تغییر نمی‌کنه! (اگر الان دارید به مختصات تعمیم یافته فکر می‌کنید اولا آفرین، ثانیا لطفا فعلا فراموشش کنید چون من میخوام یه چیز دیگه بگم!) حالا فرض کنید که یک خم با ابتدا و انتهای مشخص دارید. خم یک موجود یک بعدیه که توی یک فضای ۲ بعدی و یا بیشتر جا میشه و زیر مجموعه‌ای از اون فضاست. شما می‌تونید خمتون رو تقسیم بندی کنید (مثل خط کش). اگر نقطه‌ی ابتدایی خمتون رو مبدا در نظر بگیرید (انتخاب این نقطه اختیاری، هر نقطه‌ی دیگه‌ای رو میتونید در نظر بگیرید)، اون موقع مختصات (موقعیت)‌ هر نقطه‌ای از خم رو می‌تونید با استفاده از مبدا و تقسیم بندی که انجام دادید، داشته باشید! مثلا در فاصله ۳ سانتی متری نقطه‌ی A  و در فاصله‌ی ۲.۳۴ سانتی متری نقطه‌ی B قرار داره. این نقاط یکتا هستند، به عبارت دیگه توی یک فاصله‌ی مشخص فقط یک نقطه پیدا

میشه! کاری که انجام دادیم این بوده که هر نقطه از خم رو فقط با «یک» پارامتر مشخص کردیم که خیلی کار خوبیه ولی متاسفانه یه مشکلی هست و اون اینه که ما با این کار فقط مختصات نقاطی که روی خم مورد نظر ما هستند رو تونستیم با یک پارامتر مشخص کنیم و برای بیان مختصات سایر نقاط فضا مجددا به پارامترهای بیشتری نیاز داریم( 🙁 ).

اینجا بود که شخصی به نام پیانو (Giuseppe Peano) تصمیم گرفت که خمی بسازه که کل فضا رو پر کنه، اون موقع میشه مختصات هر نقطه از فضا رو فقط با یک پارامتر مشخص کرد و این یعنی عالی! سه مرحله از ساخت خم پیانو
راستش پیانو این ایده رو از کانتور ریاضیدان بزرگ آلمانی گرفته بود. چون که کانتور قبلا نشون داده بود که: «تعداد (بیشمار) نقاط در یک بازه‌ی بسته برابر با تعداد تقاط در هر فضا با بعد محدوده». این جوری شد که خم‌های فضا پر کن توسط پیانو ساخته شد و به خاطر همین به خم‌های که فضاهای ۲ بعدی (صفحه) رو پر میکنند معمولا میگند خم پیانو. یک سال بعد از مطرح کردن خم‌های فضا پر کن توسط پیانو، دیوید هیلبرت

خم هیلبرت، یک خم صفحه پرکن
خم هیلبرت، یک خم صفحه پرکن

خم‌های فضا پرکن مختلفی رو ارائه داد که فکر کنم این موضوع با کار هیلبرت کامل شد تقریبا! نکته این بود که ریاضی‌دان‌ها فکر میکردند چیزهایی ساختند که واقعا توی دنیا واقعی وجود ندارند و این از ذهن ناب بشر اومده. ولی همین جوری که مندلبرو گفت (ابتدای پست) ریاضی‌دان‌‌ها فقط چیزی رو دیده بودند که برای مدت‌ها‌ی طولانی در طبیعت دیده شده بود! به این صفحه نگاه کنید، فرکتال‌‌های مختلفی با بعد (ناهمواری)های مختلفی رو شامل میشه، از جمله اونهایی که بعدشون صحیح و فضا پر کن هستند!

 

 

 

 

 

 

 

 فرکتال‌های تصادفی:

steps۲
مراحل ساخت مثلث سرپینسکی تصادفی

به برف‌دانه‌ی کخ برگردیم در قسمت اول. مطابق شکل چند مرحله از ساخت این برف‌دانه رو می‌بینیم. شیوه ساخت این فرکتال ابتدایی آسونه و قاعده هم داره! یعنی اینکه هر بلایی که سر یک ضلع بیاد سر بقیه اضلاع هم میاد و از اون مهم‌تر هر مرحله‌ای که برای ساخت پیش میریم از «یک» قاعده فقط پیروی میکنیم (اینکه هر پاره‌خط به ۳ قسمت مساوی تقسیم میشه، قسمت وسط دور ریخته میشه و دو قسمت هم اندازه با یکی از اون سه قسمت به شکل اضافه میشه.) در حقیقت ما با یک فرایند کاملا منظم، یک شکل عجیب (در نگاه اول!) رو می‌سازیم. در قسمت اول محیط و مساحت این فرکتال به راحتی حساب شد و همین طور با استفاده از رابطه‌ای که توی قسمت دوم برای محاسبه بعد (ناهمواری) ارائه شد، بعد این فرکتال log۴/log۳ = ۱/۲۶ به دست میاد! پس این یک فرکتال منظم هست. حالا اگر اینقدر منظم پیش نریم چه اتفاقی می‌افته؟ برای مثال اگر در مرحله‌ی اول که دو قسمت برابر رو اضافه میکنیم و یک مثلث جدید میسازیم سر مثلث رو به بالا باشه و برای مرحله‌ی بعد سرمثلث ها رو به پایین باشه و همین جوری یک در میون عوض بشه اون موقع شکل از این نظم خارج میشه و دیگه توی هر مرحله با یک قاعده سر و کار نداریم. میشه باز بی نظمی رو بیشتر کرد. این دفعه هر مرحله رو که میخوایم انجام بدیم سکه بندازیم مثلا، اگر شیر اومد سر مثلث رو به بالا باشه و اگر خط اومد سر مثلث رو به پایین. با این کار (که هر مرحله مطابق با یک قاعده‌ی تصادفی ما فرکتال رو میسازیم) در نهایت به یک فرکتال غیر ابتدایی می‌رسیم که دیگه واقعا ساده نیست، اسم این فرکتال، فرکتال تصادفیه!

نمونه‌هایی از برف‌دانه‌ی تصادفی کخ
       نمونه‌هایی از برف‌دانه‌ی تصادفی کخ

فرکتال های تصادفی بیشتر به شکل‌هایی که توی طبیعت هستند نزدیکند تا فرکتال‌های غیر تصادفی. ولی خب یک سری پیچیدگی ها به این دسته از فرکتال‌ها به خاطر تصادفی بودنشون اضافه میشه که بررسی کامل اونها از حوصله شما و سواد من احتمالا خارجه و نیاز به نظریه‌های پیشرفته احتمالات داره. با این وجود فقط به چند نکته درباره‌ی این دسته از فرکتال‌ها اشاره می‌کنم؛

اول اینکه این‌دسته از فرکتال ها دیگه دقیقا خودمتشابه و قطعه های کوچیک‌تر دقیقا مثل کل شکل نیستند! با این وجود شباهت زیادی هنوز وجود داره. به همین خاطر میگند فرکتال‌های تصادفی، به طور آماری خودمتشابه هستند. حقیقت هم اینه که واقعا طبیعت رو باید آماری بررسی کرد، خوشبختانه یا متاسفانه!

از طرف دیگه به خاطر اینکه فرکتال‌های تصادفی به طور آماری خودمتشابه هستند دیگه محاسبه‌ی بعد (ناهمواری) برای این دسته از فرکتال‌ها به این راحتی ها نیست! بعد یک فرکتال غیر تصادفی با بعد همون فرکتال ولی با ساختار تصادفی ممکنه برابر یا نابرابر باشه.

مثلا برف‌دانه‌ی کخ و برف‌دانه‌ی تصادفی کخ هر دو داری بعد log۴/log۳ = ۱/۲۶ هستند ولی لزوما در مورد بقیه فرکتال‌ها این برابری وجود نداره!

نکته: فرکتال‌های غیرمعمولی تصادفی نیستد!

درسته که فرکتال‌های تصادفی شکل عجیب و غریبی دارند ولی هر فرکتالی که شکلش برای ما عجیب به نظر برسه لزوما تصادفی نیست؛ ممکنه با یک قاعده‌ی منظمی ساخته شده باشه که به نظر ما تصادفی برسه! کافیه که شکل sir irregularتقارن خوبی نداشته باشه یا اینکه قاعده‌ی ساختش یکمی پیچیده باشه اون موقع به راحتی میشه گول خورد! پس مواظب باشید که گول ظاهر فرکتال‌ها رو نخورید 😀 مثلث و فرش سیرپینسیکی می‌تونند با یک شکل غیرعادی ظاهر بشند، درصورتی که با یک قاعده‌ی کلی ساخته شدند. هر چند که این‌ها تقارن خوبی ندارند ولی تصادفی نیستند!

 

 

بازی آشوب:

fhvdفرض کنید یک مثلث با رئوس A , B , C داریم. یک نقطه‌ی دلخواه داخل این مثلث انتخاب می‌کنیم و اسمش رو میذاریم نقطه‌ی 0. بعد تاس می‌ریزیم و بسته به این که عددی که اومدی چنده به طرف یکی از رئوس حرکت میکنیم، جوری که مثلا اگر عدد ۱ یا۲  اومد به سمت راس A، اگر عدد ۳ یا ۴ اومد به سمت راس B و اگر ۵ یا ۶ اومد به طرف راس C حرکت می‌کنیم. فرض کنید که عدد تاس ۲ هست، پس به طرف راس A حرکت می‌کنیم و  بین نقطه‌ی 0 و راس A نقطه‌ی 1 رو مشخص می‌کنیم. (خط واصل نقطه‌ی 0 و راس A رو رسم می‌کنیم و وسط این پاره خط رو 1 نام گذاری می‌کنیم.) مجددا تاس می‌ریزیم و بسته به این که چه عددی بیاد دوباره مثل قسمت قبل به سمت راس مطلوب می‌ریم و بین اون راس و نقطه‌ی 1 رو 2 نام گذاری می‌کنیم. برای مثال اگر توی این مرحله عدد تاس ۵ باشه باید نقطه‌ی 1 رو به راس C وصل کنیم و وسط این پاره خط رو 2 نام گذاری کنیم. اگراین کار رو همین جوری ادامه بدیم نقاط مختلفی داخل مثلث ایجاد میشه که فعلا به ظاهر چیز به دردبخوری نیستند! ولی اگر این کار رو ۱۰۰ بار یا ۱۰۰۰ بار یا ۱۰۰۰۰۰ بار انجام بدیم به یک شکل آشنا میرسیم، به شکل نگاه کنید:

شکل حاصل پس از ۱۰۰ بار یا ۱۰۰۰ بار یا ۱۰۰۰۰۰ بار (چپ به راست)
شکل حاصل پس از  ۱۰۰۰۰۰بار                                      پس از  ۱۰۰۰ بار                                                        پس از ۱۰۰ بار

خب این فوق‌العاده جالبه! ما با استفاده از یک فرایند کاملا تصادفی (شانسی) به یک چیز کاملا مشخص رسیدیم! این برای شما عجیب نیست؟ ما کاملا الله بختکی تاس ریختیم و نقطه گذاشتیم و رسیدیم به مثلث سیرپینسکی! بازی آشوب اثبات تحلیلی خوبی داره که به نظرم گفتنش اینجا ممکنه حوصله‌تونو سر ببره!

 

بازی آشوب به ما نشون داد که یک سیستم دینامیکی تصادفی می‌تونه منجر به نتایج مشخصی بشه و به عبارت دیگه از دل یک فرایند کاملا نامنظم، نظم به وجود میاد! نکته‌ی قابل توجه اینه که اگر ما شانس (تاس ریختن و انتخاب تصادفی هر راس) رو کنار بذاریم و از یک فرایند مشخص استفاده کنیم، مثلا ABCABCABC…اون موقع دیگه به مثلث سیرپینسکی نمی‌رسیم! چیزی که خیلی جالب‌تره اینه که هرشکلی (چه فرکتالی چه غیرفرکتالی) رو میشه به کمک یک بازی آشوب یا یک بازی آشوب تعمیم یافته ساخت!

تبدیل آفین
تبدیل آفین – حافظ توازی خطوط

توی بازی آشوب تعمیم یافته از تبدیلات آفین استفاده میشه. (تبدیلات آفین تبدیلاتی هستند که خطوط موازی هر شکل رو پس از تبدیل موازی نگه می‌دارند). هر حرکت توی بازی آشوب تعمیم یافته یک تبدیل آفینه و شما به کمک این بازی می‌تونید هر شکلی رو که دوست دارید بسازید! به همین سادگی، به همین خوشمزگی! مثلا با یک بازی آشوب تعیمیم یافته با و استفاده از چهارتا تبدیل آفین میشه یک سرخس ساخت!

این پست رو با اشاره به یک قضیه‌ به پایان می‌برم؛

قضیه‌ی کلاژ: «برای هر شکلی با هر هندسه‌ای می‌توان یک بازی آشوب ساخت که آن شکل را تولید کند.».

این قضیه (و بازی آشوب) پل بین بی‌نظمی و نظم هست. شما از هرج و مرج به نظم و از نظم می‌تونید به هرج و مرج برسید! از کاربردای دیگه‌ی این قضیه فشرده سازی تصاویره. فرض کنید که شما یک فایل تصویری حجیم رو می‌خوایید که برای کسی ایمیل کنید و اینترنت خوبی ندارید یا اینکه می‌خوایید از یک شبکه‌ی ضعیف ردش کنید؛ کافیه به جای تصویر، با استفاده از قضیه کلاژ، بازی آشوبی که اون رو تولید میکنه (چند خط کد که کامیپوتر براتون میسازه) بفرستید و شخصی که این بازی رو دریافت میکنه با اجرا کردنش می‌تونه به تصویر مطلوب برسه!

پیشنهاد میکنم فیلم «آشوب (۲۰۰۶)» رو ببینید! فیلم علمی نیست ولی توش در مورد بی‌نظمی و اینا حرف زده می‌شه که ممکنه براتون جالب باشه! به نقل از ویکی پدیا: «داستان درباره‌ی یک گروه سارق مسلح است که به بانکی حمله کرده و از حساب فردی سرقت می‌کنند. پلیسانی که به دنبال این افراد هستند عبارتند از یک مامور ابقا شده (زیرا سارقان بانک فقط چنین بازرس معلق شده‌ای را قبول دارند، با بازی جیسون استاتهام) و دستیارش که فرزند یک پلیس اسطوره‌ای است. دستیار متوجه می شود که سارقان به طور رمزی از نظریه آشوب حرف می‌زنند و با دقت بیشتری تمام مدارک را بررسی می‌کند تا به این نتیجه می‌رسد که باید به دنبال چه افراد سابق‌داری برود. او متوجه می‌شود هدف آنها سرقت یک میلیارد دلار پول بوده که از طریق ویروس‌های کامپیوتری دزدی شده است …»