Logica voor Informatica - cs.uu.nl · Logica voor Informatica I Twee deeltentamens (week 51 en 5) I...

Post on 10-Dec-2018

249 views 0 download

Transcript of Logica voor Informatica - cs.uu.nl · Logica voor Informatica I Twee deeltentamens (week 51 en 5) I...

Logica voor Informatica

Mehdi Dastanim.m.dastani@uu.nl

BBG-521Intelligent SystemsUtrecht University

Organisatie

Logica voor Informatica

I Docent: Mehdi Dastani, BBG-521

I Inhoud (dictaat van J. van Eijck & E. Thijsse)

I Verzamelingen (3 hoorcol.)

I Propositielogica (3 hoorcol.)

I Predicatenlogica (5 hoorcol.)

I Logisch programmeren & Programma correctheid (2 hoorcol.)

Logica voor Informatica

I 2 hoor- en 2 werkcolleges per week

I Aanwezigheid tijdens hoor- en werkcolleges is niet verplicht,maar sterk aangeraden

I 7 mini-toetsen (multiplechoice) tijdens de werkcolleges opvrijdagen (12:00 uur)

Logica voor Informatica

I Twee deeltentamens (week 51 en 5)

I Eindcijfer is bepaald door:

het gemiddelde cijfer van twee deeltentamens (80%)+

het gemiddelde cijfer van zeven mini-toetsen (20%)

I Een herkansing (week 16)Deelname mogelijk als eindcijfer een onafgeronde 4 of een 5 is

Logica voor Informatica

I Er zijn 4 werkcollege groepen.

I Groep begeleiders zijn:

1. Nina Rosa & Yasmin van Dijk2. Davide Dell’Anna & Daphne Odekerken3. Lex de Kogel4. Max Hessey

I Verdeling in groepen kan niet gewijzigd worden

Logica voor Informatica

I Alle informatie over het vak op:

http://www.cs.uu.nl/docs/vakken/b1li/2017-18/

I NieuwsI SlidesI RoosterI Opgaven voor werkcollegesI TentamensI LiteratuurI Cijfers

Wat is Logica?

Wat is Logica?

Logica is fundamenteel voor de wetenschap en iseven oud als de geschiedenis

Aristoteles Leibniz Frege Russel Wittgenstein Turing384-322 BC 1646-1716 1828-1925 1872-1970 1889-1951 1912-1954

Wat is Logica?

I Logica is de wetenschap die zich bezighoudt met de regelsvoor de geldige manieren van redeneren

I Redeneren is het proces waarmee uit een aantal beweringen,argumenten of feiten een conclusie getrokken wordt

Wat is Logica?

Redeneer voorbeelden

Bewering

Conclusie

Als Jan zijn medicijnen neemtdan Jan voelt zich beter

En

Jan neemt zijn medicijnen

Jan voelt zich beter

X

Wat is Logica?

Redeneer voorbeelden

Bewering

Conclusie

Als Jan zijn medicijnen neemtdan Jan voelt zich beter

En

Jan neemt zijn medicijnen

Jan voelt zich beterX

Wat is Logica?

Redeneer voorbeelden

Als X dan Ybla

En

X

Y

Als Jan zijn medicijnen neemtdan Jan voelt zich beter

En

Jan neemt zijn medicijnen

Jan voelt zich beter

X

Wat is Logica?

Redeneer voorbeelden

Bewering

Conclusie

Als Jan zijn medicijnen neemtdan Jan voelt zich beter

En

Jan voelt zich beter

Jan neemt zijn medicijnen

E

Wat is Logica?

Redeneer voorbeelden

Bewering

Conclusie

Als Jan zijn medicijnen neemtdan Jan voelt zich beter

En

Jan voelt zich beter

Jan neemt zijn medicijnen E

Wat is Logica?

Redeneer voorbeelden

Als X dan Ybla

En

Y

X

Als Jan zijn medicijnen neemtdan Jan voelt zich beter

En

Jan voelt zich beter

Jan neemt zijn medicijnen

E

Wat is Logica?

Redeneer voorbeelden

Bewering

Conclusie

Als Jan zijn medicijnen neemtdan Jan voelt zich beter

En

Jan voelt zich NIET beter

Jan neemt zijn medicijnen NIET

X

Wat is Logica?

Redeneer voorbeelden

Bewering

Conclusie

Als Jan zijn medicijnen neemtdan Jan voelt zich beter

En

Jan voelt zich NIET beter

Jan neemt zijn medicijnen NIET

X

Wat is Logica?

Redeneer voorbeelden

Als X dan Ybla

En

NIET Y

NIET X

Als Jan zijn medicijnen neemtdan Jan voelt zich beter

En

Jan voelt zich NIET beter

Jan neemt zijn medicijnen NIET

X

Wat is Logica?

Redeneer voorbeelden

Bewering

Conclusie

Alle mensen zijn sterfelijk

En

Socrates is een mens

Socrates is sterfelijk

X

Wat is Logica?

Redeneer voorbeelden

Bewering

Conclusie

Alle mensen zijn sterfelijk

En

Socrates is een mens

Socrates is sterfelijkX

Wat is Logica?

Redeneer voorbeelden

Alle X zijn Y

En

A is een X

A is Y

Alle mensen zijn sterfelijk

En

Socrates is een mens

Socrates is sterfelijk

X

Wat is Logica?

Redeneer voorbeelden

Sommige X zijn Y

En

A is een X

A is Y

Sommige mensen zijn Frans

En

Socrates is een mens

Socrates is Frans

E

Wat is Logica?

Redeneer voorbeelden

Sommige X zijn Y

En

A is een X

A is Y

Sommige mensen zijn Frans

En

Socrates is een mens

Socrates is Frans

E

Wat is Logica?

Afleiden van conclusies uit aannames

1. Tenminste een is schuldig.

2. Niet alle zijn schuldig.

3. Als Sara schuldig is, dan isJan ook schuldig.

4. Als Petra niet schuldig is,dan is Jan ook niet.

Wat is Logica?

Afleiden van conclusies uit aannames

1. Tenminste een is schuldig.

2. Niet alle zijn schuldig.

3. Als Sara schuldig is, dan isJan ook schuldig.

4. Als Petra niet schuldig is,dan is Jan ook niet.

Jan Sara Petra

Schuldig Schuldig Schuldig

Schuldig Schuldig niet Schuldig

Schuldig niet Schuldig Schuldig

Schuldig niet Schuldig niet Schuldig

niet Schuldig Schuldig Schuldig

niet Schuldig Schuldig niet Schuldig

niet Schuldig niet Schuldig Schuldig

niet Schuldig niet Schuldig niet Schuldig

Wat is Logica?

Afleiden van conclusies uit aannames

1. Tenminste een is schuldig.

2. Niet alle zijn schuldig.

3. Als Sara schuldig is, dan isJan ook schuldig.

4. Als Petra niet schuldig is,dan is Jan ook niet.

Jan Sara Petra

Schuldig Schuldig Schuldig

Schuldig Schuldig niet Schuldig

Schuldig niet Schuldig Schuldig

Schuldig niet Schuldig niet Schuldig

niet Schuldig Schuldig Schuldig

niet Schuldig Schuldig niet Schuldig

niet Schuldig niet Schuldig Schuldig

niet Schuldig niet Schuldig niet Schuldig

Wat is Logica?

Afleiden van conclusies uit aannames

1. Tenminste een is schuldig.

2. Niet alle zijn schuldig.

3. Als Sara schuldig is, dan isJan ook schuldig.

4. Als Petra niet schuldig is,dan is Jan ook niet.

Jan Sara Petra

Schuldig Schuldig Schuldig

Schuldig Schuldig niet Schuldig

Schuldig niet Schuldig Schuldig

Schuldig niet Schuldig niet Schuldig

niet Schuldig Schuldig Schuldig

niet Schuldig Schuldig niet Schuldig

niet Schuldig niet Schuldig Schuldig

niet Schuldig niet Schuldig niet Schuldig

Wat is Logica?

Afleiden van conclusies uit aannames

1. Tenminste een is schuldig.

2. Niet alle zijn schuldig.

3. ls Sara schuldig is, dan isJan ook schuldig.

4. Als Petra niet schuldig is,dan is Jan ook niet.

Jan Sara Petra

Schuldig Schuldig Schuldig

Schuldig Schuldig niet Schuldig

Schuldig niet Schuldig Schuldig

Schuldig niet Schuldig niet Schuldig

niet Schuldig Schuldig Schuldig

niet Schuldig Schuldig niet Schuldig

niet Schuldig niet Schuldig Schuldig

niet Schuldig niet Schuldig niet Schuldig

Wat is Logica?

Afleiden van conclusies uit aannames

1. Tenminste een is schuldig.

2. Niet alle zijn schuldig.

3. ls Sara schuldig is, dan isJan ook schuldig.

4. Als Petra niet schuldig is,dan is Jan ook niet.

Jan Sara Petra

Schuldig Schuldig Schuldig

Schuldig Schuldig niet Schuldig

Schuldig niet Schuldig Schuldig

Schuldig niet Schuldig niet Schuldig

niet Schuldig Schuldig Schuldig

niet Schuldig Schuldig niet Schuldig

niet Schuldig niet Schuldig Schuldig

niet Schuldig niet Schuldig niet Schuldig

Wat is Logica?

Afleiden van conclusies uit aannames

1. Tenminste een is schuldig.

2. Niet alle zijn schuldig.

3. ls Sara schuldig is, dan isJan ook schuldig.

4. Als Petra niet schuldig is,dan is Jan ook niet.

Jan Sara Petra

Schuldig Schuldig Schuldig

Schuldig Schuldig niet Schuldig

Schuldig niet Schuldig Schuldig

Schuldig niet Schuldig niet Schuldig

niet Schuldig Schuldig Schuldig

niet Schuldig Schuldig niet Schuldig

niet Schuldig niet Schuldig Schuldig

niet Schuldig niet Schuldig niet Schuldig

Wat is Logica?

Wat is Logica?

Waarom Logica voor

Informatica

&

Game Technologie

Logica voor Informatica

Logica heeft veel raakvlakken met de informatica

I Kunstmatige Intelligentie

I Database & Semantische Web & Big Data

I Programmeren en Software Engineering

I Hardware Ontwerp

I Theorie van Berekenbaarheid

Logica voor Game Technologie

Logica heeft veel Raakvlakken met game technologie

I Non-player Characters (NPC):Intelligent, autonome, en geloofwaardige agenten

I Interactie tussen NPC’s en gebruikers:Ontwerpen en Ontwikkelen Multi-Agent Systemen

Bewijstechnieken

Notatie

Natuurlijke getallen N 1, 2, 3, 4, 5, . . .N0 0, 1, 2, 3, 4, 5, . . .

Gehele getallen Z . . . ,−3,−2,−1, 0, 1, 2, 3, . . .

Rationale getallen Q . . . , (−2)3 , 1

(−2) ,04 ,

18 ,

92 , . . .

Reele getallen R√

2, π,−2, 0, 18 , 0.91932, 3√

8

Bewijstechnieken

Wat is een bewijs?

I Bewijs door gevalsonderscheid

I Bewijs door contrapositie

I Bewijs uit het ongerijmde

I Bewijs door volledige inductie

I Niet-constructieve bewijzen

I Uniciteitsbewijzen

I . . .

Bewijs door Gevalsonderscheid

Let |x | =

{x x ≥ 0,

−x anders

Toon aan:

|x | ≥ x voor x een getal uit R

Bewijs door contrapositie

x ⇒ y = niet y ⇒ niet x

Toon aan:

In een groep van 37 mensen of meer zijn er 4 of meer mensen indezelfde maand jarig.

Bewijs uit het ongerijmde (reductio ad absurdum)

I Aanname: Ieder stelling is waar of onwaar.

I Bewijsmethode: Stelt dat de stelling niet waar is en laat ziendat dit tot een tegenspraak leidt.

I Toon aan: Er zijn oneindig veel priemgetallen.

Bewijs door volledige inductie

Als een eigenschap geldt voor het eerste getal uit N

en

de eigenschap plant zich van getal tot getal voort,

dan geldt de eigenschap voor alle getallen in N.

Bewijs door volledige inductie

I Stel we willen bewijzen:

Voor alle natuurlijke getallen n geldt: P(n)

I Dan is het voldoende te bewijzen:

P(1) [basis stap]P(n)→ P(n + 1) [inductie stap]

Bewijs door volledige inductie: Voorbeeld

Toon aan:

1 + 2 + . . .+ n =n(n + 1)

2for n ≥ 1

Basis stap: Geldt P(1)?

1 = 1(1+1)2 = 1

Inductiestap: Stel P(n) geldt voor n ≥ 1. Bewijs: P(n + 1)

1 + 2 + . . .+ n + (n + 1) =

n(n+1)2 + (n + 1) =

n(n+1)+2(n+1)2 =

(n+1)(n+2)2

Bewijs door volledige inductie: Voorbeeld

Toon aan:

1 + 2 + . . .+ n =n(n + 1)

2for n ≥ 1

Basis stap: Geldt P(1)?

1 = 1(1+1)2 = 1

Inductiestap: Stel P(n) geldt voor n ≥ 1. Bewijs: P(n + 1)

1 + 2 + . . .+ n + (n + 1) =

n(n+1)2 + (n + 1) =

n(n+1)+2(n+1)2 =

(n+1)(n+2)2

Bewijs door volledige inductie: Voorbeeld

Toon aan:

1 + 2 + . . .+ n =n(n + 1)

2for n ≥ 1

Basis stap: Geldt P(1)?

1 = 1(1+1)2 = 1

Inductiestap: Stel P(n) geldt voor n ≥ 1. Bewijs: P(n + 1)

1 + 2 + . . .+ n + (n + 1) =

n(n+1)2 + (n + 1) =

n(n+1)+2(n+1)2 =

(n+1)(n+2)2

Niet-constructieve bewijzen

Laat het bestaan van een ding zien zonder dat ding in hetalgemeen verder te specificeren.

Toon aan:

Er bestaan niet rationale (irrationale) getallen a en b zodat ab eenrationaal getal is.

Uniciteitsbewijzen

Laten zien dat er een ding met een bepaalde eigenschap bestaat.

Toon aan:

Er bestaat slechts een element 0 in gehele getallen zodat voor allegehele getallen k geldt dat: k + 0 = k.