Resolució de problemes i cerca

39
Resolució de problemes i cerca

description

Resolució de problemes i cerca. Resolució de problemes. “Problemes”: què són ??? “Resolució”: que és ???. http://www.britannica.com/eb/article-219081/artificial-intelligence. What is intelligence? > Problem solving - PowerPoint PPT Presentation

Transcript of Resolució de problemes i cerca

Page 1: Resolució de problemes i cerca

Resolució de problemes i cerca

Page 2: Resolució de problemes i cerca

Resolució de problemes

• “Problemes”: què són ???• “Resolució”: que és ???

Page 3: Resolució de problemes i cerca

http://www.britannica.com/eb/article-219081/artificial-intelligence

• What is intelligence? > Problem solving• Problem solving, particularly in artificial intelligence, may

be characterized as a systematic search through a range of possible actions in order to reach some predefined goal or solution.

Page 4: Resolució de problemes i cerca

Hipòtesi

• Heuristic Search Hypothesis. The solutions to problems are represented as symbol structures. A physical symbol system exercises its intelligence in problem solving by search – that is, by generating and progressively modifying symbol structures until it produces a solution structure. (Newell, A., Simon, H. A., (1976), Computer Science as Empirical Inquiry: Symbols and Search, Communications of the ACM, 19:3 113-126)

Page 5: Resolució de problemes i cerca

Les hipòtesis de la IA1) Els símbols físics• Posant-ho tot junt:

– Símbols: representen els elements significatius d'un problema

– Operacions: que operen sobre els símbols i permeten generar les solucions

– Cerca: per a seleccionar una solució entre les solucions possibles que es poden generar a partir de les operacions.

Page 6: Resolució de problemes i cerca

Esquema

• 1. Espai d’estats i representació d’un problema• Construcció d’una solució• El problema dels costos• Estratègies de cerca no informada• Cost i funció heurística• Grafs I/O• Cerca amb adversari: els jocs• Algorismes genètics

Page 7: Resolució de problemes i cerca

1. Espai d’estats i representació d’un problema

• (2) Com representar un problema• (1) Exemples de problemes• (3) Algunes classes generals de problemes

– satisfacció de restriccions

Page 8: Resolució de problemes i cerca

1.1. Alguns problemes

• El trencaclosques lineal– [3,4,1,2] -> [1,2,3,4] ???

• Camí mínim• Integració simbòlica de funcions

– Integració de: x2ex+x3 ? • Demostració de teoremes

– a*(b+c)=a*b+a*c ?

Page 9: Resolució de problemes i cerca

1.2. Modelització del problema

• Modelització de l'entorn del sistema

(entorn en el qual es mou el sistema)

• Modelització de les accions del sistema.

• Definició del problema.

Page 10: Resolució de problemes i cerca

1.2. Modelització del problema

• 1) Modelització de l’entorn en el qual es mou el sistema– ESTAT: L'entorn en un moment donat es

modelitza mitjançant el que s'anomena estat.

– És necessari saber quins són els estats possibles amb els quals treballarà un sistema. Hem de determinar com representarem (implementarem) un estat.

Page 11: Resolució de problemes i cerca

Exemple 1: Estats possibles en el trencaclosques lineal

• El nombre de seqüències possibles formades amb els quatre dígits {1,2,3,4} és 4!, per tant:

• Els estats possibles són 24: – {[1,2,3,4], [1,2,4,3], [1,3,2,4], [1,3,4,2],

[1,4,2,3], [1,4,3,2], [2,1,3,4], [2,1,4,3], [2,3,1,4], [2,3,4,1], [2,4,1,3], [2,4,3,1], [3,2,1,4], [3,2,4,1], [3,1,2,4], [3,1,4,2], [3,4,2,1], [3,4,1,2], [4,2,3,1], [4,2,1,3], [4,3,2,1], [4,3,1,2], [4,1,2,3], [4,1,3,2]}

Page 12: Resolució de problemes i cerca

1.2. Modelització del problema

• 2) Modelització de les accions del sistema.– Les accions d'un sistema es modelitzen

com a transicions entre estats. El conjunt de tots els estats possibles i les accions que actuen sobre aquests estats defineix l'espai d'estats.

– Factor de ramificació: nombre d'accions que es poden aplicar en els estats d'un problema.

Page 13: Resolució de problemes i cerca

Exemple 1Accions en el trencaclosques lineal

• Accions:– Intercanviar dret– Intercanviar centre– Intercanviar esquerra

• Exemple: [A,B,C,D]– [B,A,C,D]– [A,C,B,D]– [A,B,D,C]

Page 14: Resolució de problemes i cerca

Exemple 1Espai d’estats en el trencaclosques lineal

• Figura 2.1, p. 46

• En els espais d’estats, no hi ha estats repetits

Page 15: Resolució de problemes i cerca

1.2. Modelització del problema

• 3) Definició del problema– Situació actual: Estat inicial– On volem arribar: Funció objectiu

• Les funcions objectiu comproven la satisfacció dels requeriments exigits a un estat solució

Page 16: Resolució de problemes i cerca

Exemple 1Definició del problema en el trencaclosques lineal• Problema: donada la seqüència

[2,4,1,3] determinar els moviments per aconseguir una seqüència que sigui múltiple de dos.

• Definició del problema:– Estat inicial: [2,4,1,3] – Funció objectiu: funció que aplicada a un

estat correspon a provar si la seqüència acaba en 2 o en 4.

Page 17: Resolució de problemes i cerca

Exemple 1Definició del problema en el trencaclosques lineal• Problema: donada la seqüència

anterior ([2,4,1,3]), determinar els moviments per aconseguir la seqüència ordenada [1,2,3,4].

• Definició del problema: – Estat inicial: [2,4,1,3] – Funció objectiu: comprovar que l'estat

sigui [1,2,3,4].

Page 18: Resolució de problemes i cerca

Els altres exemples

• Camí mínim• Integració simbòlica de funcions• Demostració de teoremes

Page 19: Resolució de problemes i cerca

Classes de problemes

• Satisfacció de restriccions: – (constraint satisfaction problems - CSP)– Tenim un conjunt de variables, a les quals hem

d’assignar un valor. Hi ha restriccions. – Exemple de CSP:

• Problemes de configuració (alternativa que s’ha de triar: marca/model de cada component; amb restriccions: components que han d’encaixar, etc. )

• Determinar uns horaris (assignació professors, aules, assignatures; amb restriccions)

Page 20: Resolució de problemes i cerca

Satisfacció de restriccions

• Exemple: horaris– 2 professors: P1, P2– 2 assignatures: A1, A2– 2 aules: A1, A2– 2 hores: 8 i 9 del matí

Page 21: Resolució de problemes i cerca

Satisfacció de restriccions

• Exemples: – El problema criptoaritmètic

• DOS •+ TRES•-------• CINC

– El problema de les 8 reines

Page 22: Resolució de problemes i cerca

Classes de problemes

• Planificació:– Trobar una seqüència d’accions (un pla) que

permeti de fer una tasca concreta– Exemple:

C B

A B A C

Page 23: Resolució de problemes i cerca

Classes de problemes

• Exemple:• Estats: {A,B,C} sobre {A,B,C,Taula}• Accions:

– taula(objecte)– damunt(objecte1, objecte2)

C B

A B A C

Page 24: Resolució de problemes i cerca

Construcció d’una solució

• Es construeix el camí (la solució) en passos successius.

• Es disposa d’un conjunt de camins (solucions) parcials i a cada pas se’n prolonga un:– Es tria un dels camins del conjunt, i es

consideren les accions que són aplicables en el darrer estat del camí.

Page 25: Resolució de problemes i cerca

Construcció d’una solució

• Representació en forma d’arbre– Notació: arrel, nodes, fulles

• En un arbre:– Nodes:

• Conjunt de nodes ja expandits• Conjunt de nodes a expandir

– “Enllaços” entre nodes que corresponen a les accions que permeten passar d’un node a l’altre

• Frontera de l’arbre: – conjunt de nodes no expandits

Page 26: Resolució de problemes i cerca

Algorisme general de cercafunció cerca (problema, estratègia-de-cerca,

arbre-de-cerca-inicial) retorna solució ésarbre-de-cerca:=arbre-de-cerca-inicial;solució-trobada:=fals; mentre no(solució-trobada) i

hi-ha-nodes-per-expandir(arbre-de-cerca) fernode:=seleccionar-node (arbre-de-cerca);afegir-node-a-ja-expandits(node, arbre-de-cerca);si solució(problema, node) llavors solució-trobada:=cert; sino nous-nodes := expandir(node, problema);

afegir-nodes-a-per-expandir (nous-nodes,

estratègia-de-cerca,

arbre-de-cerca);fsi;

fmentre;si solució-trobada llavors retorna solució(arbre-de-cerca, node); sino retorna no-hi-ha-solució;fsi;

ffunció;

Page 27: Resolució de problemes i cerca

Algorisme general de cerca - notes

• Problema: – estat inicial, la funció objectiu i els operadors

• Estratègia de cerca: – com es tria un nou node

• Per iniciar la cerca:– Arbre inicial:

• un únic node que correspon a l’estat inicial

Page 28: Resolució de problemes i cerca

Consideracions sobre els algorismes de cerca

• Propietats:– Completesa:

• Si hi ha solució, es troba?

– Optimalitat: • Entre diverses solucions, troba la millor?

– Complexitat pel que fa a temps – Complexitat pel que fa a espai– Algorismes tot temps

• És tot-temps (any-time algorithm), quan pot trobar una solució per a qualsevol assignació de temps de computació.

Page 29: Resolució de problemes i cerca

Consideracions sobre els algorismes de cerca

• Aspectes d’implementació: – els estats repetits

• Tractaments possibles:– No permetre el retorn a l’estat d’on venim– No permetre generar camins amb cicles– No generar cap estat que ja hagi estat generat

Page 30: Resolució de problemes i cerca

Estratègies de cerca no informada

• Cerca en amplada• Cerca en profunditat• Cerca en profunditat limitada• Cerca iterativa en profunditat

Page 31: Resolució de problemes i cerca

http://dcvb.iec.cat/Alcover-Moll

• Incís:– 2. Esdeveniment secundari interposat entre

altres de més importants; cast. inciso. Fou un incís només en la nostra vida, Casp Proses 85.    Etim.: pres del llatí incīsum, mat. sign. (literalment, ‘tallat’).

• Costos i l’eficiència dels algorismes

Page 32: Resolució de problemes i cerca

Costos i l’eficiència dels algorismes

• Grandària de les dades d’entrada– N variables d’entrada

• Contingut de les dades d’entrada– El temps d’execució pot variar segons la disposició de

les dades. • Per exemple, si volem ordenar una base de dades i els

elements ja estan ordenats.

• Codi generat / potència de l’ordinador– (s’ignora, factor multiplicatiu)

Page 33: Resolució de problemes i cerca

Costos i l’eficiència dels algorismes

• Exemples de càlcul de costs:• Exemple A: (cost que no depèn de les dades)

– s:=0;– per i=1 fins 10 fer– s:=s+i– fper

• Exemple B: (cost que depèn de les dades)– s:=0;– per i = 1 fins n fer– s:=s+i– fper

Page 34: Resolució de problemes i cerca

Costos i l’eficiència dels algorismes

• Imprimeix una matriu M de n*n elements– per i=1 fins n n vegades– per j=1 fins n n vegades (*

n)– escriu (M[i,j]) 1 (* n * n)– fper – fper

Page 35: Resolució de problemes i cerca

Costos i l’eficiència dels algorismes

• Multiplicació de 2 matris M1 i M2, Resultat: R– Per i=1 fins N– Per j=1 fins N– Per k=1 fins N– R[i,j]=M1[i,k]*M2[k,j] 1 (* n * n * n)– Fper– Fper– Fper

• Cost: N3

Page 36: Resolució de problemes i cerca

Costos i l’eficiència dels algorismes

• Trobar les permutacions de:– 2 elements: 12, 21– 3 elements: 123,132,213,231,312,321– 4 elements: 1234,1243,1324,1342,...

– N elements: N!

Page 37: Resolució de problemes i cerca

Costos i l’eficiència dels algorismes• Per calcular el cost d’un algorisme:

– De les instruccions més internes cap a fora– Assignació/entrada/sortida/aritmètiques O(1)– Composició seqüencial S1;S2:

• S1 i S2 amb costos O(f(n)) i O(g(n))• O(max(f(n),g(n)))

– Si C llavors S1 sino S2 fsi• C, S1 i S2 amb costos O(f(n)), O(g(n)), O(h(n))• O(max(f(n),g(n),h(n)))

– Mentre C fer S fmentre • C i S amb costos O(f(n)) i O(g(n)), i el nombre d’iteracions és

O(h(n))• O(h(n)*[max(f(n),g(n))])

Page 38: Resolució de problemes i cerca

Costos i l’eficiència dels algorismes• Formes de creixement:

– Constant O(1)– Logarítmic O(log n)– Lineal O(n)– Quasilineal O(n log n)– Quadràtic O(n2)– Cúbic O(n3)– Polinòmic O(nk) amb k conegut– Exponencial O(kn) amb k conegut– FactorialO(n!)

• O(*): fita superior, sense factors multiplicatius.

Page 39: Resolució de problemes i cerca

Costos i l’eficiència dels algorismes

• Cas exponencial (106 operacions / segon)– 86400 s/dia; 31536000 s/any

per k=5 kn Segons Anys

N=1 5

N=2 25

N=3 125

N=5 3125 0.003125

N=10 9765625 9.765625

N=15 3.052 1010 30517.578 ** 8.477105 hores

N=20 9.537 1013 9.536743 107 3.0240815

N=25 2.980 1017 2.9802322 1011 9450.255

N=50 8.88 1034 8.881784 1028 2.8163953 1021