+ All Categories
Home > Documents > Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen

Date post: 08-Jan-2016
Category:
Upload: amity
View: 56 times
Download: 0 times
Share this document with a friend
Description:
Inleiding Adaptieve Systemen. Aftelbaarheid & Berekenbaarheid. Flake’s persoonlijke motivatie. - PowerPoint PPT Presentation
Popular Tags:
87
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen
Transcript
Page 1: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Inleiding Adaptieve Systemen

Page 2: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Page 3: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Gary Flake

Page 4: Inleiding Adaptieve Systemen

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.”

Page 5: Inleiding Adaptieve Systemen

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

Page 6: Inleiding Adaptieve Systemen

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.

Page 7: Inleiding Adaptieve Systemen

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.

Page 8: Inleiding Adaptieve Systemen

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

Page 9: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard VreeswijkInleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Opzet van het college

Page 10: Inleiding Adaptieve Systemen

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

Page 11: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Inleiding Adaptieve Systemen

Aftelbaarheid & Berekenbaarheid

Page 12: Inleiding Adaptieve Systemen

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

Page 13: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Oneindigheid

Page 14: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

OneindigheidAftelbare verzamelingen

Page 15: Inleiding Adaptieve Systemen

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”

Page 16: Inleiding Adaptieve Systemen

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.

Page 17: Inleiding Adaptieve Systemen

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

Page 18: Inleiding Adaptieve Systemen

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).

Page 19: Inleiding Adaptieve Systemen

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

Page 20: Inleiding Adaptieve Systemen

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, …

Page 21: Inleiding Adaptieve Systemen

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.

Page 22: Inleiding Adaptieve Systemen

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.

Page 23: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Atelbaar oneindig veel bussen, elk met aftelbaar oneindig veel gasten

Hilbert’s Hotel

Page 24: Inleiding Adaptieve Systemen

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.

Page 25: Inleiding Adaptieve Systemen

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.

Page 26: Inleiding Adaptieve Systemen

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.

Page 27: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Hugo BattusRekenen op taal (Querido, 1983)

Link naar p. 264-265

Page 28: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

OneindigheidOveraftelbare verzamelingen

Page 29: Inleiding Adaptieve Systemen

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... ...

Page 30: Inleiding Adaptieve Systemen

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).

Page 31: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Overaftelbaar

Definitie. Een oneindige verzameling die niet aftelbaar is

noemen we overaftelbaar.

Page 32: Inleiding Adaptieve Systemen

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.

Page 33: Inleiding Adaptieve Systemen

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

Page 34: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

[0, 2] en [0, 1] zijn gelijkmachtig

1 2

1 y = x/2

Page 35: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

[0, 2) en [0, 1) zijn gelijkmachtig

1 2

y = x/21

Page 36: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

(0, 2] en [0, 1) zijn gelijkmachtig

1 2

y = 1− x/21

Page 37: Inleiding Adaptieve Systemen

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

Page 38: Inleiding Adaptieve Systemen

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.)

Page 39: Inleiding Adaptieve Systemen

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).

Page 40: Inleiding Adaptieve Systemen

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

Page 41: Inleiding Adaptieve Systemen

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.

Page 42: Inleiding Adaptieve Systemen

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.

Page 43: Inleiding Adaptieve Systemen

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 |

Page 44: Inleiding Adaptieve Systemen

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.

Page 45: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Berekenbaarheid

Page 46: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

De these van Church-Turing

Page 47: Inleiding Adaptieve Systemen

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.

Page 48: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Modellen van berekenbaarheid

De Turing-machine

Page 49: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

De Turing machine

Page 50: Inleiding Adaptieve Systemen

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.

Page 51: Inleiding Adaptieve Systemen

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

Page 52: Inleiding Adaptieve Systemen

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.

Page 53: Inleiding Adaptieve Systemen

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…

Page 54: Inleiding Adaptieve Systemen

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, ...

Page 55: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Beslisbaarheid

Page 56: Inleiding Adaptieve Systemen

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

Page 57: Inleiding Adaptieve Systemen

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.

Page 58: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Carcassone Youtube gameplay instruction

Page 59: Inleiding Adaptieve Systemen

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?

Page 60: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Platte vlak afdekkenmet rotatie is flauw

Page 61: Inleiding Adaptieve Systemen

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)

Page 62: Inleiding Adaptieve Systemen

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.

Page 63: Inleiding Adaptieve Systemen

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

Page 64: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

BerekenbaarheidHet stop-probleem

Page 65: Inleiding Adaptieve Systemen

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)

Page 66: Inleiding Adaptieve Systemen

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

Page 67: Inleiding Adaptieve Systemen

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!)

Page 68: Inleiding Adaptieve Systemen

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

Page 69: Inleiding Adaptieve Systemen

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!

Page 70: Inleiding Adaptieve Systemen

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.

Page 71: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Begrippen in berekenbaarheidstheorie:berekenbaar, opsombaar,

complementair opsombaar,semi-beslisbaar

Page 72: Inleiding Adaptieve Systemen

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 .

Page 73: Inleiding Adaptieve Systemen

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.

Page 74: Inleiding Adaptieve Systemen

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.

– ??

– ??

Page 75: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Complementair opsombaar

N

Page 76: Inleiding Adaptieve Systemen

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.

Page 77: Inleiding Adaptieve Systemen

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.

Page 78: Inleiding Adaptieve Systemen

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.

Page 79: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Onderverdeling van deelverzamelingen van NFlake, p. 47:

Page 80: Inleiding Adaptieve Systemen

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.

Page 81: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Waar zijn ze dan, die “onberekenbare” getallen?!

Wijs me ze aan!?

Page 82: Inleiding Adaptieve Systemen

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.)

Page 83: Inleiding Adaptieve Systemen

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.

Page 84: Inleiding Adaptieve Systemen

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)

Page 85: Inleiding Adaptieve Systemen

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.”

Page 86: Inleiding Adaptieve Systemen

Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk

Ongebruikte slides

Page 87: Inleiding Adaptieve Systemen

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.


Recommended