53
1 ITSLP 1100 – vår ITSLP 1100 – vår 2008 2008 Om syntaks Om syntaks Herman Ruge Jervell Herman Ruge Jervell

ITSLP 1100 – vår 2008

  • 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

Page 1: ITSLP 1100 – vår 2008

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

Page 2: ITSLP 1100 – vår 2008

2

Datamaskiner som syntaksmaskiner

• Nøyaktige• Raske• Små• Stort lager• Mest avansert teknologi• Datamaskiner som modell

Page 3: ITSLP 1100 – vår 2008

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.

Page 4: ITSLP 1100 – vår 2008

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

Page 5: ITSLP 1100 – vår 2008

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

Page 6: ITSLP 1100 – vår 2008

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

Page 7: ITSLP 1100 – vår 2008

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.

Page 8: ITSLP 1100 – vår 2008

8

Beskrive med syntaks

• SIVILISASJONSPROSESSEN• Lyd – tegn – alfabet• Varer – penger• Terreng – sti – vei – bane• Byråkrati• Håndverk – fabrikker• Sykdommer• Arbeid

Page 9: ITSLP 1100 – vår 2008

9

Syntaks• Drøm om universalspråk• Språk: lingua characteristica• Kalkyle: calculus ratiocinator• Leibniz 1700• Frege 1879

Page 10: ITSLP 1100 – vår 2008

10

Syntaktisk kalkyle

Gottfried Wilhelm von Leibniz1646 - 1716

Gottlob Frege1848 - 1925

Alan Turing1912 - 1954

Page 11: ITSLP 1100 – vår 2008

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

Page 12: ITSLP 1100 – vår 2008

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

Page 13: ITSLP 1100 – vår 2008

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

Page 14: ITSLP 1100 – vår 2008

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

Page 15: ITSLP 1100 – vår 2008

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

Page 16: ITSLP 1100 – vår 2008

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

Page 17: ITSLP 1100 – vår 2008

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

Page 18: ITSLP 1100 – vår 2008

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

Page 19: ITSLP 1100 – vår 2008

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

Page 20: ITSLP 1100 – vår 2008

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

Page 21: ITSLP 1100 – vår 2008

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”

Page 22: ITSLP 1100 – vår 2008

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

Page 23: ITSLP 1100 – vår 2008

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

Page 24: ITSLP 1100 – vår 2008

24

SLUTT FØRSTE DOBBELTTIME

Page 25: ITSLP 1100 – vår 2008

25

ANDRE DOBBELTTIMEOm syntaks

• Syntaksmaskiner• Hva kan beskrives med syntaks ?• Sivilisasjonsprosessen• Ekstensjonal / intensjonal• Finne syntaktiske kalkyler• Forstå syntaktiske kalkyler

Page 26: ITSLP 1100 – vår 2008

26

Kunstig intelligens

• Ønsker å regne på menneskelige aktiviteter som– Resonnering– Læring– …

• Hovedproblem: Lage fornuftige syntaktiske kalkyler

Dette gjøres i mange vitenskaper

Page 27: ITSLP 1100 – vår 2008

27

Søking

• Gitt – problemområde– start– Mål

• Finn vei til mål• Legge inn motpart – to person spill

Page 28: ITSLP 1100 – vår 2008

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

Page 29: ITSLP 1100 – vår 2008

29

Resonnering• Ofte brukes logikk• Språk – representere problemet• Kalkyle – utføre resonneringstrinn

• Mekanisme – data + kontroll

Page 30: ITSLP 1100 – vår 2008

30

Læring• Finne enklest mulig forklaring av

data• Ofte inngår søk• Parameterjustering• Hva slags læring blir simulert

Page 31: ITSLP 1100 – vår 2008

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

Page 32: ITSLP 1100 – vår 2008

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

Page 33: ITSLP 1100 – vår 2008

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

Page 34: ITSLP 1100 – vår 2008

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

Page 35: ITSLP 1100 – vår 2008

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

Page 36: ITSLP 1100 – vår 2008

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

Page 37: ITSLP 1100 – vår 2008

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

Page 38: ITSLP 1100 – vår 2008

38

Syntaktiske kalkyler• Utsagnslogikk – OK• Predikatlogikk – nesten OK

• Problemer med følgende univers– En datastruktur som univers– Mengder som univers– Reelle tall

Page 39: ITSLP 1100 – vår 2008

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)

Page 40: ITSLP 1100 – vår 2008

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.

Page 41: ITSLP 1100 – vår 2008

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.

Page 42: ITSLP 1100 – vår 2008

42

Kurt Gödel

1906 - 1978

Page 43: ITSLP 1100 – vår 2008

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.

Page 44: ITSLP 1100 – vår 2008

44

Mengder• Dette er måter å skrive mengder

• {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

Page 45: ITSLP 1100 – vår 2008

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

Page 46: ITSLP 1100 – vår 2008

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.

Page 47: ITSLP 1100 – vår 2008

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

Page 48: ITSLP 1100 – vår 2008

48

Filosofi

• Nominalisme – alt er bare syntaks

• Konstruktivisme – bruker forståelige konstruksjoner når vi bygger opp syntaks

• Platonisme – direkte tilgang til semantikk

Page 49: ITSLP 1100 – vår 2008

49

Nominalisme

• Ingen plass for semantikk

• Styrer syntaktiske konstruksjoner med semantisk forståelse

• Hvorfor skal vi stole på bevis ?

Page 50: ITSLP 1100 – vår 2008

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

Page 51: ITSLP 1100 – vår 2008

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

Page 52: ITSLP 1100 – vår 2008

52

Logikk

Læren om det å tenke ut fra forutsetninger

Page 53: ITSLP 1100 – vår 2008

53

SLUTT