Symulacje komputerowe

Podobne dokumenty
Modelowanie wieloskalowe. Automaty Komórkowe - podstawy

MODELOWANIE RZECZYWISTOŚCI

Obliczenia inspirowane Naturą

Podręcznik. Model czy teoria

Układy dynamiczne Chaos deterministyczny

Automaty komórkowe. Katarzyna Sznajd-Weron

Turing i jego maszyny

Modelowanie wieloskalowe. Automaty Komórkowe - podstawy

Modelowanie systemów biomedycznych

Powstanie gry Opis reguł gry Reguły według Conwaya Elementy występujące w grze Modyfikacje gry Charakterystyka automatu komórkowego Gra w Życie

Ruch drogowy, korki uliczne - czy fizyk może coś na to poradzić?

Obliczenia inspirowane Naturą

AUTOMATY KOMÓRKOWE. Symulacje komputerowe (11) Sławomir Kulesza

MODELOWANIE RZECZYWISTOŚCI

W dowolnym kwadracie 3x3 ustawiamy komórki na palące się (stan 3). Program powinien pokazywać ewolucję pożaru lasu.

Matematyczne Podstawy Informatyki

Algorytmy sztucznej inteligencji

MODELOWANIE RZECZYWISTOŚCI

MODELOWANIE RZECZYWISTOŚCI

MODELOWANIE RZECZYWISTOŚCI

Ruchome Piaski v1.0. Maciej Matyka

Elementy Teorii Obliczeń

Maszyna Turinga języki

Alan M. TURING. Matematyk u progu współczesnej informatyki

MODELOWANIE RZECZYWISTOŚCI

Podstawy OpenCL część 2

Elementy modelowania matematycznego

ŻYCIE I EWOLUCJA. w komputerze. czwartek, 23 maja 13

PROBLEMY NIEROZSTRZYGALNE

MODELOWANIE RZECZYWISTOŚCI

Maszyna Turinga (Algorytmy Część III)

Obliczenia inspirowane Naturą

Złożoność obliczeniowa zadania, zestaw 2

II. Równania autonomiczne. 1. Podstawowe pojęcia.

TEORIA CHAOSU. Autorzy: Szymon Sapkowski, Karolina Seweryn, Olaf Skrabacz, Kinga Szarkowska

Rozważmy nieustalony, adiabatyczny, jednowymiarowy ruch gazu nielepkiego i nieprzewodzącego ciepła. Mamy następujące równania rządzące tym ruchem:

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Matematyczna wieża Babel. 4. Ograniczone maszyny Turinga o językach kontekstowych materiały do ćwiczeń

Mateusz Żyliński Tadeusz Włodarkiewicz. WireWorld. Zebranie informacji dotyczących tematyki projektu oraz przedstawienie koncepcji realizacji projektu

Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu

Egzamin maturalny z informatyki Poziom rozszerzony

Ćwiczenia z przetwarzania tablic 2D

Informatyka. Michał Rad

Tworzenie gier na urządzenia mobilne

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Podręcznik. Przykład 1: Wyborcy

oności. Zastosowanie modelowania Agent-based Computational Economics w nauczaniu zdalnym

LIVE Gra w życie. LIVE w JavaScript krok po kroku. ANIMACJA Rozpoczynamy od podstawowego schematu stosowanego w animacji

Metody symulacji komputerowych Modelowanie systemów technicznych

Odmiany maszyny Turinga. dr hab. inż. Joanna Józefowska, prof. PP 1

Podstawy Sztucznej Inteligencji (PSZT)

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

RODZAJE I TYPY INŻYNIERII SYSTEMÓW

O ALGORYTMACH I MASZYNACH TURINGA

Procesy Markowa zawdzięczają swoją nazwę ich twórcy Andriejowi Markowowi, który po raz pierwszy opisał problem w 1906 roku.

Algorytmy przeszukiwania wzorca

Hierarchia Chomsky ego Maszyna Turinga

Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy. Obowiązkowy Polski VI semestr zimowy

M T E O T D O ZI Z E E A LG L O G R O Y R TM

sprowadza się od razu kilka stron!

Języki, automaty i obliczenia

Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) podstawowy (podstawowy / kierunkowy / inny HES)

Matematyczne Podstawy Informatyki

UKŁADY MIKROPROGRAMOWALNE

MODELOWANIE RZECZYWISTOŚCI

E-E-A-1008-s5 Komputerowa Symulacja Układów Nazwa modułu. Dynamicznych. Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}

Podstawowe moduły układów cyfrowych układy sekwencyjne cz.2 Projektowanie automatów. Rafał Walkowiak Wersja /2015

INSTRUKCJA DO ĆWICZENIA NR 7

Obliczenia inspirowane Naturą

Umysł Komputer Świat TEX output: :17 strona: 1

Efektywność Procedur Obliczeniowych. wykład 5

Jaki język zrozumie automat?

TABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych.

Scenariusz lekcji Ozobot w klasie: Spacer losowy po układzie współrzędnych

Chaos w układach dynamicznych: miary i kryteria chaosu

MODELOWANIE RZECZYWISTOŚCI

Kierunek: Automatyka i Robotyka Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne. laboratoryjne projektowe.

Definicja 2. Twierdzenie 1. Definicja 3

Imię, nazwisko, nr indeksu

lekcja 8a Gry komputerowe MasterMind

Spostrzeganie jako proces kategoryzacji percepcyjnej.

Proces Poissona. Proces {N(t), t 0} nazywamy procesem zliczającym jeśli N(t) oznacza całkowitą liczbę badanych zdarzeń zaobserwowanych do chwili t.

Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Informacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia

Modelowanie i Animacja

Wprowadzenie do środowiska MATLAB z zastosowaniami w modelowaniu i analizie danych

Generowanie i optymalizacja harmonogramu za pomoca

III. Układy liniowe równań różniczkowych. 1. Pojęcie stabilności rozwiązań.

Podręcznik. Wzór Shannona

Teoretyczne podstawy informatyki

Studia podyplomowe: Nauczanie biologii w gimnazjach i szkołach ponadgimnazjalnych

1. Tabela odniesień efektów kierunkowych do efektów obszarowych. bezpieczeństwo i higiena pracy studia pierwszego stopnia

Obliczenia inspirowane Naturą

MATLAB Z3. Rafał Woźniak. Warsaw, Faculty of Economic Sciences, University of Warsaw

Metody numeryczne w przykładach

Transkrypt:

Fizyka w modelowaniu i symulacjach komputerowych Jacek Matulewski (e-mail: jacek@fizyka.umk.pl) http://www.fizyka.umk.pl/~jacek/dydaktyka/modsym/ Symulacje komputerowe Automaty komórkowe Wersja: 6 maja 2010

Plan 1. Gra w życie 2. Automaty komórkowe 3. Paradygmat systemowy 4. Automaty komórkowe a fizyka 5. Dodatek: Maszyna Turinga

Gra w życie Najbardziej znany automat komórkowy wymyślony w 1970 przez Johna Conwaya Dwuwymiarowa nieskończona plansza (każda komórka ma ośmiu sąsiadów) z dwustanowymi polami (martwa lub żywa) Reguły (zmiana stanu pola zależy od ilości jej sąsiadów): 1. W martwym polu rodzi się żywa komórka, jeżeli ma dokładnie trzech żywych sąsiadów 2. Warunkiem pozostania przy życiu jest posiadanie dwóch lub trzech żywych sąsiadów; w przeciwnym przypadku umiera z samotności lub zatłoczenia

Gra w życie Do pokazów będę używał implementacji Iwony Białynickiej-Biruli z książki Modelowanie rzeczywistości napisanej przez Iwo Białynickiego-Birulę (WNT, 2007) Starsza wersja dostępna na WWW: http://www.wiw.pl/modelowanie/conway.asp

Gra w życie Analiza reguł na przykładzie stanu złożonego z 3 pól (określamy ilość sąsiadów) W efekcie powstaje układ oscylujący między dwoma stanami (okres = 2):

Gra w życie Stany stałe (stabilne, niezmienne) blok koniczynka staw kryształ łódź bochenek Oscylatory blinker (2) żabka (2) fontanna (15) krokodyl (16)

Gra w życie Rozwój układu może kończyć się stanem stałym, oscylatorem lub śmiercią kolonii wszystkie te stany ewoluują do takiego samego oscylatora złożonego z czterech blinkerów nieuchronna śmierć kolonii ewolucja tych stanów kończy się kryształem

Gra w życie Przykład dłuższej ewolucji z oscylatorem na końcu (Delta 02/1977) Przykład ewolucji do stałego stanu (fabryka bloków, żniwa = harvest)

Gra w życie Generowanie stałego układu obejmującego całą powierzchnię

Gra w życie Układy oscylujące z przesunięciem (statki) Szybowiec (glider) Dakota Inne układy: szalupa, fabryki szybowców (działa), big ship, puffery, R-Pentomino

Gra w życie Stan komórki jest deterministyczny: jednoznacznie zależy od ilości jej sąsiadów (nie zależy od ich ułożenia) Jednak ewolucja w tym automacie nie jest odwracalna tzn. wiele stanów może prowadzić do tego samego końca (zob. oscylatory) Istnieją również stany, których nie można uzyskać w efekcie ewolucji żadnego możliwego stanu początkowego (tzw. rajskie ogrody)

Automaty komórkowe Ogólna definicja automatów komórkowych: n-wymiarowa siatka komórek s i (i zbiór indeksów) komórki mogą przyjmować stany z zadanego przestrzeń stanów (żywy/martwy, kolory, liczby naturalne, itp) reguły określające w jaki sposób stan komórki w kolejnej chwili czasu zależy od stanu całego układu w chwili poprzedniej s i (t +1) = F({s j (t)}, j należy do otoczenia i) jeżeli ewolucja zależy od zmiennej losowej, automat nazywany jest probabilistycznym Gra w życie: n = 2, zbiór stanów to {0, 1} reguła: F = 1 dla trzech żywych sąsiadów; dla dwóch żywych sąsiadów komórka zachowuje stan F = I; w pozostałych przypadkach F = 0 (umiera)

Automaty komórkowe Otoczeniem komórki i nie muszą być wszystkie komórki z najbliższego sąsiedztwa Sąsiedztwo Moore a i von Neumanna dla promienia równego jednej komórce

Automaty komórkowe W symulacjach fizycznych (materiały sypkie, gazy, ciecze) stosuje się sąsiedztwo Margolusa i reguły ustalające zachowanie jednocześnie czterech komórek Bloki komórek przesuwają się w lewo i w prawo To wymusza parzyste i nieparzyste kroki ewolucji

Automaty komórkowe Inne znane automaty komórkowe dwuwymiarowe: mrówka Langtona - dwuwymiarowa maszyna Turinga, której program jest następujący: wyróżniona komórka (mrówka), która posiada kolor biały lub czarny i kierunek (N, E, S, W), obraca się w lewo jeżeli znajduje się na polu białym, a w prawo, jeżeli na czarnym. W każdym przypadku zmienia kolor na przeciwny i wykonuje ruch zgodnie z kierunkiem

Automaty komórkowe Inne znane automaty komórkowe dwuwymiarowe: Model Greenberga i Hastingsa automat samoporządkujący się, który z losowego ułożenia stanu komórek (możliwe stany to {0, 1, 2} ewoluuje po odpowiednio dużej liczbie kroków do stanu oscylującego Modeluje reakcję Biełorusowa-Żaboryńskiego (chemia) zmiana barwy trzech zmieszanych roztworów wodnych Aplet Java (psoup.math.wisc.edu/java/jgh.html#t)

Automaty komórkowe Inne znane automaty komórkowe dwuwymiarowe: model Greenberga i Hastingsa Reguły: komórka w stanie 2 (stan przesycenia) przejdzie do stanu 0 (równowagi) bez względu na swoje otoczenie (von Neumanna) i nie wpływając na nie komórka w stanie 1 (stan przejściowy) zmienia się w 2 i dyfunduje na swoje otoczenie tzn. zmienia stany 0 w otoczeniu na stany 1 komórka w stanie 0 (stan równowagi) pozostają w stanie o ile nie są zmieniane na mocy poprzedniej reguły

Automaty komórkowe Najlepiej zbadane są automaty jednowymiarowe Słynna książka Stephena Wolframa (auto programu Mathematica i witryny MathWorld) pt. A New Kind of Science Hipoteza o równoważności automatów jednowymiarowych z maszynami Turinga (o nich za chwilę)

Automaty komórkowe Próba wprowadzenia przez Wolframa podziału automatów (jednowymiarowych): Klasa I: Automaty niezmienne - ewoluują do stałego stanu homogenicznego, np. do śmierci całej kolonii Klasa II: Automaty ewoluujące do stanu stałego lub okresowego (oscylatora) Klasa III: Automaty chaotyczne nieuporządkowane lokalnie i globalnie (nie mające wzorca zachowania) Klasa IV: Pozostałe automaty ewoluujące według ciekawych i unikalnych praw

Automaty komórkowe Automaty komórkowe mogą być stosowane do wielu zagadnień biologii, chemii i fizyki Nie udał się jednak zamiar udowodnienia równoważności z równaniami różniczkowymi W fizyce: symulacje ciał sypkich (piasek), gazów i cieczy, przeciekanie przez ciała porowate (percolation), model Isinga, różnego typu przejścia fazowe I wszystkie te zagadnienia, w których nie można zaniedbać lokalnych korelacji (np. równanie kinetyczne Boltzmana i przybliżenie chaosu molekularnego) Poza tym: pożary lasu, korki uliczne, modele społeczne

Paradygmat systemowy Proste reguły rządzące zachowaniem komórek prowadzą do złożonych (i niespodziewanych) zachowań całych kolonii Zaczynając od prostego układu, poprzez chaotyczny rozwój można nieraz osiągnąć układ bardzo złożony Układy złożone - zbudowane z modułów (komórek) związanych sprzężeniami zwrotnym. Dzięki temu własności całości są inne niż poszczególnych elementów. Całość to więcej niż prosta suma części (Arystoteles) W sprzeczności z redukcjonizmem (Kartezjusz), w którym wszystko można zrozumieć przez analizę i późniejszą syntezę Holizm (Smuts, XX wiek) = całość nie redukuje się do części Synergia wzmocnienie dwóch lub więcej czynników układu Adaptacja i ochrona układu dzięki nadmiarowości

Paradygmat systemowy Cybernetyka (1948-1955) to nauka o efektywnych systemach sterowania (organizacji), mechanizmach kontroli i związanej z tym komunikacji między układem sterowanym i jego kontrolerem. Ma zastosowanie w teorii maszyn i zwierząt. Ogólna teoria systemów (1950) ogólny opis organizmów żywych, ale również społeczeństw i układów sztucznych Teoria katastrof (1970) teoria przejść nieciągłych tzn. takich, w których ciągła zmiana parametru kontrolnego zmienia jakościowo własności całego systemu. Przejścia fazowe. Teoria chaosu (1980) badanie układów dynamicznych, których ewolucja jest bardzo wrażliwa na warunki początkowe. Teoria złożoności (1990) Źródło: prof. Marian Ostwald (http://www.sms.am.put.poznan.pl/?site=skrypty)

Paradygmat systemowy Źródło: prof. Marian Ostwald (http://www.sms.am.put.poznan.pl/?site=skrypty)

Paradygmat systemowy Krytyczny poziom złożoności powyżej którego układ nabiera nowych jakościowo cech (np. inteligencja lub świadomość mózgu)

Automaty komórkowe a fizyka Ciała sypkie (piasek) opadanie pojedynczych ziaren piasku Otoczenie Margolusa usypywanie ziaren piasku na boki prawdop. 1:1 (lepkość) B. Choppard, M. Droz, Cellular Automata Modelling of Physical Systems, Cambridge University Press 1998

Automaty komórkowe a fizyka Ciała sypkie (piasek) Maciej Matyka: http://panoramix.ift.uni.wroc.pl/~maq/pl/automat.php Aplet Java: http://schuelaw.whitman.edu/javaapplets/sandpileapplet/

Automaty komórkowe a fizyka Symulowanie gazu Maciej Matyka: http://panoramix.ift.uni.wroc.pl/~maq/pl/automat.php

Automaty komórkowe Pomysły na projekty zaliczeniowe Implementacja modelu Greenerga-Hastingsa Implementacja przesypywania piasku Implementacja rozchodzenia gazów Implementacja maszyny Turinga Przygotowanie programu MT do sortowania 0 i 1 Projekty mogą się powtarzać o ile będą realizowane w różnych technologiach (preferowane aplety Java)

Dodatek: maszyna Turinga Budowa maszyny Turinga taśma (pamięć trwała), w jej komórkach zapisane są wartości z ustalonego alfabetu np. A - Z i kropka (. ), poza literami R i L, które będą kodować ruch głowicy głowica odczytująca i zapisująca stany głowicy, czyli rejestru, wybierany jest z osobnego alfabetu np. a - z program (czwórki)

Dodatek: maszyna Turinga Program to czwórki znaków np. bieżący stan głowicy (stan rejestru) qass nowy stan rejestru bieżąca wartość (wartość na taśmie wskazywana przez głowicę) nowa wartość zapisana na taśmie w tym miejscu Jeżeli alfabety taśmy i głowicy są rozłączne, stan maszyny (stan taśmy i rejestru oraz pozycję głowicy) można jednoznacznie zapisać przez AqAAABAA (taśma AAAABAA, rejestr q, pozycja głowicy n = 2) Program nie może mieć dwóch czwórek (linii) o takich samych dwóch pierwszych znakach (jednoznaczność)

Dodatek: maszyna Turinga Prosta maszyna Turinga taśma: AAAABAA głowica: początkowy stan rejestru q, pozycja n = 2 program (3 linie): qass zamień wartość z A na S i ustaw rejestr na s ssrq przesuń głowicę w prawo i ustaw rejestr na q qbrb przesuń głowicę w prawo i ustaw rejestr na b Output: AqAAABAA pasuje qass AsSAABAA pasuje qsrq ASqAABAA... pasuje qass ASSSSqBAA pasuje qbrb ASSSSBbAA - - -

Dodatek: maszyna Turinga Koniec działania maszyny gdy nie ma czwórki pasującej do bieżącej wartości i stanu rejestru Można również wprowadzić wyróżniony stan rejestru, który sygnalizuje koniec programu (w naszym przykładzie jest to stan b) Udowodniono, że zwykłe komputery są równoważne maszynom Turinga! Studiowanie problemu rozwiązywalności

Dodatek: maszyna Turinga Filozofia i psychologia poznawcza: maszyna Turinga jest wygodnym narzędziem przy precyzowaniu pojęć i problemów procesu poznawania i sztucznej inteligencji Słynne zagadnienie: czy człowiek jest maszyną Turinga i jeżeli nie, jak ich odróżnić za pomocą skończonej liczby pytań (psychiatra w Emacs) I wiele innych...

Jeszcze raz Pomysły na projekty zaliczeniowe Implementacja modelu Greenerga-Hastingsa Implementacja przesypywania piasku Implementacja rozchodzenia gazów Implementacja maszyny Turinga Przygotowanie programu MT do sortowania 0 i 1 Projekty mogą się powtarzać o ile będą realizowane w różnych technologiach (preferowane aplety Java)