17
Pripremni materijali za Nedelju informatike Organizatori Nedelje informatike 1. april 2018

Organizatori Nedelje informatike 1. april 2018...Od posebnog značaja su nelinearne diferencijalne jednačine čija su analitička re-šenja retko moguća. Srećom, korišćenjem numeričkih

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Pripremni materijali za Nedelju informatike

Organizatori Nedelje informatike

1. april 2018

2

Sadržaj

1 O ovom dokumentu 5

1.1 Priprema za predavanja . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2 Raspored Nedelje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.3 Autori materijala . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Pripremni materijali 7

2.1 Računarsko modelovanje širenja bolesti . . . . . . . . . . . . . . . . . 72.1.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.1.2 Numpy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.1.3 Matplotlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.1.4 Diferencijalne jednačine . . . . . . . . . . . . . . . . . . . . . 92.1.5 Primer za vežbu . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2 Kako videti n dimenzija? . . . . . . . . . . . . . . . . . . . . . . . . . 122.3 Učenje sa pojačavanjem . . . . . . . . . . . . . . . . . . . . . . . . . . 142.4 Simulacija �zičkih interakcija u dvodimenzionalnom prostoru . . . . 15

3

4 SADRŽAJ

Glava 1

O ovom dokumentu

Priprema za predavanja

Svesni smo da predznanje polaznika Nedelje informatike dosta varira u nekimoblastima. Koliko smo mogli, potrudili smo se da predavanja učinimo pristupačnimsvima koji su uspeli da prođu naš "ulazni test".

Ipak, pojedina predavanja zahtevaju poznavanje nekih matematičkih pojmovakoje možda nisu svi videli do sada, a njihovo uvođenje i objašnjavanje bi nam od-uzelo previše vremena koje bismo mogli da iskoristimo za daleko zanimljivije stvari.Radionice bi bilo teško realizovati ukoliko biste po prvi put čuli ili videli za neke stvarikoje ćemo na njima koristiti. Ovi materijali postoje da bi vas spremili i ne bi trebaloda vam njihovo čitanje oduzme previše vremena.

Trudili smo se da pojasnimo ove pojmove što je moguće jednostavnije. Ukoliko jenešto nejasno, postoji dosta materijala o stvarima koje su ovde napisane koje možeteda nađete i online jako lako. Ukoliko još uvek imate problema, obratite nam se!

Raspored Nedelje

Raspored predavanja i radionica na Nedelji informatike je �eksibilan, ali ovo jetrenutni plan:

• Ponedeljak

– Uvod u paralelno procesiranje – Miloš Stanojević

– Formalna veri�kacija programa – Andrej Ivašković

– Modelovanje širenja bolesti – Vuk Vuković

• Utorak

– Emission security – Dimitrije Erdeljan

– Kako videti n dimenzija? – Nikola Jovanović

– Od NAND-a do procesora – Lazar Mitrović

• Sreda

5

6 1.3. AUTORI MATERIJALA

– Učenje sa pojačavanjem – Petar Veličković– OpenAI Gym radionica – Filip Vesović, Vladimir Milenković

• Četvrtak

– Više o segmentnim stablima – Kosta Grujčić– Simulacija �zičkih interakcija u dvodimenzionalnom prostoru –

David Davidović– Programirati znači dokazati – Andrej Ivašković

• Petak

– 3D gra�ka – Marko Stanojević– Regularni izrazi kroz primere – Mina Šekularac– The next frontier of Machine Learning – Jovana Mitrović

Predavanja traju po sat vremena. Između predavanja će biti pauze od oko 15minuta.

Svim danima će predavanja biti održana u Matematičkoj gimnaziji (KraljiceNatalije 37). Tada ćemo sve vreme biti u jednom od kabineta na trećem spratu i pre-davanja će početi u 14:00 ovim danima.

Imajte u vidu ovaj raspored pri čitanju ovih materijala: do ponedeljka pročitajtesve što je relevantno za "Računarsko modelovanje širenja bolesti", do srede sve što jerelevantno za "Učenje sa pojačavanjem" itd.

Autori materijala

Ove materijale su sastavili organizatori Nedelje informatike, i to konkretno:

1. Računarsko modelovanje širenja bolesti – Vuk Vuković

2. Kako videti n dimenzija? – Nikola Jovanović

3. Učenje sa pojačavanjem – Petar Veličković

4. Simulacija �zičkih interakcija u dvodimenzionalnom prostoru – DavidDavidović

Glava 2

Pripremni materijali

Računarsko modelovanje širenja bolesti

Uvod

Svrha ovog predavanja će biti da vam prikaže na koji način se računari moguprimeniti na modelovanje realnih problema iz svakodnevnice. Takođe, plan je da na-učite i osnove Python biblioteka numpy i matplotlib kako biste u budućnosti mogli dabrzo i elegantno rešavate razne probleme: od obrade rezultata laboratorijskih vežbina fakultetu do maturskih ili istraživačkih radova.

Python se izdvaja kao odličan jezik za rešavanje ovakvih problema uzimajući uobzir njegov visok nivo apstrakcije i mogućnost pisanja koncizno koda sa velikomslobodom. U daljem tekstu biće smatrano da je čitalac upoznat sa osnovama jezikaPython, tj. njegovom sintaksom, petljama, funkcijama, primitivnim i apstraktnim ti-povima podataka (int, �oat, string, boolean, liste, skupovi, rečnici) kao i njihovimoperacijama.

Pored instalacije samog Python-a, biblioteke koje su nam potrebne su numpy,matplotlib i scipy. U zavisnosti od operativnog sistema koji koristite, pomenute stvarise relativno jednostavno instaliraju prateći uputstva sa zvaničnih sajtova. Takođe,Python zajedno sa svim potrebnim bibliotekama je moguće instalirati i koristiti izokruženja Spyder u okviru paketa Anaconda.

Numpy

Numpy je Python biblioteka koja se najčešće koristi u naučne svrhe i pre svegaomogućava e�kasnu upotrebu više-dimenzionih nizova u programskom jeziku Pyt-hon.

Za početak, potrebno je dodati modul numpy.1 import numpy as np

Nadalje, prilikom korišćenja funkcija iz ovog modula pozivi će se odvijati pomoćuskraćenice np.

Osnovni objekat u radu sa numpy bibliotekom je homogeni multidimenzioni nizkoji predstavlja tabelu elemenata (najčešće brojeva) koji su svi istog tipa.

Za početak, pogledajmo načine na koje se mogu de�nisati numpy nizovi.1 # Niz od 3 elementa2 np.array ([5,7,8])

7

8 2.1. RAČUNARSKO MODELOVANJE ŠIRENJA BOLESTI

3 # Matrica dimenzija 2x34 np.array ([[1. , 0., 0.], [0., 1., 2.]])5 # Nula matrica dimenzija 3x46 np.zeros ((3,4))7 # Višedimenzioni niz 2x4x3 ispunjen jedinicama8 np.ones ((2,4,3))9 # Matrica dimnezija 2x3 ispunjena slučajnim

10 # vrednostima od 0 do 111 np.random ((2,3))

Veoma korisne funkcije arange i linspace nam omogućavaju stvaranje ekvidi-stantnih sekvenci u određenim granicama.

1 # niz brojeva od 10 do 30 (bez 30) sa korakom 0.52 np.arange (10, 30, 0.5)3 # niz od 1000 ekvidistantnih tačaka od 0 do 104 np.linspace(0, 10, 1000)

Najpogodnija stvar koju numpy omogućava jeste primena funkcija i aritmetičkihizraza na njegove objekte.

1 A = np.array ([[1,1], [0 ,1]])2 B = np.array ([[2,0], [3 ,4]])3

4 # razlika matrica A i B5 C = A-B6 # proizvod pojedinačnih elemenata7 D = A*B8 # matrični proizvod9 E = np.dot(A, B)

10

11 x = np.linspace(0, 2*np.pi, 100)12 t = np.arange(0, 10, 100)13

14 # vrednosti funkcije 2sin(x) zadate nizom x15 y = 2*np.sin(x)16 # vrednosti funkcije e^(-x^2*t) zadate nizovima x i t17 g = np.exp(-x**2*t)18 # Maksimalna vrednost niza19 M = max(y)20 # Suma niza21 S = sum(y)

Matplotlib

Biblioteka matplotlib omogućava iscrtavanje gra�ka, histograma, scatterplot i 3Dgra�ka u Python-u. Najčešće se koristi u uskoj vezi sa numpy bibliotekom.

Modul ove biblioteke se uvozi na sledeći način (sa najčešćom skraćenicom plt).1 import matplotlib.pyplot as plt

Svi gra�ci se crtaju na platnu koje se naziva �gure. Opciono je moguće podesitibroj platna, dimenzije u inčima, kao i rezoluciju. Na jedno platno se može dodati višegra�ka funkcijom subplot. Prvi argument ove funkcije predstavlja broj redova, drugibroj kolona, a treći redni broj gra�ka brojeći sa leva na desno kroz redove. Funkcijomplot se iscrtava gra�k tako što se prosleđuju liste vrednosti na x i y osi, kao i dodatniopcioni argumenti koji opisuju izgled gra�ka: debljina, boja i stil linije (-, :, -., –),naziv koji se prikazuje u legendi. Legenda se uključuje funkcijom legend, dok se njena

GLAVA 2. PRIPREMNI MATERIJALI 9

lokacija može podesiti argumentom loc. Moguće je eksplicitno ograničiti opseg x i yose funkcijama xlim i ylim. Nazivi x i y osa se navode funkcijama xlabel i ylabel.Finalno, gra�k se prikazuje funkcijom show. Sve opisane funkcije oslikane su u kodui gra�ku u sledećem primeru.

1 import numpy as np2 import matplotlib.pyplot as plt3

4 x = np.linspace (0,2*np.pi ,100)5 y1 = 2*np.sin(x)6 y2 = np.cos(x)7

8 plt.figure(num=1,figsize =(12 ,5),dpi =100)9

10 plt.subplot (1,2,1)11 plt.plot(x,y1,color="red",linewidth =1.5, linestyle="--",label="2

sin(x)")12 plt.legend(loc=1)13 plt.xlim (0,2*np.pi)14 plt.ylim ( -2.2 ,2.2)15 plt.xlabel("x osa")16

17 plt.subplot (1,2,2)18 plt.plot(x,y2,color="blue",linewidth =1.0, linestyle="-",label="cos

(x)")19 plt.legend(loc=3)20 plt.xlim (0,2*np.pi)21 plt.ylabel("y osa")22

23 plt.show()

Diferencijalne jednačine

Prilikom opisivanja i modelovanja određenog problema, mi u stvari opisujemonjegovu dinamiku tj. promenu parametara sistema u vremenu. Samim tim, modeli se

10 2.1. RAČUNARSKO MODELOVANJE ŠIRENJA BOLESTI

najčešće sastoje od diferencijalnih jednačina.Od posebnog značaja su nelinearne diferencijalne jednačine čija su analitička re-

šenja retko moguća. Srećom, korišćenjem numeričkih metoda, ovakve jednačine semogu rešiti na određenom intervalu koji se posmatra. U tu svrhu ćemo koristiti ode-int integrator iz Python biblioteke scipy.

Postupak rešavanja diferencijalnih jednačina primenom numerčkih integratorasvodi se na tri koraka.

1. Svođenje diferencijalnih jednačina na jednačine prvog reda i predstavljanje uobliku:

dx

dt= f (x , t )

2. Predstavljanje diferencijalnih jednačina pomoću Python funkcija kojima se re-dom prosleđuju zavisna promenljiva, vreme i konstante. Primer:

1 def dxdt(x,t,a,k):2 return e**(-k*t) - a*x;

3. De�nisanje početnih uslova, vremenskog intervala koji se posmatra, kao i kon-stanti i poziv funkcije odgovarajućeg integratora. Primer:

1 from scipy import integrate2 sol = integrate.odeint(dxdt , x0, t, args=(a,k))

dxdt je funkcija de�nisana u koraku 2, x0 predstavlja početni uslov, t vreme, azatim se redom navode arugmenti u vidu tuple-a. Dobijena rešenja zatim daljemožemo obrađivati i gra�čki predstaviti.

Odeint integrator rešava diferencijalne jednačine prvog reda. Međutim, i diferen-cijalne jednačine višeg reda se mogu svesti na sistem diferencijalnih jednačina prvogreda koje ovaj integrator takođe može rešiti. Sledeći primer oslikava pomenuti postu-pak za diferencijalnu jednačinu drugog reda.

d2x

dt2+Ax = 0

Uvodimo smene:y1 = x , y2 =

dx

dt

Sada se početna diferencijalna jednačina drugog reda svodi na sistem dve diferen-cijalne jednačine prvog reda.

dy1dt=dx

dt= y2

dy2dt=d2x

dt2= −Ax = −Ay1

Primer za vežbu

Blok vezan za horizontalnu oprugu je otklonjen iz ravnotežnog položaja na rasto-janje x = 5m i održava se u stanju mirovanja. Masa bloka je 1kд, koe�cijent elastič-nosti opruge je 0.5N /m, a sistem se nalazi u vakuumu. Iscrtati gra�k:

1. zavisnosti položaja bloka od vremena

GLAVA 2. PRIPREMNI MATERIJALI 11

2. zavisnosti potencijalne i kinetičke energije bloka od pozicije bloka

Rešenje odrediti u vremenskom intervalu od 0 do 20 sekundi, de�nisanom u 1000tačaka.

Na osnovu 2. Njutnovog zakona sledi sledeća jednačina:

ma = −kx

md2x

dt2= −kx

d2x

dt2+

k

mx = 0

Korišćenjem smena iz prethodnog odeljka dobijamo sistem linearnih jednačina prvogreda koji se integratoru prosleđuju u vidu liste. Takođe, rešenja jednačine i se nalazeu koloni i − 1 liste koja je vraćena kao rešenje. Primetiti da smena y2 �zički gledanopredstavlja brzinu bloka.

y1 = x , y2 =dx

dt

dy1dt= y2,

dy2dt= −

k

my1

Takođe važe sledeće relacije za kinetičku i potencijalnu energiju.

Ek = kx2

2

Ep =mv2

2

1 import numpy as np2 import matplotlib.pyplot as plt3 from scipy import integrate4

5 def LHO(y,t,k,m):6 y1 ,y2=y7 return [y2, -k/m*y1]8

9 k,m=0.5,110 x0 ,v0=5,011 t=np.linspace (0 ,20 ,1000)12

13 sol = integrate.odeint(LHO , [x0,v0], t, args=(k,m))14 x = sol[:,0]15 v = sol[:,1]16 Ep = k*x**2/217 Ek = m*v**2/218

19 plt.figure (1)20 plt.plot(t,x,color="blue",linewidth =1.0, linestyle="-")21 plt.xlabel(’vreme [s]’)22 plt.ylabel(’x(t) [m]’)23 plt.show()24

25 plt.figure (2)

12 2.2. KAKO VIDETI N DIMENZIJA?

26 plt.plot(x,Ep,color="green",linewidth =1.0, linestyle="-",label="Ep")

27 plt.plot(x,Ek,color="red",linewidth =1.0, linestyle="-",label="Ek")28 plt.legend(loc=1)29 plt.xlabel(’x(t) [m]’)30 plt.ylabel(’Energija [J]’)31 plt.show()

Kako videti n dimenzija?

Za razumevanje ovog predavanja neće biti neophodno posebno predznanje. Svipotencijalno nepoznati pojmovi (uključujući i one navedene u nastavku) će biti obja-šnjeni u skladu sa vremenom koje je na raspolaganju. Ipak, poželjno je da pre samogpredavanja usvojite osnovne koncepte iz domena neuralnih mreža i verovatnoće, ma-kar na intuitivnom nivou. Ovo može da značajno olakša razumevanje samog preda-vanja, a naročito matematičkih osnova algoritama koji će biti prezentovani. U pitanjusu sledeći pojmovi:

• Višeslojni perceptron, aktivaciona funkcija, funkcija gubitka, gradijentni spust– preporučujemo prošlogodišnje predavanje o neuralnim mrežama (videti slaj-dove 8–16):

http://csnedelja.mg.edu.rs/static/resources/v3.0/sre1_neuralne_pv.pdf

• Matematičko očekivanje, varijansa, standardna devijacija – preporučujemo pro-šlogodišnje pripremne materijale (poglavlje 2.2.3):

http://csnedelja.mg.edu.rs/static/resources/v3.0/pripremni_materijali.pdf

GLAVA 2. PRIPREMNI MATERIJALI 13

• Kovarijansa:

– Mera linearne povezanosti između dve slučajne promenljive X i Y , ozna-čava se sa Cov (X ,Y ).

– Ako velike vrednosti jedne promenljive odgovaraju velikim vrednostimadruge, kovarijansa je pozitivna. U suprotnom, ako velike vrednosti jednepromenljive odgovaraju malim vrednostima druge, kovarijansa je nega-tivna. Za nezavisne promenljive, ovaj broj je jednak nuli.

– Formalno:Cov (X ,Y ) = E((X −E(X )) (Y −E(Y )), gde E označava matema-tičko očekivanje. Primetimo da jeCov (X ,X ) = Var (X ), gde jeVar oznakaza varijansu.

• Matrica kovarijanse:

– De�nišemo je za slučajan vektor X = (X1, ...,Xn ) (vektor slučajnih pro-menljivih) i označavamo je sa Σ.

– U i-tom redu i j-toj koloni ove matrice nalazi se kovarijansa promenljivihXi i X j . Kako jeCov (X ,Y ) = Cov (Y ,X ) matrica je simetrična u odnosu naglavnu dijagonalu.

– Kao što smo varijansu mogli da shvatimo kao meru „razbacanosti” nekeslučajne promenljive, tako matrica kovarijanse u potpunosti opisuje „raz-bacanost” slučajnog vektora.

– Primer nekoliko matrica kovarijanse za slučajni vektor (X ,Y ):

Primetimo da brojevi na dijagonali predstavljaju varijanse promenljivihXi Y , dok Σ12 = Σ21 označava njihovu linearnu povezanost.

• Normalna (Gausova) raspodela

– Jedna od najvažnijih raspodela koja ima oblik zvona (tačnije, njena funk-cija gustine).

– Ako slučajna promenljivaX ima normalnu raspodelu pišemoX ∼ N (µ,σ 2),pri čemu parametar µ označava matematičko očekivanjeX , a σ 2 varijansu.

14 2.3. UČENJE SA POJAČAVANJEM

– Prikaz normalne raspodele za različite parametre:

Primetimo da je najveća verovatnoća da promenljiva X uzme vrednostblisku µ tj. u „telu” raspodele, a da je ta verovatnoća manja za vrednostika „repovima” raspodele.

– Normalna raspodela može biti uopštena na više dimenzija. Prikaz jednedvodimenzionalne raspodele za slučajni vektor (X ,Y ):

Učenje sa pojačavanjem

Predavanje o učenju sa pojačavanjem na ovogodišnjoj Nedelji informatike će bitiizuzetno ambiciozno. Želja je da se za sat vremena pokriju svi neophodni detalji da bi-ste mogli maksimalno da iskoristitite OpenAI Gym radionicu koja sledi kasnije. Zbogtoga, toplo preporučujemo da pre samog predavanja pregledate sledeće materijale(ili ih se podsetite):

• Slajdovi sa predavanja “Veštačka inteligencija i igre” (od Andreja Ivaškovića)sa prve Nedelje informatike. Na ovom predavanju su pokrivene osnove veštačkeinteligencije i učenja sa pojačavanjem (bez uvođenja elemenata verovatnoće),sa algoritmom Q-učenja. Iako se na ovogodišnjem predavanju nećemo bavititom klasom algoritama, ovi slajdovi i dalje predstavljaju odličan uvod.

http://csnedelja.mg.edu.rs/static/resources/v1.0/AI.pdf

• Pripremni materijali za prošlogodišnje predavanje o neuralnim mrežama.Osnovni pojmovi o gradijentima, verovatnoći i statistici su i dalje izuzetno re-levantni za ovo predavanje, dok se algoritam propagacije unazad i dalje možeostaviti za posle predavanja.

GLAVA 2. PRIPREMNI MATERIJALI 15

http://csnedelja.mg.edu.rs/static/resources/v3.0/pripremni_materijali.pdf

• Slajdovi sa prošlogodišnjeg predavanja o neuralnim mrežama mogu poslužitikao dodatni kontekst—iako neće biti preterano relevantni za sadržaj ovog pre-davanja, mogu vam poslužiti za radionicu.

http://csnedelja.mg.edu.rs/static/resources/v3.0/sre1_neuralne_pv.pdf

Simulacija fizičkih interakcijaudvodimenzional-

nom prostoru

Prezentacija Simulacija �zičkih interakcija u dvodimenzionalnomprostoru

je namenjena upoznavanju sa osnovnim pojmovima i tehnikama, sa strane računar-skih nauka, koje omogućavaju uverljivo oponašanje �zičkih (preciznije, mehaničkih)zakona između krutih tela.

Akcenat nije na numeričkoj i �zičkoj tačnosti samih simulacija, već na postizanjuuverljivosti za ljudsko oko. Ovakav pristup je koristan za, na primer, video-igre, ali(naravno) nije zadovoljavajući za, na primer, naučne eksperimente. Nećemo zalaziti uvrlo kompleksne dubine svih �zičkih svojstava koje je potrebno pokriti za kompletan�zički engine, već će nam fokus biti na osnovnim, generalnim konceptima koji se popotrebi mogu nadograđivati.

Stoga, predznanje koje se od vas očekuje se svodi na koncepte sa kojima ste tokomškolovanja već upoznati, a to su:

1. Vektori u ravni. Očekuje se osnovno poznavanje pojma vektora i vektorskogračuna. S obzirom na to da problemu �zičkih interakcija prilazimo sa straneračunarskih nauka, vektore ćemo predstavljati i sa njima baratati kao uređe-nim parovima (x ,y), koji predstavljaju dužinu projekcije vektora na x i y osu,respektivno. Nad ovom repezentacijom možemo de�nisati poznate operacije:

• Negacija vektora ~v = (x ,y) je jednostavno −~v = (−x ,−y).

• Zbir vektora ~v1 = (x1,y1) i ~v2 = (x2,y2) je ~v1 + ~v2 = (x1 + x2,y1 + y2).

• Intenzitet vektora ~v = (x ,y) je |~v | =√x2 + y2. Uglavnom, po konven-

ciji, izostavljanje strelice u oznaci vektora (dakle, v umesto ~v) se takođesmatra oznakom za intenzitet.

• Skalarni proizvod vektora ~v1 = (x1,y1) i ~v2 = (x2,y2) de�niše se kao~v1 · ~v2 = x1x2 + y1y2. Prisetimo se da je intenzitet skalarnog proizvodajednak | ~v1 | | ~v2 | cosθ , gde je θ ugao koji zaklapaju ~v1 i ~v2.

2. Njutnovska mehanika krutih tela. Kao što je spomenuto, s obzirom na toda ne zalazimo u dubinu sâme �zike, osnovni pojmovi brzine, ubrzanja, sile,energije i impulsa, s kojima bi svi trebalo da ste već upoznati, će biti dovoljnopredznanje. Podsetimo ih se:

162.4. SIMULACIJA FIZIČKIH INTERAKCIJA U DVODIMENZIONALNOM

PROSTORU

• Brzina tela je mera promene pozicije tela u jedinici vremena. Brzinućemo predstavljati kao vektor ~V = (Vx ,Vy ), gde su Vx i Vy promena x- iy-koordinate po jedinici vremena, respektivno. Odatle direktno sledi da jepomeraj objekta koji se kreće brzinom ~V za vreme ∆t jednak ∆~x = ~V∆t .

• Ubrzanje tela je mera promene brzine tela u jedinici vremena. Ubrzanjećemo takođe predstavljati kao vektor ~a = (ax ,ay ), gde su ax i ay promenax- i y-intenziteta brzine po jedinici vremena, respektivno. Analogno gor-njem, brzina koju će telo koje ubrzava ubrzanjem ~a dobiti za vreme ∆t

jednaka je ∆~V = ~a∆t , dok je pomeraj za isto vreme jednak ∆x =~a∆t2

2.

• Silom se smatra bilo koja interakcija koja utiče na kretanje tela ukolikose ne spreči. Drugi Njutnov zakon povezuje silu i ubrzanje kao F =ma,gde je F intenzitet sile koja deluje na telo,m masa tela, a a ubrzanje tela.

• Impuls tela se de�niše kao proizvod njegove mase i brzine. Impuls je vek-torska veličina i označava se sa ~p =m~v , gde jem masa tela a ~v brzina tela.

• Energija je, grubo rečeno, �zičko svojstvo koje je neophodno preneti natelo kako bi se na njemu izvršio rad. Striktnu de�niciju ovih pojmova jeizuzetno teško dati bez konteksta, pri čemu je takav poduhvat van obimaovih pripremnih materijala; pretpostavlja se da polaznici mogu prihvatitiove pojmove “bez dokaza”, s obzirom na to da su sa njima već upoznati uranijem školovanju.

• Kinetička energija je energija koju telo poseduje usled kretanja. Kine-tička energija za telo mase m, koje se kreće konstantnom brzinom V jed-

naka je Ek =mV 2

2.

• Elastični sudar je sudar dva tela u kome je njihova ukupna kinetičkaenergija posle sudara istovetna sa njihovom ukupnom kinetičkom ener-gijom pre sudara (odnosno, nema gubitka energije). Slično, zakon održa-

nja impulsa nam, grubo rečeno, govori da će ukupan impuls posle sudaradva tela biti istovetan. Posmatrajmo dva tela u jednoj dimenziji (u cilju jed-nostavnosti), masam1 im2 respektivno, koji su pre sudara imali brzine ~V1i ~V2. Označimo sa ~V ′1 i ~V ′2 brzine ovih tela nakon sudara. Na osnovu isto-vetnosti ukupnog impulsa, imamo:

m1 ~V1 +m2 ~V2 =m1 ~V′1 +m2 ~V

′2

Na osnovu istovetnosti ukupne kinetičke enrgije, imamo:

m1V21

2+m2V

22

2=m1V

′21

2+m2V

′22

2

Rešavanjem ovog sistema dobijamo jedino netrivijalno rešenje:

V ′1 =V1(m1 −m2) + 2m2V2

m1 +m2(2.1)

V ′2 =V2(m1 −m2) + 2m1V1

m1 +m2(2.2)

GLAVA 2. PRIPREMNI MATERIJALI 17

U ovom slučaju, smerovi brzina ova dva tela će se samo obrnuti, dokće pravci ostati isti. Ako posmatramo dvodimenzionalni umesto jednodi-menzionalni prostor, ovaj problem je nešto kompleksniji, s obzirom na toda će se i pravci brzina promeniti u zavisnosti od tačke sudara i normalena površinu: zamislite dve bilijarske kugle koje se sudaraju pod raznimuglovima i u raznim tačkama, i ovo će biti intuitivno jasno (ali ne manjeteže formalno izračunati). Ovaj slučaj obradićemo na samom predavanju.