Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Pensum: Olsen, kap. 1 ”Formalisering”

Liknende presentasjoner


Presentasjon om: "Pensum: Olsen, kap. 1 ”Formalisering”"— Utskrift av presentasjonen:

1 Pensum: Olsen, kap. 1 ”Formalisering”

2 Datamaskinen Mange spådommer om hva som skulle være mulig har ikke slått til Til tross for at vi har fått betydelig kraftigere maskiner til betydelig lavere priser Mange av de ”nye” anvendelsene vi har fått i dag er forbedringer av tidligere anvendelser (f.eks. iPad, smarttelefoner, streaming av musikk…) ”Sort boks”, gjør det vanskelig for lekfolk å forstå hvordan datamaskinen arbeider

3 Eksempel Lansering av det nye folkehelikopteret. Prototypen presenteres kun på bakken. Stor skepsis. Lansering av en ny elektronisk språk-oversetter. Prototypen er lovende. Den oversetter enkle setninger rimelig bra. ”Med mer innsats og penger skal vi få til en komplett oversetter”. Stor entusiasme.

4 Men, etter hvert lærer vi
Mange har i dag erfaring med bruk av datamaskin, til tekstbehandling, regneark, Web-anvendelser Selv om dette er enkle applikasjoner ser en fort begrensningene (som ved gramatikk-kontroll) Det vil gi en god idé om hva maskinen kan gjøre og hva den ikke kan

5 Hardware - maskinvare Dramatisk utvikling
Moore’s lov, dobling av antall komponenter hvert annet år Kjappere maskiner Mer kapasitet Lavere priser Mindre maskiner Datamaskiner overalt

6 Software - programvare
Mange prosjekter feiler Vanskelig å holde budsjetter i kroner og i tid Ideer om nye applikasjoner (som språkoversetting) har ikke slått til Hvorfor denne forskjellen, er programutviklere dummere enn de som utvikler maskinvaren?

7 Maskinvare har den enkleste oppgaven
Vi skal løse en oppgave. Maskinvaren hjelper oss bare et stykke på vei. Det overlates til programvaren å løse resten. Programvare Maskinvare

8 ”Duk og dekket bord” I noen tilfeller har programvare-utviklerne en enkel jobb, forarbeidet kan allerede være gjort Eksempel: Innføring av datamaskiner i banker Oppgavene var allerede formaliserte Er det like lett å innføre databehandling i sykehus?

9 Formalisering som en del av systemutvikling
I mange tilfeller vil formaliserings-arbeidet være en viktig del av systemutviklingen Skal vi opprette en Internett-butikk må vi formalisere produktspekteret (entydige navn eller koder), betalingsrutiner (kort), kunderegister m.m. Dette blir forenklet ved at datateknologi gjennomsyrer samfunnet, da har vi strek-kode på alle varer, kredittkort, standard betalingstjenester m.m.

10 Infrastrukturendringer
Akkurat som vi ”formaliserer” terrenget for å bygge veier kan må vi formalisere omgivelsene for å etablere nye datatjenester Eksempel: Salg på Internett/Web vil vanligvis krever betaling over kort Vi må formalisere betalingen

11 Unngå 100% I mange tilfeller løses problemer med å utelate oppgaver fra automatiseringen (i første omgang) Eksempel: Bank Datamaskinen først brukt til å automatisere kontoer (innskudd, uttak, beregning av renter) I dag også til automatisering av enkel lånebehandling Mer avansert lånebehandling utføres manuelt

12 og vi kan endre prosesser
Tidligere krevde innskudd og uttak fra bankkonto underskrifter I dag aksepterer vi en PIN kode Før måtte vi levere en papirbillett for å komme om bord i flyet, i dag kan vi klare oss med en kode eller et kredittkort. Tilsvarende for mange andre anvendelser

13 Maskinintelligens Maskinen kan spille sjakk – men er den dermed intelligent? Galt spørsmål? Vi må spørre om oppgaven er formalisert eller ikke Sjakk er formalisert, kompleksiteten ligger i antall mulige treff Det kan maskinen takle med hurtige beregninger Det er derfor ikke mye mer riktig å begrunne maskinens intelligens med sjakk enn med regnskap, begge deler er formalisert, begge deler løses med beregninger

14 Turingtest Vi sitter ved en terminal
Kan stille de spørsmål vi måtte ønske Er det en maskin eller et menneske i andre enden? Når vi ikke kan avgjøre dette har vi en ”intelligent” maskin Det arrangeres slike tester, med premie til beste program og beste bruker (the most human human)

15 Hvilke egenskap har mennesket som maskinen ikke har?
Vi kan operere i det åpne, ikke-formaliserte, området Vi er gode på avansert mønstergjenkjenning Med denne kunnskapen vet vi hvilke type spørsmål vi skal stille

16 Mønstergjenkjenning Hvilke bokstaver vises her?

17 Åpent område - humor: Tre historier – hvilken er morsom?
A. In the middle of a forest, there was a hunter who was suddenly confronted with a huge, mean bear. Full of fear, his attempt to shoot the bear was unsuccessful. He turned away and started to run as fast as he could. Finally, he ended up at the edge of a very steep cliff. His hopes were dim. But, he got on his knees, opened his arms and said, “My God! Please give this bear some religion!” Then, there was a lightning bolt in the air and the bear stopped a few feet short of the hunter. The bear had a puzzled look for a moment, and then looked up into the sky and said, “My God! Thank you for what I am about to receive ” B. In the middle of a forest The bear had a puzzled look for a moment, and then looked up into the sky and said, “My God! Thank you.” C. In the middle of a forest The bear had a puzzled look for a moment, and then looked at the hunter that begged, “My God! Do not let him eat me”—to no avail!

18 Ekspertsystemer Gi datamaskinen samme vurderingsevne som fagfolk
Regelbaserte systemer Pilotimplementasjoner i blant annet medisin i 1980 årene Gode resultater, programmene gjorde det bedre enn mange leger Likevel, disse programmene benyttes lite i dag Testen ble gjort på formaliserte data (undersøkelser). Når legen får se pasienten kan hun ofte stille diagnose raskt basert på erfaring, intuisjon og med få prøveresultater I dag ser en på muligheten for at IBM’s program Watson (Jeopardy) skal kunne tilpasses å bli et diagnoseverktøy

19 Formalisering av en virksomhet
Fra venstre: Formalisering av bare en del av oppgavene formalisering av det meste overformalisering (byråkratisering)

20 Formaliseringsnivåer
Vi kan representere alle typer symbolske data i en datamaskin Selv om maskinen bare bruke det binære tallsystemet får vi til dette ved å kode data Dette kan kreve mange binære siffer, men det er langt lettere å ha mye av det enkle enn mindre av det kompliserte. Derfor benytter vi bare det binære tallsystemet (0 og 1) i datamaskinen

21 Ascii tabellen – koding av tegn
Symbol Value , 44 A 65 a 97 - 45 B 66 b 98 . 46 C 67 c 99 / 47 D 68 d 100

22 Tegninger lagret som pixels
Kan lagre dette som pixel (punkt), f.eks. med tre byte pr punkt En linje kan da representeres gjennom de pixler som utgjør linjen Gir stor fleksibilitet (bilder og tegninger), men krever mye plass (lite problem i dag) Redigering må skje på pixelnivå Eksempel: Paint, Photoshop

23 Tegninger lagret som objekter
Hvert objekt kan representere en type geometrisk figur Et sett attributter gir data for objektet En linje kan da representeres ved koordinatene til endepunktet Effektiv lagring Enkel redigering (vi kan f.eks. peke på linjen og flytte denne) Linjen må gjengis på skjermen (”rendering”) Eksempel: Tegning i Word, Autocad, …

24 Nivå Objekt-metoden har høyere formaliseringsnivå enn pixel-metoden
Her kan vi operere på hvert objekt som utgjør tegningen (flytte, endre, fjerne, kopiere)

25 Tekstbehandling (tegnkoding)
Vi kan representere teksten kun på tegn-nivå (som ASCII koder) Da kan vi kun gjøre operasjoner på dette nivået Det blir ikke mulig å unngå ord-deling på slutten av linjen, å foreta stavekontroll, å markere et ord, m.m. Programmet forstår ikke begreper som ord, setninger, avsnitt m.m.

26 Høyere formaliseringsnivå
Vi kan definere regler for hva som er: ord (samling bokstaver omsluttet av skilletegn) setning (samling av ord avsluttet med punktum) avsnitt (samling av setninger avsluttet av et avsnitt-tegn). Dette kan da brukes for høyere nivås operasjoner

27 Datalagring (tegnkoding)
Vi kan lagre data, f.eks. bibliografiske data, som tekst Da kan vi foreta ren tekstsøk, om vi f.eks. søker etter forlaget ”Scarecrow” eller produsenten ”Apple” vil vi få treff for alle poster der disse bokstavene inngår, uansett sammenheng.

28 Høyere formaliseringsnivå
Om vi i stedet koder dataene på høyere nivå kan vi foreta mer avanserte søk For eksempel kan vi tagge: <forlag>Scarecrow</forlag> <datamaskin>Apple</datamaskin> <skolefrokost>Apple, Bread, Cheese</skolefrokost> <boktittel>Scarecrow in the field</boktittel>

29 Tekstbehandling (nivåer)
Level Formalization Coding (example) Functionality (examples) 1 Character ASCII or similar character-to-number coding. String editing, inserting and deleting characters. 2 Character sequence, sentence, and paragraph. Rules to identify words (enclosed by spaces or punctuation) and paragraphs. Insert and delete a word, avoiding breaking a word at line ends, inserting space between paragraphs. 3 Lexical Dictionary Spell checking. 4 Syntactical Word classification, grammatical rules. Grammar checker. 5 Semantic Representing the meaning of words and expressions. Logical searches, translation, computation. 6 Pragmatic Representing the “meaning of meaning” or meaning in context. Full text analysis.

30 Formaliseringsproblemet for B2B
Med B2B (Business-to-Business) systemer skal maskiner kommunisere med maskiner Data skal overføres på høyt nivå, altså som strukturerte data Med XML har vi et kodespråk for å beskrive dataene Men vi må bli enige om hvordan vi skal representere: Telefonnummer Adresser Datoer Kundenummer Kontonummer Henvisninger til regelverk m.m.

31 Kravet om data Mens vi mennesker kan operere med implisitte data, data hentet fra omgivelsene (”vi sees til lunch”) må maskinen ha eksakte data Dette begrenser mange automatiske applikasjoner (eks. temperatur-regulering, Internet tilkoplet kjøleskap)

32 Store organisasjoner mer egnet
I store organisasjoner er ofte prosesser formaliserte. Antall operasjoner, datamengder m.m. krever dette. I små organisasjoner er dette ikke så nødvendig. Med mindre volum kan en håndtere hver enkelt sak for seg Dvs. formaliseringskostnadene med å innføre automatiske dataprosesser er ofte mindre i store organisasjoner enn små

33 Eksempel Fryselageret til en stor grossist: Fryseboksen hjemme:
Mange varer på lager Alle varer har en id Standard pakkestørrelser Nøye oversikt over alt som er på lageret Faste rutiner for ”innskudd” og ”uttak” Bruker strekkoder m.m. for å forenkle prosesser Fryseboksen hjemme: Oversiktlig mengde Ingen formell id Varierende pakkestørrelser Ingen rutiner for innlegging Fleksibelt uttak (kan ta ut deler av en pakke) Ingen tekniske hjelpemidler (som strekkodeleser)

34 Formaliseringen blir viktig
For å forenkle settes det ofte formelle (lukkede) krav Et eksempel er bostøtte. Det gis ut fra skattbar inntekt, boligkostnader, mm. da kan det beregnes av en datamaskin. Det er enkelt, men ikke alltid 100% treffsikkert. En banksjef i en lokal bank kan vurdere sine kunder, kanskje så godt at hun aldri taper penger. Men nye regler for banker (som Basel-konvensjonene) setter formelle krav for sikkerhet. Blir vi tatt i fartskontroll hjelper det ikke å fortelle hvor flink vi er til å kjøre, og at vår kjøring i 90 kan være tryggere enn andres i 70.

35 Formaliseringen virker ikke alltid
Med høyt formaliseringsnivå og faste rutiner etablerer vi en regel for hva som skal gjøres Ofte er det unntak, og maskinen kjenner ikke alltid til disse Eksempler: Automatisk ”bullet” funksjon i Word (kommer på om vi bruker et bullet-tegn, f.eks. et minustegn på starten av en linje) Gjentagelsesfunksjon i Excel (du skriver C+ i et felt, neste gang du skriver C vil maskinen foreslå C+)

36 Automatisk støvsuger Som et eksperiment kjøpte jeg en robot-støvsuger
Kan starte på et gitt tidspunkt Navigerer i rommet (med et kamera) Men kjører seg fast på stolben, i tepper med frynser og passerer ikke standard norske dørstokker Skal vi ha full nytte av en slik må vi formalisere rommet til støvsugeren eller få en mer avansert innretning (kanskje en som lærer av sine feil?)

37 Kostnad-nytte for formalisering
Dersom vi kan formalisere kan vi ofte også automatisere Da kan vi gjøre jobben fort, effektivt, døgnet rundt, etter faste regler, m.m. – uten å betale lønninger Men 100% formalisering er ofte vanskelig å få til Løsningen ligger ofte i interaktive system, der mennesker og maskiner samhandler

38 Interaktivt system Her kan maskinen ta de lukkede deler, mennesket det åpne Tekstbehandling er et godt eksempel Men vi kan også bruke ideen i andre sammenhenger: Vi kan ha innsjekkingsautomater for å effektivisere denne prosessen, men kan også ha manuell betjening for unntakene Vi kan la kundene taste inn ordren i et Web-skjema, men kan ha telefon og epost for unntak

39 Fleksibilitet vs. effektivitet
Effectiveness and efficiency Custom application Spreadsheet system Application generator Programming language Application area Med større fleksibilitet (f.eks. regneark) får vi mindre effektivitet (enn en applikasjon spesiallaget for jobben).

40 Et lite prosjekt Vi skal lage systemer slik at biler kan kjøre automatisk La oss først anta at vi bruker vanlige veier uten trafikk Men bilen bør stoppe om det er hindringer i veien Hvordan skal vi takle dette?

41 Løsningsmetode Dele problemet inn i mindre deloppgaver
Løse hver deloppgave for seg Hvilke deloppgaver har vi her?


Laste ned ppt "Pensum: Olsen, kap. 1 ”Formalisering”"

Liknende presentasjoner


Annonser fra Google