5. • The IBM 702: a computer used by the first
generation of AI researchers.
History
6. • In 1951, using the Ferranti Mark 1 machine
of the University of Manchester, Christopher
Strachey wrote a checkers program and
Dietrich Prinz wrote one for chess
History
7. • In 1950 Alan Turing published a landmark
paper in which he speculated about the
possibility of creating machines with true
intelligence. He noted that "intelligence" is
difficult to define and devised his famous Turing
Test.
History
8. • Strong AI
• Searle identified a philosophical position he calls
"strong AI":
• The appropriately programmed computer with the right
inputs and outputs would thereby have a mind in
exactly the same sense human beings have minds.[g]
• The definition hinges on the distinction between
simulating a mind and actually having a mind. Searle
writes that "according to Strong AI, the correct
simulation really is a mind. According to Weak AI, the
correct simulation is a model of the mind."
History
9. • Reasoning as search
• Many early AI programs used the same basic
algorithm. To achieve some goal (like winning a game
or proving a theorem), they proceeded step by step
towards it (by making a move or a deduction) as if
searching through a maze, backtracking whenever
they reached a dead end. This paradigm was called
"reasoning as search".
• The principal difficulty was that, for many problems,
the number of possible paths through the "maze" was
simply astronomical (a situation known as a
"combinatorial explosion").
History
10. Natural language
(Natūralios kalbos sąsaja)
An important goal of AI research is to
allow computers to communicate in
natural languages like English.
11. Micro-worlds
In the late 60s, Minsky proposed that AI research should focus on
artificially simple situations known as micro-worlds.
He pointed out that in successful sciences like physics, basic
principles were often best understood using simplified models like
frictionless planes or perfectly rigid bodies.
Much of the research focused on a "blocks world," which consists
of colored blocks of various shapes and sizes arrayed on a flat
surface.
12. The first AI winter 1974–1980
Limited computer power: There was not enough memory or processing speed to accomplish
anything truly useful. As of 2011, practical computer vision applications require 10,000 to 1,000,000
MIPS. By comparison, the fastest supercomputer in 1976, Cray-1 (retailing at $5 million to $8
million), was only capable of around 80 to 130 MIPS, and a typical desktop computer at the time
achieved less than 1 MIPS.
Intractability and the combinatorial explosion. This almost certainly meant that many of the "toy"
solutions used by AI would probably never scale up into useful systems.
Commonsense knowledge and reasoning. Many important artificial intelligence applications like
vision or natural language require simply enormous amounts of information about the world: the
program needs to have some idea of what it might be looking at or what it is talking about. This
requires that the program know most of the same things about the world that a child does.
Researchers soon discovered that this was a truly vast amount of information. No one in 1970
could build a database so large and no one knew how a program might learn so much information
Moravec's paradox: Proving theorems and solving geometry problems is comparatively easy for
computers, but a supposedly simple task like recognizing a face or crossing a room without
bumping into anything is extremely difficult. This helps explain why research into vision and robotics
had made so little progress by the middle 1970s.
The frame and qualification problems. AI researchers who used logic discovered that they could
not represent ordinary deductions that involved planning or default reasoning without making
changes to the structure of logic itself. They developed new logics (like non-monotonic logics and
modal logics) to try to solve the problems.
27. Žinių vaizdavimas
Paieška būsenų erdvėje tai paieška tam tikros kintamųjų
reikšmių versijos.
Kartais tam tikros kintamųjų reikšmės automatiškai nusakomos iš
ribojimų sąlygų (žemėlapio spalvinimas kai liko tik viena spalva,
kad tenkinti ribojimus).
Matematinė logika tai bendras būdas tam tikras kintamųjų
reikšmes nustatyti automatiškai naudojant loginio išvedimo
mechanizmą.
35. Žinių bazė
• Žinių bazė = formalioje kalboje užrašyta sakinių aibė
• Deklaratyvus informacinių DI sistemų projektavimas:
– Operatorius -> Tell tai ką sistema turi žinoti
• Toliau pati sistema naudodama operatorių Ask gali
paklausti pati savęs, ką daryti toliau – atsakymas turi
ateiti iš žinių bazės (ŽB (KB(en))).
• Sistema gali būti analizuojama žinių lygmenyje
(nepriklausomai nuo realizacijos) arba
• Realizacijos lygmenyje t.y. nagrinėjant duomenų
struktūras bei algoritmus
36. Sistema besinaudojanti žiniomis
• Sistema turi mokėti:
– Pavaizduoti būsenas, veiksmus ir t.t.
– Realizuoti interfeisą su aplinka
– Valdyti išorinio pasaulio vidinį vaizdavimą
– Turėti dedukcinio išvedimo mechanizmą
– Priimti tinkamus/racionalius veiksmus
37. Roboto/Pabaisos pasaulis naudojant
VAAS(PEAS(en)) aprašymą
• Veiksmų matas (Performance )
– auksas +1000, mirtis -1000
– -1 vienas žingsnis, -10 viena išauta strėlė
• Aplinka (Environment)
– Kvadratai šalia pabaisos smirda
– Kvadratai šalia duobės vėjuoti
– Blizgesys jei stovi ant aukso
– Šovus tiesiai nušauni pabaisą jei ji prieš tave
– Viena strėlė vienam šūviui
– Griebimas paima auksą tame pačiame kvadrate
– Paleidimas paleidžia auksą
• Aktuatorius (Actuators): pasukti kairėn , pasukti dešinėn, eiti tiesiai,
griebti, paleisti, šauti
• Sensorius (Sensors): Smarvė, Vėjas, Blizgesys, Smūgis, Riksmas
38. Roboto/Pabaisos pasaulis
• Pilnai stebimas: Ne – vietinis aplinkos
stebėjimas
• Deterministinis Taip – kiekvieno veiksmo
poveikis aplinkai ir sistemai nusakomas
vienareikšmiškai
• Statinis Taip – Pabaisa ir skylės nejuda
• Diskretinis Taip
• Vieno agento ? Taip – Tik robotas, pabaisa
aplinkos statinis faktorius.
47. Taigi - logika
• Logika tai formali žinių vaizdavimo kalba leidžianti
daryti logines išvadas
• Sintaksė nusako kalbos sakinio struktūrą
• Semantika nusako kalbos sakinio “reikšmę";
– pav., nusako, kad sakinys tiesa tam tikro pasaulio
rėmuose
• pav., aritmetikos kalba
– x+2 ≥ y yra sakinys; x2+y > {} nėra sakinys
–
– x+2 ≥ y tiesa pasaulyje, kur x = 7, y = 1
48. Loginis išvedimas (pagrindimas)
• Loginis išvedimas reiškia kad sakinys seka
iš kito sakinio:
KB ╞ α
• Žinių bazė KB pagrindžia sakinį α jei ir tik
jei α yra tiesa pasaulyje kur KB yra tiesa
– pav., x+y = 4 išveda 4 = x+y
– Loginis išvedimas tai semantiniai ryšiai tarp
sakinių.
49. Modelis
• Sąvoka modelis gali būti taikoma aprašant
pasaulius ir modelis suprantamas kaip formalus
pasaulio vaizdavimas, kuriame gali būti
nustatyta tiesa.
• Sakome m yra modelis sakinio α jei α tiesa
modelyje m
• M(α) α modelių aibė
• Tada KB ╞ α jei M(KB) M(α)
56. Loginis išvedimas
• KB ├i α = sakinys α išvedamas iš KB naudojant
procedūrą i
• Vientisumas: i vientisa jei KB ├i α, tai ir KB╞ α
• Pilnumas: i pilna jei KB╞ α, tai ir KB ├i α
• Procedūra pilna ir vientisa jei atsako į
klausimus, kurių atsakymai išplaukia iš KB
(predikatų pirmos eilės logikoje tokia procedūra
egzistuoja).
57. Teiginių/propozicinė logika : Sintaksė
• Teiginių simboliai P1, P2 yra sakiniai
– Jei S sakinys, S irgi sakinys
– S1 S2 sakiniai , S1 S2 irgi sakinys
– S1 S2 sakiniai , S1 S2 irgi sakinys
– S1 S2 , S1 S2 irgi sakinys
– S1 S2 , S1 S2 irgi sakinys
58. Teiginių logika : Semantika
Kiekvienas simbolis true/false
t.y. P1,2 P2,2 P3,1
false true false
Su šiais simboliais , 8 galimi modeliai, kurių semantika
tikrinama naudojant tiesos lentelę
Taip galima patikrinti bet kurį sakinį:
Pav.
P1,2 (P2,2 P3,1) = true (true false) = true true =
true
62. Loginis išvedimas naudojant perrinkimą
• Pilnas perrinkimas pilnas ir vientisas loginis išvedimas
•
• n simboliams, laiko kompleksiškumas O(2n), atminties
kompleksiškumas O(n)
•
64. Galiojamumas ir tenkinamumas
Sakinys galiojantis jei jis tiesa ( true) visiems modeliams,
pav., True, A A, A A, (A (A B)) B
Galiojamumas susietas su dedukcijos teorema:
KB ╞ α tada ir tik tada kai (KB α) galioja
Sakinys tenkinamas jei jis tiesa ( true) kai kuriems modeliams
pav., A B, C
Sakinys netenkinamas jei jis tiesa ( true) jokiems modeliams
pav., AA
Galiojamumas susiejęs su tenkinamumu sekančiai :
KB ╞ α tada ir tik tada kai (KB α) netenkinamas
71. Paieška pirmyn ir atgal
• Horn forma
KB = Horn sakinių konjunkcija
– Horn sakinys =
• simbolis; arba
• (konjunkcija) simbolis
– pav., C (B A) (C D B)
–
• Modus Ponens
•
α1, … ,αn, α1 … αn β
β
• Naudojama kaip paieška į priekį ir atgal (tiesinis laikas).
72. Paieška pirmyn
• Panaudok taisyklę kurios sąlyga tiesa KB,
– Išvadą pridėk prie KB, taip tęsti kol pasiekiame užklausos sakinį
82. Paieška atgal
Pradedame nuo užklausos q:
įrodyti ,
Tikrink ar q jau žinomas, arba
Naudojant visus pirmtakus tam tikros taisyklės
išvedančios q ir esančius KB
93. Paieška pirmyn ar Paieška atgal
• Jei pirmyn: perrinkimas būsenų, kurios gali būti
beprasmiškos (paieška paremta duomenimis).
– pav., maršruto paieška.
–
• Paieška paremta tikslu atsako į klausimus kaip
antai (kompleksiškumas gali būti mažesnis nei
tiesinė priklausomybė nuo KB dydžio):
– Kaip išlaikyti egzaminą?
96. Taigi
• Kodėl FOL?
• Sintaksė ir semantika FOL
• Panaudojimas FOL
• Robotas/Pabaisa ir FOL
• FOL ir Žinių inžinerija
97. Teiginių logika
Teiginių logika deklaratyvi.
Teiginių logika leidžia aprašyti dalinę disjunktyvią ar neigiančią
informaciją
– (duomenų bazės ne)
Teiginių logika yra kompozicinė :
B1,1 P1,2 reikšmė nusakoma B1,1 P1,2 reikšmėmis
Reikšmė nepriklauso nuo konteksto
(natūralioje kalboje reikšmė priklauso nuo konteksto)
Žemas ekspresyvumas
Pav., negali pasakyti “duobės sukelia skersvėjus gretimuose kvadratuose“ (Tik
parašius po sakinį kiekvienam kvadratui)
98. FOL
• Teiginių logika skaito, kad pasaulis
susideda iš faktų,
• FOL
– Objektai
– Ryšiai
– Funkcijos
102. Tiesa FOL logikoje
• Sakinys yra tiesa tikrinant modelį
• Modelį sudaro objektai ir ryšiai tarp jų
• Atominis sakinys predicate(term1,...,termn) yra
tiesa jei objektai referuojami kintamaisiais
term1,...,termn
susieją ryšiu nusakomu šiuo predikatu
104. Bendrumo kvantorius
• <variables> <sentence>
Visi NUS yra smart:
x At(x,NUS) Smart(x)
x P yra tiesa modelyje m jei P tiesa su visais objektais
x
• Ekvivalentu sankirtai visų instancijavimų
•
At(KingJohn,NUS) Smart(KingJohn)
At(Richard,NUS) Smart(Richard)
At(NUS,NUS) Smart(NUS)
...
105. Egzistencinis kvantoriai
• <variables> <sentence>
• Kai kurie NUS yra smart:
• x At(x,NUS) Smart(x)$
•
• Instancijacijų sąjunga
•
At(KingJohn,NUS) Smart(KingJohn)
At(Richard,NUS) Smart(Richard)
At(NUS,NUS) Smart(NUS)
...
106. Lygybė
• term1 = term2 yra tiesa jei term1 ir term2 referuoja tą
patį objektą
• pav., aprašymas Sibling , Parent terminais:
•
x,y Sibling(x,y) [(x = y) m,f (m = f) Parent(m,x)
Parent(f,x) Parent(m,y) Parent(f,y)]
108. FOL
Aibių domenas:
• s Set(s) (s = {} ) (x,s2 Set(s2) s = {x|s2})
• x,s {x|s} = {}
• x,s x s s = {x|s}
• x,s x s [ y,s2} (s = {y|s2} (x = y x s2))]
• s1,s2 s1 s2 (x x s1 x s2)
• s1,s2 (s1 = s2) (s1 s2 s2 s1)
• x,s1,s2 x (s1 s2) (x s1 x s2)
• x,s1,s2 x (s1 s2) (x s1 x s2)
109. Sąsaja su FOL KB
• Agentas jaučia smell ir breeze kai t=5:
Tell(KB,Percept([Smell,Breeze,None],5))
Ask(KB,a BestAction(a,5))
• T.y. ar KB išveda geriausią sprendimą kai t=5?
• Atsakymas:Yes, {a/Shoot}
110. Pabaisos pasaulio Žinių bazė
• Sensoriai
– t,s,b Percept([s,b,Glitter],t) Glitter(t)
–
• Veiksmai
– t Glitter(t) BestAction(Grab,t)
111. Paslėptų savybių dedukcija
• x,y,a,b Adjacent([x,y],[a,b])
[a,b] {[x+1,y], [x-1,y],[x,y+1],[x,y-1]}
Savybės (agentas laiko momentu t yra kvadrate s ir jaučia
Breeze , reiškia kvadrate s Breezy):
• s,t At(Agent,s,t) Breeze(t) Breezy(s)
Kvadratėliai vėjuoti šalia duobių:
– Diagnozės taisyklė---išvedame priežastį žinodami poveikį
s Breezy(s) Exi{r} Adjacent(r,s) Pit(r)$
– Priežasties taisyklė---išvedame poveikį žinodami priežastį
r Pit(r) [s Adjacent(r,s) Breezy(s)$ ]
112. Žinių inžinerija naudojant FOL
1. Apibrėžti uždavinį
2. Surinkti susiejusias žinias
3. Apibrėžti predikatų, funkcijų, konstantų
žodyną
4. Pateikti užklausas išvedimo procedūroms
125. PLANAVIMAS
Planavimas apibrėžiamas kaip veiksmų sekos
radimo uždavinys, kuriuos vykdant galima
pasiekti užsibrėžtą tikslą. Tam, kad geriau
suprastume planavimo procesus panagrinėkime
klasikinį blokų perstatymo uždavinį. Sekančiame
paveiksle pavaizduotas roboto pasaulis turintis
penkis blokus. Tikslas, kurį turi pasiekti robotas
gali būti suformuluotas kaip blokų išdėstymas tam
tikra tvarka pav.: visus blokus sudėti abėcėlės
tvarka pastatant vieną bokštą.
127. PLANAVIMAS
Roboto veiksmams ir pasaulio būsenoms aprašyti
naudosime predikatų logiką. Sekantys veiksmai, kuriuos
gali atlikti nagrinėjamo roboto ranka nusakomi
predikatais pateiktais sekančioje lentelėje.
128. PLANAVIMAS
goto(X,Y,Z) Atsistoti į poziciją nusakytą koordinatėmis X,Y,Z.
pickup(W) Pakelti bloką W. Ši komanda supranta kur yra
padėtas blokas W t.y. žino bloko W koordinates
X,Y,Z ir jei reikia iškviečia komandą goto(X,Y,Z).
putdown(W) Padėti bloką W ir įrašyti bloko W parametrus į
roboto atmintį.
stack(U,V) Padėti bloką U ant bloko V.
unstack(U,V) Nuimti bloką U nuo bloko V viršaus.
129. PLANAVIMAS
location(W,X,Y,Z) Bloko W padėtis nusakoma koordinatėmis X,Y,Z.
on(X, Y) Blokas X yra ant bloko Y viršaus.
clear(X) Ant bloko X nieko neuždėta.
gripping(X) Roboto ranka laiko bloką X.
gripping() Roboto ranka yra laisva.
ontable(W) Blokas W yra ant stalo.
142. Projekto laikinių charakteristikų skaičiavimo
pavyzdys
Darbai Trukmė (savaitės) Pirmtakai
A Techninės įrangos parinkimas 6
B Programinės įrangos projektavimas 4
C Techninės įrangos montavimas 3 A
D Kodavimas 4 B
E Dokumentacijos parengimas 3 B
F Vartotojo vadovo rašymas 10
G Vartotojų apmokymas 3 E,F
H Sistemos instaliavimas ir testavimas 2 C,D
143. 1. įvykio numeris /event number/;
2. anksčiausia įvykio data /earliest data/;
3. vėliausia įvykio data /latest data/;
4. įvykio laiko rezervas /slack
144. Paskaičiuotos įvykių laikinės reikšmės po tiesioginio praėjimo
Darb
as
Trukmė
(savaitėm
is)
Anksčiausi
a pradžios
data
Anksčiausi
a pabaigos
data
Vėliausia
pradžios
data
Vėliausia
pabaigos
data
A 6 0 6
B 4 0 4
C 3 6 9
D 4 4 8
E 3 4 7
F 10 0 10
G 3 10 13
H 2 9 11
145. Paskaičiuotos įvykių laikinės reikšmės po atvirkštinio praėjimo
grafe
Darbas Trukmė
(savaitėmis)
Anksčiausia
pradžios data
Anksčiausia
pabaigos data
Vėliausia
pradžios data
Vėliausia
pabaigos data
A 6 0 6 2 g
B 4 0 4 3 7
C 3 6 9 8 11
D 4 4 8 7 11
E 3 4 7 7 10
F 10 0 10 0 10
G 3 10 13 10 13
H 2 9 11 11 13
147. Įvykių laikinės reikšmės ir kritinis kelias, pakeitus
darbų trukmes
Dar
bas
Trukmė
(savaitė
mis)
Anksčia
usia
pradžios
data
Vėliausi
a
pradžio
s data
Anksči
ausia
pabaig
os data
Vėliau
sia
pabai
gos
data
Bendr
as
svyra
vimas
Laisvas
svyravi
mas
Paskirs
tytas
svyravi
mas
A 8 0 0 8 8 0 0 0
B 4 0 4 4 8 4 0 4
C 4 8 8 12 12 0 0 0
D 4 4 8 8 12 4 4 0
E 3 4 8 7 11 4 4 0
F 10 0 1 10 11 1 0 1
G 3 10 11 13 14 1 0 1
H 2 12 12 14 14 0 0 0
159. Neapibrėžtumas ir žinios
Paprastas
Bajeso tinklas
kaip kryptinis
grafas
Bajeso tinklai – tai patogus ir modernus instrumentas, kuriuo
galima vaizduoti bei analizuoti žinias su tam tikrais
neapibrėžtumo elementais. Tinklo sintaksę sudaro trys
elementai:
1. Mazgai, kurių kiekvienas reiškia vieną kintamąjį.
2. Kryptinio grafo lankai, kurie parodo tiesioginę vieno
kintamojo įtaką kitam.
3. Kiekvieno grafo mazgo sąlyginis pasiskirstymas, kai žinomi
to mazgo tėvai.
160. Neapibrėžtumas
Iš šio tinklo galima pasakyti, kad toliau yra užfiksuotos tokios žinios:
1. kai lyja, galiu susirgti gripu;
2. kai kyla gripo epidemija, galiu susirgti gripu;
3. jei man skauda galvą, tai gali būti, kad sergu gripu;
4. jei man kyla temperatūra, tai gali būti, kad sergu gripu.
161. Bajeso tinklo semantika
Bajeso tinklų semantikai aprašyti naudosime du būdus.
1. Pirmas – atsitiktinių dydžių tikimybės pasiskirstymo funkcija.
2. Antras – požiūris į tinklą kaip į aibę sąlyginai nepriklausomų
teiginių.
Pirmas būdas padeda projektuoti Bajeso tinklus, o antras –
padeda sudaryti loginio išvedimo algoritmus.
162. Bajeso tinklo semantika
Semantika kaip pilnasis tikimybių pasiskirstymas
Jei užduodame klausimą: kokia tikimybė, kad
n
n x
X
x
X
x
X =
=
= ...
2
2
1
1
t. y. kokia tikimybė, kad pirmas kintamasis iš 1
X
įgaus reikšmę 1
x 2
X
, o – reikšmę 2
x ir t. t.
tai atsakyti į šį klausimą galėtume pateikdami tikimybę iš
tikimybių pasiskirstymo, nusakomo lygtimi
=
=
n
1
i
1
2
1 )
)
(
|
P(
)
,...,
,
P( i
n X
tevai
x
x
x
x
)
( i
X
tevai i
X
Kur predikatas pateikia konkrečią kintamojo reikšmę
163. Bajeso tinklo semantika
Pavyzdžiui, panagrinėkime gripo pavyzdį, pateiktą anksčiau. Darykime
prielaidą, kad mus domina klausimas,
Kokia yra tikimybė, kad nelis ir nebus epidemijos, tačiau
susirgsiu gripu ir jausiu galvos skausmą bei turėsiu temperatūros ?
0.00063
0.998
0.999
001
.
0
7
.
0
0.9
)
)P(
P(
)
,
|
ripas
Gripas)P(G
|
emperat
Gripas)P(T
|
ausmas
P(GalvosSk
)
Gripas
Temperat
ausmas
P(GalvosSk
=
=
=
Lyja
Epidem
Lyja
Epidem
Lyja
Epidem
O jei užduotume klausimą:
Kokia yra tikimybė, kad susirgsiu gripu ir jausiu galvos skausmą bei turėsiu
temperatūros kai žinau, kad nelyja ir nėra epidemijos?
(Prieš tai buvusio klausimo tikimybėse tikriausiai reikėtų išmesti paskutines dvi tikimybes?)
164. Topologinė Bajeso tinklo semantika reiškia,
1. kad jei nagrinėjame konkretų tinklo mazgą, tai jis sąlyginai nepriklauso
nuo mazgų, kurie nėra jo palikuonys, kai laikome, kad nurodytos jo tėvų
reikšmės.
2. Kitas ekvivalentus pasakymas būtų, kad mazgas yra sąlyginai
nepriklausomas nuo visų kitų mazgų, kai nurodytos jo tėvų, vaikų ir
vaikų tėvų reikšmės (Markov blanket)
165. Bajeso tinklo semantika. Kaip atsakyti į klausimą kai dalis
kintamųjų reikšmių neduotos?
Inference by enumeration
Kai turime pilno pasiskirstymo lentelę tai galime užrašyti
Kur e nustatyti faktai, x klausimo kintamųjų vertės ir y
nežinomų kintamųjų vertės. Taigi matome , kad
sumuojame pagal visas kintamųjų Y vertes y.
Pasiskirstymą:
Randame iš mums jau gerai žinomos formulės:
=
=
n
1
i
1
2
1 )
)
(
|
P(
)
,...,
,
P( i
n X
tevai
x
x
x
x
167. Bajeso tinklo semantika. Apytiksliai skaičiavimai. Gibbs
imties metodas.
Figure 14.12 (a) A
multiply connected
network with conditional
probability tables.
Gibbs sampling in Bayesian networks
168. Bajeso tinklo semantika. Apytiksliai skaičiavimai. Gibbs
imties metodas. Gibbs sampling in Bayesian networks
Klausimas
Sprinkler and WetGrass are fixed to their observed values and the nonevidence variables Cloudy
and Rain are initialized randomly - let us say to true and false respectively
Now the nonevidence variables are sampled repeatedly in an arbitrary order. For example:
1. Cloudy is sampled, given the current values of its Markov blanket variables: in this
case, we sample from P(Cloudy | Sprinkler =true, Rain =false). Suppose the result is Cloudy =false.
Then the new current state is [false, true, false, true].
Rain is sampled, given the current values of its Markov blanket variables: in this case,
we sample from P(Rain |Cloudy =false, Sprinkler =true, WetGrass =true). Suppose
this yields Rain =true. The new current state is [false, true, true, true].
Each state visited during this process is a sample that contributes to the estimate for the query
variable Rain. If the process visits 20 states where Rain is true and 60 states where Rain is
false, then the answer to the query is NORMALIZE(20, 60) = 0.25, 0.75.
170. Markovo stacionarūs procesai
Čia faktai – tai skėčio išskleidimas, kuris priklauso tik
nuo sistemos einamosios būsenos, t. y. ar šiuo metu
lyja, ar ne. Pats lietus yra nestebimas kintamasis.
Stebimas kintamasis yra lietsargio pasirodymas.
181. Kalmano filtrai
As an example application, consider the problem of determining the precise location of a
truck. The truck can be equipped with a GPS unit that provides an estimate of the
position within a few meters. The GPS estimate is likely to be noisy; readings 'jump
around' rapidly, though remaining within a few meters of the real position. In addition,
since the truck is expected to follow the laws of physics, its position can also be
estimated by integrating its velocity over time, determined by keeping track of wheel
revolutions and the angle of the steering wheel. This is a technique known as dead
reckoning. Typically, the dead reckoning will provide a very smooth estimate of the
truck's position, but it will drift over time as small errors accumulate.
In this example, the Kalman filter can be thought of as operating in two distinct phases:
predict and update. In the prediction phase, the truck's old position will be modified
according to the physical laws of motion (the dynamic or "state transition" model). Not
only will a new position estimate be calculated, but a new covariance will be calculated
as well. Perhaps the covariance is proportional to the speed of the truck because we are
more uncertain about the accuracy of the dead reckoning position estimate at high
speeds but very certain about the position estimate when moving slowly. Next, in the
update phase, a measurement of the truck's position is taken from the GPS unit. Along
with this measurement comes some amount of uncertainty, and its covariance relative to
that of the prediction from the previous phase determines how much the new
measurement will affect the updated prediction. Ideally, as the dead reckoning estimates
tend to drift away from the real position, the GPS measurement should pull the position
estimate back towards the real position but not disturb it to the point of becoming rapidly
186. Mokymasis naudojant stebėjimus
Mokymosi modulis realizuoja mokymosi algoritmus
kuriuos suskirstysime į tris mokymosi tipus:
➢Mokymasis su mokytoju.
➢Autonominis mokymasis.
➢Reaktyvus aplinkai mokymasis.
Daugiausiai dėmesio skirsime mokymuisi su mokytoju.
192. Support
• Taisyklės
– Milk => juice
– Bread => juice
• {milk, juice}
– 2 / 4 = 0.50
• {bread, juice}
– 1 / 4 = 0.25
Transaction
ID
Items Bought
1 Milk, bread,
cookies, juice
2 Milk, juice
3 Milk, eggs
4 Bread, cookies,
coffee
193. Confidence
• Taisyklės
– Milk => juice
– Bread => juice
• Milk => juice
– 0.50 / 0.75 = 0.67
• Bread => juice
– 0.25 / 0.50 = 0.50
Transactio
n ID
Items Bought
1 Milk, bread,
cookies, juice
2 Milk, juice
3 Milk, eggs
4 Bread, cookies,
coffee
194. Apriori Algoritmas
• Fiksuojame minimalų būtiną skaičių su
kuriuo taisyklė turi pasirodyti duomenų
bazėje
• Didiname po vieną atributą kiekvieną kartą
ir surenkame rinkinius kurie tenkina
užduotą dažnumo parametrą
195. Apriori Algoritmas
Item Support
1 3
2 6
3 4
4 5
Item Support
{1,2} 3
{1,3} 2
{1,4} 3
{2,3} 4
{2,4} 5
{3,4} 3
Item Support
{1,2,4} 3
{2,3,4} 3
Min dažnumas =
3
DB: {1,2,3,4}, {1,2}, {2,3,4}, {2,3}, {1,2,4}, {3,4}, and {2,4}
196. Sprendimų medžiai
Sprendimų medį galima aprašyti kaip funkciją, kuri ima
pirminius duomenis ir grąžina sprendimą, padarytą tų
duomenų pagrindu. Kaip galime spėti iš pavadinimo,
sprendimų priėmimo algoritmas grafiškai gali būti
pavaizduotas kaip medžio struktūra, medžio mazguose
užrašant logines sąlygas, o sprendimus pavaizduojant
kaip medžio šakas. Pavyzdžiui, patyrinėkime šiuos
duomenis, kurie aprašo tam tikro banko kreditų išdavimo
istoriją.
207. Sprendimų medžiai
ID3 algoritmas
Pagrindinis klausimas, kuris kyla nagrinėjant šį
algoritmą: kaip parinkti atributus, pagal kuriuos
klasifikuojama, ir kokia tvarka juos parinkti? Atsakymą
galime rasti remdamiesi informacijos kiekio teorija.
ID3 algoritmas pasirenka tą atributą, kuris yra
informatyviausias. Pav.: jei vi galimi atsakymai į
klausimą (arba atributo galimos domeno reikšmės), o
P – vi tikimybės (arba atributo reikšmės santykinis
dažnumas duomenų bazėje) tai atsakymo
informatyvumas:
208. Mokymasis naudojant modelių ansamblius
Trys tiesiniai modeliai idealiai atskiria pozityvius
pavyzdžius nuo negatyvių (kiekviena tiesė negatyviu
pavyzdžiu laiko užtušuotą zoną). Klasifikavimo taisyklė:
pavyzdįs pozityvus jei visi trys modeliai jį klasifikuoja
kaip pozityvų.
209. Mokymasis
naudojant
modelių
ansamblius
Boosting metodas (AdaBoost): pirmiausia apmokome modelį ir
sukuriame klasifikavimo hipotezę (apmokytą modelį) h1 kai
duomenų svoriai vienodi. Gerai klasifikuotų duomenų svoriai
sumažinami, o blogai – padidinami ir mokoma iš naujo sukuriant
modelį h2 ir t.t. Kiekvienas naujas modelis turi savo svorio
koeficientą balsuojant. Svorio koeficientas nusakomas pagal taip
kaip gerai modelis dirba (klasifikuoja) duomenis. Visas modelis h
tai balsuojantys modeliai hi su savo svorio koeficientais.
218. Žinių valdymas ir mokymasis
Nagrinėsime mokymosi procesus, kai tikrinamos hipotezės yra
loginiai sakiniai.
Duomenys, kuriais remiamasi mokantis, taip pat bus loginiai
sakiniai.
Tokio mokymosi nauda yra ta, kad nauji mokymosi pavyzdžiai,
be sistemai iš išorės pateikiamų, gaunami dedukcinio išvedimo
metodu.
Tokie pavyzdžiai taip pat gali būti taikomi mokymosi procese.
219. Geriausios hipotezės paieškos principas
a) Suderinta hipotezė b) II tipo klaida (false negative ) c)
apibendrinta hipotezė d) I tipo klaida (false positive ) e) specializuota
hipotezė
220. Geriausios hipotezės paieškos principas
Algoritmas problema: reikia pastoviai peržiūrinėti visus suderintus
variantus nes galima spėti neteisingai ir tada, kai pasirodys
prieštaraujantys stebėjimai, reikės iš naujo peržiūrėti kitus
variantus.
Alternatyva analizuoti visas suderintas hipotezes kartu t.y. suvesti
uždavinį į hipotezių erdvės paiešką
221. Hipotezių erdvės paieška
Algoritmas : su naujais stebėjimais išmetame nesuderintas
hipotezes.
Pirminę hipotezę galime interpretuoti kaip suderintų hipotezių
disjunkciją
RaktŽodž.: Logical Formulation of Learning, Least-commitment search, Version-Space-Learning
223. Hipotezių erdvės paieška
Problema: labai daug suderintų hipotezių.
Sprendimas : sekančioje skaidrėje.
Problemos su sprendimu dar sekančioje skaidrėje.
224. Hipotezių erdvės paieška
Algoritmas : G poaibis toks, kad jame esančios hipotezės
suderintos ir nėra labiau bendresnės ir suderintos hipotezės. S
poaibis toks, kad jame esančios hipotezės suderintos ir
nėra labiau specializuotos ir suderintos hipotezės
Dvi ribos:
225. Hipotezių erdvės paieška
Problemos su sprendimu
Tai daugiau konceptualus (parodo loginį mokymosi modelį) nei
praktinis metodas.
Triukšmo problema. Jei darome prielaidą , kad stebėjimai turi
triukšmą tai algoritmas bendru atveju negražins teisingų hipotezių.
226. Žinių valdymas ir mokymasis
Bendra mokymosi schema panaudojant žinias paveiksle.
227. Mokymasis naudojant stebėjimus
Aprašymas -> visų pavyzdžių konjunkcija (AND)
Klasifikavimas -> visų pavyzdžių klasifikavimo
konjunkcija
Trys pagrindinės schemos naudojamos mokymosi
procese:
1.Mokymasis paaiškinant (hipotezės iš dedukcijos)
2.Mokymasis susiejusios informacijos pagrindu
(hipotezės iš dedukcijos)
3.Indukcinis loginis programavimas (hipotezės iš
indukcijos)
228. Mokymasis paaiškinant
(Explanation-based learning)
Pagrindinė schema:
Hipotezės Aprašymas╞ Klasifikavimas
Žinios ╞ Hipotezės
Pagrindinė idėja: Mes galime įsiminti duomenų bazėje
turimus šablonus. Tačiau jei turimus šablonus pakeisime
taip, kad tam tikrus konkrečius objektus pakeisime į
kintamuosius tai gausime žymiai efektyvesnę atmintį.
Tokių apibendrintų šablonų paieška ir yra šio metodo
pagrindinė idėja.
229. Mokymasis paaiškinant
Žinios ╞ Hipotezės
Reiškia, kad hipotezes galima išvesti tiesiai iš turimos
žinių bazės (tam duomenų nereikia).
Hipotezės Aprašymas╞ Klasifikavimas
Reiškia, kad atsirenkame tas hipotezes, kurios leidžia
paaiškinti stebėjimus t.y. Aprašymas ir Klasifikavimas
233. Mokymasis paaiškinant
Kitas pavyzdys iš algebros
Reikia suprastinti 1 × (0 + X). Skaitome kad pradžioje
įrodome konkrečiam kintamajam X. Apibendriname X
pakeisdami į z , kuris savo ruoštu reiškia bet kokį
kintamąjį.
Žinios
241. Mokymasis susiejusios informacijos
pagrindu
(Relevance-based learning)
Pagrindinė schema:
Hipotezės Aprašymas╞ Klasifikavimas
Žinios Aprašymas Klasifikavimas ╞ Hipotezės
Arba kompaktiškesne forma
Mūsų stebėjimai
Iš to logiškai seka
(Literal translation: “If x and y have the same nationality n
and x speaks language l, then y
also speaks it.”) It is not difficult to show that, from this
sentence and the observation that
the following conclusion is entailed
248. Indukcinis loginis programavimas FOIL
Teigiami pavyzdžiai visi teisingai, neigiami visi neteisingai
Tad reikia specializuoti šią pirmą hipotezę
Toliau papildome kairę pusę naujais nariais
Pirmas žingsnis
Trečias geriausias, tad jį papildome toliau.
Ir gauname tai ko ieškojome
249. Indukcinis loginis programavimas. Rezoliucijos inversija
Pirmas žingsnis – pasirenkame konkretų pozityvų
klasifikavimą, pav.
Ir tada mėginame taikyti rezoliucijos inversiją.
252. SPRENDIMŲ PRIĖMIMAS
➢Iki šio nagrinėti algoritmai rėmėsi tuo, kad
nagrinėjamame pasaulyje egzistuoja vieningas
supratimas apie tai kas naudinga projektuojamai
sistemai (agentui).
➢Tačiau nagrinėdami įvairias socialines sistemas mes
galime stebėti, kad tai kas priimtina vienam asmeniui
(agentui) gali būti nepriimtina kitam.
➢Tad be paieškos algoritmų, žinių vaizdavimo kalbos bei
tikimybių teorijos reikia teorijos, kuri apimtų ir
naudingumo sąvoką. Sprendimų priėmimo teorija kaip tik
tam ir skirta.
259. Sprendimų teorijos pagrindinės sąvokos
.
Sprendimų tinklo pavyzdys. Sprendimų tinklas – tai
patogi notacija vaizduojant sprendimų priėmimo
procesus. Sprendimų tinklus galima traktuoti kaip Bajeso
tinklo praplėtimą veiksmų bei naudingumo funkcijos
sąvokomis.
260. Informacija ir sprendimų teorija. Pavyzdys
Iki šiol laikėme, kad visa turima informacija pateikiama
sistemai be jokių papildomų sąnaudų.
Tačiau dažnai realaus gyvenimo uždaviniuose kyla
dilema: kiek apsimoka sumokėti už papildomą
informaciją, kuri padėtų mums priimti sprendimą.
Informacijos vertės teorija mėgina atsakyti į šį klausimą.
261. Informacija ir sprendimų teorija. Pavyzdys
Yra n loterijos dėžių. Tik viena turi C eurų. Dėžės kaina C/n. Kiek
sumokėtumėte už atsakymą i klausimą ar 3 dėžė turi pinigų?
➢1/n – tikimybė , kad 3 dėžė turi pinigų. Jei taip: jūsų pelnas C-
C/n=(n-1)C/n.
➢(n-1)/n – tikimybė , kad 3 dėžė neturi pinigų. Pasirinkdami kitas
dėžes su tikimybe 1/(n-1) rasite pinigus. Galimas pelnas C/(n-1)-
C/n=C/(n(n-1)).
Visos informacijos duodamas pelnas:
Klausimas: pasirinkite loteriją ir patikrinkite vieno
bilieto informacijos kainą.
262. Informacija ir sprendimų teorija
Neformaliai naujos informacijos vertė nusakoma nauda, kurią mes
gauname pasinaudoję šia informacija. Tad iš to galime sukurti formalią
matematinę gaunamos informacijos išraišką.
Jei padarysime prielaidą, kad agentas einamuoju laiko momentu žino
informaciją (faktus) E, tai geriausias sprendimas – (veiksmas) α, kurį jis gali
padaryti ir kuris nusakomas kaip ir anksčiau – naudingumo funkcijos tikėtinumo
maksimizavimu:
=
i
i
i
A
A
rezultatas
U
E
A
daryti
A
rezultatas
P ))
(
(
)
),
(
|
)
(
(
max
E)
|
EU(
=
i
i
i
A
j A
rezultatas
U
E
A
daryti
A
rezultatas
P ))
(
(
)
E
,
),
(
|
)
(
(
max
)
E
E,
|
EU( j
j
j
E
j
Nauja informacija , kurią mes galime gauti, nusakys optimalų sprendimą
263. Informacija ir sprendimų teorija
Kadangi Ej yra atsitiktinis dydis, galintis įgauti skirtingas
reikšmes, tai naujos informacijos tikėtina vertė:
=
=
k
jk
e
jk e
E
e
P jk
)
E
E,
|
EU(
)
|
E
( j
j
=
=
k
jk
e
jk e
E
e
P jk
E)
|
EU(
-
)
E
E,
|
EU(
)
|
E
( j
j
Tad pridėtinė vertė, gauta iš naujos informacijos, bus
nusakoma šių dviejų (naujos ir senos) informacijų
naudingumo verčių skirtumu:
Šis dydis dažnai vadinamas idealios informacijos verte.
264. Sprendimų teorija įvykių sekoms
.
Paprastas roboto pasaulis. Roboto tikslas šiame pasaulyje –
pasiekti langelį su +1 naudos sau verte. Langelis su -1 verte
reiškia, kad robotas patiria nuostolių. Vieno žingsnio kaina šiame
pavyzdyje bus 0,04. Atsitiktinumo veiksnys šiame pasaulyje
nusakomas roboto judėjimo kryptimi. Robotas nori judėti tiesiai ir
pajuda tiesiai su 80% tikimybe, į kairę – su 10% tikimybe, į dešinę
– irgi su 10% tikimybe.
265. Sprendimų teorija įvykių sekoms
Sprendimai tokiame roboto pasaulyje gali būti aprašyti kaip
Markovo grandinės sprendimų procesai, kurių formalus
apibrėžimas yra toks:
pirminė būsena
būsenų perėjimo modelis ;
paskatinimo funkcija R(s).
Roboto sprendimų politikos tikslas – parinkti optimalų veiksmų planą, kuris savo
ruožtu nusakomas kaip veiksmų planas, turintis maksimalią naudos tikėtinumo
reikšmę. Yra įvairių būdų naudingumo funkcijai aprašyti, bet mes šiame
skyrelyje ją aprašysime kaip daugelio veiksmų parametrinę naudingumo
funkciją, kur kiekvienas parametras nusakomas tam tikra būsena, t. y .
0
S
)
'
,
,
( s
a
s
T
])
,...,
,
([ 1
0 n
s
s
s
U
270. Sprendimų teorija įvykių sekoms
=
=0
*
|
)
(
max
arg
t
t
t
s
R
E
=
=
=0
0
,
|
)
(
)
(
t
t
t
s
s
s
R
E
s
U
=
'
*
)
'
(
)
'
,
,
(
max
arg
)
(
s
a
s
U
s
a
s
T
E
s
+
=
'
)
'
(
)
'
,
,
(
max
)
(
)
(
s
a
s
U
s
a
s
T
E
s
R
s
U
+
+
'
1 )
'
(
)
'
,
,
(
max
)
(
)
(
s
i
a
i s
U
s
a
s
T
E
s
R
s
U
=
s
s
b
s
a
s
T
E
o
s
O
s
b )
(
)
'
,
,
(
)
,
'
(
)
'
(
'
273. Sprendimai keleto agentų aplinkoje
• Anksčiau nagrinėti nedeterministiniai sprendimų teorijos
uždaviniai buvo sąlygoti aplinkos veiksnių, t. y. aplinka lėmė jų
nedeterministinę prigimtį.
• Tačiau sprendimų aplinkos neapibrėžtumą gali nulemti ir
lygiagrečiai veikiantys agentai, kurių tikslai gali sukelti jų
tarpusavio konkurenciją.
• Tokių uždavinių struktūrą bei galimas pasirinkimo strategijas
nagrinėja žaidimų teorija.
• Pagrindiniai žaidimų teorijos elementai yra tokie:
1. žaidėjai, arba agentai, darantys sprendimus;
2. veiksmai, kuriuos gali atlikti žaidėjai;
3. naudingumo matrica, nusakanti, kokią naudą gauna
kiekvienas žaidėjas esant tam tikrai kitų žaidėjų atliktų
veiksmų kombinacijai;
4. strategijos, nusakančios galimus žaidėjų veiksmus.
Strategija gali būti deterministinė arba tikimybinė;
5. žaidėjo sprendimas yra racionali strategija, kuria
274. Mokymasis iš aplinkos
Įsivaizduokime sistemą-agentą, kuris gauna informaciją
iš aplinkos kiekvieną kartą, kai atlieka vieną ar kelis
veiksmus. Taip pat sistema nežino visos supančios
aplinkos informacijos, taigi negali optimaliai suplanuoti
visų žingsnių iš anksto.
Aplinkoje nėra mokytojo, kuris pasakytų, kuris žingsnis
geras, o kuris ne. Kaip ir anksčiau sistema turi pasiekti
užsibrėžtą tikslą optimaliu arba beveik optimaliu būdu.
Būtent taip suformuluotas uždavinys ir nusako
mokymosi iš aplinkos algoritmus.
275. Mokymasis iš aplinkos
Pasyvus mokymasis reiškia, kad jei turime būseną s tai
sistema visada vykdys veiksmą
)
(s
Sistemos mokymosi tikslas išsiaiškinti kiekvienos
būsenos naudingumo funkciją
)
(s
U
Pereidama nuo vieno langelio prie kito sistema patiria
tam tikrus nuostolius R(s).
Mūsų nagrinėjamo pasaulio atveju jos yra dvi su
nuostolių / apdovanojimo funkcijos verte lygia -1 ir +1
atitinkamai
277. Mokymasis iš aplinkos
Vienas iš būdų įvertinti naudingumo funkciją, būtų
pastovus mėginimas mėginti pasiekti tikslą ir pastovus
pakeitimas jau paskaičiuotų naudingumo funkcijos verčių
naujomis. Tačiau toks būdas neišnaudotų to fakto, kad
būsenų naudingumo funkcijos vertės yra priklausomos
nuo greta esančių būsenų naudingumo funkcijos verčių.
Tad kitas būdas būtų pasinaudoti sekančiu Belmano
sąryšiu:
+
=
'
)
(
)
),
(
,
(
)
(
)
( '
'
s
s
U
s
s
s
T
s
R
s
U
278. Mokymasis iš aplinkos
Aktyvaus mokymosi atveju sistema neturi fiksuoto
veiksmų plano. Kiekvienoje būsenoje sistema turi priimti
sprendimą dėl galimo veiksmo. Tokiu atveju Belmano
naudingumo funkcijos formulė perrašoma sekančiai:
+
=
'
)
(
)
),
(
,
(
max
)
(
)
( '
'
s
a
s
U
s
s
s
T
s
R
s
U
279. Mokymasis iš aplinkos
Dar vienas būdas projektuoti sistemas, kurios mokosi
tyrinėdamos aplinką yra taip vadinamas Q-mokymasis.
Jo esmę sudaro tai, kad apibrėžiama funkcija Q(a,s),
kuri įvertina veiksmo a vertę būsenoje s. Naudingumo ir
Q funkcijų sąryšis nusakomas sekančiai:
)
,
(
max
)
( s
a
Q
s
U
a
=
Kai būsenų skaičius „didelis“ dažnai tikslus naudingumo
ar Q funkcijų verčių įvertinimas neįmanomas
Tokiu atveju galime mėginti surasti apytikrę funkcijos U
arba Q vertę. Pavyzdžiui 4*3 pasaulyje tokia funkcija
galėtų atrodyti sekančiai: y
k
x
k
k
y
x
U 2
1
0
)
,
(
ˆ +
+
=
kur x ir y yra agento koordinatės
286. Neuronai
.
Protoplazma
K+
~70m
V
Na+
Membran
a
Neurono ląstelės abstrakti schema
Kaip matyti iš paveikslo, neurono viduje yra K+ jonai, išorinėje
membranos pusėje – Na+ jonai. Neaktyvuotos būsenos
protoplazma yra neigiamo krūvio lyginant su skysčiu membranos
išorėje.
Neurono aktyvumo metu dendritai pasyviai perduoda signalą
tiesiai somai jo nesustiprindami. Soma atlieka tam tikrą
agregavimo ir netiesinio transformavimo funkciją ir vėliau per
aksoną impulsų pavidalu perduoda agreguotą signalą kitoms
nervų ar kitų kūno dalių ląstelėms (matematiniame modelyje
agregavimas – tai tiesiog įėjimo signalų sumavimas)
287. Neuronai
.
Neronas kaip tam tikras informacijos procesorius.
Paveiksle modeliuojama sistema inžinerijoje dar vadinama daugelio įėjimų /
vieno išėjimo (DĮVI) (angl. a multiple-input/single-output (MISO)) sistema. Ją
sudaro keturi pagrindiniai komponentai:
•dendritai
•sinapsės
•soma
•aksonas
294. Neurono svorio koeficientai
➢Sekantis uždavinys, kurį mes turime išspręsti yra kaip
adaptuoti neurono svorio koeficientus, kad jis realizuotų užduotą
loginę slenksčio funkciją.
➢Tiesinis programavimo metodas galėtų būti naudojamas šiam
uždaviniui išspręsti. Tokiu atveju reikia pakankamai turėti
kompiuterio atminties, kad išspręsti didelės dimensijos
uždavinius tiesinio programavimo metodu.
➢ Kitas svarstytinas būdas yra įsivaizduoti, kad mes turime
nedaug atminties ir, kad galime patalpinti į kompiuterio atmintį tik
vieną loginės slenksčio funkcijos vertę bei visus funkcijos
parametrus su kuriais ta vertė gaunama.
➢Toks būdas nuosekliai tikrintų funkcijos reikšmes vieną po kitos
ir adaptuodamas neuronų svorio koeficientus mokytų neuronų
tinklą aproksimuoti loginę slenksčio funkciją.
305. Tinklo sudėtingumas
➢Nors atbulinės eigos algoritmas ir universalus, kurio
konvergavimas įrodomas matematiškai, tai dar
nereiškia, kad jis neturi sunkumų taikant jį mašininio
mokymo uždaviniuose.
➢Koeficientų keitimo parametras, neuronų topologija
bei jų skaičius, mokymo duomenų dydis bei pateikimas,
pirminis parametrų nustatymas tai pagrindinės
problemos, kurias reikia spręsti kiekvienam konkrečiam
uždaviniui.
330. Evoliuciniai skaičiavimai
➢ Kai kalbame apie evoliucinius skaičiavimus paprastai
turime omenį įvairius uždavinio optimizavimo
metodus.
➢ Uždavinys susideda iš tam tikrų proceso parametrų
pagal kuriuos procesas pateikia tam tikrą rezultatą.
➢ Pavyzdžiui miesto šviesoforų valdymo uždavinys.
Parametrai būtų šviesoforų įjungimo ir išjungimo
laikai. Siekiamas rezultatas minimalūs transporto
kamščiai.
332. Evoliuciniai skaičiavimai
➢Klaidų ir bandymų metodas. Parametrai keičiami
mažai ką žinant apie patį procesą.
➢Pavyzdžiui namuose jūs sukinėjate anteną norėdami
gauti geriausią vaizdo kokybę.
➢Priešpastatymas šiam metodui tai matematinis
proceso aprašymas ir tolimesnis optimizavimas vyksta
atliekant matematinius veiksmus ieškant matematinės
išraiškos optimaliam sprendimui.
333. Evoliuciniai skaičiavimai
➢Dinaminis ir statinis optimizavimas.
➢ Dinaminis optimizavimas reiškia, kad optimizavimo
funkcijos ir kriterijai priklauso nuo laiko.
➢Statinis priešingai – optimizavimo rezultatas
nepriklauso nuo laiko t.y. optimizavimo rezultatas
visada bus tas pats.
334. Evoliuciniai skaičiavimai
➢Optimizavimas gali būti apibūdinamas pagal tai
kokius kintamuosius ir parametrus naudojate t.y.
diskrečius o tolydžius.
➢Diskretus optimizavimas dar vadinamas
kombinatoriniu optimizavimu nes sprendimas randasi
tarp baigtinės aibės galimų sprendimų.
➢Kitas požiūris į optimizavimą nusakomas ar nuostolių
funkcijai ir kintamiesiems yra kažkokie ribojimai ar
nėra.
335. Evoliuciniai skaičiavimai
➢Paskutinis optimizavimo klasifikavimas yra ar
algoritmai mėgina sprendimą spėti ar naudoja tam
tikrus analitinius metodus ieškodami optimalaus
sprendimo.
➢Problema gerai matosi iš sekančio pavyzdžio. Tegu
mūsų tikslas surasti sekančios funkcijos minimumo
tašką:
337. Evoliuciniai skaičiavimai
Skruzdėlių kolonijos metodas
➢ Skruzdėlių metodo esmė nusakoma stebint
skruzdėlių kolonijos veiklą. Skruzdėlę atradus
maistą pažymi savo kelią tam tikru fermentu.
Kitos skruzdėlės pastebėjusios fermentu
pažymėtą kelia eina link maisto ir savo ruožtu
pažymi tą kelią fermentu. Kuo daugiau
skruzdėlių pereina tuo keliu tuo stipriau kelias
pažymimas.
338. Evoliuciniai skaičiavimai
Skruzdėlių kolonijos metodas
➢ Jei dvi skruzdėles surado du kelius prie to paties
maisto tai labiau tikėtina, kad trumpesnis kelias
bus pasirinktas nes juo daugiau skruzdėlių
suvaikščios. Būtent tokiu principu skruzdėlynas
išsprendžia optimizavimo uždavinį: surasti
trumpiausią kelia prie maisto.
339. Evoliuciniai skaičiavimai
Skruzdėlių kolonijos metodas
➢ Praktikoje pirmą kartą skruzdėlių metodas buvo
išmėgintas sprendžiant keliaujančio
prekybininko uždavinį. Pirmi rezultatai buvo
nepatenkinami, per daug greitai atsirasdavo
kelias pažymėtas skruzdėlių fermentais. Vienas
iš sprendimų kuris buvo pasiūlytas tai leisti
fermentui išgaruoti.
341. Evoliuciniai skaičiavimai Genetiniai
algoritmai
➢Genetiniai algoritmai (GA) tai paieškos algoritmai
siekiant surasti apytikrį sprendimą optimizavimo ar
paieškos uždaviniuose.
➢Daugelis idėjų, kurias galime rasti genetinių
algoritmų teorijoje turi savo paraleles evoliucijos bei
genetikos teorijose.
342. Evoliuciniai skaičiavimai Genetiniai
algoritmai. Kodavimas bei optimizavimas
➢Tokie uždaviniai, kaip pelno maksimizavimas ar
išlaidų minimizavimas turi daug kintamųjų kuriuos
mes turime tikrinti ieškant optimalaus sprendimo.
Visas tokias problemas galime apibendrinti kaip
funkcijos maksimumo suradimą.
343. Evoliuciniai skaičiavimai Genetiniai
algoritmai. Kodavimas bei optimizavimas
➢Pirma prielaida, kuria paprastai padarome tai
kintamųjų užkodavimas binariniu pavidalu. Pavyzdžiui,
turėdami 10 bitų simbolių eilutę mes galime užkoduoti
iki 1024 kintamojo reikšmių.
➢Gali kilti klausimas, o kokioms problemoms tinka
genetiniai algoritmai. Jei mes galime užkoduoti
galimus sprendimus su pavyzdžiui 40 bitų simboline
eilute. Aišku tokiu atveju greičiau nebus didesnių
problemų su dabartine skaičiavimo technika.
344. Evoliuciniai skaičiavimai Genetiniai
algoritmai. Kodavimas bei optimizavimas
➢Iš kitos pusės jei mes užkoduotume savo uždavinį
naudodami 400 bitų simboline eilute. Tokiu atveju
gautume, kad reikia patikrinti galimų sprendimų. Kai
kurių analitikų vertinimu tai prilygsta apytikriai galimų
šachmatų partijų skaičiui. Dažnai norint apibūdinti
tokias būsenų erdves sakoma, kad jei kiekvienas
visatos atomas skaičiuotų kaip dabartinis
superkompiuteris, tai nuo visatos atsiradimo pradžios
būtų patikrina tik nedidelė dalis galimų variantų. Būtent
tokiems uždaviniams ir pritaikyti evoliucinio
skaičiavimo metodai, tame tarpe ir genetiniai
algoritmai.
400
2
349. Evoliuciniai skaičiavimai. Genetinis
programavimas
➢Genetinis programavimas (GP) panašiai kaip
genetiniai algoritmai naudoja evoliucinius ir
stochastinius principus siekiant rasti optimalų
sprendimą iškeltai problemai.
➢Pagrindinis GP tikslas yra naudojant genetinius
algoritmus sukurti naujas programas, kurios išspręstų
iškeltą uždavinį.
358. • Sigmoid function produces similar results
to step function in that the output is
between 0 and 1. The curve crosses 0.5 at
z=0, which we can set up rules for the
activation function, such as: If the sigmoid
neuron’s output is larger than or equal to
0.5, it outputs 1; if the output is smaller
than 0.5, it outputs 0.
360. • Multi-Layer Sigmoid Neural Network with 784 input neurons, 16 hidden
neurons, and 10 output neurons
361. It has 784 input neurons for 28x28 pixel values. Let’s assume it
has 16 hidden neurons and 10 output neurons.
The 10 output neurons, returned to us in an array, will each be in
charge to classify a digit from 0 to 9.
So if the neural network thinks the handwritten digit is a zero, then
we should get an output array of [1, 0, 0, 0, 0, 0, 0, 0, 0, 0], the
first output in this array that senses the digit to be a zero is “fired”
to be 1 by our neural network, and the rest are 0.
If the neural network thinks the handwritten digit is a 5, then we
should get [0, 0, 0, 0, 0, 1, 0, 0, 0, 0]. The 6th element that is in
charge to classify a five is triggered while the rest are not. So on
371. 0. MKL
• The default CNTK math library is the Intel Math
Kernel Library (Intel MKL). Follow this page to
install it in your system.
• Prepend its path to environment variable PATH,
e.g.:
• setx PATH "c:localmklml-
2018.0.1lib;%PATH%"
372. 1. Installing CNTK for Python on
Windows
Anaconda3
We have been testing CNTK with Anaconda3
4.1.1 (64-bit) and Python versions 2.7 and 3.5, as
well as Anaconda3 4.3.1 with Python version 3.6.
If you do not have a Anaconda3 Python
installation, install Anaconda3 4.1.1 Python for
Windows (64-bit).
373. 2. First time CNTK installation
• If this is the first time you install CNTK then
run
• C:> pip install <url>
• Tai yra CPU-Only
• pip install
https://cntk.ai/PythonWheel/CPU-
Only/cntk-2.5-cp35-cp35m-
win_amd64.whl
374. 3. Quick installation test
• A quick test that the installation succeeded can
be done by querying the CNTK version:
• python -c "import cntk;
print(cntk.__version__)"
375. 4. Testing your CNTK install with
Python
• CD CNTK-Samples-2-5
• cd Tutorials
• cd NumpyInterop
• python FeedForwardNet.py
376. 5. Run Jupyter notebooks
• cd Tutorials
• jupyter notebook
381. LANGUAGE MODELS
Formal languages, such as the programming languages Java or
Python, have precisely defined language models.
Natural languages, such as English or Spanish, cannot be
characterized as a definitive set of sentences.
That is, rather than asking if a string of words is or is not a
member of
the set defining the language, we instead ask for P(S =words )
Natural languages are also ambiguous
Finally, natural languages are difficult to deal with because they
are very large, and constantly changing.
382. TEXT CLASSIFICATION
Consider the task of text classification, also known as categorization: given
a text of some kind, decide which of a predefined set of classes it belongs to.
The term ham for not-
spam
We can classify a new message with an application of Bayes’ rule
383. INFORMATION RETRIEVAL
Information retrieval is the task of finding documents that are
relevant to a user’s need for information. The best-known
examples of information retrieval systems are search engines on
the World Wide Web.
The earliest IR systems worked on a Boolean keyword model. Each word in the document
collection is treated as a Boolean feature that is true of a document if the word occurs in the
document and false if it does not.
The query language is the language of Boolean expressions over features.
384. INFORMATION RETRIEVAL IR scoring functions
A scoring function takes a document and a query and returns a numeric score; the most
relevant documents have the highest scores.
BM25 is a bag-of-words retrieval function that ranks a set of documents based on the query terms appearing in
each document, regardless of the inter-relationship between the query terms within a document (e.g., their relative
proximity). It is not a single function, but actually a whole family of scoring functions, with slightly different
components and parameters. One of the most prominent instantiations of the function is as follows.
Given a query , containing keywords , the BM25 score of a document is:
385. INFORMATION RETRIEVAL IR system evaluation
Precision measures the proportion of documents in the result set that are actually relevant.
Recall measures the proportion of all the relevant documents in the collection that are in the result set.
386. INFORMATION RETRIEVAL The PageRank algorithm
PageRank3 was one of the two original ideas that set Google’s search apart from other Web
search engines when it was introduced in 1997.
PageRank was invented to solve the problem of the tyranny of TF (term frequency) scores: if the query is [IBM],
how do we make sure that IBM’s home page, ibm.com, is the first result, even if another page mentions the term
“IBM” more frequently? The idea is that ibm.com has many in-links (links to the page), so it should be ranked
higher:
387. INFORMATION EXTRACTION
Information extraction is the process of acquiring knowledge by skimming a text and looking for occurrences of
a particular class of object and for relationships among objects. A
typical task is to extract instances of addresses from Web pages, with database fields for
street, city, state, and zip code; or instances of storms from weather reports, with fields for
temperature, wind speed, and precipitation.
The simplest type of information extraction system is an attribute-based extraction system
that assumes that the entire text refers to a single object and the task is to extract attributes of
that object.
One step up from attribute-based extraction systems are relational extraction systems
A relational extraction system can be built as a series of cascaded finite-state transducers. That is, the system
consists of a series of small, efficient finite-state automata (FSAs), where
each automaton receives text as input, transduces the text into a different format, and passes
it along to the next automaton.
389. Podniósłszy oczy, zobaczyłem przez wypukłą szybę ściany studni i, wyżej, schyloną nad nią twarz Moddarda.
I looked up; through the transparent canopy I could see a smooth, polished wall and, far above, Moddard's head leaning over the top of the shaft.
Подняв глаза, я увидел сквозь выпуклое стекло стены колодца и выше лицо склонившегося над ним Моддарда.
Pakėlęs akis, pro išgaubtą šulinio sienos langą pamačiau pasilenkusio Modardo veidą.
VP3, pro NP VBD4
I VP; through NP I VP
PL ->
PE ->
VBP41 NNS1
VBD PRT
VP ->
VP3 ->
pakėlęs | …
looked | …
VBD ->
VBP41 ->
Looking
Increasing
Seeing
Transparent
Artifact
VP
NP
VP
(=>
(attribute ?O Transparent)
(modalAttribute
(exists (?S) (and
(instance ?S Seeing)
(agent ?S ?A)
(destination ?S ?D)
(between ?O ?A ?D))) Possibility))
(subclass Looking Seeing)
(=> (and
(instance ?SEE Seeing)
(patient ?SEE ?OBJ))
(holdsDuring (WhenFn
?SEE) (attribute ?OBJ
Illuminated)))
I glanced up; through the window I could see
I peeked up; through the frame I could see
I glinted up; through the period I could see
He lifted up his eyes and saw the convex glass walls of the well and, above, bent over her face Moddarda (PL)
Looking up, I saw through the convex glass wall well above the face bending over him Moddarda . (RU)
I lifted up my eyes, concave pit wall through the window I saw the face of Medardo pasilenkusio. (LT)
392. LANGUAGE MODELS . N-gram character models
An n-gram model is defined as a Markov chain of order n − 1.
Trigram model
We can define the probability of a sequence of characters P(c1:N) under the trigram model
by first factoring with the chain rule and then using the Markov assumption
393. LANGUAGE MODELS . N-gram character models
(Lietuvių kalba)
6 žodžių frazės , kurios prasideda žodžiu studentas
studentas sukurtų po temą apie tarkime 34
studentas turėtų pakankamų žinių ir gebėjimų 19
studentas šiandien sąrašas daugiau nei šimtu 14
studentas gali pasirinkti kur nori studijuoti 13
studentas turi atvyti keletui dienų į 13
studentas norėdamas gauti socialinę stipendiją 2 12
studentas į paprastą pragarą o ten 11
studentas krepšelį praras jei jo vidurkis 11
studentas norintis gauti paskolą turi registruotis 11
studentas į studentišką pragarą o ten 10
394. LANGUAGE MODELS . N-gram character models
(Anglų kalba)
4 žodžių frazės , kurios prasideda žodžiu student
student council national block 5379
student conference on medical 3414
student showcase finalist tag 2983
student help and other 2963
student council location miss 2051
student version adobe creative 1860
student teacher or parent 1641
student promoter home wrecker 1584
student is attending any 1442
student however innocuous it 1289
421. Paieška būsenų erdvėje
Karaliaučiaus tiltų sistema. Grafas.
Kaip šias grafiškai atvaizduotas žinias (patogias žmogui)
atvaizduoti kompiuterio atmintyje ir taip, kad kompiuteris
galėtų spręsti iškeltą uždavinį naudodamas loginio ir
kitokio išvedimo algoritmus?
430. Problemų tipai
• Deterministinis, pilnai stebimas → Agentas
tiksliai žino kurioje būsenoje jis bus.
• Nedeterministinis ir/ar dalinai stebima
aplinka → Sensoriai teikia papildomos
informacijos apie aplinką.
436. Paieška būsenų erdvėje
SL := [Start]; NSL := [Start]; DE := [ ]; CS := Start; Inicializuojame atminties masyvus.
Start reiškią pirminė būsena.
while NSL not empty Tol kol yra ką tikrinti. Tikriname.
if CS = goal then return (SL) Jei pasiektas tikslas, tada
gražiname būsenas einamajame
kelyje. Tai ir bus sprendimas.
if CS has no children then while SL is not empty and CS
= first element of SL add CS to DE and
remove first element from SL and remove first element
from NSL and CS = first element of NSL.
add CS to SL.
Jei einamoji būsena neturi mazgų-
vaikų, tai patalpiname ją aklavietės
būsenų sąrašą DE.
else if (i.e. CS has children) then place children of CS on
NSL; CS = first element of NSL; add CS to SL;
Jei einamoji būsena turi vaikų-
mazgų tai juos padedame į NSL
atminties masyvą.
446. Pirmas-geriausias
• Naudokite įvertinimo funkciją f(n)
kiekvienam mazgui
→Išplėskite labiausiai pageidaujamą neišplėstą mazgą
• Įgyvendinimas :
Dėstyti mazgus mažėjančia tvarka pagal f(n)
• Ypatingi atvejai:
– Tiesmukiškas - Pirmas-geriausias
– A* paieška
–
447. Tiesmukiškas - Pirmas-geriausias
• Įvertinimo funkcija f (n) = h (n) (euristika)
• = t.y. kaina nuo n iki tikslo
• e.g., hSLD(n) = tiesios linijos atstumas nuo
n iki Bukarešto
• Algoritmas plečia mazgą, kuris atrodo yra
artimiausias tikslui
461. Priimtinos euristikos
• h(n) yra priimtina jei kiekvienam mazgui n,
h(n) ≤ h*(n), kur h*(n) yra tikroji kaina
pasiekti tikslą nuo n mazgo.
• Pavyzdys: hSLD(n) (niekada nepervertina
tikro kelių atstumo)
466. Lokalios paieškos algoritmai
• Daugelyje uždavinių kelias iki tikslo nėra
reikalingas, reikalingas pats tikslas.
• Būsenų erdvė = visos įmanomos konfigūracijos
• Reikia konfigūracijos kuri tenkintų ribojimus,
pav., n-karalienių
• Algoritmas: stengiamės kažkokių būdu pagerinti
dabartinę būseną.
472. Modeliuojamo atkaitinimo paieška
• Išvengiame lokalaus minimumo kartais darydami
blogus žingsnius bet palaipsniui mažiname tokių
blogų žingsnių skaičių
473. Lokalaus spindulio paieška
• Sekame k būsenų
•
• Pradedame su k atsitiktinai sugeneruotų būsenų
•
• Su kiekviena iteracija sugeneruojame sekančius
žingsnius kiekvienai iš k būsenų
•
• Jei vienas iš jų tikslas – sustojame. Priešingu
atveju imame k geriausių.
•
474. Genetiniai algoritmai
• Sekanti būsena gaunama sukryžminus dvi tėvų būsenas
•
• Pradedam su k atsitiktinai sugeneruotų būsenų
(populiacija)
•
• Būsena aprašyta kaip simbolių eilutė baigtiniame
alfabete (dažnai alfabetas tik iš 0 ir 1)
•
• Būsenų įvertinimo funkcija suteikia didesnes reikšmes
geresnėms būsenoms.
•
•
477. A* optimalumo įrodymas
• Tarkime G2 suboptimalus tikslas. n neišplėstas mazgas
ir toks kad n yra trumpiausiame kelyje iki optimalaus
tikslo G.
• f(G2) = g(G2) h(G2) = 0
• g(G2) > g(G) G2 nes jis suboptimalus
• f(G) = g(G) h(G) = 0
• f(G2) > f(G)
478. A* optimalumo įrodymas
• Tarkime G2 suboptimalus tikslas. n neišplėstas mazgas
ir toks kad n yra trumpiausiame kelyje iki optimalaus
tikslo G.
• f(G2) > f(G)
• h(n) ≤ h^*(n) nes h priimtina
• g(n) + h(n) ≤ g(n) + h*(n)
• f(n) ≤ f(G)
Todėl f(G2) > f(n), ir A* niekada nepasirinks G2
479. Nuosekli euristika
• Euristika yra nuosekli jei kiekvienam mazgui n, kiekvienas
sekantis n' sugeneruotas veiksmo a,
•
h(n) ≤ c(n,a,n') + h(n')
• tada
•
f(n') = g(n') + h(n')
= g(n) + c(n,a,n') + h(n')
≥ g(n) + h(n)
= f(n)
• T.y.., f(n) nemažėja.
•
• Teorema: jei h(n) yra nuoseklus, A* optimalus
482. Ribojimus tenkinančios problemos
(CSPs)
• Iki šiol (standartinis paieškos uždavinys):
– būsena - “juoda dėžė“ – struktūrinės žinios apie
uždavinį aprašomos naudojamoje euristikoje.
• CSP:
– būsena – būsena nusakoma kintamaisiais Xi ,
kurių vertės parenkamos iš domeno Di
– galutinė būsena – kintamieji su tam tikromis
vertėmis tenkinančiomis ribojimusis
483. Žemėlapio spalvinimas
• Kintamieji WA, NT, Q, NSW, V, SA, T
• Domenas Di = {raudona,žalia,mėlyna}
• Ribojimai: gretimi regionai - skirtingų spalvų
• t.y., WA ≠ NT, ar (WA,NT) in {(raudona, žalia),(raudona,
mėlyna),(žalia, raudona), (žalia, mėlyna),(mėlyna, raudona),(mėlyna,
žalia)}
485. Ribojimų grafas
• Binarinis CSP: kai kiekvienas ribojimas sujungia du
kintamuosius
•
• Ribojimų grafikas: mazgai kintamieji, lankai ribojimai
•
486. CSP variantai
• Diskretūs kintamieji
•
– domenų aibė baigtinė:
• n kintamųjų, domeno dydis d → O(dn) galimų priskyrimų
• pav., Loginis CSPs, įskaitant.~Loginį įgyvendinamumą (NP-pilnas)
– domenų aibė begalinė :
• sveiki skaičiai, simbolių eilutės, kt..
• Pav. darbų grafiko sudarymas kai neribojama pabaigos data
• Dažnai reikia ribojimų tam tikros kalbos, pav., StartJob1 + 5 ≤ StartJob3
• Tolydūs kintamieji
•
– pav., matavimo prietaisų pradžios / pabaigos laikas
– Ribojimai aprašomi tiesinėmis lygtimis -> sprendimui reikalingas laikas
aprašomas polinomu
487. CSP ribojimų variantai
• Unitariniai - ribojimai su vienu kintamuoju,
– pav., SA ≠ žalias
–
• Binariniai - ribojimai su dviem kintamaisiais,
– pav., SA ≠ WA
–
• Aukštesnės eilės ribojimai su 3 ar daugiau kintamųjų,
– pav., kriptoaritmetiniai ribojimai sekančioje skaidrėje
–
488. Pav. Kriptoaritmetiniai ribojimai
• Kintamieji: F T U W R O X1 X2 X3
• Domenas: {0,1,2,3,4,5,6,7,8,9}
• Ribojimai: Alldiff (F,T,U,W,R,O)
• O + O = R + 10 · X1
• X1 + W + W = U + 10 · X2
• X2 + T + T = O + 10 · X3
• X3 = F, T ≠ 0, F ≠ 0
489. Realaus pasaulio CSP
• Priskyrimo problemos
– pav., kas kam dėsto
–
• Paskaitų grafikas
•
• Transporto grafikas
•
• Gamybos resursų paskirstymas
•
490. Standartinės paieškos formuluotė
Būsenos nusakomos kintamųjų tam tikromis reikšmėmis (ten kur reikšmės
priskirtos)
• Pirminė būsena: tuščia priskyrimų aibė { }
• Sekančio priskyrimo funkcija: priskiria kintamojo reikšmę taip, kad nekyla
konflikto su ribojimais
→ gražina nesėkmė jei nėra ką priskirti
• Tikslo testas: visi kintamieji sėkmingai priskirti
1. Tinka visiems CSP
2. Sprendimo paieškos kelio gylis n su n kintamųjų
→ naudojama gylis pirmiau paieška
3. Paieškos kelias nesvarbus
491. Paieška su grįžimu (Backtracking)
• Gylis pirmyn paieška kai naudojam vieno kintamojo
priskyrimą vadinamas paieška su grįžimu. Mes atmetame
dalinį sprendimą kai tik pamatome kad jis neveda prie galutinio
sprendimo.
• Pavyzdžiui karalienių uždavinys: imame k pirmų stulpelių ir jei
pamatome, kad yra kirtimas, atmetame tokią kombinaciją.
• Galima išspręsti karalienių uždavinį kai n ≈ 25
497. Paieška su grįžimu (pagerinimas)
• Kuris kintamasis turi būti nagrinėjimas sekančiu
žingsniu?
• Kokiu eiliškumu mėginti priskirti kintamajam jo
reikšmes?
• Ar galime nustatyti nesėkmingą paieškos šaką
ankščiau nei pasiekėme medžio apačią?
498. Labiausiai ribojamas kintamasis
• Pasirenkame labiausiai ribojamą kintamąjį
(t.y. su mažiausia priskyrimų laisve)
• T.y. minimali likusių reikšmių euristika
499. Labiausiai ribojamas kintamasis
• Pasirenkame taip, kad sugriauti lygybę
tarp vienodo pasirinkimo galimybę turinčių
labiausiai ribojamų kintamųjų (ir sekančiu
žingsniu pasirenkame labiausiai ribojamą
kintamąjį).
500. Labiausiai ribojama vertė
• Pasirikus kintamąjį toliau pasirenkame
labiausiai ribojamą vertę:
• Tokia vertė, kad kiti kintamieji turėtų kuo
mažiau laisvės rinktis
• Su šiom euristikom 1000 karalienių galima
išdėlioti
501. Patikra į priekį
• Taigi:
– Laikyti atmintyje galimas vertes nepriskirtiems kintamiesiems
– Nutraukti paiešką kai joks iš kintamųjų negali būti legaliai
inicializuotas
502. Patikra į priekį
• Taigi:
– Laikyti atmintyje galimas vertes nepriskirtiems kintamiesiems
– Nutraukti paiešką kai joks iš kintamųjų negali būti legaliai
inicializuotas
503. Patikra į priekį
• Taigi:
– Laikyti atmintyje galimas vertes nepriskirtiems kintamiesiems
– Nutraukti paiešką kai joks iš kintamųjų negali būti legaliai
inicializuotas
–
504. Patikra į priekį
• Taigi:
– Laikyti atmintyje galimas vertes nepriskirtiems kintamiesiems
– Nutraukti paiešką kai joks iš kintamųjų negali būti legaliai
inicializuotas
–
505. Ribojimų perdavimas
• Ribojimų perdavimas perduoda informaciją nuo priskirtų
prie nepriskirtų kintamųjų, bet nenustato visų
nesėkmingos paieškos kelių:
•
• NT ir SA negali būti vienu metu mėlyni!
•
507. Lankų suderinamumas
• X →Y yra suderinti jei
•
Kiekvienam x iš X yra tam tikras leistinas y
508. Lankų suderinamumas
• X →Y yra suderinti jei
•
Kiekvienam x iš X yra tam tikras leistinas y
• Jei X praranda vertę, X kaimyną reikia patikrinti
•
509. Lankų suderinamumas
• X →Y yra suderinti jei
•
Kiekvienam x iš X yra tam tikras leistinas y
• Jei X praranda vertę, X kaimyną reikia patikrinti
• Lankų suderinamumas nustato nesėkmingą
paiešką ankščiau nei tiesioginė paieška
514. Žaidimai ir paieška
• “Nenuspėjamas" oponentas → reikia ištirti
kiekvieną oponento galimą ėjimą
• Realiuose žaidimuose laiko ribojimai →
t.y. surasti galutinį sprendimą praktiškai
neįmanoma ir dėl to reikia aproksimuoti
516. Minimax
• Geriausia strategija deterministiniams žaidimams
•
• Pagrindinė idėja: pasirinkti ėjimą kurio didžiausia
minimax vertė
= t.y. geriausias įmanomas pasiekimas prieš
geriausią žaidėją
•
• pav., 2-ėjimų žaidimas:
•
518. minimax sąvybės
• Pilnas? Taip (jei medis baigtinis)
• Optimalus? Taip (prieš geriausią žaidėją )
• Laiko kompleksiškumas? O(bm)
• Atminties kompleksiškumas? O(bm) ( gylis pirmiau
paieška)
• Šachmatai, b ≈ 35 (gylis), m ≈100 (vidutinis pasirinkimų skaičius)
vidutiniam žaidimui
→ t.y. su dabartine skaičiavimo technika neįmanoma
perrinkti
•