Curs 11. Probleme de IA şi rezolvarea lor

Similar documents
ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm

Metrici LPR interfatare cu Barix Barionet 50 -

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

Olimpiad«Estonia, 2003

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

Procesarea Imaginilor

Subiecte Clasa a VI-a

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin

Versionare - GIT ALIN ZAMFIROIU

Metoda de programare BACKTRACKING

INTELIGENŢĂ ARTIFICIALĂ

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

GHID DE TERMENI MEDIA

The First TST for the JBMO Satu Mare, April 6, 2018

Metoda Branch_and_Bound (ramifică şimărgineşte) seaseamănă cu metoda Back_Tracking, însă diferă în primul rând prin ordinea de parcurgere a spaţiului

Metoda BACKTRACKING. prof. Jiduc Gabriel

INTELIGENŢĂ ARTIFICIALĂ

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: "9",

Grafuri bipartite. Lecție de probă, informatică clasa a XI-a. Mihai Bărbulescu Facultatea de Automatică și Calculatoare, UPB

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

Baze de date distribuite și mobile

Candlesticks. 14 Martie Lector : Alexandru Preda, CFTe

Class D Power Amplifiers

manivelă blocare a oglinzii ajustare înclinare

Dispozitive Electronice şi Electronică Analogică Suport curs 02 Metode de analiză a circuitelor electrice. Divizoare rezistive.

ISBN-13:

Strategii pentru jocul de dame Dame Inteligente

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET

S I S T E M E D E R E S C R I E R E M C

Managementul referinţelor cu

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; }

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs

Auditul financiar la IMM-uri: de la limitare la oportunitate

SAG MITTIGATION TECHNICS USING DSTATCOMS

A Die-Linked Sequence of Dacian Denarii

ACTA TECHNICA NAPOCENSIS

Legea aplicabilă contractelor transfrontaliere

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip

Mecanismul de decontare a cererilor de plata

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

I. STRATEGII ÎN REZOLVAREA PROBLEMELOR

Itemi Sisteme de Operare

The driving force for your business.

Universitatea Babeş-Bolyai, Cluj-Napoca Facultatea de Matematică şi Informatică

Modalitǎţi de clasificare a datelor cantitative

Capete terminale şi adaptoare pentru cabluri de medie tensiune. Fabricaţie Südkabel Germania

CERERI SELECT PE O TABELA

KAJOT V.RO BLACK PLANET JOC DE NOROC CU RISC LIMITAT

Propuneri pentru teme de licență

Update firmware aparat foto

INSTRUMENTE DE MARKETING ÎN PRACTICĂ:

DECLARAȚIE DE PERFORMANȚĂ Nr. 101 conform Regulamentului produselor pentru construcții UE 305/2011/UE

Printesa fluture. Мобильный портал WAP версия: wap.altmaster.ru

INTEROGĂRI ÎN SQL SERVER

Documentaţie Tehnică

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A.

EN teava vopsita cu capete canelate tip VICTAULIC

2. In the pattern below, which number belongs in the box? 0,5,4,9,8,13,12,17,16, A 15 B 19 C 20 D 21

Cristina ENULESCU * ABSTRACT

Ierarhia memoriilor Tipuri de memorii Memorii semiconductoare Memoria cu unități multiple. Memoria cache Memoria virtuală

Laborator 1. Programare declarativă. Programare logică. Prolog. SWI-Prolog

CHAMPIONS LEAGUE 2017 SPONSOR:

Nume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.

Lucrarea de laborator nr. 4

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

PROCEDURA PRIVIND DECONTURILE. 2. Domeniu de aplicare Procedura se aplică în cadrul Universităţii Tehnice Cluj-Napoca

În continuare vom prezenta unele dintre problemele de calcul ale numerelor Fibonacci.

DESIGN OF MICROSTRIP BANDPASS FILTERS WITH PRESCRIBED TRANSMISSION ZEROS AT FINITE FREQUENCIES

Ce pot face pe hi5? Organizare si facilitati. Pagina de Home

X-Fit S Manual de utilizare

Prima. Evadare. Ac9vity Report. The biggest MTB marathon from Eastern Europe. 7th edi9on

Prelucrarea numerică a semnalelor

UTILIZAREA PETRI NET TOOLBOX PENTRU INVESTIGAREA MODELELOR DE TIP RETEA PETRI NETEMPORIZATA

Transmiterea datelor prin reteaua electrica

Reţele Neuronale Artificiale în MATLAB

Metode de descriere a sistemelor numerice

Metode de acces la informatie în bazele de date pentru prelucrari grafice

Despre Accenture. Copyright 2010 Accenture All Rights Reserved. 2

STUDY EVOLUTION OF BIT B ERRORS AND ERRORS OF PACKAGES IN I

Universitatea Lucian Blaga din Sibiu Facultatea de inginerie Hermann Oberth Catedra de Calculatoare şi automatizări

Evoluția pieței de capital din România. 09 iunie 2018

A NOVEL ACTIVE INDUCTOR WITH VOLTAGE CONTROLLED QUALITY FACTOR AND SELF-RESONANT FREQUENCY

Analiza managementului unui sistem de producţie

SAMPLE KYRIE. Dm (Em) Dm (Bm) (Bm) (G) (Em) (Bm) (D) Chri ste. ri e e. son. ri e e lé. Gm7 F (G) Gm7. (Bm) (Em7) (D) (Em7) (D) son. Chri ste.

PARLAMENTUL EUROPEAN

STARS! Students acting to reduce speed Final report

LIDER ÎN AMBALAJE EXPERT ÎN SISTEMUL BRAILLE

Curs 3 Fizica sem. 2

Managementul Proiectelor Software Metode de dezvoltare

METODE INTELIGENTE DE REZOLVARE A PROBLEMELOR REALE. Laura Dioşan Tema 2

Behavioral design patterns (comportamentale) ALIN ZAMFIROIU

Manual Limba Romana Clasa 5 Editura Humanitas File Type

DECLARAȚIA DE PERFORMANȚĂ

Transcription:

Curs 11 Probleme de IA şi rezolvarea lor 1

Cele 5 cerinţe în modelarea unei probleme de IA Pasul 1 Pasul 2 Pasul 3 Pasul 4 Pasul 5 Diferenţiază problema generală de instanţele ei Recunoaşte o stare şi apreciază dimensiunea spaţiului stărilor Găseşte cea mai adecvată reprezentare a stărilor Reprezintă tranziţiile dintre stări Alege o strategie de control 2

Probleme de dimensiuni mici Problema 8-puzzle (toy problems) Există o tablă 3x3 pe care se găsesc 8 piese pătrate. La un moment dat o singură piesă se poate mişca cu o poziţie, pe orizontală sau verticală, în limitele cadrului tablei, în locul rămas liber. Se dă o configuraţie iniţială şi una finală a tablei. Trebuie să se găsească secvenţa de mutări care să aducă piesele din configuraţia iniţială în cea finală. 3

Probleme de dimensiuni mici Problema misionarilor şi canibalilor 3 misionari şi 3 canibali se află la marginea unui râu, cu scopul de a trece pe celălalt mal. Ei au la dispoziţie o barcă de două persoane. Dacă la un moment dat, pe un mal sau pe celălalt numărul canibalilor întrece pe cel al misionarilor, misionarii sînt în pericol de a fi mâncaţi de canibali. Problema constă în a afla cum pot trece râul cele 6 persoane în deplină siguranţă. 4

Probleme de dimensiuni mici Problema generării frazelor în limbaj natural Se dispune de o gramatică (un set de simboluri numiţi terminali, un set de simboluri numiţi neterminali, o colecţie de reguli, fiecare arătând cum poate fi expandată o categorie compusă în subcompuşi şi un simbol de start). Se doreşte generarea unei exprimări corecte gramatical. 5

Probleme de dimensiuni mici Problema maimuţei şi a bananei O maimuţă este închisă într-o cuşcă în care se mai află o banană atârnată de tavan la o înălţime la care maimuţa nu poate ajunge şi, într-un colţ, o cutie. După un număr de încercări nereuşite de a apuca banana, maimuţa merge la cutie, o deplasează sub banană, se urcă pe cutie şi apucă banana. Se cere să se formalizeze maniera de raţionament a maimuţei. 6

Probleme de dimensiuni mici Lumea cuburilor Un braț de robot trebuie să mute o stivă de cuburi, dintr-o aranjare inițială într-una finală. C B B A C A starea iniţială starea finală 7

Pasul 1 Problemă, instanţă de problemă 8-puzzle formulată ca o instanţă de problemă Misionarii şi canibalii formulată ca o instanţă de problemă Generarea frazelor formulată ca o problemă Maimuţa şi banana formulată ca o instanţă de problemă Lumea cuburilor formulată ca o instanţă de problemă Alte exemple: jocul de şah condusul maşinii... 8

Pasul 1 Un exemplu de instanţă de problemă Generarea limbajului: G1 = {N1, T1, PROP, P1}, în care: N1 = {PROP, GN, GV, S, V} o mulţime de neterminali cu semnificaţiile: propoziţie, grup nominal, grup verbal, substantiv şi verb; T1 = {pisica, şoarecele, prinde} o mulţime de cuvinte; PROP1 = simbolul start al gramaticii, alegerea lui semnifică că ceea ce se doreşte să se obţină reprezintă propoziţii ale acestui mini-limbaj; P1 = {PROP := GN GV, GN := S, GV := V GN, S := pisica, S := şoarecele, V := prinde} o listă de reguli de producție. 9

Pasul 2 Spaţiul problemei Stări, dimensiunea spaţiului dimensiunea spaţiului stărilor 10

Pasul 2 Dimensiunea spaţiului stărilor Jocul de şah: 10 120 11

Pasul 2 Dimensiunea spaţiului stărilor Jocul de şah: 10 120 8-puzzle: 9! 12

Pasul 2 Dimensiunea spaţiului stărilor Jocul de şah: 10 120 8-puzzle: 9! misionari şi canibali: 13

Pasul 2 Stări: misionari şi canibali 3 canibali în stânga 14

Pasul 2 Stări: misionari şi canibali 2 canibali în stânga 15

Pasul 2 Stări: misionari şi canibali 1 canibal în stânga 16

Pasul 2 Stări: misionari şi canibali niciun canibal în stânga 17

Pasul 2 Stări, spaţiul stărilor, dimensiunea lui Stări iniţiale şi finale stări finale stare iniţială 18

Pasul 2 Stări, spaţiul stărilor, dimensiunea lui Tranziţii stări finale stare iniţială stare fundătură 19

Pasul 2 Stări, spaţiul stărilor, dimensiunea lui Soluţia = un şir de tranziţii stări finale stare iniţială soluţia 20

Maimuţa şi banana Soluţia = un şir de tranziţii Pasul 2 21

Maimuţa şi banana Alte stări posibile Pasul 2 22

Pasul 3 Cum reprezentăm o stare? 8-puzzle o matrice 3x3 23

Pasul 3 Cum reprezentăm o stare? Misionari şi canibali un vector cu 3 poziţii: (c, m, b) 24

Pasul 3 Cum reprezentăm o stare? Generarea frazelor Pentru instanţa de problemă: G1 = {N1, T1, S1, P1} N1 = {PROP, GN, GV, S, V} T1 = {pisica, şoarecele, prinde} S1 = PROP P1 = {PROP := GN GV, GN := S, GV := V GN, S := pisica, S := şoarecele, V := prinde} un şir de simboluri Exemple de stări: PROP GN GV S GV pisica GV pisica V GN pisica prinde GN pisica prinde S pisica prinde pisica 25

Pasul 3 Cum reprezentăm o stare? Maimuţa şi banana Relaţia maimuţă-cutie: MC-departe = Maimuţa se află departe de Cutie MC-lângă = Maimuţa se află lângă Cutie MC-pe = Maimuţa se afla pe Cutie MC-sub = Maimuţa de află sub Cutie Relaţia Cutie Banană: CB-lateral = Cutia este aşezată lateral faţă de Banană CB-sub = Cutia este aşezată sub Banană Relaţia Maimuţa Banană: MB-departe = Maimuţa se află departe de Banană MB-aproape = Maimuţa se află aproape de Banană MB-ţine = Maimuţa ţine Banana Starea iniţială: MC-departe, CB-lateral, MB-departe. Starea finală: MB-ţine o colecție de predicate 26

Pasul 3 Cum reprezentăm o stare? Lumea cuburilor sub nil C liber peste C sub peste C stiva B peste sub B peste B A A peste masă A masă peste ordine definită global ordine definită prin vecinătăţi locale ordine definită prin relaţii dintre obiecte 27

Pasul 3 Cum reprezentăm o stare? Lumea cuburilor reprezentarea configurației brațului X mâna-liberă mâna-ţine(x) o colecție de predicate 28

Cum reprezentăm tranziţiile Pasul 4 dintre stări Două moduri de a vedea o navigare în spaţiul stărilor: stările există şi sunt vizitate stări finale stare iniţială soluţia 29

Cum reprezentăm tranziţiile Pasul 4 dintre stări Două moduri de a vedea o navigare în spaţiul stărilor: stările sunt generate la momentul vizitării stare iniţială stare finală soluţia 30

Cum reprezentăm tranziţiile Pasul 4 dintre stări Un operator verifică condiţii şi produce transformări în stare if <condiţii> then <acţiuni> starea de destinaţie starea de start 31

Cum reprezentăm tranziţiile Pasul 4 dintre stări Şah: regula salt-dublu-pion-din-a DACĂ pion în poziţia (a,2) şi poziţia (a,3) e liberă şi poziţia (a,4) e liberă ATUNCI mută pionul din poziţia (a,2) în poziţia (a,4) 8 reguli de acest fel... 32

Cum reprezentăm tranziţiile Pasul 4 dintre stări Şah: regula salt-dublu-pion(x) DACĂ pion în poziţia (x,2) şi poziţia (x,3) e liberă şi poziţia (x,4) e liberă ATUNCI mută pionul din poziţia (x,2) în poziţia (x,4) O regulă de acest fel! Două reguli, dacă parametrizez și jucătorul. 33

Cum reprezentăm tranziţiile Pasul 4 dintre stări 8-puzzle: Regula mută-piesa-1-sus DACĂ piesa 1 nu e lipită de marginea de sus a tablei şi poziţia de deasupra e liberă ATUNCI schimbă poziţia piesei 1 cu a căsuţei aflată deasupra ei 8 reguli de acest fel! x 4 direcţii è 32 reguli în total 34

Cum reprezentăm tranziţiile Pasul 4 dintre stări 8-puzzle: Regula mută-blanc-sus DACĂ blancul nu e lipit de marginea de sus a tablei ATUNCI schimbă poziţia blancului cu a căsuţei aflată deasupra acestuia O singură regulă de acest fel! x 4 direcţii è 4 reguli în total 35

Cum reprezentăm tranziţiile Pasul 4 dintre stări Maimuţa şi banana: aflată departe de cutie, maimuţa se aproprie de cutie: apropie-mc: dacă {MC-departe} atunci ŞTERGE{MC-departe}, ADAUGĂ{MC-lângă} aflată lângă cutie, maimuţa se depărtează de cutie: depărtează-mc: dacă {MC-lângă} atunci ŞTERGE{MC-lângă}, ADAUGĂ{MC-departe} aflată lângă cutie şi lateral faţă de banană, maimuţa trage cutia sub banană: trage-sub-mcb: dacă {MC-lângă, CB-lateral} atunci ŞTERGE {CB-lateral}, ADAUGĂ{CB-sub} aflată lângă cutie şi sub banană, maimuţa trage cutia de sub banană: trage-lateral-mcb; aflată lângă cutie, maimuţa se urcă pe ea: urcă-mc; aflată pe cutie, maimuţa coboară de pe ea: coboară-mc; aflată lângă cutie, maimuţa îşi urcă cutia deasupra capului: urcă-pe-cap-mc; din postura în care maimuţa ţine cutia deasupra capului, maimuţa îşi dă jos cutia de pe cap: coboară-de-pe-cap-mc; aflată pe cutie şi sub banană, maimuţa apucă banana: apucă-mb. 36

Cum reprezentăm tranziţiile Pasul 4 dintre stări Sisteme de reguli STRIPS stările reprezentate ca set de predicate (caracteristici) regulile: if <lista-precondiţii> then <lista-ştergeri> <lista-adăugări> 37

Cum reprezentăm tranziţiile Pasul 4 dintre stări Sisteme de reguli STRIPS în lumea cuburilor ia-de-pe-bloc(x,y) ia-de-pe-masă(x) X Y * X Y * X X pune-pe-bloc(x,y) pune-pe-masă(x) 38

Cum reprezentăm tranziţiile Pasul 4 dintre stări Sisteme de reguli STRIPS în lumea cuburilor ia-de-pe-bloc(x,y): dacă {peste(x, Y), liber(x), mâna-liberă} atunci ŞTERGE{peste(X, Y), liber(x), mâna-liberă} ADAUGĂ{liber(Y), mâna-ţine(x)} ia-de-pe-masă(x): dacă {peste(x, masă), liber(x), mâna-liberă} atunci ŞTERGE{peste(X, masă), liber(x), mâna-liberă} ADAUGĂ{mâna-ţine(X)} pune-pe-bloc(x,y): dacă {mâna-ţine(x), liber(y)} atunci ŞTERGE{mâna-ţine(X), liber(y)} ADAUGĂ{peste(X, Y), liber(x), mâna-liberă} pune-pe-masă(x): dacă {mâna-ţine(x)} atunci ŞTERGE{mâna-ţine(X)} ADAUGĂ{peste(X, masă), liber(x), mâna-liberă} 39

Pasul 5 Căutarea soluției Algoritmi și euristici de căutare în spațiul stărilor Strategii irevocabile ascensională (hill-climbing) Strategii tentative ascensională cu revenire (backtracking) Strategii exhaustive (brute-force) generează-și-testează întâi-în-adâncime (depth-first) întâi-în-lărgime (breadth-first) cel mai bun întâi (best-first) 40

Pasul 5 Căutare în spațiul stărilor Căutare bidirecţională sincronă stare iniţială comunicare stare finală 41

Pasul 5 Strategii irevocabile: hill-climbing Cale de întoarcere nu există o funcție apreciază apropierea de soluție pericole: maxime locale, platouri 42

Pasul 5 Strategii tentative: backtracking Dacă o stare nu mai are succesori "iau urma îndărăt o memorie în care se plasează la fiecare pas stările vecine, diferite de cea în care se efectuează tranziţia punct de decizie 2 calea aleasă calea aleasă E A B C D F punct de decizie 1 noduri amânate şi memorate nod amânat şi memorat E A B C D F a. În fiecare punct în care se face o alegere, căile neexplorate se salvează b. Când structura de salvare este o stivă, explorarea se face în ordinea întâi-în-adâncime 43

Pasul 5 Backtracking hill-climbing function backtracking-hill-climbing(initial-state) begin stack = initial-state; while (stack) { current-state = pop(stack); if (current-state e stare finală) return current-state; all-new-neighbour-states <- setul stărilor ce pot fi obţinute din current-state prin operatorii aplicabili ei); elimină din setul all-new-neighbour-states toate stările deja vizitate; if (all-new-neighbour-states ) { sortează all-new-neighbour-states în ordinea descrescătoare a valorilor funcţiei euristice; current-state <- prima stare clasată în } all-new-neighbour-states); if (current-state e stare finală) return current-state; else { all-new-neighbour-states <- all-new-neighbour-states } } return FAIL; end {current-state}; stack <- push(all-new-neighbour-states,stack); 44

Metode de căutare sistematică Pasul 5 (brute-force) Căutare întâi-în-adâncime (depth-first search DFS) memoria: stivă function depthfirstsearch(root) begin stack <- push(root, ); end while (stack not empty) { node <- pop(stack); } if goal(node) then return node; else push(node s successors, stack); return FAIL; 45

Metode de căutare sistematică Pasul 5 (brute-force) Căutare întâi-în-lărgime (breadth-first search BFS) memoria: coadă function breadthfirstsearch(root) begin queue <- in(root, ); end while (queue not empty) { node <- out(queue); } if goal(node) then return node; else in(node s successors, queue); return FAIL; 46

Metode de căutare sistematică Pasul 5 (brute-force) Căutare cel-mai bun-întâi (best-first search) memoria: listă; o funcție euristică de cost function bestfirstsearch(root) begin list <- include(root, ); while (list not empty) { node <- get-first(list); if goal(node) then return node; else { include(node s successors, list); sort list descending; } } return FAIL; end 47

Pasul 5 Exemplu: best-first search A 5 B 3 4 C D E F G H 5 8 6 7 7 I 0 J 4 48