Honours projecten BSc Informatica: twee voorstellen

Vergelijkbare documenten
Honours projecten BSc Informatica: twee voorstellen

Sectie TCS (Theory of Computer Science)

Termherschrijfsystemen en Propositie-Algebra

Logica voor Informatici najaar 2000 Opgaven en Oplossingen Hoofdstuk 2

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

Logica voor Informatica

Semantiek (2IT40) Bas Luttik. HG 7.14 tel.: Hoorcollege 8 (7 juni 2007)

Kennisrepresentatie & Redeneren. Piter Dykstra Instituut voor Informatica en Cognitie

Rekenen-informatica. Jan Bergstra, Inge Bethke, Alban Ponse

Logic for Computer Science

Logica voor Informatica

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

5.4.2 a. Neen: dit lukt alléén met 1, 3, 7 enzovoort. b. Ja: dit lukt met elk aantal knopen! Bijvoorbeeld de volgende boom: 1

inleiding theoretische informatica practicum 1 deadline woensdag 20 februari 2008 om uur

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Semantiek (2IT40) Jos Baeten. HG 7.19 tel.: Hoorcollege 3 (12 april 2007)

Syntax- (compile), runtime- en logische fouten Binaire operatoren

Een korte samenvatting van enkele FORTRAN opdrachten

(On)Doenlijke problemen

Verzamelingen deel 3. Derde college

Implementatie #-operator

College Introductie

AXIOMATIEK VAN GETALLEN, vergezichten vanuit mijn ivoren toren

Logic for Computer Science

Practicumopgave Mehmet Oktener

Semantiek (2IT40) Jos Baeten. Formele Methoden. HG 7.19 tel.: Hoorcollege 1 (29 maart 2007)

Semantiek 1 college 10. Jan Koster

Zelftest Inleiding Programmeren

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

Bèta samenwerking UvA en VU Informatie voor studenten April 2015

Wiskundige beweringen en hun bewijzen

: Afstudeerproject BSc KI : Bachelor Kunstmatige Intelligentie Studiejaar, Semester, Periode : semester 2, periode 5 en 6

Modelleren en Programmeren voor KI

Proposities. Hoofdstuk 2

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

colleges recursieve datastructuren college 9 prioriteit van operatoren prioriteit in recursive descent parser

Mededelingen. TI1300: Redeneren en Logica. Metavariabelen Logica, p Minder connectieven nodig

Processoren. Marc Seutter & David N. Jansen 12 November 2013

Logica voor Informatica

OEFENINGEN PYTHON REEKS 1

Programmeren met Arduino-software

Termherschrijven. Jan van Eijck CWI. Achtergrondcollege Software Evolution, 22 september Samenvatting

Semantiek 1 college 4. Jan Koster

Logica 1. Joost J. Joosten

Hoorcollege I: PGA en de talen PGLA en PGLB Alban Ponse

Logica in het (V)WO. Barteld Kooi

OEFENINGEN PYTHON REEKS 1

OEFENINGEN PYTHON REEKS 1

Elfde college complexiteit. 23 april NP-volledigheid III

SOHO #WiskundePlantyn Richting Academische Wiskunde

Logica Les 1 Definities en waarheidstabellen. (Deze les sluit aan bij les 1 van de syllabus Logica WD_online)

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

Voortgezette Logica, Week 2

Inleiding Programmeren 2

2IA05 Functioneel Programmeren

TI1300: Redeneren en Logica. TI1300 Redeneren en Logica College 1: Inleiding en Bewijstechnieken. Blackboard: enroll!

Hoe werkt een computer precies?

Logica 1. Joost J. Joosten

De keuzestructuur. Versie DD

Wat is FP? The Haskell School of Expression. Functies. Types 1+1=2. Iedere expressie (en waarde) heeft een type.

1 Inleiding in Functioneel Programmeren

Variabelen en statements in ActionScript

Seminarium en Onderzoek

rh276a 0 We breiden nu bovenstaand programmafragment uit door assignments toe te voegen aan een nieuwe variabele m, aldus:

TW2020 Optimalisering

Andere grote namen van wiskundigen en/of filosofen: Plato, Socrates, Descartes (Cartesius), Spinoza, Kant, Russell, Hilbert, Tarski en Brouwer

Practicumopgaven Gerrit-Jan Jansen & Mark Meertens

Normaliseren versie 1.1

Relaties en Functies

Tentamen Objectgeorienteerd Programmeren

Redeneren met Onzekerheid II. Manipulatie van Onzekerheid. Kansverdeling. if E 2 then H y2 fi. if E 1 and E 2 then H z fi.

Verzamelingen, Lijsten, Functioneel Programmeren

Verzamelingen, Lijsten, Functioneel Programmeren

Gelijktijdigheid: Wederzijdse Uitsluiting & Synchronisatie Concurrency: Mutual Exclusion & Synchonization (5e ed: , Appendix A.

RuG-Informatica-cursus Discrete Structuren, versie 2009/2010

Vakgroep CW KAHO Sint-Lieven

FP-theorie. 2IA50, Deel B. Inductieve definities 1/19. / department of mathematics and computer science

Termherschrijven. Jan van Eijck CWI. Achtergrondcollege Software Evolution, 22 september 2005

Automaten. Informatica, UvA. Yde Venema

Som Van Twee Getallen

Practicum Ox intro. Practicum Ox intro. VU Numeriek Programmeren 2.5. Charles Bos. Vrije Universiteit Amsterdam. 3 april /18

Waarmaken van Leibniz s droom

Logica als een oefening in Formeel Denken

VAN HET PROGRAMMEREN. Inleiding

Modelleren en Programmeren

LogEX: gebruikershandleiding

Tegenvoorbeeld. TI1300: Redeneren en Logica. De truc van Gauss. Carl Friedrich Gauss, 7 jaar oud (omstreeks 1785)

Javascript oefenblad 1

Deel I Hoofdstuk 4: Modelleren van Toestand

PROPOSITIELOGICA. fundament voor wiskundig redeneren. Dr. Luc Gheysens

Hoofdstuk 4. In dit hoofdstuk wordt een aantal uiteenlopende eigenschappen van de propositielogica

Hoofdstuk 5: Functies voor getallen en teksten

public boolean equaldates() post: returns true iff there if the list contains at least two BirthDay objects with the same daynumber

Presentatie Michiel. Informaticastage najaar 2004

PYTHON REEKS 1: BASICS. Mathias Polfliet

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

Abstraheren van modellen

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010

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

Curriculum Informatica 2003/04

Transcriptie:

Honours projecten BSc Informatica: twee voorstellen mogelijk ook geschikt voor BSc Kunstmatige Intelligentie Alban Ponse section Theory of Computer Science Informatics Institute, University of Amsterdam https://staff.fnwi.uva.nl/a.ponse/ 8 september 2016

Twee voorstellen voor Honoursprojecten Begeleiding Wekelijkse, korte bijeenkomsten Begeleiders Inge Bethke & Alban Ponse Onderzoeksgroep / context Theory of Computer Science, Instituut voor Informatica Alban Ponse (TCS, UvA) Honours projecten - 2 voorstellen 8 september 2016 2 / 10

Voorstel 1: Getalsrepresentaties en termherschrijven Honoursproject voor INF (evt KI) voor twee studenten (mogelijk één student) Getalsrepresentaties (binair, decimaal) zijn fundamenteel in de aritmetische programmatuur. Interesse: normaalvormen voor diverse representaties van Z met +, en de additieve inverse functie (de min ), dus (_). Gezocht: termherschrijfsystemen die deze normaalvormen opleveren en die wenselijke (wiskundige) eigenschappen hebben. Idee: Een decimaal getal als 132 zien we als normaalvorm met de waarde 132 = 10 13 + 2 en 13 = 10 1 + 3 = 10 1 + 3 dus, algemener, wd = 10 w + d met d D = {0, 1, 2,..., 9} en w D. Alban Ponse (TCS, UvA) Honours projecten - 2 voorstellen 8 september 2016 3 / 10

Twee perspectieven op de structuur, uitgaande van D. Eerste perspectief: (1 ˆd 3) ˆd 2 representeert het decimale getal 132 en de functie _ ˆd _ (infix notatie) is een tree-constructor. Typische herschrijfregels: 0 ˆd x x x ˆd (y ˆd z) (x + y) ˆd z x (y ˆd 2) ((x y) ˆd 0) + (x 2) Vb: 2 ˆd (1 ˆd 5) = (2 + 1) ˆd 5 = 3 ˆd 5 (= 35) Ook: (1 ˆd 3) ˆd 2) is normaalvorm, maar wat is die van 1 ˆd ( (3 ˆd 2))? Alban Ponse (TCS, UvA) Honours projecten - 2 voorstellen 8 september 2016 4 / 10

Tweede perspectief: Tien functies Z Z (postfix notatie) _: d 0, _: d 1, _: d 2,..., _: d 9, decimal append zero,..., en decimal append nine. Vb: (1: d 3): d 2 representeert het decimale getal 132. Typische herschrijfregels: 0: d 2 2 x (y : d 2) ((x y): d 0) + (x 2) Vraagstelling: Onderzoek of de herschrijfsystemen in de paper Three Datatype Defining Rewrite Systems for Datatypes of Integers each extending a Datatype of Naturals, http://arxiv.org/abs/1406.3280v4 qua efficiëntie, begrijpelijkheid en mate van determinisme kunnen worden verbeterd. Eventueel ook: werk aan de open vragen gesteld in de paper Datatype defining rewrite systems for the ring of integers, and for natural and integer arithmetic in unary view, http://arxiv.org/abs/1608.06212v1 Alban Ponse (TCS, UvA) Honours projecten - 2 voorstellen 8 september 2016 5 / 10

Voorstel 2: Short-circuit-logica (SCL) Honoursproject voor INF (evt KI), bij voorkeur voor twee studenten (mogelijk één student) Context: Welke logische wetten karakterizeren short-circuit evaluatie van Boolese condities in de setting van het imperatief programmeren (of van het redeneren over programma s)? vaststelling van de mogelijke zij-effecten die in de evaluatie van zulke condities kunnen optreden: een eenvoudig voorbeeld met && ("Logical and") is de conditie (f (x) > 17) && (y < 3) want als evaluatie van f (x) van invloed kan zijn op de waarde van y, kan deze conditie een ander resultaat (true of false) opleveren dan (y < 3) && (f (x) > 17) en geldt commutativiteit van && dus niet. Alban Ponse (TCS, UvA) Honours projecten - 2 voorstellen 8 september 2016 6 / 10

Tegenvoorbeeld: links-distributiviteit van && over ("Logical or"). 1) For program variable i, atom (i==k) with k Z is a test, and 2) Boolean evaluation of assignment (i=e) yields false iff e s value is 0. Then, if i has initial value 2, (i=i+1) && ((i==2) (i==3)) evaluates to true, and ((i=i+1) && (i==2)) ((i=i+1) && (i==3)) evaluates to false Logische wetten die niet gelden: (equationeel) alle varianten van distributiviteit, bv. x && (y z) = (x && y) (x && z) (als hierboven) alle varianten van absorptie, bv. x && (x y) = x x && x = x en x x = x Alban Ponse (TCS, UvA) Honours projecten - 2 voorstellen 8 september 2016 7 / 10

Aanpak: druk samengestelde condities uit mbv Hoare s conditional : P Q R staat voor "If Q then P else R" en definitie van && is dan met F een constante voor "false". P && Q = Q P F Dit is zgn. short-circuit evaluation: er wordt niet meer ge-evalueerd dan nodig: als P "false" oplevert, dan ook P && Q zonder dat Q wordt ge-evalueerd. Short-circuit disjunctie (de "logical or") is gedefinieerd als P Q = T P Q met T een constante voor "true", en negatie is gedefinieerd als P = F P T Alban Ponse (TCS, UvA) Honours projecten - 2 voorstellen 8 september 2016 8 / 10

Mogelijke zij-effecten van Boolese (atomaire) condities worden gekarakterizeerd door verschillende semantieken. Free valuation congruence (fvc): alle mogelijke zij-effecten (met evaluatie naar true / false). (Minstens drie andere semantieken) Static vc (svc): als in propositielogica (geen zij-effecten) Vraagstelling: Bestudeer Repetition-proof SCL en probeer aan de hand van de scriptie van Jeroen van Wier (https://esc.fnwi. uva.nl/thesis/centraal/files/f1647284831.pdf) de conjecture op p.28 te bewijzen. Literatuur: Short-circuit logic. Available at arxiv:1010.3674v4 [cs.lo,math.lo], 12 March 2013. Evaluation trees for proposition algebra. Available at arxiv:1504.08321v2 [cs.lo], 19 May 2015. Alban Ponse (TCS, UvA) Honours projecten - 2 voorstellen 8 september 2016 9 / 10

N.B. 1 Varianten van && en die volledige ("strict") evaluatie voorschrijven, zijn definieerbaar in termen van short-circuit evaluatie: P & Q = (P (Q && F)) && Q P Q = (P && (Q T )) Q 2 Voor atomen a, b, c kan a b c niet worden uitgedrukt mbv && en en als er (sterke) zij-effecten mogen optreden. 3 Meer informatie beschikbaar op https://staff.fnwi.uva.nl/a.ponse/scl.php Alban Ponse (TCS, UvA) Honours projecten - 2 voorstellen 8 september 2016 10 / 10