Logica voor informatica

Slides:



Advertisements
Verwante presentaties
Les 2 klassediagrammen II
Advertisements

Sudoku puzzels: hoe los je ze op en hoe maak je ze?
Bij een herhaald experiment, met telkens dezelfde kans op succes gebruiken we de binomiale kansverdeling Een binomiale kansverdeling wordt gekenmerkt door.
Programmeren met Alice
dia's bij lessenserie Pythagoras ± v Chr.
Databases via internet
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 1.
vwo A/C Samenvatting Hoofdstuk 6
PM zijn de Principia Mathematica. Deze vormen een formeel systeem voor de wiskunde. Ze zijn beschreven door A.N. Whitehead and B. Russell. Gödel bepaalt.
Practica Computerlinguistiek Tekst en uitleg:
Hogere Wiskunde Complexe getallen college week 6
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen College 5.
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen (II) College 6.
Inleiding Adaptieve Systemen, Opleiding CKI, Utrecht. Auteur: Gerard Vreeswijk Inleiding Adaptieve Systemen Aftelbaarheid & Berekenbaarheid.
Inleiding Adaptieve Systemen
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
PARADOXEN EN ONBEWIJSBAARHEID
Numerieke Natuurkunde
BEWIJSPATRONEN EN LOGICA
1 Complexiteit Bij motion planning is er sprake van drie typen van complexiteit –Complexiteit van de obstakels (aantal, aantal hoekpunten, algebraische.
ADP Tussenopdracht: Horseman Student: Kaj Metz Richting: GAR Module: Design & Research Vak: Action Design Principles Docent: Karel Millenaar Datum:
SOCIAL RETURN ROTTERDAM Hoe communiceer je social return?
Klik ergens op het witte deel van deze pagina om verder te gaan
Datastructuren Sorteren, zoeken en tijdsanalyse
1 Datastructuren Een informele inleiding tot Skiplists Onderwerp 13.
Interpreteren van data
Quiz Start.
MET DANK AAN COLLEGA’S IN DEN LANDE ! vee 2012
Hoofdaannamen van Appreciative Inquiry
N T E R C I E F D E K N A CREATIEF DENKEN.
Ordenen van gegevens Inleiding informatiesystemen © Sander Cox.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 6 Cees Witteveen.
MINECRAFT PLAATJES TUTORIAL #3 KUBUSCRAFT.
Instructie Programmeren Task 7
Programmeren.
Gecijferdheid les 1.4 Grootst gemene deler Kleinst gemene veelvoud
Java Objectgeoriënteerd Programmeren in Java met BlueJ
Grafentheorie Graaf Verzameling knopen al dan niet verbonden door takken, bijv:
Zero Knowledge Authenticatie Gerard Tel. Overzicht Inleiding en Conclusie Ali Baba’s Grot en Alice’ bewijs Getallen, kwadraten, wortels Het Zero Knowledge.
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
Oneindig E. Vanlommel NWD 2016.
Hoe maak ik een PowerPoint presentatie?
Rekenen en Redeneren met Oneindig Jeroen Spandaw NWD, 5 februari 2016.
Les 3 - Operators Workshop Php Basic. ICT Academy Php Basic Content Operators Wiskundig Toewijzing Vergelijking.
Aanleggen bestrating Niveau 1 en 2 Wedeo.
Woordjes leren.
Kansverdelingen Kansverdelingen Inleiding In deze presentatie gaan we kijken naar hoe kansen zijn verdeeld. We gaan in op verschillende.
Hoe maak je een werkstuk? Begin op tijd!!. Kies een leuk onderwerp  Denk aan een hobby, sport, beroep, stad of onderwerp uit een van de lesboeken van.
Inhoud Optellen en aftrekken. Vermenigvuldigen en delen.
Minimum Opspannende Bomen Algoritmiek. 2 Inhoud Het minimum opspannende bomen probleem Een principe om een minimum opspannende boom te laten groeien Twee.
Divergeren Deze powerpoint ga je aan de slag met verschillende divergerende technieken. Hierbij bedenk je zoveel mogelijk ideeën. Bij een brainstormsessie.
Programmeren. Wat is programmeren? Het schrijven van opdrachten voor de processor De processor “spreekt” machinetaal:
Gerandomiseerde algoritmes
Meest voorkomende vragen bij examenteksten.
Berekening van de Orde Van een Algoritme
Denken als een computer
Minimum Opspannende Bomen
Meest voorkomende vragen bij examenteksten.
Programmeren met Reeksen
18 Evalueren van Beweringen en Redenen. Scenariotest
Gevorderde programmeer Les
Recursie in de wiskunde
Opdrachten herhalen public void tekenScherm (object o, PEA pea)
Significante cijfers © Johan Driesse © 2013 – Johan Driesse.
Minimodules voor de 3e klas
3 vmbo-KGT Samenvatting Hoofdstuk 10
Software Development fundamentals
Python – For loop + strings
Python – For loop + strings
Transcript van de presentatie:

Logica voor informatica Deel II

Berekenbaarheids-theorie

Het vraagstuk van berekenbaarheid Zijn er inherente beperkingen aan wat computers kunnen (ongeacht programmeertaal, aantal processoren, rekentijd, en geheugen)? Zijn er problemen die, hoewel voldoende precies geformuleerd, computers principieel niet kunnen oplossen? Zo ja, welke problemen zijn dat? Logica voor Informatica G.A.W. Vreeswijk

Berekenbaarheids-theorie Probleem-typen

Vaag geformuleerde of metafysische problemen Hoe zou lekker bier moeten smaken? Wat is een goeie game? Wat speelt zich af in een zwart gat? Wat is de zin van het leven? Wat is gelijkheid? Deze vraagstuk-typen zijn vaag geformuleerd, of kunnen alleen subjectief worden beantwoord of behoren tot het domein van de metafysica. “(…) wovon man nicht reden kann, darüber muß man schweigen.” Logica voor Informatica G.A.W. Vreeswijk

Ingewikkelde maar toch beslisbare problemen 1 2 3 5 6 4 7 8 9 11 10 12 13 14 15 Kan deze puzzel worden opgelost in minder dan 43 zetten? Kan ik meer dan €18 aan boodschappen meenemen? Is er een kliek groter dan drie? Is er een dominerende verzameling met minder dan 3 (Graaf 1) resp. 4 (Graaf 2) knopen? Logica voor Informatica G.A.W. 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. Logica voor Informatica G.A.W. Vreeswijk

( ) Vraag-typen Vaag of subjectief Voldoende precies geformuleerd Met de computer te beantwoorden Niet met de computer te beantwoorden Beslisbaar Onbeslisbaar ( ) Eenvoudig Reken-intensief Logica voor Informatica G.A.W. Vreeswijk

Onbeslisbare problemen Voorbeelden

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) Logica voor Informatica G.A.W. Vreeswijk

Het stop-probleem is onbeslisbaar Stelling. Zij J een programmeertaal. Als J voldoende rijk is (en Java is dat bijvoorbeeld zeker), 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. Merk op: h/2 en j/1. Stel h bestaat, zó dat h(j, i) = 1  j(i) stopt. Logica voor Informatica G.A.W. Vreeswijk

Er bestaan aftelbaar veel computerprogramma’s `Bewering. Laat A een eindig alfabet zijn. De verzameling van alle eindige strings over A is aftelbaar. Bewijs: a, b,..., z, aa, ab, ac,…, az, ba, bb, … Gevolg: de volgende verz. zijn aftelbaar: De verz. van alle programma’s in de taal J. De verz. van alle computerprogramma’s in bestaande programmeertalen De verz. van alle mogelijke computerprogramma’s in alle mogelijke (dus ook toekomstige) programmeertalen. Logica voor Informatica G.A.W. Vreeswijk

Tabel voor h h i1 i2 i3 i4 i5 i6 i7 i8 i9 … j1 1 j2 j3 j4 j5 j6 j7 j8 j9 q 1 1 Nu moeten we er ons alleen nog van overtuigen dat q gewoon één van de ji is. Zoja, dan zijn we klaar. (Ga na!) Logica voor Informatica G.A.W. Vreeswijk

Het stop-probleem is onbeslisbaar Halting programma, h, is zó, dat h(j, i) = 1  j(i) stopt. Omgekeerd: h(j, i) = 0  j(i) stopt niet. Bekijk programma q/1: q(i): als h(i, i) = 0 stop, anders draai oneindige loop. Stopt q(q) ? Volgens q’s definitie: q(q) stopt  h(q, q) = 0. Volgens h’s definitie: q(q) stopt  h(q, q) = 1. Tegenspraak. diagonalisatie Logica voor Informatica G.A.W. Vreeswijk

Het stop-probleem voor eindige collecties Is het stop-probleem onbeslisbaar voor eindige collecties van programma’s? Piet: “Nog steeds niet. Het diagonalisatie-argument is nog steeds van kracht (op de nu eindige h-matrix).” Truus: “Ja. Er bestaat een controle-programma h dat een 1 afdrukt d.e.s.d.a. j stopt met input i.” “Zonder overigens te weten hoe h er uit ziet.” Logica voor Informatica G.A.W. Vreeswijk

Carcassonne Youtube gameplay instruction Logica voor Informatica G.A.W. Vreeswijk

Logica voor Informatica G.A.W. Vreeswijk

Voorbeeld van een Carcassonne 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? Logica voor Informatica G.A.W. Vreeswijk

Z2 afdekken met rotatie is flauw Logica voor Informatica G.A.W. Vreeswijk

Afdekken zonder rotatie Voorbeelden waarin rotatie niet is toegestaan: Noord-Zuid oriëntatie. Schaduwen. Logica voor Informatica G.A.W. 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) Logica voor Informatica G.A.W. Vreeswijk

Het tegel-probleem van Wang 1961: Hoa Wang: "Proving theorems by pattern recognition—II", Bell System Tech. Journal 40(1):1–41. Algoritme nam periodiciteit aan. 1966: Robert Berger: "The undecidability of the domino problem", Memoirs Amer. Math. Soc. 66(1966). A-periodieke set bevatte 20,426 tegels. 1996: Karel Culik: "An aperiodic set of 13 Wang tiles", Discrete Mathematics 160, 245–251. Logica voor Informatica G.A.W. 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.) Logica voor Informatica G.A.W. Vreeswijk

A-periodic texture mapping Voorbeelden waarin rotatie niet is toegestaan: Noord-Zuid oriëntatie Schaduwen op terrein-tegels. Jos Stam (1997), Aperiodic Texture Mapping Michael F. Cohen, Jonathan Shade, Stefan Hiller, Oliver Deussen (2003), Wang Tiles for Image and Texture Generation Li-Yi Wei (2004), Tile-Based Texture Mapping on Graphics Hardware Logica voor Informatica G.A.W. Vreeswijk

Li-Yi Wei (2004), afbeeldingen Chelsea Robertson (2005) Logica voor Informatica G.A.W. 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. Het bewijs komt er op neer elk specifiek zg. halting-probleem te vertalen naar een specifiek betegelings-probleem. ... en het universele halting-probleem is onbeslisbaar. Logica voor Informatica G.A.W. Vreeswijk

Emil L. Post 1897: geboren in Augustow, emigratie naar VS 1909: verlies van linkerarm 1920: doctoraalscriptie over Principia Mathematica 1921: ontdekking onvolledigheidsstelling Gödel, eerste aanval van bipolar, demotie carrière 1936: Post-machine 1944: opsombaarheid, Turing-degree 1954: overleden (hartaanval) Logica voor Informatica G.A.W. Vreeswijk

Post’s correspondence problem PCP puzzel 1 2 3 Opgave: verzin een getal, bestaande uit cijfers 1, 2, en 3, zó dat dit getal een blok representeert met een gave rechterkant 1 1 1 1 Een poging: 3211…? Een oplossing: 3231 1 1 1 1 1 1 1 1 1 1 1 Logica voor Informatica G.A.W. Vreeswijk

Andere PCP puzzel 1 2 3 1 1 Lengte van een kortste oplossing (er zijn er twee): 75 ! 1 1 Een poging: 1 1 1 1 1 1 1 1 . . ? 1 1 1 1 1 1 Logica voor Informatica G.A.W. Vreeswijk

Tijdbalk voor onbeslisbaarheid 1889: Peano: formeel systeem voor rekenkunde 1900: Hilbert: 23 problemen voor de 20e eeuw 1910-1913: Whityehead & Russell: principia methematica 1920: Hilbert's programma 1928: het Entscheidungsproblem 1936: lambda-calculus → eerste onbeslisbare probleem 1936: Turing machine 1936: Post machine Logica voor Informatica G.A.W. Vreeswijk

Berekenbaarheids-theorie Definities en resultaten

Berekenbaarheids-theorie Berekenbare functies Beslisbare verzamelingen Opsombare verzamelingen = Semi-beslisbare verzamelingen Logica voor Informatica G.A.W. Vreeswijk

Berekenbaar, opsombaar, beslisbaar Een functie f : N  N heet berekenbaar als er een programma te schrijven valt die deze functie kan uitrekenen. Een verzameling A N heet opsombaar als er een programma te schrijven valt die precies deze verzameling kan afdrukken. Een verzameling A N heet beslisbaar als er een programma te schrijven valt die kan uitmaken of een getal in A zit. Logica voor Informatica G.A.W. Vreeswijk

Berekenbaarheids-theorie Berekenbare functies

Maakt het nog uit in welke programmeertaal? Berekenbaarheid Maakt het nog uit in welke programmeertaal? Een partiële functie f : N  N heet berekenbaar als er een computer-programma π/1 te schrijven is die f kan uitrekenen. Eenvoudig voorbeeld: f : N → N beeldt x af op √x mits √x geheel is; anders ongedefinieerd. Is deze functie berekenbaar? Verzin andere functies N → N. Berekenbaar? Logica voor Informatica G.A.W. Vreeswijk

Berekenbaarheid preciezer definiëren Zij f : N  N een partiële functie en J een programmeertaal. We zeggen dat programma πJ de functie f berekent als voor elke nN en elke uitvoering van π(n) het volgende geldt: Als f↓n, wordt f(n) afgedrukt. Als f↑n, wordt niets afgedrukt. Berekenbaarheid. Een partiële functie f : N  N heet berekenbaar, ook wel: effectief berekenbaar, als er een programma π/1 J bestaat welke f berekent. Logica voor Informatica G.A.W. Vreeswijk

Aanvullingen op berekenbaarheids-definitie Als π een uitkomst afdrukt, dan is π eigenlijk klaar, en mag het stoppen. Als π niet op deze manier werkt, kunnen we π veranderen in een programma π’ dat altijd stopt na het afdrukken van een resultaat. Als f↓n kan het op zich nog best lang duren voordat π de uitkomst f(n) afdrukt. Als π niets afdrukt, kan dat twee redenen hebben. Het kan kan zijn dat π heeft “ontdekt” dat f↑n en daarom stopt (of doorgaat zonder ooit nog wat af te drukken). Het kan zijn dat f↓n en π nog bezig is f(n) uit te rekenen. Logica voor Informatica G.A.W. Vreeswijk

Er bestaan hoogstens aftelbaar oneindig veel berekenbare functies Eigenlijk wordt elke berekenbare functie berekend door aftelbaar oneindig veel programma’s. Dit heet het Padding Lemma. Bewijs: Kies een voldoende krachtige programmeertaal, bijvoorbeeld J. Alle berekenbare functies B  NN worden berekend door tenminste één element uit J. We hebben zojuist een injectie B → J geconstrueerd. Eerdere stelling uit dictaat: als f: X → Y een injectie is, dan is |X| ≤ |Y|. Dus |B| ≤ |J|. Logica voor Informatica G.A.W. Vreeswijk

Het padding lemma . . . y :=4; while ( y < x ) { } x := y − z; z := z; /* bla */ x := y − z; Logica voor Informatica G.A.W. Vreeswijk

Er bestaan onberekenbare functies Stelling. De verzameling NN bevat tenminste één onberekenbare functie. Volgt uit: Bewijs: Er zijn overaftelbaar veel functies van N naar N (i.e., NN is overaftelbaar). Maar er zijn hoogstens aftelbaar veel berekenbare functies van N naar N. (Zojuist gezien!) Logica voor Informatica G.A.W. Vreeswijk

Het leeuwendeel van N  N is onberekenbaar Stelling. De verzameling NN bevat overaftelbaar veel onberekenbare functies. Volgt uit: Bewijs: NN bevat aftelbaar veel berekenbare functies B. Het complement NN ─ B (de verz. van onberekenbare functies) kan niet aftelbaar zijn. Dus is het complement overaftelbaar. Logica voor Informatica G.A.W. Vreeswijk

Vragen Welke van de volgende functies N → N is berekenbaar? De identiteitsfunctie. De compositie (samenstelling) van twee berekenbare functies. De inverse van een berekenbare functie. De inverse van een berekenbare functie, vooropgesteld dat de inverse bestaat. Dit is een moeilijke… we hebben hier een techniek voor nodig, genaamd “zwaluwstaarten”. Logica voor Informatica G.A.W. Vreeswijk

“Zwaluwstaarten” (“dovetailing”) Laat programma π/1 een functie f : N → N uitrekenen. π kan quasi-parallel worden uitgevoerd op N: Eén stap π(0). Eén stap π(0), één stap π(1). Eén stap π(0), één stap π(1), één stap π(2). Eén stap π(0), één stap π(1) , één stap π(2), één stap π(3). … 1 2 3 4 Logica voor Informatica G.A.W. Vreeswijk

link naar pin code analyse De inverse van een injectieve berekenbare functie (1) bestaat, en (2) is berekenbaar Bewijs: Laat π/1 de injectie f : X → Y uitrekenen. De inverse, g (als part. fun.), bestaat. Algoritme om g(n) te berekenen: Voer π quasi-parallel op N uit. Als g(n) gedefinieerd is, zal f(g(n)) = n en zal π voor zekere m ooit n afdrukken. In dat geval geldt m = g(n)―stop. link naar pin code analyse Logica voor Informatica G.A.W. Vreeswijk

Berekenbaarheid op strings Waarom alleen maar kijken naar functies f : N → N ? Functies f : Strings → Strings zijn toch ook interessant in de informatica? Strings N N Strings codeer de-codeer kan berekenbaar, bijv. d.m.v. Gödel-nummering Logica voor Informatica G.A.W. Vreeswijk

Gödel nummering ASCII: 0-127 codeert letters, cijfers, en leestekens Het woord “abces”: 97, 98, 99, 101, 115 Naar uniek natuurlijk getal: 297398599710111115 Deze injectie Strings → N is berekenbaar Omgekeerd is injectieve (partiële!) functie N → Strings ook berekenbaar Partieel, want welke string zou vertegenwoordigd worden door 29973898 ? Logica voor Informatica G.A.W. Vreeswijk

Berekenbaarheid op andere verzamelingen Op Stringsn → Strings . Op Strings* → Strings . (Waarbij Strings* = Strings0  Strings1  Strings2  .. . Voorbeeld: aap#noot#mies ↔ (aap, noot, mies) . Op Strings* → Strings* . Op Plaatjes* → Plaatjes* , Audio, Video, … Alle berekeningen moeten wel “batch” zijn. Geen interactiviteit. Geen asynchroniciteit. Geen “orakel”van buiten (software-updates). Logica voor Informatica G.A.W. Vreeswijk

Berekenbaarheids-theorie Beslisbaarheid

Beslisbaarheid preciezer definiëren We zeggen dat programma π/1 J beslist over verzameling X  N als π voor elk getal nN kan uitmaken of nX. We zeggen dat X  N beslisbaar is, als er een programma bestaat dat over X kan beslissen. “kan uitmaken of” → druk 1 af als nX, druk anders 0 af. Elke eindige verzameling is beslisbaar. Als X en Y beslisbaar zijn, dan zijn hun vereniging, doorsnede, verschil en complement dat ook. (Ga na!) Logica voor Informatica G.A.W. Vreeswijk

Een model-bewijs Te bewijzen: als X en Y beslisbaar zijn, dan is X  Y het ook. Bewijs: Laat j1 en j2 programma’s zijn die over X resp. Y kunnen beslissen. Het is nu in principe mogelijk een programma j te schrijven die over X  Y beslist, als volgt: Zij nN willekeurig. Laat j de waarden j1(n) en j2(n) uitrekenen door j1 en j2 aan te roepen. Laat j de waarde 1 teruggeven als en slechts als j1(n)=1 of j2(n)=1 (en 0 anders). Logica voor Informatica G.A.W. Vreeswijk

Beslisbaarheid van de propositielogica Is de (verz. van tautologieën in de) propositielogica beslisbaar? I.e., bestaat er een algoritme waarmee bepaald kan worden of een formule een tautologie is? Ja! : Waarheidstabellen Semantische tableaus Vragen: Kan men m.b.v. het Hilbert-bewijssysteem beslissen of een een formule een tautologie is? M.b.v. het Fitch-bewijssysteem (natuurlijke deductie)? Logica voor Informatica G.A.W. Vreeswijk

(Geldigheid in) predikaten-logica is semi-beslisbaar Semi-beslisbaarheid We zeggen dat programma π/1 semi-beslist over X  N, als π voor nX kan uitmaken of nX. We zeggen dat X  N semi-beslisbaar is, als er een programma π bestaat dat semi-beslist over X. “kan uitmaken of” → druk 1 af als nX, druk anders 0 af Als nX dan zal π een 0 afdrukken, of oneindig doorlopen. Zwakte: het heeft geen zin om op π te wachten. Logica voor Informatica G.A.W. Vreeswijk

Berekenbaarheids-theorie Opsombaarheid

Opsombaarheid preciezer definiëren We zeggen dat programma π/0 J de verzameling X  N opsomt als π precies alle getallen uit X kan afdrukken. We zeggen dat X  N opsombaar is, als er een programma bestaat dat X kan opsommen. π heeft geen input nodig. π is niet gebonden aan een volgorde. π mag elementen herhaald afdrukken. Er kunnen onvoorspelbare en willekeurige lange pauzes voorkomen tussen het afdrukken van getallen. Logica voor Informatica G.A.W. Vreeswijk

Raadsel: is NxN opsombaar? 31 30 29 28 27 26 Is suggestieve aftelling. Kun je ook een algoritme bedenken dat elementen in het platte vlak aftelt? I.e., kun je een opsomming bedenken? 13 12 11 10 25 14 3 2 9 24 15 4 1 8 23 16 5 6 7 22 17 18 19 20 21 Logica voor Informatica G.A.W. Vreeswijk

Een mogelijke opsomming van NxN while 1 { ontbind n in priemfactoren als n geen andere priemdelers heeft dan 2 en 3, print dan de exponenten als geordend paar, bv. 27384 → (7, 84) (Print niks in het andere geval.) } Logica voor Informatica G.A.W. Vreeswijk

Opsombaar ≠ aftelbaar Men kan bewijzen: P( X  N is opsombaar ) = 0 Stelling. Er bestaan aftelbare verzamelingen die niet opsombaar zijn. Bewijs: Er bestaan tenminste NN verschillende aftelbare verzamelingen. Er bestaan “maar” aftelbaar veel opsombare verzamelingen. Gevolg: Overaftelbaar veel aftelbare verzamelingen bezitten geen opsomming! Logica voor Informatica G.A.W. Vreeswijk

Semi-beslisbaar = opsombaar Stel X is opsombaar. Laat π/0 de verz. X opsommen. Semi-beslisprocedure: Draai π. Als nX dan zal n uiteindelijk verschijnen; druk in dat geval 1 af. Stel X is semi-beslisbaar. Laat π/1 semi-beslissen over X. Opsom-algoritme: Voer π/0 semi-parallel uit op N. Voor elke nX zal π vroeg of laat een 1 afdrukken. Druk deze n af. Als (eventueel!) een 0 wordt afgedrukt, druk dan niets af. zwaluwstaart-methode Logica voor Informatica G.A.W. 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. Weet niet. Logica voor Informatica G.A.W. Vreeswijk

Complementair opsombaar Logica voor Informatica G.A.W. Vreeswijk

Complementair opsombaar Een verzameling X  N heet complementair opsombaar als het complement opsombaar is. Co-opsombaar, co-enumereerbaar, co-recursief enumereerbaar, co-recursively enumerable, co-r.e. Stelling van Post: X  N is beslisbaar  X is opsombaar en complementair opsombaar. Antwoord op eerdere vraag: niet alle complementen van opsombare verz. zijn dus opsombaar. (Immers: niet alle verz. zijn beslisbaar.) Logica voor Informatica G.A.W. Vreeswijk