1 / 41

Formalisering

Formalisering. Pensum: Olsen, kap. 1 ”Formalisering”. 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

xylia
Download Presentation

Formalisering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Formalisering 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 Oppgave 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

  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)

  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: • 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?

More Related