Logica voor Informatica

advertisement
Logica voor Informatica
Mehdi Dastani
BBG-521
[email protected]
Organisatie
Logica voor Informatica

Docent
 Mehdi Dastani, BBG-521

Inhoud (dictaat van J. van Eijck & E. Thijsse)
 Verzamelingen (3 hoorcol.)
 Propositielogica (3 hoorcol.)
 Predicatenlogica (5 hoorcol.)
 Logisch programmeren & Programma correctheid
(2 hoorcol.)
Logica voor Informatica

2 hoor- en 2 werkcolleges per week

Aanwezigheid tijdens hoor- en
werkcolleges is niet verplicht, maar sterk
aangeraden.

7 mini-tentamens (multiplechoice) tijdens
de werkcolleges op vrijdagen (12:00 uur).
Logica voor Informatica

Twee deeltentamens (week 51 en 5)

Eindcijfer is het gemiddelde van de cijfers van
de twee deeltentamens (90%)
+
het gemiddelde van de cijfers van de minitentamens (10%).

Een herkansing (week 16). Deelname
mogelijk als eindcijfer 4 of 5 is.
Logica voor Informatica

Er zijn 4 werkcollege groepen.

Groep begeleiders zijn:





1: Gerard Vreeswijk
2: Ioannis Nemparis & Niek Mulleners
3: Mandt Filet & Steven Luiten
4: Sylke Gosen
Verdeling in groepen kan niet gewijzigd worden.
Logica voor Informatica
Alle informatie over het vak op:
http://www.cs.uu.nl/docs/vakken/b1li/2016-17/
! Bekijk de webpagina regelmatig !






Nieuws
Slides
Rooster
Opgaven voor werkcolleges
Literatuur
Cijfers
Wat is Logica?
Wat is logica?
Logica is fundamenteel voor de wetenschap
en is even oud als de geschiedenis.
384-322 BC 1646-1716
Aristoteles
Leibniz
1828-1925
Frege
1872-1970
Russel
1889-1951
Wittgenstein
1912-1954
Turing
Wat is logica?

Logica is de wetenschap die zich
bezighoudt met de regels voor de
geldige manieren van redeneren.

Redeneren is het proces waarmee uit
een aantal beweringen, argumenten of
feiten een conclusie getrokken wordt.
Wat is logica?
Redeneer voorbeelden
Beweringen
Als Jan zijn medicijnen neemt
dan voelt hij zich beter
En
Jan neemt zijn medicijnen
Conclusie
Jan voelt zich beter
Wat is logica?
Redeneer voorbeelden
Beweringen
Als Jan zijn medicijnen neemt
dan voelt hij zich beter
En
Jan neemt zijn medicijnen
Conclusie
Jan voelt zich beter
Wat is logica?
Redeneer voorbeelden
Als Jan zijn medicijnen neemt
dan voelt hij zich beter
EN
Jan neemt zijn medicijnen
Jan voelt zich beter
Als X
dan Y
En
X
Y
Wat is logic a?
Redeneer voorbeelden
Beweringen
Als Jan zijn medicijnen neemt
dan voelt hij zich beter
En
Jan voelt zich beter
Conclusie
Jan neemt zijn medicijnen
Wat is logic a?
Redeneer voorbeelden
Beweringen
Als Jan zijn medicijnen neemt
dan voelt hij zich beter
En
Jan voelt zich beter
Conclusie
Jan neemt zijn medicijnen
Wat is logica?
Redeneer Regels
Als X dan Y
En
Y
X
Wat is logic a?
Redeneer voorbeelden
Beweringen
Als Jan zijn medicijnen neemt
dan voelt hij zich beter
En
Jan voelt zich NIET beter
Conclusie
Jan neemt zijn medicijnen NIET
Wat is logic a?
Redeneer voorbeelden
Beweringen
Als Jan zijn medicijnen neemt
dan voelt hij zich beter
En
Jan voelt zich NIET beter
Conclusie
Jan neemt zijn medicijnen NIET
Wat is logica?
Redeneer Regels
Als X dan Y
En
NIET Y
NIET X
Wat is logica?
Redeneer voorbeelden
Alle mensen zijn sterfelijk
Beweringen
En
Socrates is een mens
Conclusie
Socrates is sterfelijk
Wat is logica?
Redeneer voorbeelden
Alle mensen zijn sterfelijk
Beweringen
En
Socrates is een mens
Conclusie
Socrates is sterfelijk
Wat is logica?
Redeneer voorbeelden
Alle X zijn Y
Beweringen
En
A is een X
Conclusie
A is een Y
Wat is logica?
Redeneer voorbeelden
Sommige X zijn Y
Beweringen
En
A is een X
Conclusie
A is een Y
Wat is logica?
Afleiden van conclusies uit aannames
Sara
A1) Tenminste een is schuldig.
A2) Niet alle zijn schuldig.
A3) Als Sara schuldig is,
dan is Jan ook schuldig.
A4) Als Petra niet schuldig is,
dan is Jan ook niet.
Wat is logica?
Sara
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?
Sara
A1) Tenminste een is schuldig.
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?
Sara
Jan
Sara
Petra
Schuldig
Schuldig
Schuldig
Schuldig
Schuldig
Niet Schuldig
Schuldig
Niet Schuldig
Schuldig
Schuldig
Niet Schuldig
Niet Schuldig
A1) Tenminste een is schuldig.
Niet Schuldig
Schuldig
Schuldig
A2) Niet alle zijn schuldig.
Niet Schuldig
Schuldig
Niet Schuldig
Niet Schuldig
Niet Schuldig
Schuldig
Niet Schuldig
Niet Schuldig
Niet Schuldig
Wat is logica?
Sara
Jan
Sara
Petra
Schuldig
Schuldig
Schuldig
Schuldig
Schuldig
Niet Schuldig
Schuldig
Niet Schuldig
Schuldig
Schuldig
Niet Schuldig
Niet Schuldig
A1) Tenminste een is schuldig.
Niet Schuldig
Schuldig
Schuldig
A2) Niet alle zijn schuldig.
Niet Schuldig
Schuldig
Niet Schuldig
A3) Als Sara schuldig is,
dan is Jan ook schuldig.
Niet Schuldig
Niet Schuldig
Schuldig
Niet Schuldig
Niet Schuldig
Niet Schuldig
Wat is logica?
Sara
Jan
Sara
Petra
Schuldig
Schuldig
Schuldig
Schuldig
Schuldig
Niet Schuldig
Schuldig
Niet Schuldig
Schuldig
Schuldig
Niet Schuldig
Niet Schuldig
A1) Tenminste een is schuldig.
Niet Schuldig
Schuldig
Schuldig
A2) Niet alle zijn schuldig.
Niet Schuldig
Schuldig
Niet Schuldig
A3) Als Sara schuldig is,
dan is Jan ook schuldig.
Niet Schuldig
Niet Schuldig
Schuldig
Niet Schuldig
Niet Schuldig
Niet Schuldig
A4) Als Petra niet schuldig is,
dan is Jan ook niet.
Wat is logica?
Sara
Jan
Sara
Petra
Schuldig
Schuldig
Schuldig
Schuldig
Schuldig
Niet Schuldig
Schuldig
Niet Schuldig
Schuldig
Schuldig
Niet Schuldig
Niet Schuldig
A1) Tenminste een is schuldig.
Niet Schuldig
Schuldig
Schuldig
A2) Niet alle zijn schuldig.
Niet Schuldig
Schuldig
Niet Schuldig
A3) Als Sara schuldig is,
dan is Jan ook schuldig.
Niet Schuldig
Niet Schuldig
Schuldig
Niet Schuldig
Niet Schuldig
Niet Schuldig
A4) Als Petra niet schuldig is,
dan is Jan ook niet.
Wat is logica?
Wat is logica?
Waarom Logica voor
Informatica
&
Game Technologie
Logica voor Informatica
Logica heeft veel raakvlakken met de
informatica
• Kunstmatige Intelligentie
• Database & Semantische Web & Big Data
• Programmeren en Software Engineering
• Hardware Ontwerp
• Theorie van Berekenbaarheid
Logica voor Informatica
Logica heeft veel Raakvlakken met
game technologie
Game technologie is meer dan animatie
technologie

Non-player Characters (NPC):
Intelligent, autonome, en geloofwaardige agenten

Interactie tussen NPC’s en gebruikers:
Ontwerpen en Ontwikkelen Multi-Agent Systemen
Bewijstechnieken
Notatie
Natuurlijke getallen
Gehele getallen
Rationale getallen
Reële getallen
ℕ
ℕ0
1,2,3,4,5,…
0,1,2,3,4,5,…
ℤ
…,-3,-2,-1,0,1,2,3,…
ℚ
…,
ℝ
−2
3
,
1
−2
0
4
1
8
9
2
, , , ,…
1
8
3
2 , 𝜋𝜋 , -2 , 0 , , 0.91932 , 8
Bewijstechnieken

Wat is een bewijs?







Bewijs door gevalsonderscheid
Bewijs door contrapositie
Bewijs uit het ongerijmde
Bewijs door volledige inductie
Niet-constructieve bewijzen
Uniciteitsbewijzen
…
Bewijstechnieken
Bewijs door Gevalsonderscheid
Let
Toon aan:
Bewijstechnieken
Bewijs door contrapositie
Toon aan:
Als een groep uit 50 mensen betsaat, dan zijn
er 4 of meer mensen uit die groep in dezelfde
maand jarig.
Bewijstechnieken
Bewijs uit het ongerijmde
(reductio ad absurdum)
Aanname: Ieder stelling is waar of onwaar.
Bewijsmethode: Stelt dat de stelling niet waar
is en laat zien dat dit tot een tegenspraak leidt.
Toon aan: Er zijn oneindig veel priemgetallen.
Bewijstechnieken
Bewijs door volledige inductie
ALS een eigenschap geldt voor het eerste getal uit
EN
de eigenschap plant zich van getal tot getal voort,
DAN geldt de eigenschap voor alle getallen in
.
Volledige (wiskundige)
inductie

Stel we willen bewijzen:
Voor alle natuurijke getallen n geldt: P(n)

Dan is het voldoende te bewijzen:


P(1)
P(n) → P(n+1)
[basis stap]
[inductie stap]
Voorbeeld
Toon aan:
P(n) ⇔

Bewijs:


Basis stap: Geldt P(1)?
1 = (1×2)/2 ok
Inductiestap: Stel P(n) geldt voor n≥1.
Dan te bewijzen: 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 ok
Volledige (wiskundige)
inductie

Stel we willen bewijzen:
Voor alle natuurijke getallen n geldt: P(n)

Dan is het voldoende te bewijzen:



P(1)
P(n) → P(n+1)
[basis stap]
[inductie stap]
Alternatief (equivalent!):


P(1)
[basis stap]
[voor alle k: 1≤k<n geldt P(k)] → P(n) [inductiestap]
Bewijstechnieken
Niet-constructieve bewijzen
Laat het bestaan van een ding zien zonder dat
ding in het algemeen verder te specificeren.
Toon aan:
Er bestaan niet rationele getallen
een rationeel getal is.
en
zodat
Bewijstechnieken
Uniciteitsbewijzen
Laten zien dat er één ding met een bepaalde
eigenschap bestaat.
Toon aan:
Er bestaat slechts één element 0 in gehele
getallen zodat voor alle gehele getallen k
geldt dat: k+0 = k .
Download