Upload
others
View
16
Download
0
Embed Size (px)
Citation preview
15. 11. 2017
1
OSNOVE UMETNE
INTELIGENCE
razporejanje opravil
strojno učenje
Planiranje in razporejanje opravil
• do sedaj (klasično planiranje): kaj narediti in v kakšnem vrstnem redu
• pristopi:
• planiranje kot preiskovanje prostora stanj
• planiranje s sredstvi in cilji
• planiranje z regresiranjem ciljev skozi akcije
• v realnosti imamo številne dodatne omejitve:
• časovne omejitve (začetki aktivnosti, trajanja aktivnosti, roki zaključkov)
• resursi (omejeno število procesorjev, kadra, bencina, denarja, surovin, …)
Razporejanje opravil
• delno urejen plan: vrstni red podmnožice aktivnosti je lahko urejen
• razširimo lahko notacijo (PDDL):
• Akcija1 ≺ Akcija2: pomeni, da se mora Akcija1 zgoditi pred Akcijo2
• Resources podaja števila razpoložljivih resursov
• DURATION opredeljuje trajanje posamezne akcije
• CONSUME opredeljuje (trajno) porabo določene količine resursov
• USE opredeljuje (začasno) zasedenost količine resursov med izvajanjem akcije
Jobs (AddEngine1 ≺ AddWheels1 ≺ Inspect1, AddEngine2 ≺ AddWheels2 ≺ Inspect2 )
Resources (EngineHoists(1), WheelStations(1), Inspectors(2), LugNuts(500))
Action (AddEngine1 , DURATION:30,USE:EngineHoists(1))
Action (AddEngine2 , DURATION:60,USE:EngineHoists(1))
Action (AddWheels1 , DURATION:30,CONSUME:LugNuts(20), USE:WheelStations(1))
Action (AddWheels2 , DURATION:15,CONSUME:LugNuts(20), USE:WheelStations(1))
Action (Inspect i, DURATION:10,USE:Inspectors (1))
Razporejanje opravil
• za začetek: samo časovne omejitve
• metoda kritične poti
• kritična pot: pot, ki je najdaljša in določa dolžino trajanja celotnega plana (krajšanje
vzporednih poti ne vpliva na trajanje plana)
• vsaki akciji priredimo par [ES, LS]:
• ES – najbolj zgodnji možen začetek (angl. Earliest Start)
• LS – najbolj pozen možen začetek (angl. Latest Start)
Razporejanje opravil
𝐸𝑆(𝑆𝑡𝑎𝑟𝑡) = 0𝐸𝑆 𝐵 = max
𝐴≺𝐵𝐸𝑆(𝐴) + 𝐷𝑢𝑟𝑎𝑡𝑖𝑜𝑛 𝐴
𝐿𝑆(𝐹𝑖𝑛𝑖𝑠ℎ) = 𝐸𝑆(𝐹𝑖𝑛𝑖𝑠ℎ)𝐿𝑆 𝐴 = min
𝐴≺𝐵𝐿𝑆 𝐵 − 𝐷𝑢𝑟𝑎𝑡𝑖𝑜𝑛 𝐴
𝑟𝑒𝑧𝑒𝑟𝑣𝑎 𝑠𝑙𝑎𝑐𝑘 = 𝐿𝑆 − 𝐸𝑆
izračun LS
izračun ES
• časovna zahtevnost algoritma: 𝑂(𝑁𝑏), 𝑁 – število akcij, 𝑏 – faktor vejanja
Razporejanje opravil
• dodatno: upoštevanje tudi resursov
• uvede omejitev, da se aktivnosti, ki potrebujeta iste resurse, ne smeta prekrivati
• sprememba časovne zahtevnosti: 𝑂(𝑁𝑏) NP-težek problem (!)
• primer izziv iz leta 1963 nerešen 23 let:
• resursi: 10 strojev, 10 nalog, 100 akcij
• preizkušene metode: simulirano ohlajanje, tabu search, razveji in omeji, …
• primerna hevristika: algoritem najmanjše časovne rezerve (angl. minimum slack
algorithm)
• na vsaki iteraciji izberi akcijo, ki ima izpolnjene vse predhodnike in ima najmanj
časovne rezerve,
• nato posodobi [ES in LS] za celotni graf in ponovi.
optimalna rešitev
15. 11. 2017
2
Razporejanje opravil
Diskusija:
• Kakšen je rezultat simulacije algoritma najmanjše časovne rezerve na
obravnavanem problemu?
• Ali je rešitev enaka optimalni? Zakaj?
• Kako upoštevati omejitve v zaporedju akcij pri pristopih za planiranje?
• Kako upoštevati omejitve v omejenem številu resursov?
Pregled
• planiranje
• planiranje s "klasičnim" preiskovanjem prostora stanj
• planiranje s sredstvi in cilji
• planiranje z regresiranjem ciljev
• razporejanje opravil
• strojno učenje
• uvod v strojno učenje
Strojno učenje
• angl. machine learning
• inteligentni agent se uči, če z opazovanjem okolja (z "izkušnjami") postaja bolj
učinkovit pri prihodnjih nalogah
• zakaj narediti učečega se agenta in ne ga takojnaučiti vsega?
• razvijalci programske opreme ne
morejo predvideti vseh možnih
situacij (različne problemske
situacije),
• razvijalci ne morejo predvideti
sprememb okolja skozi čas
(prilagodljivost),
• razvijalci ne znajo sprogramirati
agenta z znanjem
(npr. razpoznava obrazov?)
povratna
informacija
spremembe
znanjeučni
cilji
ocena uspešnosti
uspešnost
učenje
problemske
situacije
akcije
odločanje
Vrste učenja
• induktivno učenje: učenje, pri katerem iščemo posplošeno funkcijo, ki opisuje množice
vhodnih podatkov (učenje iz primerov)
• učni primeri, atributi, ciljna spremenljivka
• učenje z odkrivanjem (learning by discovery): agent izvaja poskuse, zbira podatke,
formulira problem, posplošuje podatke
• nadzorovano učenje (angl. supervised learning):
učni primeri so podani kot vrednosti vhodov in izhodov (učni primeri so označeni);
učimo se funkcije, ki preslika vhode v izhode (npr. odločitveno drevo)
• nenadzorovano učenje (angl. unsupervised learning):
učni primeri niso označeni (nimajo ciljne spremenljivke); učimo se vzorcev v podatkih
(npr. gručenje)
• spodbujevano učenje (angl. reinforcement learning):
inteligentni agent se uči iz zaporedja nagrad in kazni
Primeri
• nadzorovano učenje:
• nenadzorovano učenje:
• spodbujevano učenje:
Nadzorovano učenje
• podana: množica učnih primerov
𝑥1, 𝑦1 , 𝑥2, 𝑦2 , … , (𝑥𝑁 , 𝑦𝑁),kjer je vsak 𝑦𝑗 vrednost neznane funkcije 𝑦 = 𝑓 𝑥
• naloga: najdi funkcijo ℎ, ki je najboljši približek funkciji 𝑓
• 𝑥𝑗 so atributi (vrednost ali vektor)
• funkcijo ℎ imenujemo hipoteza
• primeri hipotez skozi dve množici točk:
15. 11. 2017
3
Atributna predstavitev podatkov
• učna množica: čakanje na prosto mesto v restavraciji
• ciljna spremenljivka: čakamo (T) ali ne čakamo (F)
Primer: gobe
• razpoznavanje užitnih gob
• atributa (x): W (width) in H (height)
• razred (y): strupena (-), užitna (+)
H
W
H
W
IF W>2 and W<4 and H<2 THEN "edible" ELSE "poisonous"
• ali pa …
Primer: gobe
H
W
H
W
IF H > W THEN "poisonous"ELSE IF H > 6 – W THEN "poisonous" ELSE "edible"
IF H < 3 – (W-3)2 THEN "edible"ELSE "poisonous"
? ?
H
W
H
W
Primer: gobe
• prostor hipotez vsebuje več hipotez
• vse prikazane hipoteze so konsistentne z učno množico
• dobra hipoteza je dovolj splošna (general), kar pomeni, da pravilno napoveduje
vrednost 𝑦 za nove (še nevidene) primere
• kako izbrati primerno hipotezo? Princip Ockhamove britve (Ockham‘s razor) (William o
Ockham, 1320, angleški filozof):
• prava hipoteza je najbolj preprosta hipoteza
• Entities should not be multiplied unnecessarily
• Given two explanations of the data, all other things being equal, the simpler explanation is
preferrable.
kam klasificirati ta primer?
(glede na H1 in H2 je -, glede na H3 je +)
Primer
• podoben problem je tudi pri drugačnih primerih (iskanje funkcije, ki opisuje podane
točke)
Vrste problemov
• klasifikacija in regresija
• klasifikacija:• 𝑦 pripada končnem naboru vrednosti (je diskretna spremenljivka)
• npr. 𝑦 ∈ {𝑢ž𝑖𝑡𝑛𝑎, 𝑠𝑡𝑟𝑢𝑝𝑒𝑛𝑎}, 𝑦 ∈ {𝑠𝑜𝑛𝑐𝑒, 𝑜𝑏𝑙𝑎č𝑛𝑜, 𝑑𝑒ž}, 𝑦 ∈ {𝑧𝑑𝑟𝑎𝑣, 𝑏𝑜𝑙𝑎𝑛}• y imenujemo razred (angl. class)
• primeri:
• napovedovanje vremena iz podatkov prejšnjih let
• diagnosticiranje novih pacientov na osnovi znanih diagnoz za stare paciente
• klasifikacija neželene elektronske pošte
• napovedovanje vračila kredita
drevo, zgrajeno iz 139 učnih primerov; višja
klasifikacijska točnost kot zdravniška
15. 11. 2017
4
Vrste problemov
• regresija:• 𝑦 je število (običajno y ∈ ℝ, je zvezna spremenljivka)
• npr. y je temperatura,
• y imenujemo označba (angl. label)
• primeri:
• napovedovanje razmnoževanja alg
• medicinska diagnostika
• napovedovanje vremena
• napovedovanje koncentracije ozona
• napovedovanje gibanja cen delnic
zakonitosti razmnoževanja alg
Prostor hipotez
• denimo, da imamo• binarno klasifikacijo
• 𝑛 binarnih atributov
• sledi:
2𝑛 različnih učnih primerov
22𝑛
hipotez (denimo, da lahko hipotezo opišemo s tabelo napovedi za vse primere)
• primer:• za 10 atributov izbiramo med 10308 možnimi hipotezami
• za 20 atirbutov izbiramo med 10300.000 možnimi hipotezami
• v resnici: hipotez je že več, izračunavajo lahko isto funkcijo
• potrebujemo:• zavedanje o pristranosti hipotez
• algoritme za gradnjo "dobrih" hipotez
• metode za ocenjevanje hipotez / ocenjevanje učenja
Evalviranje hipotez
• pomembni kriteriji:
• konsistentnost hipotez s primeri
• razumljivost (interpretability, comprehensibility) hipotez
• točnost hipotez:
• točnost na učnih podatkih? (pristranost hipotez?)
• točnost na novih podatkih?
• točnost na testnih podatkih?
• ocenjevanje uspešnosti pri klasifikaciji:
+
+
+
+
+
+
++
−−−−
−
−−
−
−
−
−
−
−
−
−−
−
−
−
−−
naučena hipoteza
pravi (ciljni, neznani) pojem
TP – pravilno pozitivno klasificirani primeri (angl. true positive)
TN – pravilno negativno klasificirani primeri (angl. true negative)
FP – napačno pozitivno klasificirani primeri (angl. false positive)
FN – napačno negativno klasificirani primeri (angl. false negative)
klasifikacijska točnost (angl. classification accuracy):
𝑪𝑨 =𝑻𝑷 + 𝑻𝑵
𝑻𝑷 + 𝑻𝑵 + 𝑭𝑷+ 𝑭𝑵=𝑻𝑷 + 𝑻𝑵
𝑵
FP
FP
FN FNTP
TN
Učenje dreves, rezanje,
šumni podatki