Gra w chaos i sekwencje DNA



Podobne dokumenty
FRAKTALE I SAMOPODOBIEŃSTWO

samopodobnym nieskończenie subtelny

Obrazy rekurencyjne. Zastosowanie rekurencji w algorytmice. AUTOR: Martin Śniegoń

FRAKTALE. nie tworzą się z przypadku. Są tworzone naturalnie przez otaczającą nas przyrodę, bądź za pomocą

Zbiór Cantora. Diabelskie schody.

Zadania domowe. Ćwiczenie 2. Rysowanie obiektów 2-D przy pomocy tworów pierwotnych biblioteki graficznej OpenGL

Fraktale. i Rachunek Prawdopodobieństwa

Podręcznik. Przykład 1: Wyborcy

Systemy Lindenmayera (L-systemy)

Sierpiński Carpet Project. W ZSTiL Zespół Szkół Technicznych i Licealnych

Plan prezentacji. Cechy charakterystyczne fraktali Zastosowanie fraktali Wymiar fraktalny D. Iteracyjny system funkcji (IFS)

Fraktale deterministyczne i stochastyczne. Katarzyna Weron Katedra Fizyki Teoretycznej

INTERAKTYWNA KOMUNIKACJA WIZUALNA. Systemy Lindenmayera (L-systemy)

Modele i symulacje - Scratch i Excel

Efekt motyla i dziwne atraktory

Projekt współfinansowany przez Unię Europejską ze środków Europejskiego Funduszu Społecznego

MODELOWANIE RZECZYWISTOŚCI

Pracę wykonali: -Bryjak Mateusz -Chudziak Paweł -Palacz Angelika -Skorwider Dariusz

Równania miłości. autor: Tomasz Grębski

Rachunek prawdopodobieństwa- wykład 2

Krzywa uniwersalna Sierpińskiego

Struktury fraktalne jako źródło inspiracji w kształtowaniu formy architektonicznej

Fraktale. Jerzy Pogonowski. Funkcje rekurencyjne. Zakład Logiki Stosowanej UAM

Prawdopodobieństwo geometryczne

Metody numeryczne w przykładach

raktale są wśród nas Zuzanna Cyunel klasa 5 Szkoła Podstawowa nr 95 ul. Wileńska Kraków Kraków 2012

TEORETYCZNE PODSTAWY INFORMATYKI

Fraktale wokół nas. Leszek Rudak Uniwersytet Warszawski. informatyka +

Algorytmy sztucznej inteligencji

Symulacje komputerowe w fizyce Fraktale

Dlaczego nie wystarczają liczby wymierne

która metoda jest najlepsza

Złożoność wokół nas. Część pierwsza: gra w chaos

Voter model on Sierpiński fractals Model głosujący na fraktalach Sierpińskiego

Modelowanie wybranych pojęć matematycznych. semestr letni, 2016/2017 Wykład 10 Własności funkcji cd.

TWIERDZENIE TALESA W PRZESTRZENI

Filip Piękniewski 10:50:29 1 /56. Fraktale i Chaos Filip Piękniewski 2004

Wstęp do Techniki Cyfrowej... Teoria automatów

Scenariusz lekcji opartej na programie Program nauczania informatyki w gimnazjum DKW /99

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Heurystyki. Strategie poszukiwań

Ćwiczenia nr 7. TEMATYKA: Krzywe Bézier a

Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych

Algebra WYKŁAD 3 ALGEBRA 1

Symetrie w architekturze, przyrodzie i sztuce

Obliczenia inspirowane Naturą

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku

Teoretyczne podstawy informatyki

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Weronika Łabaj. Geometria Bolyaia-Łobaczewskiego

Grafika komputerowa. Dla DSI II

Spacery losowe generowanie realizacji procesu losowego

Wokół Problemu Steinhausa z teorii liczb

Uniwersytet Kazimierza Wielkiego w Bydgoszczy Zespół Szkół nr 5 Mistrzostwa Sportowego XV Liceum Ogólnokształcące w Bydgoszczy

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

Wyszukiwanie binarne

Modelowanie krzywych i powierzchni

Algorytm genetyczny (genetic algorithm)-

Streszczenie Komputery do przechowywania rysunków, zdjęć i innych obrazów używają tylko liczb. Te zajęcia mają ukazać w jaki sposób to robią.

Fraktale w matematyce

MODELOWANIE RZECZYWISTOŚCI

Złożoność informacyjna Kołmogorowa. Paweł Parys

Mathematica jako narz dzie badawcze Cz ± pi ta. Fraktale

Symulacje komputerowe w fizyce Fraktale

Zbiory, relacje i funkcje

Całkowanie numeryczne

Temat 1: Pojęcie gry, gry macierzowe: dominacje i punkty siodłowe

Grafika Komputerowa Materiały Laboratoryjne

Wykład 4: Fraktale deterministyczne i stochastyczne

START. Wprowadź (v, t) S:=v*t. Wyprowadź (S) KONIEC

Wykorzystanie programu C.a.R na lekcjach matematyki

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

Przedmiotowy system oceniania

w jednym kwadrat ziemia powietrze równoboczny pięciobok

Uniwersyteckie Koło Matematyczne - Tajemnicza liczba e.

Rys.1. Obraz Pollocka. Eyes heat.

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D

Teoria Chaosu. Proste modele ze złożonym zachowaniem: o teorii chaosu w ekologii.

MATEMATYKA WYMAGANIA EDUKACYJNE DLA KLASY IV

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

Rozdział 4. Macierze szyfrujące. 4.1 Algebra liniowa modulo 26

Wymagania na egzamin poprawkowy z matematyki dla klasy I C LO (Rok szkolny 2015/16) Wykaz zakładanych osiągnięć ucznia klasy I liceum

Informatyka. Michał Rad

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Metody numeryczne. materiały do wykładu dla studentów. 7. Całkowanie numeryczne

GRAFIKA INŻYNIERSKA POLITECHNIKA ŚLĄSKA WYDZIAŁ ELEKTRYCZNY KATEDRA MECHATRONIKI. Instrukcja do ćwiczenia laboratoryjnego.

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY III

Szukanie rozwiązań funkcji uwikłanych (równań nieliniowych)

Wojewódzki Konkurs Matematyczny dla uczniów gimnazjów. Etap Szkolny 23 listopada 2017 Czas 90 minut

Instrukcje dla zawodników

AiSD zadanie trzecie

Zajęcia nr. 3 notatki

Modele i symulacje - Scratch i Excel

17. Naprzemienne odejmowanie

MATEMATYKA WYMAGANIA EDUKACYJNE DLA KLASY V

Indukcja matematyczna. Zasada minimum. Zastosowania.

1,5 1,5. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI 1. Analiza matematyczna M1 2. Wstęp do logiki i teorii mnogości

Algorytm. Krótka historia algorytmów

Zapisywanie algorytmów w języku programowania

Transkrypt:

Jest to tekst związany z odczytem wygłoszonym na XLIX Szkole Matematyki Poglądowej, Wyjątki, Nadarzyn, sierpień 2012. Gra w chaos i sekwencje DNA Magdalena NOWAK, Kielce Nasza opowieść rozgrywa się w krainie fraktali. Obiekty te stosunkowo niedawno (lata 80-te) znalazły swoje miejsce w matematycznym świecie, choć zaliczają się do nich, pochodzące z przełomu XIX-XX wieku, zbiór Cantora, krzywe Peano i Hilberta oraz krzywa i płatek Kocha. Twory te były krytykowane przez ówczesnych naukowców i traktowane jako dziwolągi matematyczne. Dopiero zaliczenie ich do fraktali, nadało im nowe znaczenie. Geometria fraktalna znalazła bowiem szerokie zastosowanie w takich dziedzinach jak ekonomia, meteorologia, medycyna, grafika komputerowa, astronomia i w wielu innych. Rys. 1. Trójkąt Sierpińskiego Czym właściwie są fraktale? To zabawne, ale jak dotąd, nie ma dla nich precyzyjnej matematycznej definicji. Ze względu na ogromną różnorodność fraktali trudno znaleźć dla nich ścisłe matematyczne ramy. Jednak rozpoznajemy je intuicyjnie i potrafimy wskazać kilka cech występujących u większości z nich. Pierwszą własnością fraktali jest nieregularny kształt oraz struktura, która nie da się zapisać za pomocą klasycznej geometrii. Ponadto, powiększając fraktala można odkryć w jego skomplikowanej budowie coraz to nowe szczegóły. Mimo to obiekty fraktalne powstają zazwyczaj w wyniku prostych, często rekurencyjnych wzorów. Kolejną ich cechą jest wymiar fraktalny, który często przyjmuje wartości ułamkowe. Wreszcie duża część fraktali charakteryzuje się samopodobieństwem. To właśnie na tej własności skupimy się najbardziej. 1. Samopodobne (s)twory Obiekty samopodobne to takie, w których każdy fragment podobny jest do całości. Najłatwiej dostrzec tę cechę w trójkącie Sierpińskiego kolejnym klasycznym przykładzie fraktala (rys. 1). Samopodobieństwo jest zazwyczaj wynikiem rekurencyjnej konstrukcji. W przypadku trójkąta Sierpińskiego zaczyna się ona od trójkąta równobocznego i wygląda następująco: każdy trójkąt dzielimy na cztery, łącząc środki jego boków i wycinamy środkową część otrzymujemy trzy mniejsze trójkąty, z którymi postępujemy tak samo, w nieskończoność. Rys. 2. Rekurencyjna konstrukcja trójkąta Sierpińskiego Własność samopodobieństwa obserwujemy bardzo często w przyrodzie, np. budowa drzewa, chmur, błyskawic, rozlewiska rzek czy struktura układu krwionośnego. Fraktalna struktura obiektów natury wynika bowiem z rekurencyjnych zasad, jakie nimi rządzą: z jednej gałęzi wyrasta kilka następnych; duża rzeka rozgałęzia się na parę mniejszych, itd. Rys. 3. Fraktalna struktura drzewa Ta prawidłowość stała się powodem licznych zastosowań teorii fraktali. Dzięki nim możemy bowiem łatwo modelować strukturę roślin, galaktyk, pęknięć, wyładowań elektrycznych, układu krwionośnego czy oddechowego. Prawa samopodobieństwa działają również w ekonomii, meteorologii oraz sejsmologii. Dodatkową zaletą jest też to, że obiekty fraktalne można łatwo generować za pomocą komputerów. W jaki sposób? 11

2. Jak to narysować? Jednym z najprostszych metod uzyskiwania struktur samopodobnych jest użycie iterowanych układów funkcyjnych (w skrócie IFS - Iterated Function System). Wystarczy wziąć skończoną liczbę funkcji zwężających (ich stała Lipshitza jest mniejsza niż 1), np. afinicznych, i przekształcać dowolny obraz każdą z tych funkcji. Po nieskończonej liczbie kroków (w przypadku komputerów po skończonej) otrzymamy samopodobny fraktal zwany atraktorem IFS. Rys. 4. Trójkąt Sierpińskego jako atraktor IFS {f1, f2, f3 }. Przyjrzyjmy się temu na przykładzie trójkąta Sierpińskiego. Do zbudowania tej struktury na płaszczyźnie wystarczy wziąć IFS składający się z trzech funkcji afinicznych fi (x) = x2 + ai gdzie i = 1, 2, 3 oraz a1 = (0, 0), a2 = ( 21, 0) i a3 = ( 41, 12 ). Każde z tych przekształceń dwukrotnie zmniejsza obiekty płaszczyzny i umieszcza je w jednym z trzech wierzchołków trójkąta równobocznego. Trójkąt Sierpińskiego T spełnia formułę T = f1 (T ) f2 (T ) f3 (T ), co znaczy, że jest on atraktorem dla iterowanego układu funkcyjnego {f1, f2, f3 }. Powyższą zależność możemy dostrzec wyraźniej na rysunku 4, gdzie funkcje f1, f2, f3 przekształcają duży prostokąt na małe. Widać, że trójkąt Sierpińskiego zbudowany jest z trzech mniejszych kopii samego siebie. W podobny sposób możemy zapisać wiele innych fraktali, np. krzywą Kocha (rys. 5), zbiór Cantora czy dywan Sierpińskiego. Rys. 5. Krzywa Kocha jako atraktor IFS {f1, f2, f3, f4 }. Teraz możemy popatrzeć na konstrukcję trójkąta Sierpińskiego (rys. 2) z nowej perspektywy. Zamiast wycinać środkowe części trójkątów, będziemy w kolejnych krokach przekształcać cały obrazek przez każdą z trzech funkcji z IFS, a następnie składać nowy obrazek z otrzymanych w ten sposób figur. Innymi słowy, na każdym etapie konstrukcji zmniejszamy dwukrotnie całą strukturę i umieszczamy jej kopie w trzech wierzchołkach trójkąta. Co ciekawe, obrazek od którego zaczniemy naszą procedurę, nie musi być wcale trójkątem. I tak po kilku pierwszych iteracjach zostanie on zmniejszony do wielkości piksela. Na rysunku 6 pokazane są warianty tej konstrukcji, rozpoczynające się od innych figur. Jak to się dzieje, że stosując iteracje danych funkcji zawsze otrzymujemy ten sam zbiór, niezależnie od obrazu początkowego? Wynika to ze słynnego twierdzenia Banacha o punkcie stałym. Dla danego iterowanego układu funkcyjnego F = {f1,..., fk } w przestrzeni R2 istnieje bowiem dokładnie jeden jego atraktor A = f1 (A)... fk (A) = F (A) (odpowiednik jedynego punktu stałego dla funkcji zwężającej). Co więcej, dla dowolnego zbioru B na płaszczyźnie, ciąg iteracji F n (B) zmierza do atraktora A. Dlatego po odpowiednio długim przekształcaniu obrazu, otrzymujemy wreszcie pożądany fraktal. Rys. 6. Iteracyjna konstrukcja trójkąta Sierpińskiego. (a), (e) pierwsza iteracja; (b), (f) druga iteracja; (g) trzecia iteracja; (c) piąta iteracja; (h) szósta iteracja; (d), (i) dziesiąta iteracja (rysunek pochodzi z pracy T.Tan, H.Yan, Object recognition based on fractal neighbor distance). 12

Iterowane układy funkcyjne są więc swoistym przepisem na fraktal. Jeżeli poznaliśmy algorytm iterowania obrazu, możemy już generować atraktory dla dowolnych IFSów. Zatem do odtworzenia w dowolnej skali skomplikowanej struktury trójkąta Sierpińskiego, potrzebne nam jest jedynie kilka parametrów tworzących go funkcji. Jest to ogromna kompresja danych, przy zachowaniu wszystkich szczegółów obrazu. 3. Gra w chaos, czyli jak to narysować w praktyce Niestety, podany powyżej algorytm rysowania atraktorów IFS nie jest pozbawiony wad. Odtwarzanie obrazów fraktalnych w ten sposób, wymaga bowiem od komputera ogromnego nakładu pamięciowego. Nawet, gdy zaczniemy nasze iteracje od punktu, to z każdym krokiem, z jednego punktu powstają trzy nowe. Położenie punktów powstających na każdym etapie konstrukcji, musi zostać zapisane, aby mogło być użyte do następnego etapu. Złożoność pamięciowa takiego algorytmu jest więc wykładnicza (3 n ), co niestety go dyskwalifikuje. Rys. 7. Trójkąt Sierpińskiego powstający podczas gry w chaos Opracowano zatem inny algorytm, który na pierwszy rzut oka zdaje się działać chaotycznie, ale w praktyce generuje obrazy fraktalne na komputerze i wymaga bardzo mało pamięci. Zapewne od owego pierwszego wrażenia został on nazwany grą w chaos. Idea jego działania jest również rekurencyjna i polega na tym, że w każdym kroku konstrukcji losujemy jedną funkcję z danego IFS i przekształcamy nasz obraz tylko przez tę wylosowaną funkcję. W kolejnych etapach dokonujemy ponownego losowania, itd. Wydaje się, że postępując w tak losowy sposób, rzadko kiedy otrzymamy pożądany obrazek atraktora. W rzeczywistości jednak struktura fraktala pojawi się zawsze, niezależnie od jakiego punktu płaszczyzny rozpoczniemy konstrukcję! Dowiedziono matematycznie, że kolejne piksele rysowane za pomocą gry w chaos dla danego IFS, przybliżają się co raz bardziej do jego atraktora. Otrzymany w ten sposób komputerowy obrazek może zatem przypominać fraktal z dokładnością piksela. Gra w chaos jest więc powszechnie używanym algorytmem do generowania obrazów atraktorów iterowanych układów funkcyjnych. 4. Gra w chaos na usługach biologii Za pomocą gry w chaos możemy prosto generować fraktalne obrazy atraktorów IFS, wykorzystując przy tym niewiele pamięci komputera. Mechanizm ten ma też inne ciekawe zastosowania używany jest do analizy długich ciągów symboli, np. sekwencji DNA. Metodę analizy genomu za pomocą gry w chaos nazwano: Chaos Game Reprezentation, w skrócie: CGR. Rys. 8. Przestrzeń CGR Nasz kod genetyczny zbudowany jest z zasad nukleotydowych oznaczonych literami A, T, G oraz C. Każdemu z tych symboli przyporządkowujemy odwzorowanie afiniczne przekształcające kwadrat jednostkowy [0, 1] 2 na dwukrotnie mniejszy, umieszczony w jednym z jego rogów (rys. 8). W ten sposób tworzymy iterowany system funkcyjny {f A, f T, f G, f C }. Następnie rozpoczynamy czytanie sekwencji DNA, która jest niejako instrukcją do poprowadzenia gry w chaos. Rozpoczynamy od punktu x 0 na środku kwadratu jednostkowego. W kolejnych krokach zamiast losować przekształcenia, jak w oryginalnej grze w chaos, wybieramy je zgodnie z zapisem nukleotydów w badanym genomie. W n-tym kroku rysujemy punkt x n = f S (x n 1 ), gdzie S jest n-tym symbolem w analizowanej sekwencji DNA. W ten sposób w kwadracie jednostkowym pojawiają się punkty, które niosą ze sobą konkretną informację o genomie, bowiem liczba punktów znajdująca się w części przypisanej do danego symbolu, świadczy o liczbie powtórzeń tego symbolu w kodzie. Za każdym razem, gdy odczytamy w sekwencji DNA na przykład symbol T, zastosujemy funkcję f T dla wyliczenia następnego punktu gry w chaos. Punkt ten musi zatem wylądować w kwadracie f T ([0, 1] 2 ) przypisanym do symbolu T. 13

Widać, że licząc punkty w kwadratach, otrzymujemy liczbę powtórzeń danych symboli. Można jednak badać w ten sposób powtórzenia całych sekwencji, złożonych z kilku nukleotydów. Wystarczy dwukrotnie zagęścić podział naszego kwadratu, aby badać liczbę 2-nukleotydowych sekwencji w genomie (rys. 10). Zagęszczając ponownie, otrzymamy podział na kwadraty, z których każdy odpowiada za występowanie trójek nukleotydowych, itd. Jeżeli chcemy uzyskać informację o częstości występowania k-elementowych sekwencji w genomie, musimy podzielić kwadrat jednostkowy na kratę o wymiarach 2 k 2 k. Zliczając punkty w każdym małym kwadracie, otrzymamy liczbę odpowiednich k-nukleotydowych ciągów. W ten sposób możemy znaleźć najczęściej występujące sekwencje w genomie. Możemy również (za pomocą odpowiedniej metryki) porównywać otrzymane zestawy danych i w ten sposób oceniać podobieństwo genetyczne organizmów. Rys. 9. Podział CGR dla ciągów 2-elementowych Metoda CGR jest znana i stosowana już od ponad 20 lat. Jej zaletą jest możliwość przedstawienia, na niewielkim rysunku, bardzo długich ciągów symboli. Dzięki temu już na pierwszy rzut oka możemy je porównywać oraz znajdować w nich powtarzalne wzory. Rys. 10. Reprezentacja CGR dla genomów kolejno człowieka, ptaka, ryby oraz grzyba, pszczoły i muszki owocowej. 14

Ostatnią rzeczą wymagającą wyjaśnienia jest powód, dlaczego rysunki powstające za pomocą CGR w ogóle różnią się od siebie. Stosujemy przecież wciąż ten sam iterowany układ funkcyjny {f A, f T, f G, f C }, którego jedynym atraktorem jest kwadrat jednostkowy. Czasem, przy badaniu bardzo długich i zróżnicowanych ciągów symboli, otrzymamy właśnie taki kwadrat zamiast fraktalnego obrazka. Tak dzieje się w klasycznej grze w chaos, gdzie rysowanie kolejnych punktów możemy prowadzić dowolnie długo, a losowanie zapewnia nam pojawienie się każdej sekwencji symboli nieskończenie wiele razy. Zapis genomu nie zawsze jest tak zróżnicowany. Niektóre dłuższe sekwencje nie pojawiają się wcale, natomiast inne powtarzają się wiele razy. Dlatego właśnie na rysunku CGR znajdują się białe plamy, a w innych miejscach widzimy zagęszczenie punktów. To właśnie te zagęszczenia i wzory wskazują nam na powtarzające się sekwencje nukleotydów, które są dla biologów bardzo ważne. Często decydują one o ekspresji genów, czyli o tym w jakim stopniu ujawni się w organizmie dana cecha genetyczna (np. choroba). Tak oto matematyka królowa nauk, znów daje innym dziedzinom narzędzia rozwoju oraz zachwyca pięknem geometrii fraktalnej, której wytwory z powodzeniem mogą być nazwane sztuką. 15