SlideShare a Scribd company logo
1 of 564
Download to read offline
DIRBTINIS INTELEKTAS IR JO TAIKYMAI
1
Dabarties kultūrinis kontekstas
• https://images.search.yahoo.com/yhs/search;_ylt=A0LEVjJf5NFU.u8AbzInnIlQ?p=artificial+intelligence&fr=&fr2=piv-web&hspart=mozilla&hsimp=yhs-001
• https://www.google.com/search?q=artificial+intelligence&lr=&source=lnms&tbm=isch&sa=X&ei=y-TRVPLGGIrzUr_egOAP&ved=0CAgQ_AUoAQ&biw=1600&bih=798
• http://www.bing.com/images/search?q=artificial+intelligence&FORM=HDRSC2
History
• Al-Jazari's programmable automata (1206
CE)
History
• Gottfried Leibniz, who speculated that
human reason could be reduced to
mechanical calculation
• The IBM 702: a computer used by the first
generation of AI researchers.
History
• 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
• 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
• 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
• 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
Natural language
(Natūralios kalbos sąsaja)
An important goal of AI research is to
allow computers to communicate in
natural languages like English.
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.
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.
Dirbtinis intelektas ir informacinės sistemos
Pavyzdys : Finansų rinkos
Pavyzdys : Interneto vartotojų sekimas
Įvadas
Įvadas
Įvadas
Įvadas
Įvadas
Įvadas
Įvadas
Įvadas
Įvadas Evoliuciniai skaičiavimai Genetiniai algoritmai.
Įvadas
➢Keturi polinomai arba keturios programos
sudarančios populiaciją GP algoritmo pradžioje.
Įvadas
JESS
WEKA
Ž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ą.
Žinių vaizdavimas
Žinių vaizdavimas
Žinių vaizdavimas
Žinių vaizdavimas
Žinių vaizdavimas
Žinių vaizdavimas
Žinių vaizdavimas
Ž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
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
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
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.
Roboto/Pabaisos pasaulis
Roboto/Pabaisos pasaulis
Roboto/Pabaisos pasaulis
Roboto/Pabaisos pasaulis
Roboto/Pabaisos pasaulis
Roboto/Pabaisos pasaulis
Roboto/Pabaisos pasaulis
Roboto/Pabaisos pasaulis
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
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ų.
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(α)
Loginis išvedimas
KB1: [1,1] saugu, judėti
dešinėn galima. KB2:
vėjas [2,1]
KB galimi modeliai tiriant tik
duobes
3 loginiai pasirinkimai  8
galimi modeliai
Loginis išvedimas
Loginis išvedimas
• KB = taisyklės + stebėjimai
Loginis
išvedimas
• KB = taisyklės + stebėjimai
• α1 = "[1,2] saugu", KB ╞ α1, įrodyta
tikrinant modelį
•
α1
Loginis išvedimas
Loginis išvedimas
• KB = taisyklės + stebėjimai
• α2 = "[2,2] saugu", KB ╞ α2
•
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).
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
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
Tiesos lentelė
Pabaisos pasaulis
Pi,j true jei duobė [i, j].
Bi,j true jei vėjas [i, j].
 P1,1
B1,1
B2,1
• “Duobės sukelia vėjus gretimuose langeliuose"
B1,1  (P1,2  P2,1)
B2,1  (P1,1  P2,2  P3,1)
Matome, kaip nepatogu naudoti teiginių logiką nes norint nusakyti
šį faktą visam pabaisos pasauliui reikėtų išvardinti visus
langelius (predikatų logikoje ši problema išspręsta įvedant
predikatus)
Tiesos lentelė loginiam išvedimui
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)
•
Loginis ekvivalentiškumas
• Du sakiniai logiškai ekvivalentiški jei visiems modeliams
tiesa: α ≡ ß jei α╞ β ir β╞ α
•
•
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., AA
Galiojamumas susiejęs su tenkinamumu sekančiai :
KB ╞ α tada ir tik tada kai (KB α) netenkinamas
Įrodymo metodai
– Išvedimo taisyklės
• Galiojančių taisyklių išvedimas
• Įrodymas = grandinė išvestų taisyklių
– Modelio tikrinimas
• Tiesos lentelės perrinkimas
• euristinė paieška modelių erdvėje
Rezoliucija
Norminė forma (Conjunctive Normal Form) (CNF)
sąjunga sakinių sankirtų
pav., (A  B)  (B  C  D)
• Rezoliucijos taisyklė (CNF):
•
li …  lk, m1  …  mn
li  …  li-1  li+1  …  lk  m1  …  mj-1  mj+1 ...  mn
kur li ir mj are koplementarūs simboliai.
pav., P1,3  P2,2, P2,2
P1,3
• Rezoliucija - galiojantis ir
pilnas išvedimas teiginių logikai
Rezoliucija
Rezoliucijos išvedimo vientisumas (Soundness) :
(li  …  li-1  li+1  …  lk)  li
mj  (m1  …  mj-1  mj+1 ...  mn)
(li  …  li-1  li+1  …  lk)  (m1  …  mj-1  mj+1 ...  mn)
Pav. CNF
B1,1  (P1,2  P2,1)
1. Eliminuoti , vietoj α  β su (α  β)(β  α).
2. (B1,1  (P1,2  P2,1))  ((P1,2  P2,1)  B1,1)
3. Eliminuoti , vietoj α  β su α β.
4. (B1,1  P1,2  P2,1)  ((P1,2  P2,1)  B1,1)
5.  į vidų naudojant de Morgan's taisyklę dvigubo
neigimo:
6. (B1,1  P1,2  P2,1)  ((P1,2  P2,1)  B1,1)
7. Panaudoti distributyvumo taisyklę ( vietoj ) :
8. (B1,1  P1,2  P2,1)  (P1,2  B1,1)  (P2,1  B1,1)
Rezoliucijos algoritmas
• Įrodymas neigimu, t.y. parodyti KBα netenkinama
•
Rezoliucija pav.
• KB = (B1,1  (P1,2 P2,1))  B1,1 α = P1,2
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).
Paieška pirmyn
• Panaudok taisyklę kurios sąlyga tiesa KB,
– Išvadą pridėk prie KB, taip tęsti kol pasiekiame užklausos sakinį
Paieška pirmyn
Paieška pirmyn
Paieška pirmyn
Paieška pirmyn
Paieška pirmyn
Paieška pirmyn
Paieška pirmyn
Paieška pirmyn
Paieška pirmyn
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
Paieška atgal
Paieška atgal
Paieška atgal
Paieška atgal
Paieška atgal
Paieška atgal
Paieška atgal
Paieška atgal
Paieška atgal
Paieška atgal
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ą?
Predikatų (Pirmos-Eilės)
Logika (FOL(en))
Taigi
• Kodėl FOL?
• Sintaksė ir semantika FOL
• Panaudojimas FOL
• Robotas/Pabaisa ir FOL
• FOL ir Žinių inžinerija
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)
FOL
• Teiginių logika skaito, kad pasaulis
susideda iš faktų,
• FOL
– Objektai
– Ryšiai
– Funkcijos
FOL: Sntaksė
• Konstantos KingJohn, 2, NUS,...
• Predikatai Brother, >,...
• Funkcijos Sqrt, LeftLegOf,...
• Kintamieji x, y, a, b,...
• Operatoriai , , , , 
• Lygybė =
• Kvantoriai , 
Atominis sakinys
Atominis sakinys = predicate (term1,...,termn)
or term1 = term2
Term = function (term1,...,termn)
or constant or variable
• Pav., Brother(KingJohn,RichardTheLionheart) >
(Length(LeftLegOf(Richard)),
Length(LeftLegOf(KingJohn)))
Kompleksinis sakinys
• Iš atominių
S, S1  S2, S1  S2, S1  S2, S1  S2,
Pav. Sibling(KingJohn,Richard) 
Sibling(Richard,KingJohn)
>(1,2)  ≤ (1,2)
>(1,2)   >(1,2)
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
Modelis FOL: Example
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)
 ...
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)
 ...
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)]
FOL
Karalystės domenas:
Broliai
Siblings
x,y Brother(x,y)  Sibling(x,y)
• Motina kažkieno moteriškos kilmės protėvis
m,c Mother(c) = m  (Female(m)  Parent(m,c))
• “Sibling” simetrija
x,y Sibling(x,y)  Sibling(y,x)
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)
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}
Pabaisos pasaulio Žinių bazė
• Sensoriai
– t,s,b Percept([s,b,Glitter],t)  Glitter(t)
–
• Veiksmai
– t Glitter(t)  BestAction(Grab,t)
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)$ ]
Ž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
Žinių bazės
WordNet
http://wordnet.princeton.edu
NELL: Never-Ending
Language Learning
• http://rtw.ml.cmu.edu/rtw/
FrameNet
• https://framenet.icsi.berkeley.edu/fndrupal/
• ARK Syntactic & Semantic Parsing
Demo
• http://demo.ark.cs.cmu.edu/parse?sentenc
e=Robots%20in%20popular%20culture%2
0are%20there%20to%20remind%20us%2
0of%20the%20awesomeness%20of%20u
nbounded%20human%20agency.
Žinių bazės
DBpedia
http://dbpedia.org
Žinių bazės
SUMO/MILO
http://www.ontologyportal.org
Žinių bazės
Wolfram|Alpha’s
http://www.wolframalpha.com
http://www.wolframalpha.com/examples/
Žinių vaizdavimas
Žinių vaizdavimas
Žinių vaizdavimas
Žinių vaizdavimas
Žinių vaizdavimas
PLANAVIMAS
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ą.
PLANAVIMAS
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.
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.
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.
PLANAVIMAS
PLANAVIMAS
PLANAVIMAS
PLANAVIMAS
PLANAVIMAS
PLANAVIMAS
Blokų pasaulio būsenos. Planavimo pavyzdys
Planavimo uždavinių kalbos
Planavimo uždavinių kalbos
Planavimo uždavinių kalbos
Planavimo uždavinių kalbos
Planavimas: laikas ir resursai
Planavimas: laikas ir resursai
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
1. įvykio numeris /event number/;
2. anksčiausia įvykio data /earliest data/;
3. vėliausia įvykio data /latest data/;
4. įvykio laiko rezervas /slack
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
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
Kritinis kelias grafe
Dar
bas
Trukmė
(savaitėm
is)
Anksčiau
sia
pradžios
data
Vėliausia
pradžios
data
Anksči
ausia
pabaig
os data
Vėliau
sia
pabaig
os data
Bendr
as
svyrav
imas
Laisvas
svyravim
as
Paskirst
ytas
svyravi
mas
A 6 0 2 6 8 2 0 2
B 4 0 3 4 7 3 0 3
C 3 6 8 9 11 2 2 0
D 4 4 7 8 11 3 3 0
E 3 4 7 7 10 3 3 0
F 10 0 0 10 10 0 0 0
G 3 10 10 13 13 0 0 0
H 2 9 11 11 13 2 2 0
Į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
Planavimas: laikas ir resursai
Planavimas: laikas ir resursai
Planavimas: laikas ir resursai
Planavimas: laikas ir resursai
Dviejų automobilių surinkimo galimas
sprendimas naudojant resursus
Planavimas
Planavimas
DIRBTINIS INTELEKTAS IR JO TAIKYMAI
2
Neapibrėžtumas
Neapibrėžtumas
GalvosSkausmas GalvosSkausmas
Temperatūra Temperatūra Temperatūra Temperatūra
Gripas .108 .012 .072 .008
Gripas .016 .064 .144 .576
Laikome, kad šias tikimybes turime. Kaip jas gauname sužinosime vėliau.
Neapibrėžtumas
Neapibrėžtumas
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.
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.
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.
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ę
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?)
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)
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
Pavyzdžiui:
Klausimas:
Atsakymas paskaičiuojamas:
Problema; skaičiavimų kiekis
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
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.
Markovo stacionarūs procesai
)
X
|
P(X
)
X
|
P(X 1
-
t
t
1
-
t
:
0
t =
)
X
,
X
|
P(X
)
X
|
P(X 2
-
t
1
-
t
t
1
-
t
:
0
t =
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.
Galime suformuluoti 4 pagrindines loginio
išvedimo laike uždavinių grupes:
• Stebėjimas.
• Prognozavimas.
• Glodinimas.
• Paaiškinimas.
Markovo stacionarūs procesai
Markovo stacionarūs procesai
Markovo stacionarūs procesai
Kalmano filtrai
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
Neapibrėžtumas
Mokymasis
Mokymasis naudojant stebėjimus
Dirbtinio intelekto sistema
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.
Indukcinis mokymasis ir Okamo skustuvas
Indukcinis mokymasis ir Okamo skustuvas
Asociacijos taisyklės
• X => Y
• X = {x1, x2, …, xn}
• Y = {y1, y2, …, yn}
• xi ir yj unikalūs atributai
• X (LHS)
• Y (RHS)
Transaction ID Items Bought
1 Milk, bread, cookies, juice
2 Milk, juice
3 Milk, eggs
4 Bread, cookies, coffee
Taisyklės metrikos
• Support
– Kaip dažnai sutinkama duomenų bazėje
– LHS  RHS
• Confidence
– Tikimybė kad LHS => RHS
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
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
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ą
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}
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ą.
Sprendimų medžiai
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:
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ų.
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.
Teoriniai Mokymosi aspektai
Ž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.
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ė
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ą
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
Hipotezių erdvės paieška
Pavyzdys: version-spaces.pdf
http://www.ccs.neu.edu/home/rjw/csg220/lectures/version-
spaces.pdf
Hipotezių erdvės paieška
Problema: labai daug suderintų hipotezių.
Sprendimas : sekančioje skaidrėje.
Problemos su sprendimu dar sekančioje skaidrėje.
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:
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ų.
Žinių valdymas ir mokymasis
Bendra mokymosi schema panaudojant žinias paveiksle.
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)
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.
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
Mokymasis paaiškinant
Reikia rasti
Žinios
Duomenys
Mokymasis paaiškinant
Įrodome kad obj yra puodukas
Mokymasis paaiškinant
Objektus pakeičiame kintamaisiais
Gauname
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
Mokymasis paaiškinant
Kitas pavyzdys iš algebros
Reikia suprastinti 1 × (0 + X). Sekantis medis tai įrodo.
Mokymasis paaiškinant
Apibendrinimas
Gauname labiau apibendrintas taisykles
Mokymasis paaiškinant
Iš natūralios kalbos analizės uždavinių
Mokymasis paaiškinant
Iš natūralios kalbos analizės uždavinių
Natūralios kalbos generavimas
Mokymasis paaiškinant
Natūralios kalbos generavimas. Semantika.
Mokymasis paaiškinant
Natūralios kalbos generavimas. Semantika.
Mokymasis paaiškinant
Natūralios kalbos generavimas. Metodo architektūra
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
Indukcinis loginis programavimas
(Inductive logic programming)
Pagrindinė schema:
Žinios  Aprašymas  Hipotezės ╞ Klasifikavimas
Arba kitas, alternatyvus užrašymas:
positive examples + negative examples + background
knowledge ⇒ hypothesis.
Indukcinis loginis programavimas
Aprašymas -> visų pavyzdžių konjunkcija
Klasifikavimas -> visų pavyzdžių klasifikavimo
konjunkcija
:
Žinios  Hipotezės Aprašymas╞ Klasifikavimas
Indukcinis loginis programavimas
ILP pavyzdžio stebėjimai (duomenys) - giminystės medis
Indukcinis loginis programavimas
ILP pavyzdžio klasifikavimai
Iš viso 20*20=400 pavyzdžių
Indukcinis loginis programavimas
ILP pavyzdžio tikslas
Kur mokymosi metu surastas naujas predikatas:
Indukcinis loginis programavimas FOIL
Teigiami pavyzdžiai
Neigiami pavyzdžiai
ILP tikslas
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
Indukcinis loginis programavimas. Rezoliucijos inversija
Pirmas žingsnis – pasirenkame konkretų pozityvų
klasifikavimą, pav.
Ir tada mėginame taikyti rezoliucijos inversiją.
SPRENDIMŲ PRIĖMIMAS
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.
SPRENDIMŲ PRIĖMIMAS
.
SPRENDIMŲ PRIĖMIMAS
.
Sprendimų teorijos pagrindinės sąvokos
.
Sprendimų teorijos pagrindinės sąvokos
.
Sprendimų teorijos pagrindinės sąvokos
.
Pinigų naudingumo funkcijos pavyzdys
.
a) tipinio žaidimo b) per visą pinigų skalę
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.
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ą.
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ą.
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ą
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.
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.
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
Sprendimų teorija įvykių sekoms
.
Sprendimų teorija įvykių sekoms
.
Sprendimų teorija įvykių sekoms
.
Sprendimų teorija įvykių sekoms
.
Optimalūs roboto sprendimai
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 )
(
)
'
,
,
(
)
,
'
(
)
'
(
' 
Sprendimų teorija įvykių sekoms
.
Bendra sprendimų agento projektavimo schema
Sprendimų teorija įvykių sekoms
.
Dinaminio sprendimų tinklo paieškos medis
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
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.
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
Mokymasis iš aplinkos
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 



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 



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
Sprendimai keleto agentų aplinkoje
SPRENDIMŲ PRIĖMIMAS
Neuroniniai tinklai
Neuronai
.
Biologinė neuronų sistemą.
Neuronai
.
Neuroninė ląstelė kaip biologinė sistemą
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)
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
Neuronai
.
Matematinis neurono kaip sistemos modelis.
Neuroninis loginio elemento modelis
.
Neuroninis loginio elemento modelis
.
Neuroninis loginio elemento modelis
.
Modelis slenksčio logikai kai koeficientai realūs skaičiai.
Neuroninis loginio elemento modelis
.
Situacija kai tiesė atskiria loginius kintamuosius
Kelių neuronų tinklai
.
Neuroninis tinklas realizuojantis XOR funkciją
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ą.
Neurono svorio koeficientai
.
Neurono mokymosi procesas
Neurono svorio koeficientai
.
Perceptrono mokymas
Neurono svorio koeficientai
.
Neurono atsakymo klaida nuo mokymosi
konstantos dydžio
Adaptyvus tiesinis elementas
.
Adaptyvus tiesinis elementas
Gradiento metodas
.
Tangento funkcija
Gradiento metodas
.
Trijų neuronų tinklas
.
Trijų neuronų tinklas
Trijų neuronų tinklas
.
Dviejų sluoksnių neuroninis tinklas
.
Daugelio sluoksnių neuroninis tinklas
.
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.
Tinklo sudėtingumas
.
Neuronų tinklo topologijos parinkimas.
XOR funkcijos realizavimo pavyzdys
Tinklo sudėtingumas
.
Neuronų pridėjimas palaipsniui mokantis ir
tikrinant klaidos paviršių
Tinklo sudėtingumas
.
Palaipsniui ištrinami ir pridedami neuronai
Tinklo sudėtingumas
Lokalaus minimumo problema
Radialinių bazinių funkcijų tinklai
.
Radialinių bazinių funkcijų tinklai
.
Gauso radialinė funkcija
Save organizuojantys tinklai
.
Padavus duomenų vektorių xi visada
aktyvuosis vienas neuronas pav. mi
x
SOM neuroninis tinklas
Save organizuojantys tinklai
.
)}
,
(
{
min
arg i
i
m
x
d
c =
||}
{||
min
arg i
i
m
x
c −
=
))
(
)
(
(
)
(
)
1
( t
m
t
x
h
t
m
t
m i
ci
i
i −
+
=
+
)
||,
(||
)
( t
r
r
h
t
h i
c
ci −
=
Save organizuojantys tinklai
.
Funkcijos ci
h interpretacija
Save organizuojantys tinklai
.
Eksperimentas rodantis neuronų išsidėstymo topologiją
Save organizuojantys tinklai
.
Eksperimentas rodantis konvergavimą
Save organizuojantys tinklai
.
Eksperimentas rodantis konvergavimą
Save organizuojantys tinklai
.
Save organizuojantys tinklai
. SOT krašto efektas
Save organizuojantys tinklai
.
Informacinės sistemos modeliavimo procesas
Dinaminiai tinklai
.
Dinaminiai tinklai
.
Dinaminio neurono modelis
Dinaminiai tinklai
.
Dinaminio neurono modelis. D2
Dinaminiai tinklai
.
Dinaminį neuroną atitinkančios elektroninės grandinės
Bolcmano mašina
.
Bolcmano mašina
.
Įvedimo / išvedimo Bolcmano tinklas
Savikontrolės klausimai
Evoliuciniai skaičiavimai
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.
Evoliuciniai skaičiavimai
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.
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.
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.
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ą:
Evoliuciniai skaičiavimai
1.Lokalaus ekstremumo pavyzdys
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.
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.
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.
Evoliuciniai skaičiavimai
Skruzdėlių kolonijos metodas
➢ 30 miestų
keliaujančio
prekybininko
sprendimas
naudojant skruzdėlių
metodą
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.
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ą.
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.
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
Evoliuciniai skaičiavimai Genetiniai
algoritmai.
Evoliuciniai skaičiavimai Genetiniai
algoritmai. Kodavimas bei optimizavimas
Evoliuciniai skaičiavimai Genetiniai
algoritmai. Kodavimas bei optimizavimas
Evoliuciniai skaičiavimai Genetiniai
algoritmai. Kodavimas bei optimizavimas
Genetinio algoritmo veikimo pavyzdys
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į.
Evoliuciniai skaičiavimai. Genetinis
programavimas
➢Keturi polinomai arba keturios programos
sudarančios populiaciją GP algoritmo pradžioje.
Evoliuciniai skaičiavimai. Genetinis
programavimas
Evoliuciniai skaičiavimai. Genetinis
programavimas
➢Dvi naujos programos
Evoliuciniai skaičiavimai. Genetinis
programavimas
➢ Programos B mutacija.
Perceptron
• Procedures of a Single-layer Perceptron
Network
Multilayer perceptron
Daugelio sluoksnių neuroninis
tinklas
Sigmoid Neurons
Step Function
• 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.
MNIST dataset of Hand-written
Digits.
• Multi-Layer Sigmoid Neural Network with 784 input neurons, 16 hidden
neurons, and 10 output neurons
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
Weka
Double click
Weka
Change to True
Means: first hidden layer 3
neurons , second – 6, third - 4
Weka
Weka: Why is there threshold?
• Because sigmoid is defined as
sigmoid(w,x,b) = 1/(1+exp(-(<w,x>-b)))
Weka: klasterių paieška
Weka: asociacijs taisyklių paieška
Weka: sprendimų medis
The Microsoft Cognitive Toolkit
(CNTK)
• Setup CNTK on your machine:
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%"
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).
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
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__)"
4. Testing your CNTK install with
Python
• CD CNTK-Samples-2-5
• cd Tutorials
• cd NumpyInterop
• python FeedForwardNet.py
5. Run Jupyter notebooks
• cd Tutorials
• jupyter notebook
CNTK 101: Logistic Regression and ML
Primer
NATURAL LANGUAGE
PROCESSING
SPEECH RECOGNITION
SPEECH SYNTHESIS
Overview of a typical TTS system
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.
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
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.
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:
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.
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:
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.
INFORMATION EXTRACTION Ontology extraction from large
corpora
Never-Ending Language Learning: http://rtw.ml.cmu.edu/rtw/
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)
MACHINE TRANSLATION
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
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
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
PHRASE STRUCTURE GRAMMARS
PHRASE STRUCTURE GRAMMARS
PHRASE STRUCTURE GRAMMARS
Semantic interpretation
Semantic interpretation
DIRBTINIS INTELEKTAS IR JO TAIKYMAI
1
Paieška būsenų erdvėje
Paieška būsenų erdvėje
O koks to sąryšis su baigtiniais automatais ?
Paieška į plotį
Paieška į plotį
Paieška į plotį
Paieška į plotį
Paieška į gylį
Paieška į gylį
Paieška į gylį
Paieška į gylį
Paieška į gylį
Paieška į gylį
Paieška į gylį
Paieška į gylį
Paieška į gylį
Paieška į gylį
Paieška į gylį
Paieška į gylį
Paieška būsenų erdvėje
Karaliaučiaus
tiltų sistema
Pamėginkime parašyti programą naudodami „naivius“
algoritmus.
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?
Paieška būsenų erdvėje
Alternatyva grafų vaizdavimui naudojant simbolius.
Visa tai galime sudėti į vieną lentelę.
Algoritmas: Atsitiktinai vaikštant
Paieška būsenų erdvėje
Paieška būsenų erdvėje
Paieška būsenų erdvėje
Kryžiukų-nuliukų žaidimo sprendimo paieškos procesas
kaip perėjimai būsenų erdvės grafe.
Pamėginkime parašyti programą.
Paieška būsenų erdvėje
Keliaujančio
prekybininko
uždavinio
pavyzdys.
Pavyzdys: Rumunija
• Pradinė būsena: Arad.
• Tikslas:
– Bucharest
• Problema:
– būsenos: miestai
– veiksmai: važiavimas tarp miestų
• Sprendimas:
– Maršrutas tarp miestų t.y., Arad, Sibiu,
Fagaras, Bucharest
Pavyzdys: Rumunija
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ą.
Pavyzdys: Dulkių siurblys
Pavyzdys: Dulkių siurblys-būsenų
erdvė
Pavyzdys: 8
• būsenos? Kaladėlių būsenos
• veiksmai? judėjimas
• tikslas? dėšinėje
• kelio kaštai? 1 vienam judesiui
•
• NP-sunkus
Pavyzdys: roboto ranka
• būsenos : rankos dalių koordinatės
•
• veiksmai? rankos judesys
•
• tikslas surinkta detalė
•
• kelio kaštai? veiksmų atlikimo laikas
Paieška būsenų erdvėje
Pilno būsenų perrinkimo strategijos
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ą.
Paieška būsenų erdvėje
Paprastas paieškos medis
Atminties masyvai sekančioje skaidėje.
Paieška
būsenų
erdvėje
Iteracija CS SL NSL DE
1 A [A] [A] []
2 B [BA] [BCDA] []
3 E [EBA] [EFBCDA] []
4 H [HEBA] [HIEFBCDA] []
5 I [IEBA] [IEFBCDA] [H]
6 F [FBA] [FBCDA] [EIH]
7 J [JFBA] [JFBCDA] [EIH]
8 C [CA] [CDA] [BFJEIH]
9 G [GCA] [GCDA] [BFJEIH]
Pilno perrinkimo pavyzdys
Paieška būsenų erdvėje
Paieška būsenų erdvėje. Pseudo kodo pavyzdys
programos-agento sprendžiančio praktinę problemą
Euristiniai paieškos algoritmai
Pagrindiniai
1. Pirmas-geriausias
2. Tiesmukiškas - Pirmas-geriausias
3. A* paieška
4. Euristikos
5. Lokalios paieškos algoritmai
6. Gradiento paieška
7. Modeliuojamo atkaitinimo paieška
8. Lokalaus spindulio paieška
9. Genetiniai paieškos algoritmai
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
–
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
Tiesmukiškas - Pirmas-
geriausias
Tiesmukiškas - Pirmas-
geriausias
Tiesmukiškas - Pirmas-
geriausias
Tiesmukiškas - Pirmas-
geriausias
Savybės: Tiesmukiškas - Pirmas-
geriausias
• Užbaigtas ? Ne – ciklai galimi, e.g., Iasi →
Neamt → Iasi → Neamt →
• Laikas? O(bm)
• Atmintis? O(bm)
• Optimalus? Ne
Euristiniai paieškos algoritmai
Rumunija
A* paieška : pavyzdys
A* paieška : pavyzdys
A* paieška : pavyzdys
A* paieška : pavyzdys
A* paieška : pavyzdys
A* paieška : pavyzdys
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)
A* optimalumas
Kiekvienu žingsniu išplečiamas kontūras,
kuriame esantys mazgai ir nagrinėjami
A* savybės
• Užbaigtas ? Taip (visada pasieks tikslą)
• Laikas? Eksponentinis
• Atmintis? Visi mazgai atmintyje
• Optimalus? Taip
Priimtinos euristikos
• h1(n) = kiekis neteisingai padėtų kaladėlių
• h2(n) = Manhattan atstumas
(kiekvienos kaladėlės atstumas iki jos tikros padėties)
• h1(S) = ?
• h2(S) = ?
Priimtinos euristikos
• h1(S) = ? 8
• h2(S) = ? 3+1+2+2+2+3+3+2 = 18
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ą.
n-karalienių
Gradiento paieška
Gradiento paieška
•
•
Gradiento paieška : 8- karalienės
• h = skaičius karalienių porų kur jos atakuoja viena kitą
• h = 17 šiame paveiksle
•
Gradiento paieška : 8- karalienės
• Lokalus minimumas h = 1
Modeliuojamo atkaitinimo paieška
• Išvengiame lokalaus minimumo kartais darydami
blogus žingsnius bet palaipsniui mažiname tokių
blogų žingsnių skaičių
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ų.
•
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.
•
•
Genetiniai paieškos algoritmai
• Optimalumo funkcija: kiekis neatakuojančių karalienių
porų (min = 0, max = 8 × 7/2 = 28)
•
• 24/(24+23+20+11) = 31%
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)
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
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
Problemos nusakomos
ribojimo sąlygomis
Taigi
• Ribojimus tenkinančios problemos (CSP)
• Paieška CSP problemose
• Lokali paieška CSP problemose
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
Ž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)}
Žemėlapio spalvinimas
• Sprendimas
•
Ribojimų grafas
• Binarinis CSP: kai kiekvienas ribojimas sujungia du
kintamuosius
•
• Ribojimų grafikas: mazgai kintamieji, lankai ribojimai
•
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
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
–
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
Realaus pasaulio CSP
• Priskyrimo problemos
– pav., kas kam dėsto
–
• Paskaitų grafikas
•
• Transporto grafikas
•
• Gamybos resursų paskirstymas
•
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
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
Paieška su grįžimu
Paieška su grįžimu
Paieška su grįžimu
Paieška su grįžimu
Paieška su grįžimu
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ą?
Labiausiai ribojamas kintamasis
• Pasirenkame labiausiai ribojamą kintamąjį
(t.y. su mažiausia priskyrimų laisve)
• T.y. minimali likusių reikšmių euristika
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į).
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
Patikra į priekį
• Taigi:
– Laikyti atmintyje galimas vertes nepriskirtiems kintamiesiems
– Nutraukti paiešką kai joks iš kintamųjų negali būti legaliai
inicializuotas
Patikra į priekį
• Taigi:
– Laikyti atmintyje galimas vertes nepriskirtiems kintamiesiems
– Nutraukti paiešką kai joks iš kintamųjų negali būti legaliai
inicializuotas
Patikra į priekį
• Taigi:
– Laikyti atmintyje galimas vertes nepriskirtiems kintamiesiems
– Nutraukti paiešką kai joks iš kintamųjų negali būti legaliai
inicializuotas
–
Patikra į priekį
• Taigi:
– Laikyti atmintyje galimas vertes nepriskirtiems kintamiesiems
– Nutraukti paiešką kai joks iš kintamųjų negali būti legaliai
inicializuotas
–
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!
•
Lankų suderinamumas
• X →Y yra suderinti jei
Kiekvienam x iš X yra tam tikras leistinas y
Lankų suderinamumas
• X →Y yra suderinti jei
•
Kiekvienam x iš X yra tam tikras leistinas y
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
• 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
Lankų suderinamumas AC-3
• Laiko kompleksiškumas: O(n2d3)
•
Paieška būsenų erdvėje
Žaidimai ir paieška
Taigi
• Optimalūs sprendimai
• α-β trynimas
• Nepilni, realaus laiko sprendimai
Ž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
Žaidimų medis
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:
•
Minimax algorithm
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
•
α-β paieškos medžio trynimas
α-β paieškos medžio trynimas
α-β paieškos medžio trynimas
α-β paieškos medžio trynimas
α-β paieškos medžio trynimas
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf
skaidresmerged.pdf

More Related Content

Featured

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software
 

Featured (20)

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 

skaidresmerged.pdf

  • 1. DIRBTINIS INTELEKTAS IR JO TAIKYMAI 1
  • 2. Dabarties kultūrinis kontekstas • https://images.search.yahoo.com/yhs/search;_ylt=A0LEVjJf5NFU.u8AbzInnIlQ?p=artificial+intelligence&fr=&fr2=piv-web&hspart=mozilla&hsimp=yhs-001 • https://www.google.com/search?q=artificial+intelligence&lr=&source=lnms&tbm=isch&sa=X&ei=y-TRVPLGGIrzUr_egOAP&ved=0CAgQ_AUoAQ&biw=1600&bih=798 • http://www.bing.com/images/search?q=artificial+intelligence&FORM=HDRSC2
  • 4. History • Gottfried Leibniz, who speculated that human reason could be reduced to mechanical calculation
  • 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.
  • 13. Dirbtinis intelektas ir informacinės sistemos
  • 15. Pavyzdys : Interneto vartotojų sekimas
  • 24. Įvadas Evoliuciniai skaičiavimai Genetiniai algoritmai.
  • 25. Įvadas ➢Keturi polinomai arba keturios programos sudarančios populiaciją GP algoritmo pradžioje.
  • 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(α)
  • 50. Loginis išvedimas KB1: [1,1] saugu, judėti dešinėn galima. KB2: vėjas [2,1] KB galimi modeliai tiriant tik duobes 3 loginiai pasirinkimai  8 galimi modeliai
  • 52. Loginis išvedimas • KB = taisyklės + stebėjimai
  • 53. Loginis išvedimas • KB = taisyklės + stebėjimai • α1 = "[1,2] saugu", KB ╞ α1, įrodyta tikrinant modelį • α1
  • 55. Loginis išvedimas • KB = taisyklės + stebėjimai • α2 = "[2,2] saugu", KB ╞ α2 •
  • 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
  • 60. Pabaisos pasaulis Pi,j true jei duobė [i, j]. Bi,j true jei vėjas [i, j].  P1,1 B1,1 B2,1 • “Duobės sukelia vėjus gretimuose langeliuose" B1,1  (P1,2  P2,1) B2,1  (P1,1  P2,2  P3,1) Matome, kaip nepatogu naudoti teiginių logiką nes norint nusakyti šį faktą visam pabaisos pasauliui reikėtų išvardinti visus langelius (predikatų logikoje ši problema išspręsta įvedant predikatus)
  • 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) •
  • 63. Loginis ekvivalentiškumas • Du sakiniai logiškai ekvivalentiški jei visiems modeliams tiesa: α ≡ ß jei α╞ β ir β╞ α • •
  • 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., AA Galiojamumas susiejęs su tenkinamumu sekančiai : KB ╞ α tada ir tik tada kai (KB α) netenkinamas
  • 65. Įrodymo metodai – Išvedimo taisyklės • Galiojančių taisyklių išvedimas • Įrodymas = grandinė išvestų taisyklių – Modelio tikrinimas • Tiesos lentelės perrinkimas • euristinė paieška modelių erdvėje
  • 66. Rezoliucija Norminė forma (Conjunctive Normal Form) (CNF) sąjunga sakinių sankirtų pav., (A  B)  (B  C  D) • Rezoliucijos taisyklė (CNF): • li …  lk, m1  …  mn li  …  li-1  li+1  …  lk  m1  …  mj-1  mj+1 ...  mn kur li ir mj are koplementarūs simboliai. pav., P1,3  P2,2, P2,2 P1,3 • Rezoliucija - galiojantis ir pilnas išvedimas teiginių logikai
  • 67. Rezoliucija Rezoliucijos išvedimo vientisumas (Soundness) : (li  …  li-1  li+1  …  lk)  li mj  (m1  …  mj-1  mj+1 ...  mn) (li  …  li-1  li+1  …  lk)  (m1  …  mj-1  mj+1 ...  mn)
  • 68. Pav. CNF B1,1  (P1,2  P2,1) 1. Eliminuoti , vietoj α  β su (α  β)(β  α). 2. (B1,1  (P1,2  P2,1))  ((P1,2  P2,1)  B1,1) 3. Eliminuoti , vietoj α  β su α β. 4. (B1,1  P1,2  P2,1)  ((P1,2  P2,1)  B1,1) 5.  į vidų naudojant de Morgan's taisyklę dvigubo neigimo: 6. (B1,1  P1,2  P2,1)  ((P1,2  P2,1)  B1,1) 7. Panaudoti distributyvumo taisyklę ( vietoj ) : 8. (B1,1  P1,2  P2,1)  (P1,2  B1,1)  (P2,1  B1,1)
  • 69. Rezoliucijos algoritmas • Įrodymas neigimu, t.y. parodyti KBα netenkinama •
  • 70. Rezoliucija pav. • KB = (B1,1  (P1,2 P2,1))  B1,1 α = P1,2
  • 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ą?
  • 94.
  • 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
  • 99. FOL: Sntaksė • Konstantos KingJohn, 2, NUS,... • Predikatai Brother, >,... • Funkcijos Sqrt, LeftLegOf,... • Kintamieji x, y, a, b,... • Operatoriai , , , ,  • Lygybė = • Kvantoriai , 
  • 100. Atominis sakinys Atominis sakinys = predicate (term1,...,termn) or term1 = term2 Term = function (term1,...,termn) or constant or variable • Pav., Brother(KingJohn,RichardTheLionheart) > (Length(LeftLegOf(Richard)), Length(LeftLegOf(KingJohn)))
  • 101. Kompleksinis sakinys • Iš atominių S, S1  S2, S1  S2, S1  S2, S1  S2, Pav. Sibling(KingJohn,Richard)  Sibling(Richard,KingJohn) >(1,2)  ≤ (1,2) >(1,2)   >(1,2)
  • 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)]
  • 107. FOL Karalystės domenas: Broliai Siblings x,y Brother(x,y)  Sibling(x,y) • Motina kažkieno moteriškos kilmės protėvis m,c Mother(c) = m  (Female(m)  Parent(m,c)) • “Sibling” simetrija x,y Sibling(x,y)  Sibling(y,x)
  • 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
  • 114. NELL: Never-Ending Language Learning • http://rtw.ml.cmu.edu/rtw/
  • 115. FrameNet • https://framenet.icsi.berkeley.edu/fndrupal/ • ARK Syntactic & Semantic Parsing Demo • http://demo.ark.cs.cmu.edu/parse?sentenc e=Robots%20in%20popular%20culture%2 0are%20there%20to%20remind%20us%2 0of%20the%20awesomeness%20of%20u nbounded%20human%20agency.
  • 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
  • 146. Kritinis kelias grafe Dar bas Trukmė (savaitėm is) Anksčiau sia pradžios data Vėliausia pradžios data Anksči ausia pabaig os data Vėliau sia pabaig os data Bendr as svyrav imas Laisvas svyravim as Paskirst ytas svyravi mas A 6 0 2 6 8 2 0 2 B 4 0 3 4 7 3 0 3 C 3 6 8 9 11 2 2 0 D 4 4 7 8 11 3 3 0 E 3 4 7 7 10 3 3 0 F 10 0 0 10 10 0 0 0 G 3 10 10 13 13 0 0 0 H 2 9 11 11 13 2 2 0
  • 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
  • 151. Planavimas: laikas ir resursai Dviejų automobilių surinkimo galimas sprendimas naudojant resursus
  • 154. DIRBTINIS INTELEKTAS IR JO TAIKYMAI 2
  • 156. Neapibrėžtumas GalvosSkausmas GalvosSkausmas Temperatūra Temperatūra Temperatūra Temperatūra Gripas .108 .012 .072 .008 Gripas .016 .064 .144 .576 Laikome, kad šias tikimybes turime. Kaip jas gauname sužinosime vėliau.
  • 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.
  • 169. Markovo stacionarūs procesai ) X | P(X ) X | P(X 1 - t t 1 - t : 0 t = ) X , X | P(X ) X | P(X 2 - t 1 - t t 1 - t : 0 t =
  • 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.
  • 171. Galime suformuluoti 4 pagrindines loginio išvedimo laike uždavinių grupes: • Stebėjimas. • Prognozavimas. • Glodinimas. • Paaiškinimas.
  • 172.
  • 173.
  • 174.
  • 176.
  • 178.
  • 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
  • 183.
  • 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.
  • 187. Indukcinis mokymasis ir Okamo skustuvas
  • 188. Indukcinis mokymasis ir Okamo skustuvas
  • 189. Asociacijos taisyklės • X => Y • X = {x1, x2, …, xn} • Y = {y1, y2, …, yn} • xi ir yj unikalūs atributai • X (LHS) • Y (RHS)
  • 190. Transaction ID Items Bought 1 Milk, bread, cookies, juice 2 Milk, juice 3 Milk, eggs 4 Bread, cookies, coffee
  • 191. Taisyklės metrikos • Support – Kaip dažnai sutinkama duomenų bazėje – LHS  RHS • Confidence – Tikimybė kad LHS => RHS
  • 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ą.
  • 198.
  • 199.
  • 200.
  • 201.
  • 202.
  • 203.
  • 204.
  • 205.
  • 206.
  • 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.
  • 211.
  • 212.
  • 213.
  • 214.
  • 215.
  • 216.
  • 217.
  • 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
  • 222. Hipotezių erdvės paieška Pavyzdys: version-spaces.pdf http://www.ccs.neu.edu/home/rjw/csg220/lectures/version- spaces.pdf
  • 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
  • 234. Mokymasis paaiškinant Kitas pavyzdys iš algebros Reikia suprastinti 1 × (0 + X). Sekantis medis tai įrodo.
  • 236. Mokymasis paaiškinant Iš natūralios kalbos analizės uždavinių
  • 237. Mokymasis paaiškinant Iš natūralios kalbos analizės uždavinių Natūralios kalbos generavimas
  • 238. Mokymasis paaiškinant Natūralios kalbos generavimas. Semantika.
  • 239. Mokymasis paaiškinant Natūralios kalbos generavimas. Semantika.
  • 240. Mokymasis paaiškinant Natūralios kalbos generavimas. Metodo architektūra
  • 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
  • 242. Indukcinis loginis programavimas (Inductive logic programming) Pagrindinė schema: Žinios  Aprašymas  Hipotezės ╞ Klasifikavimas Arba kitas, alternatyvus užrašymas: positive examples + negative examples + background knowledge ⇒ hypothesis.
  • 243. Indukcinis loginis programavimas Aprašymas -> visų pavyzdžių konjunkcija Klasifikavimas -> visų pavyzdžių klasifikavimo konjunkcija : Žinios  Hipotezės Aprašymas╞ Klasifikavimas
  • 244. Indukcinis loginis programavimas ILP pavyzdžio stebėjimai (duomenys) - giminystės medis
  • 245. Indukcinis loginis programavimas ILP pavyzdžio klasifikavimai Iš viso 20*20=400 pavyzdžių
  • 246. Indukcinis loginis programavimas ILP pavyzdžio tikslas Kur mokymosi metu surastas naujas predikatas:
  • 247. Indukcinis loginis programavimas FOIL Teigiami pavyzdžiai Neigiami pavyzdžiai ILP tikslas
  • 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ą.
  • 250.
  • 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.
  • 258. Pinigų naudingumo funkcijos pavyzdys . a) tipinio žaidimo b) per visą pinigų skalę
  • 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
  • 269. Sprendimų teorija įvykių sekoms . Optimalūs roboto sprendimai
  • 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 ) ( ) ' , , ( ) , ' ( ) ' ( ' 
  • 271. Sprendimų teorija įvykių sekoms . Bendra sprendimų agento projektavimo schema
  • 272. Sprendimų teorija įvykių sekoms . Dinaminio sprendimų tinklo paieškos medis
  • 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
  • 282.
  • 285. Neuronai . Neuroninė ląstelė kaip biologinė sistemą
  • 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
  • 291. Neuroninis loginio elemento modelis . Modelis slenksčio logikai kai koeficientai realūs skaičiai.
  • 292. Neuroninis loginio elemento modelis . Situacija kai tiesė atskiria loginius kintamuosius
  • 293. Kelių neuronų tinklai . Neuroninis tinklas realizuojantis XOR funkciją
  • 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ą.
  • 297. Neurono svorio koeficientai . Neurono atsakymo klaida nuo mokymosi konstantos dydžio
  • 301. Trijų neuronų tinklas . Trijų neuronų tinklas
  • 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.
  • 306. Tinklo sudėtingumas . Neuronų tinklo topologijos parinkimas. XOR funkcijos realizavimo pavyzdys
  • 307. Tinklo sudėtingumas . Neuronų pridėjimas palaipsniui mokantis ir tikrinant klaidos paviršių
  • 311. Radialinių bazinių funkcijų tinklai . Gauso radialinė funkcija
  • 312. Save organizuojantys tinklai . Padavus duomenų vektorių xi visada aktyvuosis vienas neuronas pav. mi x SOM neuroninis tinklas
  • 313. Save organizuojantys tinklai . )} , ( { min arg i i m x d c = ||} {|| min arg i i m x c − = )) ( ) ( ( ) ( ) 1 ( t m t x h t m t m i ci i i − + = + ) ||, (|| ) ( t r r h t h i c ci − =
  • 315. Save organizuojantys tinklai . Eksperimentas rodantis neuronų išsidėstymo topologiją
  • 319. Save organizuojantys tinklai . SOT krašto efektas
  • 320. Save organizuojantys tinklai . Informacinės sistemos modeliavimo procesas
  • 324. Dinaminiai tinklai . Dinaminį neuroną atitinkančios elektroninės grandinės
  • 326. Bolcmano mašina . Įvedimo / išvedimo Bolcmano tinklas
  • 328.
  • 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.
  • 340. Evoliuciniai skaičiavimai Skruzdėlių kolonijos metodas ➢ 30 miestų keliaujančio prekybininko sprendimas naudojant skruzdėlių metodą
  • 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
  • 348. Evoliuciniai skaičiavimai Genetiniai algoritmai. Kodavimas bei optimizavimas Genetinio algoritmo veikimo pavyzdys
  • 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į.
  • 350. Evoliuciniai skaičiavimai. Genetinis programavimas ➢Keturi polinomai arba keturios programos sudarančios populiaciją GP algoritmo pradžioje.
  • 354.
  • 355. Perceptron • Procedures of a Single-layer Perceptron Network
  • 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.
  • 359. MNIST dataset of Hand-written Digits.
  • 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
  • 363. Weka Change to True Means: first hidden layer 3 neurons , second – 6, third - 4
  • 364. Weka
  • 365. Weka: Why is there threshold? • Because sigmoid is defined as sigmoid(w,x,b) = 1/(1+exp(-(<w,x>-b)))
  • 369.
  • 370. The Microsoft Cognitive Toolkit (CNTK) • Setup CNTK on your machine:
  • 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
  • 377. CNTK 101: Logistic Regression and ML Primer
  • 380. SPEECH SYNTHESIS Overview of a typical TTS system
  • 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.
  • 388. INFORMATION EXTRACTION Ontology extraction from large corpora Never-Ending Language Learning: http://rtw.ml.cmu.edu/rtw/
  • 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)
  • 391.
  • 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
  • 400.
  • 401. DIRBTINIS INTELEKTAS IR JO TAIKYMAI 1
  • 403. Paieška būsenų erdvėje O koks to sąryšis su baigtiniais automatais ?
  • 420. Paieška būsenų erdvėje Karaliaučiaus tiltų sistema Pamėginkime parašyti programą naudodami „naivius“ algoritmus.
  • 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?
  • 422. Paieška būsenų erdvėje Alternatyva grafų vaizdavimui naudojant simbolius. Visa tai galime sudėti į vieną lentelę.
  • 426. Paieška būsenų erdvėje Kryžiukų-nuliukų žaidimo sprendimo paieškos procesas kaip perėjimai būsenų erdvės grafe. Pamėginkime parašyti programą.
  • 428. Pavyzdys: Rumunija • Pradinė būsena: Arad. • Tikslas: – Bucharest • Problema: – būsenos: miestai – veiksmai: važiavimas tarp miestų • Sprendimas: – Maršrutas tarp miestų t.y., Arad, Sibiu, Fagaras, Bucharest
  • 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ą.
  • 433. Pavyzdys: 8 • būsenos? Kaladėlių būsenos • veiksmai? judėjimas • tikslas? dėšinėje • kelio kaštai? 1 vienam judesiui • • NP-sunkus
  • 434. Pavyzdys: roboto ranka • būsenos : rankos dalių koordinatės • • veiksmai? rankos judesys • • tikslas surinkta detalė • • kelio kaštai? veiksmų atlikimo laikas
  • 435. Paieška būsenų erdvėje Pilno būsenų perrinkimo strategijos
  • 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ą.
  • 437. Paieška būsenų erdvėje Paprastas paieškos medis Atminties masyvai sekančioje skaidėje.
  • 438. Paieška būsenų erdvėje Iteracija CS SL NSL DE 1 A [A] [A] [] 2 B [BA] [BCDA] [] 3 E [EBA] [EFBCDA] [] 4 H [HEBA] [HIEFBCDA] [] 5 I [IEBA] [IEFBCDA] [H] 6 F [FBA] [FBCDA] [EIH] 7 J [JFBA] [JFBCDA] [EIH] 8 C [CA] [CDA] [BFJEIH] 9 G [GCA] [GCDA] [BFJEIH] Pilno perrinkimo pavyzdys
  • 440. Paieška būsenų erdvėje. Pseudo kodo pavyzdys programos-agento sprendžiančio praktinę problemą
  • 441.
  • 442.
  • 443.
  • 445. Pagrindiniai 1. Pirmas-geriausias 2. Tiesmukiškas - Pirmas-geriausias 3. A* paieška 4. Euristikos 5. Lokalios paieškos algoritmai 6. Gradiento paieška 7. Modeliuojamo atkaitinimo paieška 8. Lokalaus spindulio paieška 9. Genetiniai paieškos algoritmai
  • 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
  • 452. Savybės: Tiesmukiškas - Pirmas- geriausias • Užbaigtas ? Ne – ciklai galimi, e.g., Iasi → Neamt → Iasi → Neamt → • Laikas? O(bm) • Atmintis? O(bm) • Optimalus? Ne
  • 455. A* paieška : pavyzdys
  • 456. A* paieška : pavyzdys
  • 457. A* paieška : pavyzdys
  • 458. A* paieška : pavyzdys
  • 459. A* paieška : pavyzdys
  • 460. A* paieška : pavyzdys
  • 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)
  • 462. A* optimalumas Kiekvienu žingsniu išplečiamas kontūras, kuriame esantys mazgai ir nagrinėjami
  • 463. A* savybės • Užbaigtas ? Taip (visada pasieks tikslą) • Laikas? Eksponentinis • Atmintis? Visi mazgai atmintyje • Optimalus? Taip
  • 464. Priimtinos euristikos • h1(n) = kiekis neteisingai padėtų kaladėlių • h2(n) = Manhattan atstumas (kiekvienos kaladėlės atstumas iki jos tikros padėties) • h1(S) = ? • h2(S) = ?
  • 465. Priimtinos euristikos • h1(S) = ? 8 • h2(S) = ? 3+1+2+2+2+3+3+2 = 18
  • 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ą.
  • 470. Gradiento paieška : 8- karalienės • h = skaičius karalienių porų kur jos atakuoja viena kitą • h = 17 šiame paveiksle •
  • 471. Gradiento paieška : 8- karalienės • Lokalus minimumas h = 1
  • 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. • •
  • 475. Genetiniai paieškos algoritmai • Optimalumo funkcija: kiekis neatakuojančių karalienių porų (min = 0, max = 8 × 7/2 = 28) • • 24/(24+23+20+11) = 31%
  • 476.
  • 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
  • 481. Taigi • Ribojimus tenkinančios problemos (CSP) • Paieška CSP problemose • Lokali paieška CSP problemose
  • 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! •
  • 506. Lankų suderinamumas • X →Y yra suderinti jei Kiekvienam x iš X yra tam tikras leistinas y
  • 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
  • 510. Lankų suderinamumas AC-3 • Laiko kompleksiškumas: O(n2d3) •
  • 513. Taigi • Optimalūs sprendimai • α-β trynimas • Nepilni, realaus laiko sprendimai
  • 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 •