Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u...
Transcript of Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u...
![Page 1: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/1.jpg)
Uvodno predavanje•Znači želite se baviti računalima u životu?
•Idemo natrag u osnovnu školu: Množenje dva broja
Mirko PlaninićPMF
Predavanje Predavanje 11
![Page 2: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/2.jpg)
Želite se baviti računalima?
![Page 3: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/3.jpg)
Da li je vaš cilj da postaneteobičan programer?
![Page 4: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/4.jpg)
Ili veliki vođa i mislilac ?
![Page 5: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/5.jpg)
Originalno razmišljanje
![Page 6: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/6.jpg)
Šef daje zadatak:
– Zadane su današnje cijene svinjetine, žita …– Zna se koliko čega ide u hotdog.– Napravite najjeftiniji hotdog.
Industrija svakodnevno postavlja takva pitanja.
![Page 7: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/7.jpg)
Vaš odgovor može biti:
• Hm? Recite mi što da isprogramiram.
Sa sve sofisticiranijim softwareskim sistemima,potreba za običnim programerima će nestajati.
![Page 8: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/8.jpg)
Vaš odgovor može biti i:
• Naučio sam onaj super algoritam koji ću ovdje primjeniti.
Uskoro ćete sve poznate algoritme
moći naći u bibliotekama.
![Page 9: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/9.jpg)
Vaš odgovor može biti:
• Mogu napraviti novi algoritam za vas.
Veliki mislioci će se
uvijek tražiti.
![Page 10: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/10.jpg)
Budućnost pripada računalnom znalcu koji posjeduje
– Sadržaj: Najnoviji popis problema i rješenja– Metodu: Principe i tehnike za rješavanje
velikog skupa nepoznatih problema koji se pojavljuju u brzomijenjajućem području rada
![Page 11: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/11.jpg)
Sadržaj kolegija
• Popis algoritama. – Naučite ih isprogramirati.– Budite sigurni da rade.– Primjenite ih. class InsertionSortAlgorithm extends SortAlgorithm
{
void sort(int a[]) throws Exception {
for (int i = 1; i < a.length; i++) {
int j = i;
int B = a[i];
while ((j > 0) && (a[j-1] > B)) {
a[j] = a[j-1];
j--; }
a[j] = B;
}}
![Page 12: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/12.jpg)
Sadržaj Kolegija• Pregled tehnika stvaranja algoritama.• Apstraktno razmišljanje.• Kako razviti nove algoritme za bilo koji
problem koji može iskrsnuti.
![Page 13: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/13.jpg)
Otklanjanje Bug-ova
![Page 14: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/14.jpg)
Istraživanje:
• Programerima je dan zadatak da naprave binarno pretraživanje.
![Page 15: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/15.jpg)
Istraživanje:
• Programerima je dan zadatak da naprave binarno pretraživanje.
80% ih je napravilo krivo
Sva sreća da nije bilo za nuklearnu elektranu.
![Page 16: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/16.jpg)
Što im je nedostajalo?
![Page 17: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/17.jpg)
Što im je nedostajalo?
• Formalne metode dokazivanja?
![Page 18: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/18.jpg)
Što im je nedostajalo?
• Formalne metode dokazivanja ?
Da, vjerojatno ...
Industrija počinje shvaćati da su formalni dokazi
potrebni.
Ali i bez formalnih
metoda …. ?
![Page 19: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/19.jpg)
Što im je nedostajalo?• Fundamentalno razumijevanje tehnika
stvaranja algoritama.• Apstraktno razmišljanje.
![Page 20: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/20.jpg)
Sadržaj kolegija
Notacije, analogije, i apstrakcijeza razvijanje,
razmišljanje o, i opisivanje algoritama
![Page 21: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/21.jpg)
Pitanja se smiju postavljati !
![Page 22: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/22.jpg)
Pregled fundamentalnihideja i tehnika stvaranja
algoritama
Na primjer . . .
![Page 23: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/23.jpg)
Počnimo s matematikom
Veličina ulaza
Vrije
me
Klasificirane Funkcijef(i) = nΘ(n)
Kompleksnost vremenat(n) = Θ(n2)
Jednostavno zbrajanje∑i=1 f(i).
Rekurzivne RelacijeT(n) = a T(n/b) + f(n)
![Page 24: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/24.jpg)
Iterativni algoritmiInvarijantne petlje
<preCond> codeA loop
<loop-invariant>exit when <exit Cond>codeB
codeC<postCond>
i-1 i
ii0 T+1
9 km
5 km
Korak po korakCode Utrka
![Page 25: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/25.jpg)
Rekurzivni algoritmi
?
?
![Page 26: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/26.jpg)
Pohlepni algoritmi
![Page 27: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/27.jpg)
Algoritmi DinamičkogProgramiranja
![Page 28: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/28.jpg)
Redukcija
=
![Page 29: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/29.jpg)
Korisne metode učenja
![Page 30: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/30.jpg)
Čitajte unaprijed
Predavanja možete naći na web - u :www.phy.hr/~planinic/nastava/nastava.htmlTo olakšava diskusiju za vrijeme predavanja.
![Page 31: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/31.jpg)
Objašnjavanje
• Morate znati objasniti stvar.
• Najbolje je da objašnjavate sebi i drugima glasno, pa čak i svojem punjenom medvjedu.
![Page 32: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/32.jpg)
Dok dan traje ...
Razmišljajte (sanjarite)
Fizika nije uvijek linearnorazmišljanje.
Dopustite da sržmaterijala uđe u vašu
podsvijest.Isprobajte ideje koje
nastaju kao bljeskovi inspiracije.
![Page 33: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/33.jpg)
Budite kreativni•Pitajte pitanja. • Zašto je to napravljeno na ovaj način ili drugi ?
![Page 34: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/34.jpg)
Pogađanja i protuprimjeri
• Pogađajte potencijalne algoritme za rješavanje problema.
• Tražite one primjere ulaznih podataka za koje algoritam daje krive rezultate.
![Page 35: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/35.jpg)
Ponovno podešavanje:Najbolje rješenje dolazi kad se proces
podešavanja algoritma ponavlja
![Page 36: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/36.jpg)
Vratimo se u osnovnu školu:Kako ćemo množiti dva broja ?
2 X 2 = 5
Nekoliko primjera AlgoritamaNekoliko primjera Algoritama
![Page 37: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/37.jpg)
Kompleksni brojevi•Sjećate se kako se množe kompleksni brojevi?
•(a+bi)(c+di) = [ac –bd] + [ad + bc] i
•Input: a,b,c,d Output: ac-bd, ad+bc
•Ako množenje realnih brojeva košta 1 kn a zbrajanje 1 lipu. Koji je najjeftiniji način da se dobije izlaz (output) pomoću ulaza (inputa)?
•Možete li izračunati za manje od 4.02 kn?
![Page 38: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/38.jpg)
Gaussova metoda za 3.05 kn :Input: a,b,c,d Output: ac-bd, bc+ad
• X1 = a + b• X2 = c + d• X3 = X1 X2 = ac + ad + bc + bd• X4 = ac• X5 = bd• X6 = X4 – X5 = ac-bd• X7 = X3 – X4 – X5 = bc + ad
![Page 39: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/39.jpg)
Pitanje:•Gausov “hack” štedi jedno od 4 množenja. Zahtjeva 25% manje posla.
•Postoji li neki primjer gdje izvođenje 3 množenja umjesto 4 daje dramatične uštede?
![Page 40: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/40.jpg)
BonzoOdette
![Page 41: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/41.jpg)
Kako zbrojiti 2 n-bitna broja ?
**
**
**
**
**
**
**
**
**
**
**+
![Page 42: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/42.jpg)
Kako zbrojiti 2 n-bitna broja ?
**
*
* **
**
**
**
**
**
**
**
**
**+
![Page 43: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/43.jpg)
Kako zbrojiti 2 n-bitna broja ?* **
* **
*
**
*
**
**
**
**
**
**
**
**+
![Page 44: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/44.jpg)
Kako zbrojiti 2 n-bitna broja ?* **
* **
*
* **
*
**
*
**
**
**
**
**
**
**+
![Page 45: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/45.jpg)
Kako zbrojiti 2 n-bitna broja ?* **
* **
*
* **
*
* **
*
**
**
*
**
**
**
**
**+
![Page 46: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/46.jpg)
Kako zbrojiti 2 n-bitna broja ?* **
*
* **
*
* **
*
* **
*
* **
*
* **
*
* **
*
* **
*
* **
*
***
*
**
*
+*
*
![Page 47: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/47.jpg)
Kompleksnostvremena običnog zbrajanja
**
*
* **
*
* **
*
* **
*
* **
*
* **
*
* **
*
* **
*
* **
*
* **
*
+*
*
* **
* T(n) = Vrijeme potrebno za zbrajanje 2 n-bitna broja= θ(n) = linearno u vremenu.
Na svakom računalu zbrajanje 3 bita se može napraviti u konačnom vremenu.
![Page 48: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/48.jpg)
f = θ(n) znači da se f može staviti u sendvič između dvije linije
# broj bitova u brojevima
vr
i
j
e
m
e
![Page 49: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/49.jpg)
Pitajte pitanja!
Rudich www.discretemath.com
![Page 50: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/50.jpg)
Možemo li zbrajati brže?
• PITANJE: Postoji li algoritam koji zbraja dva n-bitna broja čije vrijeme raste pod-linearno s n ?
![Page 51: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/51.jpg)
Svaki algoritam za zbrajanje mora pročitati ulazne bitove
– Pretpostavite da postoji misteriozni algoritam koji ne ispituje ulazne bitove
– Dajte algoritmu par ulaznih brojeva. Mora postojati neka bit lokacija i koju ne moramo ispitivati
– Ako algoritam ne radi na paru brojeva našli smo Bug
– Ako je algoritam ispravan, promijenite bit na položaju i i dajte mu novi par brojeva. Daje isti odgovor kao i prije znači da mora biti pogrešan jer se suma morala promijeniti.
![Page 52: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/52.jpg)
Svaki algoritam za zbrajanje mora biti linearan s obzirom na veličinu broja.
Zbrajanje je najbolji mogući algoritam(ne može biti jednostavnije).
![Page 53: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/53.jpg)
Kako množiti 2 n-bitne brojeve.
X * * * * * * * * * * * * * * * *
* * * * * * * ** * * * * * * *
* * * * * * * ** * * * * * * *
* * * * * * * ** * * * * * * *
* * * * * * * ** * * * * * * *
* * * * * * * * * * * * * * * *
n2
![Page 54: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/54.jpg)
Kako množitiKako množiti 2 n2 n--bitbitnana broja?broja?
X * * * * * * * * * * * * * * * *
* * * * * * * ** * * * * * * *
* * * * * * * ** * * * * * * *
* * * * * * * ** * * * * * * *
* * * * * * * ** * * * * * * *
* * * * * * * * * * * * * * * *
n2
Aha! Ukupno vrijeme je ograničeno s cn2.
![Page 55: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/55.jpg)
Zbrajanje: Linearno u vremenuMnoženje: Kvadratno u vremenuv
r
i
j
e
m
e # bitova u brojevima
•Bez obzira na razliku u konstantama kvadratičnakrivulja će dominirati nad linearnom.
![Page 56: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/56.jpg)
Super! Pokazali smo da kad veličina brojeva raste množenje ispada
kompliciranije.
Matematički dokaz uvriježenog mišljenja.
![Page 57: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/57.jpg)
Nemojte prerano zaključivati!Pokazali smo samo da množenje troši
više vremena nego zbrajanje.
Da bismo dokazali da je množenje težiproblem od zbrajanja trebali bismo pokazati da niti jedan algoritam za
množenje ne radi linearno u vremenu.
![Page 58: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/58.jpg)
Zbrajanje: θ(n) vrijemeMnoženje: θ(n2) vrijeme
Postoji li pametan algoritam koji bi množio dva broja
linearno u vremenu?
![Page 59: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/59.jpg)
Usprkos godinama istraživanja nitko ga nije pronašao! Ako riješte taj problem
PMF će vam dati doktorat !
![Page 60: Predavanje 1planinic/nast/spa/spa1.pdfUvodno predavanje •Znači želite se baviti računalima u životu? •Idemo natrag u osnovnu školu: Množenje dva broja Mirko Planinić PMF](https://reader033.fdocument.pub/reader033/viewer/2022061002/60b13ffdbdda3526d738820e/html5/thumbnails/60.jpg)
KRAJ