Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Inleiding Adaptieve Systemen
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Gary Flake
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
Voor wie schreef Flake dit boek?
• Gelet op zijn jaar van promoveren (1993) gokte ik dat hij toen ongeveer 30 jaar oud zou kunnen zijn geweest. In 1997 (toen hij het boek schreef) zou hij dan dus 34 zijn geweest. Min 10-15 jaar is ong. 19-24 jaar. Ik denk dat hij doelde op iemand van rond de twintig.
Van: Gary Flake [[email protected]] Gary William Flake Verzonden: woensdag 24 april 2013 22:39Aan: Vreeswijk, G.A.W.Onderwerp: Re: your year of birth
My target was my 15 year old self. I started writing the book when I was 25 and finished it when I was about 30.
-- GWF
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
Flake’s idee
• “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)
• Gerelateerd vak: computational systems biology Het verschil is dat we bij IAS ons
slechts laten inspireren door natuurlijke processen. I.h.b. laten we
er ons niet door beperken.
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
“Simple rules, complex systems”
• Adaptive fractals
• Chaos
• Cellular automata
• Flocking
• Competition and cooperation
• Adaptation
• Evolution
NetlogoNetlogo
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard VreeswijkInleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Opzet van het college
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Onderdelen van het vak
• Werk-colleges
– Inleveropgaven (5) ................................... 25%
• Computer-practica
– Programmeer-opdrachten (3) .................. 25%
• Hoor-colleges
– Schriftelijke tentamens (2) ................... 2x 25%
http://www.cs.uu.nl/docs/vakken/ias/
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Inleiding Adaptieve Systemen
Aftelbaarheid & Berekenbaarheid
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Inhoudsopgave
• 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
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Oneindigheid
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
OneindigheidAftelbare verzamelingen
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Er zijn (oneindig veel)verschillende oneindigheden!
0 “Aleph nul” = aftelbaar oneindig = | N |
1 “Aleph één” =CH | R |
2 “Aleph twee”
3 “Aleph drie”
• ...
“Aleph omega”
+1 “Aleph omega plus één”
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,…
• En 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
Z x Z is aftelbaar
• Dus de verzameling van alle breuken, Q, is ook aftelbaar.
• Immers, elke breuk x / y correspondeert met een roosterpunt (x, y). 1
23
4
5 6 7
8
9
101213 11
14
15
16
17 19 20 2118
23
24
25
26
22
2830 29 27
Generalisatie. Als A en B aftelbaar, dan is A x B dat ook
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
(a5, b6)
Generalisatie. Als A1 ,…, An aftelbaar zijn, dan is het eindig Cartesisch product A1 x … x An dat ook
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
A1
A2
A3
A4
A5
A6
A7
(A6, 5)
Generalisatie. Als
A1 ,…, An ,…
een aftelbare rij is van aftel-bare verzamelingen, dan is de aftelbare vereniging A1 … An … ook aftelbaar.
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
Atelbaar oneindig veel bussen, elk met aftelbaar oneindig veel gasten
Hilbert’s Hotel
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
• Een verzameling A heet aftelbaar als er een surjectie f: N A bestaat.
Wiskundige definitie van aftelbaarheid
N A1
2
3
4
5
.
. . . .
Alle elementen
uit A moeten een nummer
krijgen.
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Andere definitie van aftelbaarheid
• Een verzameling A heet aftelbaar als er een injectie f: A N bestaat.
Opmerking: beide definities zijn (gelukkig!) gelijkwaardig.
Het is namelijk altijd zo dat er een injectie van bestaat van A naar B als en slechts als er een surjectie van bestaat van B naar A.
(Dit kan worden bewezen.)
N A1
2
3
4
5
.
. . . .
Niet alle nummers hoeven te
worden gebruikt.
Elk nummer mag hoogstens
één keer worden gebruikt.
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 C#-programma’s.
– De verzamelig van alle Netlogo-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
OneindigheidOveraftelbare verzamelingen
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Is alles dan aftelbaar?
Nee. Belangrijke voorbeelden van over-aftelbare verzamelingen zijn:– 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:Over-aftelbaar en toch (kans-)
maat nul!Kans dat
willekeurig element van [0, 1] in Cantor’s kam zit, is nul!
0101010110101010...0010101001010011...0101100101011010...0100101011000011... ...
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...
1. Stel toch.
2. Dan kunnen we de elementen op een rij zetten.
3. Selecteer van getal N het cijfer op de Ne plek.
4. En tel daar 1 bij op.
5. Dit getal komt niet voor in de rij.
6. Tegenspraak
met (1).
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Overaftelbaar
Definitie. Een oneindige verzameling die niet aftelbaar is
noemen we overaftelbaar.
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
4 2 0 2 4
0.2
0.4
0.6
0.8
1.0
(0, 1) en R zijn gelijkmachtig!
Oplossing:gebruik
2/1||1
x
xy
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
[0, 2] en [0, 1] zijn gelijkmachtig
1 2
1 y = x/2
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
[0, 2) en [0, 1) zijn gelijkmachtig
1 2
y = x/21
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
(0, 2] en [0, 1) zijn gelijkmachtig
1 2
y = 1− x/21
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
[0, 2] en [0, 1) zijn gelijkmachtig
1 2
1
Waar laat je die 2 ???
Oplossing blijkt vernuftig, en is
opmaat voor de zg. Stelling van
Schröder-Bernstein
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Stelling van Schröder-Bernstein
• Notatie: A ~ B Def A en B zijn gelijkmachtig.
• Notatie: A < B Def er bestaat een injectie van A naar B.
• Is het zo dat
A < B en B < A A ~ B ?
• Ja!
Dit is de Stelling van Schröder-Bernstein. (Ook wel: Stelling van Cantor-Bernstein.)
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
[0, 2] en [0, 1) zijn gelijkmachtig
• We bewijzen dit nu met behulp van de stelling van Schröder-Bernstein:
• Een injectie van [0, 2] naar [0, 1) is bv.
alles door twee delen alles door vier delen.
• Een injectie van [0, 1) naar [0, 2] is bv.
alles door twee delen.
• We hebben laten zien dat [0, 2] ≤ [0, 1) en [0, 1) ≤ [0, 2].
• Met de Stelling van Schröder-Bernstein volgt nu [0, 2] ~ [0, 1).
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Nog meer elementen dan R?
Zijn er verzamelingen die nog groter zijn dan R?
Yep
En nog groter?
Yep
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Machtsverzameling: 2A
• 2A =Def de verzameling van alle deel-verzamelingen van A.
• Voorbeeld:
2{a,b,c} = {Ø,{a},{b},{c},{a,b},{a,c},{b,c},{a,b,c}}.
• Merk op dat |2{a,b,c}| = 8 = 23 = 2|{a,b,c}|.
• Voor alle eindige verzamelingen A: |2A| = 2|A|.
• Niet geheel toevallig... vandaar de notatie.
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Cantor: voor elkeverzameling A geldt: |A| < | 2A |
• Stel f: A 2A. Bekijk
B = { a A | a f(a) }
• Bewering: B wordt nooit bereikt door f.
• Bewijs: stel, er is wel een b A, zó dat f(b) = B.
Dan: b B b f(b) b B.
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
Nog groter dan R?
• Ja: voor elke verzameling A geldt:
|A| < | 2A |.
Dus |N| < | N1 = 2N | < | N2 = 2N1 | < …
Voor R ~ 2N hoeven 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
Continuüm-hypothese
• |N| < | N1 = 2N | < | N2 = 2N1 | < …
• Zitten hier nog cardinaliteiten tussen? Bestaat er bijvoorbeeld een cardinaliteit β zó dat
|N| < β < | 2N | ?
• Dit is een moeilijke vraag (Hilbert’s 1e van tien problemen.)
Uiteindelijk in 1963 beantwoordt door Paul Cohen.
Antwoord: de aanwezigheid van β is 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
De these van Church-Turing
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Alle (voldoende expressieve) 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 altijd waar gebleken.
• 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
De Turing machine
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
De Turing-machineis even sterk als (bv.) Java.
Eén kant is makkelijk:
• Elke berekening van een Turing-machine kan worden gesimuleerd in Java.
De andere kant is moeilijker maar waar:
• Elke berekening in Java kan worden uitgevoerd door een Turing-machine.
Idee: kom met een rekenvoorschrift dat berekeningen in een iets minder primitief berekeningsmodel, waarvan we al weten dat het Turing-compleet is, omzet naar berekeningen op een Turing-machine.
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
De register-machine
Slechts vier instructies:
• De zet nul-instructie. Voorbeeld: r6:= 0.
• De verhoog-instructie. Voorbeeld: r7++.
• De kopieer-instructie. Voorbeeld: r9 := r7.
• De sprong-instructie. Voorbeeld: jump(4,8,7). Betekenis: als r4=r8 ga dan naar instructie 7.
r19
r27
r30
r40 0
r5
1. jump(1,2,6)
2. r2++
3. r3++
4. jump(1,2,6)
5. jump(1,1,2)
6. 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
• Voor GOTO (onvoorwaar-delijke sprong): kort j(1,1,n)af tot j(n).
• Voor optelling rk:= ri+rj: maak subroutine als in BASIC:
…127.x:= i128.y:= j129.r:= 131130.GOTO 500131.k:= z…500.u:= 0501.z:= x502.j(u, y, r)503.u++504.z++505.GOTO 502
Moet eigenlijk ook nog een macro voor
worden gedefinieerd…
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 (proefondervindelijk even sterke) berekenings-mechanismen op NN.
• Deze klasse is erg groot. Hij bevat o.a. Turing-machines, register-machines, mu-recursieve functies, Church’s lambda-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
Vraag-typen
Eenvoudig Reken-intensief
Met de computer te
beantwoorden
Niet met de computer te
beantwoorden
Vaag of subjectief
Voldoende precies geformuleerd
Beslisbaar Onbeslisbaar
( ) Complexiteitstheorie
Berekenbaarheidstheorie
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.
Immers, vanwege de
Church-Turing
these zijn alle
program-meertalen even sterk.
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Carcassone Youtube gameplay instruction
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Voorbeelden vaneen 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 bestaat geen 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 een algoritme te geven dat elk zg. stop-probleem automatisch vertaalt naar een betegelings-probleem.
• Het stop-probleem is onbeslisbaar. Dit wordt zodadelijk besproken.
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Culik (1996)
(Als je Carcassonne wilt: rood is stad, groen is land, blauw is water, grijs is steen, geel is weg.)
A-periodieke betegeling
https://nl.wikipedia.org/wiki/Wang-betegeling
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
BerekenbaarheidHet stop-probleem
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Alan Turing
• 23 juni 1912: geboren in Londen
• 1931-1934 kwantummechanica, al snel wiskunde aan de Universiteit van Cambridge
• 1935: maakt kennis met het Entscheidungsproblem
• 1936: On Computable Numbers, with an Application to the Entscheidungsproblem
• De Logical Computing Machine (later: Turing-machine)
• WW2: Government Code and Cypher School (ontcijfering Enigma)
• 1950: Turing test in AI
• 1954: overleden (cyanide-vergiftiging)
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Het stop-probleemis onbeslisbaar (Turing)
• Merk op: h/2 en j/1.
Bewijs:
• Stel h bestaat wél. Dus: h(j, i) = 1 j(i) stopt.
Stelling. Zij J een programmeertaal. Als J voldoende expressief is, dan kan er geen programma h J bestaan dat voor elke programma/input-combinatie (j, i) J I kan uitmaken of j met input i stopt.
Turing-compleet
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Tabel voor h, met daaruit q
h i1 i2 i3 i4 i5 i6 i7 i8 i9 …
j1 1 1 1 1 0 1 1 0 1 …
j2 1 1 1 0 0 1 0 1 0 …
j3 1 0 1 1 1 1 1 1 1 …
j4 1 1 1 1 1 1 1 1 1 …
j5 1 1 1 0 0 1 1 0 1 …
j6 1 1 0 1 1 1 1 1 1 …
j7 0 0 1 1 1 1 1 1 1 …
j8 0 1 1 1 1 1 1 0 1 …
j9 1 1 1 1 1 1 1 1 1 …
… … … … … … … … … … …
0 0 0 0 1 0 0 1 0qNu moeten we er ons
alleen nog van overtuigen dat q
gewoon één van de ji
zou moeten zijn. Zo ja, dan zijn we klaar. (Ga
na!)
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
De constructie van q opgeschreven:
• Stel h bestaat, zó dat voor alle i en j:
h(j, i) = 1 j(i) stopt.
• Bekijk programma q/1:
q(i): if h(i, i) = 1 then loop forever.
• Stopt q(q) ?
– Volgens h’s definitie (r. 1): h(q, q) = 1 q(q) stopt.
– Volgens q’s definitie (r. 3): h(q, q) = 1 q(q) stopt niet.
Tegenspraak.
diagonalisatie
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Het invoerloze stop-probleem
Stelling. Zij J een programmeertaal. Als J voldoende expressief is, dan kan er geen programma h/1 J bestaan dat voor elk invoerloos programma j/0 J kan uitmaken of j/0 stopt.
• Bewijs: instanties (j/1, i) van het stop-probleem kunnen automatisch worden vertaald naar instanties j/0 van het invoerloze stop-probleem, als volgt:
Accepteer (j/1, i) en schrijf dit paar om naar een invoerloos programma j/0 dat i niet leest, maar als constante bevat.
• Als h/1 zou bestaan, dan zou deze kunnen worden gebruikt om te bepalen of j/0 en dus (j/1, i) stopt!
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
De perfectevirus-scanner bestaat niet
Stelling. Zij J een programmeertaal. Als J voldoende expressief is, dan kan er geen programma v/1 J bestaan dat voor elk bestand i I kan uitmaken of i een virus is.
• Bewijs: instanties j/0 van het invoerloze stop-probleem kunnen automatisch worden vertaald naar het programma
draai j/0 in quarantaine; infecteer! (*)
• j/0 stopt (*) infecteert je PC.
• Als v/1 zou bestaan, dan zou v/1 kunnen worden gebruikt om te bepalen of (*) je PC infecteert en dus j/0 stopt.
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Begrippen in berekenbaarheidstheorie:berekenbaar, opsombaar,
complementair opsombaar,semi-beslisbaar
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Drie kern-begrippen
• Berekenbare (computable) functie f : N N .
• Opsombare (enumerable) set X N .
• Beslisbare (decidable) set X N .
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Opsombaar,berekenbaar, beslisbaar.
• Een (mogelijk partiële) functie f : N N heet berekenbaar (computable), als er een computerprogramma bestaat dat f kan berekenen voor precies alle getallen waarvoor f gedefinieerd is.
• Een verzameling getallen X N heet opsombaar (recursively enumerable), als er een computerprogramma bestaat dat alle elementen van X (vroeg of laat) afdrukt.
(Mag meerdere malen, en niet noodzakelijk in die volgorde.)
• Een verzameling getallen X N heet beslisbaar (decidable) of recursief (recursive), als er een computerprogramma bestaat dat voor alle getallen in N kan beslissen of het in X zit.
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Vragen over opsombaarheid
• Is elke eindige verzameling X N opsombaar?
• Stel, X en Y zijn opsombaar.– Is X Y opsombaar?
– Is X Y opsombaar?
– Is X Y opsombaar?
– Is X ─ Y opsombaar?
– Is XC = N ─ X opsombaar?
– Ja.
– Ja.
– Ja.
– Ja.
– ??
– ??
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Complementair opsombaar
N
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Stelling van Emil Post
De volgende beweringen zijn equivalent:
1. De verzameling A is beslisbaar.
2. De verzamelingen A en N \ A zijn opsombaar.
1 2 : tel N af en beslis voor elke n of n A. Zo ja, druk n af. (Hetzelfde argument kun je toepassen op N \ A.)
2 1 : fix n. Som A en N \ A alternerend op. Er moet uitsluitsel komen over n.
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
In het Engels
• Berekenbare functie: (effectively) computable function.
• Beslisbare verzameling: recursive set, decidable set.
• Opsombare verzameling: recursively enumerable set.
• Complementair opsombare verzameling: co-recursively enumerable set.
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Semi-beslisbaar
Er is nog een vierde begrip:
• Een verzameling getallen X N heet semi-beslisbaar (semi-decidable), als er een computerprogramma bestaat dat voor alle getallen in X kan beslissen of het in X zit.
Voor getallen buiten X geeft zo’n programma niet noodzakelijk uitsluitsel.
Semi-beslisbaarheid is niet echt een nieuw begrip:
X is semi-beslisbaar X is opsombaar.
Deze equivalentie is eenvoudig zelf te bewijzen.
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Onderverdeling van deelverzamelingen van NFlake, p. 47:
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
On-berekenbaarheid van NN
• Stelling: niet alle elementen van NN zijn berekenbaar.
– I.e., niet alle functies van N naar N zijn berekenbaar.
• Bewijs: we hebben al gezien:– NN is over-aftelbaar.
– De verzameling van alle computerprogramma’s is “slechts” aftelbaar.
Einde bewijs. □
• Consequentie: omdat |R – N| > |N| komt onberekenbaarheid dus “vaker voor” dan berekenbaarheid.
• Feit: de kansmaat van een aftelbare verzameling in een overaftelbare verzameling is nul.
Consequentie: de kans dat een willekeurige functie N → N berekenbaar is, is nul.
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Waar zijn ze dan, die “onberekenbare” getallen?!
Wijs me ze aan!?
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Expliciete constructie van een onberekenbaar reëel getal
• Laat P1, P2, P3, P4,… een aftelling van input-loze computerprogramma’s zijn.
• Laat 0, 1, 0, 1, 1, … de corresponderende stop-string zijn:
– Bit 1 : stopt op alle inputs
– Bit 0 : anders
• κ = 0.01011… is niet berekenbaar. (Stel wel, dan zou het input-loze stop-probleem beslisbaar zijn.)
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Getallen-hiërarchie binnen R
• N: alle positieve gehelen: 1, 2, 3, 4, …
• Z: alle gehelen: 0, 1, −1, 2, −2, …
• Q: alle breuken: 1/2, 3/4, −1/17, …
• A: alle algebraïsche reële getallen: √3, …
• C: alle berekenbare reële getallen.
• D: alle definieerbare reële getallen.
• R: alle reële getallen.
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Voorbeelden
• Het getal √2/(1+ √7) is– irrationaal (element van R – Q)
– maar wel algebraïsch (bevat in A)
• Het getal π is– transcendent (element van R – A)
– maar wel berekenbaar (Def π is tot aan een willekeurige precisie te berekenen)
• Het stop-getal κ = 0.01011… is – onberekenbaar
– maar wel definieerbaar (eng.: definable)
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Definieerbaarheid
• Ludwig Wittgenstein, Tractatus Logico-philosophicus, 1918.
• Dit is Stelling 7, de laatste hoofdstelling uit de Tractatus.
• Wiskundigen hebben zich hier niet door laten weerhouden: er bestaat een heel gebied dat zich bezighoudt met definieerbaarheid.
“Wovon man nicht sprechen kann,darüber muß man schweigen.”
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Ongebruikte slides
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk
Direct bewijs:de kwaadaardige virus checker
• V(j) test of j met input j veilig is.
– Zo ja, dan zal V je PC alsnog infecteren.
– Zo nee, dan zal V je PC met rust laten.
• Stel V krijgt V aangeboden.
– Stel V met input V is veilig. Dan zal V je PC infecteren. Maar dan is V(V) niet veilig.
– Stel V met input V is niet veilig. Dan zal V je PC verder met rust laten. Maar dan is V(V) veilig.