Datorernas matematik
|
|
- Elisabeth Sundqvist
- för 5 år sedan
- Visningar:
Transkript
1 Stockholms mtemtisk cirkel Dtorerns mtemtik Dniel Ahlsén Jor Bgge Institutionen för mtemtik, KTH och Mtemtisk institutionen, Stockholms universitet
2 Stockholms mtemtisk cirkel genom tidern (tidigre KTH:s mtemtisk cirkel) Dtorerns mtemtik Grfteori med inriktning på färgläggning Geometrisk konstruktioner Vd är ett tl? Frktler Polytoper Grupper, mönster och symmetrier Den mtemtisk nlysens grunder Diofntisk ekvtioner Polynom Hyperolisk geometri Tlteori Snnolikhetsteori Gruppteori Vd är ett tl? Integrler Linjär lger och ioinformtik Alger och kryptogrfi Anlysens grunder Tlföljder, rekursioner och itertioner Linjär vildningr
3 Innehåll List över grekisk lfetet Någr ord på vägen v vi 1 Vd är mtemtik, egentligen? Mängder Funktioner Logik Mtemtisk evis Hur kn en dtor räkn? Binär tl och osignerde heltl Överflöde och kongruensräkning En dditionsmskin för heltl Signerde heltl Tl med decimler Binärråk och flyttl Ekvtionslösning med intervllhlvering Bevis v stsen om mellnliggnde värden Tärningen är kstd Pseudoslumptl Tillämpningr v slumptl Formell språk Tecken, lfet och ord Språk över lfet Reguljär språk Tillståndsmskiner 69 iii
4 6.1 Deterministisk tillståndsmskiner Icke-deterministisk tillståndsmskiner Delmängdskonstruktionen Tillståndsmskinerns språk Reguljär språk vgörs v tillståndsmskiner Tillståndsmskinerns språk är reguljär Särskiljning v ord Lösningr till udd övningsuppgifter 107 Förslg till vidre läsning 130 Skregister 131 iv
5 List över grekisk lfetet A α lf B β et Γ γ gmm δ delt E ε epsilon Z ζ zet H η et Θ θ thet I ι iot K κ kpp Λ λ lmd M µ my N ν ny Ξ ξ xi O o omikron Π π pi P ρ rho Σ σ sigm T τ tu Υ υ ypsilon Φ φ fi X χ chi Ψ ψ psi Ω ω omeg v
6 Någr ord på vägen Dett kompendium är skrivet för tt nvänds som kurslittertur till Stockholms mtemtisk cirkel under läsåret och estår v sju kpitel. Kompendiet är inte tänkt tt läss enrt på egen hnd, utn sk ses som ett skriftligt komplement till undervisningen på de sju föreläsningrn. All elever rekommenders tt läs igenom vrje kpitel själv innn föreläsningen. Det är inte nödvändigt tt förstå ll detljer vid den först genomläsningen. Som de flest mtemtisk skrifter på högre nivå är kompendiet kompkt skrivet. Dett inneär tt mn i llmänhet inte kn läs det som en vnlig ok. Istället ör mn pröv ny stser och definitioner genom tt på egen hnd exemplifier. Därmed uppnår mn oftst en mycket ättre förståelse v vd dess stser och ders evis går ut på. Till vrje kpitel finns ett ntl övningsuppgifter. De udd övningrn hr lösningr längst k i kompendiet. Syftet med dess är tt elevern sk kunn lös dem och på egen hnd kontroller tt de förstått mterilet. Övningr med jämn nummer sknr fcit och kn nvänds som exmintion. Det rekommenders dock tt mn försöker lös dess uppgifter även om mn inte exminers på dem. Om mn kör fst kn mn lltid fråg en kompis, en lärre på sin skol eller någon v förfttrn. Under årets gång kommer det tt finns övningstillfällen där elevern kn jo med uppgiftern, själv eller i grupp, och få hjälp v oss. De övningsuppgifter som är något svårre mrkers med en stjärn ( ). Uppgifter som är extr utmnnde mrkers med två stjärnor ( ). Det finns även progrmmeringsuppgifter för elever som kn progrmmer sedn tidigre, vilk mrkers med P frmför uppgiftsnumret. Progrmmering är inget förkunskpskrv för kursen, och kommer inte heller lärs ut under kursen, så progrmmeringsuppgiftern ör ses som helt och hållet vlfri. Övningrn kn h mång olik möjlig lösningr och det som står i fcit ör endst ses som ett förslg. vi
7 Någr ord om Cirkeln Stockholms mtemtisk cirkel är en kurs för mtemtikintresserde gymnsieelever, som rrngers v Kunglig Teknisk högskoln och Stockholms universitet. Cirkeln strtde 1999 och firr lltså 20 år dett läsår. Vid strten hde den nmnet KTH:s mtemtisk cirkel och hölls i KTH:s ensmm regi. Amitionen med Cirkeln är tt sprid kunskp om mtemtiken och dess nvändningsområden utöver vd elevern får genom gymnsiekurser, och tt etler ett närmre smrete melln gymnsieskoln och högskoln. Cirkeln skll särskilt stimuler eleverns mtemtikintresse och inspirer dem till fortstt nturvetenskplig och mtemtisk studier. Till vrje kurs skrivs ett kompendium som distriuers grtis till elevern. Dett mteril, föreläsningsschem och övrig informtion om Stockholms mtemtisk cirkel finns tillgängligt på Cirkeln godkänns oft som en gymnsiekurs eller som mtemtisk reddning på gymnsieskolorn. Det är upp till vrje skol tt godkänn Cirkeln som en kurs och det är lärrn från vrje skol som sätter etyg på kursen. Lärrn är självklrt också välkomn till Cirkeln och mång hr kommit överens med sin egen skol om tt få Cirkeln godkänd som fortildning eller som undervisning. Vi vill gärn understryk tt föreläsningrn är öppn för ll gymnsieelever, lärre eller ndr mtemtikintresserde. Vi hr vsiktligt vlt mterilet för tt ge elevern en inlick i mtemtisk teori och tnkesätt och presenterr därför åde någr huvudstser inom vrje område och evisen för dess resultt. Vi hr också som målsättning tt evis ll stser som nvänds om de inte kn förutsätts eknt v elever från gymnsiet. Dett, och tt fler ämnen är på universitetsnivå, gör tt lärrn och elevern kn upplev progrmmet som tungt, och lltför långt över gymnsienivån. Det ör därför inte ses som ett krv tt lärrn och elevern skll ehärsk ämnet fullt ut och tt lär in det på smm sätt som gymnsiekursern. Det viktigste är tt elevern kommer i kontkt med teoretisk mtemtik och får en inlick i mtemtikens väsen. Vår förhoppning är tt lärrn med denn utgångspunkt skll h lättre tt upplys intresserde elever om Stockholms mtemtisk cirkel och övertyg skolledrn om vikten v tt låt åde elever och lärre delt i progrmmet. vii
8 Någr ord om etygssättning Då Cirkeln inte är utformd på smm sätt som ndr gymnsiekurser i mtemtik kn etygsättningen li prolemtiskt, om smm stndrd som för ordinrie gymnsiekurser nvänds. Utgångspunkten ör istället vr tt elevern skll få insikt i mtemtiken genom tt gå på föreläsningrn och tt eleven gör sitt äst för tt förstå mterilet och lös uppgiftern. Självklrt etyder det mycket vd elevern hr lärt v mterilet i kursen, men lärrn kn r förvänt sig tt ett fåtl elever ehärskr ämnet fullt ut. Förfttrn, sommren 2019 viii
9 1 Vd är mtemtik, egentligen? Temt för årets upplg v cirkeln är dtorerns mtemtik. Vi kommer tt studer olik spekter v dtorer, med fokus på metoder och teori för tt utför mtemtisk eräkningr med hjälp v dtorer. För tt studer dett kommer vi nvänd mtemtiken som verktyg, och i dett först kpitel förklrr vi vd vi egentligen menr med mtemtik. Den modern mtemtiken, som vetenskp, sägs oft estå v definitioner, stser och evis. En definition slår fst vd ett visst ord sk etyd. Till exempel kn vi definier jämn tl och udd tl på följnde sätt. Definition Ett heltl n klls för ett jämnt tl om n = 2k för något heltl k. Definition Ett heltl n klls för ett udd tl om n = 2k + 1 för något heltl k. Läsren är förstås eknt med udd och jämn tl sedn tidigre, och kn kontroller tt ovnstående definitioner stämmer överens med läsrens egen uppfttning om vd udd och jämn tl är. Oserver tt vi inte hr definiert egreppet heltl, men vi ntr tt dett redn är ett välkänt egrepp. En sts är ett påstående som hr evists vr snt. En sts hänger lltså ihop med ett mtemtiskt evis, vilket är en följd v logisk resonemng som visr vrför påståendet är snt. Ett exempel följer nedn. Sts Om n är ett jämnt tl så är n + 1 ett udd tl. Om n istället är ett udd tl så är n + 1 ett jämnt tl. De flest håller säkert med om tt stsens påstående är snt. Den som är tveksm knske provr tt dder 1 till någr heltl, och ser tt påståendet verkr stämm. I empirisk vetenskper, såsom fysik och ndr nturvetenskper, är det precis så mn gör för tt test teorier mn utför experiment eller oservtioner för tt se om teorin verkr stämm eller inte. Om teorin stämmer i tillräckligt mång fll nses den vr r nog för tt nvänd. I mtemtiken räcker det inte. Vi måste vis tt påståendet lltid är snt, i ll tänkr fll. För tt gör det måste vi nvänd oss v definitionern v jämn och udd tl, det vill säg Definition och Bevis v Sts Antg först tt n är ett jämnt tl. Enligt definitionen finns då ett heltl k sådnt tt n = 2k. Då måste n + 1 vr ett udd tl, eftersom n + 1 = 2k + 1, vilket enligt definitionen etyder tt n + 1 är udd. Antg nu istället tt n är ett udd tl. Då finns det ett heltl k sådnt tt n = 2k + 1. Men då är n + 1 = 2k + 2 = 2(k + 1), vilket är ett jämnt tl eftersom k + 1 är ett heltl. Vi kommer återkomm till påståenden och snning i vsnitt 1.3, och se fler exempel på evis i vsnitt 1.4. Innn dess sk vi introducer två v de mest grundläggnde egreppen inom mtemtiken, nämligen mängder (vsnitt 1.1) och funktioner (vsnitt 1.2).
10 1.1 Mängder En mängd är en smling v ojekt. Ojekten som ingår i mängden rukr klls element. Elementen kn vr vd som helst, till exempel kn de vr tl, okstäver eller ord. För tt eskriv en mängd kn vi helt enkelt list ll element inom klmmerprenteser {}. Till exempel är {1, 2,,, 5 7, π} mängden som estår v elementen 1, 2,,, 5 7 och π. Två mängder är lik med vrndr om de innehåller smm element. Ordningen på elementen spelr ingen roll, och inte heller hur mång gånger ett element lists. Till exempel är {0, 1} = {1, 0} = {0, 0, 1, 1, 0} = {1, 1, 1, 1, 1, 1, 0} mängden som innehåller de två elementen 0 och 1. Antlet element i en mängd M eteckns med M. Alltså är {0, 1} = 2, men även {0, 0, 1, 1, 0} = 2 eftersom vi ortser från om smm element lists fler gånger. För tt säg tt en mängd M innehåller ett visst element x kn vi skriv x M, vilket utläses x tillhör M eller x är i M. Exempel En mängd kn innehåll ndr mängder som element. Ett exempel är mängden M = {5, {0, 4, 2}, { 1, 1}, 2}. Mängden M estår v elementen 2, 5, {0, 4, 2} och { 1, 1}. Alltså är M = 4. Vi kn till exempel skriv 5 M och {0, 4, 2} M. Däremot är inte 0 eller 4 element i M. Definition Mängden som inte innehåller någr element lls, det vill säg mängden {}, klls den tomm mängden och eteckns Ø. Det finns också mängder som innehåller oändligt mång element. Ett exempel är mängden v ll heltl, som rukr eteckns Z. (Vlet v okstven Z kommer från det tysk ordet Zhl, som etyder tl.) För en oändlig mängd kn vi förstås inte list ll element, men i viss fll kn vi eskriv mängden som en tlföljd. Till exempel är Z = {0, 1, 1, 2, 2, 3, 3,...}, där de tre punktern etyder tt uppräkningen fortsätter enligt smm mönster i ll oändlighet. Någr ndr viktig oändlig mängder är de rtionell tlen Q som är tl på formen där, Z och 0, smt de reell tlen R som är de tl som finns på en oändligt lång smmnhängnde tllinje. 1 1 De reell tlen R estår dels v de rtionell tlen, dels v de irrtionell tlen (vilket är de tl som inte kn skrivs på formen där och är heltl). De irrtionell tlen ehövs för tt fyll i de glpp som nnrs skulle uppstå i tllinjen. Det går tt definier mängden v reell tl på ett mycket mer rigoröst sätt än vd vi gjort här, men det kräver mer rete och vr temt för Cirkeln (Vd är ett tl?), vrs kompendium den intresserde kn ldd ner från Cirkelns hemsid 2
11 Ett nnt sätt tt eskriv mängder är genom tt välj ut de element från en tidigre känd mängd som uppfyller ett visst villkor. Mängden v element i M som uppfyller ett visst villkor skrivs Till exempel kn vi låt {x M villkor på x}. A = {x Z x > 0}, (1.1) vilket vi kn utläs som mängden v x i Z sådn tt x är större än noll, eller helt enkelt mängden v heltl som är större än noll. Mängden A estår lltså v de positiv heltlen. Vi kn fortsätt och låt Mängden B estår v ll positiv udd tl. B = {x A x är ett udd tl}. (1.2) Definition Låt A och B vr mängder. Om ll element i B också är element i A sägs B vr en delmängd v A. Dett eteckns B A. Till exempel, om A och B definiers som i ekvtion (1.1) och (1.2) ovn så är A Z och B A. Dessutom är förstås B Z. Vidre är Z Q R. Ett sätt tt illustrer reltioner melln mängder är med hjälp v venndigrm (döpt efter den rittiske mtemtikern John Venn). I ett venndigrm representers vrje mängd v en cirkel. Att B är en delmängd v A illustrers genom tt cirkeln för B rits inuti cirkeln för A. B A Figur 1.1: Venndigrm för delmängd B A. Mängder kn också eskrivs genom tt nge på vilken form elementen sk vr. Till exempel kn mängden v jämn tl (kom ihåg Definition 1.0.1) skrivs {2k k Z}, vilket utläses mängden v element på formen 2k, där k tillhör Z. Denn mängd kn också eskrivs med hjälp v ett villkor som eller som {n Z n är ett jämnt tl} {n Z n = 2k, k Z}. Mängden v udd tl (Definition 1.0.2) kn på smm sätt skrivs {2k + 1 k Z}. Vi sk nu definier fyr olik sätt tt kominer två mängder, med så kllde mängdopertioner. 3
12 Definition Låt A och B vr mängder. Mängden v ll element som tillhör någon v mängdern A och B klls unionen v A och B, och eteckns A B. Om till exempel A = {1, 2, 3} och B = {3, 4, 5} så är A B = {1, 2, 3, 4, 5}. I venndigrmmet för A B ritr vi A och B som delvis överlppnde cirklr, och llt som tillhör någon v mängdern A och B är färglgt. A B A B Figur 1.2: Venndigrm för union A B. Definition Låt A och B vr mängder. Mängden v ll element som tillhör åd mängdern A och B klls snittet v A och B, och eteckns A B. Om som ovn A = {1, 2, 3} och B = {3, 4, 5} så är A B = {3}. I venndigrmmet för A B färglägger vi r själv överlppet melln A och B. A B A B Figur 1.3: Venndigrm för snitt A B. Definition Låt A och B vr mängder. Mängden v ll element som tillhör A men inte B klls differensen (ilnd mängddifferensen) melln A och B, och eteckns A \ B. Om A = {1, 2, 3} och B = {3, 4, 5} så är A \ B = {1, 2}. I venndigrmmet för A \ B färgläggs endst den del v A som inte överlppr B. A B A \ B Figur 1.4: Venndigrm för differens A \ B. 4
13 Givet två mängder A och B kn vi definier ett ordnt pr (, ) där A och B. Mängden v ll sådn ordnde pr eteckns A B = {(, ) A, B} och klls den krtesisk produkten v A och B. I ett ordnt pr spelr ordningen roll, så i llmänhet är (, ) (, ) och A B B A. Exempel Om A = {1, 2} och B = {1, 5, 9} så är den krtesisk produkten A B mängden A B = {(1, 1), (1, 5), (1, 9), (2, 1), (2, 5), (2, 9)}. Den krtesisk produkten B A är mängden B A = {(1, 1), (1, 2), (5, 1), (5, 2), (9, 1), (9, 2)}. Oserver tt A B = B A = 6 = 2 3 = A B. (Att dett lltid gäller viss i Övning 1.16.) Dock är mängdern A B och B A inte lik med vrndr. Om A = B skriver vi oft A A = A 2. Till exempel är R 2 mängden v ordnde pr v reell tl R 2 = {(x, y) x, y R}, vilket läsren knske känner igen som tlplnet. 1.2 Funktioner En funktion estår v två mängder X och Y smt en regel som till vrje element x X entydigt tilldelr precis ett element i Y. Mängden X klls funktionens definitionsmängd och Y klls funktionens målmängd. För tt säg tt f är en funktion från mängden X till mängden Y kn vi skriv f : X Y. Vi skriver f(x) för tt eteckn det element i Y som funktionen f tilldelr x X. Vi kllr x för indt till funktionen och f(x) för utdt. x X f f(x) Y Figur 1.5: Illustrtion v en funktion f : X Y. Definition Givet en funktion f : X Y definierr vi grfen till funktionen f som mängden {(x, f(x)) x X}. Noter tt grfen till f är en delmängd v X Y. 5
14 Exempel En funktion f : R R definiers genom tt till vrje x R tilldel tlet f(x) = x 2 R. Funktionen f kvdrerr lltså sitt indt. Grfen till denn funktion är mängden {(x, x 2 ) x R} R 2, vilket är en prel. En del v denn prel viss i Figur 1.6. y (x, x 2 ) x Figur 1.6: En del v grfen till funktionen f(x) = x 2. Exempel Vi kn definier en funktion g : X Z där X är mängden v ord som finns i Svensk Akdemiens ordok och g(x) är ntlet okstäver i ordet x X. Till exempel är g(orre) = 7, g(kmeloprd) = 10, g(sjkl) = 6, g(i) = 1. Däremot är vår funktion g inte definierd för ordet Torjörn eftersom det inte finns i Svensk Akdemiens ordok. Exempel Definitionsmängden X till en funktion f kn förstås vr en krtesisk produkt X = A B. I så fll estår indt till funktionen f v ordnde pr (, ) där A och B. Funktionens utdt skrivs då f(, ). Ett exempel är funktionen h : Z Z {0, 1} som definiers v tt h(, ) = 1 om = k för något heltl k och h(, ) = 0 nnrs. Funktionen h visr lltså om är en multipel v. Till exempel är h(1, 1) = 1, h(6, 3) = 1, h(6, 4) = 0, h( 2, 0) = 0. Givet funktionen h kn vi gå vidre och definier funktionen s : Z {0, 1} genom tt låt s(x) = h(x, 2) för x Z. Funktionen s visr om x är ett jämnt tl. Funktioner kn definiers till exempel genom tt mn nger en formel (som för f(x) = x 2 ), genom tt mn listr ll funktionsvärden i en tell (vilket r fungerr om definitionsmängden är ändlig), eller genom tt mn nger funktionens regel på något nnt sätt. Ett speciellt sätt tt definier funktioner på är genom en rekursiv definition, vilket etyder tt funktionen definiers med hjälp v referenser till sig själv, som i följnde exempel. 6
15 Exempel Låt Z 0 = {x Z x 0} vr mängden v ickenegtiv heltl. Vi definierr en funktion F : Z 0 Z 0 rekursivt genom 0 om n = 0, F (n) = 1 om n = 1, F (n 1) + F (n 2) om n 2. Funktionen F definierr en tlföljd F (0), F (1), F (2), F (3),... och så vidre. Det är viktigt tt definitionen innehåller ett eller någr sfll som den rekursiv definitionen kn fll tillk på, i dett fll F (0) = 0 och F (1) = 1. Med hjälp v dess kn vi räkn ut övrig funktionsvärden, F (2) = F (1) + F (0) = = 1, F (3) = F (2) + F (1) = = 2, F (4) = F (3) + F (2) = = 3, F (5) = F (4) + F (3) = = 5, och så vidre. Den här specifik tlföljden hr fått nmnet Fionccis tlföljd efter den itlienske mtemtikern Leonrdo Fioncci som levde på 1200-tlet. De först 20 tlen i tlföljden, upp till och med F (19), är 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, Tlet F (n) klls det n:te Fionccitlet. En funktion måste vr förutsägr och lltså lltid ge smm utdt för ett visst indt. En process som ger slumpmässigt utdt kn lltså inte vr en funktion i mtemtisk mening. Ilnd eror slumpmässighet på tt den indt som finns inte eskriver processen fullständigt. Till exempel är en väderleksprognos för imorgon en funktion v oservtioner som gjorts vid olik vädersttioner (prognosen eräkns ju utifrån oservtionern). Det fktisk vädret imorgon är dock inte en funktion v dess oservtioner, eftersom det kn ero på ndr fktorer som inte är känd. Till sist definierr vi likhet melln funktioner. Definition Två funktioner f : X Y och g : U V är lik med vrndr om X = U, Y = V, och f(x) = g(x) för ll x X. Om så är fllet skriver vi f = g. Oserver tt två funktioner inte kn vr lik med vrndr om de hr olik definitionsmängder eller målmängder. 1.3 Logik Ett påstående är inom klssisk logik 2 något som ntingen är snt eller flskt. Nedn följer fyr exempel på påståenden: 2 Det finns olik grenr inom logiken, men i dett kompendium håller vi oss till klssisk logik, där påståenden ntingen är snn eller flsk. 7
16 (i) = 2, (ii) 5 > 6, (iii) {1, 1, 1} = 3, (iv) Jnuri hr 31 dgr. Vi ser tt (i) och (iv) är snn påståenden, medn (ii) och (iii) är flsk (kom ihåg tt {1, 1, 1} = {1} = 1). Följnde uttryck Tomtr och troll {1, 1, 1} 2 är inte påståenden; de är vrken snn eller flsk. I dtorsmmnhng låter mn oft tlet 0 etyd flskt och tlet 1 etyd snt. Vi kommer nvänd denn konvention, och i dett kompendium kommer ett påstående P lltså h värdet 0 om det är ett flskt påstående och värdet 1 om det är snt. Att skriv P = 1 är lltså smm sk som tt säg P är snt. Definition Vi inför eteckningen B = {0, 1}. Om x B klls x för en Boolesk vriel. En Boolesk vriel hr lltså ntingen värdet 0 (flskt) eller 1 (snt). All påståenden är Boolesk vriler. George Boole vr en rittisk mtemtiker verksm på 1800-tlet, som införde olik sätt tt kominer Boolesk vriler, så klld Boolesk lger. Den Boolesk lgern nvänder lnd nnt följnde symoler. Definition Låt P och Q vr två Boolesk vriler. Då är P Q en ny Boolesk vriel som hr värdet 1 om någon v P och Q hr värdet 1, och nnrs värdet 0. Definition Låt P och Q vr två Boolesk vriler. Då är P Q en ny Boolesk vriel som hr värdet 1 om åde P och Q hr värdet 1, och nnrs värdet 0. Symolen utläses eller och symolen utläses och. Vi kn lltså se P Q som påståendet P eller Q, och P Q som påståendet P och Q. I dtorsmmnhng nvänds oft de engelsk orden OR för och AND för. Exempel Nedn följer fyr påståenden: (i) (1 + 2 = 3) (5 > 4), (ii) (0 = 0) (5 = 6), (iii) (6 = 2 3) (x = 2) (x = 3), 8
17 (iv) ( ) (1 = 1) (5 B) (Vinkelsummn i en tringel är 90 ). Påstående (i) är snt eftersom åde = 3 och 5 > 4 är snt. Påstående (ii) är snt eftersom 0 = 0 är snt. Påstående (iii) är flskt eftersom x = 2 och x = 3 omöjligen kn vr snn smtidigt ovsett värde på x. Påstående (iv) är flskt eftersom vinkelsummn i en tringel inte är 90. Om vi kominerr och i smm påstående, som i (iv), ehöver vi nvänd prenteser för tt vis i vilken ordning vi sk läs delpåståenden. Fktum är tt påståendet ( ) (iv ) (1 = 1) (5 B) (Vinkelsummn i en tringel är 90 ) är snt. Lägg märke till tt och i själv verket är två funktioner med definitionsmängd B B och målmängd B. Funktionerns indt är lltså ett ordnt pr (P, Q) och utdt är den Boolesk vrieln P Q respektive P Q. Ett vnligt sätt tt vis vilk värden sådn här Boolesk funktioner ntr för olik indt är med hjälp v snningsteller. Snningstellern för P Q och P Q viss nedn. P Q P Q P Q P Q Vi kn även nvänd snningteller för tt nlyser mer komplicerde smmnstt påståenden. Ett exempel följer nedn för (P Q) R. P Q R P Q (P Q) R Två ndr viktig Boolesk funktioner är negtion och impliktion. Dess definiers på följnde sätt. Definition Låt P vr en Boolesk vriel. Då är P en ny Boolesk vriel som hr värdet 1 om P hr värdet 0, och 0 om P hr värdet 1. 9
18 Definition Låt P och Q vr två Boolesk vriler. Då är P = Q en ny Boolesk vriel som hr värdet 0 om P hr värdet 1 smtidigt som Q hr värdet 0, och nnrs värdet 1. Symolen utläses icke (på engelsk: NOT) medn P = Q kn utläss ntingen P implicerr Q eller om P så Q. Snningstellern för dess funktioner viss nedn. P P P Q P = Q Exempel Impliktion (= ) är mycket vnligt i mtemtisk påståenden. Nedn följer någr exempel. (i) Om n är ett jämnt tl så är n + 1 ett udd tl, vilket kn skrivs (n är ett jämnt tl) = (n + 1 är ett udd tl) (ii) Om n är ett heltl ( så är n ett jämnt eller udd tl, vilket ) kn skrivs (n Z) = (n är ett jämnt tl) (n är ett udd tl) (iii) Om B är en delmängd v A, och C är en delmängd v B, så är C en ( delmängd v A, vilket ) kn skrivs (B A) (C B) = (C A) (iv) Om 5 tillhör den tomm mängden så är 1 = 2, vilket kn skrivs (5 Ø) = (1 = 2) All dess påståenden är snn. Påstående (i) evisde vi som Sts 1.0.3, och påstående (ii) kommer vi tt evis som Sts Påstående (iii) eviss i Övning Påstående (iv) är snt eftersom P = Q lltid är snt när P är flskt, vilket kn ses i snningstellen. Vi kn också nvänd venndigrm för tt illustrer Boolesk funktioner. Vi ritr då upp en cirkel för vrje indtvriel så tt cirklrn delvis överlppr, och tänker oss tt vrje vriel hr värdet 1 inuti sin respektive cirkel och 0 utnför. Vi färglägger sedn de områden som motsvrr tt funktionen i fråg ger 1 som utdt. Se Figur 1.7. P Q P Q P P = Q P Q P Q P P Q Figur 1.7: Venndigrm för någr Boolesk funktioner. 10
19 Med hjälp v venndigrmmen ovn kn vi tolk de Boolesk funktionern som mängdopertioner, och vi ser tt funktionern och motsvrr mängdopertionern union ( ) respektive snitt ( ); jämför med Figur 1.2 och Mtemtisk evis Vi hr redn sett ett exempel på en sts och tillhörnde evis i och med Sts på sid 1. Ett sådnt evis, där mn med hjälp v definitioner och tidigre stser tr sig direkt från stsens ntgnden till dess slutsts, klls ett direkt evis. Någr fler exempel på direkt evis kommer här. Sts (P = Q) = (( P ) Q) för ll P, Q B. Bevis. Låt oss jämför snningstellern för P = Q smt ( P ) Q. P Q P = Q P Q P ( P ) Q Dett visr tt P = Q och ( P ) Q lltid hr smm värde. Sts Låt X och Y vr ändlig mängder, med X = k och Y = n. Antlet möjlig olik funktioner från X till Y är n k. Bevis. En funktion f : X Y måste ge ett värde f(x) Y till vrje element x X. Det finns X = k olik element i X, och ll dess sk få ett funktionsvärde. Antlet möjlig olik funktionsvärden är Y = n. Vi måste lltså välj k stycken funktionsvärden, och vrje värde kn väljs på n olik sätt. Enligt multipliktionsprincipen 3 är det totl ntlet möjlig sätt tt välj funktionsvärden på n } n {{ n n} = n k. k stycken fktorer En nnn typ v evis är motsägelseevis (även kllde indirekt evis), där mn evisr ett påstående P genom tt vis tt motstsen, P, leder till en motsägelse, lltså en omöjlighet. Eftersom P leder till en omöjlighet så kn inte P vr snt, och därför måste P vr snt. 4 Ett enkelt exempel följer på näst sid. 3 Multipliktionsprincipen säger tt om det finns sätt tt gör ett först vl på och sätt tt gör ett ndr vl på, så finns det sätt tt tillsmmns gör de två vlen på. I dett fll hr vi k vl tt gör, och vrje vl kn görs på n sätt. 4 Denn princip kn formulers med logisk symoler på följnde sätt: Om vi kn vis tt impliktionen ( P ) = Q är snn, och Q uppenrt är flskt, så måste även P vr flskt (för 0 = 0 är snt, men 1 = 0 är flskt), och lltså är P snt. 11
20 Sts Det finns inget minst positivt rtionellt tl. Bevis. Ett positivt rtionellt tl kn skrivs på formen / där åde och är positiv heltl. Låt oss nt motstsen till stsens påstående, lltså tt det finns ett minst positivt rtionellt tl. Låt oss kll dett tl x, och skriv x = / där och är positiv heltl. Betrkt tlet y = x/2 = /(2). Även y är ett positivt rtionellt tl, och y är uppenrligen mindre än x. Dett är en motsägelse, för x vr det minst positiv rtionell tlet. Alltså måste ntgndet tt det finns ett minst positivt rtionellt tl vr flskt. Ett välkänt motsägelseevis nvänds för tt vis tt 2 inte är ett rtionellt tl. Sts är inte ett rtionellt tl. Bevis. Antg motstsen, det vill säg tt 2 är ett rtionellt tl. Då kn vi skriv 2 =, (1.3) där och är heltl och 0. Dessutom kn vi nt tt råket / är förkortt så långt det går, så tt och inte hr någr gemensmm delre (heltlsfktorer) förutom 1. Genom tt kvdrer ekvtion (1.3) och multiplicer med 2 fås 2 2 = 2, (1.4) vilket visr tt 2 är ett jämnt tl eftersom 2 är ett heltl. Enligt Övning 1.6 är också ett jämnt tl, låt säg tt = 2k för något k Z. Kvdrering ger då 2 = (2k) 2 = 4k 2. Vi sätter in dett i ekvtion (1.4) och får efter division med 2 2 = 2k 2, vilket säger tt även 2 är ett jämnt tl. Övning 1.6 ger tt är ett jämnt tl, men då är åde och jämn tl och hr lltså 2 som gemensm delre. Dett motsäger ntgndet vi gjorde om tt råket / vr förkortt så långt det går. Alltså kn 2 inte vr ett rtionellt tl. Till sist tr vi upp en typ v evis som klls för induktionsevis. I dett fll vill vi evis en följd v påståenden P 1, P 2, P 3,... och så vidre i ll oändlighet. Vi gör dett genom tt (i) Bevis tt det först påståendet P 1 är snt, (ii) Bevis tt P k = P k+1, det vill säg om P k är snt så är även P k+1 snt. Vi evisr lltså först P 1, och (ii) leder därefter till tt P 2 måste vr snt, vilket leder till tt P 3 måste vr snt, och så vidre i ll oändlighet. Steg (i) klls för ssteg eller sfll, och steg (ii) klls för induktionssteg. Vi kn nvänd induktion för tt evis följnde. Sts All heltl är udd eller jämn tl. 12
21 Bevis. För tt kunn nvänd induktion örjr vi med tt formuler om påståendet till följnde: n är ett udd eller jämnt tl, där n är ett heltl. Vi kllr dett påstående P n. (i) Vi örjr med tt välj ett sfll, lltså ett först påstående tt evis. Till exempel kn vi välj P 0, påståendet 0 är ett udd eller jämnt tl. Fktum är tt 0 är ett jämnt tl eftersom 0 = 2 0. Alltså är P 0 snt. (ii) Vi sk nu evis induktionssteget, det vill säg tt om P k är snt så är P k+1 snt. Det vi sk evis är tt om k är udd eller jämnt så är även k + 1 udd eller jämnt. Här kn vi nvänd Sts Vi delr upp eviset i två fll. Fll 1: Om k är jämnt så ger Sts tt k + 1 är udd. Fll 2: Om k är udd så ger Sts tt k + 1 är jämnt. I åd fllen gäller tt k + 1 är udd eller jämnt, vilket vr det vi ville evis. Dett evisr tt ll heltl större än eller lik med 0 är udd eller jämn. Beviset för negtiv heltl lämns som Övning Smmnfttningsvis kunde vi lltså vis tt 0 är jämnt, och därför måste 1 vr udd, vilket etyder tt 2 måste vr jämnt, och så vidre. I en nnn vrint v induktionsevis nvänder mn sig v de två stegen (i) Bevis tt det först påståendet P 1 är snt, (ii) Bevis tt (P 1 P 2 P k ) = P k+1. I induktionssteget ntr mn lltså tt ll de tidigre påståenden är snn, inte r det senste. Dett klls ilnd strk induktion. Principen är densmm som för vnlig induktionsevis: om vi evist tt P 1 är snt följer det tt P 2 är snt. Då är åde P 1 och P 2 snn, och det följer tt P 3 är snt. Då vet vi tt P 1, P 2 och P 3 är snn, så P 4 är snt, och så vidre. Ilnd kn det ehövs fler sfll, och då kn steg (i) till exempel estå i tt evis tt åde P 1 och P 2 är snn (eller ll P n upp till ett estämt värde på n). Vi vslutr med ett evis där strk induktion nvänds. Definition Ett heltl större än 1 klls för ett primtl om det inte kn uttrycks som en produkt v två mindre positiv heltl. Till exempel är tlen 2, 3, 5 och 7 primtl. Däremot är inte 4 eller 6 primtl, eftersom 4 = 2 2 och 6 = 2 3. Sts Vrje heltl större än 1 är ntingen ett primtl, eller en produkt v fler primtl. Bevis. Låt P n vr påståendet n är ntingen ett primtl eller en produkt v fler primtl, för heltl n 2. Vi nvänder (strk) induktion. 13
22 (i) Bsfllet lir P 2, vilket är snt eftersom 2 är ett primtl. (ii) För induktionssteget ntr vi tt P 2, P 3,..., P k är snn upp till något tl k. Vi sk evis P k+1, tt k + 1 ntingen är ett primtl eller en produkt v fler primtl. Fll 1: Om k + 1 är ett primtl så är vi klr. Fll 2: Om k+1 inte är ett primtl måste vi evis tt k+1 är en produkt v fler primtl. Eftersom k + 1 inte är ett primtl är k + 1 =, där och är positiv heltl mindre än k + 1, enligt Definition Vrken eller kn vr lik med 1, eftersom det ndr tlet då skulle vr lik med k +1. Tlen och är lltså heltl större än 1 men mindre än k +1. Enligt vårt induktionsntgnde är P och P då snn; är ntingen ett primtl eller en produkt v primtl, och detsmm gäller. Alltså är k + 1 = en produkt v fler primtl. Därmed hr vi evist stsen med hjälp v (strk) induktion. Övningr Grundläggnde uppgifter Övning 1.1. List ll element i följnde mängder. (i) A = {x Z 0 < x + 2 4} (ii) B = {x Z (x 2 = 4) (x 3 = 27)} (iii) C = {2x + 5 x B} (iv) A C (v) (A B) \ C Övning 1.2. Låt A = {1, 2, 5, π, {1, 2}, {9, 27}}. Vilk v följnde mängder är delmängder till A? B = {π, 5} C = {1, 1, 2} D = {π, π} E = {9, 27} F = {{9, 27}} G = {1, 2, 5, π, {1, 2}, {9, 27}} Övning 1.3. Är de två mängdern lik med vrndr? Om de är lik, motiver vrför! Om de inte är lik, ge ett exempel på ett element som finns i den en mängden, men inte i den ndr. (i) {0, 1} och {{0, 1}} 14
23 (ii) {x Z x 2 = 4} och {x Z x 3 = 8} (iii) {1 x x B} och {x 2 x B} (iv) {2x + 1 x Z} och {2x 1 x Z} (v) { x 2 x Z} och {x Z x 0} Övning 1.4. Bevis tt ett heltl inte kn vr åde udd och jämnt på smm gång. Övning 1.5. Bevis tt det inte finns något störst heltl. Övning 1.6. Låt x vr ett heltl. Bevis tt om x 2 är ett jämnt tl så är även x ett jämnt tl. Övning 1.7. Vilk v följnde regler definierr funktioner i mtemtisk mening? För de regler som inte definierr funktioner, förklr vrför de inte är funktioner. (i) f : Z Z tr indt x och ger som utdt f(x) = x med 50 % snnolikhet och f(x) = x + 1 med 50 % snnolikhet. (ii) f : Z Z tr indt x och ger som utdt f(x) = 2. (iii) f : Z Z tr indt x och ger som utdt f(x) ntlet femmor i tlet x då x skrivs i det vnlig deciml tlsystemet (det vill säg så som vi rukr skriv tl med siffrorn 0 till 9). (iv) f : Z {0, 1} tr indt x och ger utdt f(x) = 1 om det idg är den x:te dgen i månden, nnrs f(x) = 0. (v) Låt T vr mängden v ll möjlig tringlr i plnet. f : T R tr en tringel x som indt och ger som utdt f(x) tringelns re. (vi) f : {1, 2} R tr indt x och ger utdt f(x) = 5 om x = 1 och f(x) = 2 om x = 2. (vii) f : R R tr indt x och ger utdt f(x) = 1 om x är ett rtionellt tl, nnrs f(x) = 0. Övning 1.8. Vilk v följnde är påståenden? Vilk v påståenden är snn? (i) Vinkelsummn i en tringel (ii) Helium är ett grundämne (iii) 6 = (iv) 0 0 (v) 5 3 (vi) Ø {4, 6, 8} 15
24 Övning 1.9. Är de två funktionern f och g lik med vrndr? Om de inte är lik med vrndr, förklr vrför! (i) f : R Z som ges v f(x) = { 1 om x Z, 0 nnrs, och g : Z Z som ges v g(x) = 1 för ll x Z. (ii) f : R R som ges v f(x) = 2x och g : Z Z som ges v g(x) = 2x. (iii) f : Z Z som ges v f(x) = x 2 och g : Z Z som ges v g(x) = x. (iv) f : Z Z som ges v 0 om x = 0, f(x) = f(x 1) + 1 om x > 0, f(x + 1) 1 om x < 0, och g : Z Z som ges v g(x) = x för ll x Z. Övning Låt P och Q vr Boolesk vriler och evis tt (i) (P Q) = ( P ) ( Q), (ii) (P Q) = ( P ) ( Q). (Dess likheter klls De Morgns lgr efter mtemtikern Augustus De Morgn.) Övning Låt A, B och C vr mängder. Vis med hjälp v definitionen v delmängd tt om B A och C B så är C A. Övning 1.12 ( ). Låt n 0 vr ett heltl. Vis tt summn v de n först tvåpotensern är lik med 2 n+1 1. Alltså, vis tt n = 2 n+1 1. Övning Slutför eviset v Sts genom tt vis tt även ll negtiv heltl är udd eller jämn tl. Mer vncerde uppgifter Övning Bevis tt (i) summn v två udd tl är jämn, (ii) produkten v två udd tl är udd. Övning 1.15 ( ). Bevis tt det finns oändligt mång primtl. 16
25 Övning Bevis tt om A och B är ändlig mängder så är A B = A B. Övning Hur mång olik funktioner finns det från B B till B? Övning En funktion från B B till B kn definiers genom tt låt P Q h värdet 1 om P eller Q, men inte åd, hr värdet 1. Funktionen klls XOR (exclusive OR) och hr snningstellen nedn. P Q P Q (i) Hur ser venndigrmmet för P Q ut? (ii) Skriv upp snningstellen för (P Q) R. (iii) Vis tt P Q kn uttrycks med hjälp v funktionern, och. Övning 1.19 ( ). Vi kn definier ytterligre en funktion från B B till B genom tt sätt P Q = (P Q) för ll P, Q B. Funktionen klls NAND (NOT AND) och hr snningstellen nedn. P Q P Q Ett intressnt fktum är tt ll möjlig Boolesk funktioner kn uttrycks som komintioner v endst NAND. Till exempel är P = P P, vilket lätt kn verifiers med en snningstell. (i) Bevis tt P Q = (P Q) (P Q). (ii) Bevis tt även P Q kn uttrycks som komintioner v. (iii) Hur skulle mn kunn evis tt ll möjlig funktioner från B B till B kn uttrycks som komintioner v? Övning Låt A och B vr mängder. Vis med hjälp v definitionen v delmängd tt om A B och B A så är A = B. (Dett är ett vnligt sätt tt vis tt två mängder är lik med vrndr.) 17
26 Övning Låt A, B och C vr mängder. Bevis tt likhetern (i) (A B) \ C = (A \ C) (B \ C) (ii) C \ (A B) = (C \ A) (C \ B) lltid gäller, det vill säg tt mängdern i vänsterledet och högerledet innehåller smm element. Övning 1.22 ( ). Låt A och B vr mängder. Bevis tt (A B) (B A) = (A B) (A B). Övning 1.23 ( ). Låt F vr Fionccifunktionen från Exempel Bevis tt F (n) = φn (1 φ) n 5 för ll n Z 0 = {x Z x 0}, där φ = (1 + 5)/2 är det gyllene snittet, som löser ekvtionen φ 2 = φ + 1. Progrmmeringsuppgifter Övning 1.P1. Skriv ett progrm som eräknr och skriver ut det n:te Fionccitlet, lltså F (n) från Exempel Använd progrmmet för tt räkn ut F (5), F (10), F (20) och F (40). Övning 1.P2 ( ). Skriv ett progrm som eräknr och skriver ut kvoten F (k + 1)/F (k) för k = 1, 2,..., n, där n är ett givet positivt heltl. Använd progrmmet för tt skriv ut kvotern upp till och med n = 30. Vd verkr händ? 18
27 2 Hur kn en dtor räkn? I en dtor lgrs ll informtion som en följd v ettor och nollor. I dtorns minne finns lång rder v små elektronisk komponenter som kn växl melln hög spänning (vilket tolks som 1) och låg spänning (vilket tolks som 0). På smm sätt kn informtion överförs, till exempel genom en optisk fier där ljussignlen är strk (tolks som 1) eller svg (tolks som 0). En följd v ettor och nollor kn tolks på olik sätt, till exempel som ett tl ( 71 ), ett tecken i en text ( G ), eller färgen på en pixel i en ild. Dett kpitel och näst hndlr om hur dtorer kn lgr tl och räkn med dem. Grundprincipen är densmm i ll modern elektronik vi tlr lltså inte r om vnlig dtorer, utn även om moiltelefoner, spelkonsoler, miniräknre, mikrovågsugnr, digitl klockor och så vidre. Dett kpitel hndlr om heltl, näst kpitel om tl med decimler. Ilnd kn dtorerns sätt tt räkn på led till förvånnde resultt. Till exempel kn, under viss omständigheter, li 0 istället för 256, och på smm sätt kn 0 1 li 255. Dett återkommer vi till i vsnitt 2.2, men först sk vi gå igenom hur en dtor över huvud tget lgrr tl. 2.1 Binär tl och osignerde heltl Dtorer kn lltså r lgr ettor och nollor, vilket etyder tt de måste nvänd det inär tlsystemet. För tt förstå hur det inär tlsystemet fungerr örjr vi med tt repeter hur vårt vnlig deciml tlsystem fungerr. När vi skriver ett tl som 3405 menr vi egentligen 3405 = = Siffrorns position i tlet 3405 vgör vilken tiopotens vrje siffr sk multiplicers med, från 10 0 för entlssiffrn längst till höger och så vidre. Bsen i det deciml tlsystemet är 10, vilket återspegls i tt vi nvänder potenser v tlet 10, och hr tio olik siffror (0, 1, 2, 3, 4, 5, 6, 7, 8 och 9). I det inär tlsystemet är sen 2, och vi nvänder då istället potenser v tlet 2, och hr endst två olik siffror (0 och 1). Ett exempel på ett tl skrivet i det inär tlsystemet är = = = = 26, (2.1) vilket som vi ser är tlet 26. Tlet 26 är detsmm ovsett om vi skriver det som 26 (i s 10) eller (i s 2); det är r olik sätt tt skriv tlet på. Vi nvänder en liten två ( 2 ) till höger för tt vis tt ett tl är skrivet i s 2. Både det inär och det deciml tlsystemet kn nvänds för tt skriv ll heltl. Om vi hr ett tl skrivet i s 2 så är det lätt tt omvndl tlet till 19
28 s 10; vi skriver r ut tvåpotensern och dderr dem, som vi gjorde i ekvtion (2.1). För tt omvndl ett tl skrivet i s 10 till s 2 kn vi gör som i följnde exempel. Exempel Skriv tlet 3405 i s 2. Vi sk estämm vilk tvåpotenser tlet 3405 är uppyggt v. Vi kn örj med tt hitt den störst tvåpotensen som är mindre än eller lik med Följnde list visr ll tvåpotenser mindre än = = = = = = = = = = = = = = 8192 Tydligen är 2 11 = 2048 den störst tvåpotensen mindre än eller lik med Skillnden är = Dett etyder tt 3405 = Vi gör likdnt med tlet 1357 och ser tt 2 10 = 1024 är den störst tvåpotensen mindre än eller lik med Skillnden är = 333. Nu vet vi lltså tt 3405 = På smm sätt är 333 = , och 77 = Till sist är 13 = 8 + 5, och 5 = Om vi nu sätter ihop llt som vi kommit frm till ser vi tt 3405 = = Dett etyder tt 3405 = Om vi hr två tl skrivn i s 2 så kn vi dder, sutrher, multiplicer eller divider dem för hnd precis som vi är vn tt gör med tl skrivn i s 10. Exempel Beräkn summn v 27 = och 51 = Vi kn gör en vnlig dditionsuppställning, och gå från höger till vänster och summer en sifferposition i tget. (De små understrukn ettorn nedn är minnessiffror som flytts över till positionen till vänster eftersom resulttet i nuvrnde position lev 2 = 10 2 eller större.) Steg Steg
29 Steg Steg Steg Steg Steg Steg Summn är lltså I s 10 lir tlet = 78, vilket såklrt är För oss människor är det förmodligen lättre tt genomför dditionen direkt i s 10 istället. För en dtor är det istället snre tt nvänd s 2. Vi sk titt närmre på hur mn fktiskt kn konstruer en mskin som dderr heltl i s 2 i vsnitt 2.3. Osignerde heltl. En siffr i ett tl skrivet i s 2 klls en it (från engelskns inry digit, lltså inär siffr ). Dtorer hr en egränsd mängd minne, och därför lgrs tl oftst med ett estämt ntl itr, till exempel 8 itr. Vi kn tänk oss tt dtorn hr 8 stycken lådor som vr och en kn innehåll ntingen en ett eller noll, som i figuren nedn Tlet som lgrs här är = = 52 (de inlednde nollorn påverkr ju inte tlets värde). Ett tl som lgrs på det här sättet med N itr (där N är ett positivt heltl) klls ett N-itrs osignert heltl (på engelsk N-it unsigned integer). Ordet osignert etyder tt vi inte hr lgrt något tecken (sign på engelsk), lltså informtion om huruvid det är ett negtivt eller positivt tl. Osignerde heltl kn därför inte vr negtiv. Följnde sts erättr vilk värden som ett N-itrs osignert heltl kn nt. Sts Låt N vr ett positivt heltl. Ett N-itrs osignert heltl kn nt 2 N olik värden, nämligen 0, 1,..., 2 N 1. Bevis. Vi evisr påståendet med hjälp v induktion över N. I sfllet är N = 1 och påståendet är uppenrligen snt eftersom 1 it kn nt 2 = 2 1 olik värden, och dess värden är 0 och 1 = Antg tt påståendet är snt för N = k, lltså tt ett k-itrs osignert heltl kn nt de 2 k olik värden 0, 1,..., 2 k 1. Vi lägger nu till en it längst till 21
30 vänster, så tt vi får ett k + 1-itrs osignert heltl. Om den ny iten sätts till 0 kn vi lgr ll tl från tidigre, lltså de 2 k värden 0, 1,..., 2 k 1. Om den ny iten sätts till 1 kn vi lgr de 2 k ny värden 2 k, 2 k + 1,..., 2 k + 2 k 1 (de gml värden plus 2 k, vilket är den tvåpotens som multiplicers med den ny iten). Vi ser tt det totlt lir 2 k + 2 k = 2 k+1 värden, nämligen 0, 1,..., 2 k 1, 2 k, 2 k + 1,..., 2 k+1 1. Därmed är påståendet snt även för N = k + 1 och vi hr evist stsen med hjälp v induktion. Exempel Ett 8-itrs osignert heltl kn nt 2 8 = 256 olik värden, nämligen 0, 1,..., 255. (En följd v 8 itr rukr klls en oktett eller en yte. En yte kn lltså nt 256 olik värden.) Ett 32-itrs osignert heltl kn nt 2 32 = (över 4 miljrder) olik värden, från 0 till (Dett motsvrr 4 yte.) Ett 64-itrs osignert heltl kn nt 2 64 = (ett tl med 20 siffror i s 10) olik värden, från 0 till (Dett motsvrr 8 yte.) 2.2 Överflöde och kongruensräkning Vd händer om värdet som sk lgrs i ett N-itrs osignert heltl är för stort? Som exempel, låt oss säg tt vi nvänder 4-itrs osignerde heltl och vill dder tlen = 11 och = 12. Summn lir = 23, men dett värde kn ju inte lgrs med endst 4 itr som de ursprunglig tlen = Dett klls för överflöde (på engelsk overflow), och inneär tt mn försöker lgr ett värde som är ntingen för stort eller för litet för det ntl itr som mn retr med (i fllet med 4 itr ntingen större än 15 eller mindre än 0). Hur överflöde hnters eror på vilken typ v dtor och även vilket progrmmeringsspråk mn nvänder. Vnligtvis händer något v följnde: (i) Dtorn utökr utomtiskt ntlet itr som nvänds för tt lgr tlet så tt det får plts. Resulttet i exemplet ovn kn då li med 5 itr, eller också med 8 itr, eller i llmänhet ett M-itrs osignert heltl där M är vilket heltl som helst stort nog för tt värdet sk kunn lgrs. (Så här fungerr till exempel progrmmeringsspråket Python.) 22
31 (ii) Dtorn ändrr värdet på tlet till det störst som går tt lgr (om tlet vr för stort), eller det minst som går tt lgr (om tlet vr för litet), utn tt ändr ntlet itr. I exemplet ovn skulle resulttet li det vill säg 15, vilket är det störst tl som kn lgrs med 4 itr. (Det här klls på engelsk clmping eller sturtion och nvänds lnd nnt oft v grfikkort.) (iii) Dtorn slänger ort de siffror som inte får plts och lgrr lltså r siffrorn längst till höger i tlet (de minst signifiknt siffrorn). I exemplet ovn lir resulttet det vill säg 7. Det här är smm sk som kongruensräkning modulo 2 N, vilket vi kommer gå in mer på strx. (Det här nvänds lnd nnt v progrmmeringsspråket C.) Metod (i), där dtorn utomtiskt utökr ntlet itr så tt tlet får plts, hr förstås en stor fördel i och med tt summn lir vd mn förväntr sig. Det finns också en nckdel, nämligen tt det är långsmmre än tt ehåll ett fixt ntl itr. Metod (ii) och (iii) är lltså snre, och v dess är (iii), som vi s är detsmm som kongruensräkning, den vnligste. Vi sk därför fördjup oss lite i kongruensräkning, eller moduloräkning som det också klls. Definition Låt och vr heltl, och låt n vr ett positivt heltl. Vi säger tt och är kongruent modulo n om de uppfyller = + kn för något heltl k. Om så är fllet skriver vi (mod n), vilket utläses är kongruent med modulo n. 5 Exempel Kongruensräkning rukr jämförs med hur en vnlig nlog 12-timmrsklock fungerr. Om klockn är 3:00 på ntten står timvisren på 3, som i Figur Figur 2.1: Anlog klock som visr klockn 3. Efter 12 timmr är klockn 15:00, men timvisren står återigen på 3, och klockn ser lltså likdn ut. Dett eror på tt 15 = , vilket inneär tt 15 3 (mod 12) enligt Definition Tlen 15 och 3 är lltså kongruent modulo Kongruens kn också definiers som tt (mod n) om och hr smm rest vid division med n. Dett inneär tt = pn + r och = qn + r, där p och q är heltl och r är ett heltl som uppfyller 0 r n 1. Denn definition är likvärdig med vår definition, vilket viss i Övning
32 Definition Låt n vr ett positivt heltl. Givet ett heltl definierr vi Mod n () som det tl i mängden {0, 1,..., n 1} som uppfyller Mod n () (mod n). Noter tt Mod n är en funktion från Z till mängden {0, 1,..., n 1}. Till exempel är Mod 12 (15) = 3 och Mod 12 (3) = 3, medn Mod 12 (12) = 0. Exempel Nu återvänder vi till de N-itrs osignerde heltlen. Ett sådnt tl kn enligt Sts nt 2 N olik värden och motsvrr därför en klock med 2 N timmr. I exemplet med 4 itr lir det 2 4 = 16 timmr (från 0 till 15), som i Figur Figur 2.2: En klock med 16 timmr. Figuren visr också tt om vi som tidigre sk dder tlen = 11 och = 12 (det vill säg vi strtr på klockn 11 och går 12 steg medurs) så hmnr vi på 7 = , smm svr som metod (iii) gv. Dett eror på tt 23 = , så 23 7 (mod 16) och Mod 16 (23) = 7. Exempel Vi kn lgr 255 = och 1 = som 8-itrs osignerde heltl. Om vi dderr tlen får vi 256 = , vilket inte kn lgrs med 8 itr. Om överflödet hnters med metod (iii) sk den först ettn i tlet slängs ort, och resulttet lir lltså = 0. Eftersom 256 = så är Mod 2 8(256) = 0. Exempel Sutrktion v osignerde heltl kn också led till överflöde. Till exempel lir = 1, men negtiv värden kn ju inte lgrs i ett osignert heltl. Om metod (ii) nvänds för tt hnter överflödet lgrs istället det minst möjlig värdet, nämligen 0. Om däremot metod (iii) nvänds lgrs istället tlet x = Mod 2 N ( 1), det vill säg det heltl x melln melln 0 och 2 N 1 som uppfyller x 1 (mod 2 N ). Enligt Definition sk x lltså uppfyll x = 1 + k 2 N. Eftersom dessutom 0 x 2 N 1 måste vi välj k = 1, så tt x = 2 N 1. Tlet x eror lltså på N, ntlet itr. Om N = 4 som i Exempel lir värdet som lgrs x = 15 (jämför med Figur 2.2). Ett egrepp som är reltert till kongruensräkning är delrhet. Ett sätt tt eskriv det är tt ett heltl delr ett nnt heltl när divisionen / går jämt ut. 24
33 Definition Ett nollskilt heltl delr ett nnt heltl ifll det finns ett heltl k så tt k =. Mn säger också tt är delrt med. Tlet k klls för kvoten melln och. Mn kn formuler dett som tt delr ifll ingår i :s multipliktionstell. Ett nnt sätt tt formuler delrhet är tt det nollskild heltlet delr heltlet ifll kvoten k = / är ett heltl, eftersom k = =. I Övning 2.10 ges ett ytterligre sätt tt eskriv delrhet, den här gången i termer v kongruenser. Exempel Tlet 5 delr 25 med kvot 5, eftersom 5 5 = 25. Tlet 6 delr inte 21, eftersom 21/6 = 7/2 inte är ett heltl. 2.3 En dditionsmskin för heltl De Boolesk funktionern,, och = som vi lärde oss om i kpitel 1 kn ll konstruers som elektronisk komponenter, och klls då logisk grindr. En logisk grind tr inär indtsignler (som vr och en hr värdet 0 eller 1) och ger en inär utdtsignl. Till exempel viss i Figur 2.3 en OR-grind som representerr den Boolesk funktionen eller. 6 A B R Figur 2.3: En OR-grind, som ger utsignlen R = A B. Den del v dtorn som utför heltlseräkningr klls ALU efter engelskns rithmetic logic unit (ungefär ritmetisk-logisk enhet ) och är en del v dtorns processor. ALU:n estår i princip v en mss smmnkopplde logisk grindr, som nvänds för tt exempelvis dder eller multiplicer heltl. Vi sk nu vis hur det är möjligt tt med hjälp v logisk grindr ygg en mskin som dderr två heltl. Vi ntr tt två N-itrs osignerde heltl sk dders. För tt undvik överflöde sk summn h N +1 itr, vilket illustrers i fllet N = 4 i Figur 2.4 (det värst fllet här är = , så 5 itr räcker för summn). 6 Som Övning 1.19 visde så kn ll Boolesk funktioner uttrycks som komintioner v funktionen NAND. Det räcker lltså tt kunn konstruer en elektronisk NAND-grind och koppl ihop fler sådn. 25
34 2 + 2 = Figur 2.4: Additionsuppställning för ddition v 4-itrs osignerde heltl. De mindre rutorn är pltser för minnessiffror. Vi kommer ygg upp dditionsmskinen i tre steg. Först ygger vi mskiner som kn dder en end kolumn i Figur 2.4, lltså två eller tre itr åt gången. Steg 1. Vi ygger först en mskin som kn dder två fristående itr. Vi kllr denn mskin för + 2, och den sk funger som Figur 2.5 visr, lltså t två itr A och B som indt och ge tillk ett 2-itrs osignert heltl R som utdt. Vi kllr itrn i tlet R för R 1 (iten 2 1 ) och R 0 (iten 2 0 ). 2 A B + 2 R 1 R 0 R Figur 2.5: Mskin som dderr två fristående itr. Målet är tt t red på hur mskinen + 2 kn yggs upp v logisk grindr. Vi kn nvänd en vrint v en snningstell för tt se vilk värden R 1 och R 0 sk h; se Tell 2.6. A B R R 1 R Tell 2.6: Visr vilk värden R 1 och R 0 ntr som funktion v A och B. Som vi ser i Tell 2.6 sk R 1 vr 1 precis då åde A och B är 1. Dett etyder förstås tt R 1 = A B. Vi ser också tt R 0 sk vr 1 då ntingen A eller B är 1, men inte åd. Dett stämmer precis in på funktionen XOR ( ) som vi introducerde i Övning 1.18 och vrs snningstell ser ut så här: P Q P Q
35 Alltså är R 0 = A B. Vi hr därmed kommit frm till tt + 2 -mskinen kn konstruers med hjälp v en AND-grind och en XOR-grind enligt Figur 2.7. A B A B + 2 = R 1 R 0 R 1 R 0 Figur 2.7: Konstruktion v mskinen + 2 med en AND-grind och en XOR-grind. Steg 2. Näst steg är tt ygg en mskin, som vi kllr för + 3, som kn dder tre fristående itr. Vi ehöver den tredje iten för tt kunn t med en minnessiffr när vi summerr en kolumn. Figur 2.8 visr hur mskinen + 3 sk funger; den sk t tre itr A, B och C som indt och ge tillk ett 2-itrs osignert heltl R som utdt, med itr R 1 och R 0 som tidigre. Tell 2.9 visr vilk värden R 1 och R 0 ntr i det här fllet. A B C + 3 R 1 R 0 R Figur 2.8: Mskin som dderr tre fristående itr. A B C R R 1 R Tell 2.9: Visr vilk värden R 1 och R 0 ntr som funktion v A, B och C. Tydligen sk R 1 vr 1 precis då två eller fler v indtitrn är 1. Ett sätt tt skriv dett på är R 1 = (A B) (B C) (A C), vilket är snt precis då (minst) två v itrn är 1. När vi kopplr ihop motsvrnde logisk grindr får vi komm ihåg tt P Q R egentligen etyder (P Q) R (lterntivt 27
36 P (Q R); hur prentesern plcers spelr ingen roll i dett fll), så tt ( ) R 1 = (A B) (B C) (A C). Dett uttryck överstt till logisk grindr ger den mskin som viss i Figur A B C R 1 Figur 2.10: En mskin som eräknr den först iten R 1. Att konstruer en mskin som eräknr den ndr iten R 0 i utdt från + 3 lämns som Övning Steg 3. Vi kn nu sätt ihop fler + 3 -mskiner och en + 2 -mskin för tt genomför dditionen v två 4-itrs osignerde heltl. Kom ihåg dditionsuppställningen i Figur 2.4 och hur vi gjorde för tt dder tl i Exempel 2.1.2; vi örjr med kolumnen längst till höger och retr oss vänsterut medn vi summerr en kolumn i tget. Additionsmskinen viss i Figur Vrje kolumn i dditionsuppställningen motsvrs v en + 3 -mskin, förutom den längst till höger som motsvrs v en + 2 -mskin. De grön pilrn visr hur minnessiffrorn skicks vidre i mskinen. Term 1 Term Summ Figur 2.11: Den slutlig dditionsmskinen för 4-itrstl. 2.4 Signerde heltl Vi hr nu sett osignerde heltl, som r kn vr ickenegtiv. Om mn vill kunn lgr även negtiv tl måste mn nvänd signerde heltl (på engelsk signed integers). I ett signert heltl lgrs även informtion som erättr om tlet är positivt eller negtivt. Dett kn görs på olik sätt. 28
37 Det enklste sättet är med en seprt teckenit som är 0 för positiv tl och 1 för negtiv tl. Det rukr vr iten längst till vänster som nvänds som teckenit. Ett 8-itrs signert heltl kn då se ut som = = 50 T eller = = 50. T Eftersom en it nvänds som teckenit är det r 7 itr kvr för tt lgr tlets fktisk värde. En lite märklig egenskp är tt åde en positiv noll och en negtiv noll kn lgrs, nämligen och Nturligtvis är 0 = 0, så dess representerr egentligen smm tl. Därmed kn ett N-itrs signert heltl med seprt teckenit lgr endst 2 N 1 genuint olik värden, från (2 N 1 1) till 2 N 1 1. Ett nnt sätt tt lgr signerde heltl är på så klld tvåkomplementsform, vilket är sert på kongruensräkning. All N itr nvänds då som för ett vnligt osignert tl, men iten längst till vänster (den mest signifiknt iten) spelr en speciell roll. Om den iten är 0 hr tlet smm värde som motsvrnde osignerde heltl (vilket är ickenegtivt). Om den istället är 1 är tlets värde x 2 N (vilket är negtivt), där x är motsvrnde osignerde heltls värde. Med 4 itr är till exempel = = 5 eftersom först iten är noll, medn = = = 3 eftersom den först iten är ett. Ett enkelt sätt tt visuliser tl på tvåkomplementsform är tt tänk sig en klock med 2 N timmr, där 0 är högst upp, tlen på högr sidn är positiv och tlen på vänstr sidn är negtiv, som i Figur 2.12 (tlet längst ner på klockn lir också negtivt med den regel vi eskriv tidigre) Figur 2.12: En klock med 16 timmr för tvåkomplementsform. Om vi jämför Figur 2.12 med Figur 2.2 (det vill säg motsvrnde klock för osignerde heltl) så ser vi tt 3 och 13 är på smm plts i de två figurern. Dett eror förstås på tt 13 3 (mod 16). Exempel Som vi såg tidigre lgrs tlet 50 som och tlet 50 som när de lgrs som 8-itrs signerde 29
38 heltl med seprt teckenit. På tvåkomplementsform lir tlet 50 detsmm, det vill säg Eftersom (mod 2 8 ) och 206 är i s 2 så lgrs tlet 50 som på tvåkomplementsform. En fördel med tvåkomplementsform är tt tlet noll r kn lgrs på ett sätt, till skillnd från metoden med seprt teckenit. Därför kn signerde tl på tvåkomplementsform lgr ett värde mer jämfört med tl med seprt teckenit. En nnn fördel är tt dditionsmskiner som den vi konstruerde i Figur 2.11 går tt nvänd direkt även med negtiv tl (medn om tlet lgrs med seprt teckenit måste negtiv tl hnters som specilfll). Exempel Tell 2.13 visr vilket värde ett 4-itrstl hr eroende på om det tolks som ett osignert heltl, ett signert heltl med seprt teckenit eller ett signert heltl på tvåkomplementsform. Bitr Osignert Signert Signert Med seprt teckenit På tvåkomplementsform Tell 2.13: Olik sätt tt tolk 4 itr som ett heltl. Övningr Övning 2.1. Skriv tlet 42 i s 2. Övning 2.2. Vilket tl i s 10 representerr det inär tlet ? Övning 2.3. Hur mång olik värden kn ett 5-itrs osignert heltl nt? Övning 2.4. En discgolfre sk progrmmer en dtor tt lgr sin resultt. Antlet kst på en rund kn vrier från 18 till 180 och sk lgrs i ett osignert heltl. Hur mång itr ehöver tlet vr? 30
39 Övning 2.5. I dtorsmmnhng nvänds ilnd s 16, med de 16 siffrorn 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E och F (där A = 10, B = 11 och så vidre till F = 15). Tl i s 16 klls för hexdeciml tl. Till exempel är FF 16 = = 255. (i) Skriv tlet 32 i s 16. (ii) Vilket tl motsvrr det hexideciml tlet 2B1 16? (iii) Skriv tlet 60 i s 16. (iv) Vis tt en siffr i s 16 motsvrr 4 itr. Övning 2.6. Snt eller flskt? (i) 6 är kongruent med 16 modulo 5. (ii) 8 är kongruent med 5 modulo 2. (iii) 120 är kongruent med 184 modulo 32. Övning 2.7 ( ). Låt och vr heltl och låt n vr ett positivt heltl. Vis tt de två påståenden (i) och (ii) nedn implicerr vrndr, det vill säg tt (i) = (ii) och tt (ii) = (i). (i) Det finns heltl p, q och r, där 0 r n 1, sådn tt = pn + r och = qn + r. (ii) Det finns ett heltl k sådnt tt = + kn (vilket ju är vår definition v (mod n)). Övning 2.8. (i) Delr 9 tlet 162? (ii) Delr 7 tlet 80? Övning 2.9. Bevis tt om tre heltl, och c är sådn tt delr och delr c, så delr även c. Övning Bevis tt om ett heltl delr ett heltl, så är kongruent med 0 modulo. Övning Ett polynom P delr ett nnt polynom Q ifll det finns ett polynom K så tt P K = Q. Vis tt polynomet x 1 delr polynomet x 2 1. Övning Konstruer en mskin som givet A och B eräknr iten R i följnde tell. A B R
40 Mskinen sk vr uppyggd v smmnkopplde logisk grindr, och de grindr som du kn nvänd är OR ( ), AND ( ), NOT ( ) smt XOR ( ). Övning 2.13 ( ). Säg tt A 1,..., A n är itr, och tt A i är en särskilt utvld v dess. Låt R i vr iten som är 1 när A i = 1 och ll ndr itr är 0, och nnrs 0. Kn du konstruer en mskin som eräknr R i? Mskinen sk vr uppyggd v smmnkopplde logisk grindr, och de grindr som du kn nvänd är OR ( ), AND ( ), NOT ( ) smt XOR ( ). Tips: Lös Övning 2.12 och generliser resonemnget. Övning Konstruer en mskin som givet A, B och C eräknr iten R 0 i Tell 2.9. Din mskin sk vr uppyggd v smmnkopplde logisk grindr, och de grindr som du kn nvänd är OR ( ), AND ( ), NOT ( ) smt XOR ( ). Övning Konstruer en mskin som givet A, B och C eräknr iten R i följnde tell. A B C R Mskinen sk vr uppyggd v smmnkopplde logisk grindr, och de grindr som du kn nvänd är OR ( ), AND ( ), NOT ( ) smt XOR ( ). 32
41 3 Tl med decimler I det förr kpitlet såg vi hur dtorer kn räkn med heltl. I mång smmnhng är tlen mn retr med inte heltl, utn tl med decimler (det vill säg reell tl, eller rtionell tl). Tl med decimler kn vr extr knepig, vilket följnde exempel visr. Exempel Om mn i progrmmeringsspråket Python skriver 7 får mn inte exkt 0.3 som svr, utn Om mn vidre skriver lir svret inte 0 utn e-17, vilket sk tolks som För tt förstå vrför det lir så här måste vi lär oss om hur dtorer lgrr tl med decimler, vilket är temt för näst vsnitt. 3.1 Binärråk och flyttl När vi skriver ett tl med decimler i s 10 kn vi tolk siffrorn till höger om decimltecknet med hjälp v tiopotenser med negtiv exponenter. Tlet etyder till exempel = = I s 2 gör vi på smm sätt. Tlet etyder lltså = = = = (3.1) Punkten 8 som vi nvänder för tt seprer heltlsdelen från råkdelen i ett tl klls för inärpunkt i s 2 och decimlpunkt i s Python är ett populärt progrmmeringsspråk som kn ldds ner kostndsfritt. Det går även tt prov Python direkt i weläsren på dressen Exemplet är inte unikt för Python, utn liknnde sker kommer inträff i de flest ndr progrmmeringsspråk. 8 På svensk rukr mn nvänd kommtecken, medn punkt är vnligst på engelsk. I dett kompendium nvänder vi punkt eftersom det är vnligst i dtorsmmnhng och i de flest progrmmeringsspråk. 33
42 Rtionell tl som skrivs i s 2 med inärpunkt klls för inärråk. Tlet är lltså ett exempel på ett inärråk. Det är lätt tt omvndl inärråk till decimltl (i s 10), på smm sätt som vi gjorde i ekvtion (3.1). Binärråk med ett ändligt ntl siffor motsvrs lltid v decimltl med ett ändligt ntl decimler, vilket följer ur Övning 3.4. Det omvänd gäller däremot inte, vilket viss v följnde exempel. Exempel Omvndl decimltlet 0.1 (en tiondel) till s 2. Tlet 0.1 kn skrivs som råket 1/10. Vi kn omvndl täljren och nämnren till s 2 och utför divisionen, till exempel med liggnde stolen (i s 2). Bråket skrivs om till 1 10 = Om läsren inte kommer ihåg liggnde stolen kommer här en sn repetition. Steg 0. Vi skriver upp täljren och nämnren i uppställningen för liggnde stolen. Kvoten (i s 2) kommer väx frm på rden ovnför täljren Steg 1. För tt få frm entlssiffrn i kvoten ställer vi oss frågn: Hur mång gånger går = 10 i 1 2 = 1? Svret är 0, vilket är entlssiffrn. Vi skriver upp dett ovnför täljren, räknr ut resten ( = 1 2 ) och flyttr ner en noll från täljren Steg 2. För tt få näst siffr frågr vi: Hur mång gånger går = 10 i 10 2 = 2? Återigen är svret 0, så vi skriver upp det och räknr ut resten ( = 10 2 ) och flyttr ner en till noll från täljren Steg 3. Hur mång gånger går = 10 i = 4? Svret är 0 igen. Vi hoppr nu över någr steg som fortsätter på smm sätt, och kommer då till läget som viss i uppställningen på näst sid. 34
43 Steg 4. Nu sk vi räkn ut den fjärde siffrn efter inärpunkten, och vi ställer oss frågn: Hur mång gånger går = 10 i = 16? Svret är 1, vilket vi skriver upp som den fjärde siffrn. Resten är 6 = 110 2, vilket vi skriver upp längst ner, och flyttr ner en noll från täljren Steg 5. Hur mång gånger går = 10 i = 12? Svret är 1, vilket vi skriver upp som den femte siffrn. Resten är 2 = 10 2, vilket vi skriver upp längst ner, och så flyttr vi ner en till noll från täljren Nu hr vi fått ett läge där resten är smm som i ett tidigre steg, nämligen i steget där vi räknde ut den ndr siffrn efter inärpunkten (vilket viss med 35
44 den lå pilen). Dett etyder tt fortsättningen kommer vr en upprepning v vd som skedde melln dess steg (om du är tveksm, prov tt gör någr fler steg!). Kvoten lir lltså = , där ett streck över siffror etyder tt de uppreps i ll oändlighet. Smmnfttningsvis hr vi vist tt 0.1 = Oserver tt det senre tlet hr oändligt mång siffror efter inärpunkten. Fixtl och flyttl. Det enklste sättet tt lgr inärråk på är tt h ett estämt ntl itr innn inärpunkten och ett estämt ntl itr efter, till exempel itr som i Figur Figur 3.1: Ett itrs ickenegtivt fixtl. Tl som lgrs på dett sätt klls för fixtl (på engelsk fixed-point numers). Ett mer flexielt sätt tt lgr inärråk på är flyttl (på engelsk flotingpoint numers), vilket också är det vnligste. Ett flyttl är på formen s m 2 e, och estår lltså v de tre delrn s, m och e, med följnde etydelse: Tlet s är flyttlets tecken (+1 eller 1) och lgrs med 1 it, där värdet 0 etyder positivt tecken och värdet 1 negtivt tecken (precis som för signerde heltl med seprt teckenit). Tlet m klls mntiss (eller ilnd signifiknd) och är ett rtionellt tl som uppfyller 1 m < 2. Dett tl visr vilk siffror flyttlet innehåller (i s 2). Tlet e klls exponent och är ett heltl. Dett tl visr flyttlets storleksordning (i s 2). Både m och e lgrs med ett estämt ntl itr och kn lltså nt ett egränst ntl värden. Ett exempel med 5 itr för mntissn och 4 itr för exponenten viss i Figur 3.2 (vi förklrr strx vd U och är). s {}}{ T m e {}}{{}}{ 1. 2 }{{} U Figur 3.2: Lgring v ett flyttl med 1 it för tecknet s, 5 itr för mntissn m och 4 itr för exponenten e, lltså totlt 10 itr. 36
45 Eftersom mntissn uppfyller 1 m < 2 kommer heltlsdelen v m lltid vr 1, så den ehöver inte lgrs (därför hr ettn innn inärpunkten ingen egen låd i Figur 3.2). Exponenten e lgrs på ett speciellt sätt, nämligen som ett osignert (lltså ickenegtivt) heltl U som en konstnt sutrhers ifrån (så e = U ). 9 Vi kommer i fortsättningen för det mest ortse från hur exponenten lgrs. Exempel Låt oss välj 5 itr för mntissn som i Figur 3.2. Tlet 1 kn skrivs som och lgrs lltså genom tt sätt mntissn till m = och exponenten till e = 0; tecknet är s = +1 vilket lgrs genom tt sätt teckeniten till 0. Tlet 3 kn skrivs som 11 2 = och lgrs lltså genom tt sätt mntissn m = och exponenten e = 1; teckeniten är fortfrnde 0. Tlet 0.75 skrivs i s 2 som = och lgrs lltså genom tt sätt m = och e = 1, medn teckeniten sätts till 1 eftersom tecknet är negtivt. Som vi visde i Exempel lir tlet 0.1 (en tiondel) i s = , där strecket över siffrorn etyder tt de uppreps i ll oändlighet. Dett tl hr oändligt mång itr och kn lltså inte lgrs exkt som ett flyttl (eller som ett fixtl för den delen). Tlet kn skrivs som , vilket visr tt exponenten sk vr e = 4, medn mntissn måste vrunds till m = med fem itr efter inärpunken. Tlet 0.1 lgrs lltså som , vilket egentligen är lik med i s 10. Dett visr tt tl som inte kn lgrs exkt som flyttl måste vrunds (i s 2), vilket leder till vrundningsfel. All tl som kn lgrs exkt som flyttl är rtionell, vilket viss i Övning 3.9. Däremot kn inte ll rtionell tl lgrs exkt, som vi såg i exemplet ovn. Ovsett hur mång itr som nvänds för tt lgr ett flyttl är det r ett ändligt ntl olik värden som kn lgrs (men det finns ju oändligt mång rtionell tl). Dett etyder tt flyttl hr en egränsd precision; det finns en gräns för hur liten skillnden melln två flyttl kn vr. Denn gräns uttrycks med hjälp v mskinepsilon (som ilnd klls mskinprecision), som definiers enligt nedn. 9 Konstnten rukr väljs som = M/2 1, där M är ntlet olik värden som tlet U kn nt (M = 2 N om N itr nvänds för tt lgr U). Dett vl inneär tt e +1. Om till exempel N = 4 så är = 7, så 7 e 8. 37
46 Definition Givet en flyttlstyp så definiers mskinepsilon ε mch som ε mch = s 1, där s är det minst tl större än 1 som kn lgrs med flyttlstypen. Med en flyttlstyp menr vi helt enkelt tt mn hr vlt hur mång itr som nvänds för tt lgr mntissn och exponenten. Mskinepsilon eror lltså på hur mång itr som nvänds. Följnde sts preciserr dett. Sts Om N m itr nvänds för tt lgr mntissn i ett flyttl (exklusive ettn till vänster om inärpunkten) så är mskinepsilon ε mch = 2 Nm. Bevis. Tlet 1 lgrs med mntissn (med N m nollor efter inärpunkten) och exponenten 0. Det minst tlet större än 1 som kn lgrs får vi genom tt ök den minst signifiknt iten i mntissn (iten längst till höger), vilket lltså lir s = (exponenten är fortfrnde 0). Skillnden är s 1 = , lltså en ett i it nummer N m efter inärpunkten. Denn it motsvrr 2 Nm, vilket inneär tt ε mch = s 1 = 2 Nm. Ursprungligen vr ntlet itr som nvändes för tt lgr mntissn och exponenten en egenskp hos själv dtorn, så vrje dtor hde en estämd flyttlstyp som inte gick tt ändr. Mskinepsilon erodde lltså på dtorn ( mskinen ), vilket förklrr dess nmn. Nu för tiden kn en dtor nvänd olik flyttlstyper. Det finns en stndrd för flyttl 10 som lnd nnt definierr följnde flyttlstyper: Typen inry32 (även klld single-precision) nvänder 23 itr för tt lgr mntissn och 8 itr för tt lgr exponenten (lltså 32 itr totlt inklusive teckeniten). Typen inry64 (även klld doule-precision) nvänder 52 itr för mntissn och 11 itr för exponenten (lltså 64 itr totlt inklusive teckeniten). Exempel För flyttl v typen inry32 är mskinepsilon ε mch = För flyttl v typen inry64 är mskinepsilon istället ε mch = För flyttl där mntissn lgrs med 5 itr (som i Exempel 3.1.2) är mskinepsilon 10 Nmnet på stndrden är IEEE 754. ε mch = 2 5 =
47 Mskinepsilon är ett mått på hur mycket två flyttl som minst kn skilj sig åt. Därmed är det också ett ungefärligt mått på hur stor vrundningsfelen kn li. I slutet v Exempel såg vi tt om 5 itr nvänds för mntissn så vrunds tlet 0.1 till , medn det exkt värdet är Felet i mntissn är lltså 0.1 = = = , vilket är mindre än mskinepsilon Nu är det dgs tt nlyser vd som egentligen hände i Exempel I exemplet nvändes flyttl v typen inry64, eftersom det är vd Python nvänder som stndrd. Vi kommer nu gå igenom smm eräkning för hnd, fst med 20 itr för mntissn istället för 52 (för tt inte ehöv skriv ut så mång siffror). Exempel Låt oss först noter tt 0.1 = och 0.2 = (tt multiplicer med 2 inneär tt inärpunkten flytts ett steg till höger). På flyttlsform lir tlen lltså 0.1 = , 0.2 = Tlen hr smm mntiss men olik exponenter. Mntissn måste vrunds till 20 itr efter inärpunkten, vilket inneär tt den (korrekt vrundd) lir m = För tt dder två tl måste de först skrivs om så tt de hr smm exponent. Vi skriver om tlet till exponenten 3 och får då , (i dett läge vrundr vi inte mntissn till tlet 0.1 igen). Om vi nu dderr de två tlen får vi Just nu är dett ett tl med 21 itr efter inärpunkten, men det måste skrivs om så tt mntissn är mindre än 2, lltså med 22 itr efter inärpunkten. Nu måste mntissn vrunds till 20 itr så tt tlet kn lgrs med den vld flyttlstypen. Resulttet lir (3.2) vilket är lik med i s 10. På grund v vrundningsfel lir resulttet inte lik med 0.3. Avrundningen hr skett i två steg: 39
48 Tlen 0.1 och 0.2 ehövde vrunds r för tt kunn lgrs som flyttl. Efter dditionen ehövde summn också vrunds för tt kunn lgrs. Vd händer när vi sedn försöker sutrher 0.3 då? Jo, dtorn måste nu lgr tlet 0.3 = och kommer först skriv tlet på formen 0.3 = och därefter vrund mntissn till 20 itr efter inärpunkten. Tlet som lgrs är (3.3) Tlen som viss i (3.2) och (3.3) är inte lik med vrndr! Dett eror på tt vrundningrn hr skett på olik sätt. (Tlet i (3.2) är men tlet i (3.3) är vilket är lite närmre 0.3.) När tlen sutrhers lir resulttet , vilket är Oserver tt dett värde är mskinepsilon ε mch multiplicert med 2 2. Precis smm sk händer i Exempel fst med 52 itr för mntissn ( = ). Den uppmärksmm läsren knske hr notert tt det inte går tt lgr tlet 0 i ett flyttl på det sätt som vi eskrivit hittills, eftersom mntissn lltid är positiv. För tt komm runt dett hr mn estämt tt det minst möjlig värdet för exponenten reservers med en speciell etydelse för tt kunn lgr tlet 0. På smm sätt reservers det störst möjlig värdet för exponenten för tt kunn lgr oändligheten ( ), som ju egentligen inte är ett tl. 3.2 Ekvtionslösning med intervllhlvering Hittills hr vi sett hur en dtor kn lgr olik typer v tl och dder dem, till exempel med dditionsmskinen från vsnitt 2.3. Liknnde (mer komplicerde) mskiner kn yggs för tt multiplicer tl. Därmed går det även tt eräkn potenser n, där är ett flyttl och n är ett positivt heltl, med hjälp v upprepd multipliktion. För tt utför ännu mer komplicerde eräkningr kn mn nvänd ekvtionslösning. En ekvtion med en oeknt x är en likhet melln två funktioner v x, lltså g(x) = h(x), (3.4) där g och h är funktioner med de reell tlen R åde som definitionsmängd och målmängd (i dett kompendium egränsr vi oss till fllet x R). Ett tl x R som uppfyller (3.4) klls en lösning till ekvtionen. En ekvtion som (3.4) kn lltid skrivs om på formen f(x) = 0 (3.5) (till exempel genom tt sutrher h(x) från ekvtion (3.4) och definier f(x) = g(x) h(x)). Ett tl x R som uppfyller (3.5) klls ett nollställe till funktionen f. Att lös en ekvtion är lltså detsmm som tt hitt ett nollställe till en funktion. 40
49 Exempel Antg tt vi vill räkn ut x = 2. Genom tt kvdrer x får vi ekvtionen x 2 = 2. (3.6) Denn ekvtion hr två lösningr, nämligen 2 och 2. Vi kn sutrher 2 och därmed få ekvtionen x 2 2 = 0. Denn ekvtion är på formen f(x) = 0, där funktionen f : R R i dett fll ges v f(x) = x 2 2. Eftersom lösningrn till (3.6) är desmm som nollställen till f så vet vi tt funktionen f hr precis två nollställen. Om vi kn estämm det positiv nollstället till f så hr vi lltså räknt ut 2. För tt noggrnnt estämm nollställen till en funktion f : R R kn vi nvänd en metod som klls intervllhlvering (eller ilnd isektionsmetoden). Metoden går ut på tt hitt ett intervll som mn vet tt det finns ett nollställe i, och sedn förfin det. Vi sk örj med tt ge en ordentlig definition v ordet intervll. Definition Ett intervll är en mängd på formen {x R x }, där och är reell tl som uppfyller. Intervllet {x R x } kn även eteckns [, ]. Intervllhlveringsmetoden fungerr r om f är en kontinuerlig funktion. Enkelt uttryckt är en kontinuerlig funktion en funktion vrs grf är smmnhängnde och lltså kn rits på ett ppper utn tt lyft på pennn. Ett exempel på en kontinuerlig funktion är f(x) = 1 5 x3 x som viss i Figur 3.3. En funktion som inte är kontinuerlig hr hopp i sin grf, som funktionen { x 2 om x 1, g(x) = x om x > 1, som viss i Figur 3.4. y y y = f(x) y = g(x) x x Figur 3.3: Grfen till den kontinuerlig funktionen f(x) = 1 5 x3 x. Figur 3.4: Grfen till den ej kontinuerlig funktionen g(x). 41
50 En mtemtisk definition sk helst inte hänvis till godtycklig föremål som ppper och pennor, som ju kn se ut på olik sätt, såsom vi gjorde ovn. Målet med en definition är snrre tt skl ort llt onödigt, och komm frm till själv kärnn i det mn vill definier. 11 För tt ordentligt definier vd en kontinuerlig funktion är måste vi ställ oss frågn: Vd etyder det egentligen tt grfen till en funktion är smmnhängnde? En vnlig definition v kontinuitet utgår från tt då två punkter på x-xeln närmr sig vrndr så måste även de motsvrnde funktionsvärden närm sig vrndr. Definition Låt f vr en funktion från R till R, och låt x R vr ett godtyckligt reellt tl. Funktionen f klls kontinuerlig i punkten x om skillnden melln f(y) och f(x) kn li hur liten som helst genom tt välj tlet y tillräckligt när tlet x. Annorlund uttryckt: f klls kontinuerlig i punkten x om det för vrje tl ε > 0 finns ett tl δ > 0 sådnt tt f(x) f(y) < ε då x y < δ. Här är soluteloppet v det reell tlet, det vill säg tlets värde ortsett från dess tecken (om är negtivt är =, nnrs är = ). Definition En funktion f : R R klls kontinuerlig om f är kontinuerlig i punkten x för vrje reellt tl x. En funktion är lltså kontinuerlig (överllt) om den är kontinuerlig i ll punkter. Tlen ε och δ i Definition kn tolks grfiskt som i Figur 3.5. y ε δ x Figur 3.5: Kurvns y-värde håller sig inom vståndet ε från den lå punkten om x-värdet håller sig inom vståndet δ. För kontinuerlig funktioner gäller följnde sts, som även klls Bolznos sts. Sts (Stsen om mellnliggnde värden). Låt f : R R vr en kontinuerlig funktion, och låt och vr reell tl sådn tt. Om det reell tlet c ligger melln f() och f() så finns ett x [, ] sådnt tt f(x) = c. 11 Mn skulle kunn säg tt det ligger i mtemtikens ntur tt utifrån olik konkret exempel försök hitt underliggnde llmängiltig principer, och därigenom gå från det konkret till det strkt. De llmänn principern kn därefter tillämps på en mängd olik konkret fll. 42
51 Stsen säger lltså tt f ntr ll värden melln f() och f() på intervllet [, ]. En följd v stsen är tt om f() och f() hr olik tecken (det en tlet är negtivt och det ndr positivt) så är f(x) = 0 för något x [, ]. Alltså finns det ett nollställe till f i intervllet [, ]. Vi väntr med tt evis Sts till vsnitt 3.3. Nu är vi istället redo tt eskriv intervllhlveringsmetoden ordentligt. Den går ut på tt hitt och så tt f() och f() hr olik tecken och därefter hlver intervllet upprepde gånger. Vi eskriver metoden som en lgoritm, det vill säg en följd v instruktioner. Algoritm (Intervllhlvering). Låt en kontinuerlig funktion f : R R vr given, smt två reell tl och där och f() f() < Sätt v 1 = och h 1 =. Beräkn mittpunkten m 1 = (v 1 + h 1 )/2. 2. För i = 1, 2, 3,..., gör följnde: () Om f(v i ) f(m i ) < 0, låt v i+1 = v i och h i+1 = m i. Gå till (). Om f(m i ) f(h i ) < 0, låt v i+1 = m i och h i+1 = h i. Gå till (). Om f(m i ) = 0 hr vi hittt ett nollställe x = m i. Avryt. () Beräkn den ny mittpunkten m i+1 = (v i+1 + h i+1 )/2. Fortsätt sedn till näst värde på i. Noter tt f() f() < 0 är ett kompkt sätt tt skriv tt f() och f() hr olik tecken. I vrje steg är vi grnterde tt intervllet [v i, h i ] innehåller ett nollställe till f, eftersom vi i förväg hr kontrollert tt f(v i ) och f(h i ) hr olik tecken. Algoritm fortsätter i ll oändlighet om inte mittpunkten någon gång hmnr precis på ett nollställe till f. I prktiken får mn vryt lgoritmen när intervllets längd L i = h i v i hr livit tillräckligt liten. Följnde resultt visr hur stort felet kn vr om vi pproximerr nollstället med m i. Sts Låt v i, m i och h i vr som i Algoritm 3.2.6, och låt L i = h i v i. Definier felet e i = m i x, där x [v i, h i ] är ett nollställe till f. Då är Om L = L 1 så är e i L i, i = 1, 2,... (3.7) 2 e i L, i = 1, 2,... (3.8) 2i Bevis. Vi vet i vrje steg tt det finns (minst) ett nollställe x [v i, h i ]. Om det finns fler nollställen väljer vi ett v dem som x. Eftersom x ligger i intervllet [v i, h i ] och m i är mittpunkten i intervllet så kn x och m i som mest skilj sig med hlv intervllets längd. Dett inneär tt vilket evisr olikheten (3.7). e i = m i x h i v i 2 = L i 2, 43
52 För tt evis olikheten (3.8) räcker det tt vis tt L i = L/2 i 1 för ll positiv heltl i. Dett kn eviss med hjälp v induktion. För sfllet i = 1 lir påståendet L 1 = L/2 0 = L, vilket är definitionen v L. Om vi nu ntr tt L k = L 2 k 1 gäller för något positivt heltl k så vet vi tt i näst steg hlvers intervllets längd, och därmed är L k+1 = L k 2 = L 2 k 1 2 = L 2 k, vilket visr tt likheten gäller även för k+1. Därmed hr vi vist tt L i = L/2 i 1 för ll positiv heltl i. Insättning v denn likhet i (3.7) ger (3.8). Exempel För tt eräkn 2 vill vi nvänd intervllhlvering för tt hitt det positiv nollstället till funktionen f(x) = x 2 2 (från Exempel 3.2.1). Denn funktion är kontinuerlig, vilket viss i Övning Vi väljer = 0 och = 2 och kontrollerr tt f(0) = 2 och f(2) = 2 hr olik tecken. Nu nvänder vi metoden (i tellen nedn vrundr vi ll tl till 6 decimler). i v i h i m i f(v i ) f(h i ) f(m i ) L i / Efter 22 steg är mittpunkten m i , medn det verklig nollställets värde är x All siffror i pproximtionen m i är lltså korrekt (den sist decimlen är också korrekt vrundd). Felet vid det sist steget är som mest
53 3.3 Bevis v stsen om mellnliggnde värden Vårt mål i dett vsnitt är tt evis stsen om mellnliggnde värden, lltså Sts Vi kommer ehöv nvänd egreppet övre gräns. Definition Låt M vr en icke-tom delmängd till R. Vi kllr u R en övre gräns till M om det för ll x M gäller tt x u. Exempel Låt M = {x R 0 < x < 1}. Tlet 1 är en övre gräns till M. Även tlet 2 är en övre gräns till M. Fktum är tt vrje u 1 är en övre gräns till M. En mängd kn lltså h fler övre gränser. En fundmentl egenskp hos de reell tlen är tt vrje mängd som hr en övre gräns också hr en minst övre gräns. Vi formulerr dett som följnde grundläggnde princip. 12 Princip Låt M vr en icke-tom delmängd till R. Om M hr en övre gräns så hr M en minst övre gräns. Den minst övre gränsen u hr egenskpen tt om ett reellt tl u är mindre än u så kn u inte vr en övre gräns till M. I Exempel är tlet 1 den minst övre gränsen till M. Nu kn vi evis stsen om mellnliggnde värden. Kom ihåg tt stsen säger följnde: Låt f : R R vr en kontinuerlig funktion, och låt och vr reell tl sådn tt. Om det reell tlet c ligger melln f() och f() så finns ett x [, ] sådnt tt f(x) = c. Vi kommer nt tt f() f(). Om det omvänd gäller kn vi yt tecken på funktionen f så tt f() f(). Bevis v Sts Antg tt f() f(). Välj ett godtyckligt reellt tl c sådnt tt f() c f(). Vi delr upp i två fll: (i) Om c = f() eller c = f() väljer vi helt enkelt motsvrnde ändpunkt (x = eller x = ), vilket leder till tt f(x) = c. I dett fll ehöver vi lltså inte gör något mer. (ii) Om f() < c < f() definierr vi mängden M = {z [, ] f(z) < c}. Mängden M är inte tom, för M. Tlet är en övre gräns till M. Enligt Princip hr M en minst övre gräns, låt oss kll den x. Vi sk vis tt f(x) = c. A. Antg tt f(x) < c och vis tt dett leder till en motsägelse. Eftersom c < f() är f(x) < f(), så x. Därmed måste x <. Då f är kontinuerlig kn f(y) f(x) görs godtyckligt litet, mindre än ett 12 Denn princip hänger ihop med tt det inte finns någr glpp i tllinjen. Vi kommer inte tt evis principen här, men dett gjordes i Cirkeln (Vd är ett tl?). 45
54 godtyckligt ε > 0, om r y väljs tillräckligt när x. Att f(y) f(x) < ε etyder 13 ε < f(y) f(x) < ε. Genom tt dder f(x) får vi f(x) ε < f(y) < f(x) + ε. Vi kn välj ε = c f(x), vilket är positivt eftersom vi ntog tt f(x) < c. Dett inneär tt 2f(x) c < f(y) < c, så f(y) < c förutstt tt y är tillräckligt när x, nämligen närmre än något δ > 0. Någr y som uppfyller dett är större än x och uppfyller lltså x < y < x + δ. Om δ väljs tillräckligt litet är x + δ <, så dess y tillhör mängden M. Eftersom x är en övre gräns till M så är y x. Men vi s ju tt y > x, så dett är en motsägelse! Alltså måste ntgndet tt f(x) < c vr fel. B. Antg istället tt f(x) > c. Då f() < c är f(x) > f(), så x >. Eftersom f är kontinuerlig kn vi på liknnde sätt som i fll A hitt tl y som uppfyller x δ < y < x och f(y) > c. Men även y är då en övre gräns till M, så dett motsäger tt x är den minst övre gränsen! Allts måste ntgndet f(x) > c vr fel. Vi hr vist tt åde f(x) < c och f(x) > c är flskt, så den end återstående möjligheten är f(x) = c. Övningr Övning 3.1. Skriv följnde inärråk som decimltl. (i) (ii) Övning 3.2. Skriv följnde decimltl som inärråk. (i) (ii) Övning 3.3. Binärråksutveckl decimltlet 0.3. Övning 3.4 ( ). Vis tt decimlutvecklingen v ett inärråk på formen lltid slutr på 5. (10 2 ) (n+1) = } {{ 00} n stycken Övning 3.5. Kn följnde decimltl lgrs i ett 4+4 ickenegtivt fixtl? Om så, nge hur. 13 A < B etyder B < A < B
55 (i) 0.1 (ii) (iii) Övning 3.6. Hur mång värden kn lgrs i ett 4+4-itrs ickenegtivt fixtl? Vilket är det störst och minst tlet? Övning 3.7. Vilk decimltl motsvrr flyttlen med följnde mntissor och exponenter? (i) Tecken: 0 2. Mntiss: Exponent: 5 (ii) Tecken: 1 2. Mntiss: Exponent: 3 (iii) Tecken: 0 2. Mntiss: Exponent: 1 Övning 3.8 ( ). Beskriv hur följnde decimltl lgrs i ett flyttl. Hur mång itr ehöver flyttlet h? (i) (ii) (iii) Övning 3.9 ( ). Vis tt ll tl som kn lgrs som ett flyttl utn tt vrunds är rtionell. Förklr vrför dett inneär tt 2 inte kn lgrs exkt i en dtor. Övning Bevis tt för ll tl x och y så gäller xy = x y. Övning Bevis tringelolikheten: för ll tl x och y så gäller x + y x + y. Övning Rit följnde funktioners grfer (ntingen för hnd eller i en grfritre) och vgör ifll de är kontinuerlig eller ej. (i) (ii) (iii) f(x) = g(x) = h(x) = { x 2 + x om x 0 0 om x < 0 { x om x 0 x om x < 0 { x om x 2 x om x < 2 Övning 3.13 ( ). Använd Definition för tt vis tt funktionen f(x) = x 2 2 är kontinuerlig. Tips: nvänd resultten i Övning 3.11 och Övning 3.14 ( ). Använd stsen om mellnliggnde värden för tt vis tt ekvtionen cos(x) = x hr en lösning i intervllet [0, 1]. 47
56 4 Tärningen är kstd Vd är ett slumpmässigt tl? Är till exempel tlet 2 ett slumpmässigt tl? Frågn går inte tt esvr eftersom vi inte vet om tlet 2 i dett fll kommer från ett tärningskst, eller om det är resulttet v tt skriv in i miniräknren. Dett visr tt slumpmässighet inte är en egenskp hos ett tl, utn en egenskp hos en process som genererr tl (till exempel tt kst en tärning). Om vi kstr en tärning fler gånger kn vi skriv upp resulttet v vrje kst och få en tlföljd: 4, 1, 6, 2, 3, 5, 4, 6, 3, 3, 6, 4, 5, 3, 2, 2. Om tärningsksten verkligen är slumpmässig kommer vrje tl i tlföljden vr oeroende v de ndr tlen. I så fll orde det inte finns något mönster i tlföljden, och det går inte tt förutspå vd näst tl kommer tt li. Tl som fås från tärningskst är ett exempel på äkt slumptl. Andr exempel på äkt slumptl är tt singl slnt (kron = 1, klve = 0) och tt dr ppperslppr med tl ur en tomol. Mn kn också få äkt slumptl genom tt mät tmosfäriskt rus 14 eller rdioktivt sönderfll. Att generer äkt slumptl är oft ntingen långsmt eller kräver dyr utrustning. I mång smmnhng nvänder mn därför istället dtorlgoritmer som skpr tlföljder som ser ut tt vr slumpmässig, fstän de inte är det. Dess lgoritmiskt genererde slumptl klls pseudoslumptl (pseudo kommer från ett grekiskt ord som etyder lögnktig eller flsk ). Pseudoslumptl nvänds till exempel i dtorspel, simuleringr, viss eräkningsmetoder smt inom kryptering. I vsnitt 4.2 erättr vi mer om någr tillämpningr v slumptl, men först sk vi titt närmre på hur pseudoslumptl kn generers. 4.1 Pseudoslumptl En pseudoslumptlsgenertor (på engelsk pseudorndom numer genertor, förkortt PRNG) utgår från ett strtvärde x 0 och nvänder en funktion f för tt eräkn en tlföljd, enligt nedn. Definition En pseudoslumptlsgenertor P = (S, f) estår v en mängd S som klls tillståndsrum och en funktion f : S S. Givet en pseudoslumptlsgenertor P och ett strtvärde x 0 S som klls slumpfrö definiers en följd v pseudoslumptl v x n+1 = f(x n ), n = 0, 1, 2,... I dett kompendium är tillståndsrummet S lltid en delmängd v de ickenegtiv heltlen, till exempel S = {0, 1, 2, 3, 4}. Lägg märke till tt en pseudoslumptlsgenertor egentligen inte lls är slumpmässig; näst tl i följden estäms entydigt v det föregående med hjälp v regeln x n+1 = f(x n ). Tricket är tt välj en r funktion f som gör tt följden ser ut tt vr slumpmässig. 14 På wesidn kn mn hitt äkt slumptl genererde från tmosfäriskt rus. 48
57 En enkel typ v pseudoslumptlsgenertor klls för linjär kongruensgenertor och är serd på kongruensräkning (se vsnitt 2.2). En sådn genertor definiers v tre tl m, och på följnde sätt. Definition En linjär kongruensgenertor L(m,, ) är en pseudoslumptlsgenertor (S, f) med tillståndsrum S = {0, 1, 2,..., m 1}, där m är ett positivt heltl, vrs funktion f ges v 15 x n+1 = f(x n ) = Mod m (x n + ), n = 0, 1, 2,... där och tillhör S. Vrje tl x n är ju här ett heltl som uppfyller 0 x n < m. Om mn istället vill h slumptl melln 0 och 1 kn mn definier u n = x n m, (4.1) vilket kommer vr ett reellt tl som uppfyller 0 u n < 1. Exempel Låt m = 5, = 2 och = 1. Med strtvärde x 0 = 0 fås då tlföljden lltså x 1 = Mod 5 ( ) = Mod 5 (1) = 1, x 2 = Mod 5 ( ) = Mod 5 (3) = 3, x 3 = Mod 5 ( ) = Mod 5 (7) = 2, x 4 = Mod 5 ( ) = Mod 5 (5) = 0, x 5 = Mod 5 ( ) = Mod 5 (1) = 1,. 0, 1, 3, 2, 0, 1, 3, 2, 0, 1, 3, 2, 0, 1, 3, 2,... Med strtvärde x 0 = 4 fås istället tlföljden x 1 = Mod 5 ( ) = Mod 5 (9) = 4, x 2 = Mod 5 ( ) = Mod 5 (9) = 4,. lltså 4, 4, 4, 4, 4, 4, 4, 4, 4,... Ingen v tlföljdern i Exempel ser särskilt slumpmässig ut! Det som händer är tt genertorn går in i en cykel och upprepr smm tl periodiskt. Det är förstås så tt så fort genertorn kommer tillk till ett tillstånd x S som den redn hr esökt tidigre så kommer den tt upprep sig själv i ll oändlighet. Dett eror på tt f är en funktion, och därmed lltid ger smm utdt för ett givet indt. Vi definierr genertorns period enligt följnde. 15 Funktionen Mod m definierdes i Definition
58 Definition Låt P = (S, f) vr en pseudoslumptlsgenertor, och låt x 0 S vr ett givet slumpfrö. Genertorn P :s period givet x 0 är det minst positiv heltl p sådnt tt x n+p = x n för något n {0, 1, 2,...}. I Exempel är genertorns period 4 för slumpfröet x 0 = 0, medn perioden är 1 för slumpfröet x 0 = 4. För tt en genertor sk vr nvändr måste den h en lång period. Perioden kn dock ldrig vr större än S, ntlet tillstånd (vrför inte?). För en linjär kongruensgenertor är S = m, så den störst möjlig perioden är m. Vd perioden fktiskt lir eror på prmetrrn m, och. Följnde sts gäller specilfllet då = 0 och m är ett primtl. Sts Låt P = L(m,, ) vr en linjär kongruensgenertor där m är ett primtl och = 0. Genertorn P hr då perioden m 1 för ll positiv slumpfrön x 0 S om är ett primitivt element modulo m. För tt förstå stsen (som vi kommer evis lite senre) ehöver vi följnde definition. Definition Låt m vr ett positivt heltl. Ett tl {1, 2,..., m 1} klls ett primitivt element modulo m om det för vrje k {1, 2,..., m 1} finns ett positivt heltl i sådnt tt k = Mod m ( i ). Ett primitivt element är lltså ett tl sådnt tt ll positiv heltl mindre än m kn skrivs som en potens v, modulo m. Eller nnorlund uttryckt, om vi går igenom den oändlig tlföljden 1, 2, 3, 4,... så kommer vi för vrje k {1, 2,..., m 1} hitt något tl i tlföljden som är kongruent med k modulo m. Exempel Låt m = 5. Tellen nedn visr värdet på 1, 2, 3, 4, 5 för {1, 2, 3, 4}, och ders kongruenser modulo = (mod 5) = (mod 5) = (mod 5) = (mod 5) Här kn vi se tt 2 och 3 är primitiv element modulo 5. Vi kn också inse tt 1 inte kn vr ett primitivt element eftersom 1 i = 1 för ll heltl i. Vi misstänker tt 4 inte heller är ett primitivt element, men för tt verkligen vis det ehöver vi följnde hjälpsts. Hjälpsts Låt m vr ett positivt heltl, och låt x, y och z vr heltl. Om x y (mod m) så är xz yz 50 (mod m).
59 Bevis. Kom ihåg tt x y (mod m) etyder tt det finns ett heltl k sådnt tt x = y + km. Om denn ekvtion multiplicers med z fås xz = yz + kzm. Eftersom även kz är ett heltl så etyder dett tt xz yz (mod m). Som ett specilfll v Hjälpsts med x = i och z = fås tt om så är i y (mod m) i+1 y (mod m). Därmed vet vi direkt tt om 4 4 = (mod 5) så måste (mod 5). På smm sätt lir = 16 1 (mod 5), och det lir tydligt tt 4 i ldrig kommer vr kongruent med 2 eller 3 modulo 5. Ett ordentligt evis kn görs med hjälp v induktion, vilket vi lämnr som Övning 4.8. Vi kommer h nytt även v följnde hjälpsts, som erättr när den motstt riktningen v Hjälpsts gäller. Hjälpsts Låt m vr ett primtl, och låt x, y och z vr heltl. Antg dessutom tt 0 < z < m. Om xz yz (mod m) så är x y (mod m). Bevis. Att xz yz (mod m) inneär tt det finns ett heltl k sådnt tt xz = yz + km. Vi kn sutrher med yz och ryt ut z för tt få (x y)z = km. Dett säger (jämför med Definition 2.2.7) tt primtlet m delr tlet (x y)z. Om så är fllet måste m del ntingen tlet x y eller tlet z. 16 I dett fll kn m inte del z eftersom 0 < z < m. Därmed måste m del x y, vilket inneär tt det finns ett heltl j sådnt tt x y = jm. Dett etyder tt x = y + jm, så x y (mod m), vilket slutför eviset. Bevis v Sts Vårt mål är nu tt evis Sts Vi örjr med ännu en hjälpsts. Hjälpsts Låt P = L(m,, ) med = 0 och > 0. Då är x n n x 0 (mod m), n = 0, 1, 2, Vi nvänder här ett resultt som klls Euklides hjälpsts och som säger tt om ett primtl m delr tlet, där och är heltl, så måste m del eller. Vi kommer nvänd dett utn evis. 51
60 Bevis. Vi evisr påståendet med hjälp v induktion. Bsfllet n = 0 lir x 0 0 x 0 (mod m), vilket är snt eftersom 0 = 1 för ll positiv heltl. För induktionssteget ntr vi tt x k k x 0 (mod m) (4.2) är snt för något heltl k. Från Definition hr vi x k+1 = Mod m (x k ), vilket speciellt etyder tt x k+1 x k (mod m). (4.3) Nu nvänder vi Hjälpsts som säger tt om ekvtion (4.2) är snn så är x k k+1 x 0 (mod m) (4.4) snn. Ekvtion (4.3) och (4.4) tillsmmns visr nu tt x k+1 k+1 x 0 (mod m), vilket visr tt ekvtion (4.2) är snn även för k + 1. Därmed hr vi evist Hjälpsts Vi är nu redo tt äntligen evis Sts För tt komm ihåg vd stsen säger repeterr vi den här: Låt P = L(m,, ) vr en linjär kongruensgenertor där m är ett primtl och = 0. Genertorn P hr då perioden m 1 för ll positiv slumpfrön x 0 S om är ett primitivt element modulo m. Bevis v Sts Idén är tt vis tt 0, 1, 2,..., m 2 ll är olik modulo m, och tt m 1 0 (mod m). Vi visr sedn tt dett evrs om mn multiplicerr med x 0. Steg 1. Eftersom är ett primitivt element modulo m så finns ett positivt heltl p sådnt tt 1 p (mod m). Låt dessutom p vr det minst positiv heltlet med denn egenskp. För högre exponenter uppreps värden enligt Hjälpsts 4.1.8, det vill säg p+1, p+2 2 och så vidre (mod m). Dett inneär tt i som mest kn nt p olik värden modulo m, nämligen Mod m ( 1 ), Mod m ( 2 ), Mod m ( 3 ),..., Mod m ( p ). (4.5) Dess p värden måste verkligen vr olik. För tt se det, ntg motstsen, nämligen tt i j (mod m) fstän 1 i < j p. Eftersom 0 < < m kn vi nvänd Hjälpsts för tt divider med. Om vi gör dett i gånger får vi 1 j i (mod m). Nu är j i ett positivt heltl mindre än p, men p vr ju det minst positiv heltl som uppfyller 1 p (mod m). Dett är en motsägelse, så ll tl i (4.5) måste vr olik. 52
61 Eftersom är ett primitivt element modulo m måste de m 1 tlen i mängden {1, 2,..., m 1} finns lnd tlen i (4.5). Dett inneär tt p m 1. Men p kn inte vr större än m 1, för då skulle något tl ehöv uppreps (som Övning 4.10 visr kn nämligen inte tlet 0 finns lnd tlen i (4.5)). Alltså är p = m 1. Steg 2. Vi visr nu tt om i och j är olik modulo m så är även i x 0 och j x 0 olik modulo m. Antg motstsen, nämligen tt i x 0 j x 0 (mod m). Men 0 < x 0 < m, så enligt Hjälpsts är då i j (mod m), vilket säger emot tt i och j är olik modulo m. Alltså är i x 0 och j x 0 olik när i och j är olik. Hjälpsts säger ju tt x n n x 0 (mod m), så nu hr vi lltså smmntget vist tt ll värden x 1, x 2, x 3,..., x p (p = m 1) är olik, och tt x p = x 0. Dett visr tt perioden för genertorn är p, och eftersom p = m 1 hr vi evist Sts En nvändr linjär kongruensgenertor Eftersom genertorns period inte kn vr större än m vill mn välj m mycket stort. För tt grnter periodens längd kn mn nvänd Sts 4.1.5, och då måste m dessutom vr ett primtl. Exempel Låt en linjär kongruensgenertor ges v m = , = 7 5 och = 0. Tlet m är ett mycket stort primtl 17 (m = ) och tlet är ett primitivt element modulo m, så enligt Sts är genertorns period för ll positiv slumpfrön. Vi provr tt generer 200 slumptl u n = x n /m med slumpfrö x 0 = 1. Resulttet viss i Figur 4.1. Inget uppenrt mönster syns Figur 4.1: 200 pseudoslumptl u n melln 0 och 1. (På x-xeln viss n, på y-xeln värdet på u n.) 17 Ett tl på formen 2 k 1 där k är ett heltl klls ett Mersennetl. Ett Mersennetl som även är ett primtl, som m = , klls ett Mersenneprimtl. Just dett primtl upptäcktes 1772 v mtemtikern Leonhrd Euler. Det störst Mersenneprimtlet som är känt idg (septemer 2019) upptäcktes 2018 och är det enorm tlet , vilket även är det störst primtl mn känner till över huvud tget. 53
62 Vi kn också undersök om tlen u n verkr vr jämnt fördelde, med hjälp v ett histogrm (Figur 4.2). I histogrmmet dels intervllet [0, 1] upp i 10 stycken delintervll med längd 0.1, och så räkns ntlet pseudoslumptl som hmnde i vrje delintervll. I dett fll ser det någorlund jämnt ut. Även äkt slumptl kommer h viss vrition i histogrmmet, men vi förväntr oss tt det lir jämnre och jämnre ju fler slumptl som ts med Figur 4.2: Histogrm för de 200 pseudoslumptlen u n. (På x-xeln viss värdet på u n, på y-xeln ntlet pseudoslumptl som hmnde inom vrje intervll.) Exempel Vi kn nvänd smm genertor som i föregående exempel, men simuler en tärning genom tt sätt t n = 6u n + 1. Här etyder x heltlsdelen v x, det vill säg det mn får om mn helt enkelt tr ort decimlern (smm sk som tt lltid vrund nedåt). Eftersom 0 u n < 1 kommer 0 6u n < 6, så 6u n kn nt något v värden {0, 1, 2, 3, 4, 5}. Genom tt dder 1 får vi smm värden som en vnlig tärning kn vis. Med slumpfrö x 0 = 1 lir de 16 först pseudoslumptlen t n 1, 1, 5, 3, 4, 2, 1, 5, 5, 6, 3, 4, 5, 1, 1, 4. Det är förstås svårt tt säg r utifrån dett om vår tärningssimultor är r eller dålig. Något uppenrt mönster verkr det inte finns i tlföljden i ll fll. 4.2 Tillämpningr v slumptl Pseudoslumptl nvänds lltså för llt från dtorspel till kryptering, och krven som ställs är olik eroende på tillämpning. Frmförllt i kryptering är det extr viktigt tt slumptlen är oförutsägr, eftersom det nnrs finns en risk tt en illvillig person lycks list ut de hemlig nycklr som nvänds och därmed kn läs den krypterde informtionen. Därför räkns kryptogrfiskt 54
63 säkr pseudoslumptlsgenertorer som en egen klss v slumptlsgenertorer. De slumptlsgenertorer som vi studerde i föregående vsnitt är tyvärr inte kryptogrfiskt säkr. Vi sk nu titt närmre på någr enkl exempel där slumptl kn vr nvändr. Cesrkrypto. Ett v de enklste sätten tt krypter text är Cesrkryptot, som nvändes redn v Julius Cesr. Det går ut på tt vrje okstv i texten yts ut mot den okstv som är X pltser frmför i lfetet (modulo lfetets längd, det vill säg om mn går föri Ö så örjr mn om från A). Tlet X är ett heltl som hålls hemligt och klls för nyckel (den som sk kunn läs meddelndet måste förstås också känn till nyckeln). Eftersom nyckeln inte sk gå tt giss så kn det vr lämpligt tt generer den slumpmässigt. Exempel Låt nyckeln vr X = 5. I krypteringsfsen sk då okstävern yts ut enligt f, g, c h,..., å c, ä d, ö e. Till exempel lir meddelndet Tärningen är kstd kryptert som Ydwsnsljs dw pfxyfi För tt vkrypter meddelndet yter mn ut vrje okstv mot den okstv som är X plster kom i lfetet istället. Cesrkrypto kn även nvänds i modernre dtorsmmnhng. Dtorer lgrr ju ll informtion som en följd v ettor och nollor, och på ll modern dtorer så gruppers itrn i grupper om ått, vilket ju klls en yte. En yte kn nt 256 olik värden. En fil på en dtor kn lltså ses som en följd v yte B 1, B 2,..., B N, där N är filens storlek (ntl yte). För tt krypter filen kn mn välj en nyckel X och eräkn K i = Mod 256 (B i + X), i = 1, 2,..., N. Värden K i är yten i den krypterde filen. För tt vkrypter filen eräknr mn B i = Mod 256 (K i X), i = 1, 2,..., N. Cesrkryptot är väldigt enkelt, men det är också lätt tt knäck, frmförllt med en dtor som snt kn test ll möjlig nycklr X. Av den nledningen ses inte Cesrkryptot som en säker krypteringsmetod nu för tiden. Slumpvndring. En slumpvndring är en mtemtisk modell v en prtikel som rör sig slumpmässigt. I det enklste fllet rör sig prtikeln längs x-xeln, och dess position x n vid tiden n ges v x n = x n 1 + D i, n = 1, 2,..., där D i är ett slumptl som till exempel kn nt värden i mängden { 1, 1}. Prtikeln hoppr lltså åt en eller ndr hållet i vrje steg. Strtpositionen kn sätts till x 0 = 0. 55
64 Om prtikeln rör sig i xy-plnet kn dess position (x n, y n ) vid tiden n ges v { x n = x n 1 + D i, n = 1, 2,..., y n = y n 1 + E i, där åde D i och E i är slumptl, och strtpositionen är (x 0, y 0 ) = (0, 0). Ett exempel på en sådn slumpvndring viss i Figur Figur 4.3: Slumpvndring med 1000 steg. Monte Crlo-eräkningr. Ett sätt tt eräkn ren v en komplicerd form i plnet är tt omgärd formen med en fyrknt och slump frm punkter inom fyrknten, som i Figur Figur 4.4: Beräkning v en sjöstjärns re. Om vi räknr ntlet punkter som hmnr inom den komplicerde formen (färgde röd i Figur 4.4) och dividerr med det totl ntlet punkter, så får 56
65 vi red på hur stor formens re är jämfört med fyrkntens re. Eftersom ren för en fyrknt är lätt tt räkn ut kn vi från den räkn ut den komplicerde formens re. I dett fll hmnde 318 punkter v 1000 inuti sjöstjärneformen, vilket etyder tt sjöstjärnns re är v fyrkntens re. Fyrkntens re är = reenheter, så sjöstjärnns re är reenheter = RSA-kryptering. RSA-kryptering är en etydligt mer vncerd krypteringsmetod jämfört med Cesrkryptot. RSA-kryptering sers på tt det är mycket svårt tt estämm vilk primtl ett stort heltl är en produkt v. Metoden är symmetrisk, vilket etyder tt vem som helst kn krypter ett meddelnde med hjälp v en pulik nyckel, men för tt vkrypter meddelndet ehövs en hemlig nyckel. Översiktligt så fungerr det så här: 1. Två stor primtl p och q slumps frm. De sk hålls hemlig och det är mycket viktigt tt de inte går tt förutsäg på något sätt. 2. Tlet n = pq eräkns. Dett tl är en del v den pulik nyckeln, och vem som helst får lltså känn till det. Eftersom n är ett stort tl är det svårt tt fktoriser, så p och q är fortfrnde hemlig. 3. Ett heltl e eräkns på ett specifikt sätt utifrån p och q (vi går inte in på hur här). Dett heltl är den ndr delen v den pulik nyckeln. Det går inte tt giss p och q utifrån e. 4. Ett heltl d eräkns på ett specifikt sätt utifrån e, p och q (vi går inte in på hur här). Dett heltl utgör den hemlig nyckeln och sk lltså inte vslöjs för någon, förutom för den som sk kunn vkrypter meddelnden. När denn process är klr ehövs inte primtlen p och q längre. För tt krypter meddelnden ehövs tlen e och n (som tillsmmns utgör den pulik nyckeln), och för tt vkrypter meddelnden ehövs tlen d (den hemlig nyckeln) och n. För tt krypter ett heltlsmeddelnde m eräkns c = Mod n (m e ), där c är det krypterde meddelndet. För tt vkrypter meddelndet eräkns m = Mod n (c d ), vilket fungerr eftersom m = Mod n ((m e ) d ) på grund v det speciell sätt som tlen e och d vldes på. 57
66 Övningr Övning 4.1. Använd en linjär kongruensgenertor L(m,, ) med m = 10, = 3 och = 2 för tt eräkn x 1, x 2, x 3, x 4 och x 5 om x 0 = 0. Vd är perioden i dett fll? Övning 4.2. Använd en linjär kongruensgenertor L(m,, ) med m = 10, = 5 och = 5 för tt eräkn x 1, x 2, x 3, x 4 och x 5 om x 0 = 1. Vd är perioden i dett fll? Övning 4.3. (i) Vd händer om = 0 för en linjär kongruensgenertor L(m,, )? (ii) Vrför är det oft ingen r idé tt välj = 1 för en linjär kongruensgenertor L(m,, )? Ge ett exempel! Övning 4.4. En nnn typ v pseudoslumptlsgenertor klls Blum Blum Shu och ges v x n+1 = Mod m (x 2 n), n = 0, 1, 2,... där m är ett positivt heltl. Låt m = 11 och x 0 = 5 och eräkn x 1, x 2, x 3, x 4 och x 5. Vd lir perioden? Övning 4.5. (i) Är 2 ett primitivt element modulo 3? (ii) Är 2 ett primitivt element modolo 4? (iii) Vilk tl är primitiv element modulo 7? Övning 4.6 ( ). Antg tt m = pq där p och q är heltl större än 1 och mindre än m, och p dessutom är ett primtl. Bevis följnde: (i) Om ett heltl {1, 2,..., m 1} är delrt med p så är Mod m ( i ) också delrt med p för vrje positivt heltl i. (ii) Om istället {1, 2,..., m 1} inte är delrt med p så kn inte Mod m ( i ) heller vr delrt med p för något positivt heltl i. (iii) Använd (i) och (ii) för tt vis tt det inte kn finns någr primitiv element modulo m om heltlet m > 1 inte är ett primtl. Övning 4.7. Ge ett exempel på tt Hjälpsts inte gäller för ll heltl z sådn tt 0 < z < m om m inte är ett primtl. Övning 4.8. Vis med hjälp v induktion tt för vrje positivt heltl i gäller ntingen 4 i 1 (mod 5) eller 4 i 4 (mod 5). Övning 4.9. Ett Mersenneprimtl är ett tl på formen 2 k 1 som dessutom är ett primtl. Hur mång Mersenneprimtl finns det som är mindre än 500? 58
67 Övning Vis tt om är ett primitivt element modulo m så kn det inte finns något positivt heltl i sådnt tt i 0 (mod m). Övning Du hittr ett hemligt meddelnde som lyder Tupdlipmnt nufnujtl djslfm Du misstänker tt det är ett kryptert meddelnde. Vd står det egentligen? Progrmmeringsuppgifter Övning 4.P1. Skriv ett progrm som nvänder en linjär kongruensgenertor L(m,, ) för tt skriv ut 20 pseudoslumptl x 1,..., x 20. Prmetrrn m, och smt slumpfröet x 0 sk gå tt ändr på i progrmmet. Test ditt progrm med m = , = 16807, = 0 (prmetrrn från Exempel ) och x 0 = 1. (De flest progrmmeringsspråk hr inyggd funktionlitet för tt eräkn Mod m (x). I Python skrivs Mod m (x) till exempel x % m.) Övning 4.P2. Skriv ett progrm som nvänder genertorn Blum Blum Shu från Övning 4.4 för tt skriv ut 20 pseudoslumptl x 1,..., x 20. Test ditt progrm med m = och x 0 = 3. Övning 4.P3. Ändr ditt progrm från Övning 4.P1 så tt det istället skriver ut u 1,..., u 20 där u n = x n m. Övning 4.P4. Ändr ditt progrm från Övning 4.P3 så tt det skriver ut 20 slumpmässig heltl från mängden {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. Övning 4.P5 ( ). Skriv ett progrm som testr om ett heltl (0 < < m) är ett primitivt element modulo m, där m är ett positivt heltl. Test ditt progrm med m = 5 och {1, 2, 3, 4}. När du ser tt progrmmet fungerr, vgör om 2 eller 3 är ett primitivt element modulo
68 5 Formell språk Hittills hr dett kompendium hndlt om hur mn kn nvänd dtorer till tt lös mtemtisk prolem, till exempel tt lös ekvtioner eller tt generer slumptl. De kommnde kpitlen vänder på dett förhållnde. Här studers istället dtorer med hjälp v mtemtisk verktyg. Mer specifikt så studers prolem som hr följnde llmänn form. Givet en mängd, finn en lgoritm som vgör ifll ett godtyckligt element ingår i mängden eller inte. För tt dett sk kunn studers närmre måste två sker specificers. (i) Vilk mängder och element som lgoritmen sk verk på. (ii) Vd som vses med en lgoritm. Syftet med dett kpitel är tt ehndl den först punkten. I Kpitel 6 vhndls den ndr, och i Kpitel 7 vävs dess ihop för tt ge ett svr på eslutsprolemet. 5.1 Tecken, lfet och ord Världen är fylld v lfet. Det mest nvänd är det ltinsk lfetet, ifll mn räknr ll vrinter. Andr välnvänd lfet är det risk, det kyrillisk och det grekisk. Språkvetenskpligt definiers ett lfet som en smling tecken som är tänkt tt motsvr ett språks grundfonem (de ljud som de tlde orden yggs upp v). Ett exempel är tt okstven, som motsvrr voklljudet i ordet fr. Här ts ett mer generellt grepp. Definition Ett lfet är en icketom, ändlig mängd tecken. Alfet eteckns vnligtvis med det grekisk okstven Σ. Ett lfet ehöver inte innehåll okstäver: mängden {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} är ett lfet, förutstt tt mn etrktr siffrorn som tecken. Exempel Det ltinsk lfetet är ett lfet. Ett mindre lfet är mängden {,, c}. Ett enkelt lfet är {}. Definition Ett ord är en ändlig följd v tecken ur ett lfet. Ett ords längd är ntlet tecken det innehåller. Enskild tecknen i ett lfet kn ses som ord v längd 1. Ord kn även h längd 0, och klls då det tomm ordet. Definition Det tomm ordet är ordet som sknr tecken och eteckns ε. Det är ett ord i ll lfet. 60
69 Exempel Någr ord i det ltinsk lfetet är tringel, lger och kongruensekvtion. Ur lfetet {, } kn mn ild ord som, och. All följder v tecken är ord, ovsett om de etyder något eller inte. Till exempel är åde och tringel ord i det ltinsk lfetet, trots tt det förr är meningslöst och det ndr refererr till en typ v geometrisk figur. När mn ignorerr ordens etydelse säger mn tt mn studerr mn ders formell eller syntktisk egenskper. Genom tt sätt smmn ord kn mn få fler. Definition Smmnsättningen v två ord w = σ 1 σ n och u = τ 1 τ m är ordet σ 1 σ n τ 1 τ m, och eteckns w u. När ett ord smmnsätts med det tomm ordet (eller omvänt) är resulttet lik med ursprunglig ordet. Mn kn skriv det som ε w = w = w ε. Exempel Smmnsättningen v orden cd och c är cd c = cdc. Ifll w = σ 1 σ n är ett ord, ser mn tt w = σ 1 σ 2 σ n. Vrje ord kn lltså skrivs som en smmnsättning v dess ingående tecken. Smmnsättning v ord är som multipliktion v två tl: mn tr två ord och kominerr dem för tt få ett nytt. Det tomm ordet spelr smm roll som tlet 1. Till skillnd från multipliktion v två tl så spelr det roll i vilken ordning som två ord smmnsätts. Till exempel är =, medn =. Precis som vid multipliktion skrivs i regel inte smmnsättningssymolen ut, utn smmnsättningen v w och u eteckns wu. Definition Ett ord u är prefix till ett ord u ifll det finns ett ord z så tt uz = w. Ordet u är ett suffix ifll det finns ett ord z så tt zu = w. Ifll z inte är det tomm ordet, är prefixet eller suffixet äkt. All ord är oäkt suffix och prefix till sig själv. Det tomm ordet är prefix och suffix till ll ord. Exempel Ordet ktt hr prefixen ε, k, k, kt och ktt, och suffixen ε, t, tt, tt och ktt. På smm sätt som mn definierr potenser v ett tl som upprepd multipliktion v tlet med sig självt, definierr mn upprepningen v ett ord som upprepd smmnsättning v ordet med sig självt. Definition Ifll w = σ 1 σ m är ett ord och n ett positivt heltl, är den n-fldig upprepningen v w w n = (σ 1 σ m ) n = w } {{ w} = (σ 1 σ m )(σ 1 σ m )(σ 1 σ m ) }{{} n stycken n stycken 61
70 Ifll n = 0, är w n = w 0 = ε. Repetioner v ett ord påminner om potenser v ett tl, men är inte riktigt smm sk. Till exempel gäller i llmänhet inte tt (wu) n = w n u n. Ett konkret motexempel är tt () 2 lik med, men 2 2 är. Smndet gäller däremot ifll orden u och w är lik. Sts Ifll w är ett ord gäller tt w n w m = w n+m för ll icke-negtiv heltl n och m. Bevis. Ifll m är 0, får mn tt w n w m = w n w 0 = w n ε = w n = w n+0 = w n+m. Smm evis fungerr när n = 0. Ifll åde n och m är större än 0, kn mn skriv w n w m = } w {{ w} n stycken w w }{{} m stycken = w} {{ w} = w n+m. n + m stycken Smmnsättningr och upprepningr är ordopertioner: givet ett eller fler ord som rgument ger de ett nytt ord. Mn kn tänk sig ndr ordopertioner. Definition Reversionen v ett ord w = σ 1 σ n är ordet w rev = σ n σ 1. Reversionen v det tomm ordet är det tomm ordet. Exempel Reversionen v ordet är. Reversionen v ett enskilt tecken är tecknet självt. 5.2 Språk över lfet Enskild ord är i regel v egränst intresse: det intressnt händer när de smls i mängder. Definition Ett formellt språk över ett lfet är en mängd v ord i dett lfet. Språken som studers här klls formell eftersom mn enrt tr hänsyn till de ingående ordens formell egenskper. Språk som nvänds till vrdgs klls nturlig språk, och studers lnd nnt inom språkvetenskp. Språk, till skillnd från ord och lfet, kn vr oändlig. Det viktig är tt ntlet tecken i vrje enskilt ord är ändligt mång, och tt det r finns ändligt mång olik tecken i orden. Exempel Den tomm mängden och mängden som enrt innehåller den tomm strängen är språk över ll lfet. Smtlig lfet utgör språk över sig själv, ifll mn etrktr tecknen i lfetet som ord v längd 1. Mängden {, c, c,, c} är ett språk över lfetet {,, c}. 62
71 Definition Kleenetillslutningen v ett lfet Σ är språket som estår v ll möjlig ord över Σ, och eteckns Σ. Språk är inget nnt än mängder, och mn kn därför tillämp mängdopertioner på dem. Givet två språk L 1 och L 2 över Σ definiers därför unionen, snittet, differensen och komplementet v dem som L 1 L 2, L 1 L 2, L 1 \ L 2 och L 1 = Σ \ L 1. Unionen v två språk estår v ll ord som ligger i ender språken, medn snittet estår v ll ord som ligger i åd språken. Differensen är ll ord som enrt finns i ett v dem, medn komplementet v ett språk estår v ll ord som inte ligger i det. Genom tt utnyttj tt språken estår v ord, kn mn definier ytterligre språkopertioner. Definition Smmnsättningen v två språk L 1 och L 2 är språket och eteckns L 1 L 2. {wu w L 1 och u L 2 } Exempel Språken L 1 = {kork, ek} och L 2 = {stol, erg} hr smmnsättningen L 1 L 2 = {korkstol, korkerg, ekstol, ekerg}. Ifll två språk endst estår v ett ord vrder, är smmnsättningen v språken lik med språket som estår v smmnsättning v dess ord. Språken Ø och {ε} intr en särställning i vid smmnsättning v språk. Det tomm språket uppfyller tt medn ØL 1 = L 1 Ø = Ø {ε}l 1 = L 1 {ε} = L 1. Dess egenskper motsvrr de som 0 och 1 hr för multipliktion v tl. I likhet med smmnsättning v ord så gäller i regel inte tt L 1 L 2 = L 2 L 1. Ett konkret exempel är tt är två olik språk. {}{} = {} och {}{} = {} I likhet med hur mn definierr upprepningr v enskild ord, kn mn givet ett språk L definier det upprepde språket L n. Definition Ifll L är ett språk och n är ett heltl som är större än 0, är den n-fldig upprepningen v L L n = L } {{ L}. n stycken Ifll n = 0, är L 0 = {ε}. 63
72 Exempel Ifll L = {, c}, är L 3 = {, c, c, cc, c, cc, cc, ccc}. Övning 5.14 ger en generlisering v Sts för godtycklig språk. Definition Ifll L är ett språk klls språket L = L 0 L 1 L 2 = {ε} L L 2 för Kleenetillslutningen v L. Ovnstående är en generlisering v Kleenetillslutningen v ett lfet. Om Σ är ett lfet (etrktt som ett språk) är Σ n mängden v ord över Σ v längd n. Eftersom ll ord över Σ hr ändlig längd så ligger vrje ord i Σ n för något n. Därför kommer Kleenetillslutning v Σ (sett som ett språk) smmnfll med den ursprunglig definitionen v Kleenetillslutningen v ett lfet. Exempel Språket {} hr Kleenetillslutningen {ε,,,,...}, det vill säg smtlig upprepningr v. Språket L = {, c} hr Kleenetillslutningen L = {ε} {, c} {, c, c, cc}. Kleenetillslutningen v ett språk innehåller lltid det tomm ordet eftersom L 0 = {ε}. Dett hr konsekvensen tt Ø = {ε}. Genom mängdopertioner, smmnfogningr och Kleenetillslutningr kn mn ild en rd olik språk. Exempel (i) Språket {2, 23, 233, 2333,...} kn skps genom smmnsättning v språken {2} och {ε, 3, 33,...}. Det senre kn eskrivs som Kleenestillslutningen v {3}, så {2, 23, 233, 2333,...} = {2} ({3} ). (ii) Språket över lfetet {, } som estår v ll ord som innehåller delordet kn skrivs som ({, } ){}({, } ). Vrför? Vrje ord som innehåller kn dels upp i tre delr: sekvensen v tecken innn den först förekomsten v, ordet och sekvensen v tecken efter den först förekomsten v. Sekvensern före och efter den först förekomsten v kn vr vilk som helst. Ett nnt sätt tt ild ny språk ur gml är genom prefix och suffix. 64
73 Definition Prefix- och suffixspråket v ett språk L över Σ är Pre(L) = {w Σ w är ett prefix till något ord i L } och Suf(L) = {w Σ w är ett suffix till något ord i L }. Eftersom ll ord hr åde det tomm ordet och sig självt som suffix och prefix, så innehåller ett språk L:s prefix- och suffixspråk L {ε} som delmängd. Exempel Språket L = {ktt} hr prefixspråket Pre(L) = {ε, k, k, kt, ktt} och suffixspråket Suf(L) = {ε, t, tt, tt, ktt}. 5.3 Reguljär språk En geometriker studerr inte enskild geometrisk figurer, utn geometrisk figurer i llmänhet. På smm sätt studerr en dtvetre i regel inte enskild formell språk, utn ders llmänn egenskper. Ett sätt tt gör dett är tt del in de formell språken i klsser, som sedn studers vr för sig. Dett motsvrr tt en geometriker studerr olik typer geometrisk figurer (tringlr, prllellogrm) vr för sig. Utöver tt studers vr för sig, kn klssern även relters till vrndr. Exempelvis kn en geometriker se tt ll prllellogrm kn dels i två likdn tringlr, genom tt dr en digonl melln två v dess hörn. Reguljär språk är en viktig klss v formell språk och är de som studers i dett kompendium. De är den enklste klssen v språk som studers v dtvetre. Definition De reguljär språken över ett lfet Σ ges v följnde rekursiv definition. (i) Det tomm språket Ø är reguljärt. (ii) Om σ är ett tecken i Σ, är {σ} reguljärt. (iii) Ifll L 1 och L 2 är reguljär språk är L 1 L 2, L 1 L 2 och L 1 reguljär språk. För tt undvik ett överflöd v prenteser när mn eskriver reguljär språk, så nvänds följnde indningsregler: Först Kleenetillslutning, därefter smmnsättning och sist union. 65
74 Ett sätt tt minns konventionen är tt tänk på Kleenetillslutning som en potens, smmnsättning som multipliktion och union som ddition. Då är indningsreglern desmm som för ritmetisk uttryck. Exempel Språket {2}{3} som studerdes i Exempel är reguljärt. Likledes är språket reguljärt. {, } {}{, } = ({} {}) {} ({} {}) Mn ehöver nvänd prenteser i ovnstående högerled, för tt mrker tt Kleenetillslutningen sk görs över hel unionen. Språket {} {} {}{} {} är ett nnt, som lnd nnt inte innehåller ordet. Mängdklmrrn fyller ingen funktion, och de rukr därför utelämns. När mn gör dett får mn reguljär uttryck. På engelsk klls reguljär uttryck för regulr expressions, vilket förkorts som regex eller regexp. Exempel Det reguljär uttrycket för språket {2}{3} är 23, medn det reguljär uttrycket för språket är ( ) ( ). ({} {}) {} ({} {}) Reguljär uttryck över ett lfet liknr orden som kn ilds över lfetet. Men det är viktigt tt inte förväxl dem: reguljär uttryck refererr till språk, det vill säg mängder v ord, inte orden i sig. Vrje reguljärt språk eskrivs v ett reguljärt uttryck. Men det är inte unikt: ett reguljärt språk kn eskrivs v mång olik reguljär uttryck. Exempel (i) Språket över {, } som estår v orden {, } hr det reguljär uttrycket. (ii) Språket över {, } som estår v ll ord som örjr på hr det reguljär uttrycket ( ). (iii) Ett ord över språket {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} representerr ett nturligt tl ifll det är 0 eller inte örjr på 0. Språket som estår v ll dess ord hr det reguljär uttrycket 0 ( )( ). (iv) Språket som estår v ll ord på formen är inte reguljärt. (( ( )) ) }{{}}{{} n n Informellt så är de reguljär språken de som mn kn ygg genom tt smmnsättning, icke-deterministiskt vl och godtycklig upprepning (itertion) ur språk. 66
75 Övningr Övning 5.1. Bevis tt ll språk som estår ändligt mång ord är reguljär. Övning 5.2. En dtfil innehåller uppmätt tryck med tillhörnde tidpunkt för mätning. Tidpunktern hr formtet HH:MM:SS. Skriv ett reguljärt uttryck som väljer ut tidern melln 15:00 och 16:59. Övning 5.3. Ange reguljär uttryck för språket som innehåller ll ord som estår v ett jämnt ntl :n följt v ett udd ntl :n. Övning 5.4. Ange reguljär uttryck för språket som innehåller ll ord som innehåller minst tre :n och slutr på. Övning 5.5. Ange reguljär uttryck för språket som innehåller de ord över {0, 1} som representerr inär tl som är delr med 4. Övning 5.6. Ange reguljär uttryck för språket som innehåller de ord över {0, 1} som representerr inär tl som är kongruent med 2 modulo 4. Övning 5.7. Ett språk L hr prefixegenskp ifll inget ord i L är ett äkt prefix v något nnt ord i språket. Ge exempel på ett oändligt språk med prefixegenskpen. Övning 5.8. Bevis tt två ord över ett lfet är lik ifll åd är prefix eller suffix v vrndr. Övning 5.9. Bevis tt ifll L är ett språk som innehåller k stycken ord så estår L n v k n ord. Använd dett för tt t frm ett uttryck för hur mång ord L 0 L 1 L n innehåller. Övning Bevis tt för godtycklig språk L gäller (L ) = L och L L = L. Övning Bevis tt suffixspråken uppfyller (i) Suf(σ 1 σ 2 σ n ) = {σ 1 σ 2 σ n, σ 2 σ n,..., σ n, ε}, (ii) Suf(L 1 L 2 ) = (Suf(L 1 )L 2 ) Suf(L 2 ), (iii) Suf(L 1 L 2 ) = Suf(L 1 ) Suf(L 2 ), (iv) Suf(L ) = Suf(L)L. för ll språk L 1 och L 2. Övning Använd ekvtionern i Övning 5.11 för tt ge ett uttryck för suffixspråket v L = (). 67
76 Övning 5.13 ( ). Tg frm ekvtioner som i Övning 5.11 för prefixspråken och evis tt det gäller. Beräkn sedn prefixspråket v (). Övning 5.14 ( ). Låt L eteckn mängden v språk över ett lfet. Potensfunktionen P : L N L definiers genom P (L, n) = L n. Ge en rekursiv definition v potensfunktionen, och nvänd den för tt evis tt P (L, n + m) = P (L, n)p (L, m) för ll språk L och nturlig tl n och m. Övning Bevis tt om α, β och γ är reguljär uttryck, så gäller den distriutiv lgen: αβ αγ = α(β γ). Övning 5.16 ( ). Låt Σ vr ett lfet. Reversionsfunktionen rev : Σ Σ vildr ett ord w på sin reversion w rev. Ge en rekursiv definition v reversionsfunktionen och nvänd den för tt reverser ordet cd. Bevis därefter tt definitionen är korrekt, det vill säg tt rev(σ 1 σ n ) = σ n σ 1 för ll tecken σ 1,..., σ n i lfetet. Övning 5.17 ( ). En plindrom är ett ord som är lik med sin egen reversion. Plindromspråket P (Σ) över ett lfet Σ estår v ll plindrom över dett lfet. (i) Skriv upp smtlig plindrom över {, } som estår fyr eller färre tecken. (ii) Ge en rekursiv definition v plindromspråket över {, }. (iii) Utvidg definitionen i (ii) till ett godtycklig lfet Σ. 68
77 6 Tillståndsmskiner Betrkt följnde eslutsprolem. Givet ett reguljärt språk, finn en lgoritm som vgör ifll ett godtyckligt ord ingår i det eller inte. Ord och reguljär språk definierdes i förr vsnittet. Här studers istället lgoritmer. Ordet lgoritm kommer från den persiske mtemtikern l-khwrizmi. Hn uppfnn lnd nnt lgern som självständig mtemtisk disciplin och gv generell lösningr till först- och ndrgrdsekvtioner. Ltinsk översättningr v hns öcker introducerde även det indisk positionssystemet i Västeurop, vri hn även eskrev generell metoder för tt eräkn exempelvis summor och differenser. Dess metoder kom tt klls lgoritmer. Löst eskrivet är en lgoritm en uppsättning instruktioner som tr indt v en viss typ och producerr utdt v en viss typ. Instruktionern sk dessutom vr eräkningsr. Beräkningsrhet kn formlisers på olik sätt. Den mest känd är Turingmskinen, nmngiven efter den rittiske mtemtikern Aln Turing. Det är en slgs teoretisk dtormskin, som är tillräckligt specifik för tt studers med mtemtisk metoder, men den fångr fortfrnde intuitionen v eräkningsrhet. Det finns ndr formliseringr v eräkningsrhet. Men trots tt formliseringrn på ytn är olik, hr det vist sig tt i princip smtlig är ekvivlent, och tt ingen v dem kn eräkn något som inte kn eräkns v en Turingmskin. Dett ger stöd åt det som klls för Church-Turings tes. Den säger tt de eräkningsr funktionern är precis de som kn eräkns v en Turingmskin. Eftersom eräkningsrhet inte är ett mtemtiskt egrepp kommer tesen ldrig kunn eviss mtemtiskt. Mn kn se det som ett ntgnde tt Turingmskinen är en korrekt modellen v vd det inneär tt vr eräkningsr. I dett kpitel studers tillståndsmskiner. De är förenklde vrinter v Turingmskiner. Det finns två skäl tt gör denn inskränkning. (i) Tillståndsmskiner löser eslutsprolemet för reguljär språk. (ii) Tillståndsmskiner är enklre tt ret med. Mn kn tänk tt ifll en Turingmskin är en dtor, så är en tillståndsmskin en dtor utn retsminne. Den som progrmmert kn tänk tillståndsmskiner är progrm som inte får spr eller ändr någr progrmvriler. I dett kompendium nvänds ilnd kortformen mskin för tillståndsmskiner. 69
78 6.1 Deterministisk tillståndsmskiner En deterministisk tillståndsmskin över ett lfet estår v en ändlig mängd v tillstånd. Ett v dess är utvlt som strttillstånd och noll eller fler är utvld som ccepternde tillstånd. Det finns också en övergångsfunktion, som tr ett tillstånd och ett tecken som rgument och som returnerr ett tillstånd. Mskinern fungerr som en växellåd. De olik växlrn är tillstånden, och övergångsfunktionen eskriver hur den eter sig i vrje växel. Mer konkret så specificerr den vilken växel mskinen sk yt till, ifll ett visst tecken kommer när mskinen står i en viss växel. Övergångsfunktionen gör tt mskinen kn drivs v ord över lfetet. Mn kn se orden som en sekvens v kommndon. Mskinen örjr i strttillståndet, och uppdterr sitt intern tillstånd llteftersom den läser ny tecken i ordet. När ordet, det vill säg sekvensen v kommndon, är slut, kommer tillståndsmskinen drivits till något tillstånd. Ifll det tillståndet är ett ccepternde, säger mn tt ordet ccepters v mskinen. Tillståndsmskiner rits oftst som riktde grfer. Tillstånden rits som cirklr. Strttillståndet mrkers genom tt mn ritr en pil som pekr på den. De ccepternde tillstånden mrkers genom tt rit dem som dul cirklr. Övergångsfunktionen rits som pilr melln tillstånden, mrkerde med tecken ur lfetet. En pil från ett tillstånd S 1 till ett nnt tillstånd S 2 som är mrkerd med ett tecken σ etyder tt övergångsfunktionen vildr (S 1, σ) på S 2. Ifll fler tecken i lfetet går från ett tillstånd till ett nnt, så skrivs smtlig till smm pil, så tt det endst går en pil från ett tillstånd till ett nnt. Ett ord driver mskinen genom tt vndr genom dess tillstånd. Det örjr i strttillståndet med hel ordet. Sedn konsumerr den tecknet längst till vänster i ordet, och flyttr längs pilen märkt med dett tecken. Sedn gör den om proceduren, tills tt det inte finns någr tecken kvr. Exempel Betrkt den deterministisk tillståndsmskinen i Figur 6.1. Mskinen är över lfetet {, } och figuren estår v två tillstånd, 1 och 2,, 1 2 Figur 6.1: En deterministisk tillståndsmskin. ritde som cirklr. Strttillståndet 1 är mrkert med en pil som pekr på den, medn tillstånd 2 är ccepternde, vilket mrkers genom tt den rits med två cirklr. Figuren innehåller tre pilr. En v dem utgår från tillstånd 1, och loopr runt och pekr på tillstånd 1. Den pilen är mrkerd med. En nnn pil går från tillstånd 1 till tillstånd 2, och är märkt med. Den sist pilr loopr från 70
79 tillstånd 2 till sig självt, och är mrkerd med och. Låt nu mskinen drivs v ordet. Då kommer den stnn i tillstånd 1 i de två först stegen. Därefter kommer det ktiv tillståndet ändrs från tillstånd 1 till tillstånd 2, vrefter den stnnr i dett tillstånd resten v körningen. Eftersom dett är ett ccepternde tillstånd, så ccepterr mskinen i Figur 6.1 ordet. I llmänhet gäller tt mskinen ccepterr ll ord över {, } som innehåller minst ett. All ord som någon gång drivs till tillstånd 2 kommer nämligen stnn det. De ord som inte drivs till tillstånd 2 är de som stnnr i tillstånd 1 hel tiden, vilket r kn händ ifll ej förekommer i ordet. Enskild tillståndsmskiner studers vnligtvis genom sin visuell representtion, men för tt studer dem i llmänhet krävs en formell definition. Definition En deterministisk tillståndsmskin över ett lfet Σ estår v (i) en ändlig mängd tillstånd Ω. (ii) en övergångsfunktion δ från Ω Σ till Ω. (iii) ett strttillstånd S Ω. (iv) en mängd ccepternde tillstånd F Ω Ifll δ(s 1, σ) = S 2 säger mn tt det finns en σ-övergång från S 1 till S 2. Exempel Tillståndsmskinen i Figur 6.1 ges v Ω = {1, 2}, S = 1 och F = {2}, och dess övergångsfunktion är Ω Σ (1, ) (1, ) (2, ) (2, ) δ(s, s) Tell 6.2: Övergångsfunktionen för mskinen i Figur 6.1 Anmärkning Ett nnt sätt tt eskriv övergångsfunktionen är i termer v tripplr (S 1, σ, S 2 ), där S 1 och S 2 är tillstånd i mskinen och σ är ett tecken i lfetet. Trippeln (S 1, σ, S 2 ) tolks som ifll mskinen är i tillstånd S 1 och näst tecken är σ, så är näst tillstånd S 2. Övergångsfunktionen i Exempel ges v följnde triplr. Ω Σ Ω Tell 6.3: Övergångstripplr för mskinen i Exempel Mn kn således eskriv övergångsfunktionen som en delmängd v Ω Σ Ω, med egenskpen tt för vrje pr (S 1, σ) v tillstånd S 1 och tecken σ förekommer exkt en trippel på formen (S 1, σ, S 2 ) i. Noter tt mängden v övergångstripplr är grfen v funktionen δ, enligt Definition
80 Övergångsfunktionen är r definierd på enskild tecken. Vd händer när mn låter ett ord driv mskinen, snrre än ett enskilt tecken? Det fångs v den utvidgde övergångsfunktionen. Definition Den utvidgde övergångsfunktionen δ från Ω Σ till Ω definiers rekursivt enligt följnde: { δ (S, ε) = S δ (S, σw) = δ (δ(s, σ), w). Ordet w driver en mskin från S 1 till S 2 ifll δ (S 1, w) = S 2. Tnken med definition är som följer. Låt w vr ett ord i Σ och S det tillstånd som mskinen strtr i. Ifll w inte innehåller något tecken, är det tomt och mskinen stnnr därför kvr i S. Ifll w innehåller ett eller fler tecken så konsumerr mskinen v tecknet längst till vänster (σ i den rekursiv definitionen) och uppdterr sitt nuvrnde tillstånd till δ(s, σ). Därefter gör den om proceduren på det förkortde ordet. Eftersom ll ord hr ändlig längd, kommer mskinen efter ett ändligt ntl steg konsumert ll tecken, och då stnnr den, eftersom δ (S, ε) = S. Exempel Ifll w = och S = 1, så eräkns δ (S, w) för mskinen i Figur 6.1 enligt δ (S, w) = δ (1, ) = δ (δ(1, ), ) = δ (1, ) = δ (δ(1, ), ) = δ (1, ) = δ (δ(1, ), ) = δ (2, ) = δ (δ(2, ), ) = δ (2, ) = δ (δ(2, ), ε) = δ (2, ε) = 2. Noter hur det vänstr rgumentet i körningen uppdters från 1 till 2 när mn för först gången når. Definition Språket för en deterministisk tillståndsmskin M med strttillstånd s och ccepternde tillstånd F är L(M) = {w Σ δ (s, w) F }. En deterministisk tillståndsmskin vgör ett språk L ifll dess språk smmnfller med L. Exempel Mskinen i Exempel vgör det reguljär språket ( ). Eftersom δ är en funktion, så driver vrje ord mskinen till ett unikt tillstånd. Mskinens eteende är lltså förutestämt, givet ordet som driver det och vilket tillstånd den strtr i. Det är därför de klls för deterministisk. 72
81 1 2 3 Figur 6.4: En deterministisk tillståndsmskin med tre tillstånd. Exempel Tillståndsmskinen i Figur 6.4 estår v tre tillstånd, numrerde 1 till 3. Tillstånd 1 är ett strttillstånd och tillstånd 2 är ccepternde. Från tillstånd 1 utgår två övergångr: en -övergång som loopr tillk och en -övergång till tillstånd 2. Från tillstånd 2 utgår en -övergång som loopr tillk, och en -övergång som går till tillstånd 3. Slutligen utgår två övergångr från tillstånd 3: en -övergång som även den loopr tillk till tillstånd 3 och en -övergång som går tillk till tillstånd 2. Låt mskinen drivs v ordet. Den kommer stnn i strttillståndet en tur och konsumer ett. Sedn flyttr mskinen över till tillstånd 2 när den konsumerr ett, där den stnnr i en tur och konsumerr ett. Därefter Ord ε Tillstånd Tell 6.5: Övergångr i Figur 6.4 flyttr den över till tillstånd 3 och konsumerr ett. Där stnnr den i två turer, och konsumerr de två sist :n. Således driver ordet mskinen till tillstånd 3. Eftersom tillstånd 3 inte är ccepternde, så ingår inte i mskinens språk. Exempel Låt Σ vr ett lfet och ett tecken i Σ och etrkt tillståndsmskinern nedn. Den vänstr, Figur 6.6, estår v ett strttillstånd 1 2 Σ Σ \ {} Σ 1 Σ 3 Figur 6.6: Tillståndsmskin för Ø. Figur 6.7: Tillståndsmskin för {}. som är inte är ccepternde, och där ll tecken loopr tillk strttillståndet. Denn mskin ccepterr inget ord, eftersom den sknr ccepternde tillstånd. Mn kn uttryck det som tt den vgör det tomm språket. Den högr, Figur 6.7, estår v tre tillstånd. I övre vänstr hörnet v figuren finns tillstånd 1, som är ett icke-ccepternde strttillstånd. 73
82 Två pilr utgår ifrån dett tillstånd, en märkt med som går till ett ccepternde tillstånd 2 till höger om tillstånd 1. Den ndr pilen går snett ner till höger, till ett icke-ccepternde tillstånd 3, och är mrkerde med Σ \ {}. Slutligen går det en pil från tillstånd 2 till tillstånd 3, mrkerd med Σ. Mskinen i Figur 6.7 vgör språket {}. Ett sätt tt se det är tt noter tt tillstånd 3 är ett icke-ccepternde tillstånd ur vilket det skns en pil som pekr på ett nnt tillstånd. Inget ord som driver mskinen till det tillståndet ingår i mskinens språk. Tillstånd v denn typ klls för skräptillstånd. För tt evis egenskper hos tillståndsmskiner nvänds oft induktion över ordens längd. Tnken är tt eftersom ll ord är ändligt lång, så är stsen ekvivlent med stsen P gäller för ll ord för ll nturlig tl n, så gäller P för ord v längd n. Rent konkret hr induktionen två delr. (i) Vis tt påståendet gäller för ordet med längd 0, det vill säg det tomm ordet. (ii) Vis tt om påståendet gäller för ll ord v längd p, så gäller det för ll ord v längd p + 1. I ett typiskt evis är det först påståendet enkelt tt evis, medn det ndr kräver mer rete. Tricket är tt vrje ord w v längd p + 1 kn skrivs som σu, där u är ett ord v längd p och σ är ett tecken i lfetet. Enligt induktionsntgndet gäller påståendet för u, eftersom det hr längd p. För tt vis tt påståendet gäller llmänt, räcker det därför tt vis tt påståendet fortsätter vr snt, även när mn lägger till ett tecken. Ett sätt Figur 6.8: Kort ord över {, }. tt tänk är tt orden över ett lfet kn ordns i nivåer, sert på hur lång de är. Då säger impliktionen i induktionssteget tt om ll ord i en nivå uppfyller en viss egenskp, så sk även ll ord på näst nivå gör det. 74
83 I Figur 6.8 så inneär det tt ifll påståendet gäller för ndr nivån (uppifrån), så sk det även gäll för ll ord på nivån längst ner. Rent konkret: ifll det gäller för och, måste det även gäller för,, och. Följnde sts illustrerr hur tekniken fungerr, och nvänds dessutom senre i kompendiet. Sts Ifll w och u är ord och δ är den utvidgde övergångsfunktionen för en tillståndsmskin, så gäller tt för ll tillstånd S. δ (S, wu) = δ (δ (S, w), u) Bevis. Ifll w hr längd 0, det vill säg w = ε, så gäller tt δ (S, wu) = δ (S, u) = δ (δ (S, ε), u) = δ (δ (S, w), u). Alltså stämmer stsen i sfllet. Antg nu tt för ll ord v v längd p gäller tt δ (S, vu) = δ (δ (S, v), u). Låt w vr ett ord v längd p+1. Då kn mn skriv w = σv, där σ är ett tecken i lfetet och v är ett ord v längd p. Per definition och induktionsntgnde får mn tt δ (S, wu) = δ (S, σvu) (definition v w) = δ (δ (S, σ), vu) (definition v δ ) = δ (δ (δ (S, σ), v), u) (induktionsntgnde) = δ (δ (S, σv), u) (definition v δ ) = δ (δ (S, w), u) (definition v w) Noter tt den rekursiv definitionen v δ gör det möjligt tt nvänd induktionsntgndet på ett enkelt sätt. 6.2 Icke-deterministisk tillståndsmskiner De tillståndsmskiner som ehndls i föregående kpitel vr deterministisk. Givet ett ord och ett strttillstånd är det helt estämt hur mskinen drivs v ordet. I dett kpitel presenters en generlisering v deterministisk tillståndsmskiner, så kllde icke-deterministisk tillståndsmskiner. Mer specifik införs följnde möjligheter. (i) Mskinen kn yt tillstånd utn tt konsumer tecken. Mn säger tt den konsumerr det tomm ordet, eller tt det finns en ε-övergång. (ii) Mskinen kn det finns fler övergångr för smm tecken ur smm tillstånd. 75
84 Dess öppnr upp för icke-determinism, det vill säg tt mskinens eteende inte är förutestämt. Utöver dett införs även två ytterligre egenskper. (i) Mskinen kn konsumer fler tecken åt gången i en övergång. Dett klls tt övergången är glupsk. (ii) Mskinen kn häng sig på ett ord, vilket inneär tt ett ord inte driver mskinen till något tillstånd lls. Till skillnd från deterministisk tillståndsmskiner så finns det inte ett unikt sätt som ett ord kn driv en icke-deterministisk tillståndsmskin på. Mn kn istället tänk tt övergångrn representerr möjligheter. Precis som en slntsingling kn led till ntingen kron eller klve, kn ett ord driv en ickedeterministisk tillståndsmskin till noll, en eller fler tillstånd. Exempel Mskinen i Figur 6.9 estår v tre tillstånd: 1, 2 och 3. Strttillstånd är 1 och det ccepternde tillståndet är 2. Från tillstånd 1 utgår två övergångr: en som går till tillstånd 2 och är märkt med, och en går till tillstånd 3 och är märkt med. Det finns lltså ingen övergång från tillstånd ε 3 Figur 6.9: En icke-deterministisk tillståndsmskin. som konsumerr endst, utn enrt en märkt med och en glupsk som är märkt med. Konsekvensen är tt mskinen kommer häng sig i tillstånd 1, om ordet örjr på. Från tillstånd 2 utgår två övergångr märkt med : en till tillstånd 1 och en till tillstånd 3. Det går dessutom en -övergång från tillstånd 2 till sig själv. Från tillstånd 3 så utgår endst en ε-övergång till tillstånd 2. Oserver tt mskinen kn inte häng sig i tillstånd 3, eftersom mskinen lltid kn nvänd den tomm övergången och gå till tillstånd 2, och därefter konsumer ntingen eller. Betrkt ordet. I strttillståndet så måste mskinen konsumer och flytt till tillstånd 2. Det ord som är kvr är, och då finns det två lterntiv. Antingen går mskinen tillk till tillstånd 1, eller så går den vidre till tillstånd 3. I det förr fllet, återstår och det finns r en möjlighet: tt återgå till tillstånd 2 och konsumer. Dett vslutr körningen. I den senre fllet går mskinen vidre till tillstånd 3 och återigen återstår. Här måste mskinen nvänd den tomm övergången till tillstånd 2 och där konsumer ett. Då står mskinen i tillstånd 2 med ett, och hr återigen två vl: ntingen gå 76
85 1 : ε ε 3 : 2 : 2 : 1 : 2 : 3 : ε 1 : 2 : ε Figur 6.10: Möjlig körningr v i mskinen i Figur 6.9. till tillstånd 1 eller tillstånd 3. Ovsett vd mskinen väljer, så konsumerr övergången den sist det sist tecknet, vilket vslutr körningen. Formellt definiers icke-deterministisk tillståndsmskiner som följer. Definition En icke-deterministisk tillståndsmskin över ett lfet Σ estår v (i) en ändlig mängd tillstånd Ω. (ii) en ändlig delmängd ur Ω Σ Ω, som klls för övergångsreltionen. (iii) en icketom delmängd strttillstånd S Ω. (iv) en mängd ccepternde tillstånd F Ω. Övergångsreltionen tolks på följnde sätt: ifll en trippel (S 1, w, S 2 ) ingår i övergångsreltionen så finns det en w-övergång från S 1 till S 2. Exempel Tillståndsmskinen i Exempel fås genom tt sätt Ω lik med {1, 2, 3}, S = {1} och F = {2}. Övergångsreltionen ges i Tell Ω Σ Ω ε 2 Tell 6.11: Övergångsreltionen för tillståndsmskinen i Exempel
86 Deterministisk tillståndsmskiner är ett specilfll v icke-deterministisk, där ll ord i övergångstripplrn är tecken och där det för vrje pr (S 1, w) v tillstånd S 1 och tecken σ finns precis ett tillstånd S 2 så tt (S 1, w, S 2 ) ligger i övergångsreltionen. Definition Den utvidgde övergångsreltionen är en delmängd v Ω Σ Ω som definiers genom följnde rekursion. { (S, ε, S) för vrje S Ω (S 1, uw, S 3 ) ifll (S 1, u, S 2 ) och (S 2, w, S 3 ). Ett ord w driver en icke-deterministisk tillståndsmskin från S 1 till S 2 om (S 1, w, S 2 ) ingår i mskinens utvidgde övergångsreltion. Noter likheten melln ovnstående definition och definitionen v den utvidgde övergångsfunktionen för en deterministisk tillståndsmskin. Givet ett tillstånd S 1 och ett ord w så är det inte säkert tt det finns ett tillstånd S 2 så tt (S 1, w, S 2 ) ingår i den utvidgde övergångsreltionen. Dett är inneörden v tt mskinen hänger sig på ordet w. Det kn även vr så tt det finns fler tillstånd S 2 så tt (S 1, w, S 2 ) ingår i den utvidgde övergångsreltionen. Dett tolks som tt eräkningen inte är förutestämd. Definition Språket för en icke-deterministisk tillståndsmskin M med strttillstånd S och ccepternde tillstånd F är L(M) = {w Σ det finns S 1 S och S 2 F så tt (S 1, w, S 2 ) }, det vill säg ll ord som kn driv mskinen från ett strttillstånd till ett ccepternde tillstånd. Mn säger tt mskinen vgör språket L(M). Poängen med icke-deterministisk tillståndmskiner är tt de är enklre tt konstruer än deterministisk, eftersom de ättre speglr det sätt på vilket människor eskriver språk och mönster. Exempel I Figur 6.12 ges en icke-deterministisk tillståndsmskin som vgör. Det estår v sju tillstånd, numrerde från 1 till 7. Tillstånd 1 är längst till vänster och är ett strttillstånd. Ur dett leder två pilr till höger, den en snett upp och den ndr snett ner, till två tillstånd 2 och 3. Båd pilrn är märkt med ε. Från tillstånd 2 går en pil ut till höger till ett nytt tillstånd 4. Pilen är märkt med. Från tillstånd 4 utgår två pilr. Den en är märkt med och loopr tillk till sig själv. Den ndr leder till ett ccepternde tillstånd 6, som ligger till höger om tillstånd 4. Från tillstånd 3 går en pil till ett nytt tillstånd 5 till höger om tillstånd 3. Pilen är märkt med. Från tillstånd 5 utgår, liksom från tillstånd 4 två pilr. Den en är märkt med och loopr tillk till tillstånd 5. Den ndr är märkt med och går ut till ett ccepternde tillstånd 7, som är eläget till höger om tillstånd 5. Det går inte någr pilr ur de ccepternde tillstånden. Dett inneär tt ett ord måste vr tomt när det kommer dit för tt ccepters. 78
87 ε ε Figur 6.12: En tillståndsmskin som vgör. Ett ord driver mskinen till ett ccepternde sluttillstånd på två sätt. Antingen örjr ordet på följt v ett godtyckligt ntl :n och ett vslutnde. Eller så örjr ordet på, följt v ett godtyckligt ntl :n innn ett vslutnde. Med ndr ord kommer mskinen ccepter orden i språket. 6.3 Delmängdskonstruktionen I förstone kunde mn tro tt icke-deterministisk tillståndsmskiner är krftfullre sin deterministisk motsvrigheter, i emärkelsen tt de skulle kunn vgör språk som inte deterministisk mskiner kn. Så är dock inte fllet. För vrje icke-deterministisk tillståndsmskin finns en deterministisk dito som vgör smm språk. Det finns även en generell metod för tt konstruer den, som klls för delmängskonstruktionen. Dett vsnitt hndlr om tt eskriv den och evis tt den fungerr. Metoden tillämps på icke-deterministisk tillståndsmskine utn glupsk övergångr. Därför eliminerr mn glupsk övergångr genom tt inför mellnliggnde tillstånd med en ingående och en utgående pil motsvrnde tecknen i ordet. Rent formellt: Ifll (S 1, w, S 2 ) ligger i övergångsreltionen och w = σ 1 σ n S 1 S 2 Figur 6.13: Glupsk övergång. σ 1 σ n med är ett ord med minst två tecken, så inför mn ny tillstånd S 1,..., S n 1 smt övergångstripplr (S 1, σ 1, S 1 ), (S 1, σ 2, S 2 ),..., (S n 1, σ n, S 2 ) i övergångsreltionen. Poängen är tt ett ord enrt kn driv mskinen genom σ 1 S 1 S 1 S n 1 σ n S 2 Figur 6.14: Oglupsk övergång motsvrnde den i Figur smtlig mellnliggnde tillstånd ifll den är i tillstånd S 1 och hr ordet w som 79
88 prefix. Definition Låt w vr ett godtyckligt ord över lfetet och X en mängd v tillstånd i en icke-deterministisk tillståndsmskin. Då estår w- tillslutningen w(x) v smtlig tillstånd som kn nås från ett tillstånd i X vi konsumption v w. Rent formellt: w(x) = {S 2 det finns S 1 i X så tt (S 1, w, S 2 ) }. Exempel Mskinen i Figur 6.15 estår v fyr tillstånd, numrerde 1 till 4 från vänster till höger. Tillstånd 1 är ett strttillstånd och 4 är ett ccepternde tillstånd. Från tillstånd 1 går en pil till tillstånd 2, märkt med. Från tillstånd 2 går en ε-övergång till tillstånd 3. Slutligen går det en - övergång från tillstånd 3 till tillstånd 4. Här är -tillslutningen v {1} lik ε Figur 6.15: En liten tillståndsmskin. med {2, 3}, medn -tillslutningen v smm mängd lir den tomm mängden och -tillslutningen {4}. Mängden {2, 3} hr -tillslutningen {4}, medn dess -tillslutning är Ø. Anmärkning Ifll S är ett tillstånd, så ligger (S, ε, S) ligger i per definition. Därför är X en delmängd v ε(x). En konsekvens v dett är tt ε(w(x)) = w(x) för ll ord w. Vrför? Enligt ovnstående resonemng är w(x) ε(w(x)). För tt vis tt ε(w(x)) w(x), låt S 1 ligg i ε(w(x)). Då finns ett tillstånd S 2 i w(x) så tt (S 2, ε, S 1 ). Men ifll S 2 ligger i w(x), så finns det S 3 i X så tt (S 3, w, S 2 ) ligger. Enligt den rekursiv definitionen v gäller då tt (S 3, εw, S 1 ) = (S 3, w, S 1 ). Alltså ligger S 3 i w(x), vilket evisr tt ε(w(x)) är en delmängd v w(x) och lltså tt ε(w(x)) = w(x). Delmängdskonstruktionen är en deterministisk tillståndsmskin som konstruers utifrån en given icke-deterministisk mskin. Nmnet kommer v tt tillstånden är delmängder v tillstånd från den icke-deterministisk mskinen. Algoritm Delmängdskonstruktionen eräkns genom följnde lgoritm. (i) Strttillståndet i den ny mskinen är mängden s = ε(s), det vill säg ll tillstånd som det tomm ordet kn driv mskinen till. 80
89 (ii) Välj ett tillstånd X i den ny mskinen från vilket det inte går någr övergångr. (iii) För vrje σ i lfetet, eräkn σ-tillslutningen v X. Om σ(x) inte finns i mskinen, lägg till det. (iv) Lägg till en σ-övergång från X till σ(x). (v) Upprep (ii)-(iv) tills det inte finns någr tillstånd utn övergångr. De ccepternde tillstånden i den ny mskinen är ll tillstånd som innehåller minst ett ccepternde tillstånd från den gml mskinen. Eftersom ntlet tillstånd i en icke-deterministisk tillståndsmskin är ändligt, så är ntlet möjlig delmängder v tillstånd ändlig. Därför kommer Algoritm efter ett tg slut generer ny tillstånd. Att mskinen som konstruers i lgoritmen är deterministisk följer v konstruktionen: för vrje tillstånd och tecken så lägger mn till precis en övergång till en ny mängd. Exempel Mskinen i Figur 6.16 estår v tre tillstånd på rd, numrerde 1 till tillstånd 3 från höger till vänster. Tillstånd 1 och tillstånd 2 är strttillstånd, och tillstånd 2 är ccepternde. Från tillstånd 1 utgår två över- ε Figur 6.16: En glupsk icke-deterministisk tillståndsmskin gångr: en -övergång som loopr tillk till tillstånd 1, och en -övergång som går till tillstånd 2. Från tillstånd 2 går en -övergång till tillstånd 3. Från tillstånd 3 går en ε-övergång tillk till tillstånd 1, och en -övergång som loopr tillk till tillstånd 3. Eftersom mskinen är glupsk, så örjr mn med tt lägg till två tillstånd så tt mskinen inte längre är glupsk. Tillstånden döps om för tt reflekter dett. Det lättste sättet tt eräkn delmängdskonstruktionen är tt gör ε Figur 6.17: En oglupsk icke-deterministisk tillståndsmskin. en tell. Kolonnen längst till vänster innehåller delmängder v tillstånd, och sedn är det en kolonn per tecken i lfetet. Tnken är tt rd för rd eräkn σ-utvidningen v delmängdern längst till vänster. Vrje gång mn får en delmängd som inte står i kolonnen längst till 81
90 vänster, lägger mn till den längst ner. Denn process uppreps tills dess tt det inte finns någr tomm rder. Beräkningen för den icke-deterministisk mskinen i Figur 6.17 är som följer. Resulttet återfinns i Tell (i) Strttillståndet är {1, 3}, då dess är strttillstånd i den ursprunglig tillståndsmskinen och det skns ε-övergångr från dem. (ii) Från strttillståndet så eräknr mn ({1, 3}) = {1, 2} eftersom den gml mskinen sknr -övergångr ur 3 och hr två - övergångr ur 1. På liknnde sätt får mn tt ({1, 3}) = {1, 4}, genom tt mn ntingen går från 3 till 4, eller från 3 till 4 till 1 vi ε-övergången. Båd dess delmängder är ny läggs som ny rder under {1, 3}. (iii) Näst steg är tt eräkn - och -tillslutningrn v {1, 2}, vilk är {1, 2} och {3}. Den senre är ny och läggs till längst ner i tellen. (iv) När mn eräknr tillslutningrn v {1, 4} får mn återigen två ny delmängder, {1, 2, 5} och Ø, som läggs till i tellen. Den tomm mängden uppkommer eftersom det inte finns någr -övergångr ur vrken tillstånd 1 eller tillstånd 4. (v) Tillslutningrn v {3} är Ø och {1, 4}. Ingen v dess är ny. (vi) I näst steg eräkns tillslutningrn v {1, 2, 5}, vilk är {1, 2} och {1, 3, 4}. Den senre är ny, och läggs till längst ner i tellen. (vii) Den tomm mängden hr tomm tillslutningr per definition. (viii) Slutligen så är tillslutningrn v {1, 3, 4} mängdern {1, 2, 5} och {1, 4}. Ingen v dess är ny. (ix) Ing tomm rder återstår, och lgoritmen är klr. De ccepternde tillstånden i den ny mskinen är de som innehåller ett ccepternde tillstånd från den gml mskinen: i dett fll delmängdern {1, 3}, {3} och {3, 5}. Den ny mskinen hr lltså tre ccepternde tillstånd. Delmängder {1, 3} {1, 2} {1, 4} {1, 2} {1, 2} {3} {1, 4} {1, 2, 5} Ø {3} Ø {1, 4} {1, 2, 5} {1, 2} {1, 3, 4} Ø Ø Ø {1, 3, 4} {1, 2, 5} {1, 4} Tell 6.18: Delmängdskonstruktionen för tillståndsmskinen i Figur I Tell 6.18 återfinns resulttet. Figur 6.19 är en visulisering v tillståndsmskinen. 82
91 , {3} {1, 3} {1, 4} {1, 3, 4} {1, 2} {1, 2, 5} Figur 6.19: Den deterministisk tillståndsmskin som ges i Tell Anmärkning Låt σ vr ett tecken i lfetet. Eftersom σ(ø) = Ø, uppfyller den utvidgde övergångsfunktionen i delmängdskonstruktionen tt δ (Ø, w) = Ø för ll ord w. Den tomm mängden utgör lltså ett skräptillstånd i delmängdskonstruktionen. Dessutom gäller tt δ(x, σ) = σ(x) för ll tillstånd X i mskinen. Som rukligt definiers den utvidgde övergångsfunktionen genom rekursionen { δ (X, ε) = X Dett hr följnde konsekvens. δ (X, σw) = δ (δ(x, σ), w) = δ (σ(x), w). Sts För ll tillstånd X i delmängdskonstruktionen och ord w gäller tt δ (X, w) = w(x) Bevis. Induktion över längden på w. När w = ε, gäller tt w(x) = ε(x) och δ (X, w) = X. Det som ehöver viss är lltså tt ε(x) = X. Eftersom ll tillstånd i delmängdskonstruktionen är på formen u(x 1 ) där X 1 är en mängd v tillstånd i den gml mskinen och u ntingen är det tomm ordet eller ett enskilt tecken, så gäller enligt Anmärkning tt X = w(x 1 ) = ε(w(x 1 )) = ε(x). Alltså är δ (X, w) = X = ε(x) = w(x). Antg nu tt för ll ord w v längd p, så gäller δ (X, w) = w(x) för ll tillstånd X i delmängdskonstruktionen. Låt σw vr ett ord v längd p + 1. Då gäller tt δ (X, σw) = δ (δ (X, σ), w) = w(δ (X, σ)) = w(σ(x)) 83
92 enligt Anmärkning Det återstår tt evis tt w(σ(x)) = σw(x). Vd inneär dett? De är åd mängder v tillstånd, så för tt vis tt de är lik ehöver mn vis tt σw(x) w(σ(x)) och w(σ(x)) σw(x). Låt T 1 ligg i mängden σw(x). Då finns det ett tillstånd T 2 i mängden X så tt (T 2, σw, T 1 ) ligger i den utvidgde övergångsreltionen. Men enligt Definition v den utvidgde övergångsreltionen finns det då ett tillstånd T 3 så tt (T 2, σ, T 3 ) och (T 3, w, T 1 ). Per Definition ligger T 3 i σ(x), eftersom T 2 ligger i X, och således ligger T 1 i w(σ(x)). Dett evisr tt σw(x) är en delmängd v w(σ(x)). Antg nu tt S 1 ligger i w(σ(x)). Då finns det ett tillstånd S 2 i σ(x) så tt (S 2, w, S 1 ) ligger i den utvidgde övergångsreltionen. Men eftersom S 2 ligger i σ(x), så finns det ett tillstånd S 3 i X så tt (S 3, σ, S 2 ) ligger i. Smmntget gäller lltså tt (S 3, σ, S 2 ) och (S 2, w, S 1 ). Men enligt Definition v så inneär dett tt (S 3, σw, S 1 ) ligger i. Dett inneär tt S 1 ligger i σw(x), och lltså är det evist tt w(σ(x)) är en delmängd v σw(x). Smmntget gäller lltså tt σw(x) w(σ(x)) och w(σ(x)) σw(x), vilket evisr tt σw(x) = w(σ(x)), och lltså tt vilket vslutr induktionen. δ (X, σw) = w(σ(x)) = σw(x), Ovnstående sts inneär tt ett ord w driver delmängdskonstruktionen v en tillståndsmskin till mängden v ll tillstånd som är w kn driv den underliggnde tillståndsmskinen till. Det hr följnde konsekvens. Sts Delmängdskonstruktionen v en tillståndsmskin vgör smm språk som den ursprunglig tillståndmskinen. Bevis. Ett ord ccepters v delmängdskonstruktionen v en tillståndsmskin om och endst om den drivs till ett tillstånd som innehåller ett ccepternde tillstånd. Enligt Sts är dett ekvivlent med tt ordet kn driv den underliggnde mskinen till ett ccepternde tillstånd, det vill säg tt den underliggnde mskinen ccepterr ordet. Figur 6.20 illustrerr Sts Ellipsern är tillstånd i delmängdskonstruktionen, medn punktern inuti ellipsern är tillstånd i den underliggnde mskinen. Pilrn melln punktern är övergångr i den underliggnde mskinen. 84
93 Figur 6.20: Illustrtion v Sts Övningr Övning 6.1. Beskriv hur ordet driver mskinen i Figur 6.1 i Exempel Övning 6.2. Beskriv hur ordet driver mskinen i Figur 6.4 i Exempel Övning 6.3. Konstruer en deterministisk tillståndsmskin för språket. Ange ntingen tillståndsmängden, övergångsfunktionen, de ccepternde tillstånden och strttillstånden, eller en grfisk representtion. Övning 6.4. Konstruer en deterministisk tillståndsmskin för språket som estår v ett jämnt ntl :n följt v ett udd ntl :n. Ange ntingen tillståndsmängden, övergångsfunktionen, de ccepternde tillstånden och strttillstånden, eller en grfisk representtion. Övning 6.5. Konstruer en deterministisk tillståndsmskin för det reguljär språket ( ). Ange ntingen tillståndsmängden, övergångsfunktionen, de ccepternde tillstånden och strttillstånden, eller en grfisk representtion. Övning 6.6. Konstruer en deterministisk tillståndsmskin för språket över {0, 1} som estår v ll ord som representerr inär tl som är jämnt delr med 4. Ange ntingen tillståndsmängden, övergångsfunktionen, de ccepternde tillstånden och strttillstånden, eller en grfisk representtion. Övning 6.7. Konstruer en deterministisk tillståndsmskin för det reguljär språket ( ) över {, } Ange ntingen tillståndsmängden, övergångsfunktionen, de ccepternde tillstånden och strttillstånden, eller en grfisk representtion. Övning 6.8. Konstruer en deterministisk tillståndsmskin för det reguljär språket () ( ) över {, } Ange ntingen tillståndsmängden, övergångsfunktionen, de ccepternde tillstånden och strttillstånden, eller en grfisk representtion. 85
Uppsala Universitet Matematiska Institutionen Thomas Erlandsson
Uppsl Universitet Mtemtisk Institutionen Thoms Erlndsson RÄTA LINJER, PLAN, SKALÄRPRODUKT, ORTOGONALITET MM VERSION MER OM EKVATIONSSYSTEM Linjär ekvtionssystem och den geometri mn kn härled ur dess är
Trigonometri. 2 Godtyckliga trianglar och enhetscirkeln 2. 3 Triangelsatserna Areasatsen Sinussatsen Kosinussatsen...
Trigonometri Innehåll 1 Rätvinklig tringlr 1 Godtyklig tringlr oh enhetsirkeln 3 Tringelstsern 4 3.1 restsen.............................. 4 3. Sinusstsen.............................. 5 3.3 Kosinusstsen.............................
PASS 1. RÄKNEOPERATIONER MED DECIMALTAL OCH BRÅKTAL
PASS. RÄKNEOPERATIONER MED DECIMALTAL OCH BRÅKTAL. Tl, bråktl och decimltl Vd är ett tl för någonting? I de finländsk fmiljern brukr det vnligtvis finns två brn enligt Sttistikcentrlen (http://www.tilstokeskus.fi/tup/suoluk/suoluk_vesto_sv.html).
Uppsala Universitet Matematiska Institutionen Bo Styf. Sammanfattning av föreläsningarna 5-7.
Uppsl Universitet Mtemtisk Institutionen Bo Styf LAoG I, 5 hp ES, KndM, MtemA -9-6 Smmnfttning v föreläsningrn 5-7. Föreläsningrn 5 7, 7/9 6/9 : Det kommer, liksom i lärooken, inte tt finns utrymme för
TATA42: Föreläsning 4 Generaliserade integraler
TATA42: Föreläsning 4 Generliserde integrler John Thim 5 november 28 Vi hr stött på begreppet tidigre när vi diskutert Riemnnintegrler i föregående kurs. Denn gång kommer vi lite mer tt fokuser på frågn
TATA42: Föreläsning 4 Generaliserade integraler
TATA42: Föreläsning 4 Generliserde integrler John Thim 29 mrs 27 Vi hr stött på begreppet tidigre när vi diskutert Riemnnintegrler i föregående kurs. Denn gång kommer vi lite mer tt fokuser på frågn om
GEOMETRISKA VEKTORER Vektorer i rummet.
GEOMETRISKA VEKTORER Vektorer i rummet. v Någr v de storheter som förekommer inom nturvetenskp kn specificers genom tt ders mätetl nges med ett end reellt tl. Exempel på sådn storheter, som klls sklär
Kontrollskrivning 3 till Diskret Matematik SF1610, för CINTE1, vt 2019 Examinator: Armin Halilovic Datum: 2 maj
Kontrollskrivning 3 till Diskret Mtemtik SF60, för CINTE, vt 209 Emintor: Armin Hlilovic Dtum: 2 mj Version B Resultt: Σ p P/F Etr Bonus Ing hjälpmedel tillåtn Minst 8 poäng ger godkänt Godkänd KS nr n
Induktion LCB 2000/2001
Indution LCB 2/2 Ersätter Grimldi 4. Reursion och indution; enl fll n 2 En tlföljd n nturligtvis definiers genom tt mn nger en explicit formel för uträning v n dess 2 element, som till exempel n 2 () n
V1. Intervallet [a,b] är ändligt, dvs gränserna a, b är reella tal och INTE ±. är begränsad i intervallet [a,b].
Armin Hlilovic: ETRA ÖVNINGAR Generliserde integrler GENERALISERADE INTEGRALER När vi definierr Riemnnintegrl f ( ) d ntr vi tt följnde två krv är uppfylld: V. Intervllet [,] är ändligt, dvs gränsern,
V1. Intervallet [a,b] är ändligt, dvs gränserna a, b är reella tal och INTE ±. är begränsad i intervallet [a,b].
Armin Hlilovic: ETRA ÖVNINGAR Generliserde integrler GENERALISERADE INTEGRALER När vi definierr Riemnnintegrl f ( ) d ntr vi tt följnde två krv är uppfylld: V. Intervllet [,] är ändligt, dvs gränsern,
Associativa lagen för multiplikation: (ab)c = a(bc). Kommutativa lagen för multiplikation: ab = ba.
Rtionell tl Låt oss skiss hur mn definierr de rtionell tlen utifrån heltlen. Förutom tt det ger en inblick i hur mtemtiken är uppbyggd, är dett är ett br exempel på ekvivlensreltioner och ekvivlensklsser.
Föreläsning 7: Trigonometri
ht06 Föreläsning 7: Trigonometri Trigonometrisk identiteter En identitet är en likhet som håller för ll värden på någon vriel. Tex så gäller tt ( + ) + + för ll,. Dett skrivs ilnd som ( + ) + +, men vi
Bokstavsräkning. Regler och knep vid bokstavsräkning
Mtemtik Bokstvsräkning Du står nu inför en ny kurs i mtemtik, där meningen är tt du sk tillgodogör dig ny teorier, som smtlig leder frm till övningr och uppgifter. Även om du förstått vd teorin sk nvänds
KOMPLETTERANDE MATERIAL TILL KURSEN MATEMATIK II, MATEMATISK ANALYS DEL A VT 2015
KOMPLETTERANDE MATERIAL TILL KURSEN MATEMATIK II, MATEMATISK ANALYS DEL A VT 2015 ANDRZEJ SZULKIN 1. Supremum, infimum och kontinuerlig funktioner I ppendix A3 i [PB2] definiers begreppen supremum och
14. MINSTAKVADRATMETODEN
4 MINTAKADRATMETODEN Nu sk vi gå igenom någr olik sätt tt lös ekvtionssystemet Ax Om A är m n mtris med m n så sägs systemet vr överestämt och det sknr då i llmänhet lösningr Istället söker mn en pproximtiv
LINJÄR ALGEBRA II LEKTION 1
LINJÄR ALGEBRA II LEKTION JOHAN ASPLUND INNEHÅLL. VEKTORRUM OCH DELRUM Hel kursen Linjär Algebr II hndlr om vektorrum och hur vektorrum (eller linjär rum, som de iblnd klls) beter sig. Tidigre hr mn ntgligen
============================================================ V1. Intervallet [a,b] är ändligt, dvs gränserna a, b är reella tal och INTE.
GENERALISERADE INTEGRALER ============================================================ När vi definierr Riemnnintegrl ntr vi tt följnde två krv är uppfylld: V. Intervllet [,] är ändligt, dvs gränsern,
SF1625 Envariabelanalys
Modul 5: Integrler Institutionen för mtemtik KTH 30 november 4 december Integrler Integrler är vd vi sk håll på med denn veck och näst. Vi kommer tt gör följnde: En definition v vd begreppet betyder En
SF1625 Envariabelanalys
SF1625 Envribelnlys Föreläsning 13 Institutionen för mtemtik KTH 27 september 2017 SF1625 Envribelnlys Anmäl er till tentn Anmäl er till tentn nu. Det görs vi min sidor. Om det inte går, mejl studentexpeditionen
definitioner och begrepp
0 Cecili Kilhmn & Jokim Mgnusson Rtionell tl Övningshäfte Avsnitt definitioner och egrepp DEFINITION: Ett rtionellt tl är ett tl som kn skrivs som en kvot melln två heltl och där 0. Mängden rtionell tl
Sfärisk trigonometri
Sfärisk trigonometri Inledning Vi vill nvänd den sfärisk trigonometrin för beräkningr på storcirkelrutter längs jordytn (för sjöfrt och luftfrt). En storcirkel är en cirkel på sfären vrs medelpunkt smmnfller
Kvalificeringstävling den 2 oktober 2007
SKOLORNAS MATEMATIKTÄVLING Svensk Mtemtikersmfundet Kvlifieringstävling den oktober 007 Förslg till lösningr 1 I en skol hr vr oh en v de 0 klssern ett studieråd med 5 ledmöter vrder Per är den ende v
Läsanvisningar för MATEMATIK I, ANALYS
Läsnvisningr för MATEMATIK I, ANALYS Läsnvisningrn är tänkt i först hnd för dig som läser kursen mtemtik I på distns, och de sk vägled dig på din res genom nlysen. Stoffet är i stort sett portionert på
Vilken rät linje passar bäst till givna datapunkter?
Vilken rät linje pssr bäst till givn dtpunkter? Anders Källén MtemtikCentrum LTH nderskllen@gmil.com Smmnfttning I det här dokumentet diskuterr vi minst-kvdrtmetoden för skttning v en rät linje till dt.
Rationella uttryck. Förlängning och förkortning
Sidor i boken 8-9, 0- Rtionell uttryck. Förlängning och förkortning Först någr begrepp. Aritmetik eller räknelär är den mest grundläggnde formen v mtemtik. Ett ritmetiskt uttryck innehåller tl, men ing
MATEMATISKT INNEHÅLL UPPGIFT METOD. Omvandla mellan olika längdenheter. METOD BEGREPP RESONEMANG. Ta reda på omkrets. 5 Vilken omkretsen har figuren?
Kn du dett? Uppgiftern här är tänkt tt nvänds för utvärdering v hur elevern tillägnt sig kpitlets mtemtisk innehåll. Låt elevern, prvis eller i mindre grupper, lös uppgiftern tillsmmns och förklr för vrndr
Evighetskalender. 19 a) nyårsdagen var år 2000 b) julafton kommer att vara på år 2010 c) de första människorna landade på månen, 20 juli 1969
Evighetsklender Vilken veckodg vr det när du föddes? På vilken veckodg fyller du 18 år? Med den här evighetsklendern kn du t red på det. Gör så här när du sk t red på veckodgen: Lägg ihop följnde fyr tl:
Finaltävling den 20 november 2010
SKOLORNAS MATEMATIKTÄVLING Svensk Mtemtikersmfundet Finltävling den 20 november 2010 Förslg till lösningr Problem 1 Finns det en tringel vrs tre höjder hr måtten 1, 2 respektive 3 längdenheter? Lösning
Matematik för sjöingenjörsprogrammet
Mtemtik för sjöingenjörsprogrmmet Mtemtisk Vetenskper 29 ugusti 202 Innehåll Aritmetik och lger. Räkning med nturlig tl och heltl.................... Nturlig tl.......................... 2..2 Negtiv tl...........................
Uppgiftssamling 5B1493, lektionerna 1 6. Lektion 1
Uppgiftssmling 5B1493, lektionern 1 6 Lektion 1 4. (Räkning med oändlig decimlbråk) Låt x = 0, 1 2 3 n och y = 0,b 1 b 2 b 3 b n ( i och b i siffror 0, 1,, 9).. Kn Du beskriv något förfrnde som säkert
FORMELLA SPRÅK, AUTOMATER OCH BERÄKNINGSTEORI ÖVNINGSUPPGIFTER PÅ REGULJÄRA SPRÅK
FORMELLA SPRÅK, AUTOMATER OCH BERÄKNINGSTEORI ÖVNINGSUPPGIFTER PÅ REGULJÄRA SPRÅK Förord Dett kompendium innehåller övningr inom reguljär språk för kursen Formell språk, utomter och eräkningsteori som
IE1204 Digital Design
IE1204 Digitl Design F1 F3 F2 F4 Ö1 Booles lgebr, Grindr MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK1 LAB1 Kombintorisk kretsr F7 F8 Ö4 F9 Ö5 Multipleor KK2 LAB2 Låskretsr, vippor, FSM F10 F11 Ö6
Exponentiella förändringar
Eonentiell förändringr Eonentilfunktionen - llmänt Eonentilfunktionen r du tidigre stött å i åde kurs oc 2. En nyet är den eonentilfunktion som skrivs y = e. (Se fig. nedn) Tlet e, som är mycket centrlt
Sidor i boken
Sidor i boken -5 Vi räknr en KS För tt ni sk få en uppfttning om hur en KS kn se ut räknr vi här igenom den end KS som givits i denn kurs! Totlt kn mn få poäng. Om mn lycks skrp ihop 7 poäng eller mer
x 12 12 = 32 12 x 11 + 11 = 26 + 11 x 20 + 20 = 45 + 20 x=3 x=5 x=6 42 = 10x x + 10 = 15 x + 10 10 = 15 10 11 + 9 = 20 x = 65 x + 36 = 46
Vilket tl sk stå i rutn så tt likheten stämmer? + Lös ekvtionen så tt likheten stämmer. = + 9 = + = + = = Det sk stå 9 i rutn. Subtrher båd leden med. r -termen sk vr kvr i vänstr ledet. Skriv rätt tl
Ett förspel till Z -transformen Fibonaccitalen
Ett förspel till Z -trnsformen Fibonccitlen Leonrdo Pisno vnligen klld Leonrdo Fiboncci, den knske störste mtemtiker som Europ frmburit före renässnsen skrev år 10 en bok (Liber bci) i räknelär. J, fktiskt.
Mat-1.1510 Grundkurs i matematik 1, del III
Mt-.50 Grundkurs i mtemtik, del III G. Gripenberg TKK december 00 G. Gripenberg TKK) Mt-.50 Grundkurs i mtemtik, del III december 00 / 59 Vribelbyte F gx))g x) dx = d F gx)) dx dx = / b F gx)) = F gb))
Preliminär version 2 juni 2014, reservation för fel. Tentamen i matematik. Kurs: MA152G Matematisk Analys MA123G Matematisk analys för ingenjörer
Lösningsförslg Högskoln i Skövde SK, JS) Preliminär version juni 0, reservtion för fel. Tentmen i mtemtik Kurs: MA5G Mtemtisk Anlys MAG Mtemtisk nlys för ingenjörer Tentmensdg: 0-05- kl.0-9.0 Hjälpmedel
1 e x2. lim. x ln(1 + x) lim. 1 (1 x 2 + O(x 4 )) = lim. x 0 x 2 /2 + O(x 3 ) x 2 + O(x 4 ) = lim. 1 + O(x 2 ) = lim = x = arctan x 1
UPPSALA UNIVERSITET Svr till tent i mtemtik Mtemtisk institutionen Anlys MN Distns Jons Elisson 7-- Skrivtid: - 5. Observer tt problemen inte står i svårighetsordning. All svr sk motivers. Det kn krävs
Algebraiska uttryck: Introduktionskurs i matematik. Räknelagar: a = b a. a b. Potenser: 1. = ( n gånger )
Intrduktinskurs i mtemtik 1 v 5 Algerisk uttrk: Räknelgr: lgen distriutiv lgr ssitiv lgr kmmuttiv, Ptenser: 1 n L n gånger --------------------------------------- n udd tl, jämnt tl n, n n n 4 4.. ---------------------------------------
Tentamen i Analys B för KB/TB (TATA09/TEN1) kl 08 13
LINKÖPINGS UNIVERSITET Mtemtisk Institutionen Jokim Arnlind Tentmen i Anlys B för KB/TB (TATA9/TEN 5-6- kl 8 3 Ing hjälpmedel är tillåtn. Vrje uppgift kn ge mximlt 3 poäng. Betygsgränser: 8p för etyg 3,
GEOMETRISKA VEKTORER Vektorer i rummet.
GEOMETRISKA VEKTORER Vektorer i rummet. v 6 Någr v de storheter som förekommer inom nturvetenskp kn specificers genom tt ders mätetl nges med ett end reellt tl. Exempel på sådn storheter, som klls sklär
Lösningar och kommentarer till uppgifter i 1.2
Lösningr och kommentrer till uppgifter i.2 202 d) t t 2 25 t (t 5)(t + 5) Med hjälp v konjugtregeln kn vi fktoriser nämnren. Eftersom nämnren inte får bli noll är ej t 5 eller t 5 tillåtn. 206 Först presenterr
Uttryck höjden mot c påtvåolikasätt:
Sinusstsen Beviset i PB gger å tre resultt som nog få gmnsieelever är förtrogn med. Vrje tringel hr en s.k. omskriven cirkel en cirkel som går genom ll tre hörnen : C Uttrck höjden mot c åtvåoliksätt:
Area([a; b] [c; d])) = (b a)(d c)
Aren och integrl Summor Huvudämne i föreläsningen är reor v gurer i plnet och integrler. Integrl är ett egrepp som låter de nier reor v gurer i plnet, och speciellt eräkn reor melln grfer v funktioner
Integraler. 1 Inledning. 2 Beräkningsmetoder. CTH/GU LABORATION 2 MVE /2013 Matematiska vetenskaper
CTH/GU LABORATION MVE6 - / Mtemtisk vetenskper Inledning Integrler Iblnd kn mn inte bestämm integrler exkt utn mn får nöj sig med tt beräkn pproximtioner. T.ex. e x dx kn inte beräkns exkt, eftersom det
Appendix. De plana triangelsatserna. D c
ppendix e pln tringelstsern Pythgors sts: I en rätvinklig tringel gäller, med figurens etekningr: 2 = 2 + 2 1 2 evis: Vi utnyttjr likformigheten melln tringlrn, oh. v denn får vi, med figurens etekningr:
9. Bestämda integraler
77 9. Bestämd integrler Låt f vr en icke-negtiv, begränsd funktion på [,b]. Vi hr lltså 0 f(x) ll x [,b] för någon konstnt B. B för Problem: Beräkn ren A v den yt som begränss v kurvn y = f(x), x b, x-xeln
Listor = generaliserade strängar. Introduktion till programmering SMD180. Föreläsning 8: Listor. Fler listor. Listindexering.
1 Introduktion till progrmmering SMD180 Föreläsning 8: Listor 2 Listor = generliserde strängr Strängr = sekvenser v tecken Listor = sekvenser v vd som helst [10, 20, 30, 40] # en list v heltl ["spm", "ungee",
1. (6p) (a) Använd delmängdskonstruktionen för att tillverka en DFA ekvivalent med nedanstående NFA. (b) Är den resulterande DFA:n minimal? A a b.
UPPSAA UNIVERSITET Mtemtisk institutionen Slling (070-6527523) PROV I MATEMATIK AUTOMATATEORI 18 okt 2012 SKRIVTID: 8-13. HJÄPMEDE: Ing. MOTIVERA AA ÖSNINGAR NOGGRANT. BETYGSGRÄNSER: För etygen 3, 4 respektive
Kan det vara möjligt att med endast
ORIO TORIOTO yllene snittet med origmi ed endst någr få vikningr kn mn få frm gyllene snittet och också konstruer en regelbunden femhörning. I ämnren nr 2, 2002 beskrev förfttren hur mn kn rbet med hjälp
Tentamen Programmeringsteknik II Skrivtid: Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper.
Tentmen Progrmmeringsteknik II 014-10-4 Skrivtid: 1400 1900 Tänk på följnde Skriv läsligt! Använd inte rödpenn! Skriv r på frmsidn v vrje ppper. Börj lltid ny uppgift på nytt ppper. Lägg uppgiftern i ordning.
Uppsala Universitet Matematiska Institutionen Bo Styf. Genomgånget på föreläsningarna Föreläsning 16-17, 2010:
Uppsl Universitet Mtemtisk Institutionen Bo Styf Envribelnlys, 0 hp STS, X 00-0-7 Föreläsning 6-7, 00: Genomgånget på föreläsningrn 6-0. Här gick vi inte igenom något nytt mteril, utn räknde igenom Blndde
Volym och dubbelintegraler över en rektangel
Volym oh dubbelintegrler över en rektngel All funktioner nedn nts vr kontinuerlig. Om f (x i intervllet [, b], så är ren v mängden {(x, y : y f (x, x b} lik med integrlen b f (x dx. Låt = [, b] [, d] =
9. Vektorrum (linjära rum)
9. Vektorrum (linjär rum) 43. Vektorrum (linjärt rum) : definition och xiom 44. Exempel på vektorrum v funktioner. 45. Hur definierr mn subtrktion i ett vektorrum? 46. Underrum 47. Linjärkombintioner,
Bilaga 1. Beskrivning av uppgifterna och provresultaten
Bilg 1. Beskrivning v uppgiftern oh provresultten 1997-00 I det följnde redoviss lydelsen på de olik uppgifter som ingår i testet oh resulttet för de fyr år som testet hittills hr nvänts. Härigenom kn
Byt till den tjocka linsen och bestäm dess brännvidd.
LINSER Uppgit: Mteriel: Teori: Att undersök den rytnde örmågn hos olik linser och tt veriier linsormeln Ljuskäll och linser ur Optik-Elin Med hjälp v en lmp och en ländre med ler öppningr år vi ler ljusstrålr,
Gör slag i saken! Frank Bach
Gör slg i sken! Frnk ch På kppseglingsbnn ser mn tävlnde båtr stgvänd lite då och då under kryssrn. En del v båtrn seglr för styrbords hlsr och ndr för bbords. Mn kn undr vem som gör rätt och hur mn kn
Råd och hjälpmedel vid teledokumentation
Råd och hjälpmedel vid teledokumenttion Elektrisk Instlltörsorgnistionen EIO Innehåll: Vd skiljer stndrdern åt När sk vilken stndrd nvänds Hur kn gmml och ny stndrd kominers Hur kn dokumenttionen förenkls
Studieplanering till Kurs 3b Grön lärobok
Studieplnering till Kurs 3b Grön lärobok Den här studieplneringen hjälper dig tt häng med i kursen. Plneringen följer lärobokens uppdelning i kpitel och vsnitt. Iblnd får du tips på en inspeld genomgång
Bilaga 1. Beskrivning av uppgifterna och provresultaten
Bilg 1. Beskrivning v uppgiftern oh provresultten 1997-003 I det följnde redoviss lydelsen på de olik uppgifter som ingår i testet oh resulttet för de fyr år som testet hittills hr nvänts. Härigenom kn
TMV151/TMV181. Fredrik Lindgren. 19 november 2013
TMV151/TMV181 Fredrik Lindgren Mtemtisk vetenskper Chlmers teknisk högskol och Göteborgs universitet 19 november 2013 F. Lindgren (Chlmers&GU) Envribelnlys 19 november 2013 1 / 24 Outline 1 Mss, moment
Generaliserade integraler
Generliserde integrler Mtemtik Breddning 2.5 Frm till denn punkt hr vi endst studert integrler där funktionen som skll integrers vrit begränsd. Dessutom hr det intervll över vilket vi integrerr vrit begränst
Kompletterande teori för Envariabelanalys del A på I
Kompletternde teori för Envrielnlys del A på I J A S, ht-04 1 Gränsvärden 1.1 Definitioner och räkneregler Att f(x) A (går mot A) när x (går mot ) sk etyd tt värden till funktionen f sk ligg när tlet A
Tillämpning - Ray Tracing och Bézier Ytor. TANA09 Föreläsning 3. Icke-Linjära Ekvationer. Ekvationslösning. Tillämpning.
TANA09 Föreläsning 3 Tillämpning - Ry Trcing och Bézier Ytor z = B(x, y) q o Ekvtionslösning Tillämpning Existens Itertion Konvergens Intervllhlveringsmetoden Fixpuntsitertion Newton-Rphsons metod Anlys
Nya regler för plåtbalkar-eurokod 3-1-5
Bernt Johnsson 008-0-5 Ny regler för plåtlkr-eurokod --5 Bkgrund Med plåtlk mens en lk som är uppyggd v smmnsvetsde plåtr på engelsk plted structure. Plåtlkr nvänds när vlsde lkr inte räcker till eller
Geometri. 4. Fyra kopior av en rätvinklig triangel kan alltid sättas ihop till en kvadrat med hål som i följande figur varför?
Geometri 1. Linjen är isektris till vinkeln. Sträkorn, oh är lik lång. Hur stor är vinkeln? vgör utn mätningr! 4. Fyr kopior v en rätvinklig tringel kn lltid sätts ihop till en kvdrt med hål som i följnde
============================================================ V1. Intervallet [a,b] är ändligt, dvs gränserna a, b är reella tal och INTE ±.
GENERALISERADE INTEGRALER När vi definierr Riemnnintegrl ntr vi tt följnde två krv är uppfylld: V Intervllet [,] är ändligt, dvs gränsern, är reell tl och INTE ± V Funktionen f () är egränsd i intervllet
6 Formella språk. Matematik för språkteknologer (5LN445) UPPSALA UNIVERSITET
UPPSALA UNIVERSITET Mtemtik för språkteknologer (5LN445) Institutionen för lingvistik och filologi VT 2014 Förfttre: Mrco Kuhlmnn 2013 (mindre revision Mts Dhllöf 2014) 6 Formell språk Det mänsklig språket
Integraler och statistik
Föreläsning 8 för TNIU Integrler och sttistik Krzysztof Mrcinik ITN, Cmpus Norrköping, krzm@itn.liu.se www.itn.liu.se/krzm ver. 4 - --8 Inledning - lite om sttistik Sttistik är en gren v tillämpd mtemtik
Skriv tydligt! Uppgift 1 (5p)
1(1) IF1611 Ingenjörsmetodik för IT och ME, HT 1 Tentmen Gäller även studenter som är registrerde på B1116 Torsdgen den 1 okt, 1, kl. 14.-19. Skriv tydligt! Skriv nmn och personnummer på ll inlämnde ppper!
XIV. Elektriska strömmar
Elektromgnetismens grunder Strömmens riktning Mn definierr tt strömmen går från plus (+) till minus (-). För tt få till stånd en ström måste mn. Spänningskäll 2. Elektriskt lednde ledningr 3. Sluten krets
Matris invers, invers linjär transformation.
Mtris invers, invers linjär trnsformtion. Påminnelse om mtris beräkningr: ddition, multipliktion med sklärer och mtrisprodukt Algebrisk egenskper hos mtrisddition och multipliktion med ett tl (Ly Sts..,
Lösningsförslag till tentamen i SF1683 och SF1629 (del 1) 23 oktober 2017
KTH, Mtemtik Mri Sprkin Lösningsförslg till tentmen i SF683 och SF629 (del ) 23 oktober 207 Tentmen består v sex uppgifter där vrder uppgift ger mximlt fr poäng. Preliminär betgsgränser: A 2 poäng, B 9,
MEDIA PRO. Introduktion BYGG DIN EGEN PC
BYGG DIN EGEN PC MEDIA PRO Introduktion Dett är Kjell & Compnys snguide till hur Dtorpketet MEDIA PRO monters. Att ygg en dtor är idg myket enkelt oh kräver ingen tidigre erfrenhet. Det ehövs ing djupgående
RÄKNEOPERATIONER MED VEKTORER. LINJÄRA KOMBINATIONER AV VEKTORER. ----------------------------------------------------------------- Låt u vr en vektor med tre koordinter u. Vi säger tt u är tredimensionell
Tentamen i ETE115 Ellära och elektronik, 25/8 2015
Tentmen i ETE5 Ellär och elektronik, 5/8 05 Tillåtn hjälpmedel: Formelsmling i kretsteori. Oserver tt uppgiftern inte är sorterde i svårighetsordning. All lösningr skll ges tydlig motiveringr. Bestäm Thévenin-ekvivlenten
Diskreta stokastiska variabler
Definitioner: Diskret stokstisk vribler Utfllet i ett slumpmässigt försök i form v ett reellt tl, betrktt innn försöket utförts, klls för stokstisk vribel eller slumpvribel (oft betecknd ξ, η ) Ett resultt
Integralen. f(x) dx exakt utan man får nöja sig med att beräkna
CTH/GU STUDIO TMVb - / Mtemtisk vetenskper Integrlen Anlys och Linjär Algebr, del B, K/Kf/Bt Inledning Mn kn inte lltid bestämm integrler f() d ekt utn mn får nöj sig med tt beräkn pproimtioner. T.e. e
13 Generaliserade dubbelintegraler
Nr 3, 4 pril -5, Ameli 3 Generliserde dubbelintegrler 3. Generliserde enkelintegrler Integrerbrhet är definiert för funktioner som är begränsde och definierde på ett ändligt intervll. ett kn i mång fll
Sammanfattning, Dag 9
Smmnfttning, Dg 9 Idg studerde vi begrepp sklärprudokt (eller innerprodukt), norm och ortogonlitet på ett llmänt vektorrum. Vi börjde med en kort repetition på smm begrep för vektorrummet R 3. I rummet
Integraler och differentialekvationer
Föreläsningr över Integrler och differentilekvtioner för livnde ingenjörer Mikel P. Sundqvist 5 decemer 26 Innehåll Någr ord till läsren 5 Introduktion till kursen 7 2 Integrlegreppet 9 3 Integrlklkylens
Med induktion menar man vanligen en mycket vanlig resonemangsmetod: man gör flera observationer,
Avsnitt 6 INDUKTIVA OC DEDUKTIVA RESONEMANG Med induktion menr mn vnligen en mycket vnlig resonemngsmetod: mn gör fler observtioner, upptäcker ett mönster (eller något som mn tror är ett mönster) därefter
Finita automater, reguljära uttryck och prefixträd. Upplägg. Finita automater. Finita automater. Olika finita automater.
Finit utomter, reguljär uttryck och prefixträd Algoritmer och Dtstrukturer Mrkus Sers mrkus.sers@lingfil.uu.se Upplägg Finit utomter Implementtion Reguljär uttryck Användningr i Jv Alterntiv till inär
Repetitionsuppgifter i matematik
Lärrprogrmmet Ingång Mtemtik och Lärnde Repetitionsuppgifter i mtemtik Inför vårterminens mtemtikstudier kn det vr r tt repeter grundläggnde räknefärdigheter. Dett mteril innehåller uppgifter inom följnde
Envariabelanalys. Tomas Ekholm. Institutionen för matematik
Envribelnlys Toms Ekholm Institutionen för mtemtik Innehåll Att läs innn vi börjr 5. Vrför läs mtemtik?...................... 5.2 Definitioner, stser och bevis................... 5.3 Mängder...............................
Under årens lopp har många lärare och forskare beskrivit hur nybörjarstudenterna
B. Grevholm, J. Lundqvist, L-E. Persson & P. Wll Ett mentorprojekt för gymnsieelever i Luleå Hur får vi fler gymnsieelever intresserde v tt örj läs mtemtik vid universitetet? Den frågn hr mång mtemtiklärre
Gauss och Stokes analoga satser och fältsingulariteter: källor och virvlar Mats Persson
Föreläsning 14/9 Guss och tokes nlog stser och fältsingulriteter: källor och virvlr Mts Persson 1 tser nlog med Guss och tokes stser 1.1 tser nlog med Guss sts Det finns ett pr stser som är mycket när
ORTONORMERAT KOORDINAT SYSTEM. LÄNGDEN AV EN VEKTOR. AVSTÅND MELLEN TVÅ PUNKTER. MITTPUNKT. TYNGDPUNKT. SFÄR OCH KLOT.
Armin Hlilovi: EXTRA ÖVNINGAR v Vektorer oh koordinter i D-rummet ORTONORMERAT KOORDINAT SYSTEM LÄNGDEN AV EN VEKTOR AVSTÅND MELLEN TVÅ PUNKTER MITTPUNKT TYNGDPUNKT SFÄR OCH KLOT INLEDNING För tt bild
Inledande kurs i matematik, avsnitt P.6. Vi ritar upp enhetscirkeln och vinkeln 2π 3.
Inlednde kurs i mtemtik, vsnitt P6 P6 eräkn sin P61 eräkn os 4 Vi ritr upp enhetsirkeln oh vinkeln Vi sk nvänd enhetsirkeln oh symmetrier i denn för tt estämm os 4 Den punkt på enhetsirkeln med vinkeln
AUBER 95 9 jan LÖSNINGAR STEG 1:
AUBER 95 9 jn AR. Den finit utomten nedn ccepterr ett språk L över = {, }. A B ε Konstruer ) ett reguljärt uttryck för L. ) L = ( ( ) ) = ( ) ) en reguljär grmmtik för L S A S A c) en miniml DFA för L.
Grundläggande matematisk statistik
Grundläggnde mtemtisk sttistik Diskret och kontinuerlig slumpvribler Uwe Menzel, 208 uwe.menzel@slu.se; uwe.menzel@mtstt.de www.mtstt.de Diskret och kontinuerlig slumpvribler Slumpvribel (s.v.): vribel
TATA42: Föreläsning 11 Kurvlängd, area och volym
TATA4: Föreläsning Kurvlängd, re och volm John Thim 4 mrs 8 Kurvlängd Vi börjr med tt betrkt situtionen då en kurv i plnet ges på prmeterform: ((t), (t)). Dett innebär tt både - och -koordintern simultnt
Definition 1 En funktion (eller avbildning ) från en mängd A till en mängd B är en regel som till några element i A ordnar högst ett element i B.
Deinitionsmängd FUNKTIONER. DEFINITIONSMÄNGD OCH VÄRDEMÄNGD. Deinition En unktion (eller vbildning ) rån en mängd A till en mängd B är en regel som till någr element i A ordnr högst ett element i B. Att
Internetförsäljning av graviditetstester
Internetförsäljning v grviditetstester Mrkndskontrollrpport från Enheten för medicinteknik 2010-05-28 Postdress/Postl ddress: P.O. Box 26, SE-751 03 Uppsl, SWEDEN Besöksdress/Visiting ddress: Dg Hmmrskjölds
Uppsala Universitet Matematiska Institutionen T Erlandsson
Uppsl Universitet Mtemtisk Institutionen T Erlndsson TENTAMEN 5--4 Anlys MN SVAR OCH ANVISNINGAR FRÅGOR... 4. 5. x-xeln 6. y = x + x + 7. y = sin x + 8. y = xe x + 9. y = e x. y = x +.. + x. x = 4. 5.
SIGNALER OCH SYSTEM II LEKTION 2 / MATEMATISK LEKTION 1. Fredrik Andréasson. Department of Mathematics, KTH
SIGNALER OCH SYSTEM II LEKTION 2 / MATEMATISK LEKTION Fredrik Andrésson Deprtment of Mthemtics, KTH Lplcetrnsformen. I förr delkursen studerde vi fouriertrnsformen v en funktion h(t) H(iω) F[h(t)] Vi definierr
I, II, III, IV, V, VI, VII, VIII, IX, X, XI...
Olik typer v tl Vi sk se hur vi utgående från de nturlig tlen kn konstruer de hel tlen, de rtionell tlen och de reell tlen och diskuter räknereglern som de uppfyller. Nturlig tl Vi påminner lite om nturlig
Envariabelanalys. Tomas Ekholm. Institutionen för matematik
Envribelnlys Toms Ekholm Institutionen för mtemtik 3 oktober 08 Innehåll Att läs innn vi börjr 7. Vrför läs mtemtik?..................... 7. Uppmning till läsren v dett häfte............. 7.3 Lärndemål