24
al-Khwarizmi Raˇ cunalniˇ stvo 1 1. Algoritmi Vladimir Batagelj Univerza v Ljubljani FMF, matematika razliˇ cica: 15. oktober 2006 / 10 : 40

Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

Embed Size (px)

Citation preview

Page 1: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

'

&

$

%al-Khwarizmi

Racunalnistvo 11. Algoritmi

Vladimir BatageljUniverza v LjubljaniFMF, matematika

razlicica: 15. oktober 2006 / 10 : 40

Page 2: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 2'

&

$

%

Kazalo1 Problemi in algoritmi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

5 Zapis postopkov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

22 Dodatni viri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 3: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 1'

&

$

%

Problemi in algoritmiProblem dolocajo:

• (Dopustno) zacetno stanje, podatki

• Dovoljena sredstva, transformacije izvedljive v koncnem casu

• Koncno stanje, rezultati

Postopek je koncen nabor navodil, razumljiv za izvajalca.

Izvedbi postopka pravimo izracun.

Postopek resitve problema ali algoritem je postopek, ki v koncno korakih(uporabljenih transformacijah) vsako dopustno zacetno stanje prevede vzeleno koncno stanje – resitev problema.

Kadar za nek problem obstaja algoritem, pravimo, da je problem algo-ritmicno resljiv.

Primerek problema (problem in znani podatki) imenujemo naloga.

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 4: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 2'

&

$

%

Recepti

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 5: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 3'

&

$

%

Navodila

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 6: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 4'

&

$

%

Navodila

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 7: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 5'

&

$

%

Zapis postopkov

Post Church

Turing Markov

• besedni;

• diagrami poteka;

• formalni:

– logicno-matematicni:Postovi sistemi, Turingovistroji, Churchev λ-racun, re-kurzivne funkcije, algoritmiMarkova, sheme programov,. . .

– programski jeziki.

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 8: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 6'

&

$

%

Diagrami poteka

zacetek

opravilo

odlocitev,razvejisce

sticisce

konec

V pravilno zgrajenem diagramu poteka je en sam zacetekin vsaka tocka lezi na vsaj eni poti od zacetka do nekegakonca.

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 9: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 7'

&

$

%

Desetiski sestav

Desetiski sestav izvira iz Indije in jecez arabce prisel v Evropo s posre-dovanjem italijanskih trgovcev (Fibo-nacci). Pri tem je imel pomembnovlogo al-Khwarizmi, ki je o tem napi-sal knjigo, ki je bila prevedena v la-tinscino. Njegovo latinizirano ime Al-gorism je osnova besede algoritem, izarabskega naslova knjige pa je izsla be-seda algebra.

Galera

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 10: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 8'

&

$

%

Desetisko sestevanje

5963781+ 58149--------111 116021930

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 11: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 9'

&

$

%

Desetisko mnozenje

Abakist proti algoristu, iz Gregor Reisch:Margarita Philosophica, Strassbourg, 1504.

Pred tem so v Evropi uporabljalirimske stevilke; za racunanje znjimi pa abakus. Kar nekaj stole-tij je bilo potrebnih, da so arabskestevilke in novi algoritmicni (pisni)nacin racunanja izpodrinili starega.

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 12: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 10'

&

$

%

Mnozenje desetiskih stevilk / Gelosia

Okrog leta 1478 sov Trevisu, Italija, vTreviski aritmetiki po-znali 4 nacine mnozenjapo postopku gelosia(resetka).

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 13: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 11'

&

$

%

Matematicni obrazci

x1,2 =−b±

√b2 − 4ac

2a

s =12(a + b + c)

p =√

s(s− a)(s− b)(s− c)

sinx =∞∑

k=0

x2k+1

(2k + 1)!

Ce zmoremo samo osnovne racunske opera-cije (npr. racunalo), prvi obrazec doloca na-slednji postopek izracuna.predpostavimo a 6= 0

d← b ∗ b

e← a ∗ c

e← 4 ∗ e

d← d− e

ce je d < 0, sta korena kompleksna, koncajd←

√d

e← −b

x1 ← e + d

x2 ← e− d

e← 2 ∗ a

x1 ← x1/e

x2 ← x2/e

Zmoznost prevajanja aritmeticnih izrazov je bila v zacetkih racunalnistva velik dosezek:

FORTRAN (1954) – FORmula TRANslation.

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 14: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 12'

&

$

%

Egipcani, Mezopotamci, Kitajci

kvadratni koren

Vrsto algoritmov za resevanje vsa-kodnevnih problemov so poznali zestari narodi.V Mezopotamiji so npr. ze okrog1600 pr.n.s. uporabljali razlicicoNewtonovega postopka

x′ ← 12(x +

a

x)

za racunanje priblizne vrednostikvadratnega korena iz a.Na sliki je prikazana glinastaploscica z diagonalo enotskegakvadrata z vrednostjo 1.4142129(prava je 1.414213562).

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 15: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 13'

&

$

%

Evklidov algoritem

Evklid

Evklid: Elementi, knjiga 7, trditev 1.

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 16: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 14'

&

$

%

Evklidov algoritem

Rekurzivna dolocitev: a, b ∈ Z

gcd(a, b) =

|a| b = 0

gcd(b, a mod b) sicer

V Javascriptu:

function gcd(a,b){if (b == 0) {return( Math.abs(a) );

} else {return( gcd(b, a % b) );

}}

gcd(516, 924) = gcd(924, 516) = gcd(516, 408) = gcd(408, 108) =gcd(108, 84) = gcd(84, 24) = gcd(24, 12) = gcd(12, 0) = 12

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 17: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 15'

&

$

%

Eratostenovo reseto

Eratosten (okrog 200 pr.n.s.) je sestavil naslednji postopek dolocanjaprastevil:

Zapisi zaporedje naravnih stevil 1, 2, 3, 4, 5, . . . , n. Precrtaj 1. Natoponavljaj dokler je se kaka neoznacena stevilka: poisci prvo neoznacenostevilko k in jo obkrozi – je prastevilo; precrtaj vse k-kratnike v zaporedju.Na koncu so obkrozena natanko prastevila.

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 18: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 16'

&

$

%

Nacrtovalne naloge

Pri nacrtovalnih nalogah (geometrijskih konstrukcijah) so podatki koncnamnozica tock v ravnini.

Dovoljeni sredstvi sta ravnilo (brez merila) in sestilo. Predpostavimo, dasta ravnilo in sestilo lahko poljubno velika.

Namesto ravnila in sestila bi lahko vzeli poljubno dolgo napeto vrvico.

Tudi rezultati so doloceni s tockami v ravnini.

Nacrtovalna naloga je resljiva, ce lahko samo z uporabo ravnila in sestiladolocimo v koncno korakih tocke, ki dolocajo zeleni rezultat.

Mohr (1672) in Mascheroni (1797) sta pokazala, da ravnila ne potrebujemo– zadostuje samo sestilo.

Poncelet-Steinerjev izrek (1833) pa pravi, da zadosca tudi en krog z znanimsrediscem in samo ravnilo.

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 19: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 17'

&

$

%

Nacrtovalne naloge16 Osnove

JJ

JJ

JJ

JJ bb

����������

bb

a

s &%'$bb

"!# b b

b

s s &%'$bb

��������

bb

c

ss

Slika 1.1: Geometrijske konstrukcije

• pravila: tocka T pripada razredu K, ce jo lahko dobimo kot presecisce:dveh razlicnih premic (slika 1.1.a), dveh razlicnih kroznic (slika 1.1.b)ali pa premice in kroznice (slika 1.1.c); pri tem so te premice inkroznice dolocene z ze dobljenimi tockami razreda K.

Pri dokazu neresljivosti problema kvadrature kroga potrebujemo se enegaod pomembnejsih matematicnih dosezkov prejsnjega stoletja: stevilo π nialgebrajsko (je transcendentno; Lindemann, 1882). 2

PRIMER 1.2 Programski jeziki. Algol je bil prvi programski jezik sformalno opisano slovnico [39]. Na strani 17 je prikazan opis definicijepojma algolskega aritmeticnega izraza. Pri opisu slovnice programskegajezika pascal se obicajno uporabljajo slovnicni diagrami, ki so preglednejsiod slovnic. Diagram na strani 18 opisuje pojem pascalskega aritmeticnegaizraza [59]. 2

PRIMER 1.3 Krivulje. Poznana je cela vrsta krivulj, ki zapolnjujejoprostor (obicajno kvadrat). Opisanih je bilo tudi vec postopkov za risanjeteh krivulj [20]. Izkaze se, da jih je mogoce opisati tudi kot induktivnerazrede, z uporabo socasnih pravil – na vsakem koraku konstrukcije izbe-remo neko pravilo in ga uporabimo na vseh pojavitvah njegove leve straniv reci. Iz tega opisa je zelo enostavno sestaviti tudi ustrezne postopke zarisanje.

Razred Hilbertovih krivulj lahko induktivno definiramo (slika 1.4) tako,kot je prikazano na sliki 1.5. Pri tem so “zivi” deli krivulje prikazanis puscicami, “oleseneli” pa z debelejso crto. Slednji ostanejo trajni delkrivulje. 2

Nove tocke dobimo kot presecisca: dveh razlicnih premic (slika a), dvehrazlicnih kroznic (slika b), ali pa premice in kroznice (slika c). Pri tem so tepremice in kroznice dolocene z ze dobljenimi tockami.

p(A,B) – premica skozi razlicni tocki A in B.

k(A,AB) – kroznica s srediscem v tocki A in polmerom AB.

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 20: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 18'

&

$

%

Primer nacrtovalne naloge

Dani tocki A in B dolocata stranicokvadrata. Nacrtaj ga!

p = p(A,B)A′ = p ∩ k(B,BA) \ {A}{E,E′} = k(A,AA′)∩k(A′, A′A)q = p(E,E′)q ⊥ p

{C,C ′} = q ∩ k(B,BA)D = k(A,AB) ∩ k(C,AB) \ {B}kvadrat ABCD

SVGeom

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 21: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 19'

&

$

%

Trije problemi starogrske matematike

• Raztretjinjenje kota.

• Kvadratura kroga.

• Podvojitev kocke.

Z dovoljenimi sredstvi (ravnilo in sestilo) niso resljivi.

Arhimed je nasel resitev raztretjinjenja kota, ce na ravnilu lahko oznacimoodmerek CD = r.

1

ba

p = a b

q = a / b1

a

b

1 m

r (1 + r2) + (r2 + m2) = (1 + m)2

r2 = m

Thus, construction by ruler and compass is reduced to the question whether some desired quantity can be expressed in terms of rational operations and square roots.

Thm: A proposed construction is possible by ruler and compass iff the numbers which define analytically the desired geometric elements can be derived from those defining the given elements by a finite number of rational operations and extractions of real square roots.

Possible construction: Equilateral polygon of 17 sides, “17-gon” (Carl Friedrich Gauss 1777-1855)

Impossible constructions: Equilateral heptagon , “7-gon” (Gauss). Doubling a unit cube (solve x3 = 2).

Thm: There is no algorithm to trisect an arbitrary angle with ruler and compass.

... and yet, Archimedes (~287 B.C. - ~ 212 B.C) found a procedure to trisect an arbitrary angle:

Given angle AOB = 3x in a unit circle. Ruler CB has a mark D at distance CD = radius = 1. Slide C along the x-axis until D lies on the circle. Then, angle ACB = x.

x 3xO A

B

C

D

y 3xO A

B

CD

Msg: “minor” changes in a model of computation may have drastic consequences - precise definition needed!

Hw 1.1: The quadratic equation x2 + bx + c = 0 has roots x1, x2 = (-b ± sqrt(b2 - 4c)) / 2. Prove that in the ruler and compass construction shown below, the segments x1 and x2 are the solutions of this equation.

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 22: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 20'

&

$

%

Neresljivi nacrtovalni problemi

Se dva tovrstna problema:

• nacrtati trikotnik, ce so znane dolzine daljic, ki razpolavljajo njegovekote; to ni mogoce niti za take enakokrake trikotnike (dve daljici staenaki);

• nacrtati pravilni n-kotnik;

– ce je mogoce nacrtati pravilna n1-kotnik in n2-kotnik, kjer sta n1

in n2 tuji si stevili, je mogoce nacrtati tudi pravilni n1 · n2-kotnik;

– mogoce je nacrtati pravilni 2k-kotnik, k > 1;

– ce je pk · (p − 1) 6= 2n, p je prastevilo, pravilnega pk-kotnika nimogoce nacrtati;

– mogoce je nacrtati se pravilne p-kotnike, za kater je p = 2n + 1 inje p prastevilo.

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 23: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 21'

&

$

%

Church-Turingova domneva in problem ustavljivosti

Za prej omenjene logicne zapise se je izkazalo, da so med seboj enako-vredni. Church-Turingova domneva pravi, da opisujejo natanko pojempostopka – vsak zapis doloca postopek; in za vsak postopek obstaja ustreznizapis (nad ustreznimi formalnimi objekti). Sele s privzetjem te domnevelahko razmisljamo o mejah izracunljivosti.

Pokazati je mogoce, da obstajajo algoritmicno neresljiva vprasanja – npr.problem ustavljivosti: ne obstaja algoritem, ki bi za vsak dani postopekin podatke dal odgovor ali se izracun iztece. Drugo tako vprasanje jevprasanje enakovrednosti algoritmov: ne obstaja algoritem, ki bi za vsakpar algoritmov odlocil ali data vselej isti rezultat.

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6

Page 24: Racunalni tvo 1 / 1. Algoritmi - vlado.fmf.uni-lj.sivlado.fmf.uni-lj.si/vlado/rac1/rac01.pdf · V. Batagelj: Racunalniˇ stvo 1 / 1. Algoritmiˇ 1 Problemi in algoritmi Problem dolocajo:ˇ

V. Batagelj: Racunalnistvo 1 / 1. Algoritmi 22'

&

$

%

Dodatni viri1. Norbert Hungerbuhler: A Short Elementary Proof of the Mohr-Mascheroni Theorem,

American Mathematical Monthly, Vol. 101, No. 8 (Oct., 1994), 784-787. Citeseer.

2. Nick Savoiu: Deus Ex Machina. splet.

3. George Polya: Kako resujemo matematicne probleme?, DMFA, Ljubljana, 1989.Amazon.

4. Jean-Luc Chabert et al.: A History of Algorithms, Springer, Berlin, 1999. Amazon.

5. Luca Pacioli: Summa de arithmetica, geometria, proportioni et proportionalita, 1494.splet

6. The Schoyen Collection, splet

7. Program Dia za risanje diagramov. splet

Univerza v Ljubljani, FMF, matematika s s y s l s y ss * 6