40
Hvor vanskelig kan det være? Om teoretiske og reelle begrensninger på hva vi kan forvente oss av datamaskiner Dag Normann The University of Oslo Department of Mathematics 31.10.2013 Faglig-pedagogisk dag 31.10.2013 - 1

Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Hvor vanskelig kan det være?Om teoretiske og reelle begrensninger på hva

vi kan forvente oss av datamaskiner

Dag NormannThe University of Oslo

Department of Mathematics

31.10.2013

Faglig-pedagogisk dag 31.10.2013 - 1

Page 2: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Innledning

I Det har lenge vært påstått at IT-industrien fordoblerkapasiteten på sine produkter i løpet av 18 måneder.

I Tolket bokstavelig betyr dette at om vi har et problem somdet med dagens teknologi tar ti år å løse, kan vi få enraskere løsning ved å vente et par år.

I Om tre år arbeider maskinene fire ganger raskere ogbruker to og et halvt år på problemet vårt.

I Vi kan faktisk få en løsning tidligere enn om fem og et halvtår, og det vil være en fin elevoppgave å beregne hvor rasktdet er mulig å løse et problem som pr. i dag krever 10 år.

Faglig-pedagogisk dag 31.10.2013 - 2

Page 3: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Innledning

I Det vi, litt overfladisk, skal se på i denne forelesningen ermatematiske modeller for hva som i teorien kan utføres avdatamaskiner, og matematiske modeller for hvilkeproblemer som kan løses i realistisk tid.

I Modellen for hva som er teoretisk mulig er ganske robust,mens vi vil se at ikke alt som i teorien er praktiskgjennomførbart i henhold til modellen faktisk er det.

Faglig-pedagogisk dag 31.10.2013 - 3

Page 4: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

I grenseland

I Det finnes et grenseland, oppgaver som matematikernetror at ikke kan løses i realistisk tid, men hvor ingen pr. idag har greid å bevise at faktisk er så vanskelige.

I Det knytter seg selvfølgelig en enorm faglig interesse tildenne klassen av problemer, og vi skal se på noeneksempler i denne forelesningen.

I Før vi gjør det, skal vi diskutere noen mere lettforståeligeregneoppgaver.

Faglig-pedagogisk dag 31.10.2013 - 4

Page 5: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Datasikkerhet

I Hvorfor er det viktig å ha en teori for hvor grensen fordatamaskiners yteevne går?

I Det er selvfølgelig viktig å ha raske maskiner, og vi vet avegen erfaring at økningen i "regnehastighet" har ført til at vikan bruke digital teknologi i et omfang, og på en måte, somvar utenkelig for 20 år siden.

I Den økte bruken har imidlertid også gjort oss meresårbare.

Faglig-pedagogisk dag 31.10.2013 - 5

Page 6: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Datasikkerhet

I Vi har behov for å sikre oss mot at uvedkommendekommer inn i systemene våre, leser vår kommunikasjonmed banken eller på andre måter opptrer uønsket.

I Datasikkerhet er viktig.I Hvis vi kan lage brannmurer som det vil være umulig å

trenge gjennom med realistisk tidsbruk i overskueligfremtid, vil det være en stor fordel.

Faglig-pedagogisk dag 31.10.2013 - 6

Page 7: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Faktorisering

I Prøv å faktoriser15, 121, 899, 5183.

I Felles for alle disse tallene er at de er produkter av toprimtall.

I 15 = 3 · 5, 121 = 11 · 11, 899 = 29 · 31, 5183 = 71 · 73.I Selv 5183 er det overkommelig å faktorisere i hodet, men

hvis vi får oss tildelt et tall med hundre sifre, og får vite atdette tallet er et produkt av to primtall med 50 sifre hver, vilvi få problemer med å finne faktorene, ikke bare i hodet,men også om vi har kraftige maskiner til hjelp.

I Hvorfor er dette viktig?I Og hvordan kan vi underkaste denne typen spørsmål en

matematisk analyse?

Faglig-pedagogisk dag 31.10.2013 - 7

Page 8: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Litt historie

I I 1936 publiserte Alan Turing en artikkel hvor han utvikleten matematisk modell for hvordan menneskelige"beregnere" arbeider, hvordan de kan løse problemer ogutføre beregninger rent mekanisk.

I Han utviklet en form for abstrakte maskiner som regner,etter faste regler, på et éndimensjonalt ruteark.

I Hans mål var å løse et grunnlagsproblem formatematikken: Det finnes ingen mekanisk prosedyre for åløse ethvert matematisk problem.

Faglig-pedagogisk dag 31.10.2013 - 8

Page 9: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Alan Turing

I Turing’s analyse ble av sam- og ettertiden regnet som såoverbevisende at vi sier at "det finnes ingen metode for åløse en type problem" når vi kan bevise at ingen avTuring’s maskiner kan løse dem.

I Turing’s analyse ble en viktig inspirasjon for utviklingen avde første datamaskinene under, og kort etter, 2.verdenskrig.

I Vi skal ikke glemme Charles Babbage, John von Neumannog andre pionerer, men det var Turing som skaffet ossforståelsen av hva en universell datamaskin kan være.

Faglig-pedagogisk dag 31.10.2013 - 9

Page 10: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Gödel og Turing

I Turing var inspirert av Gödels ufullstendighetsteorem.I Vi kan sammenstille Gödels teorem og Turings analyse til

følgende populærform

Hvis man prøver å redusere matematikken til et spill medsymboler, vil det hver gang finnes en matematisk erkjennelse

som ikke fanges opp av spillet.

Forutsetningen er at spillet har testbare regler, hvor riktig brukav reglene kan kontrolleres (i teorien) av en datamaskin.

Faglig-pedagogisk dag 31.10.2013 - 10

Page 11: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Turings modell

I Turing hevdet at mekanisk regning, også utført avmennesker, består av

- Lesing, og midlertidig memorering, av en avgrenset del avregnestykket.

- Flytting av oppmerksomheten mot en annen avgrenset delav regnestykket.

- Omskrivning av en avgrenset del av regnestykket.

alt etter på forhånd bestemte regler.I Tenk på hvordan du vil organisere utregningen av

1010!

Du vet at du kan regne ut dette hvis du vil, men også at dumå planlegge prosessen nøye for ikke å rote deg bortunderveis.

Faglig-pedagogisk dag 31.10.2013 - 11

Page 12: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Turings modell

I En Turingmaskin er en (matematisk) maskin som kanutføre akkurat denne typen operasjoner.

I Den består av et rutebånd hvor vi kan skrive symboler fraet alfabet, gjerne bare 0 og 1.

I Den har også en regneenhet som kan lese det som stårskrevet i en rute, flytte seg langs båndet og erstatte etsymbol i en rute med et annet.

I Regneenheten vil til enhver tid være i én av endelig mangetilstander. Tilstanden, og det enheten leser, bestemmerom den skal skrive noe nytt eller ikke, og om den skalbevege seg én rute til høyre eller til venstre.

I Når en Turingmaskin arbeider, kan vi telle antall skritt, ogdet gir oss et mål på tidsbruk.

Faglig-pedagogisk dag 31.10.2013 - 12

Page 13: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Tilbake til faktorisering

I Hva har så dette med faktorisering å gjøre?I Det er ingen problemer med å lage en Turingmaskin som

faktoriserer så store tall som helst, eksempelvis løseroppgaven

Finn faktorene i 10n! + 1.I Problemet er at om vi ber maskinen om å finne faktorene til

10101! + 1 risikerer vi at den arbeider til solen slukner, ogda har vi liten bruk for svaret.

I Selv om vi brukte mer realistiske maskiner ennTuringmaskiner ville vi ikke kunne redusere tidsbruken tilmindre enn noe sånt som en milliarddel av kubikkroten avantall regneskritt Turingmaskinen vil bruke, og dette vil ikkevære nok.

Faglig-pedagogisk dag 31.10.2013 - 13

Page 14: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Problemer med faktorisering

I Pr. i dag finnes det intet dataprogram og ingen datamaskinsom kan faktorisere vilkårlige tall med hundretalls sifreinnen normal levealder for et menneske (eller ensivilisasjon).

I Dette utnyttes i kryptografi.

Faglig-pedagogisk dag 31.10.2013 - 14

Page 15: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Litt om kryptering

I Vi kan bruke produkter av store primtall til å kryptere enmelding.

I Poenget er at dekrypteringen vil avhenge av at man kankjenner faktorene.

I Dette er en anvendelse av enkel tallteori.I Men er det så lett å finne store primtall da?I Svaret er at det synes lettere enn å faktorisere, men

egentlig fortsatt veldig vanskelig, og da er vi vel like langt?I Vi skal prøve å forklare noen begreper som belyser dette,

og diskutere hva "lett" og "vanskelig" måtte bety. Vikommer tilbake til primtallene etterhvert.

Faglig-pedagogisk dag 31.10.2013 - 15

Page 16: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Polynomer

I Vi skiller mellom polynomisk tid, eksponensiell tid oghypereksponensiell tid.

I Vi vil begrense oss til polynomfunksjoner

f (x) = anxn + · · ·+ a1x + a0

hvor alle a0, . . . , an er ikke-negative heltall.I Vi forestiller oss at en funksjon som er begrenset av en slik

polynomfunksjon vokser langsomt.I Dette i motsetning til funksjoner med et eksponentledd ax

hvor a > 1.Disse vokser fort.

Faglig-pedagogisk dag 31.10.2013 - 16

Page 17: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Polynomisk beregnbarhet

I Vi sier at en algoritme arbeider i polynomisk tid hvis vi haren polynomfunksjon f slik at for alle relevante input x pådigital form har at

t(x) ≤ f (bit(x)),

hvor bit(x) er antall bit i x og t(x) er tiden algoritmenbruker.

I Eksempler:I Kan vi tegne figuren med én strek uten å løfte blyanten.I Er det Per eller Pål som vil vinne dette fyrstikspillet?I Er n et kvadrat-tall eller ikke?

Faglig-pedagogisk dag 31.10.2013 - 17

Page 18: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Polynomisk beregnbarhet

I Ofte kan det være beregningsoppgaver som ikkeinnebærer at man løser et problem:

I EksemplerI Ordne en liste ord alfabetisk eller en liste av tall etter

størrelse.I Omforme en Latex-fil til en pdf-fil.I Finne slektstreet til en person ved hjelp av et sett

(digitaliserte) kirkebøker og data fra folkeregisteret.I Felles for disse eksemplene er at det er lett å se at de kan

utføres i polynomisk tid, men oppgavene kan likevel løsesmer eller mindre effektivt.

Faglig-pedagogisk dag 31.10.2013 - 18

Page 19: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Polynomisk beregnbarhet

I Det er vanlig å regne "polynomisk beregnbarhet" som denmatematiske modellen for hva som er realistiskgjennomførbart.

I Dette skyldes at vi erfaringsmessig vil finne polynomer avtilstrekkelig lav grad hvis vi kan vise at noe slikt finnesoverhode.

I Det er også slik at om det finnes én maskinmodell som kanløse et problem i polynomisk tid, vil en ettbåndsTuringmaskin også kunne gjøre det.

I Det betyr at polynomisk tid betyr det samme for allepraktiserte måter å regne på, og det gjør definisjonenrobust.

Faglig-pedagogisk dag 31.10.2013 - 19

Page 20: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Torner blant rosene

I Interessant nok er problemet om et tall er et primtall ellerikke et eksempel på at verden ikke er så enkel.

I Er polynom-begrensningen av tilstrekkelig høy grad,hjelper det lite at vi vet at et program vil arbeide ipolynomisk tid, det kan likevel bruke for lang tid til å værenyttig.

I Vi skal se på primtallene igjen senere, men først se på etannet eksempel fra virkeligheten.

Faglig-pedagogisk dag 31.10.2013 - 20

Page 21: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

En loddselger

I En sommer for omtrent et kvart århundre siden ble jeg ringtopp av en mann som hadde et matematisk problem.

I Han skulle organisere et stort loddsalg, med 3.500.000lodd.

I Hovedlotteriet skulle baseres på lodd-nummeret, men hanville ha mulighet for tilleggsgevinst basert på tverrsummenav loddnummeret.

I Det han ba meg om var om å regne ut hvor mangeloddnummer som ville ha hver av de mulige tverrsummene.

Faglig-pedagogisk dag 31.10.2013 - 21

Page 22: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Tverrsummer

I Jeg ba en derværende stipendiat som var flink til åprogrammere om å skrive et program som gjennomløp alletallene mellom én og tre og en halv million, regnet uttverrsummen og merket av i et register at den haddefunnet et nytt tall med den aktuelle tverrsummen.

I Regnetiden vil være cirka proposjonal men antall lodd,mere presist proposjonal med x log x .

I Gruppen vår hadde en, til å være på den tiden, kraftigXerox-maskin til en kvart million, men etter en time haddeden ikke kommet seg gjennom mer en et par hundre tusenlodd.

I Etter å ha forbedret algoritmen fikk vi svaret på under tosekunder, med en algoritme av kompleksitet (log x)2.

Faglig-pedagogisk dag 31.10.2013 - 22

Page 23: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

En lang reise

I Vi skal nå se på en klasse problemer som for matematikeresynes mer interessante enn det å faktorisere.

I Tenk deg at du skal undersøke stemningen forkommunesammenslåinger i Norge.

I Du vil i sakens anledning legge ut på en reise hvor du vilbesøke samtlige av landets ordførere.

I Hvordan vil du gå frem for å sikre at reisen blir kortestmulig?

I Hvis du vil gjøre et tilsvarende sammenliknende studiumfor Sverige, Finnland, Polen og Russland, hvordan vil duda finne den korteste reiseruten?

I Dette er en type oppgaver som kalles DenHandelsreisendes Problem.

Faglig-pedagogisk dag 31.10.2013 - 23

Page 24: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Den Handelsreisendes Problem

I Hvis vi har gitt n byer B1, . . . Bn og avstanden A(i , j) mellombyene Bi og Bj målt i antall kilometer, hvor vanskelig er detå finne ut av om det er mulig å besøke alle byene med ensamlet reiselengde på under m kilometer.

I Hvis det er mulig, og vi har flaks, kan vi prøve å sette oppen reiserute, legge sammen avstandene og finne ut atreisen er kortere enn m kilometer.Hvis det er umulig kan vi imidlertid risikere å måtte se påveldig mange reiseruter for med sikkerhet å kunne påstå atdet er umulig.

Faglig-pedagogisk dag 31.10.2013 - 24

Page 25: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Den Handelsreisendes Problem

I Den Handelsreisendes problem tilhører en familieproblemer hvor vi med flaks raskt kan bekrefte et svar i denene retningen, men hvor vi (med dagens matematikk) ikkehar noen metode som i polynomisk tid kan, med eller utenflaks, bekrefte det når svaret går i den andre retningen.

Faglig-pedagogisk dag 31.10.2013 - 25

Page 26: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Logiske porter og integrerte kretser

I Den grunnleggende arkitekturen på datamaskiner harendret seg lite, selv om man har gått fra radiorør, viatransistorer, til andre teknologiske metoder for å realiserelogiske porter.

I Data er i sin grunnform en serie 0’er og 1’ere, og endatamaskin omformer én eller flere slike serier av bits til enny serie.

I Til dette formålet er maskinen bygget opp av såkaltelogiske porter, AND, OR, NAND, NOR, NOT.

Faglig-pedagogisk dag 31.10.2013 - 26

Page 27: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Logiske porter og integrerte kretser

I Det er selvfølgelig viktig å kunne kontrollere om et nettverkav slike porter virker som meningen var.

I Med litt flaks kan man avsløre en eventuell feil ved enheldig test, men å få bekreftet at et nettverk eller en kretsvirker som den skal kan være vanskelig.

I Det er faktisk slik at selv om mye testing foregår maskinelt,er det også bruk for menneskelige testere med godintuisjon om hva som kan gå galt.

I Spesifikasjon av en integrert krets kan formuleres iutsagnslogikk, og spørsmålet om en utsagnslogisk formelalltid er sann eller ikke er, i en viss forstand, akkurat likevanskelig som spørsmålet om en handelsreise kangjennomføres på m kilometer eller ikke.

Faglig-pedagogisk dag 31.10.2013 - 27

Page 28: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Optimal ressursutnyttelse

I Vi kan tenke oss mange problemer som er beslektet medden handelsreisendes problem.

I Optimal utnyttelse av ressurser, eksempelvis lagerplass,transportfasiliteter, lærere ved en skole og liknende.

I Med litt flaks kan man finne en måte å utnytte lærerne påslik at alle elevene får ønskene sine oppfylt, såfremt detteer mulig.

I Det kan imidlertid være vanskelig å argumentere for at deter umulig i de tilfellene det faktisk er det.

Faglig-pedagogisk dag 31.10.2013 - 28

Page 29: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

P og NP

I De eksemplene vi har sett på nå tilhører problemer somligger i klassen kjent som NP.

I NP står for Nondeterministic Polynomial.I På norsk ville vi sagt "ikkedeterministisk polynomisk".I Den matematiske definisjonen bruker såkalte

ikke-deterministiske Turingmaskiner, men populært sagtkan vi si at en familie problemer er i NP hvis vi ved bruk avmyntkast eller terning kan lage en test som virker ipolynomisk tid slik at:

I Hvis problemet har positiv løsning finnes det en serie mynt-eller terningkast slik at testen svarer positivt.

I Hvis problemet har negativ løsning vil testen svare negativtuavhengig av hva mynten eller terningen viser underveis.

Faglig-pedagogisk dag 31.10.2013 - 29

Page 30: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Milleniumsproblemet

I Det store problemet er om alle NP-problemer kan løses ipolynomisk tid, det vil si, tilhører klassen P.

I Prislappen for å løse det er satt til én million dollar, ogproblemet er ett av en liste av såkaltemilleniumsproblemer.

I De fleste som har beskjeftiget seg med problemet tror atdet finnes NP-problemer som ikke kan løses i polynomisktid.

I Bortsett fra at prislappen i seg selv er motiverende, og atmatematikere elsker vanskelige problemer, er det ikkesikkert at problemet er så veldig viktig med tanke påpraktiske anvendelser.

Faglig-pedagogisk dag 31.10.2013 - 30

Page 31: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Tilbake til den handelsreisende

I Den handelsreisendes problem er såkalt NP-komplett.I Det betyr at om dette problemet kan løses i polynomisk tid,

kan alle andre NP-problemer også løses i polynomisk tid.I Det finnes andre NP-komplette problemer som er viktige.I For eksempel det å undersøke om en utsagnslogisk formel

kan være sann.I Mere kuriøst er teoremet om at minesveiperspillet krever at

man løser NP-komplette problemer underveis.

Faglig-pedagogisk dag 31.10.2013 - 31

Page 32: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Ufarlighet av problemet

I Omkostningene ved at vi ikke raskt kan løse de enkelteNP-komplette problemene er imidlertid ofte små.

I Hvis vi krever å finne den korteste reiseruten mellomlandets ordførere, kan det ta mange dager, muligens år åfinne ut av det, mens vi bare sparer noen få kilometer iforhold til hva reiseplanleggere som bare bruker minutterkan tilby.

Faglig-pedagogisk dag 31.10.2013 - 32

Page 33: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

NP-problemer

I For mange NP-problemer finnes det raske algoritmer somenten gir en løsning nær den optimale eller som svarer JAeller NEI med en stor grad av sannsynlighet.

I En metode som blir brukt er simulert herding.I Når man varmer opp og avkjøler metall for å herde det, vil

atomstrukturen naturlig finne de mest stabile formene.I Ved å simulere dette på en maskin, vil en løsning på en

oppgave nærme seg en optimal form.I Her skal vi la detaljene ligge.

Faglig-pedagogisk dag 31.10.2013 - 33

Page 34: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Tilbake til primtallene

I Det er ingen som vet om det vil være mulig å faktoriserestore tall i polynomisk tid.

I Det kom imidlertid som en overaskelse da to indiskematematikere for noen år siden viste at det er mulig, ipolynomisk tid, å avgjøre om et tall er et primtall eller ikke.

I Dette er matematisk interessant, men viste seg å ha litenpraktisk betydning.

Faglig-pedagogisk dag 31.10.2013 - 34

Page 35: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Tilbake til primtallene

I Det tar fortsatt alt for lang tid å kontrollere om et tall er etprimtall eller ikke til at de som trenger primtall i sitt dagligevirke har glede av det.

I Indernes algoritme hadde en kompleksitet av grad 6, medstore tall som koeffisienter.

I Dette var et eksempel hvor polynomisk beregnbarhet ikkemedfører praktisk beregnbarhet.

Faglig-pedagogisk dag 31.10.2013 - 35

Page 36: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Primtall og kryptering

I Det er relativt få tall vi med sikkerhet vet at er primtall, selvom antallet slike selvfølgelig øker.

I Vi vet imidlertid at det er mange av dem, tettheten erproposjonal med antall siffre for store tall.

I Lenge før de indiske matematikerne kom med sitt resultat,hadde man probabilistiske algoritmer som til et vilkårlgvalgt tall kan si NEI, og da er ikke tallet et primtall, eller siJA, og da er tallet et primtall med en overbevisende gradav sannsynlighet.

Faglig-pedagogisk dag 31.10.2013 - 36

Page 37: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Primtall og kryptering

I Da kan man finne et vilkårlig primtall ved først å trekke 50siffere helt tilfeldig, og så lete systematisk etter det nestetallet som sannsynligvis er et primtall.

I På en slik måte kan man oppnå trygg kryptering.

Faglig-pedagogisk dag 31.10.2013 - 37

Page 38: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Kvantecomputere

I Noen har muligens hørt om kvantecomputere.I Idéen er å lage regnemaskiner som baserer seg på

kvantemekaniske prinsipper.I En qubit vil, ved observasjon, ta verdien 0 eller 1 som en

vanlig bit, men det vil være usikkert hvilken av de toverdiene vi vil observere.

Faglig-pedagogisk dag 31.10.2013 - 38

Page 39: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

Kvantecomputere

I Det vil føre for langt å gå nærmere inn på arkitekturen tilkvantecomputere her.

I Det er imidlertid to forhold som er interessante i lys avtemaet for denne forelesningen:

1. Det finnes kvantealgoritmer, for eksempel for faktoriseringav store tall, som arbeider vesentlig raskere enntradisjonelle algoritmer.

2. Det er ingen som har greid å konstruere en kvantecomputersom er så stor at den kan realisere disse algoritmene i etomfang ut over det teoretisk interessante.

I Det er imidlertid interessant at det foregår en omfattendeforskning og produktutvikling som vil lede til at dagensprinsipper for datasikkerhet blir tilnærmet verdiløs.

Faglig-pedagogisk dag 31.10.2013 - 39

Page 40: Hvor vanskelig kan det være? Om teoretiske og …...I Vi skal prøve å forklare noen begreper som belyser dette, og diskutere hva "lett" og "vanskelig" måtte bety. Vi kommer tilbake

SLUTT

Faglig-pedagogisk dag 31.10.2013 - 40