Logische Complexiteit

Vergelijkbare documenten
Beslisbare talen (1) IN2505-II Berekenbaarheidstheorie. Beslisbare talen (2) Beslisbare talen (3) De talen: College 7

Paradox van zelfreproductie. IN2505-II Berekenbaarheidstheorie. Zelfreproductie? Programma s en zelfreproductie. College 11.

Vorig college. IN2505-II Berekenbaarheidstheorie College 4. Opsommers versus herkenners (Th. 3.21) Opsommers

Automaten & Complexiteit (X )

De klasse van recursief opsombare talen is gesloten onder en. Dit bewijzen we met behulp van een recursieve opsomming

Automaten & Complexiteit (X )

TU Delft. TU Delft. TU Delft. TU Delft. IN3100 Fundamentele Informatica. Practicum. Practicum: Inschrijven. Practicum: LET OP

Wiskunde. Verzamelingen, functies en relaties. College 6. Donderdag 7 Januari

Kennisrepresentatie & Redeneren. Piter Dykstra Instituut voor Informatica en Cognitie

start -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c

Logica voor Informatica

Logic for Computer Science

Logica voor Informatici najaar 2000 Opgaven en Oplossingen Hoofdstuk 2

Logica voor Informatica. Propositielogica. Normaalvormen en Semantische tableaux. Mehdi Dastani

Kansrekening en Statistiek

Formeel Denken 2014 Uitwerkingen Tentamen

Automaten en Berekenbaarheid

Inhoud eindtoets. Eindtoets. Introductie 2. Opgaven 3. Terugkoppeling 6

Automaten en Berekenbaarheid

Taaltechnologie. Januari/februari Inhoud

Logica 1. Joost J. Joosten

Uitwerking van opgaven in Sipser

Logica 1. Joost J. Joosten

Logic for Computer Science

Helden van de wiskunde: L.E.J. Brouwer Brouwers visie vanuit een logica-informatica perspectief

Talen & Automaten. Wim Hesselink Piter Dykstra Opleidingsinstituut Informatica en Cognitie 9 mei 2008

Vereenvoudigen van logische vergelijkingen. formules uit de logische algebra. de methode van Quine en McCluskey KARNAUGH-KAART MET 2 VERANDERLIJKEN

Reguliere Expressies

Proeftentamen in1211 Computersystemen I (NB de onderstreepte opgaven zijn geschikt voor de tussentoets)

Logica voor Informatica. Propositielogica. Syntax & Semantiek. Mehdi Dastani Intelligent Systems Utrecht University

Logica voor Informatici najaar 2000 Opgaven en Oplossingen Hoofdstuk 3

opgaven formele structuren deterministische eindige automaten

Kansrekening en Statistiek

Modelleren en Programmeren voor KI

Kansrekening en Statistiek

Mededelingen. TI1300: Redeneren en Logica. Waarheidstafels. Waarheidsfunctionele Connectieven

In Vlaanderen bestaat er nog geen leerlijn programmeren! Hierdoor baseren wij ons op de leerlijn die men in Nederland toepast voor basisscholen.

Gödels theorem An Incomplete Guide to Its Use and Abuse, Hoofdstuk 3

Automaten en Berekenbaarheid

Algoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal.

Kansrekening en Statistiek

c, X/X a, c/λ a, X/aX b, X/X

Logica voor AI. Inleiding modale logica en Kripke semantiek. Antje Rumberg. 14 november 2012

V = {a, b, c, d, e} Computernetwerken: de knopen zijn machines in het netwerk, de kanten zijn communicatiekanalen.

Geavanceerde Programmeertechnologie. Prof. dr. Kris Luyten Jo Vermeulen

Kansrekening en Statistiek

Akternatieve doorrekenen. 7.2 Tabellen

Kansrekening en Statistiek

Inleiding Logica voor CKI

Kansrekening en Statistiek

1 Rekenen in eindige precisie

Logica voor AI. Responsiecollege. Antje Rumberg. 12 december Kripke Semantiek. Geldigheid. De bereikbaarheidsrelatie

Logica voor Informatica

Logica voor Informatica. Logica Toepassingen. PROLOG: Logische Programmeertaal. Mehdi Dastani

Wiskunde. Verzamelingen, functies en relaties. College 2. Donderdag 3 November

De mens. Een machine?

Om nu te berekenen hoeveel koelwater er per uur door een leiding stroomt, heb je een vergelijking of formule nodig. Je gebruikt de volgende formule:

Algoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal.

Computervaardigheden. Universiteit Antwerpen. Computervaardigheden en Programmatie. Grafieken en Rapporten 1. Inhoud. Wat is scripting?

Computer Vision: Hoe Leer ik een Computer Zien?

Samenvatting. TI1306 Redeneren & Logica Review Guide 2014 Door: David Alderliesten. Disclaimer

Quantum computing. Dirk Nuyens. dept. computerwetenschappen KULeuven.

Relatieve en Absolute adressering

Logica voor Informatica. predikatenlogica. Syntax van predikatenlogica. Mehdi Dastani Intelligent Systems Utrecht University

Kansrekening en Statistiek

Transcriptie:

Logische Complexiteit Universele Turing machines College 12 Donderdag 18 Maart 1 / 11

Hoog-niveau beschrijvingen en coderen Vanaf nu: hoog-niveau beschrijvingen van TM s. Daarbij worden objecten die geen eindige woorden zijn als zodanig gecodeerd. Vb. De input van een TM bestaat uit paren van woorden in alfabet {a, b, c}. Een paar van twee woorden w, v {a, b, c} kan bijvoorbeeld gecodeerd worden als w#v Hierbij wordt het alfabet dus uitgebreid met #. 2 / 11

Hoog-niveau beschrijvingen en coderen Vb. De input van een TM bestaat uit de CFG s waarvan de variabelen {S, A} en het alfabet {ɛ, 0} is. De input zou gecodeerd kunnen worden als woorden in alfabet {S, A, 0, ɛ,, }, waarbij de regels van de CFG scheidt. De regels van een CFG zijn bijv. R = {S SAS, A A0A ɛ}. Daarbij hoort dan het woord S SAS A A0A A ɛ De TM kan herkennen of een input de juiste vorm heeft, d.w.z. of het bestaat uit regels gescheiden door s. 3 / 11

Hoog-niveau beschrijvingen en coderen Vb. De input van een TM bestaat uit propositionele formules in variabelen p 1, p 2, p 3,.... Die kunnen als volgt gecodeerd worden in alfabet {0, 1,,,,, (, )}: variabele p i wordt gecodeerd als de binaire representatie van i en de connectieven coderen zichzelf. De formule (p 1 p 5 ) p 4 wordt dus gerepresenteerd door het woord: ( 1 101 ) 100 4 / 11

Hoog-niveau beschrijvingen en coderen Om aan te geven dat de input gecodeerd wordt, volgens een van tevoren vastgestelde codering, worden haakjes gebruikt: de code van object O wordt aangeduid met O. Om aan te geven over welke input het gaat is de eerste zin van een hoog-niveau beschijving van een TM dan: Op input O, waarbij O een... is, doe... Dit is weer een afkorting van: Op input w: 1. Ga na of w van de vorm O is voor e.o.a. O. Zo niet, reject. 2.... 5 / 11

Hoog-niveau beschrijvingen en coderen Om aan te geven dat de input gecodeerd wordt, volgens een van tevoren vastgestelde codering, worden haakjes gebruikt: de code van object O wordt aangeduid met O. Om aan te geven over welke input het gaat is de eerste zin van een hoog-niveau beschijving van een TM dan: Op input O, waarbij O een... is, doe... Dit is weer een afkorting van: Op input w: 1. Ga na of w van de vorm O is voor e.o.a. O. Zo niet, reject. 2.... Vb. Als de input van een TM uit formulas bestaat, dan wordt de eerste zin: Op input ϕ, waarbij ϕ een formule is, doe.... Dit is dus een afkorting van: Op input w: 1. Ga na of w van de vorm ϕ is voor e.o.a. formule ϕ. Zo niet, reject. 2.... 5 / 11

TM s met als input TM s Er bestaat een eindig alfabet Σ TM waarin alle TM s gecodeerd kunnen worden. Def. De universele Turing machine U is de volgende TM: U: Op input M, w, waarbij M een TM is en w een woord in het aflabet van M: 1. Simuleer M op w. 2. Als M een accept toestand bereikt, accept; als M een reject toestand bereikt, reject. U heet universeel omdat het elke andere TM simuleert. Voor elke TM M en elk woord w in het alfabet van M geldt: M accepteert w desda U het woord M, w accepteert. M verwerpt w desda U het woord M, w verwerpt. M stopt niet op w desda U niet op het woord M, w stopt. 6 / 11

Universele modellen Def. Een model heet universeel als het TM s simuleert. St. DFA s met 2 stacks zijn universeel. St. Java, C, Lisp, PostScript, Excel,... zijn universeel. St. Berekenen via biologische operaties op DNA is universeel. St. Quantum computers zijn universeel. St. Game of Life is universeel. 7 / 11

Beslisbare talen Def. Een taal is beslisbaar als er een beslisser is (een TM die op elke input uiteindelijk stopt) die de taal herkent. St. De volgende talen zijn beslisbaar: A DFA = def { M, w M is een DFA die woord w accepteert} A NFA = def { M, w M is een NFA die woord w accepteert} A REX = def { R, w R is een reg.ex. die woord w genereert} E DFA = def { M M is een DFA met L(M) = } A CFG = def { G, w G is een CFG die woord w genereert} E CFG = def { G G is een CFG met L(G) = } EQ DFA = def { M, N M, N zijn DFA s met L(M) = L(N)} St. Elke context-vrije taal is beslisbaar. 8 / 11

Beslisbare en onbeslisbare talen St. De taal EQ DFA = def { M, N M, N zijn DFA s met L(M) = L(N)} is beslisbaar. St. De taal EQ CFG = def { G, H G, H zijn CFG s met L(G) = L(H)} is onbeslisbaar. 9 / 11

Onbeslisbare talen St. De taal A TM = def { M, w M is een TM die w accepteert} is Turing-herkenbaar (door de universele TM U), maar onbeslisbaar. St. De taal A TM = def { M, w M is een TM die w niet accepteert} is niet Turing-herkenbaar. 10 / 11

Finis 11 / 11