390 likes | 509 Views
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
E N D
Resolució de problemes • “Problemes”: què són ??? • “Resolució”: que és ???
http://www.britannica.com/eb/article-219081/artificial-intelligencehttp://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.
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)
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.
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
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
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 ?
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.
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 possiblesamb els quals treballarà un sistema. Hem de determinar com representarem (implementarem) un estat.
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]}
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.
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]
Exemple 1Espai d’estats en el trencaclosques lineal • Figura 2.1, p. 46 • En els espais d’estats, no hi ha estats repetits
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ó
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.
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].
Els altres exemples • Camí mínim • Integració simbòlica de funcions • Demostració de teoremes
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)
Satisfacció de restriccions • Exemple: horaris • 2 professors: P1, P2 • 2 assignatures: A1, A2 • 2 aules: A1, A2 • 2 hores: 8 i 9 del matí
Satisfacció de restriccions • Exemples: • El problema criptoaritmètic • DOS • + TRES • ------- • CINC • El problema de les 8 reines
Classes de problemes • Planificació: • Trobar una seqüència d’accions (un pla) que permeti de fer una tasca concreta • Exemple:
Classes de problemes • Exemple: • Estats: {A,B,C} sobre {A,B,C,Taula} • Accions: • taula(objecte) • damunt(objecte1, objecte2)
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í.
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
Algorisme general de cerca funció cerca (problema, estratègia-de-cerca, arbre-de-cerca-inicial) retorna solució és arbre-de-cerca:=arbre-de-cerca-inicial; solució-trobada:=fals; mentre no(solució-trobada) i hi-ha-nodes-per-expandir(arbre-de-cerca) fer node:=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 llavorsretorna solució(arbre-de-cerca, node); sino retorna no-hi-ha-solució; fsi; ffunció;
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
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ó.
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
Estratègies de cerca no informada • Cerca en amplada • Cerca en profunditat • Cerca en profunditat limitada • Cerca iterativa en profunditat
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
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)
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
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
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
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!
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))])
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 • Factorial O(n!) • O(*): fita superior, sense factors multiplicatius.
Costos i l’eficiència dels algorismes • Cas exponencial (106 operacions / segon) • 86400 s/dia; 31536000 s/any