inteligenŢĂ artificialĂ - cs.ubbcluj.rolauras/test/docs/school/ia/2016-2017/lectures/13... ·...

86
INTELIGENŢĂ ARTIFICIALĂ Laura Dioşan Curs 13 Sisteme inteligente Calcul afectiv

Upload: others

Post on 06-Sep-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

INTELIGENŢĂ

ARTIFICIALĂ

Laura Dioşan

Curs 13

Sisteme inteligente

Calcul afectiv

Page 2: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Sumar A. Scurtă introducere în Inteligenţa Artificială (IA)

B. Rezolvarea problemelor prin căutare

Definirea problemelor de căutare Strategii de căutare

Strategii de căutare neinformate Strategii de căutare informate Strategii de căutare locale (Hill Climbing, Simulated Annealing, Tabu Search, Algoritmi

evolutivi, PSO, ACO) Strategii de căutare adversială

C. Sisteme inteligente

Sisteme bazate pe reguli în medii certe Sisteme bazate pe reguli în medii incerte (Bayes, factori de

certitudine, Fuzzy) Sisteme care învaţă singure

Arbori de decizie Reţele neuronale artificiale Maşini cu suport vectorial Algoritmi evolutivi Q-learning

Sisteme hibride Calcul afectiv Cautari in ontologii

Mai, 2017 2 IA- Sisteme inteligente

Page 3: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Materiale de citit şi legături utile

http://users-cs.au.dk/cstorm/courses/PRiB_f12/slides/hidden-markov-models-1.pdf

http://users-cs.au.dk/cstorm/courses/PRiB_f12/slides/hidden-markov-models-3.pdf

http://users-cs.au.dk/cstorm/courses/PRiB_f12/slides/hmm-bioinf.pdf

http://www.cslu.ogi.edu/people/hosom/cs552/

http://www.cs.tut.fi/~puhtunn/lecture_model_search.pdf

Mai, 2017 3 IA- Sisteme inteligente

Page 4: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Calcul afectiv (Affective Computing)

Scop Detectarea şi recunoaşterea emoţiilor

Construirea maşinilor emoţionale

Problematica ştiinţifică Vorbire emotivă analiză şi recunoaştere de semnal

vocal

Mimică emotivă analiză şi recunoaştere de informaţii vizuale

Gesturi emotive analiza şi recunoaşterea gesturilor

Monitorizare psihologică

Domenii de aplicare E-learning

Robotică

Dispozitive personalizate (Siri, Kinect, Jocuri)

Mai, 2017 4 IA- Sisteme inteligente

Page 5: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Calcul afectiv (Affective Computing)

Tehnici inteligente

Cel mai apropiat vecin (kNN)

Arbori de decizie

Reţele neuronale artificiale

Maşini cu suppor vectorial

Algoritmi evolutivi

Modele Markov

Mai, 2017 5 IA- Sisteme inteligente

Page 6: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

De ce modele Markov?

Modele de predicţie pe baza unor observaţii (trecute)

Observaţii independente/corelate

Observaţii identic distribuite / cu distribuţii diferite

Ex.

Predicţia vremii

Predicţia cursurilor valutare

Recunoaşterea de semnal vocal

Compoziţia structurilor ADN

Mai, 2017 6 IA- Sisteme inteligente

Page 7: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

De ce modele Markov?

Modele Markov Intrări

Model:

Observaţii:

Ieşiri P( ) = ?

Modele Markov ascunse Intrări

Model:

Observaţii:

Ieşiri P( ) = ?

Mai, 2017 7 IA- Sisteme inteligente

Page 8: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Model Markov Ideea de bază

Similar unui automat finit, dar cu tranziţie probabilistică de la o stare la alta

La fiecare moment de timp se realizează o tranziţie dintr-o stare în altă stare La orice moment de timp, un eveniment se poate afla într-o singură stare Fiecare eveniment are o singură ieşire (un singur rezultat)

Elemente

Ceas cuantifică momentele de timp (discret) t = {1, 2, 3, … T}

N stări Q = {S1, S2, ..., SN}

N evenimente E = {e1, e2, ..., eN}

Probabilităţi iniţiale Πj = P(S1=Sj), 1 j N

Probabilităţi de tranziţie dintr-o stare Si (de la momentul t-1) într-o stare Sj (de la momentul t) aij = P[qt = Sj | qt-1 = Si] 1 i, j N Obs.: suma probabilităţilor care ies dintr-o stare = 1

11

N

j

j

Mai, 2017 8 IA- Sisteme inteligente

Page 9: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Model Markov

Cazuri particulare

MM de ordin 1

A n-a observaţie este influenţată doar de a n-1-a observaţie

p(xn|x1,x2,...,xn-1)=p(xn|xn-1)

p(x1,x2,...,xN)=Пn=1,2,..,Np(xn|x1,...,xn-1)=p(x1) Пn=2,..,Np(xn|xn-1)

MM de ordin 2

A n-a observaţie este influenţată de a n-1-a observaţie şi de a n-2-a observaţie

p(xn|x1,x2,...,xn-1)=p(xn|xn-1,xn-2)

p(x1,x2,...,xN)=p(x1)p(x2|x1) Пn=3,..,Np(xn|xn-1,xn+2)

Mai, 2017 9 IA- Sisteme inteligente

Page 10: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Model Markov

Exemple Aruncarea unei monezi perfecte

Intrări: Starea S1 evenimentul “moneda cade şi se vede

capul (C)” Starea S2 evenimentul “moneda cade şi se vede

pajura (P)” Probabilitatea apariţiei:

Stării S1: P(C) = ½ = 0.5 Stării S2: P(P) = ½ = 0.5 Stării S1 după starea S1: P(C|C) = ½ = 0.5 Stării S1 după starea S2: P(C|P) = ½ = 0.5 Stării S2 după starea S2: P(P|P) = ½ = 0.5 Stării S2 după starea S1: P(P|C) = ½ = 0.5

Ieşiri: Care este probabilitatea generării unei secvenţe de

evenimente C P C C P C P P P C C? A unei secvenţe de sări S1 S2 S1 S1 S2 S1 S2 S2 S2 S1

S1

S1 S2

0.5

0.5

0.5 0.5

Mai, 2017 10 IA- Sisteme inteligente

Page 11: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Model Markov

Exemple Aruncarea unei monezi imperfecte

Intrări: Starea S1 evenimentul “moneda cade şi se vede

capul (C)” Starea S2 evenimentul “moneda cade şi se vede

pajura (P)” Probabilitatea apariţiei:

Stării S1: P(C) = ½ = 0.5 Stării S2: P(P) = ½ = 0.5 Stării S1 după starea S1: P(C|C) = 0.7 Stării S1 după starea S2: P(C|P) = 0.4 Stării S2 după starea S2: P(P|P) = 0.6 Stării S2 după starea S1: P(P|C) = 0.3

Ieşiri: Care este probabilitatea generării unei secvenţe de

evenimente C P C C P C P P P C C? A unei secvenţe de sări S1 S2 S1 S1 S2 S1 S2 S2 S2 S1

S1

S1 S2

0.3

0.4

0.7 0.6

Mai, 2017 11 IA- Sisteme inteligente

Page 12: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Model Markov Exemple

Previziunea vremii Intrări:

Starea S1 evenimentul “afară plouă (P)” Starea S2 evenimentul “afară sunt nori (N)” Starea S3 evenimnetul “afară este soare (S)”

Probabilitatea apariţiei: Stării S1: P(S1) = 0.5 Stării S2: P(S2) = 0.4 Stării S3: P(S3) = 0.1 Stării S1 după starea S1: P(S1|S1) = 0.7 Stării S2 după starea S2: P(S2|S2) = 0.5 Stării S3 după starea S3: P(S3|S3) = 0.1 Stării S1 după starea S2: P(S1|S2) = 0.4 Stării S2 după starea S3: P(S2|S3) = 0.7 Stării S3 după starea S1: P(S3|S1) = 0.05 Stării S1 după starea S3: P(S1|S3) = 0.2 Stării S3 după starea S2: P(S3|S2) = 0.1 Stării S2 după starea S1: P(S2|S1) = 0.25

Ieşiri: Care este probabilitatea generării unei secvenţe de evenimente P P P N S N P?

A unei secvenţe de sări S1 S1 S1 S2 S3 S2 S1? P = P[S1] P[S1|S1] P[S1|S1] P[S2|S1] P[S3|S2] P[S2|S3] P[S1|S2] P = 0.5 · 0.7 · 0.7 · 0.25 · 0.1 · 0.7 · 0.4 P = 0.001715

Care este probabilitatea generării unei secvenţe de evenimente S S S P N S S? A unei secvenţe de sări S3, S3, S3, S1, S2, S3, S3? • P = P[S3] P[S3|S3] P[S3|S3] P[S1|S3] P[S2|S1] P[S3|S2] P[S3|S3] • P = 0.1 · 0.1 · 0.1 · 0.2 · 0.25 · 0.1 · 0.1 • P = 5.0x10-7

S1 S2

0.25

0.4

0.7 0.5

S3

0.2

0.05

0.7

0.1

0.1

P N S

P

N

S 10.70.20.

10.50.40.

05.25.70.

Mai, 2017 12 IA- Sisteme inteligente

Page 13: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Model Markov ascuns Ideea de bază

Similar unui automat finit, dar cu tranziţie probabilistică de la o stare la alta La fiecare moment de timp se realizează o tranziţie dintr-o stare în altă stare

La orice moment de timp, un eveniment se poate afla în mai multe stări (cu o anumită probabilitate)

Elemente

Ceas cuantifică momentele de timp (discret) t = {1, 2, 3, … T}

N stări Q = {S1, S2, ..., SN}

M evenimente E = {e1, e2, ..., eM}

Probabilităţi iniţiale Πj = P(S1=Sj), 1 j N

Probabilităţi de tranziţie dintr-o stare Si (de la momentul t-1) într-o stare Sj (de la momentul t)

aij = P[qt = Sj | qt-1 = Si] 1 i, j N Obs.: suma probabilităţilor care iasă dintr-o stare = 1

Probabilităţi ale observaţiilor bj(k)=P[ot = ek | qt = Sj] 1 k M bj(ot)=P[ot = ek | qt = j] 1 k M

Model Markov ascuns = (π, A, B), unde

Π probabilităţile stărilor iniţiale

A – matricea probabilităţilor de tranziţie de la o stare ascunsă la alta (NxN) B – matricea probabilităţilor de tranziţie de la o stare ascunsă la o observaţie (NxM)

11

N

j

j

Mai, 2017 13 IA- Sisteme inteligente

Page 14: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Model Markov ascuns

Cazuri particulare

Ergodice (complet conectate)

Bakis (stânga-dreapta)

0.3

0.3

0.6 0.2

0.1

0.1

0.6

0.5

0.3

S1 S2

S3

1 = 0.4 2 = 0.2 3 = 0.4

0.3

0.6 0.4

S1 S2

1 = 1.0 2 = 0.0 3 = 0.0 4 = 0.0

S3

0.1

0.4 S4

1.0

0.9

0.1 0.2

Mai, 2017 14 IA- Sisteme inteligente

Page 15: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Model Markov ascuns Exemple

Previziunea vremii Intrări:

Starea S1 evenimentul “afară plouă (P)” Starea S2 evenimentul “afară sunt nori (N)” Starea S3 evenimnetul “afară este soare (S)” Probabilitatea apariţiei unei

presiuni atmosferice mare: πMa = 0.4 presiuni atmosferice medie: π Me= 0.2 presiuni atmosferice mică: π Mi = 0.3 presiuni atmosferice mare după presiune atmosferică medie: P(Ma|Me) = aMe,Ma =0.3 presiuni atmosferice mare după presiune atmosferică mică: P(Ma|Mi) = aMi,Ma =0.1 presiuni atmosferice medie după presiune atmosferică mare: P(Me|Ma) = aMa,Me =0.3 presiuni atmosferice medie după presiune atmosferică mică: P(Me|Mi) = aMi,Me =0.5 presiuni atmosferice mică după presiune atmosferică mare: P(Mi|Ma) = aMa,Mi =0.1 presiuni atmosferice mică după presiune atmosferică medie: P(Mi|Me) = aMe,Mi =0.5 presiuni atmosferice mare după presiune atmosferică mare: P(Ma|Ma) = aMa,Ma =0.6 presiuni atmosferice medie după presiune atmosferică medie: P(Me|Me) = aMe,Me =0.2 presiuni atmosferice mică după presiune atmosferică mică: P(Mi|Mi) = aMi,Mi =0.1

S1 S2

0.3

0.3

0.6 0.2

S3

0.1 0.1 0.5

0.5

0.1

Ma Me

Mi

0.1

0.7

0.2

0.3

0.3

0.4

0.6

0.1

0.3

a Ma Me Mi

Ma 0.6 0.3 0.1

Me 0.3 0.2 0.5

Mi 0.1 0.5 0.3

π

Ma 0.5

Me 0.2

Mi 0.3

Mai, 2017 15 IA- Sisteme inteligente

Page 16: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Model Markov ascuns Exemple

Previziunea vremii Intrări:

Starea S1 evenimentul “afară plouă (P)” Starea S2 evenimentul “afară sunt nori (N)” Starea S3 evenimnetul “afară este soare (S)”

Probabilitatea apariţiei: Ploii şi a unei presiuni atmosferice mare P(P|Ma)=bMa,P=0.1 Ploii şi a unei presiuni atmosferice medie P(P|Me)=bMe,P=0.3 Ploii şi a unei presiuni atmosferice mică P(P|Mi)=bMi,P=0.6 Norilor şi a unei presiuni atmosferice mare P(N|Ma)=bMa,N=0.2 Norilor şi a unei presiuni atmosferice medie P(N|Me)=bMe,N=0.4 Norilor şi a unei presiuni atmosferice mică P(N|Mi)=bMi,N=0.3 Soarelui şi a unei presiuni atmosferice mare PS|Ma)=bMa,S=0.8 Soarelui şi a unei presiuni atmosferice medie P(S|Me)=bMe,S=0.3 Soarelui şi a unei presiuni atmosferice mică P(S|Mi)=bMi,S=0.1

S1 S2

0.3

0.3

0.7 0.5

S3

0.1 0.1 0.5

0.6

0.1

Ma Me

Mi

0.1

0.7

0.2

0.3

0.3

0.4

0.6

0.1

0.3

a Ma Me Mi

Ma 0.6 0.3 0.1

Me 0.3 0.2 0.5

Mi 0.1 0.5 0.3

π

Ma 0.5

Me 0.2

Mi 0.3

b S N P

Ma 0.7 0.2 0.1

Me 0.3 0.4 0.3

Mi 0.1 0.3 0.6

Mai, 2017 16 IA- Sisteme inteligente

Page 17: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Model Markov ascuns Exemple

Previziunea vremii Ieşiri:

Care este probabilitatea generării unei secvenţe de evenimente P P P N S N P fiind date modelul HMM (π, A, B) şi o secvenţă de stări ascunse (seq=Ma Me Me Mi Mi Ma Ma)?

P = P[P|Ma] P[P|Me] P[P|Me] P[N|Mi] P[S|Mi] P[N|Ma] P[P|Ma] P = bMa,PbMe,P bMe,PbMi,NbMi,S bMa,N bMa,P P = 0.1*0.3*0.3*0.3*0.1*0.2*0.1

Care este probabilitatea generării unei secvenţe de evenimente P P P N S N P şi a unei secvenţe de stări ascunse (seq=Ma Me Me Mi Mi Ma Ma) fiind dat modelul HMM (π, A, B)?

P=(Pstart[Ma]*P[P|Ma])*(P[Me|Ma]*P[P|Me])*(P[Me|Me]*P[P|Me])*(P[Mi|Me]*P[N|Mi])*(P[Mi|Mi]*P[S|Mi])*(P[Ma|Mi]*P[N|Ma])*(P[Ma|Ma] *P[P|Ma])

P = (πMabMa,P)*(aMa,MebMe,P)*(aMe,MebMe,P)*(aMe,MibMi,N)*(aMi,MibMi,S)*(aMi,MabMa,N)*(aMa,MabMa,P) P = 0.5*0.1*0.3*0.3*0.2*0.3*0.5*0.3*0.3*0.1*0.1*0.2*0.6*0.1

a Ma Me Mi

Ma 0.6 0.3 0.1

Me 0.3 0.2 0.5

Mi 0.1 0.5 0.3

π

Ma 0.5

Me 0.2

Mi 0.3

b S N P

Ma 0.7 0.2 0.1

Me 0.3 0.4 0.3

Mi 0.1 0.3 0.6

S1 S2

0.3

0.3

0.7 0.5

S3

0.1 0.1 0.5

0.6

0.1

Ma Me

Mi

0.1

0.7

0.2

0.3

0.3

0.4

0.6

0.1

0.3 Mai, 2017 17 IA- Sisteme inteligente

Page 18: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Model Markov ascuns

Dileme Care este probabilitatea producerii unei secvenţe de

observaţii O? Algoritmul foward-backward Ex. care este probabilitatea ca săptămâna viitoare să fie S

S N P S S S?

Care este următoarea observaţie după o secvenţă de

observaţii? Calcul de probabilităţi condiţionate Ex. Care este cea mai probabilă vreme pentru mâine ştiind

că ultima săptămână a fost S S N P S S S?

Care este cea mai probabilă explicaţie (secvenţă de

stări ascunse) care a generat un set de observaţii? Algoritmul Viterbi Ex. Care este cea mai probabilă secvenţă de nivele ale

presiunii (Mică, Medie, Mare) care au generat o săptămână cu S S N P S S S?

Mai, 2017 18 IA- Sisteme inteligente

Page 19: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Model Markov ascuns

Exemple Recunoaşterea vocii

Semnalul vocal este separat în fragmente de 10-msec Cum? Quantificare vectorială

generându-se o mulţime O de observaţii (stări observabile).

Pe baza HMM-urilor corespunzătoare fiecărui posibil cuvânt wi (fonem fi), se calculează probabilitatea Pi ca observaţiile O să fi fost generate de cuvântul wi (fonemul fi).

Se alege cea mai mare probabilitate cuvântul rostit (fonemul rostit).

T=80

Mai, 2017 19 IA- Sisteme inteligente

Page 20: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Cuantificare vectorială

Ideea de bază

Separarea spaţiului de caracteristici în grupe de date

Fiecare grupă are asociat un centroid

Toţi centroizii formează un codebook

cu scopul reducerii dimensiunii datelor

Mai, 2017 20 IA- Sisteme inteligente

Page 21: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Cuantificarea vectorială şi generarea observaţiilor Generarea observaţiilor corespunzătoare unei stări Starea =

Cuvânt Mono-fonem (mono-gram)

Fonem independent (b) Ex. BRYAN B R AY AX N

Bi-fonem (bi-gram) Foneme contextuale (stânga a-b, dreapta b+c) Ex. BRYAN SIL-B B-R R-AY AY-AX AX-N, BRyAN B+R R+AY AY+AX AX+N N+SIL

Tri-fonem (tri-gram) Foneme contextuale (stânga şi dreapta a-b+c) Ex. BRYAN SIL-B+R B-R+AY R-AY+AX AY-AX+N AX-N+SIL

y eh s

0.3 0.5 0.8

0.7 0.5 0.2 0.4 sil sil

1.0 0.6

o1 o2 o3 o4 o5 o6 o7 o8 o29

Mai, 2017 21 IA- Sisteme inteligente

Page 22: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Model Markov ascuns Dileme

Care este probabilitatea producerii unei secvenţe de observaţii O? Algoritmul foward-backward Ex.

Care este probabilitatea ca semnalul vocal să fie ?

Care este următoarea observaţie după o secvenţă de

observaţii? Calcul de probabilităţi condiţionate Ex.

Care este cel mai probabil semnal vocal următor ştiind că semnalul curent a fost ?

Care este cea mai probabilă explicaţie (secvenţă de stări

ascunse) care a generat un set de observaţii? Algoritmul Viterbi Ex.

Care este cea mai probabilă secvenţă de foneme care au generat un semnal audio ?

Mai, 2017 22 IA- Sisteme inteligente

Page 23: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Cautare in ontologii

Mai, 2017 23 IA- Sisteme inteligente

Page 24: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Web semantic şi metode de căutare

Web - concept şi evoluţie

Web semantic

Metode de căutare

Mai, 2017 24 IA- Sisteme inteligente

Page 25: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Web - concept şi evoluţie

Web (WWW)

“pânza de păianjen mondială”

WWW != Internet

Idee (Sir Tim Berners-Lee la CERN – 1989)

integrarea unor sisteme informaţionale

dispersate într-un mod unitar,

fără diferenţe între sursele de date

anything can link to anything

bazat pe:

modelul client/server

hypertext

Mai, 2017 25 IA- Sisteme inteligente

Page 26: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Web - concept şi evoluţie

Web (WWW)

“pânza de păianjen mondială”

WWW != Internet

Idee (Sir Tim Berners-Lee la CERN – 1989)

integrarea unor sisteme informaţionale

dispersate într-un mod unitar,

fără diferenţe între sursele de date

anything can link to anything

bazat pe:

modelul client/server

hypertext

Mai, 2017 26 IA- Sisteme inteligente

Page 27: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Web - concept şi evoluţie

Arhitectură

Resursele sunt identificate prin adresa lor

identificator uniform de resurse (URI – Uniform Resource Identifier)

http://www.cs.ubbcluj.ro/~forest/wp/

Accesul la conţinutul (reprezentarea) resurselor Web

protocol

HTTP – HyperText Transfer Protocol

Resursele – documentele (pagini Web) – includ <marcaje/>

marcajele conţin la rândul lor URI-uri hipertext

Relaţiile dintre o resursă Web, adresa ei (URI)

şi reprezentarea structurată a resursei

Mai, 2017 27 IA- Sisteme inteligente

Page 28: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Web - concept şi evoluţie

Web 1.0

Sit Web

sistem pe care rulează un server Web găzduind o serie de pagini (documente) WWW înrudite – ale unei organizaţii, companii sau persoane

Aplicaţie Web

Interfaţă

HTML, CSS, Ajax, Flash, Silverlight, SVG, widget-uri,…

+ Conţinut (Date)

relationale (SQL), XML, grafuri, modelare semantica (RDF)

+ Program

server: C#, Java, Perl, PHP, Ruby etc.; client: JavaScript

Mai, 2017 28 IA- Sisteme inteligente

Page 29: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Web - concept şi evoluţie Web 2.0 (web social)

WWW - platforma în care utilizatorul îşi controlează propriile date

Participare read/write Web colaborare, comunităţi, conectivitate inter-personală & între

aplicaţii

Partajare de artefacte informationale documente, fotografii, multimedia, cod-sursă etc.

Inteligenţa colectivă editare & management colaborativ al conţinutului aplicaţii de tip wiki

Servicii şi nu pachete software Software rulat oriunde Mediatizare (syndication) Web

datele privitoare la un sit Web sunt expuse liber via un flux (feed) în format ex. RSS (Really Simple Syndication) XML

ex. Atom

Mai, 2017 29 IA- Sisteme inteligente

Page 30: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Web - concept şi evoluţie

Web 3.0 (Web-ul datelor, Web-ul semantic) Cum pot fi descrise la nivelul masinii aceste web-uri? modelarea cunoştinţelor o manieră de a ataşa meta-date

Informaţii privitoare la date

un mod de specificare a relaţiilor dintre resurse

structuri de organizare a datelor în cadrul unui sau mai multor web-uri

modelarea & procesarea cunoştinţelor despre „lucruri”

knowledge about things

realizate sistematic, formalizat ontologii

create ad-hoc, manual, de către utilizatorii obişnuiţi folksonomii

Implicitul explicit

Java = limbaj / insulă / cafea

Uşor de înţeles de către oameni, dar şi de către calculatoare

Mai, 2017 30 IA- Sisteme inteligente

Page 31: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Web semantic

Modelarea cunoştinţelor

Definirea cunoştinţelor

Meta-date RDF (Resource Description Framework)

Reprezentarea cunoştinţelor

Reţele semantice graf (orientat sau neorientat)

Mai, 2017 31 IA- Sisteme inteligente

Page 32: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Web semantic

Modelarea cunoştinţelor

Definirea cunoştinţelor

Meta-date RDF (Resource Description Framework)

Reprezentarea cunoştinţelor

Asocieri de subiecte (topic map) Hyper-graf (relaţii n-are între noduri)

Mai, 2017 32 IA- Sisteme inteligente

Page 33: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Web semantic

Modelarea cunoştinţelor

Definirea cunoştinţelor

Meta-date RDF (Resource Description

Framework)

Reprezentarea cunoştinţelor

Diagrame UML

Mai, 2017 33 IA- Sisteme inteligente

Page 34: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Web semantic

Modelarea cunoştinţelor

Definirea cunoştinţelor

Meta-date RDF (Resource Description

Framework)

Reprezentarea cunoştinţelor

Grafuri conceptuale interfaţă grafică pentru

logica de ordin I

Mai, 2017 34 IA- Sisteme inteligente

Page 35: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Web semantic Modelarea cunoştinţelor Definirea cunoştinţelor

Meta-date RDF (Resource Description Framework)

Reprezentarea cunoştinţelor Grafuri RDF

ofera posibilitatea de a descrie/adnota (explicit) resursele Web relaţii ternare între elemente (subiect-predicat-complement direct)

Subiectul resursa Predicatul caracteristică a resursei; leagă subiectul de complement Obiect (complement) atribut valoare

Ex. Floarea are culoarea roşie

Mai, 2017 35 IA- Sisteme inteligente

Page 36: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Web semantic

Modelarea cunoştinţelor

Reprezentarea cunoştinţelor

taxonomii

in termeni de clase, superclase si subclase de resurse si relatiile intre ele

vocabular controlat (controlled vocabulary)

scheme RDF

tezaur

a controlled vocabulary arranged in a known order and structured so that equivalence, homographic, hierarchical, and associative relationships among terms are displayed clearly & identified by standardized relationship indicators

relaţii între resurse

Echivalenţă, omonimie, ierarhie, asociere

Mai, 2017 36 IA- Sisteme inteligente

Page 37: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Web semantic

Modelarea cunoştinţelor

Reprezentarea cunoştinţelor

Ontologii

Conceptualizarea unui domeniu de cunoastere intr-un format destinat a fi procesat de calculator, format modelind entitati, atribute, relatii si axiome

Conţine categoriile, clasele, conceptele fundamentale proprietatile conceptelor relatiile & distinctiile dintre concepte

studiul categoriilor de lucruri (things) care exista sau pot exista intr-un domeniu de interes

Reprezentare prin RDFS, OWL (WordNet)

Proiectare, aliniere, fuziune

Mai, 2017 37 IA- Sisteme inteligente

Page 38: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare

Definire

Necesitate

Algoritmi

Mai, 2017 38 IA- Sisteme inteligente

Page 39: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare

Definire

Identificarea celor mai bune k răspunsuri (top k) care se potrivesc cu interogarea unui utilizator

Rezultatul poate fi furnizat sub forma:

unei mulţimi

unei liste sortate

unei liste sortate şi cu scoruri

Alegerea celor k răspunsuri dintre N elemente

unde N >> k

Mai, 2017 39 IA- Sisteme inteligente

Page 40: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare

Exemplu

obiect

Arie (x1)

Circularitate (x2)

Albăstreală (x3)

0.9 0.4 0.4

0.8 0.5 0.2

0.6 0.1 0.3

0.2 0.6 0.5

0.5 0.7 0.3

0.1 0 0

Mai, 2017 40 IA- Sisteme inteligente

Page 41: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare

Necesitate

Căutări în web şi alte sarcini de regăsire/ordonare de informaţie utilă

Identificarea documentelor cu informaţii despre “Apps for Galaxy Smartphones“

Căutări în depozitele cu informaţii multimedia

Identificarea imaginilor care prezintă un palmier şi un apus de soare

Căutări în depozite structurate de date pe baza preferinţelor clienţilor

Identificarea apartamentelor spaţioase în cartierele apropiate campusului universitar

Mai, 2017 41 IA- Sisteme inteligente

Page 42: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare

Raportate la interogările de tip SQL

Relevanţă graduală (nu doar bi-valentă)

Rezultate formate din cele mai bune exemple (nu toate exemplele care se potrivesc cu interogarea)

Calitatea unui exemplu este exprimată prin intermediul unui scor

Mai, 2017 42 IA- Sisteme inteligente

Page 43: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare

Utilitate

Explorează compromisul complexitate temporală vs. complexitate spaţială

Explorează domenii reale de definiţie a atributelor

Mai, 2017 43 IA- Sisteme inteligente

Page 44: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare

Algoritmi

Algoritmi de potrivire (matching)

Algoritmi de ordonare (ranking)

Algoritmi de selecţie (top k)

Mai, 2017 44 IA- Sisteme inteligente

Page 45: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare

Algoritmi de potrivire

Potrivire exactă

True/False

Potrivire inexactă

distanţa între 2 elemente să fie < decât un prag

2 elemente să aibă un nucleu comun

2 elemente să provină de pe aceaşi ramură semantică

Mai, 2017 45 IA- Sisteme inteligente

Page 46: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de potrivire

Cel mai apropiat strămoş comun (Least common ancestor – LCA) – vers 1 complexitate:

Pre-procesare: const, Căutare: O(log n)

LCA(root, val1, val2){

if (root == NULL || root.getInfo() == val1 || root.getInfo() == val2) return -1;

if (root.getRight() != NULL && (root.getRight().getData() == val1 || root.getRight().getData() == val2 ))

return root.getData(); if (root.getLeft() != NULL && (root.getLeft().getData() == val1 ||

root.getLeft().getData() == val2 )) return root.getData();

if (root.getData() > val1 && root.getData() < val2)

return root.getData(); if (root.getData() > val1 && root.getData() > val2)

return LCA(root.getLeft(), val1, val2) if (root.getData() < val1 && root.getData() < val2)

return LCA(root.getRight(), val1, val2) }

Mai, 2017 46 IA- Sisteme inteligente

Page 47: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de potrivire

Cel mai apropiat strămoş comun (Least common ancestor - LCA) – vers 2 complexitate:

Pre-procesare: O(n), Căutare: O(sqrt(N))

LastSectionAncestor(node, F[n], n, P[n], L[n], no=sqrt(H)){ if (L[node] < nr) P[node] = 1; else{ if ((L[node] % nr == 0)) P[node] = F[node]; else P[node] = P[F[node]]; } for each son of node LastSectionAncestor(nod, F, n, P, L, no); }

LCA(F[n], P[n], L[n], val1, val2){

while (P[val1] != P[val2]){ if (L[val1] > L[val2]) val1 = P[val1]; else val2 = P[val2]; } while (val1 != val2){ if (L[val1] > L[val2]) val1 = F[val1]; else val2 = F[val2] } return val1;

}

Mai, 2017 47 IA- Sisteme inteligente

Page 48: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare

Algoritmi de ordonare Funcţii de scor (ranking)

Folosite pentru a calcula scorul (importanţa) unui exemplu Un exemplu poate avea mai multe atribute mai multe

scoruri Frecvenţa de apariţie a cuvântului “galaxy” Nivelul de roşu din imagine Suprafaţa apartamentului

Pp un exemplu E cu m atribute E = (a1, a2, ..., am) S(E) = g(f1(a1), f2(a2), f3(a3),..., fm(am))

fi – funcţie monotonă g – funcţie monotonă de agregare (sumă, medie, max,

etc) Eg.

g = 2 * suprafaţa apartamentului + 3 * distanţa până în campus

Mai, 2017 48 IA- Sisteme inteligente

Page 49: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare

Algoritmi de selecţie (top k)

Timpul de execuţie

Acces secvenţial la exemple iterator

Access aleator cf. unei chei primare

Mai costisitor decât accesul secvenţial

Spaţiul de execuţie

Câte exemple relevante se reţin la un moment dat?

Un anumit număr (k)?

Un număr dependent (liniar) de mărimea setului de date (N)?

Mai, 2017 49 IA- Sisteme inteligente

Page 50: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare

Algoritmi de selecţie (top k)

Abordarea naivă

Ideea de bază

Calcularea scorului pentru fiecare exemplu

Sortarea exemplelor pe baza scorului

Selectarea primelor k exemple

Proprietăţi

Simplă

Complexitate liniară O(n)

Mai, 2017 50 IA- Sisteme inteligente

Page 51: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare

Algoritmi de selecţie (top k)

Abordarea naivă

obiect

Arie (x1)

Circularitate (x2)

Albăstreală (x3)

Scor total

0.9 0.4 0.4 1.7

0.8 0.5 0.2 1.5

0.6 0.1 0.3 1

0.2 0.6 0.5 1.3

0.5 0.7 0.3 1.5

0.1 0 0 0.1

Mai, 2017 51 IA- Sisteme inteligente

Page 52: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare

Algoritmi de selecţie (top k)

Abordarea naivă

obiect

Arie (x1)

Circularitate (x2)

Albăstreală (x3)

Scor total

0.9 0.4 0.4 1.7

0.8 0.5 0.2 1.5

0.5 0.7 0.3 1.5

0.2 0.6 0.5 1.3

0.6 0.1 0.3 1

0.1 0 0 0.1

Mai, 2017 52 IA- Sisteme inteligente

Page 53: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare

Algoritmi de selecţie (top k)

Algoritmul lui Fagin

Ideea de bază

Precalcularea scorurilor/atribut şi formarea a m liste

Sortarea acestor m liste

Accesarea sevenţială şi în paralel a acestor liste până când au fost vizitate k obiecte în fiecare listă

Calcularea scorului pentru obiectele accesate

Sortarea pe baza scorului şi returnarea primelor k exemple

Proprietăţi

Complexitate O(nm-1/mk1/m)

Mai, 2017 53 IA- Sisteme inteligente

Page 54: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selecţie (top k)

Algoritmul lui Fagin Pp. că:

d n exemple cu m atribute fiecare s cele n exemple sortate după fiecare atribut în parte

i = 0; while (i < n) && (!stopCond){

for(j=0; j<m; j++){ Object o(s[i][j].index, j, s[i][j].value) seenObj.add(o)

} no = 0; for each o Є seenObj{

if (o.getNoFilledAtrib() == m) no++; } stopCond = (no == k); i++;

}

Mai, 2017 54 IA- Sisteme inteligente

Page 55: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare

Algoritmi de selecţie (top k)

Algoritmul lui Fagin

obiect

Arie (x1)

0.9

0.8

0.6

0.5

0.2

0.1

obiect

Circularitate (x2)

0.7

0.6

0.5

0.4

0.1

0

obiect

Albăstreală (x3)

0.5

0.4

0.3

0.3

0.2

0 Mai, 2017 55 IA- Sisteme inteligente

Page 56: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selecţie (top k)

Algoritmul lui Fagin

i=1 obiect (x1) (x2) (x3)

0.9

0.7

0.5

Mai, 2017 56 IA- Sisteme inteligente

Page 57: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selecţie (top k)

Algoritmul lui Fagin

i=2 obiect (x1) (x2) (x3)

0.9 0.4

0.7

0.6 0.5

0.8

Mai, 2017 57 IA- Sisteme inteligente

Page 58: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selecţie (top k)

Algoritmul lui Fagin

i=3 obiect (x1) (x2) (x3)

0.9 0.4

0.7

0.6 0.5

0.8 0.5

0.6 0.3

Mai, 2017 58 IA- Sisteme inteligente

Page 59: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selecţie (top k)

Algoritmul lui Fagin

i=4 obiect (x1) (x2) (x3)

0.9 0.4 0.4

0.5 0.7 0.3

0.6 0.5

0.8 0.5

0.6 0.3

Mai, 2017 59 IA- Sisteme inteligente

Page 60: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selecţie (top k)

Algoritmul lui Fagin

i=4 obiect (x1) (x2) (x3) Global

0.9 0.4 0.4 1.7

0.5 0.7 0.3 1.5

0.6 0.5

0.8 0.5

0.6 0.3

Mai, 2017 60 IA- Sisteme inteligente

Page 61: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare

Algoritmi de selectare (top k) Algoritmul cu prag

Ideea de bază Execută

Pentru fiecare exemplu E care a fost accesat cel puţin o dată în oricare dintre listele individuale

Accesează atributele lui E din listele în care exemplul nu a fost încă accesat

Calculează t(E) şi actualizeză lista primelor k exemple (Y) – dacă este necesar

Calculează τ = t(f1, f2, ..., fm), unde fi este scorul ultimului exemplu accesat în lista Li

Până când τ < g (g – scorul agregat cel mai mic al setului de k exemple Y)

Proprietăţi Complexitate

verifică mai puţine exemple k*(m-1) accese random spaţiu tampon pentru maxim k exemple

Mai, 2017 61 IA- Sisteme inteligente

Page 62: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k)

Algoritmul cu prag Pp.:

d n exemple cu m atribute fiecare s cele n exemple sortate după fiecare atribut în parte

i = 0; while (i < n) && (!stopCond){

for(j=0; j<m; j++){ Object o(s[i][j].index, j, s[i][j].value) for(t = 0; t < j; t++) o.setInfo(t, d[s[i][j].index][t]); //random access for(t = j + 1; t < m; t++) o.setInfo(t, d[s[i][j].index][t]); //random access seenObj.add(o)

} sort(seenObj, Object.getAgregation()); //reverse theta = agregation(s[i]) no = 0; for each o Є seenObj{

if (o.getAgregation() > theta) no++; } stopCond = (no == k); i++;

} Mai, 2017 62 IA- Sisteme inteligente

Page 63: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k) Algoritmul cu prag

i=1 obiect (x1) (x2) (x3)

0.9

0.7

0.5

Mai, 2017 63 IA- Sisteme inteligente

Page 64: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k) Algoritmul cu prag

i=1 obiect (x1) (x2) (x3)

0.9 0.4 0.4

0.5 0.7 0.3

0.2 0.6 0.5

Mai, 2017 64 IA- Sisteme inteligente

Page 65: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k) Algoritmul cu prag

i=1

Θ = 0.9+0.7+0.5=2.1

no = 0

obiect (x1) (x2) (x3) Global

0.9 0.4 0.4 1.7

0.5 0.7 0.3 1.5

0.2 0.6 0.5 1.3

Mai, 2017 65 IA- Sisteme inteligente

Page 66: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k) Algoritmul cu prag

i=2 obiect (x1) (x2) (x3)

0.9 0.4 0.4

0.5 0.7 0.3

0.2 0.6 0.5

0.8

Mai, 2017 66 IA- Sisteme inteligente

Page 67: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k) Algoritmul cu prag

i=2 obiect (x1) (x2) (x3)

0.9 0.4 0.4

0.5 0.7 0.3

0.2 0.6 0.5

0.8 0.5 0.2

Mai, 2017 67 IA- Sisteme inteligente

Page 68: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k) Algoritmul cu prag

i=2

Θ = 0.8+0.6+0.4=1.8

no = 0

obiect (x1) (x2) (x3) Global

0.9 0.4 0.4 1.7

0.5 0.7 0.3 1.5

0.2 0.6 0.5 1.3

0.8 0.5 0.2 1.5

Mai, 2017 68 IA- Sisteme inteligente

Page 69: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k) Algoritmul cu prag

i=2

Θ = 0.8+0.6+0.4=1.8

no = 0

obiect (x1) (x2) (x3) Global

0.9 0.4 0.4 1.7

0.5 0.7 0.3 1.5

0.8 0.5 0.2 1.5

0.2 0.6 0.5 1.3

Mai, 2017 69 IA- Sisteme inteligente

Page 70: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k) Algoritmul cu prag

i=3 obiect (x1) (x2) (x3)

0.9 0.4 0.4

0.5 0.7 0.3

0.2 0.6 0.5

0.8 0.5 0.2

0.6 0.3

Mai, 2017 70 IA- Sisteme inteligente

Page 71: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k) Algoritmul cu prag

i=3 obiect (x1) (x2) (x3)

0.9 0.4 0.4

0.5 0.7 0.3

0.2 0.6 0.5

0.8 0.5 0.2

0.6 0.1 0.3

Mai, 2017 71 IA- Sisteme inteligente

Page 72: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k) Algoritmul cu prag

i=3

Θ = 0.6+0.5+0.3=1.4

no = 3

obiect (x1) (x2) (x3) Global

0.9 0.4 0.4 1.7

0.5 0.7 0.3 1.5

0.8 0.5 0.2 1.5

0.2 0.6 0.5 1.3

0.6 0.1 0.3 1.0

Mai, 2017 72 IA- Sisteme inteligente

Page 73: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare

Algoritmi de selectare (top k) Algoritmul fără acces random

Ideea de bază

Se accesează toate listele, în paralel, secvenţial

După fiecare mişcare a cursorului

Se calculează scorul cel mai slab şi cel mai bun al fiecărui exemplu

Se sortează obiectele vizitate pe baza celui mai slab scor

se stabileze pragul (ca prin agregarea scorurlor curente)

se opreşte căutarea dacă scorul cel mai slab al celui de-al k-lea exemplu depăşeşte pragul

Se returnează primele k obiecte

Proprietăţi

Complexitate bazată doar pe accesul secvenţial Mai, 2017 73 IA- Sisteme inteligente

Page 74: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k)

Algoritmul fără acces random Pp.:

d n exemple cu m atribute fiecare s cele n exemple sortate după fiecare atribut în parte

i = 0; limits = []; while (i < n) && (!stopCond){

for(j=0; j<m; j++){ Object o(s[i][j].index, j, s[i][j].value; seenObj.add(o); limits[j] = s[i][j].value;

} theta = agregation(s[i]) for each o Є seenObj{

o.setWorst(o.getAgregation()); info=[]; for(j = 0; j < m; j++) if (o.getInfo(j) == 0) info[j] = limits[j]; else info[j] = o.getInfo(j); o.setBest(agregation(info);

Sort(seenObj, Object.getWorst()); //reverse minTopk = seenObj[k – 1].getWorst(); stopCond = (theta < minTopk); i++;

}

Mai, 2017 74 IA- Sisteme inteligente

Page 75: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k) Algoritmul fără acces random

i=1

limits 0 0 0

obiect (x1) (x2) (x3) worst best θ topMinK

0.9

0.7

0.5

Mai, 2017 75 IA- Sisteme inteligente

Page 76: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k) Algoritmul fără acces random

i=1

limits 0.9 0.7 0.5

obiect (x1) (x2) (x3) worst best θ topMinK

0.9 0.9 2.1 2.1 0.5

0.7 0.7 2.1

0.5 0.5 2.1

Mai, 2017 76 IA- Sisteme inteligente

Page 77: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k) Algoritmul fără acces random

i=2

limits 0.9 0.7 0.5

obiect (x1) (x2) (x3) worst best θ topMinK

0.9 0.4 0.9 2.1 2.1 0.5

0.7 0.7 2.1

0.6 0.5 0.5 2.1

0.8

Mai, 2017 77 IA- Sisteme inteligente

Page 78: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k) Algoritmul fără acces random

i=2

limits 0.8 0.6 0.4

obiect (x1) (x2) (x3) worst best θ topMinK

0.9 0.4 1.3 1.9 1.8 0.5

0.7 0.7 1.9

0.6 0.5 1.1 1.9

0.8 0.8 1.8

Mai, 2017 78 IA- Sisteme inteligente

Page 79: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k) Algoritmul fără acces random

i=2

limits 0.8 0.6 0.4

obiect (x1) (x2) (x3) worst best θ topMinK

0.9 0.4 1.3 1.9 1.8 1.1

0.6 0.5 1.1 1.9

0.8 0.8 1.8

0.7 0.7 1.9

Mai, 2017 79 IA- Sisteme inteligente

Page 80: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k) Algoritmul fără acces random

i=3

limits 0.8 0.6 0.4

obiect (x1) (x2) (x3) worst best θ topMinK

0.9 0.4 1.3 1.9 1.8 1.1

0.6 0.5 1.1 1.9

0.8 0.5 0.8 1.8

0.7 0.7 1.9

0.6 0.3

Mai, 2017 80 IA- Sisteme inteligente

Page 81: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k) Algoritmul fără acces random

i=3

limits 0.6 0.5 0.3

obiect (x1) (x2) (x3) worst best θ topMinK

0.9 0.4 1.3 1.8 1.4 1.1

0.6 0.5 1.1 1.7

0.8 0.5 1.3 1.6

0.7 0.7 1.6

0.6 0.3 0.9 1.4

Mai, 2017 81 IA- Sisteme inteligente

Page 82: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k) Algoritmul fără acces random

i=3

limits 0.6 0.5 0.3

obiect (x1) (x2) (x3) worst best θ topMinK

0.9 0.4 1.3 1.8 1.4 1.3

0.8 0.5 1.3 1.6

0.6 0.5 1.1 1.7

0.6 0.3 0.9 1.4

0.7 0.7 1.6

Mai, 2017 82 IA- Sisteme inteligente

Page 83: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k) Algoritmul fără acces random

i=4

limits 0.6 0.5 0.3

obiect (x1) (x2) (x3) worst best θ topMinK

0.9 0.4 0.4 1.3 1.8 1.4 1.3

0.8 0.5 1.3 1.6

0.6 0.5 1.1 1.7

0.6 0.3 0.9 1.4

0.5 0.7 0.3 0.7 1.6

Mai, 2017 83 IA- Sisteme inteligente

Page 84: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k) Algoritmul fără acces random

i=4

limits 0.5 0.4 0.3

obiect (x1) (x2) (x3) worst best θ topMinK

0.9 0.4 0.4 1.7 1.7 1.2 1.3

0.8 0.5 1.3 1.6

0.6 0.5 1.1 1.6

0.6 0.3 0.9 1.3

0.5 0.7 0.3 1.5 1.5

Mai, 2017 84 IA- Sisteme inteligente

Page 85: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Metode de căutare Algoritmi de selectare (top k) Algoritmul fără acces random

i=4

limits 0.5 0.4 0.3

obiect (x1) (x2) (x3) worst best θ topMinK

0.9 0.4 0.4 1.7 1.7 1.2 1.5

0.5 0.7 0.3 1.5 1.5

0.8 0.5 1.3 1.6

0.6 0.5 1.1 1.6

0.6 0.3 0.9 1.3

Mai, 2017 85 IA- Sisteme inteligente

Page 86: INTELIGENŢĂ ARTIFICIALĂ - cs.ubbcluj.rolauras/test/docs/school/IA/2016-2017/lectures/13... · Sumar A. Scurtă introducere în Inteligenţa Artificială (IA) B. Rezolvarea problemelor

Informaţiile prezentate au fost colectate din diferite surse de pe internet, precum şi din cursurile de inteligenţă artificială ţinute în anii anteriori de către:

Conf. Dr. Mihai Oltean – www.cs.ubbcluj.ro/~moltean

Lect. Dr. Crina Groşan - www.cs.ubbcluj.ro/~cgrosan

Prof. Dr. Horia F. Pop - www.cs.ubbcluj.ro/~hfpop

Mai, 2017 86 IA- Sisteme inteligente