1 / 39

Resolució de problemes i cerca

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

ismael
Download Presentation

Resolució de problemes i cerca

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Resolució de problemes i cerca

  2. Resolució de problemes • “Problemes”: què són ??? • “Resolució”: que és ???

  3. 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.

  4. 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)

  5. 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.

  6. 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

  7. 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

  8. 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 ?

  9. 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.

  10. 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.

  11. 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]}

  12. 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.

  13. 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]

  14. Exemple 1Espai d’estats en el trencaclosques lineal • Figura 2.1, p. 46 • En els espais d’estats, no hi ha estats repetits

  15. 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ó

  16. 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.

  17. 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].

  18. Els altres exemples • Camí mínim • Integració simbòlica de funcions • Demostració de teoremes

  19. 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)

  20. Satisfacció de restriccions • Exemple: horaris • 2 professors: P1, P2 • 2 assignatures: A1, A2 • 2 aules: A1, A2 • 2 hores: 8 i 9 del matí

  21. Satisfacció de restriccions • Exemples: • El problema criptoaritmètic • DOS • + TRES • ------- • CINC • El problema de les 8 reines

  22. Classes de problemes • Planificació: • Trobar una seqüència d’accions (un pla) que permeti de fer una tasca concreta • Exemple:

  23. Classes de problemes • Exemple: • Estats: {A,B,C} sobre {A,B,C,Taula} • Accions: • taula(objecte) • damunt(objecte1, objecte2)

  24. 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í.

  25. 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

  26. 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ó;

  27. 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

  28. 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ó.

  29. 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

  30. Estratègies de cerca no informada • Cerca en amplada • Cerca en profunditat • Cerca en profunditat limitada • Cerca iterativa en profunditat

  31. 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

  32. 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)

  33. 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

  34. 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

  35. 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

  36. 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!

  37. 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))])

  38. 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.

  39. Costos i l’eficiència dels algorismes • Cas exponencial (106 operacions / segon) • 86400 s/dia; 31536000 s/any

More Related