Upload
jadon
View
30
Download
0
Embed Size (px)
DESCRIPTION
ITSLP 1100 – vår 2008. Om syntaks Herman Ruge Jervell. Datamaskiner som syntaksmaskiner. Nøyaktige Raske Små Stort lager Mest avansert teknologi Datamaskiner som modell. Nøyaktige. - PowerPoint PPT Presentation
Citation preview
1
ITSLP 1100 – vår ITSLP 1100 – vår 20082008
ITSLP 1100 – vår ITSLP 1100 – vår 20082008
Om syntaksOm syntaksHerman Ruge JervellHerman Ruge Jervell
2
Datamaskiner som syntaksmaskiner
• Nøyaktige• Raske• Små• Stort lager• Mest avansert teknologi• Datamaskiner som modell
3
Nøyaktige
Hugs> product [1 .. 500]1220136825991110068701238785423046926253574342803192842192413588385845373153881997605496447502203281863013616477148203584163378722078177200480785205159329285477907571939330603772960859086270429174547882424912726344305670173270769461062802310452644218878789465754777149863494367781037644274033827365397471386477878495438489595537537990423241061271326984327745715546309977202781014561081188373709531016356324432987029563896628911658974769572087926928871281780070265174507768410719624390394322536422605234945850129918571501248706961568141625359056693423813008856249246891564126775654481886506593847951775360894005745238940335798476363944905313062323749066445048824665075946735862074637925184200459369692981022263971952597190945217823331756934581508552332820762820023402626907898342451712006207714640979456116127629145951237229913340169552363850942885592018727433795173014586357570828355780158735432768888680120399882384702151467605445407663535984174430480128938313896881639487469658817504506926365338175055478128640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Klarer ikke å måle veldig nøyaktig – 10-9 . Datamaskiner er mye mer nøyaktig enn det vi får med fysiske målinger.
4
Raske og små
• Maskiner med klokke 2 GHz• Lyset går 15 cm• Ingen signaler når lenger enn 15
cm• Maskiner må være små for å være
raske
5
Stort lager
• Enorm utvikling• 1 kontorist skriver på maskin
– 1 kilobyte i timen– 1750 timer i året– 40 år– 70 megabyte som et livsverk
• Vi har passert kilobyte, megabyte, gigabyte, terrabyte
6
Måleenheter
• Slå opp i web på Powers of ten
• http://www2.sims.berkeley.edu/research/projects/how-much-info/datapowers.html
• http://micro.magnet.fsu.edu/primer/java/scienceopticsu/powersof10/• http://www.gofish.com/player.gfp?gfid=30-1025863
7
Mest avansert teknologi• 1650 – fontener og sluser • 1800 – gnister og elektrisitet• 1900 – dampmaskiner og mekanikk• 1940 – telefonsentraler og hullkort• Nå – datamaskiner
• Vi bruker den mest avanserte teknologien for å beskrive mennesker. Mennesket som en informasjonsprosessor.
8
Beskrive med syntaks
• SIVILISASJONSPROSESSEN• Lyd – tegn – alfabet• Varer – penger• Terreng – sti – vei – bane• Byråkrati• Håndverk – fabrikker• Sykdommer• Arbeid
9
Syntaks• Drøm om universalspråk• Språk: lingua characteristica• Kalkyle: calculus ratiocinator• Leibniz 1700• Frege 1879
10
Syntaktisk kalkyle
Gottfried Wilhelm von Leibniz1646 - 1716
Gottlob Frege1848 - 1925
Alan Turing1912 - 1954
11
Turingmaskin - 1936• Hva er en beregning ?• Alfabet av tegn – nok med 0 1• Regnemedium – tape med ruter• En beregner – computor - ser en rute
– Leser tegn t i ruta– Er i tilstand q– Skriver nytt tegn– Ny tilstand – Beveger seg høyre/venstre/stopp
• Endelig alfabet, tilstander, skrevne ruter
12
Om turingmaskiner• Kan realiseres elektronisk• Viktigste teoretiske modell av datamaskiner• Analyserer beregninger på tape – trinn for trinn• Turing viste at det var problemer som turingmaskiner
ikke kunne løse• Stoppeproblemet ikke løsbart
– Gitt maskin M og tape T– Kan vi avgjøre om M stopper satt i gang på T
Det er et gap mellom å definere en beregning og
å finne terminalegenskapene ved beregningen
Intensjonal – definert ved programEkstensjonal – definert ved input/output
13
Hva regnes på ?• Tall
– Unære tall 1 11 111 1111 11111 …– Binære tall 0 1 10 11 100 101 110 …– Reelle tall 2.7182… 3.14159…
• Datastrukturer– Start, konstruktorer
• Lister, trær, stakker, arrays, …• Logiske utsagn
• Algoritmer og datastrukturer
14
Logiske utsagn• Utsagn – har sannhetsverdi dvs er
enten sann eller gal• Konnektiver – og, eller, ikke, hvis –
så• Kvantorer – for alle, det fins
• Predikater og relasjoner• Funksjoner og individkonstanter• Variable
15
Utsagn• Noe som har sannhetsverdi• Meget spesiell form for utsagn• Vi regner på sannhetsverdiene og
ser bort fra mye som hører med til forståelsen av setningen
• Kan uttrykke dette med andre utsagn
16
Konnektiver • Sannhetsfunksjoner• Konjunksjon: A B• Disjunksjon: A B• Negasjon: A• Kondisjonal: A B
• De giftet seg og fikk barn• Om månen er en gul ost, så er Ola
21 år
17
Kvantorer - Frege• Alle mennesker puster
– x. Menneske(x) Puster(x)
• Fins pattedyr som legger egg– x. Pattedyr(x) Egg(x)
• Variablene finnes ikke i dagligspråket
• Relasjon – predikater med flere argumenter
18
Predikatlogikk• Det er gitt et formelt språk som
inneholder et bestemt antall– Relasjonstermer (inklusive predikater og
utsagn)– Funksjonstermer (inklusive individer)– Variable
– Logiske termer – konnektiver og kvantorer -fast tolking
– Ikke-logiske termer – relasjoner og funksjoner – må gis tolking
19
Semantikk for predikatlogikk
• En tolkning er gitt ved• Et univers U• Sannhet/galhet av predikater i U• Funksjoner fra U til U
• Et utsagn er gyldig om det er sant i alle tolkninger
20
Gyldig• Gyldig: Alle tolkninger gir verdien
sann• Verifiserbar: Fins en tolkning som
gir verdien sann• Falsifiserbar: Fins en tolkning som
gir verdien gal• Kontradiktorisk: Alle tolkninger gir
verdien gal
21
Oppsummering• Forutsetter et skille mellom logiske
og ikke-logiske termer• Utsagnslogikk – enkel – holde orden
på kombinasjoner av sannhetsverdier
• Predikatlogikk – ikke avgjørbar, men fins en kalkyle
• Kan lage en kalkyle for ”gyldighet”• ”Gyldighet” er enklere enn
”sannhet”
22
Freges tre nivåer• Syntaks F
– Kan gjenkjenne tegn
• Semantikk – Skjønner betingelsene for at F er
sann
• Pragmatikk – Vet konsekvensene av at F er sann – Selv etter at en har skjønt et utsagn
er det mye en kan gjøre med det – vise at noe er sant, vise at noe er usant, bløffe, lyve, angre, true, love, …
F
F
23
Freges tre gap1. Fra det fysiske til det syntaktiske2. Fra det syntaktiske til det
semantiske3. Fra det semantiske til det
pragmatiske
• Disse gapene kan bare overstiges ved at vi foretar sprang
24
SLUTT FØRSTE DOBBELTTIME
25
ANDRE DOBBELTTIMEOm syntaks
• Syntaksmaskiner• Hva kan beskrives med syntaks ?• Sivilisasjonsprosessen• Ekstensjonal / intensjonal• Finne syntaktiske kalkyler• Forstå syntaktiske kalkyler
26
Kunstig intelligens
• Ønsker å regne på menneskelige aktiviteter som– Resonnering– Læring– …
• Hovedproblem: Lage fornuftige syntaktiske kalkyler
Dette gjøres i mange vitenskaper
27
Søking
• Gitt – problemområde– start– Mål
• Finn vei til mål• Legge inn motpart – to person spill
28
Planlegging
• Kan sees som et søkeproblem• Finne best mulig plan eller bare
finne en god nok plan• Hvor mye binder foreløpige valg –
søking uten backtracking
29
Resonnering• Ofte brukes logikk• Språk – representere problemet• Kalkyle – utføre resonneringstrinn
• Mekanisme – data + kontroll
30
Læring• Finne enklest mulig forklaring av
data• Ofte inngår søk• Parameterjustering• Hva slags læring blir simulert
31
Menneske + maskin
•Damen har semantikk•Oversettes til syntaks – tastes inn på maskin•Maskinen utfører syntaktisk kalkyle•Syntaktisk resultat på skjerm•Oversettes av damen til semantikk
Menneske + maskin er et system
32
Kalkyler• Vi definerer en syntaktisk kalkyle
ved å si hvordan overgangen er fra trinn til trinn
• Vi er interessert i egenskaper som– Invarians: uansett hvilken input så ..– Spesifikasjon: for alle input I fins
output O slik at det er en viss sammenheng mellom I og O
– Terminering: For alle input I så terminerer beregningen
33
Ekstensjonal/intensjonal• Gap mellom vår definisjon av
kalkyle– Program, transisjoner, …
• De egenskapene vi er interessert i– Invarians, terminering, spesifikasjon,
…
• Skiller mellom – Ekstensjonal: input/output– Intensjonal: program
34
Endelig automat• Ser på turingmaskiner• Endelig automat – maskinen
beveger seg bare i en retning, computoren har et endelig antall tilstander
• Noam Chomsky: eksempel i lingvistikk – undersøke en setning ved å bare bevege seg i en retning uten å gå tilbake
• Klarer ikke parenteser
35
Kontekstfritt språk• Turingmaskin som beveger seg i
en retning, men computoren har hjelp av en stakk
• Klarer parentesspråk• Parenteser vesentlig i dataspråk
– Håndtere funksjonskall– Flere typer parenteser spiller liten
rolle – kan ta dem med uten at ting blir mer komplisert
36
KONTEKSTSENSITIVT SPRÅK
• Turingmaskin uten stakk men der hele beregningen skjer innenfor inputstringen
• Det er sammenheng mellom klasser av språk og begrensinger på turingmaskiner
• Mange muligheter
37
Ressurser• Tid: antall trinn turingmaskinen
bruker• Rom: antall ruter turingmaskinen
bruker
• Dette er robuste mål. Bruk av turingmaskiner er ingen begrensning
• Ofte er en trade-off mellom tid og rom
38
Syntaktiske kalkyler• Utsagnslogikk – OK• Predikatlogikk – nesten OK
• Problemer med følgende univers– En datastruktur som univers– Mengder som univers– Reelle tall
39
Utsagnslogikk• Bruker sannhetstabeller – med n
utsagnsvariable får vi 2n tilfeller• Åpent spørsmål om vi kan gjøre
bedre
• Et av de store åpne problemene i teoretisk informatikk er om vi kan lage kalkyler for gyldighet i utsagnslogikk som er bedre enn sannhetstabeller. (P ≠ NP)
40
Predikatlogikk• Det fins kalkyler for gyldighet i
predikatlogikk. Om et utsagn er gyldig, så vil kalkylen finne det. Men om utsagnet ikke er gyldig, så har vi ingen garanti for at kalkylen vil finne det. Dette er en variant av Entscheidungsproblem. Turing lagde sine maskiner for å vise at det var uavgjørbart.
41
Datastruktur• Våre datastrukturer er ganske like
våre syntaktiske kalkyler. I en syntaktisk kalkyle har vi
• Et endelig antall aksiomer• Et endelig antall slutningsregler
som tillater oss å vise nye utsagn gitt utsagn som er alt vist.
• Dette minner om start / konstruktorer i en datastruktur.
42
Kurt Gödel
1906 - 1978
43
Ufullstendighet• Kurt Gödel viste i 1931 at under
ganske enkle forutsetninger kan en ikke lage noen syntaktisk kalkyle for en datastruktur. Dette kalles Gödels ufullstendighetsteorem.
• Språket må være mer komplisert enn det språket skal beskrive.
44
Mengder• Dette er måter å skrive mengder
på
• {1,2,5} = {1,1,5,2}• { x | x er et primtall }
• Med det har en en praktisk syntaks som kan brukes til å beskrive en del mengder
• A B , A B
45
Mengdelære• Vi har ingen fullgod syntaks for å
beskrive mengder. • Heller ingen syntaktisk kalkyle for
dem.• Å beskrive endelige mengder
klarer vi like bra som det å beskrive en datastruktur
46
Reelle tall• Verken syntaktisk språk eller
syntaktisk kalkyle.• Store problemer med reelle tall på
datamaskiner. Som oftest bruker en bare tall avrundet og avskåret. Det betyr at en bare bruker en variant av de naturlige tall i stedet for de reelle tall.
47
Syntaksmaskiner• Datamaskiner er syntaksmaskiner• Ikke alt kan representeres som
syntaks og som syntaktiske kalkyler– Sivilisasjonsprosessen– Ekstensjonalt / intensjonalt– Datastrukturer, mengder, reelle tall
• Men stor gevinst når vi klarer å representere noe som syntaks
48
Filosofi
• Nominalisme – alt er bare syntaks
• Konstruktivisme – bruker forståelige konstruksjoner når vi bygger opp syntaks
• Platonisme – direkte tilgang til semantikk
49
Nominalisme
• Ingen plass for semantikk
• Styrer syntaktiske konstruksjoner med semantisk forståelse
• Hvorfor skal vi stole på bevis ?
50
Konstruktivisme
• Hva er en akseptabel konstruksjon
• Ikke en enkel teori, men en hærskare av teorier
• Ny forståelse av konnektiver, av kvantorer, av gyldighet – kan ikke bygge på sann/gal
51
Platonisme• Problemer med paradokser
• Russells paradoks: La R = { x | x x } . Vi får da R R R R . Motsigelse.
• Uklart hvilken forståelse av semantikk det er som platonistene hevder at de har – og uklart hva en slik forståelse kan brukes til
52
Logikk
Læren om det å tenke ut fra forutsetninger
53
SLUTT