670 likes | 830 Views
Inleiding Adaptieve Systemen. Aftelbaarheid & Berekenbaarheid. Flake’s persoonlijke motivatie.
E N D
Inleiding Adaptieve Systemen Aftelbaarheid & Berekenbaarheid Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Flake’s persoonlijke motivatie “I wrote this book for the person I was around ten or fifteen years ago. I always wished for a book that combined all of these topics within one cover, gave sufficient information to enable one to duplicate all of the programs, and at the same time gave enough motivation to appreciate the more fundamental themes. I also wanted this hypothetical book to have parts that could be understood on a first reading, but additionally have sections that would be beyond my capabilities for years to come. This book could be sporadically opened at a random page or read sequentially. It would serve as a cookbook of computer recipes, be mostly self-contained, be a basic primer on some common mathematics, and also serve as a pointer to more fundamental texts.” Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Gary Flake Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Flake’s hypothese (in TCBoN) Complex gedrag op samengesteld nivo in grote natuurkundige, biologische, economische of sociologische systemen, lijkt te worden veroorzaakt door (zeer) eenvoudig gedrag op individueel nivo. “Fantastic: The appropriate shape came about due to the threat of a nearby Peregrine Falcon.” Photo (c) Robert Wolstenholme, site Daily mail UK. Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
“Of all the possible rules that could be used to govern the interactions among agents, scientists find that nature often uses the simplest.” Simple rules make complex systems. “The goal of this book is to highlight the computational beauty found in nature's programs.” (p. 5) Vak: computational systems biology Flake’s idee Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Fractals Chaos Cellular automata Flocking Competition and cooperation Adaptation Evolution “Simple rules, complex systems” Netlogo Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Opzet van college Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Onderdelen Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk • Werk-colleges • Inleveropgaven • Computer-practica • Programmeer-opdrachten • Hoor-colleges • Schriftelijke tentamens http://www.cs.uu.nl/docs/vakken/ias/ Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Preface How to Read This Book Dealing with Difficult Subjects Personal Motivation 1. Introduction 1.1. Simplicity and Complexity 1.2. The Convergence of the Sciences 1.3. The Silicon Laboratory 2. Number Systems and Infinity 3. Computability and Incomputability Inhoudsopgave Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Aftelbaarheid Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Aftelbare verzamelingen • Kenmerk: (mogelijk oneindige) rij. • Typische aftelbare verzameling: N. • Maar ook Z: 0, 1, –1, 2, –2, 3, –3,… • Maar ook alle cellen in het rooster Z x Z Een verzameling heet aftelbaar als deze op een (mogelijk oneindige) rij kan worden gezet. Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Dus de verzameling van alle breuken, Q, is ook aftelbaar. Immers, elke breuk x / y correspondeert met een roosterpunt (x, y). Z x Z is aftelbaar 27 26 30 29 28 25 13 12 11 10 24 14 3 2 9 15 4 1 8 23 22 16 5 6 7 Generalisatie. Als A en B aftelbaar, dan is A x B dat ook 17 18 19 20 21 Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Waarom is aftelbaarheid zo belangrijk? • Aftelbare verzamelingen zijn alomtegenwoordig in de wiskunde en exclusief vertegenwoordigd in de informatica. • Discreet (alles wat aftelbaar is) vs. continu (alles wat gelijkmachtig is met R). • Maakt het mogelijk elementen één voor één (en uitputtend!) te bekijken of te bewerken. • Bijv. sommeren (i.p.v. integreren). Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Aftelbaarheid Cartesisch product Generalisatie. Als A en B aftelbaar zijn, dan is het Cartesisch product A x B dat ook a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, … b1 b2 b3 b4 b5 b6 b7 Generalisatie. Als A1 ,…,An aftelbaar zijn, dan is het eindig Cartesisch product A1 x … xAn dat ook (a5, b6) Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Aftelbaarheid van vereniging Stelling. Als A en B aftelbaar zijn, dan is hun vereniging A B dat ook. A : a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, … B : b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, … Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Aftelbaarheid van verenigingen Stelling. Als A en B aftelbaar zijn, dan is hun vereniging A B dat ook. Aftelling van elementen Generalisatie. Als A1 ,…,An,… een aftelbare rij is van aftel-bare verzamelingen, dan is de vereniging A1 … An… ook aftelbaar. A1 A2 A3 A4 A5 A6 A7 (A6, 5) Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Hilbert’s hotel:aftelbaar oneindig veel kamers Elke kamer is bezet. Scenario 1: Eén extra gast. Scenario 2: Bus met m extra gasten. Scenario 3: Aftelbaar oneindig veel extra gasten. Scenario 4: Aftelbaar oneindig veel bussen met extra gasten: m1, …, mn, … Scenario 5: Aftelbaar oneindig veel bussen, elk met aftelbaar oneindig veel extra gasten. Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Wiskundige definitie van aftelbaarheid • Een verzameling A heet aftelbaar als er een surjectief: N A bestaat. A N 1 2 3 Alle elementen uit A moeten een nummer krijgen. 4 5 . . . . . Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Andere definitie van aftelbaarheid • Een verzameling A heet aftelbaar als er een injectief: A N bestaat. Opmerking: beide definities zijn natuurlijk gelijkwaardig want het is altijd zo dat als er een injectie van A naar B bestaat, er dan ook een surjectie van B naar A bestaat, en omgekeerd. (Dit is eenvoudig te bewijzen.) N A Elk nummer mag hoogstens één keer worden gebruikt. 1 2 3 4 Niet alle nummers hoeven te worden gebruikt. 5 . . . . . Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Aftelbare verzamelingen(dus allemaal gelijkmachtig!) Voorbeelden van aftelbare verzamelingen: • De verzameling breuken, Q. • De verzameling van algebraïsche getallen (oplossingen van veeltermen), A. • De verzameling van alle LISP-programma’s. • De verzamelig van alle Java-programma’s. • De verzameling van alle computer-programma’s. • De verzameling van alle boeken (geschreven en ongeschreven, ongeacht lengte, en in welke taal dan ook). Hoe?Itereer aftelbaarheids-stellingen voor Cartesisch product en (aftelbare) vereniging. Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Hugo BattusRekenen op taal (Querido, 1983) “ Link naar p. 264-265 ” Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Continue verzamelingen Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Is alles dan aftelbaar? Nee. Belangrijke voorbeelden van over-aftelbare verzamelingen: • De reële getallen R. • Alle deelverzamelingen van N. • Alle, zg. realisaties bij oneindig vaak gooien munt. • De verzameling van alle eindige en oneindige bitstrings • Cantor’s kam: 0101010110101010... 0010101001010011... 0101100101011010... 0100101011000011... ... Over-aftelbaar en toch (kans-) maat nul! Kans dat willekeurig element van (0, 1) in Cantor set zit, is nul! Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Diagonaal-argument (Cantor) • Bewering: (0, 1) is niet aftelbaar (= niet op een rij te zetten). ?: 0.221268360............... 1: 0.142343626578235369587... 2: 0.011013310333222824829... 3: 0.120876543849244764612... 4: 0.115112516464462462621... 5: 0.411153534536993555353... 6: 0.116677778897900490453... 7: 0.396536236258632331221... 8: 0.345465654645564645665... 9: 0.811221119121765005056... • Stel toch. • Dan kunnen we de elementen op een rijt zetten. • Selecteer van getal N het cijfer op de Ne plek. • En tel daar 1 bij op. • Dit getal komt niet voor in de rij. • Tegenspraak met (1). Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Gelijkmachtigheid • Bi-jectie=Def een functie die tegelijkertijd injectief en surjectief is. • Gelijkmachtig = “even groot”. • Voorbeelden: {3,5,6} en {6,77,101} zijn gelijkmachtig. • Alle aftelbare verzamelingen zijn gelijkmachtig met N. • De verz. van alle even getallen is gelijkmachtig met N. Twee verzamelingen heten gelijkmachtig als een bi-jectie tussen deze twee bestaat. Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
[0, 2] en [0, 1] zijn gelijkmachtig y = x/2 1 1 2 Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
[0, 2) en [0, 1) zijn gelijkmachtig y = x/2 1 1 2 Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
(0, 2] en [0, 1) zijn gelijkmachtig y = (1− x)/2 1 1 2 Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
[0, 2] en [0, 1) zijn gelijkmachtig Waar laat je die 2 ??? Oplossing blijkt vernuftig, en is opmaat voor de zg. Stelling van Cantor-Bernstein 1 1 2 Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Gebruik arctan. [en (–π/2, π/2) en (0,1) zijn uiteraard gelijk-machtig] (0, 1) en R zijn gelijkmachtig! Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Nog groter dan over-aftelbaar? • Ja: voor elke set A geldt: |A| < | 2A |. Dus |N| < | N1 = 2N | < | N2 = 2N1 | <… Voor R~ 2Nhoeven alleen maar te bewijzen dat (0,1) ~2N, immers(0, 1) ~ R en gelijkmachtigheid is transitief. Welnu: (1, 0, 0, 1, 1, 1, 1, 1, 1, …)~ 1/2 + 1/16 + = | R | Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Cantor: voor elkeverzameling A geldt: |A| < | 2A | • Stel f: A 2A. Bekijk B = { a | af(a) } • Stel, er is een bA, zó dat f(b) = B. Dan: bB bf(b) bB. Conclusie: zo’n b bestaat niet, dus f kan nooit surjectief zijn. Stelling. Elke verzameling is “kleiner” dan haar machtsverzameling. Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Continuüm-hypothese • |N| < | N1 = 2N | < | N2 = 2N1 | <… • Zitten hier nog cardinaliteiten tussen? Bestaat er bijvoorbeeld een β zó dat |N| <β< | 2N | ? • Dit is een moeilijke vraag (Hilbert’s 1e van tien problemen.) Uiteindelijk in 1963 beantwoordt door Paul Cohen. Antwoord: aanwezigheid van β niet te bewijzen of te weerleggen in standaard wiskunde. Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Berekenbaarheid Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
These van Church-Turing Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Alle (voldoend sterke) programmeertalen zijn even krachtig Claim. Laat J en K programmeertalen zijn. Als J een functie f : N N kan uitrekenen, dan kan K dat ook. • Deze claim is waar. • Uit deze claim volgt dat alle programmeertalen op NN even sterk zijn. • Later volgt hier gemakkelijk uit dat alle programmeertalen op StringsStrings evenveel kunnen. • Uit deze claim volgt niet dat alle programmeertalen even efficiënt met tijd en geheugen omspringen (of even gebruiksvriendelijk zijn). • Uit deze claim volgt ook niet dat alle programmertalen even sterk zijn in toepassingen buiten NN (of buiten StringsStrings), zoals bv. interactieve of asynchrone toepassingen. Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Modellen van berekenbaarheid De Turing-machine Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
r1 r2 r3 r4 r5 9 7 0 0 0 De register-machine Slechts vier instructies: • De nul-instructie. Voorbeeld:r6:= 0. • De verhoog-instructie. Voorbeeld: r7++. • De kopieer-instructie. Voorbeeld: r9 := r7. • De sprong-instructie. Voorbeeld: als r4=r8 ga dan naar instructie 7. Afgekort: jump(4,8,7). • jump(1,2,6) • r2++ • r3++ • jump(1,2,6) • jump(1,1,2) • r1:= r3 Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
De register-machineis even sterk als (bv.) Java. Eén kant is makkelijk: • Elke berekening van een register-machine kan worden gesimuleerd in Java. De andere kant is moeilijker maar waar: • Elke berekening in Java kan worden uitgevoerd door een register-machine. Idee: schrijf macros. Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Macro’s Moet eigenlijk ook nog een macro voor worden gedefinieerd… • … • x:= i • y:= j • r:= 131 • GOTO 500 • k:= z • … • u:= 0 • z:= x • j(u, y, r) • u++ • z++ • GOTO 502 • Voor GOTO (onvoorwaar-delijke sprong): kort j(1,1,n)af totj(n). • Voor optelling rk:= ri+rj: maak subroutine als in BASIC: Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
These van Church-Turing Wat wij intuïtief onder (effectieve) bereken-baarheid verstaan wordt vertegenwoordigd door de klasse van (gelijkmachtige) berekenings-mechanismen op NN. • Deze klasse is erg groot. Hij bevat o.a. Turing-machines, register-machines, mu-recursieve functies, Church’slambda-calculus, Post’s tag-systems, BASIC-programma’s (op StringsStrings) , C#-programma’s op StringsStrings, C#-programma’s op StringsStrings x Strings, ... Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Beslisbaarheid Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Vaag of subjectief Voldoende precies geformuleerd Met de computer te beantwoorden Niet met de computer te beantwoorden ( ) Eenvoudig Reken-intensief Vraag-typen Beslisbaar Onbeslisbaar Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Bestaan er onbeslisbare vraagstukken? Bestaan er vraagstukken die, hoewel voldoende precies geformuleerd, computers, ongeacht programmeertaal, beschikbaar aantal processoren, rekentijd, en geheugen, principieel niet kunnen oplossen? Antwoord: JA, zulke vraagstukken bestaan. Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Carcassone Youtube gameplay instruction Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Voorbeelden van een Carcassone tegelset Stel: van elke tegel zijn oneindig veel exemplaren voorradig Is het mogelijk het platte vlak met deze tegelset af te dekken, zonder tegels te roteren? Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Platte vlak afdekkenmet rotatie is flauw Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Wang (1961) • Vermoeden: “er bestaat een algoritme (reken-recept) dat voor alle tegelsets kan beslissen of deze het platte vlak kunnen vullen” • Idee: probeer steeds grotere gebieden te bedekken, totdat: • een gebied niet bedekt kan worden (mislukking) • een periodiek patroon ontstaat (succes) Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Er bestaat geen algoritme! Er bestaatgeen algoritme, er kan ook geen algoritme bestaan, en er zal ook nooit een algoritme komen, dat voor alle niet-roteerbare Carcassonne-tegelsets kan bepalen of deze het platte vlak kunnen betegelen. • Op dit moment hebben wij niet de middelen om dit te bewijzen. • Het bewijs komt er op neer elk specifiek zg. universele halting-probleem te vertalen naar een specifiek betegelings-probleem. • Het universele halting-probleem is onbeslisbaar. Dit wordt zodadelijk besproken. Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
A-periodieke betegeling Culik (1996) (Als je Carcassonne wilt: rood is stad, groen is land, blauw is water, grijs is steen, geel is weg.) Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk