PowerPoint Presentation

Слични документи
PowerPoint Presentation

Grafovi 1. Posmatrajmo graf prikazan na slici sa desne strane. a) Odrediti skup čvorova V i skup grana E posmatranog grafa. Za svaku granu posebno odr

06 Poverljivost simetricnih algoritama1

Slide 1

Classroom Expectations

MIP-heuristike (Matheuristike) Hibridi izmedu metaheurističkih i egzaktnih metoda Tatjana Davidović Matematički institut SANU

1

AKVIZICIJA PODATAKA SA UREĐAJEM NI USB-6008 NI USB-6008 je jednostavni višenamjenski uređaj koji se koristi za akviziciju podataka (preko USBa), kao i

Техничко решење: Софтвер за симулацију стохастичког ортогоналног мерила сигнала, његовог интеграла и диференцијала Руководилац пројекта: Владимир Вуји

DISKRETNA MATEMATIKA

РАСПОРЕД ИСПИТА У ИСПИТНОМ РОКУ ЈАНУАР 1 ШКОЛСКЕ 2016/2017. ГОДИНЕ (последња измена ) Прва година: ПРВА ГОДИНА - сви сем информатике Име пр

Microsoft PowerPoint - C-4-1

P11.3 Analiza zivotnog veka, Graf smetnji

Microsoft Word - III godina - EA - Metodi vjestacke inteligencije

Microsoft Word - CAD sistemi

Microsoft PowerPoint - 03-Slozenost [Compatibility Mode]

Slide 1

Algoritmi

Орт колоквијум

P1.1 Analiza efikasnosti algoritama 1

Pojačavači

6-8. ČAS Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: Gde pretpostavljamo da je A celobrojna matrica dimenzije,. Takođe

EFIKASNO MODELIRANJE REALNIH OPTIMIZACIONIH PROBLEMA Tatjana Davidović Matematički institut SANU tanjad

Slide 1

Konstrukcija i analiza algoritama Nina Radojičić februar Analiza algoritama, rekurentne relacije 1 Definicija: Neka su f i g dve pozitivne fun

STABILNOST SISTEMA

ФАКУЛТЕТ ОРГАНИЗАЦИОНИХ НАУКА

ТРОУГАО БРЗИНА и математичка неисправност Лоренцове трансформације у специјалној теорији релативности Александар Вукеља www.

Microsoft Word - AIDA2kolokvijumRsmerResenja.doc

Matematka 1 Zadaci za vežbe Oktobar Uvod 1.1. Izračunati vrednost izraza (bez upotrebe pomoćnih sredstava): ( ) [ a) : b) 3 3

Maksimalni protok kroz mrežu - Ford-Fulkerson, Edmonds-Karp

TEORIJA SIGNALA I INFORMACIJA

LAB PRAKTIKUM OR1 _ETR_

Celobrojno programiranje Rešavamo sledeći poblem celobrojnog programiranja: min c T x Ax = b x 0 x Z n Gde pretpostavljamo da je A celobrojna matrica

Verovatnoća - kolokvijum 17. decembar Profesor daje dva tipa ispita,,,težak ispit i,,lak ispit. Verovatnoća da student dobije težak ispit je

VEŽBE IZ OPERACIONIH ISTRAŽIVANJA

Tutoring System for Distance Learning of Java Programming Language

08 RSA1

Програмирај!

SKRIPTE EKOF 2019/20 skripteekof.com Lekcija 1: Brojevni izrazi Lekcija 1: Brojevni izrazi Pregled lekcije U okviru ove lekcije imaćete priliku da nau

MAZALICA DUŠKA.pdf

Техничко решење: Метода мерења ефективне вредности сложенопериодичног сигнала Руководилац пројекта: Владимир Вујичић Одговорно лице: Владимир Вујичић

Рачунарска интелигенција

Uvod u računarstvo 2+2

Konstrukcija i analiza algoritama vežbe 10 Nina Radojičić 15. decembar Algoritamske strategije - podeli pa vladaj (divide and conquer) Ova stra

Електротехнички факултет Универзитета у Београду Катедра за рачунарску технику и информатику Kолоквијум из Интелигентних система Колоквију

Veeeeeliki brojevi

Projektovanje tehnoloških procesa

Microsoft PowerPoint - jkoren10.ppt

Slide 1

МОДЕЛ КОНТРОЛНЕ ВЕЖБЕ Информатика и рачунарство за шести разред разред Наставна тема: Редни број часа: 8. РАЧУНАРСТВО Циљ часа: Теститарање постигнућа

Računarski praktikum I - Vježbe 11 - Funktori

Algoritmi i arhitekture DSP I

Skripte2013

DR DRAGOŚ CVETKOVIC DR SLOBODAN SIMIC DISKRETNA MATEMATIKA MATEMATIKA ZA KOMPJUTERSKE NAUKĘ DRUGO ISPRAYLJENO I PROSIRENO IZDANJE HMUJ

Neuronske mreže

Упутство за пријављивање испита путем интернета Да би студент могао да пријави испит путем интернета мора прво да се пријави. Пријављивање се врши у п

Microsoft Word - ZadaciSeminarski.doc

2015_k2_z12.dvi

ДРУШТВО ФИЗИЧАРА СРБИЈЕ МИНИСТАРСТВО ПРОСВЕТЕ И СПОРТА РЕПУБЛИКЕ СРБИЈЕ Задаци за републичко такмичење ученика средњих школа 2006/2007 године I разред

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br

P2.1 Projektovanje paralelnih algoritama 1

Microsoft PowerPoint - PS9_Linijski raspored i redosled

Microsoft Word - Elektrijada_V2_2014_final.doc

PITANJA I ZADACI ZA II KOLOKVIJUM IZ MATEMATIKE I Pitanja o nizovima Nizovi Realni niz i njegov podniz. Tačka nagomilavanja niza i granična vrednost(l

Microsoft PowerPoint - NAD IR OS pravila 2017.pptx

Задатак 4: Центрифугална пумпа познате карактеристике при n = 2900 min -1 ради на инсталацији приказаној на слици и потискује воду из резервоара А у р

Microsoft Word - 1. REALNI BROJEVI- formulice

Razvoj programa, Code::Blocks, struktura programa, printf, scanf, konverzioni karakteri predavač: Nadežda Jakšić

13E114PAR, 13S113PAR DOMAĆI ZADATAK 2018/2019. Cilj domaćeg zadatka je formiranje petlje softverske protočnosti za minimalni broj ciklusa.

Талесова 1 теорема и примене - неки задаци из збирке Дефинициjа 1: Нека су a и b две дужи чиjе су дужине изражене преко мерне jединице k > 0, тако да

Drveta odlucivanja - algoritmi

Programiranje u C-u ili C++-u Pseudo-slučajni brojevi; Dinamička alokacija memorije 1 ZADACI SA ČASA Zadatak 1 Napraviti funkciju koja generišlučajan

Microsoft Word - 1.Operacije i zakoni operacija

SEMINAR

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije

Optimizacija

Oblikovanje i analiza algoritama 4. predavanje Saša Singer web.math.pmf.unizg.hr/~singer PMF Matematički odsjek, Zagreb OAA 2017, 4. pr

FTN Novi Sad Katedra za motore i vozila Potrošnja goriva Teorija kretanja drumskih vozila Potrošnja goriva

Microsoft Word - Raspored ispita Jun.doc

Microsoft Word - 4.Ucenik razlikuje direktno i obrnuto proporcionalne velicine, zna linearnu funkciju i graficki interpretira n

1 Polinomi jedne promenljive Neka je K polje. Izraz P (x) = a 0 + a 1 x + + a n x n = n a k x k, x K, naziva se algebarski polinom po x nad poljem K.

PLAN I PROGRAM ZA DOPUNSKU (PRODUŽNU) NASTAVU IZ MATEMATIKE (za 1. razred)

Орт колоквијум

Kombinatorno testiranje

ЈЕДАН НОВИ ПРИСТУП У ПРЕВОЂЕЊУ ИЗ BPMN а У BPEL ONE NEW APPROACH IN TRANSLATING FROM BPMN TO BPEL Александар Недељковић Факултет организационих наука,

ЛИНЕАРНА ФУНКЦИЈА ЛИНЕАРНА ФУНКЦИЈА у = kх + n А утврди 1. Које од наведених функција су линеарне: а) у = 2х; б) у = 4х; в) у = 2х 7; г) у = 2 5 x; д)

FAKULTET ORGANIZACIONIH NAUKA

Postavka 2: Osnovni graf algoritmi 1 DISTRIBUIRANI ALGORITMI I SISTEMI Iz kursa CSCE 668 Proleće 2014 Autor izvorne prezentacije: Prof. Jennifer Welch

Profajliranje ivica: Knutov algoritam i njegova unapredenja Seminarski rad u okviru kursa Verifikacija softvera Matematički fakultet Nevena Nikolić, 1

Problemi zadovoljavanja ogranicenja.

Microsoft PowerPoint - 10 PEK EMT Logicka simulacija 1 od 2 (2012).ppt [Compatibility Mode]

Република Србија МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ и технолошког развоја ЗАВОД ЗА ВРЕДНОВАЊЕ КВАЛИТЕТА ОБРАЗОВАЊА И ВАСПИТАЊА ЗАВРШНИ ИСПИТ НА КРАЈУ ОСНОВН

ПА-4 Машинско учење-алгоритми машинског учења

Увод у организацију и архитектуру рачунара 1

Microsoft Word - 14Celobrojno.doc

Microsoft PowerPoint - vezbe 4. Merenja u telekomunikacionim mrežama

Microsoft Word - ASIMPTOTE FUNKCIJE.doc

POSLOVNI INFORMACIONI SISTEMI I RA^UNARSKE

Транскрипт:

Једнократна промена сале за предавања! О Б А В Е Ш Т Е Њ Е У петак, 26. октобра 2018. године, предавања из предмета Инжењерски оптимизациони алгоритми 13С074ИОА у термину од 12.00-14.00, одржаће се у амфитеатру 56. Инжењерски оптимизациони алгоритми 1/30

NFL теорема NO-FREE-LUNCH theorem Wolpert, D.H.; Macready, W.G., "No free lunch theorems for optimization," Evolutionary Computation, IEEE Transactions on, vol.1, no.1, pp. 67-82, Apr 1997 уколико су све оптимизационе функције једнако вероватне, сви опт. алгоритми су једнако (не)ефикасни Зашто бисмо онда разматрали различите оптимизационе алгоритме? Инжењерски оптимизациони алгоритми 2/30

Пример функције уз NFL теорему f ( x) 0, ln(1 10x), P i 1,2,... N, rand x x P i Пример мало вероватне оптимизационе функције Овакав проблем није инжењерски добро дефинисан Инжењерски оптимизациони алгоритми 3/30

Критички осврт на NFL теорему (познати докази када НЕ важи) D.W. Corne, J.D. Knowles, Some multiobjective optimizers are better than the others, Proc. of IEEE CEC 2003, pp. 2506-2512. For multiobjective optimization, NFL does not hold C. Igel, M. Toussaint, A No-Free-Lunch theorem for nonuniform distributions of target functions, J. Math. Model. Algorithms 3(4), pp. 313-322 (2004) Classes of functions relevant in practice are not likely to satisfy the NFL scenario A. Auger, O. Teytaud, Continuous lunches are free plus the design of optimal optimization algorithms, Algorithmica 57, 2010, pp. 121-146. For continuous domains, NFL does not hold Инжењерски оптимизациони алгоритми 4/30

Пример инжењерског проблема: минимизација слабљења кабла Коаксијални кабл полупречници a и b површинска отпорност R s задато b (габарит) Пронаћи b/a тако да је α p минимално Непрекидна и диференцијабилна опт. функција Постоји јасна узрочно-последична зависност побуде (b/a) и одзива (α p ) p a Rs 1 1 2 a b 60 b 2 ln a r b 240 b Инжењерски оптимизациони алгоритми 5/30 R s r b a ln 1 b a

Инжењерска пракса: неки алгоритми су БОЉИ Пракса: оптимизациона функција је смислено формулисана оптимизациони проблем је једнозначан поновљивост везе улаз-излаз црне кутије Инжењерски проблем подразумева узрочно-последичну везу неке оптимизационе функције су много вероватније од других У инжењерској пракси: неки оптимизациони алгоритми су знатно бољи од других алгоритама Инжењерски оптимизациони алгоритми 6/30

Комплексност алгоритма и поређење перформанси алгоритама Претпоставимо да алгоритам обрађује N улазних елемената Рачунска комплексност алгоритма линеарна, квадратна, логаритамска, итд. Означавање O(N), O(N 2 ), O(logN), итд. Генерално: алгоритми се пореде према комплексности (која је пропорционална времену потребном за извршавање алгоритма) За оптимизационе алгоритме, тражићемо и најбрже проналажње (средњег) најбољег решења Инжењерски оптимизациони алгоритми 7/30

Случајно претраживање На случајан начин генеришу се тачке у којима се рачуна функција грешке Најчешће се користи генератор са униформном расподелом Неефикасан начин оптимизације јер су претходно и наредно израчунавање оптимизационе функције независни (иста тачка може да се испита више пута) Добар начин за грубу претрагу простора Сложеност O(N), N број одбирака оптимизационог простора Инжењерски оптимизациони алгоритми 8/30

Генератори случајних бројева Рачунарско генерисање случајних бројева је нетривијалан задатак Генератори који постоје у библиотекама пролазе строге тестове случајности само делимично! Доступне функције: C/C++: rand(), srand(), boost/random MATLAB: rand(), randn(), randi() Python: random.randint, random.uniform Инжењерски оптимизациони алгоритми 9/30

Једноставна рутина за генерисање целих случајних бројева Опсег а ξ b Ограничење: RAND_MAX Ограничење зависи од компајлера (VS2017 RAND_MAX = 32768) Уколико је потребaн већи опсег генерисати произвољан низ бита {0,1} и претворити га у цео број генерисати два или више цела броја и њихове бите интерпретирати као бите већег целог броја Инжењерски оптимизациони алгоритми 10/30

Једноставнa рутина за генерисање реалних случајних бројева Опсег а ξ b Грануларност 1/RAND_MAX Уколико је потребна већа грануларност: Опсег [a, b] поделити на више подопсега и сабрати (случајне) бројеве из подопсега Инжењерски оптимизациони алгоритми 11/30

C++11 <random> Инжењерски оптимизациони алгоритми 12/30

Пример: различита решења при сваком покретању #1 #2 #3 #4 Инжењерски оптимизациони алгоритми 13/30

Пример случајног претраживања једне 2D функције Инжењерски оптимизациони алгоритми 14/30

О случајним процесима... (by Piet Hein) Whenever you're called on to make up your mind, and you're hampered by not having any, the best way to solve the dilemma, you'll find, is simply by spinning a penny. No - not so that chance shall decide the affair while you're passively standing there moping; but the moment the penny is up in the air, you suddenly know what you're hoping. Инжењерски оптимизациони алгоритми 15/30

Систематско претраживање: континуалне променљиве За сваки оптимизациони параметар задаје се број корака (или дужина) Вишедимензионална мрежа се формира у оптимизационом простору У сваком чвору мреже израчунава се оптимизациона функција За D-димензионални оптимизациони простор укупан број итерација је k 1 * k 2 * *k D, где је k i број корака по димензији i Сложеност алгоритма је O(N D ), N број корака по једној димензији D број димензија оптимизационог простора Инжењерски оптимизациони алгоритми 16/30

Систематско претраживање једне континуалне функције Инжењерски оптимизациони алгоритми 17/30

Систематско претраживање: дискретне променљиве Проверити СВА дискретна стања у оптимизационом простору Примери: испитати сва дискретна стања прекидача испитати све варијације са понављањем испитати све комбинације без понављања испитати све пермутације без понављања... Истинитосне таблице при испитивању таутологије у логици Инжењерски оптимизациони алгоритми 18/30

Варијације са понављањем (Систематско претраживање SAT) На колико начина се може распоредити n елемената на k места? Број начина распоређивања је n k Формирање као број са k цифара, а цифре су 1...n: 1111, 1112, 111n 1121, 1122, 112n... nnn1, nnn2, nnnn Инжењерски оптимизациони алгоритми 19/30

Комбинације без понављања Подскуп од k елемента бирамо из скупа од n елемената Број n n! избора је k ( n k)! k! Логика: Поставити k елемената на прва слободна места сa левe стране Померити крајњи десни удесно, за по једно место, док може Померити први слободни са десне стране за једно место, а остале десно од њега ставити до њега Поновити, док сви не буду десно Инжењерски оптимизациони алгоритми 20/30

Пермутације без понављања (Систематско претраживање TSP) На колико начина је могуће распоредити n елемената на n места? Број различитих распореда је n! Алгоритам изабран по критеријуму минималног броја линија кода Колико највише пермутација може да се изврши за 1 min? Колико је времена потребно за N=20? ** C/C++ #include <algorithm> std::next_permutation( ) Инжењерски оптимизациони алгоритми 21/30

Како алгоритам ради? Стања алгоритма за 3 елемента k= 2 i= 3 P={ 1 2 3} P={ 1 2 0} k= 2 i= 2 P={ 1 3 2} P={ 1 0 2} k= 2 i= 3 P={ 2 1 3} P={ 2 1 0} k= 2 i= 1 P={ 3 1 2} P={ 2} k= 2 i= 2 P={ 2 3 1} P={ 2 } k= 2 i= 1 P={ 3 2 1} P={ 0 2 1} k= 1 i= 2 P={ 1 2 0} k= 1 i= 2 P={ 1 0 0} k= 1 i= 3 P={ 1 0 2} k= 1 i= 3 P={ 1 0 0} k= 1 i= 1 P={ 2 1 0} k= 1 i= 1 P={ 0} k= 1 i= 3 P={ 2} k= 1 i= 3 P={ 0} k= 1 i= 1 P={ 2 } k= 1 i= 1 P={ 0 } k= 1 i= 2 P={ 0 2 1} k= 1 i= 2 P={ 0 } k= 0 i= 1 P={ 1 0 0} k= 0 i= 1 P={ 0 0 0} k= 0 i= 2 P={ 0} k= 0 i= 2 P={ 0 0 0} k= 0 i= 3 P={ 0 } k= 0 i= 3 P={ 0 0 0} k= -1 i= 1 P={ 0 0 0} k= -1 i= 1 P={ 0 0 0} Инжењерски оптимизациони алгоритми 22/30

Систематско претраживање: особине и употреба Уколико желимо да докажемо да смо нашли глобални оптимум (најбоље могуће решење) једини начин је да систематски претражимо читав оптимизациони простор, у општем случају За разлику од случајног претраживања једно решење се једном и само једном проверава Континуалне променљиве: систематско претраживање подразумева коначан корак за сваку димензију (тачност) решење смо нашли са тачношћу која је пропорционална кораку Дискретне променљиве: сва решења су проверена Инжењерски оптимизациони алгоритми 23/30

Варијације: хијерархијско систематско претраживање Проценити део простора и претражити га са мањим кораком у наредном нивоу 1. ниво 2. ниво 3. ниво Инжењерски оптимизациони алгоритми 24/30

Варијације: гранање и одсецање (branch & cut, backtracking) 0 1 0 1 0 1 Минимизирати дискретну функцију: f ( b b k 3, b 2 0,1, b 1, b 0 ) 3 k 0 b k 2 k 0 1 Инжењерски оптимизациони алгоритми 25/30

Гранање и одсецање: прескочити део простора f ( 0,1,1,0) 6 0110 0 1 Познато f(0,1,1,0) = 6 Претраживање f(1,?,?,?) 8 непотребно 0 Простор смањен 2 пута! 1 0 1 f ( 1,0,0,0) 0 8 1 Инжењерски оптимизациони алгоритми 26/30

Други називи и особине систематског претраживања Други називи за систематско претраживање Grid search Brute-force search Parameter sweep Exhaustive search Generate & test Најбољи могући приступ уколико можемо да сачекамо да се претрага заврши (оптимизациони простор је мали) Уколико претрага траје недопустиво дуго, није од користи (оптмизациони простор је велики) Погодан за извршавање у паралели на рачунарима са више процесора (језгара) Инжењерски оптимизациони алгоритми 27/30

Задатак за вежбе #2 (Оптимално бушење плочице) Штампана плочица се израђује аутоматски На њој постоји више рупа истог пречника које је потребно избушити Аутоматска бургија има коначну брзину позиционирања Израђује се велики број идентичних плочица Уштеда времена израде једне плочице је од великог практичног интереса (множи се бројем плочица у серији) Потребно је минимизирати пут који пређе бургија (и минимизирати време израде) Бургија се не враћа на место полазне рупе када заврши један циклус бушења (у пракси, враћа се истом путањом уназад) Координате рупа на слици су дате у милиметрима Инжењерски оптимизациони алгоритми 28/30

Координате тачка у [mm] на штампаној плочици 19 (2.7, 56.8) 17 (9.1, 52.8) 16 (15.1, 49.6) 14 (21.5, 45.8) 12 (33.4, 60.5) 3 (51.7, 56.0) 8 (34.7, 45.1) 1 (62.0, 58.4) 2 (57.5, 56.0) 5 (57.7, 42.1) 4 (67.9,19.6) 10 (34.7, 26.4) 11 (28.4, 31.7) 6 (54.2, 29.1) 7 (46.0, 45.1) 9 (45.7, 25.1) 13 (22.9, 32.7) 15 (15.3, 37.8) 18 (9.1, 40.3) 20 (2.7, 33.1) Инжењерски оптимизациони алгоритми 29/30

Задатак за вежбе #2 (детаљи и израда) Пронаћи најкраћи пут за (а) првих 8 и (б) првих 12 рупа Задатак се своди на TSP проблем са 8 градова (8!=40 320 путања) 12 градова (12!=479 001 600 путања) Растојање између два града је L 2 норма (Еуклидовско растојање) Бургија може да крене из било које рупе (од првих 8 (a) или 12 (б)) У код за формирање свих пермутација додати рачунање дужине путање, поређење са претходно нађеном најкраћом путањом и памћење (испис) најкраће пронађене путање Измерити или проценити време извршавања програма * [5] БОНУС: пронаћи (нај)краћи пут за свих 20 рупа ** Lin-Kernighan heuristics [LKH] је једнa од најбољих хеуристика за TSP Инжењерски оптимизациони алгоритми 30/30