• No results found

MAT1030 – Diskret matematikk Forelesning 17: Generell rekursjon og induksjon Dag Normann

N/A
N/A
Protected

Academic year: 2022

Share "MAT1030 – Diskret matematikk Forelesning 17: Generell rekursjon og induksjon Dag Normann"

Copied!
219
0
0

Laster.... (Se fulltekst nå)

Fulltekst

(1)

MAT1030 – Diskret matematikk

Forelesning 17: Generell rekursjon og induksjon

Dag Normann

Matematisk Institutt, Universitetet i Oslo

10. mars 2008

(2)

Opphenting

Forrige uke s˚a vi p˚a rekurrenslikninger.

En rekurrenslikning er en funksjonslikning p˚a formen at(n) +bt(n−1) +ct(n−2) = 0 hvor en løsning er en funksjon

F :N→Rslik at

aF(n) +bF(n−1) +cF(n−2) = 0 for allen ≥2

(eller for allen hvorn,n−1 ogn−2 er i

definisjonsomr˚adet tilF, n˚ar vi vil bruke maskineriet v˚art i en mer generell situasjon).

Denkarakteristiske likningen er da

ax2+bx+c = 0

MAT1030 – Diskret matematikk 10. mars 2008 2

(3)

Opphenting

Forrige uke s˚a vi p˚a rekurrenslikninger.

En rekurrenslikning er en funksjonslikning p˚a formen at(n) +bt(n−1) +ct(n−2) = 0 hvor en løsning er en funksjon

F :N→Rslik at

aF(n) +bF(n−1) +cF(n−2) = 0 for allen ≥2

(eller for allen hvorn,n−1 ogn−2 er i

definisjonsomr˚adet tilF, n˚ar vi vil bruke maskineriet v˚art i en mer generell situasjon).

Denkarakteristiske likningen er da

ax2+bx+c = 0

MAT1030 – Diskret matematikk 10. mars 2008 2

(4)

Opphenting

Forrige uke s˚a vi p˚a rekurrenslikninger.

En rekurrenslikning er en funksjonslikning p˚a formen at(n) +bt(n−1) +ct(n−2) = 0 hvor en løsning er en funksjon

F :N→Rslik at

aF(n) +bF(n−1) +cF(n−2) = 0 for allen ≥2

(eller for allen hvorn,n−1 ogn−2 er i

definisjonsomr˚adet tilF, n˚ar vi vil bruke maskineriet v˚art i en mer generell situasjon).

Denkarakteristiske likningen er da

ax2+bx+c = 0

MAT1030 – Diskret matematikk 10. mars 2008 2

(5)

Opphenting

Forrige uke s˚a vi p˚a rekurrenslikninger.

En rekurrenslikning er en funksjonslikning p˚a formen at(n) +bt(n−1) +ct(n−2) = 0 hvor en løsning er en funksjon

F :N→Rslik at

aF(n) +bF(n−1) +cF(n−2) = 0

for allen ≥2

(eller for allen hvorn,n−1 ogn−2 er i

definisjonsomr˚adet tilF, n˚ar vi vil bruke maskineriet v˚art i en mer generell situasjon).

Denkarakteristiske likningen er da

ax2+bx+c = 0

MAT1030 – Diskret matematikk 10. mars 2008 2

(6)

Opphenting

Forrige uke s˚a vi p˚a rekurrenslikninger.

En rekurrenslikning er en funksjonslikning p˚a formen at(n) +bt(n−1) +ct(n−2) = 0 hvor en løsning er en funksjon

F :N→Rslik at

aF(n) +bF(n−1) +cF(n−2) = 0 for allen ≥2

(eller for allen hvorn,n−1 ogn−2 er i

definisjonsomr˚adet tilF, n˚ar vi vil bruke maskineriet v˚art i en mer generell situasjon).

Denkarakteristiske likningen er da

ax2+bx+c = 0

MAT1030 – Diskret matematikk 10. mars 2008 2

(7)

Opphenting

Forrige uke s˚a vi p˚a rekurrenslikninger.

En rekurrenslikning er en funksjonslikning p˚a formen at(n) +bt(n−1) +ct(n−2) = 0 hvor en løsning er en funksjon

F :N→Rslik at

aF(n) +bF(n−1) +cF(n−2) = 0 for allen ≥2 (eller for allen hvorn,n−1 ogn−2 er i

definisjonsomr˚adet tilF, n˚ar vi vil bruke maskineriet v˚art i en mer generell situasjon).

Denkarakteristiske likningen er da

ax2+bx+c = 0

MAT1030 – Diskret matematikk 10. mars 2008 2

(8)

Opphenting

Forrige uke s˚a vi p˚a rekurrenslikninger.

En rekurrenslikning er en funksjonslikning p˚a formen at(n) +bt(n−1) +ct(n−2) = 0 hvor en løsning er en funksjon

F :N→Rslik at

aF(n) +bF(n−1) +cF(n−2) = 0 for allen ≥2 (eller for allen hvorn,n−1 ogn−2 er i

definisjonsomr˚adet tilF, n˚ar vi vil bruke maskineriet v˚art i en mer generell situasjon).

Denkarakteristiske likningen er da

ax2+bx+c = 0

MAT1030 – Diskret matematikk 10. mars 2008 2

(9)

Opphenting

Hvis r og s er to forskjellige løsninger av den karakteristiske likningen, er den generelle løsningen av rekurrenslikningen

F(n) =Arn+Bsn hvor Aog B er vilk˚arlige reelle tall.

Hvis den karakteristiske likningen bare har en løsningr, er den generelle løsningen av rekurrenslikningen

(A+Bn)rn.

MAT1030 – Diskret matematikk 10. mars 2008 3

(10)

Opphenting

Hvis r og s er to forskjellige løsninger av den karakteristiske likningen, er den generelle løsningen av rekurrenslikningen

F(n) =Arn+Bsn

hvor Aog B er vilk˚arlige reelle tall.

Hvis den karakteristiske likningen bare har en løsningr, er den generelle løsningen av rekurrenslikningen

(A+Bn)rn.

MAT1030 – Diskret matematikk 10. mars 2008 3

(11)

Opphenting

Hvis r og s er to forskjellige løsninger av den karakteristiske likningen, er den generelle løsningen av rekurrenslikningen

F(n) =Arn+Bsn hvor Aog B er vilk˚arlige reelle tall.

Hvis den karakteristiske likningen bare har en løsningr, er den generelle løsningen av rekurrenslikningen

(A+Bn)rn.

MAT1030 – Diskret matematikk 10. mars 2008 3

(12)

Opphenting

Hvis r og s er to forskjellige løsninger av den karakteristiske likningen, er den generelle løsningen av rekurrenslikningen

F(n) =Arn+Bsn hvor Aog B er vilk˚arlige reelle tall.

Hvis den karakteristiske likningen bare har en løsningr, er den generelle løsningen av rekurrenslikningen

(A+Bn)rn.

MAT1030 – Diskret matematikk 10. mars 2008 3

(13)

Opphenting

Hvis r og s er to forskjellige løsninger av den karakteristiske likningen, er den generelle løsningen av rekurrenslikningen

F(n) =Arn+Bsn hvor Aog B er vilk˚arlige reelle tall.

Hvis den karakteristiske likningen bare har en løsningr, er den generelle løsningen av rekurrenslikningen

(A+Bn)rn.

MAT1030 – Diskret matematikk 10. mars 2008 3

(14)

Opphenting

Hvis vi i tillegg har krav om att(1) =aog t(2) =b, kan vi

bestemmeA og B i den generelle løsningen ved ˚a sette inn for n= 1 og n= 2 i den generelle løsningen, og løse likningene mhp. Aog B.

Dette vil alltid fungere.

Boka ser bare p˚a tilfellet med initialbetingelser p˚at(1) og t(2). Hadde vi satt krav tilt(17) og t(256), eller til t-verdien for to andre, forskjellige tall, kunne vi fortsatt bestemtA ogB fra den

informasjonen.

Initialbetingelser for n= 0 og n= 1 kan gi den enkleste regningen. Vi skal n˚a fortsette innføringen av nytt stoff.

MAT1030 – Diskret matematikk 10. mars 2008 4

(15)

Opphenting

Hvis vi i tillegg har krav om att(1) =aog t(2) =b, kan vi

bestemmeA og B i den generelle løsningen ved ˚a sette inn for n= 1 og n= 2 i den generelle løsningen, og løse likningene mhp. Aog B.

Dette vil alltid fungere.

Boka ser bare p˚a tilfellet med initialbetingelser p˚at(1) og t(2). Hadde vi satt krav tilt(17) og t(256), eller til t-verdien for to andre, forskjellige tall, kunne vi fortsatt bestemtA ogB fra den

informasjonen.

Initialbetingelser for n= 0 og n= 1 kan gi den enkleste regningen. Vi skal n˚a fortsette innføringen av nytt stoff.

MAT1030 – Diskret matematikk 10. mars 2008 4

(16)

Opphenting

Hvis vi i tillegg har krav om att(1) =aog t(2) =b, kan vi

bestemmeA og B i den generelle løsningen ved ˚a sette inn for n= 1 og n= 2 i den generelle løsningen, og løse likningene mhp. Aog B.

Dette vil alltid fungere.

Boka ser bare p˚a tilfellet med initialbetingelser p˚at(1) og t(2).

Hadde vi satt krav tilt(17) og t(256), eller til t-verdien for to andre, forskjellige tall, kunne vi fortsatt bestemtA ogB fra den

informasjonen.

Initialbetingelser for n= 0 og n= 1 kan gi den enkleste regningen. Vi skal n˚a fortsette innføringen av nytt stoff.

MAT1030 – Diskret matematikk 10. mars 2008 4

(17)

Opphenting

Hvis vi i tillegg har krav om att(1) =aog t(2) =b, kan vi

bestemmeA og B i den generelle løsningen ved ˚a sette inn for n= 1 og n= 2 i den generelle løsningen, og løse likningene mhp. Aog B.

Dette vil alltid fungere.

Boka ser bare p˚a tilfellet med initialbetingelser p˚at(1) og t(2).

Hadde vi satt krav tilt(17) og t(256), eller til t-verdien for to andre, forskjellige tall, kunne vi fortsatt bestemtA ogB fra den

informasjonen.

Initialbetingelser for n= 0 og n= 1 kan gi den enkleste regningen. Vi skal n˚a fortsette innføringen av nytt stoff.

MAT1030 – Diskret matematikk 10. mars 2008 4

(18)

Opphenting

Hvis vi i tillegg har krav om att(1) =aog t(2) =b, kan vi

bestemmeA og B i den generelle løsningen ved ˚a sette inn for n= 1 og n= 2 i den generelle løsningen, og løse likningene mhp. Aog B.

Dette vil alltid fungere.

Boka ser bare p˚a tilfellet med initialbetingelser p˚at(1) og t(2).

Hadde vi satt krav tilt(17) og t(256), eller til t-verdien for to andre, forskjellige tall, kunne vi fortsatt bestemtA ogB fra den

informasjonen.

Initialbetingelser for n= 0 og n= 1 kan gi den enkleste regningen.

Vi skal n˚a fortsette innføringen av nytt stoff.

MAT1030 – Diskret matematikk 10. mars 2008 4

(19)

Opphenting

Hvis vi i tillegg har krav om att(1) =aog t(2) =b, kan vi

bestemmeA og B i den generelle løsningen ved ˚a sette inn for n= 1 og n= 2 i den generelle løsningen, og løse likningene mhp. Aog B.

Dette vil alltid fungere.

Boka ser bare p˚a tilfellet med initialbetingelser p˚at(1) og t(2).

Hadde vi satt krav tilt(17) og t(256), eller til t-verdien for to andre, forskjellige tall, kunne vi fortsatt bestemtA ogB fra den

informasjonen.

Initialbetingelser for n= 0 og n= 1 kan gi den enkleste regningen.

Vi skal n˚a fortsette innføringen av nytt stoff.

MAT1030 – Diskret matematikk 10. mars 2008 4

(20)

Rekursjon og programmering

Vi startet innføringen av rekursjon med ˚a gi eksempler p˚a hvordan vi kunne finne pseudokoder som svarer til rekursive konstruksjoner.

Vi kan minne om at hvis

f(1) =a

f(n+ 1) =g(f(n),n)

er en rekursiv funksjon, og vi har en pseudokode for g, kan vi erstatte denne pseuokoden (som en del av en større kode) med

x←g(i,j)

i betydningen at variabelenx f˚ar verdien tilf n˚ar inputvariablene f˚ar verdiene til i og j.

Det er flere m˚ater vi kan lage en pseudokode forg p˚a, vi skal se p˚a to av dem:

MAT1030 – Diskret matematikk 10. mars 2008 5

(21)

Rekursjon og programmering

Vi startet innføringen av rekursjon med ˚a gi eksempler p˚a hvordan vi kunne finne pseudokoder som svarer til rekursive konstruksjoner.

Vi kan minne om at hvis

f(1) =a

f(n+ 1) =g(f(n),n)

er en rekursiv funksjon, og vi har en pseudokode for g, kan vi erstatte denne pseuokoden (som en del av en større kode) med

x←g(i,j)

i betydningen at variabelenx f˚ar verdien tilf n˚ar inputvariablene f˚ar verdiene til i og j.

Det er flere m˚ater vi kan lage en pseudokode forg p˚a, vi skal se p˚a to av dem:

MAT1030 – Diskret matematikk 10. mars 2008 5

(22)

Rekursjon og programmering

Vi startet innføringen av rekursjon med ˚a gi eksempler p˚a hvordan vi kunne finne pseudokoder som svarer til rekursive konstruksjoner.

Vi kan minne om at hvis f(1) =a

f(n+ 1) =g(f(n),n)

er en rekursiv funksjon, og vi har en pseudokode for g, kan vi erstatte denne pseuokoden (som en del av en større kode) med

x←g(i,j)

i betydningen at variabelenx f˚ar verdien tilf n˚ar inputvariablene f˚ar verdiene til i og j.

Det er flere m˚ater vi kan lage en pseudokode forg p˚a, vi skal se p˚a to av dem:

MAT1030 – Diskret matematikk 10. mars 2008 5

(23)

Rekursjon og programmering

Vi startet innføringen av rekursjon med ˚a gi eksempler p˚a hvordan vi kunne finne pseudokoder som svarer til rekursive konstruksjoner.

Vi kan minne om at hvis f(1) =a

f(n+ 1) =g(f(n),n)

er en rekursiv funksjon, og vi har en pseudokode for g, kan vi erstatte denne pseuokoden (som en del av en større kode) med

x←g(i,j)

i betydningen at variabelenx f˚ar verdien tilf n˚ar inputvariablene f˚ar verdiene til i og j.

Det er flere m˚ater vi kan lage en pseudokode forg p˚a, vi skal se p˚a to av dem:

MAT1030 – Diskret matematikk 10. mars 2008 5

(24)

Rekursjon og programmering

Vi startet innføringen av rekursjon med ˚a gi eksempler p˚a hvordan vi kunne finne pseudokoder som svarer til rekursive konstruksjoner.

Vi kan minne om at hvis f(1) =a

f(n+ 1) =g(f(n),n)

er en rekursiv funksjon, og vi har en pseudokode for g, kan vi erstatte denne pseuokoden (som en del av en større kode) med

x←g(i,j)

i betydningen at variabelenx f˚ar verdien tilf n˚ar inputvariablene f˚ar verdiene til i og j.

Det er flere m˚ater vi kan lage en pseudokode forg p˚a, vi skal se p˚a to av dem:

MAT1030 – Diskret matematikk 10. mars 2008 5

(25)

Rekursjon og programmering

Vi startet innføringen av rekursjon med ˚a gi eksempler p˚a hvordan vi kunne finne pseudokoder som svarer til rekursive konstruksjoner.

Vi kan minne om at hvis f(1) =a

f(n+ 1) =g(f(n),n)

er en rekursiv funksjon, og vi har en pseudokode for g, kan vi erstatte denne pseuokoden (som en del av en større kode) med

x←g(i,j)

i betydningen at variabelenx f˚ar verdien tilf n˚ar inputvariablene f˚ar verdiene til i og j.

Det er flere m˚ater vi kan lage en pseudokode forg p˚a, vi skal se p˚a to av dem:

MAT1030 – Diskret matematikk 10. mars 2008 5

(26)

Rekursjon og programmering

Vi startet innføringen av rekursjon med ˚a gi eksempler p˚a hvordan vi kunne finne pseudokoder som svarer til rekursive konstruksjoner.

Vi kan minne om at hvis f(1) =a

f(n+ 1) =g(f(n),n)

er en rekursiv funksjon, og vi har en pseudokode for g, kan vi erstatte denne pseuokoden (som en del av en større kode) med

x←g(i,j)

i betydningen at variabelenx f˚ar verdien tilf n˚ar inputvariablene f˚ar verdiene tili og j.

Det er flere m˚ater vi kan lage en pseudokode forg p˚a, vi skal se p˚a to av dem:

MAT1030 – Diskret matematikk 10. mars 2008 5

(27)

Rekursjon og programmering

Vi startet innføringen av rekursjon med ˚a gi eksempler p˚a hvordan vi kunne finne pseudokoder som svarer til rekursive konstruksjoner.

Vi kan minne om at hvis f(1) =a

f(n+ 1) =g(f(n),n)

er en rekursiv funksjon, og vi har en pseudokode for g, kan vi erstatte denne pseuokoden (som en del av en større kode) med

x←g(i,j)

i betydningen at variabelenx f˚ar verdien tilf n˚ar inputvariablene f˚ar verdiene tili og j.

Det er flere m˚ater vi kan lage en pseudokode forg p˚a, vi skal se p˚a to av dem:

MAT1030 – Diskret matematikk 10. mars 2008 5

(28)

Rekursjon og programmering

Eksempel

1 Input n [n ∈N] 2 x ←a

3 Output x

4 For i = 2 ton do

4.1 xg(x,i) 4.2 Output x

Merk

Denne pseudokoden vil skrive utf(1),f(2), . . . ,f(n) i rekkefølge. Hvis vi bare vil ha utf(n) blir koden enda enklere:

MAT1030 – Diskret matematikk 10. mars 2008 6

(29)

Rekursjon og programmering

Eksempel

1 Input n [n ∈N]

2 x ←a 3 Output x

4 For i = 2 ton do

4.1 xg(x,i) 4.2 Output x

Merk

Denne pseudokoden vil skrive utf(1),f(2), . . . ,f(n) i rekkefølge. Hvis vi bare vil ha utf(n) blir koden enda enklere:

MAT1030 – Diskret matematikk 10. mars 2008 6

(30)

Rekursjon og programmering

Eksempel

1 Input n [n ∈N] 2 x ←a

3 Output x

4 For i = 2 ton do

4.1 xg(x,i) 4.2 Output x

Merk

Denne pseudokoden vil skrive utf(1),f(2), . . . ,f(n) i rekkefølge. Hvis vi bare vil ha utf(n) blir koden enda enklere:

MAT1030 – Diskret matematikk 10. mars 2008 6

(31)

Rekursjon og programmering

Eksempel

1 Input n [n ∈N] 2 x ←a

3 Output x

4 For i = 2 ton do

4.1 xg(x,i) 4.2 Output x

Merk

Denne pseudokoden vil skrive utf(1),f(2), . . . ,f(n) i rekkefølge. Hvis vi bare vil ha utf(n) blir koden enda enklere:

MAT1030 – Diskret matematikk 10. mars 2008 6

(32)

Rekursjon og programmering

Eksempel

1 Input n [n ∈N] 2 x ←a

3 Output x

4 For i = 2 ton do

4.1 xg(x,i) 4.2 Output x

Merk

Denne pseudokoden vil skrive utf(1),f(2), . . . ,f(n) i rekkefølge. Hvis vi bare vil ha utf(n) blir koden enda enklere:

MAT1030 – Diskret matematikk 10. mars 2008 6

(33)

Rekursjon og programmering

Eksempel

1 Input n [n ∈N] 2 x ←a

3 Output x

4 For i = 2 ton do 4.1 xg(x,i)

4.2 Output x

Merk

Denne pseudokoden vil skrive utf(1),f(2), . . . ,f(n) i rekkefølge. Hvis vi bare vil ha utf(n) blir koden enda enklere:

MAT1030 – Diskret matematikk 10. mars 2008 6

(34)

Rekursjon og programmering

Eksempel

1 Input n [n ∈N] 2 x ←a

3 Output x

4 For i = 2 ton do 4.1 xg(x,i) 4.2 Output x

Merk

Denne pseudokoden vil skrive utf(1),f(2), . . . ,f(n) i rekkefølge. Hvis vi bare vil ha utf(n) blir koden enda enklere:

MAT1030 – Diskret matematikk 10. mars 2008 6

(35)

Rekursjon og programmering

Eksempel

1 Input n [n ∈N] 2 x ←a

3 Output x

4 For i = 2 ton do 4.1 xg(x,i) 4.2 Output x

Merk

Denne pseudokoden vil skrive utf(1),f(2), . . . ,f(n) i rekkefølge. Hvis vi bare vil ha utf(n) blir koden enda enklere:

MAT1030 – Diskret matematikk 10. mars 2008 6

(36)

Rekursjon og programmering

Eksempel

1 Input n [n ∈N] 2 x ←a

3 Output x

4 For i = 2 ton do 4.1 xg(x,i) 4.2 Output x

Merk

Denne pseudokoden vil skrive utf(1),f(2), . . . ,f(n) i rekkefølge.

Hvis vi bare vil ha utf(n) blir koden enda enklere:

MAT1030 – Diskret matematikk 10. mars 2008 6

(37)

Rekursjon og programmering

Eksempel

1 Input n [n ∈N] 2 x ←a

3 Output x

4 For i = 2 ton do 4.1 xg(x,i) 4.2 Output x

Merk

Denne pseudokoden vil skrive utf(1),f(2), . . . ,f(n) i rekkefølge.

Hvis vi bare vil ha utf(n) blir koden enda enklere:

MAT1030 – Diskret matematikk 10. mars 2008 6

(38)

Rekursjon og programmering

Eksempel

1 Input n [n ∈N] 2 x ←a

3 For i = 2 ton do

3.1 xg(x,i)

4 Output x

MAT1030 – Diskret matematikk 10. mars 2008 7

(39)

Rekursjon og programmering

Eksempel

1 Input n [n ∈N]

2 x ←a

3 For i = 2 ton do

3.1 xg(x,i)

4 Output x

MAT1030 – Diskret matematikk 10. mars 2008 7

(40)

Rekursjon og programmering

Eksempel

1 Input n [n ∈N]

2 x ←a

3 For i = 2 ton do

3.1 xg(x,i)

4 Output x

MAT1030 – Diskret matematikk 10. mars 2008 7

(41)

Rekursjon og programmering

Eksempel

1 Input n [n ∈N]

2 x ←a

3 For i = 2 ton do

3.1 xg(x,i) 4 Output x

MAT1030 – Diskret matematikk 10. mars 2008 7

(42)

Rekursjon og programmering

Eksempel

1 Input n [n ∈N]

2 x ←a

3 For i = 2 ton do 3.1 xg(x,i)

4 Output x

MAT1030 – Diskret matematikk 10. mars 2008 7

(43)

Rekursjon og programmering

Eksempel

1 Input n [n ∈N]

2 x ←a

3 For i = 2 ton do 3.1 xg(x,i) 4 Output x

MAT1030 – Diskret matematikk 10. mars 2008 7

(44)

Rekursjon og programmering

Læreboka har et lite avsnitt om plassen til rekursjon i de enkelte programmeringsspr˚ak.

Dette er lesestoff, som ikke blir utdypet p˚a forelesningene.

Enkelte programmeringsspr˚ak tillater til og med en sterkere form for rekursjon,selvkallendeprosedyrer.

Rekursjon er et spesialtilfelle av selvkallende prosedyrer, hvor vi definerer en funksjonf(x) ved ˚a bruke verdierf(y) for enkeltey avhengige av x.

En slik definisjon kan lett lede til løkkeberegninger eller uendelige beregninger, uten at det er lett ˚a se hvorfor det er tilfelle.

Vi skal ikke komme nærmere inn p˚a det (n˚a), etter følgende eksempel.

MAT1030 – Diskret matematikk 10. mars 2008 8

(45)

Rekursjon og programmering

Læreboka har et lite avsnitt om plassen til rekursjon i de enkelte programmeringsspr˚ak.

Dette er lesestoff, som ikke blir utdypet p˚a forelesningene.

Enkelte programmeringsspr˚ak tillater til og med en sterkere form for rekursjon,selvkallendeprosedyrer.

Rekursjon er et spesialtilfelle av selvkallende prosedyrer, hvor vi definerer en funksjonf(x) ved ˚a bruke verdierf(y) for enkeltey avhengige av x.

En slik definisjon kan lett lede til løkkeberegninger eller uendelige beregninger, uten at det er lett ˚a se hvorfor det er tilfelle.

Vi skal ikke komme nærmere inn p˚a det (n˚a), etter følgende eksempel.

MAT1030 – Diskret matematikk 10. mars 2008 8

(46)

Rekursjon og programmering

Læreboka har et lite avsnitt om plassen til rekursjon i de enkelte programmeringsspr˚ak.

Dette er lesestoff, som ikke blir utdypet p˚a forelesningene.

Enkelte programmeringsspr˚ak tillater til og med en sterkere form for rekursjon,selvkallendeprosedyrer.

Rekursjon er et spesialtilfelle av selvkallende prosedyrer, hvor vi definerer en funksjonf(x) ved ˚a bruke verdierf(y) for enkeltey avhengige av x.

En slik definisjon kan lett lede til løkkeberegninger eller uendelige beregninger, uten at det er lett ˚a se hvorfor det er tilfelle.

Vi skal ikke komme nærmere inn p˚a det (n˚a), etter følgende eksempel.

MAT1030 – Diskret matematikk 10. mars 2008 8

(47)

Rekursjon og programmering

Læreboka har et lite avsnitt om plassen til rekursjon i de enkelte programmeringsspr˚ak.

Dette er lesestoff, som ikke blir utdypet p˚a forelesningene.

Enkelte programmeringsspr˚ak tillater til og med en sterkere form for rekursjon,selvkallendeprosedyrer.

Rekursjon er et spesialtilfelle av selvkallende prosedyrer, hvor vi definerer en funksjonf(x) ved ˚a bruke verdierf(y) for enkeltey avhengige av x.

En slik definisjon kan lett lede til løkkeberegninger eller uendelige beregninger, uten at det er lett ˚a se hvorfor det er tilfelle.

Vi skal ikke komme nærmere inn p˚a det (n˚a), etter følgende eksempel.

MAT1030 – Diskret matematikk 10. mars 2008 8

(48)

Rekursjon og programmering

Læreboka har et lite avsnitt om plassen til rekursjon i de enkelte programmeringsspr˚ak.

Dette er lesestoff, som ikke blir utdypet p˚a forelesningene.

Enkelte programmeringsspr˚ak tillater til og med en sterkere form for rekursjon,selvkallendeprosedyrer.

Rekursjon er et spesialtilfelle av selvkallende prosedyrer, hvor vi definerer en funksjonf(x) ved ˚a bruke verdierf(y) for enkeltey avhengige av x.

En slik definisjon kan lett lede til løkkeberegninger eller uendelige beregninger, uten at det er lett ˚a se hvorfor det er tilfelle.

Vi skal ikke komme nærmere inn p˚a det (n˚a), etter følgende eksempel.

MAT1030 – Diskret matematikk 10. mars 2008 8

(49)

Rekursjon og programmering

Læreboka har et lite avsnitt om plassen til rekursjon i de enkelte programmeringsspr˚ak.

Dette er lesestoff, som ikke blir utdypet p˚a forelesningene.

Enkelte programmeringsspr˚ak tillater til og med en sterkere form for rekursjon,selvkallendeprosedyrer.

Rekursjon er et spesialtilfelle av selvkallende prosedyrer, hvor vi definerer en funksjonf(x) ved ˚a bruke verdierf(y) for enkeltey avhengige av x.

En slik definisjon kan lett lede til løkkeberegninger eller uendelige beregninger, uten at det er lett ˚a se hvorfor det er tilfelle.

Vi skal ikke komme nærmere inn p˚a det (n˚a), etter følgende eksempel.

MAT1030 – Diskret matematikk 10. mars 2008 8

(50)

Rekursjon og programmering

Eksempel

Da vi ga eksempler p˚a pseudokoder, ga vi et eksempel p˚a en algoritme som ingen enn˚a vet om vil terminere for alle verdier p˚a input, og vi ga algoritmen i form av en pseudokode.

V˚are pseudokoder fanger ikke opp muligheten for selvkallende prosedyrer, men hadde vi hatt den muligheten, kunne vi betraktet følgende som en meningsfylt algoritme:

MAT1030 – Diskret matematikk 10. mars 2008 9

(51)

Rekursjon og programmering

Eksempel

Da vi ga eksempler p˚a pseudokoder, ga vi et eksempel p˚a en algoritme som ingen enn˚a vet om vil terminere for alle verdier p˚a input, og vi ga algoritmen i form av en pseudokode.

V˚are pseudokoder fanger ikke opp muligheten for selvkallende prosedyrer, men hadde vi hatt den muligheten, kunne vi betraktet følgende som en meningsfylt algoritme:

MAT1030 – Diskret matematikk 10. mars 2008 9

(52)

Rekursjon og programmering

Eksempel

Da vi ga eksempler p˚a pseudokoder, ga vi et eksempel p˚a en algoritme som ingen enn˚a vet om vil terminere for alle verdier p˚a input, og vi ga algoritmen i form av en pseudokode.

V˚are pseudokoder fanger ikke opp muligheten for selvkallende prosedyrer, men hadde vi hatt den muligheten, kunne vi betraktet følgende som en meningsfylt algoritme:

MAT1030 – Diskret matematikk 10. mars 2008 9

(53)

Rekursjon og programmering

Eksempel (Fortsatt)

Laf(1) = 1.

Laf(n) =f(n2) + 1 hvis n er et partall.

Laf(n) =f(3n+ 1) + 1 hvisn>1 er et oddetall. Vi kan da eksempelvis regne ut

f(20) =f(10) + 1 =f(5) + 2 =f(16) + 3

=f(8) + 4 =f(4) + 5 =f(2) + 6 =f(1) + 7 = 8

f er veldefinert som enpartiell funksjon som vi ikke vet om er total.

MAT1030 – Diskret matematikk 10. mars 2008 10

(54)

Rekursjon og programmering

Eksempel (Fortsatt) Laf(1) = 1.

Laf(n) =f(n2) + 1 hvis n er et partall.

Laf(n) =f(3n+ 1) + 1 hvisn>1 er et oddetall. Vi kan da eksempelvis regne ut

f(20) =f(10) + 1 =f(5) + 2 =f(16) + 3

=f(8) + 4 =f(4) + 5 =f(2) + 6 =f(1) + 7 = 8

f er veldefinert som enpartiell funksjon som vi ikke vet om er total.

MAT1030 – Diskret matematikk 10. mars 2008 10

(55)

Rekursjon og programmering

Eksempel (Fortsatt) Laf(1) = 1.

Laf(n) =f(n2) + 1 hvis n er et partall.

Laf(n) =f(3n+ 1) + 1 hvisn>1 er et oddetall. Vi kan da eksempelvis regne ut

f(20) =f(10) + 1 =f(5) + 2 =f(16) + 3

=f(8) + 4 =f(4) + 5 =f(2) + 6 =f(1) + 7 = 8

f er veldefinert som enpartiell funksjon som vi ikke vet om er total.

MAT1030 – Diskret matematikk 10. mars 2008 10

(56)

Rekursjon og programmering

Eksempel (Fortsatt) Laf(1) = 1.

Laf(n) =f(n2) + 1 hvis n er et partall.

Laf(n) =f(3n+ 1) + 1 hvisn>1 er et oddetall.

Vi kan da eksempelvis regne ut

f(20) =f(10) + 1 =f(5) + 2 =f(16) + 3

=f(8) + 4 =f(4) + 5 =f(2) + 6 =f(1) + 7 = 8

f er veldefinert som enpartiell funksjon som vi ikke vet om er total.

MAT1030 – Diskret matematikk 10. mars 2008 10

(57)

Rekursjon og programmering

Eksempel (Fortsatt) Laf(1) = 1.

Laf(n) =f(n2) + 1 hvis n er et partall.

Laf(n) =f(3n+ 1) + 1 hvisn>1 er et oddetall.

Vi kan da eksempelvis regne ut

f(20) =f(10) + 1 =f(5) + 2 =f(16) + 3

=f(8) + 4 =f(4) + 5 =f(2) + 6 =f(1) + 7 = 8

f er veldefinert som enpartiell funksjon som vi ikke vet om er total.

MAT1030 – Diskret matematikk 10. mars 2008 10

(58)

Rekursjon og programmering

Eksempel (Fortsatt) Laf(1) = 1.

Laf(n) =f(n2) + 1 hvis n er et partall.

Laf(n) =f(3n+ 1) + 1 hvisn>1 er et oddetall.

Vi kan da eksempelvis regne ut

f(20) =f(10) + 1 =f(5) + 2 =f(16) + 3

=f(8) + 4 =f(4) + 5 =f(2) + 6 =f(1) + 7 = 8

f er veldefinert som enpartiell funksjon som vi ikke vet om er total.

MAT1030 – Diskret matematikk 10. mars 2008 10

(59)

Rekursjon og programmering

Eksempel (Fortsatt) Laf(1) = 1.

Laf(n) =f(n2) + 1 hvis n er et partall.

Laf(n) =f(3n+ 1) + 1 hvisn>1 er et oddetall.

Vi kan da eksempelvis regne ut

f(20) =f(10) + 1 =f(5) + 2 =f(16) + 3

=f(8) + 4 =f(4) + 5 =f(2) + 6 =f(1) + 7 = 8

f er veldefinert som enpartiell funksjon som vi ikke vet om er total.

MAT1030 – Diskret matematikk 10. mars 2008 10

(60)

Rekursjon og programmering

Eksempel (Fortsatt) Laf(1) = 1.

Laf(n) =f(n2) + 1 hvis n er et partall.

Laf(n) =f(3n+ 1) + 1 hvisn>1 er et oddetall.

Vi kan da eksempelvis regne ut

f(20) =f(10) + 1 =f(5) + 2 =f(16) + 3

=f(8) + 4 =f(4) + 5 =f(2) + 6 =f(1) + 7 = 8

f er veldefinert som enpartiell funksjon som vi ikke vet om er total.

MAT1030 – Diskret matematikk 10. mars 2008 10

(61)

Generell induksjon og rekursjon

Vi har argumentert for at konstruksjoner ved rekursjon virker og at induksjon er en gyldig bevisteknikk.

Vi har begrunnet dette med at vi kan n˚a alle naturlige tall ved ˚a starte med 1 og s˚a legge til 1 s˚a mange ganger vi trenger.

En m˚ate ˚a forklare hvorfor induksjonsbevis er matematisk holdbare argumenter p˚a er følgende:

Vi har at Ner den minste mengden som oppfyller

1N

HvisxNvilx+ 1N

Hvis vi da viser en egenskap P ved induksjon, viser vi at

1∈ {y : P(y)}

Hvisx∈ {y : P(y)}vilx+ 1∈ {y : P(y)}.

Siden Nvar den minste mengden med denne egenskapen, m˚a N⊆ {y : P(y)},

eller, som vi sier, P(x) holder for allex ∈N.

MAT1030 – Diskret matematikk 10. mars 2008 11

(62)

Generell induksjon og rekursjon

Vi har argumentert for at konstruksjoner ved rekursjon virker og at induksjon er en gyldig bevisteknikk.

Vi har begrunnet dette med at vi kan n˚a alle naturlige tall ved ˚a starte med 1 og s˚a legge til 1 s˚a mange ganger vi trenger.

En m˚ate ˚a forklare hvorfor induksjonsbevis er matematisk holdbare argumenter p˚a er følgende:

Vi har at Ner den minste mengden som oppfyller

1N

HvisxNvilx+ 1N

Hvis vi da viser en egenskap P ved induksjon, viser vi at

1∈ {y : P(y)}

Hvisx∈ {y : P(y)}vilx+ 1∈ {y : P(y)}.

Siden Nvar den minste mengden med denne egenskapen, m˚a N⊆ {y : P(y)},

eller, som vi sier, P(x) holder for allex ∈N.

MAT1030 – Diskret matematikk 10. mars 2008 11

(63)

Generell induksjon og rekursjon

Vi har argumentert for at konstruksjoner ved rekursjon virker og at induksjon er en gyldig bevisteknikk.

Vi har begrunnet dette med at vi kan n˚a alle naturlige tall ved ˚a starte med 1 og s˚a legge til 1 s˚a mange ganger vi trenger.

En m˚ate ˚a forklare hvorfor induksjonsbevis er matematisk holdbare argumenter p˚a er følgende:

Vi har at Ner den minste mengden som oppfyller

1N

HvisxNvilx+ 1N

Hvis vi da viser en egenskap P ved induksjon, viser vi at

1∈ {y : P(y)}

Hvisx∈ {y : P(y)}vilx+ 1∈ {y : P(y)}.

Siden Nvar den minste mengden med denne egenskapen, m˚a N⊆ {y : P(y)},

eller, som vi sier, P(x) holder for allex ∈N.

MAT1030 – Diskret matematikk 10. mars 2008 11

(64)

Generell induksjon og rekursjon

Vi har argumentert for at konstruksjoner ved rekursjon virker og at induksjon er en gyldig bevisteknikk.

Vi har begrunnet dette med at vi kan n˚a alle naturlige tall ved ˚a starte med 1 og s˚a legge til 1 s˚a mange ganger vi trenger.

En m˚ate ˚a forklare hvorfor induksjonsbevis er matematisk holdbare argumenter p˚a er følgende:

Vi har atN er den minste mengden som oppfyller

1N

HvisxNvilx+ 1N

Hvis vi da viser en egenskap P ved induksjon, viser vi at

1∈ {y : P(y)}

Hvisx∈ {y : P(y)}vilx+ 1∈ {y : P(y)}.

Siden Nvar den minste mengden med denne egenskapen, m˚a N⊆ {y : P(y)},

eller, som vi sier, P(x) holder for allex ∈N.

MAT1030 – Diskret matematikk 10. mars 2008 11

(65)

Generell induksjon og rekursjon

Vi har argumentert for at konstruksjoner ved rekursjon virker og at induksjon er en gyldig bevisteknikk.

Vi har begrunnet dette med at vi kan n˚a alle naturlige tall ved ˚a starte med 1 og s˚a legge til 1 s˚a mange ganger vi trenger.

En m˚ate ˚a forklare hvorfor induksjonsbevis er matematisk holdbare argumenter p˚a er følgende:

Vi har atN er den minste mengden som oppfyller 1N

HvisxNvilx+ 1N

Hvis vi da viser en egenskap P ved induksjon, viser vi at

1∈ {y : P(y)}

Hvisx∈ {y : P(y)}vilx+ 1∈ {y : P(y)}.

Siden Nvar den minste mengden med denne egenskapen, m˚a N⊆ {y : P(y)},

eller, som vi sier, P(x) holder for allex ∈N.

MAT1030 – Diskret matematikk 10. mars 2008 11

(66)

Generell induksjon og rekursjon

Vi har argumentert for at konstruksjoner ved rekursjon virker og at induksjon er en gyldig bevisteknikk.

Vi har begrunnet dette med at vi kan n˚a alle naturlige tall ved ˚a starte med 1 og s˚a legge til 1 s˚a mange ganger vi trenger.

En m˚ate ˚a forklare hvorfor induksjonsbevis er matematisk holdbare argumenter p˚a er følgende:

Vi har atN er den minste mengden som oppfyller 1N

HvisxNvilx+ 1N

Hvis vi da viser en egenskap P ved induksjon, viser vi at

1∈ {y : P(y)}

Hvisx∈ {y : P(y)}vilx+ 1∈ {y : P(y)}.

Siden Nvar den minste mengden med denne egenskapen, m˚a N⊆ {y : P(y)},

eller, som vi sier, P(x) holder for allex ∈N.

MAT1030 – Diskret matematikk 10. mars 2008 11

(67)

Generell induksjon og rekursjon

Vi har argumentert for at konstruksjoner ved rekursjon virker og at induksjon er en gyldig bevisteknikk.

Vi har begrunnet dette med at vi kan n˚a alle naturlige tall ved ˚a starte med 1 og s˚a legge til 1 s˚a mange ganger vi trenger.

En m˚ate ˚a forklare hvorfor induksjonsbevis er matematisk holdbare argumenter p˚a er følgende:

Vi har atN er den minste mengden som oppfyller 1N

HvisxNvilx+ 1N

Hvis vi da viser en egenskap P ved induksjon, viser vi at

1∈ {y : P(y)}

Hvisx∈ {y : P(y)}vilx+ 1∈ {y : P(y)}.

Siden Nvar den minste mengden med denne egenskapen, m˚a N⊆ {y : P(y)},

eller, som vi sier, P(x) holder for allex ∈N.

MAT1030 – Diskret matematikk 10. mars 2008 11

(68)

Generell induksjon og rekursjon

Vi har argumentert for at konstruksjoner ved rekursjon virker og at induksjon er en gyldig bevisteknikk.

Vi har begrunnet dette med at vi kan n˚a alle naturlige tall ved ˚a starte med 1 og s˚a legge til 1 s˚a mange ganger vi trenger.

En m˚ate ˚a forklare hvorfor induksjonsbevis er matematisk holdbare argumenter p˚a er følgende:

Vi har atN er den minste mengden som oppfyller 1N

HvisxNvilx+ 1N

Hvis vi da viser en egenskap P ved induksjon, viser vi at 1∈ {y : P(y)}

Hvisx∈ {y : P(y)}vilx+ 1∈ {y : P(y)}.

Siden Nvar den minste mengden med denne egenskapen, m˚a N⊆ {y : P(y)},

eller, som vi sier, P(x) holder for allex ∈N.

MAT1030 – Diskret matematikk 10. mars 2008 11

(69)

Generell induksjon og rekursjon

Vi har argumentert for at konstruksjoner ved rekursjon virker og at induksjon er en gyldig bevisteknikk.

Vi har begrunnet dette med at vi kan n˚a alle naturlige tall ved ˚a starte med 1 og s˚a legge til 1 s˚a mange ganger vi trenger.

En m˚ate ˚a forklare hvorfor induksjonsbevis er matematisk holdbare argumenter p˚a er følgende:

Vi har atN er den minste mengden som oppfyller 1N

HvisxNvilx+ 1N

Hvis vi da viser en egenskap P ved induksjon, viser vi at 1∈ {y : P(y)}

Hvisx∈ {y : P(y)}vilx+ 1∈ {y : P(y)}.

Siden Nvar den minste mengden med denne egenskapen, m˚a N⊆ {y : P(y)},

eller, som vi sier, P(x) holder for allex ∈N.

MAT1030 – Diskret matematikk 10. mars 2008 11

(70)

Generell induksjon og rekursjon

Vi har argumentert for at konstruksjoner ved rekursjon virker og at induksjon er en gyldig bevisteknikk.

Vi har begrunnet dette med at vi kan n˚a alle naturlige tall ved ˚a starte med 1 og s˚a legge til 1 s˚a mange ganger vi trenger.

En m˚ate ˚a forklare hvorfor induksjonsbevis er matematisk holdbare argumenter p˚a er følgende:

Vi har atN er den minste mengden som oppfyller 1N

HvisxNvilx+ 1N

Hvis vi da viser en egenskap P ved induksjon, viser vi at 1∈ {y : P(y)}

Hvisx∈ {y : P(y)}vilx+ 1∈ {y : P(y)}.

Siden Nvar den minste mengden med denne egenskapen, m˚a N⊆ {y : P(y)},

eller, som vi sier, P(x) holder for allex ∈N.

MAT1030 – Diskret matematikk 10. mars 2008 11

(71)

Generell induksjon og rekursjon

Vi har argumentert for at konstruksjoner ved rekursjon virker og at induksjon er en gyldig bevisteknikk.

Vi har begrunnet dette med at vi kan n˚a alle naturlige tall ved ˚a starte med 1 og s˚a legge til 1 s˚a mange ganger vi trenger.

En m˚ate ˚a forklare hvorfor induksjonsbevis er matematisk holdbare argumenter p˚a er følgende:

Vi har atN er den minste mengden som oppfyller 1N

HvisxNvilx+ 1N

Hvis vi da viser en egenskap P ved induksjon, viser vi at 1∈ {y : P(y)}

Hvisx∈ {y : P(y)}vilx+ 1∈ {y : P(y)}.

Siden Nvar den minste mengden med denne egenskapen, m˚a N⊆ {y : P(y)},

eller, som vi sier, P(x) holder for allex ∈N.

MAT1030 – Diskret matematikk 10. mars 2008 11

(72)

Generell induksjon og rekursjon

I logikk og informatikk (og ogs˚a innen andre deler av matematikken og i andre fag) ser man definisjoner som likner p˚a v˚ar beskrivelse av N; man beskriver en strukturert mengde ved ˚a si hva som kommer inn som start og hvordan man finner mer komplekse elementer av

mengden.

Innen informatikk og logikk beskriver vi gjerne formelle spr˚akp˚a den m˚aten.

Det er et uttrykt ønske fra informatikerne om at de studentene som skal studere videre hos dem, skal ha en bedre forst˚aelse av induksjon og rekursjon enn hva som har vært tilfelle tidligere ˚ar, og at

studentene skal ha kjennskap til rekursjon over andre strukturer enn N.

MAT1030 – Diskret matematikk 10. mars 2008 12

(73)

Generell induksjon og rekursjon

I logikk og informatikk (og ogs˚a innen andre deler av matematikken og i andre fag) ser man definisjoner som likner p˚a v˚ar beskrivelse av N; man beskriver en strukturert mengde ved ˚a si hva som kommer inn som start og hvordan man finner mer komplekse elementer av

mengden.

Innen informatikk og logikk beskriver vi gjerne formelle spr˚akp˚a den m˚aten.

Det er et uttrykt ønske fra informatikerne om at de studentene som skal studere videre hos dem, skal ha en bedre forst˚aelse av induksjon og rekursjon enn hva som har vært tilfelle tidligere ˚ar, og at

studentene skal ha kjennskap til rekursjon over andre strukturer enn N.

MAT1030 – Diskret matematikk 10. mars 2008 12

(74)

Generell induksjon og rekursjon

I logikk og informatikk (og ogs˚a innen andre deler av matematikken og i andre fag) ser man definisjoner som likner p˚a v˚ar beskrivelse av N; man beskriver en strukturert mengde ved ˚a si hva som kommer inn som start og hvordan man finner mer komplekse elementer av

mengden.

Innen informatikk og logikk beskriver vi gjerne formelle spr˚akp˚a den m˚aten.

Det er et uttrykt ønske fra informatikerne om at de studentene som skal studere videre hos dem, skal ha en bedre forst˚aelse av induksjon og rekursjon enn hva som har vært tilfelle tidligere ˚ar, og at

studentene skal ha kjennskap til rekursjon over andre strukturer enn N.

MAT1030 – Diskret matematikk 10. mars 2008 12

(75)

Generell induksjon og rekursjon

I de følgende eksemplene skal vi anta at vi har et alfabet som best˚ar av alle de symbolene vi kan finne p˚a tastaturet til en standard datamaskin (norsk standard om presisjonen er nødvendig), hvor tomrom er ˚a betrakte som et eget symbol. Vi bruker bokstaver i kursivsom variable over bokstavene p˚a tastaturet, og vi kan bruke andre bokstaver i kursiv som variable for ord, hvor:

MAT1030 – Diskret matematikk 10. mars 2008 13

(76)

Generell induksjon og rekursjon

Etorder en ordnet sekvens av bokstaver, hvor bokstavene er skrevet uten ekstra tegn i mellom.

Det er vanlig ˚a la e betegnedet tomme ordet.

Vi føyer en bokstav til et ord ved ganske enkelt ˚a skrive det inntil ordet p˚a høyre side.

Dette kan vi bruke til ˚a gi en induktivbeskrivelse av mengden av ord.

MAT1030 – Diskret matematikk 10. mars 2008 14

(77)

Generell induksjon og rekursjon

Etorder en ordnet sekvens av bokstaver, hvor bokstavene er skrevet uten ekstra tegn i mellom.

Det er vanlig ˚a la e betegnedet tomme ordet.

Vi føyer en bokstav til et ord ved ganske enkelt ˚a skrive det inntil ordet p˚a høyre side.

Dette kan vi bruke til ˚a gi en induktivbeskrivelse av mengden av ord.

MAT1030 – Diskret matematikk 10. mars 2008 14

(78)

Generell induksjon og rekursjon

Etorder en ordnet sekvens av bokstaver, hvor bokstavene er skrevet uten ekstra tegn i mellom.

Det er vanlig ˚a la e betegnedet tomme ordet.

Vi føyer en bokstav til et ord ved ganske enkelt ˚a skrive det inntil ordet p˚a høyre side.

Dette kan vi bruke til ˚a gi en induktivbeskrivelse av mengden av ord.

MAT1030 – Diskret matematikk 10. mars 2008 14

(79)

Generell induksjon og rekursjon

Etorder en ordnet sekvens av bokstaver, hvor bokstavene er skrevet uten ekstra tegn i mellom.

Det er vanlig ˚a la e betegnedet tomme ordet.

Vi føyer en bokstav til et ord ved ganske enkelt ˚a skrive det inntil ordet p˚a høyre side.

Dette kan vi bruke til ˚a gi en induktivbeskrivelse av mengden av ord.

MAT1030 – Diskret matematikk 10. mars 2008 14

(80)

Generell induksjon og rekursjon

Definisjon

Mengden av order den minste mengden som oppfyller

Det tomme ordeteer et ord.

Hvisw er et ord ogber en bokstav, erwb et ord.

MAT1030 – Diskret matematikk 10. mars 2008 15

(81)

Generell induksjon og rekursjon

Definisjon

Mengden av order den minste mengden som oppfyller

Det tomme ordeteer et ord.

Hvisw er et ord ogber en bokstav, erwb et ord.

MAT1030 – Diskret matematikk 10. mars 2008 15

(82)

Generell induksjon og rekursjon

Definisjon

Mengden av order den minste mengden som oppfyller Det tomme ordeteer et ord.

Hvisw er et ord ogber en bokstav, erwb et ord.

MAT1030 – Diskret matematikk 10. mars 2008 15

(83)

Generell induksjon og rekursjon

Definisjon

Mengden av order den minste mengden som oppfyller Det tomme ordeteer et ord.

Hvisw er et ord ogber en bokstav, erwb et ord.

MAT1030 – Diskret matematikk 10. mars 2008 15

(84)

Generell induksjon og rekursjon

Merk

Dette eksemplet virker en smule kunstig, fordi vi ikke oppfatter ord slik, selv om de fleste av oss starter med tom linje, og s˚a skriver en og en bokstav fra venstre mot høyre.

Det spiller imidlertid en rolle for hvordan ord representeres som data om de sees p˚a som ordnede sekvenser med en gitt lengde eller som bygget opp ved at nye bokstaver legges til.

Ord, slik vi har definert dem, er et spesialtilfelle avlister.

En liste oppfattes som oftes som at enten er den den tomme listen e, eller s˚a er den et ordnet par av siste element og resten av listen. Mange tenker seg at ytterste element (hodet) i en liste st˚ar til venstre for resten (halen) av listen.

Programmeringspr˚aketLISP er basert p˚a listerekursjon.

MAT1030 – Diskret matematikk 10. mars 2008 16

(85)

Generell induksjon og rekursjon

Merk

Dette eksemplet virker en smule kunstig, fordi vi ikke oppfatter ord slik, selv om de fleste av oss starter med tom linje, og s˚a skriver en og en bokstav fra venstre mot høyre.

Det spiller imidlertid en rolle for hvordan ord representeres som data om de sees p˚a som ordnede sekvenser med en gitt lengde eller som bygget opp ved at nye bokstaver legges til.

Ord, slik vi har definert dem, er et spesialtilfelle avlister.

En liste oppfattes som oftes som at enten er den den tomme listen e, eller s˚a er den et ordnet par av siste element og resten av listen. Mange tenker seg at ytterste element (hodet) i en liste st˚ar til venstre for resten (halen) av listen.

Programmeringspr˚aketLISP er basert p˚a listerekursjon.

MAT1030 – Diskret matematikk 10. mars 2008 16

(86)

Generell induksjon og rekursjon

Merk

Dette eksemplet virker en smule kunstig, fordi vi ikke oppfatter ord slik, selv om de fleste av oss starter med tom linje, og s˚a skriver en og en bokstav fra venstre mot høyre.

Det spiller imidlertid en rolle for hvordan ord representeres som data om de sees p˚a som ordnede sekvenser med en gitt lengde eller som bygget opp ved at nye bokstaver legges til.

Ord, slik vi har definert dem, er et spesialtilfelle avlister.

En liste oppfattes som oftes som at enten er den den tomme listen e, eller s˚a er den et ordnet par av siste element og resten av listen. Mange tenker seg at ytterste element (hodet) i en liste st˚ar til venstre for resten (halen) av listen.

Programmeringspr˚aketLISP er basert p˚a listerekursjon.

MAT1030 – Diskret matematikk 10. mars 2008 16

(87)

Generell induksjon og rekursjon

Merk

Dette eksemplet virker en smule kunstig, fordi vi ikke oppfatter ord slik, selv om de fleste av oss starter med tom linje, og s˚a skriver en og en bokstav fra venstre mot høyre.

Det spiller imidlertid en rolle for hvordan ord representeres som data om de sees p˚a som ordnede sekvenser med en gitt lengde eller som bygget opp ved at nye bokstaver legges til.

Ord, slik vi har definert dem, er et spesialtilfelle avlister.

En liste oppfattes som oftes som at enten er den den tomme listen e, eller s˚a er den et ordnet par av siste element og resten av listen. Mange tenker seg at ytterste element (hodet) i en liste st˚ar til venstre for resten (halen) av listen.

Programmeringspr˚aketLISP er basert p˚a listerekursjon.

MAT1030 – Diskret matematikk 10. mars 2008 16

(88)

Generell induksjon og rekursjon

Merk

Dette eksemplet virker en smule kunstig, fordi vi ikke oppfatter ord slik, selv om de fleste av oss starter med tom linje, og s˚a skriver en og en bokstav fra venstre mot høyre.

Det spiller imidlertid en rolle for hvordan ord representeres som data om de sees p˚a som ordnede sekvenser med en gitt lengde eller som bygget opp ved at nye bokstaver legges til.

Ord, slik vi har definert dem, er et spesialtilfelle avlister.

En liste oppfattes som oftes som at enten er den den tomme listen e, eller s˚a er den et ordnet par av siste element og resten av listen.

Mange tenker seg at ytterste element (hodet) i en liste st˚ar til venstre for resten (halen) av listen.

Programmeringspr˚aketLISP er basert p˚a listerekursjon.

MAT1030 – Diskret matematikk 10. mars 2008 16

(89)

Generell induksjon og rekursjon

Merk

Dette eksemplet virker en smule kunstig, fordi vi ikke oppfatter ord slik, selv om de fleste av oss starter med tom linje, og s˚a skriver en og en bokstav fra venstre mot høyre.

Det spiller imidlertid en rolle for hvordan ord representeres som data om de sees p˚a som ordnede sekvenser med en gitt lengde eller som bygget opp ved at nye bokstaver legges til.

Ord, slik vi har definert dem, er et spesialtilfelle avlister.

En liste oppfattes som oftes som at enten er den den tomme listen e, eller s˚a er den et ordnet par av siste element og resten av listen.

Mange tenker seg at ytterste element (hodet) i en liste st˚ar til venstre for resten (halen) av listen.

Programmeringspr˚aketLISP er basert p˚a listerekursjon.

MAT1030 – Diskret matematikk 10. mars 2008 16

(90)

Generell induksjon og rekursjon

Merk

Dette eksemplet virker en smule kunstig, fordi vi ikke oppfatter ord slik, selv om de fleste av oss starter med tom linje, og s˚a skriver en og en bokstav fra venstre mot høyre.

Det spiller imidlertid en rolle for hvordan ord representeres som data om de sees p˚a som ordnede sekvenser med en gitt lengde eller som bygget opp ved at nye bokstaver legges til.

Ord, slik vi har definert dem, er et spesialtilfelle avlister.

En liste oppfattes som oftes som at enten er den den tomme listen e, eller s˚a er den et ordnet par av siste element og resten av listen.

Mange tenker seg at ytterste element (hodet) i en liste st˚ar til venstre for resten (halen) av listen.

Programmeringspr˚aketLISP er basert p˚a listerekursjon.

MAT1030 – Diskret matematikk 10. mars 2008 16

(91)

Generell induksjon og rekursjon

Eksempel

Som et eksempel p˚a en rekursivt definisjon av en funksjon p˚a mengden av ord kan vi betraktePL (Push Left) som virker p˚a et ord w og en bokstavaved:

PL(e,a) =a

PL(wb,a) =PL(w,a)b

Det som her skjer er at PL tar for seg et ordw og en bokstava, og skriver bokstaven foranordet, slik at vi f˚ar aw.

Egentlig burde vi vist denne egenskapen vedPL vedinduksjon, men vi avst˚ar i denne omgangen.

MAT1030 – Diskret matematikk 10. mars 2008 17

(92)

Generell induksjon og rekursjon

Eksempel

Som et eksempel p˚a en rekursivt definisjon av en funksjon p˚a mengden av ord kan vi betraktePL (Push Left) som virker p˚a et ord w og en bokstav aved:

PL(e,a) =a

PL(wb,a) =PL(w,a)b

Det som her skjer er at PL tar for seg et ordw og en bokstava, og skriver bokstaven foranordet, slik at vi f˚ar aw.

Egentlig burde vi vist denne egenskapen vedPL vedinduksjon, men vi avst˚ar i denne omgangen.

MAT1030 – Diskret matematikk 10. mars 2008 17

(93)

Generell induksjon og rekursjon

Eksempel

Som et eksempel p˚a en rekursivt definisjon av en funksjon p˚a mengden av ord kan vi betraktePL (Push Left) som virker p˚a et ord w og en bokstav aved:

PL(e,a) =a

PL(wb,a) =PL(w,a)b

Det som her skjer er at PL tar for seg et ordw og en bokstava, og skriver bokstaven foranordet, slik at vi f˚ar aw.

Egentlig burde vi vist denne egenskapen vedPL vedinduksjon, men vi avst˚ar i denne omgangen.

MAT1030 – Diskret matematikk 10. mars 2008 17

(94)

Generell induksjon og rekursjon

Eksempel

Som et eksempel p˚a en rekursivt definisjon av en funksjon p˚a mengden av ord kan vi betraktePL (Push Left) som virker p˚a et ord w og en bokstav aved:

PL(e,a) =a

PL(wb,a) =PL(w,a)b

Det som her skjer er at PL tar for seg et ordw og en bokstava, og skriver bokstaven foranordet, slik at vi f˚ar aw.

Egentlig burde vi vist denne egenskapen vedPL vedinduksjon, men vi avst˚ar i denne omgangen.

MAT1030 – Diskret matematikk 10. mars 2008 17

(95)

Generell induksjon og rekursjon

Eksempel

Som et eksempel p˚a en rekursivt definisjon av en funksjon p˚a mengden av ord kan vi betraktePL (Push Left) som virker p˚a et ord w og en bokstav aved:

PL(e,a) =a

PL(wb,a) =PL(w,a)b

Det som her skjer er at PLtar for seg et ord w og en bokstava, og skriver bokstaven foranordet, slik at vi f˚ar aw.

Egentlig burde vi vist denne egenskapen vedPL vedinduksjon, men vi avst˚ar i denne omgangen.

MAT1030 – Diskret matematikk 10. mars 2008 17

(96)

Generell induksjon og rekursjon

Eksempel

Som et eksempel p˚a en rekursivt definisjon av en funksjon p˚a mengden av ord kan vi betraktePL (Push Left) som virker p˚a et ord w og en bokstav aved:

PL(e,a) =a

PL(wb,a) =PL(w,a)b

Det som her skjer er at PLtar for seg et ord w og en bokstava, og skriver bokstaven foranordet, slik at vi f˚ar aw.

Egentlig burde vi vist denne egenskapen vedPL vedinduksjon, men vi avst˚ar i denne omgangen.

MAT1030 – Diskret matematikk 10. mars 2008 17

(97)

Generell induksjon og rekursjon

Eksempel (Fortsatt)

Følgende regne-eksempel viser hvordan PL virker: PL(aba,c) =

PL(ab,c)a= PL(a,c)ba= PL(e,c)aba= caba

MAT1030 – Diskret matematikk 10. mars 2008 18

(98)

Generell induksjon og rekursjon

Eksempel (Fortsatt)

Følgende regne-eksempel viser hvordan PL virker:

PL(aba,c) = PL(ab,c)a= PL(a,c)ba= PL(e,c)aba= caba

MAT1030 – Diskret matematikk 10. mars 2008 18

(99)

Generell induksjon og rekursjon

Eksempel (Fortsatt)

Følgende regne-eksempel viser hvordan PL virker:

PL(aba,c) =

PL(ab,c)a= PL(a,c)ba= PL(e,c)aba= caba

MAT1030 – Diskret matematikk 10. mars 2008 18

Referanser

RELATERTE DOKUMENTER

V˚ are eksempler vil ofte g˚ a ut p˚ a ˚ a vise at en formel for det generelle leddet i en følge som vi har definert ved rekursjon er riktig.. I flere eksempler vil den naturlige

Hvis vi skal analysere hvor tidkrevende en algoritme kan være, m˚ a vi vite hvor mange regneskritt som kreves, og hvor lang tid hvert enkelt skritt tar. Induksjonsbevis kan inng˚ a

Kan vi finne en formel for hvor mange felter vi maksimalt kan dele planet i ved hjelp av n

Vi bruker bokstaver i kursiv som variable over bokstavene p˚ a tastaturet, og vi kan bruke andre bokstaver i kursiv som variable for ord, hvor:.. MAT1030 – Diskret

Rekursjon er et spesialtilfelle av selvkallende prosedyrer, hvor vi definerer en funksjon f (x) ved ˚ a bruke verdier f (y ) for enkelte y avhengige av x.. En slik definisjon kan

Vi kan i prinsippet bruke induksjon som bevisform for enhver ordning som ikke tillater noen uendelig strengt synkende følge. Vi skal ikke presse denne sitronen lenger, det er

Hvis w er et korrekt parentesuttrykk, og vi leser w fra venstre mot høyre, finner vi ikke noe sted hvor det har vært flere høyre- enn

Hvis w er et korrekt parentesuttrykk, og vi leser w fra venstre mot høyre, finner vi ikke noe sted hvor det har vært flere høyre- enn