Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed...

339

Transcript of Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed...

Page 1: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,
Page 2: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,
Page 3: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya

Vostè és lliure de: Copiar, distribuir i comunicar públicament l’obra.

Sota els següents condicionants:

Reconeixement. S’ha de referenciar aquesta obra a Elisabet Golobardes i a Albert Orriols - Enginyeria La Salle (Estudis Semipresencials).

No comercial. No es pot utilitzar aquesta obra per a finalitats comercials. Sense obres derivades. No es pot alterar, transformar o generar una obra derivada a partir d’aquesta.

• Quan reutilitzeu o distribuïu l'obra, heu de deixar ben clar els termes de la llicència de l'obra. • Alguna d'aquestes condicions pot no aplicar-se si obteniu el permís del titular dels drets d'autor.

• No hi ha res en aquesta llicència que menyscabi o restringeixi els drets morals de l'autor.

Els drets derivats d'usos legítims o altres limitacions reconegudes per llei no queden afectats per l'anterior

Això és un resum fàcilment llegible del text legal (la llicència completa) disponible en els idiomes següents:

Català Castellà Basc Gallec

Page 4: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

CRÈDITS

Autor: Elisabet Golobardes i Albert Orriols

Editor: Lluís Vicent

Coordinació lingüística: Sara Laso

Revisió lingüística: Sergi Llorca

Maquetació: Sara Laso

Disseny de portada: Marc Segarra

Aquesta edició ha comptat amb el suport de l’Agència de Gestió d’Ajuts Universitaris i de Recerca (AGAUR) de la Generalitat de Catalunya en la Convocatòria d’ajuts a l’edició i la difusió de llibres de text o manuals universitaris i llibres cientificotècnics, en suport paper o en suport electrònic, escrits en llengua catalana (DILL 2008).

ISBN: 978-84-935665-6-2

Page 5: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,
Page 6: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

1

Índex

SESSIÓ 1: Origen de la intel∙ligència artificial ............................................................. 7 

1. Origen de la intel∙ligència artificial ......................................................................... 8 

1.1. Introducció ................................................................................................................. 8 1.1.1. Origen de la intel∙ligència artificial ............................................................................................ 8 1.1.2. Temes d’estudi dins de la intel∙ligència artificial ....................................................................... 9 

SESSIÓ 2: Exemples dins de la IA ............................................................................... 13 

1.2. Exemples dins de la Intel∙ligència Artificial ................................................................ 13 1.2.1. Cerca ‐ Jocs .............................................................................................................................. 13 1.2.2. Cerca ‐ Trobar un camí cap a l’objectiu ................................................................................... 14 1.2.3. Cerca ‐ Senzillament trobar una solució .................................................................................. 16 1.2.4. Representació del coneixement .............................................................................................. 16 

SESSIÓ 3: Introducció al LISP (1/4) ............................................................................ 19 

2. Introducció al LISP ................................................................................................ 20 

2.1. Introducció al LISP ..................................................................................................... 20 2.1.1. Introducció: LISP i els llenguatges funcionals .......................................................................... 20 2.1.2. Com usar l’intèrpret de Common LISP? ................................................................................... 21 2.1.3. Tipus de dades i estructures definides pels usuaris ................................................................. 21 2.1.4. Funcions primitives .................................................................................................................. 22 

SESSIÓ 4: Introducció al LISP (2/4) ............................................................................ 27 2.1.5. Els predicats i els condicionals ................................................................................................. 27 2.1.6. Definició de noves funcions ..................................................................................................... 29 2.1.7. La recursivitat .......................................................................................................................... 29 2.1.8. Definició de variables locals ..................................................................................................... 30 2.1.9. Les funcions MAP ..................................................................................................................... 30 2.1.10. La funció LAMBDA ................................................................................................................. 31 2.1.11. Tipus de paràmetres: opcionals, restants i claus ................................................................... 31 

SESSIÓ 5: Introducció al LISP (3/4) ............................................................................ 33 2.1.12. Creació de noves estructures ................................................................................................ 33 2.1.13. Estructures propietat‐valor.................................................................................................... 34 2.1.14. Iteracions ............................................................................................................................... 35 2.1.15. Macros ................................................................................................................................... 36 2.1.16. Lectura i escriptura ................................................................................................................ 37 2.1.17. Eines de depuració ................................................................................................................. 38 

SESSIÓ 6: Introducció al LISP (4/4) ............................................................................ 41 

2.2. Exercicis d’LISP .......................................................................................................... 41 2.2.1. Exercicis a lliurar ...................................................................................................................... 41 

SESSIÓ 7: Cerca cega – CERCA (1/9) .......................................................................... 43 

3. Resolució de problemes cerca ............................................................................... 44 

3.1. Introducció ............................................................................................................... 44 3.1.1. Problemes, espai de cerca i cerca ............................................................................................ 44 3.1.2. Tipus de cerca .......................................................................................................................... 45 

Page 7: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

2

3.2. Cerca cega ................................................................................................................. 46 3.2.1. Cerca primer en amplada ........................................................................................................ 46 3.2.2. Cerca primer en profunditat .................................................................................................... 47 3.2.3. Depth‐first versus breadth‐first search.................................................................................... 48 

SESSIÓ 8: Cerca cega – CERCA (2/9) .......................................................................... 49 3.2.4. Iterative Deepening i broadening search ................................................................................. 49 3.2.5. Cerca sobre grafs ..................................................................................................................... 51 3.2.6. Exercicis de cerca cega amb LISP (optatius) ............................................................................ 52 

SESSIÓ 9: Heurístiques – CERCA (3/9)........................................................................ 55 

3.3. Cerca heurística ........................................................................................................ 55 3.3.1. Heurístiques ............................................................................................................................. 55 3.3.2. Cerca com a maximització de funcions .................................................................................... 56 

SESSIÓ 10: Cerca primer el millor – CERCA (4‐5/9) .................................................... 61 3.3.3. Cerca primer el millor .............................................................................................................. 61 

SESSIÓ 11: Cerca basada en restriccions – CERCA (6/9) ............................................. 67 3.3.4. Cerca basada en restriccions ................................................................................................... 67 

SESSIÓ 12: Cerca amb adversari – CERCA (7/9) ......................................................... 71 

3.4. Cerca amb adversari‐jocs .......................................................................................... 71 3.4.1. Introducció ............................................................................................................................... 71 3.4.2. Algorisme MiniMax .................................................................................................................. 72 3.4.3. Exemple MiniMax .................................................................................................................... 75 

SESSIÓ 13: Cerca amb adversari – CERCA (8/9) ......................................................... 77 3.4.4. Problemes del MiniMax ........................................................................................................... 77 3.4.5. Poda alfa‐beta .......................................................................................................................... 78 3.4.6. Exemple poda alfa‐beta ........................................................................................................... 81 3.4.7. Exercici de cerca amb adversari: escacs (optatiu) ................................................................... 82 

SESSIÓ 14: Pràctica cerca – CERCA (9/9) ................................................................... 83 

3.5. Descripció de la pràctica de cerca .............................................................................. 83 3.5.1. Descripció de la pràctica de cerca (pràctica 1) ........................................................................ 83 

SESSIÓ 15: Introducció – Representació del coneixement (1/15) ............................... 87 

4. Representació del coneixement ‐ Raonament ....................................................... 87 

4.1. Introducció ............................................................................................................... 87 4.1.1. Conceptes ................................................................................................................................ 87 4.1.2. Tipus de coneixement .............................................................................................................. 90 

SESSIÓ 16: Representació basada en la lògica – RdC (2/15) ...................................... 95 

4.2. Representació del coneixement basada en la lògica .................................................. 96 4.2.1. Com usar la representació del coneixement basada en la lògica? .......................................... 96 4.2.2. Mancances ............................................................................................................................... 97 4.2.3. Exercici: Factorial – deductiu (optatiu) .................................................................................... 98 

SESSIÓ 17: Representació basada en regles (I) – RdC (3/15) ...................................... 99 

4.3. Representació del coneixement basada en regles ..................................................... 99 4.3.1‐ Introducció .............................................................................................................................. 99 4.3.2. Sistemes experts – primera generació ................................................................................... 101 

Page 8: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

3

SESSIÓ 18: Representació basada en regles (II) – RdC (4/15) ................................... 105 4.3.3. Sistemes experts – segona generació .................................................................................... 105 

SESSIÓ 19: Representació basada en regles (III) – RdC (5/15) .................................. 111 4.3.4. Emparellament (matching) .................................................................................................... 111 4.3.5. Coneixement control ............................................................................................................. 113 

SESSIÓ 20: Raonament no monòton (I) – RdC (6/15) ............................................... 115 

4.4. Coneixement incert – Raonament no monòton ....................................................... 115 4.4.1. Introducció: Raonament simbòlic sota incertesa .................................................................. 115 4.4.2. Tipus de raonament no monòton: Raonament per defecte .................................................. 118 4.4.3. Tipus de raonament no monòton: Raonament minimalista .................................................. 120 

SESSIÓ 21: Raonament no monòton (II) – RdC (7/15) .............................................. 123 4.4.4. Implementació – Sistema que resol el problema .................................................................................... 123 4.4.5. Implementació – Sistemes de manteniment de la veritat ..................................................... 125 

SESSIÓ 22: Raonament estadístic (I) – RdC (8/15) ................................................... 129 

4.5. Coneixement incert – Raonament estadístic ............................................................ 129 4.5.1. La probabilitat i el teorema de Bayes .................................................................................... 129 4.5.2. Els factors de certesa i sistemes basats en regles.................................................................. 132 

SESSIÓ 23: Raonament estadístic (II) – RdC (9/15) .................................................. 137 4.5.3. Xarxes bayesianes .................................................................................................................. 137 4.5.4. La teoria de Dempster‐Shafer ................................................................................................ 138 

SESSIÓ 24: Raonament estadístic (III) – RdC (10/15) ............................................... 141 4.5.5. La lògica difusa ....................................................................................................................... 141 

SESSIÓ 25: Xarxes semàntiques, frames i el concepte d’herència – RdC (10/15) ...... 147 

4.6. Representació del coneixement estructurada ......................................................... 147 4.6.1. Xarxes semàntiques, frames i el concepte d’herència ........................................................... 147 

SESSIÓ 26: Operacions entre frames – Exercicis – RdC (13/15) ................................ 153 4.6.2. Relacions entre frames .......................................................................................................... 153 4.6.3. Exercici: intersecció entre objectes ....................................................................................... 154 4.6.4. Proposta d’exercicis amb d’altres relacions (optatiu) ........................................................... 161 

SESSIÓ 27: Exemples de representacions estructurades – RdC (14/15) .................... 163 4.6.5. Exemples de representacions estructurades ......................................................................... 163 4.6.6. Treball a lliurar: fitxa d’un llenguatge de representació del coneixement ............................ 166 

SESSIÓ 28: Pràctica representació del coneixement – RdC (15/15) .......................... 169 

4.7. Descripció de la pràctica de respresentació del coneixement ...................................................... 170 4.7.1. Descripció de la pràctica de representació del coneixement (pràctica 2) ............................. 170 

SESSIÓ 29: Introducció a l’aprenentatge artificial – AR (1‐2/15) ............................. 173 

5. Aprenentatge artificial ....................................................................................... 173 

5.1. Introducció ............................................................................................................. 173 5.1.1. Aprenentatge artificial ........................................................................................................... 173 5.1.2. Paradigmes de l’aprenentatge artificial ................................................................................. 174 5.1.3. Característiques desitjables – Problemes .............................................................................. 176 5.1.4. Resum dels paradigmes que estudiarem ............................................................................... 180 

SESSIÓ 30: Aprenentatge inductiu (I) – AR (3/15) ................................................... 183 

Page 9: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

4

5.2. Aprenentatge inductiu ............................................................................................ 183 5.2.1. Descripció de l’aprenentatge inductiu ................................................................................... 183 5.2.2. Tipus d’aprenentatge inductiu ............................................................................................... 185 5.2.3. L’algorisme de Winston ......................................................................................................... 186 

SESSIÓ 31: Aprenentatge inductiu (II) – AR (4/15) .................................................. 191 5.2.4. Inducció d’arbres de decisió – ID3 ......................................................................................... 191 

SESSIÓ 32: Aprenentatge inductiu (III) – AR (5/15) ................................................. 197 5.2.5. Aprenentatge per observació: AUTOCLASS ........................................................................... 197 

SESSIÓ 33: Aprenentatge analògic (I) – AR (6/15) ................................................... 201 

5.3. Aprenentatge analògic ............................................................................................ 201 5.3.1. Introducció ............................................................................................................................. 201 5.3.2. Un sistema per resoldre analogies geomètriques ................................................................. 204 5.3.3. Analogia transformacional ..................................................................................................... 205 5.3.4. Analogia derivacional ............................................................................................................. 206 

SESSIÓ 34: Aprenentatge analògic (II) – AR (7/15) .................................................. 209 5.3.5. Aprenentatge per raonament a partir de precedents ........................................................... 209 5.3.6. Aprenentatge per raonament sobre múltiples analogies ...................................................... 210 

SESSIÓ 35: Aprenentatge analògic (III) – AR (8/15) ................................................. 213 5.3.7. Raonament basat en casos .................................................................................................... 213 

SESSIÓ 36: Aprenentatge basat en explicacions (I) – AR (9/15) ............................... 221 

5.4. Aprenentatge deductiu – Aprenentatge basat en explicacions ................................ 221 5.4.1. Introducció ............................................................................................................................. 221 5.4.2. Descripció d’EBL ..................................................................................................................... 223 

SESSIÓ 37: Aprenentatge basat en explicacions (II) – AR (10/15) ............................ 227 5.4.3. Problemes d’EBL .................................................................................................................... 227 5.4.4. Sistemes que usen EBL........................................................................................................... 229 5.4.5. Anàlisi d’EBL ........................................................................................................................... 231 

SESSIÓ 38: Aprenentatge evolutiu – AR (11/15) ...................................................... 233 

5.5. Aprenentatge evolutiu – Algorismes genètics .......................................................... 233 5.5.1. Introducció ............................................................................................................................. 233 5.5.2. Què són els algorismes genètics? .......................................................................................... 235 5.5.3. Com funcionen els algorismes genètics? ............................................................................... 237 5.5.4. Algorismes genètics i aprenentatge....................................................................................... 241 5.5.5. Conclusions i aplicacions........................................................................................................ 241 

SESSIÓ 39: Aprenentatge connexionista (I) – AR (12/15)......................................... 245 

5.6. Aprenentatge connexionista – Xarxes neuronals (I) ................................................. 245 5.6.1. La neurona natural – Conceptes fonamentals de neurofisiologia ......................................... 245 5.6.2. La neurona artificial ............................................................................................................... 249 5.6.3. El perceptró ........................................................................................................................... 250 

SESSIÓ 40: Aprenentatge connexionista (II) – AR (13/15)........................................ 253 5.6.4. Les xarxes neuronals backpropagation ................................................................................. 253 5.6.5. Classificació general de les XN ............................................................................................... 259 5.6.6. Conclusions i aplicacions de les XN ........................................................................................ 261 

SESSIÓ 41: Aprenentatge artificial – AR (14/15) ..................................................... 265 

5.7. Descripció de la pràctica d’aprenentatge artificial ................................................... 266 

Page 10: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

5

5.7.1. Descripció de la pràctica d’aprenentatge artificial (pràctica 3) ............................................. 266 

SESSIÓ 42: Exercicis d’aprenentatge artificial – AR (15/15) ..................................... 269 

5.8. Exercicis d’aprenentatge artificial............................................................................ 269 5.8.1. Llista de problemes d’exàmens – Aprenentatge artificial ..................................................... 269 

SESSIÓ 43: Introducció – PLANIFICACIÓ (1/9) .......................................................... 275 

6. Planificació ......................................................................................................... 275 

6.1. Introducció ............................................................................................................. 275 6.1.1. Raonament sobre accions ...................................................................................................... 275 6.1.2. Tipus de planificació .............................................................................................................. 277 6.1.3. Descripció d’un problema de planificació .............................................................................. 280 

SESSIÓ 44: STRIPS – PLANIFICACIÓ (2/9) ................................................................. 283 

6.2. STRIPS ..................................................................................................................... 283 6.2.1. La descripció d’STRIPS............................................................................................................ 283 

SESSIÓ 45: Cerca a través dels estats – PLANIFICACIÓ (3/9) .................................... 289 

6.3. Cerca a través de l’espai del món dels estats ........................................................... 289 6.3.1. Introducció ............................................................................................................................. 289 6.3.2. Progressió .............................................................................................................................. 290 6.3.3. Regressió ................................................................................................................................ 291 6.3.4. Anàlisi de REGWS i de PROGWS ............................................................................................ 292 

SESSIÓ 46: Cerca a través dels plans – PLANIFICACIÓ (4‐5/9) .................................. 295 

6.4. Cerca a través de l’espai del plans ........................................................................... 295 6.4.1. Algorisme POP ....................................................................................................................... 295 

SESSIÓ 47: Relaxacions de POP – PLANIFICACIÓ (6/9) ............................................. 301 6.4.2. Relaxacions de l’algorisme POP ............................................................................................. 301 

SESSIÓ 48: Algorisme UCPOP – PLANIFICACIÓ (7‐8/9) ............................................. 307 6.4.3. Algorisme UCPOP ................................................................................................................... 307 6.4.4. Relaxacions de l’UCPOP ......................................................................................................... 311 

SESSIÓ 49: Exercicis de planificació – PLANIFICACIÓ (9/9) ....................................... 313 

6.5. Exercicis de planificació ........................................................................................... 313 6.5.1. Llista de problemes d’exàmens – Planificació ....................................................................... 313 

SESSIÓ 50: Resolució de problemes ......................................................................... 319 

7. Resolució d’un problema usant IA ....................................................................... 320 

7.1. Resolució de problemes usant IA............................................................................. 320 7.1.1. Com resoldre un problema usant IA? .................................................................................... 320 7.1.2. Reconeixement de submarins ............................................................................................... 321 7.1.3. Empresa de missatgeria ......................................................................................................... 324 

Bibliografia ............................................................................................................ 327 

Glossari .................................................................................................................. 333 

Page 11: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

6

Page 12: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

7

SESSIÓ 1: Origen de la intel·ligència artificial Nom: Origen de la intel·ligència artificial – INTRODUCCIÓ (1/2) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Ginsberg1993] [Sales1990]

PRECEDENTS L’assignatura d’INTEL·LIGÈNCIA ARTIFICIAL usa diferents conceptes que se suposa que ja s’han vist en assignatures anteriors. Analitzem-los basant-nos en les assignatures que comprenen els plans d’estudis d’Enginyeria i Arquitectura La Salle: Nocions algorísmiques i d’estructura de dades que s’han vist en assignatures com PROGRAMACIÓ I, PROGRAMACIÓ II i ESTRUCTURES DE DADES. El coneixement de llenguatges imperatius (e.g. C, C++ o similars) i lògics (e.g. PROLOG) vistos en assignatures com PROGRAMACIÓ I, PROGRAMACIÓ II, ESTRUCTURES DE DADES i LÒGICA MATEMÀTICA. I, en darrer lloc, partim de la base que ja s’han adquirit els coneixements corresponents al càlcul de predicats CP0 i CP1, vistos a l’assignatura de Lògica matemàtica.

OBJECTIUS L’objectiu d’aquesta primera sessió és conèixer els orígens del que avui es coneix com a intel·ligència artificial i, per tant, esbrinar què entenem per intel·ligència i per artificial. Després d’analitzar els seus orígens, i entendre què és ara la intel·ligència artificial, serà més fàcil de comprendre el temari que es dóna sota una introducció a la intel·ligència artificial, objectiu d’aquesta assignatura.

CONTINGUTS En aquesta sessió es descriuran els orígens de la intel·ligència artificial (vegeu [Sales1990]) i s’estudiarà què s’entén –en aquest context– per intel·ligència i per artificial (vegeu [Sales1990] i [Ginsberg1993], pàgines 3-10).

Page 13: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

8

1. Origen de la intel·ligència artificial

1.1. Introducció

1.1.1. Origen de la intel·ligència artificial En aquest apartat coneixerem quins van ser els orígens de la intel·ligència artificial. No només convé saber d’on va sorgir el nom d’intel·ligència artificial, per tal de comprendre millor el context històric que ha abastat les diferents àrees que avui en dia comprèn aquest paradigma, sinó que també convé reflexionar sobre què entenem per intel·ligència i què entenem per artificial. Per assolir aquests objectius, aquesta secció es basarà en el report de recerca de’n Ton Sales sobre la intel·ligència artificial –el qual també va ser publicat a la Vanguardia l’any 1990–, i part del primer capítol d’Essentials of Artificial Intelligence de’n Matt Ginsberg (1993), per explicar els orígens de la intel·ligència artificial i per definir els conceptes intel·ligència i artificial.

Origen de la IA

Cap a l’any 1956 a Dartmouth (New Hampshire) un grup d’universitaris americans van decidir formar un grup de treball/recerca per tal de desenvolupar programes que fossin capaços de reproduir la intel·ligència humana. Coneguts personatges que intervingueren en aquest grup pioner foren en John McCarthy, en Marvin Minsky, en Herb Simon, etc. Així doncs, el seu únic objectiu era el d’elaborar programes que fessin coses/tasques considerades intel·ligents, com ara jugar a escacs, reconèixer formes, raonar com un expert humà, comprendre i generar el llenguatge natural, etc. D’aquesta manera, pensaven reunir-se cada 2 o 3 anys i analitzar què havia fet cadascú. Alguns dels objectius van ser assolits i d’altres encara s’estan intentant resoldre. En John McCarthy va proposar d’autoanomenar aquest grup intel·ligència artificial. D’aquí neix aquest nom tan agosarat. Des d’aquells inicis de la intel·ligència artificial (IA), aquesta disciplina ha tingut molts alts i baixos i es podria dir que un dels seus punts àlgids va arribar quan, fruit de les circumstàncies, van confluir dos factors claus: diners ($) i premsa i, per tant, també se’n va parlar i es va desenvolupar fora de l’entorn universitari.

[Sales1990]

Intel·ligència?

S’han donat moltes definicions diferents sobre què és –avui en dia– la intel·ligència artificial. En Matt Ginsberg (vegeu [Ginsberg1993], pàgina 3) defineix la IA de la manera següent: “Artificial Intelligence is the enterprise of constructing an intelligent artifact”. Tanmateix, en primer lloc, ens hem de plantejar què entenem per intel·ligència.

Page 14: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

9

Una de les principals propostes que s’han formulat per tal d’esbrinar quan a un sistema artificial se li pot posar l’etiqueta d’intel·ligent ha estat el test de Turing. Aquest test, definit pel matemàtic Alan Turing el 1950, proposa avaluar si una màquina es comporta de manera intel·ligent de la manera següent: Es proposa un escenari amb un jutge situat en una habitació, mentre que una màquina i un humà es col·loquen en una altra habitació. Per tant el jutge no pot veure si està parlant amb una màquina o amb una persona. Llavors el jutge realitza un conjunt de preguntes a ambdós amb l’objectiu d’identificar qui és la màquina i qui és l’ésser humà. Si el jutge no pot distingir quin dels dos és la màquina, es diu que aquesta ha passat el test de Turing, doncs ha estat capaç de comportar-se “humanament”. Fins a l’actualitat no hi ha hagut cap màquina que hagi estat capaç de passar el test de Turing. Malgrat això, algunes màquines parladores (chatterbots) són capaces de mantenir una conversa molt humana.

Artificial?

L’altre concepte que hem d’aclarir és què entenem per artificial o, més concretament, què entenem per artefacte, si el que volem construir és un artefacte intel·ligent que sigui capaç de passar el test de Turing. Hi ha hagut diverses definicions de què es considera com a artefacte. En general, un artefacte és quelcom inert que manipula símbols – típicament, s’assumeix que són símbols en el seu entorn – i treu respostes. De fet, aquesta definició és agradable, doncs es permet assimilar qualsevol artefacte amb la màquina de Turing universal.

1.1.2. Temes d’estudi dins de la intel·ligència artificial Tornant als orígens de la IA, al voltant d’aquests petits programes que anaven desenvolupant el grup d’universitaris van anar desenvolupant-se les diferents àrees que configuren el que actualment anomenem intel·ligència artificial: resolució de problemes – cerca, representació del coneixement, raonament, sistemes experts, planificació, aprenentatge artificial, visió artificial, processament del llenguatge artificial, més totes aquelles àrees que contínuament estan sorgint, com sistemes multiagents (SMA) – intel·ligència artificial distribuïda (DAI) (vegeu [Sales1990] ). Tanmateix, el que es proposava aquest grup d’estudiants intrèpids era reproduir problemes que fessin tasques intel·ligents, però de fet intentaven resoldre problemes complexos del món real de manera intel·ligent. Quatre dels aspectes claus que se li demanen a una màquina considerada intel·ligent per resoldre aquests tipus de problemes són:

1. Cerca 2. Representació del coneixement i raonament 3. Aprenentatge artificial 4. Planificació

Aquests quatre temes es tractaran en detall al llarg d’aquest document, que conformen els quatre capítols principals del llibre. Cal notar que hi ha un lligam ineludible entre aquestes quatre àrees:

Page 15: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

10

Cerca

Resoldre un problema implica sempre fer una cerca dins de l’espai de cerca del problema, buscant aquelles solucions possibles o, segons quina sigui la naturalesa del problema, buscant la millor solució. Per tant, l’algorisme de cerca serà clau per tal de trobar tant la (millor) solució com el menor cost per trobar-la. Cal pensar que si l’espai de cerca és molt gran, o bé pot ser que trobem una solució, depenent de l’algorisme, NP-Hard, o bé que amb els recursos computacionals disponibles no sigui possible trobar-la.

[Ginsberg1993]p10-p11

Representació del coneixement - Raonament

Tot mètode de cerca que busca la solució a un problema, serà més eficient si usa coneixement del domini del problema. Per tant, tot el coneixement que tinguem del domini del problema convé representar-lo de la manera més adequada. Una primera aproximació que podríem fer és representar el coneixement mitjançant CP1. Per tant, usarem mètodes deductius per explorar – raonar – sobre la informació que tenim. Ara bé, què passa si el coneixement és difús, o bé probabilístic, o bé incomplet, o bé inconsistent? Doncs CP1 no és capaç de representar aquest tipus de coneixement. Això implica que haurem de buscar noves maneres de representar el coneixement i, per tant, desenvolupar nous mètodes de raonament lligats a aquesta nova representació del coneixement. Com que els problemes reals poden ser inconsistents i no monòtons – és a dir, que el coneixement canviï al llarg del temps – sorgeix la necessitat de desenvolupar sistemes de manteniment de la veritat que vetllin per la consistència del sistema.

Vegeu [Ginsberg1993]p11-p13

Exemples i aplicacions de la IA

D’on han sorgit les diferents àrees que comprenen la intel·ligència artificial? La resposta a aquesta pregunta ens permetrà comprendre el gran nombre d’àrees que s’associen sota el paraigües de la intel·ligència artificial, com per exemple: sistemes experts, sistemes basats en el coneixement, planificació, aprenentatge artificial, visió artificial, processament del llenguatge artificial i robòtica. Recordant els inicis de la IA, la IA s’ha desenvolupat –i posteriorment s’ha formalitzat– perseguint l’objectiu de resoldre problemes (vegeu [Ginsberg1993], pàgines 13-15) que representin un repte per a la intel·ligència, o bé intentant resoldre diferents aplicacions (vegeu [Ginsberg1993], pàgines 43-44) considerades intel·ligents. En la sessió següent analitzarem més detalladament diferents exemples que citarem al llarg de l’assignatura, al presentar els diferents conceptes del temari, ja que han esdevingut conceptes benchmark.

Page 16: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

11

RESUM

En aquesta primera sessió només es pretén que es conegui l’origen de la intel·ligència artificial i quines són les àrees associades a la intel·ligència artificial.

Page 17: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

12

Page 18: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

13

SESSIÓ 2: Exemples dins de la IA Nom: Exemples dins de la IA – INTRODUCCIÓ (2/2) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Ginsberg1993]

PRECEDENTS En la sessió anterior s’han vist els orígens de la IA i les àrees de coneixement que han anat configurant el que coneixem per intel·ligència artificial. Com vam poder veure, bona part d’aquestes àrees han sorgit de la necessitat de resoldre certs problemes o aplicacions considerades benchmarks. En aquesta sessió veurem aquests problemes o exemples habitualment usats dins de la IA.

OBJECTIUS L’objectiu d’aquesta sessió serà la de familiaritzar-nos amb els problemes (exemples) que habitualment s’usen per avaluar i comparar els diferents mètodes i/o algorismes de la intel·ligència artificial.

CONTINGUTS En aquesta sessió presentarem les diferents característiques del exemples més utilitzats, dins de la IA, per tal d’avaluar i comparar els diferents mètodes. Estudiarem aquests exemples bàsicament des de dos punts de vista: com influencia l’algorisme de cerca i com influencia la representació del coneixement en el moment de resoldre un problema. Al mateix temps, aquests exemples ens ajudaran a anar introduint diferents conceptes que utilitzarem al llarg de l’assignatura.

1.2. Exemples dins de la Intel·ligència Artificial

1.2.1. Cerca - Jocs Típicament, el fet de dissenyar un programa que sigui capaç de “jugar a escacs” s’ha considerat “intel·ligent”. Així doncs, els escacs i altres jocs amb característiques similars s’han convertit problemes típics dins de la IA. A continuació, ens centrem en dos jocs: els escacs (chess) i el backgammon.

Page 19: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

14

Escacs

El joc d’escacs permet veure amb claredat el paper de la cerca heurística i el compromís entre el nivell base (base-level) i el meta nivell (metalevel). Quan un jugador ha de realitzar una jugada hauria d’analitzar un espai de cerca molt gran de jugades i contra-jugades (les que suposadament farà en el millor dels casos l’adversari) per tal de decidir quin moviment el beneficia més. Aquest espai de cerca esdevé NP-Hard, per tant, és molt necessari usar el coneixement del domini per tal de dissenyar unes bones heurístiques que permetin reduir l’espai de cerca (vegeu [Ginsberg1993], pàgines 27-28). Al mateix temps, s’ha d’analitzar una qüestió d’estratègia. Què convé més: dedicar temps a analitzar el com resoldre el problema (meta nivell), o bé dedicar el temps a explorar l’espai de cerca intentant resoldre el problema (nivell base). Aquest compromís esdevindrà clau al llarg de molts problemes (vegeu [Ginsberg1993], pàgina 28).

[Ginsberg1993]p31-p32

Backgammon

En el backgammon cada jugada pot arribar a tenir moltes possibilitats a analitzar. És a dir, si analitzem l’espai de cerca en forma d’arbre de cerca i ens trobem en un node donat, tenim que el factor de branqueig pot arribar a esdevenir molt elevat. Per aquest motiu ens convindrà usar un conjunt de meta heurístiques (meta nivell) per tal de decidir quina porció de l’espai de cerca –quines branques– explorem.

[Ginsberg1993]p32-p33

1.2.2. Cerca - Trobar un camí cap a l’objectiu Hi ha molts problemes de cerca que tenen unes característiques comunes: es coneix l’estat inicial i l’estat objectiu, de tal manera que la solució consisteix a trobar el camí que uneixi l’inici amb l’objectiu. En aquest tipus de problemes es posa en evidència el fet d’escollir si convé més fer cerca cap endavant (buscar el camí començant per l’estat inicial fins a arribar a l’estat final), o bé fer cerca cap endarrere (buscar el camí partint de l’objectiu retrocedint fins a arribar a l’estat inicial). Al mateix temps, són problemes que també podrien permetre el fet de realitzar cerca bidireccional (és a dir, començar al mateix temps una cerca cap endavant i una cerca cap endarrere fins que ambdues es trobin, tot i que poden no trobar-se). Així doncs, aquests exemples els citarem força en el capítol de Resolució de problemes – Cerca.

Page 20: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

15

Missioners i caníbals

La característica més rellevant d’aquest problema és que l’espai de cerca és idèntic tant si es busca el camí fent cerca cap endavant com si es busca el camí fent cerca cap endarrere. Per tant, quin tipus de cerca convé realitzar? D’altra banda, podem veure que és un problema en el qual no importa diferenciar els missioners entre ells ni els caníbals entre ells, ja que el que convé és tan sols analitzar que el nombre de caníbals no superi en tot moment del nombre de missioners. Això ens ha de fer reflexionar sobre quin coneixement és rellevant o no en tot moment, amb la finalitat de reduir l’espai de cerca i, per tant, optimitzar l’algorisme de cerca.

[Ginsberg1993]p33-p34

Les torres d’Hanoi

Malgrat que el factor de branqueig d’aquest problema no sigui gaire elevat, la longitud de la solució sí que és molt gran. Per tant, això el converteix en un problema amb un espai de cerca que podria esdevenir intractable. La clau d’aquest problema es troba en el fet de plantejar el problema de manera recursiva. És a dir, pensem en el càlcul del factorial d’un número natural: tothom té clar que el factorial(N) = N*factorial(N-1). Així doncs, és molt fàcil de plantejar l’algorisme de cerca que resolgui les torres d’Hanoi, si pensem en col·locar el disc N, suposem que ja es col·locaran els N-1 blocs anteriors. La solució d’aquest problema la treballarem dins dels exercicis d’LISP que realitzarem en el capítol següent.

[Ginsberg1993]p34-p35

Trencaclosques amb una peça mòbil

Veurem, dins del capítol de Resolució de problemes – Cerca, que alguns algorismes de cerca heurística per tal de garantir de trobar la millor solució necessiten usar funcions heurístiques que subestimin la distància real que existeix per trobar la solució (també anomenades heurístiques admissibles). És a dir, que sempre donin un valor igual o menor que el que donaria l’heurística perfecta (aquella que sap quina és la distància real del node actual cap a la millor solució). Aquest problema permet presentar i avaluar una heurística que té aquestes propietats: la distància de Manhattan.

[Ginsberg1993]p35-p36

El cub de Rubik

El cub de Rubik és un clar problema amb una dificultat intractable, de tal manera que és difícil trobar heurístiques que siguin útils. Parlarem de les característiques d’aquest problema dins del tema de Cerca heurística.

Page 21: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

16

[Ginsberg1993]p36

1.2.3. Cerca - Senzillament trobar una solució En altres problemes de cerca la solució no és el camí que uneix l’estat inicial amb l’estat final, sinó que tan sols es coneix l’estat inicial i certes restriccions pròpies del problema. Llavors l’objectiu consisteix a trobar una solució (o totes les solucions). En aquest tipus de problemes només es pot realitzar cerca cap endavant. Un problema típic serien els mots encreuats (crossword-puzzle).

Criptoaritmètica

És un problema que fàcilment es podria resoldre usant cerca cega, però l’espai de cerca esdevindria immens. D’altra banda, és un problema en el qual fàcilment es poden usar les restriccions del problema amb la finalitat de reduir l’espai de cerca (cerca basada en restriccions).

[Ginsberg1993]p37

N-reines

El problema de les N-reines és el problema més típic per representar el que abans hem anomenat cerca basada en restriccions (Constraint-satisfaction problems, CSP). Aquest problema el treballarem dins dels exercicis d’LISP.

[Ginsberg1993]p37

El problema del taulell escapçat

El factor de branqueig d’aquest problema és molt elevat, però si hi combinem una adequada representació del coneixement esdevé molt senzill. Penseu en resoldre’l basant-vos en col·locar-hi peces de dòmino. Per tant, convé pensar en com resoldre els problemes.

[Ginsberg1993]p37-p38

1.2.4. Representació del coneixement Molts problemes són exemples típics dins de la IA atès que la representació del coneixement, i el raonament associat, són clau per tal d’obtenir la solució.

Page 22: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

17

Herència

El problema de l’herència esdevé clau i força a modificar els mètodes de representació del coneixement i, per tant, els mètodes de raonament. Suposem que tenim el món que és descrit per les declaracions següents: 1. Els OCELLS volen. 2. Els ESTRUÇOS no volen. 3. Els ESTRUÇOS són OCELLS. 4. En TWEETY és un OCELL. 5. En TWEETY és un ESTRUÇ. Arribats en aquest punt és quan ens hem de preguntar: en TWEETY vola? Podem observar que depenent de la representació del coneixement –i del raonament que usem- la resposta pot ser molt diferent, i no sempre fidel a la realitat. D’altra banda, aquest problema també ens introdueix un nou concepte: convé que els mètodes de raonament siguin capaços d’usar el sentit comú (commonsense knowledge), un propòsit ben difícil d’assolir!

[Ginsberg1993]p40-p41

Missioners i caníbals

Si reconsiderem de nou el problema dels missioners i dels caníbals des de la perspectiva de la representació del coneixement, podem observar que de nou apareix el problema del sentit comú. Imagineu que tenim més informació sobre l’entorn d’on es desenvolupa el problema (del riu, de la barca, de la zona geogràfica, del temps, etc.). En aquest cas és possible que la millor solució que hem obtingut abans –únicament des d’una perspectiva de cerca–, deixi de tenir sentit: per exemple si ens diuen que a 500 metres hi ha un pont en perfecte estat.

[Ginsberg1993]p42

El món dels blocs

El món dels blocs és un exemple que il·lustra la majoria dels problemes de planificació. Són problemes en els quals és tan necessària la representació del coneixement com una nova família d’algorismes de cerca.

[Ginsberg1993]p42

RESUM

En aquesta sessió s’han presentat un conjunt de problemes que s’usen contínuament dins del paradigma de la intel·ligència artificial per tal de mostrar les limitacions amb

Page 23: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

18

les quals ens podem trobar i explicar, d’aquesta manera, els mètodes que les saben tractar. No només anirem fent referència a aquests problemes al llarg del curs, sinó que alguns d’ells els treballarem com a exercicis del llenguatge de programació LISP.

Page 24: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

19

SESSIÓ 3: Introducció al LISP (1/4) Nom: Introducció al LISP (1/4) Tipus: teòrico-pràctica Format: no presencial Durada: 2 hores Dedicació: 3 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Golobardes2002a]

o Bibliografia complementària: [Steele1990]

o Recursos de programari i de maquinari: CommonLISP – UNIX

PRECEDENTS Al llarg de la carrera heu estat treballant principalment amb els llenguatges de programació anomenats imperatius, com per exemple el PASCAL, el C, el C++, el JAVA, etc. D’altra banda, a l’assignatura de Lògica matemàtica vau conèixer el llenguatge de programació lògic PROLOG. En els orígens de la intel·ligència artificial molts problemes es van desenvolupar usant una filosofia funcional, i els primers programes com l’ELISA, o bé el MYCIN es van implementar en LISP. Així doncs, malgrat que intel·ligència artificial no és sinònim d’LISP, sí que convé conèixer la filosofia dels llenguatges funcionals, per poder comprendre en tot moment quin d’aquests tres grans paradigmes –imperatiu, lògic o funcional– és el més adequat per a la resolució d’un problema.

OBJECTIUS L’objectiu d’aquestes sessions que comprenen el tema d’Introducció al LISP és el de donar a conèixer a l’estudiant unes nocions bàsiques d’un llenguatge funcional –podríem dir que el més usat de tots–. Aquestes sessions es realitzaran davant del mateix entorn: l’intèrpret del Common LISP. Per tant, les diferents sessions conjuntament amb la documentació de LISP – Intel·ligència Artificial ajudaran a l’estudiant a adquirir aquestes nocions bàsiques. L’objectiu d’aquesta primera sessió d’introducció al LISP consisteix a conèixer l’intèrpret i les principals primitives del llenguatge.

CONTINGUTS En aquesta sessió farem una primera introducció al llenguatge de programació LISP: concepte de llenguatge funcional, l’entorn Common LISP, veurem els tipus de dades i les estructures predefinides pels usuaris i les principals funcions primitives. És convenient anar avançant en aquestes sessions a mesura que sobre l’intèrpret de Common LISP es van provant les instruccions del document de LISP – Intel·ligència Artificial.

Page 25: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

20

2. Introducció al LISP

2.1. Introducció al LISP

2.1.1. Introducció: LISP i els llenguatges funcionals El sistema de programació LISP –sigles d’LISt Processor– va ser desenvolupat pel grup d'Intel·ligència Artificial de la M.I.T. El requeriment principal que es demanava era un sistema de programació per a la manipulació d'expressions representant sentències declaratives i imperatives de manera que el sistema pogués extreure'n deduccions. LISP va evolucionar cap a un llenguatge funcional recursiu.

Els llenguatges imperatius

Els llenguatges imperatius es caracteritzen per tenir un estat implícit que és modificat per les comandes del llenguatge de programació. Com a resultat aquests llenguatges solen tenir una notació seqüencial per permetre un control precís i determinístic sobre l'estat. La majoria de llenguatges són imperatius: PASCAL, C. C++, JAVA, etc.

[Golobardes2002a]p4

Els llenguatges lògics

D'altra banda els llenguatges declaratius o lògics es caracteritzen per no tenir cap estat implícit. En particular, els llenguatges funcionals són llenguatges declaratius on el model de computació és la funció. En un llenguatge declaratiu les computacions orientades a estat s'han de controlar mantenint l'estat de forma implícita i les operacions de bucle s'han de realitzar mitjançant recursivitat en lloc de seqüencialitat.

[Golobardes2002a]p4

Sistema de programació funcional

Un sistema de programació funcional es fonamenta en l'ús d'un conjunt fix de formes (forms) combinades, anomenat formes funcionals. Aquestes formes i les definicions simples ens permeten de formar altres funcions a partir de les existents; no s'utilitzen variables o regles de substitució.

[Golobardes2002a]p4

Els llenguatges funcionals

El primer llenguatge funcional, Lambda Calculus, fou desenvolupat per Church (1932-33,1941). Tot i que és considerat el primer llenguatge funcional, cal tenir en

Page 26: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

21

compte que en aquell moment no hi havia computadors on poder executar els programes, però es considera que tots els altres llenguatges funcionals són evolucions d’Lambda Calculus. La idea de Church era crear una forma de càlcul que pogués representar el comportament de les funcions. Una de les principals aportacions d’Lambda Calculus va ser la recursivitat. Llenguatges com LISP, Iswim, FP, APL, ML i Miranda són evolucions d’Lambda Calculus. Tots ells partien en essència d'aquest primer llenguatge, tot i que finalment en alguns d'ells hi juga un paper molt petit.

[Golobardes2002a]p4

2.1.2. Com usar l’intèrpret de Common LISP? Coneixerem el llenguatge de programació LISP usant l’entorn de Common LISP. Concretament ens basarem en la versió de Common LISP instal·lada a les màquines UNIX d’Enginyeria i Arquitectura La Salle, a les quals teniu accés. Aquesta versió és la més estàndard que existeix. Existeixen d’altres entorns LISP, i també existeixen versions per a PCs. Tant les unes com les altres poden diferir del l’entorn que nosaltres usem. Per aquest motiu el document segueix fidelment un entorn concret, per tal de no perdre’ns en detalls anecdòtics pel que fa la pròpia programació funcional.

Common LISP

A les primeres pàgines del document LISP – Intel·ligència Artificial se us indica com entrar a l’entorn, carregar un fitxer, editar un fitxer, o bé sortir de l’intèrpret LISP.

[Golobardes2002a]p4-p5

2.1.3. Tipus de dades i estructures definides pels usuaris Els tipus de dades en el llenguatge LISP s'anomenen expressions, les quals es poden dividir en àtoms i en llistes. Els àtoms es composen de números i de símbols, on els números poden ser enters, racionals, reals o complexos.

Àtoms

Els objectes indivisibles, com per exemple, 56, 2, *, que tenen un significat propi, així com també els noms de les variables i de les funcions s'anomenen àtoms.

[Golobardes2002a]p5

Page 27: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

22

Llistes

Una llista està composta per un parèntesi obert, seguit de cap o més àtoms o llistes internes, i per un parèntesi tancat. Els components d'una llista s'anomenen elements i és l'espai en blanc el que fa de separador entre ells. Un tipus especial de llistes seran les anomenades llistes impròpies.

[Golobardes2002a]p6

2.1.4. Funcions primitives Els següents conceptes ens ajudaran a conèixer les principals funcions primitives del LISP, a partir de les quals podrem dissenyar funcions (o bé programes) en LISP.

QUOTE

La funció QUOTE també s'expressa amb ‘ i provoca la no avaluació per part de l’intèrpret d’LISP de l'objecte que la segueix.

Vegeu [Golobardes2002a]p6

SETF i SETQ

Les funcions SETF i SETQ s'encarreguen d'assignar un valor a una variable simbòlica. A primer cop d’ull potser no s’aprecia la seva diferència, però convé treballar-la perquè l’ús d’una o de l’altra pot ser clau en algunes situacions.

Vegeu els exemples que es mostren a [Golobardes2002a]p6-p7

CAR/FIRST i CDR/REST

Les funcions CAR/FIRST retornen el primer element de la llista passada com a argument, mentre que –complementàriament– les funcions CDR/REST retornen la llista que li passem, excepte el primer element.

Vegeu [Golobardes2002a]p7

EVAL

La primitiva EVAL provoca l'avaluació del seu argument i del resultat d'aquest. Serà molt útil dins de la filosofia LISP.

Treballeu els exemples que es proposen a [Golobardes2002a]p7

Page 28: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

23

CONS

La funció CONS servirà per crear una nova cel·la per encadenar un element al cap de la llista que li passem. Si el segon argument es un àtom, es crea una llista impròpia (dotted list).

Vegeu [Golobardes2002a]p8

APPEND

La funció APPEND ajunta els elements de totes les llistes que té com a arguments en una única llista. Val a dir que tots els seus arguments, excepte l'últim, han de ser llistes.

Vegeu els diferents exemples a [Golobardes2002a]p8

LIST

La primitiva LIST construeix una llista amb els arguments que li passem, de tal manera que cadascun d'aquests passa a ser un element de la nova llista.

Vegeu [Golobardes2002a]p8-p9

NTHCDR, BUTLAST i LAST

A diferència de les funcions CDR/REST, la funció NTHCDR retorna no només la resta de la llista sense el primer element, sinó la resta de la llista menys els n primers elements, valor que se li passa com a primer paràmetre. En canvi, la funció BUTLAST actua com a complementària de l'anterior, de manera que el que fa és truncar la llista per als n darrers elements, on n és el segon dels paràmetres que li passem. D’altra banda, la primitiva LAST retorna una llista composta per l'últim element de la llista que li passem com a paràmetre.

Vegeu [Golobardes2002a]p9-p10

LENGTH

La funció LENGTH compta el nombre d'elements que conté una llista, tant si els elements són atòmics com altres si són altres llistes.

Vegeu [Golobardes2002a]p10

Page 29: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

24

REVERSE

La funció REVERSE construeix el revessat d'una llista d'elements.

Vegeu els exemples següents [Golobardes2002a]p10

ASSOC

La primitiva ASSOC permet treballar amb les a-list, que són llistes de subllistes, on el primer element de cadascuna és la clau per recuperar la resta de la subllista; la seva funció és la d'obtenir el/s valor/s associat/s a una d'aquestes claus.

[Golobardes2002a]p10

Operacions aritmètiques

LISP té una gran varietat de primitives que ofereixen diferents operacions aritmètiques (com +, –, *, /) i diferents maneres de trucar o bé d’oferir la resta (com FLOOR, CEILING, ROUND, REM i TRUNCATE). Totes elles s’usen tipus prefix.

Podeu treballar-les seguint [Golobardes2002a]p11-p13

Funcions matemàtiques

LISP també disposa de diferents primitives, les quals ofereixen operacions aritmètiques molt específiques. Concretament treballarem: INCF, DECF, SQRT i EXPT.

[Golobardes2002a]p13-p15

Funcions de comparació

LISP disposa de funcions de comparació molt específiques per als diferents tipus d’elements que el constitueixen: =, EQ, EQL, EQUAL, MEMBER, ZEROP, PLUSP, MINUSP, EVENP, ODDP, >, <, ATOM, NUMBERP, SYMBOLP, LISTP. Convé treballar-les molt detingudament per analitzar les seves diferències, ja que en algun moment poden ser crítiques.

Seguiu detingudament [Golobardes2002a]p15-p20

Exercicis d’igualtat – Exercici1 i exercici 2

Us proposem en el document LISP –Intel·ligència Artificial un parell d’exercicis per tal de treballar els diferents operadors d’igualtat.

Page 30: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

25

Vegeu [Golobardes2002a]p15-p17

RESUM

Aquesta sessió ofereix una introducció a les primitives bàsiques d’LISP, les quals convé anar treballant –in situ– jugant amb l’intèrpret del Common LISP. A la següent sessió ja començarem a dissenyar funcions usant el llenguatge LISP.

Page 31: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

26

Page 32: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

27

SESSIÓ 4: Introducció al LISP (2/4) Nom: Introducció al LISP (2/4) Tipus: teòrico-pràctica Format: no presencial Durada: 2 hores Dedicació: 2,5 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Golobardes2002a]

o Bibliografia complementària: [Steele1990]

o Recursos de programari i de maquinari: CommonLISP - UNIX

PRECEDENTS A la sessió anterior vam establir una primera presa de contacte amb l’entorn del Common LISP. També vam veure les principals primitives del llenguatge LISP.

OBJECTIUS En aquesta sessió aprendrem a dissenyar funcions en LISP, explotant la seva capacitat recursiva. De la mateixa manera que la sessió anterior, convé anar seguint el document LISP – Intel·ligència Artificial amb el propi intèrpret de Common LISP. Així doncs, aquesta és de nou una sessió en la qual s’aprèn el llenguatge LISP d’una manera pràctica.

CONTINGUTS Tots els continguts d’aquestes sessió estan recollits al document LISP – Intel·ligència Artificial . Es centraran al voltant dels disseny de les funcions recursives tan pròpies dels llenguatges funcionals. Al llarg de la sessió es proposaran alguns exemples-pràctiques, que, malgrat que no és obligatori lliurar-los, sí que es recomana que es facin per a la bona comprensió de les sessions i del llenguatge LISP.

2.1.5. Els predicats i els condicionals Un predicat és un procediment que retorna un valor booleà, és a dir, veritat (true, T) o mentida (false, NIL). Les diferents estructures condicionals que veurem es basen en predicats per tal de decidir quin camí seguiran al llarg de l’execució d’un algorisme. Concretament veurem les estructures condicionals següents: IF, WHEN, UNLESS, COND i CASE.

Seguirem els exemples següents [Golobardes2002a]p22-p24

Page 33: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

28

IF

La seva estructura està formada per la paraula reservada IF seguida de la condició – predicat– que es vol avaluar i de dues opcions, la primera de les quals s'avalua si la condició és certa, mentre que la segona s'avalua si és falsa.

Vegeu els exemples següents [Golobardes2002a]p22

WHEN

La forma condicional WHEN s'utilitza en comptes d'un IF sempre que les operacions de l'else siguin inexistents.

Vegeu els exemples següents [Golobardes2002a]p22

UNLESS

L’UNLESS s'usa per substituir l'estructura d'un IF en el cas contrari del WHEN, és a dir, quan les operacions que s'han de realitzar, si la condició és certa, són inexistents. Podeu observar que tant el WHEN com l’UNLESS poden tenir un nombre indeterminat d'arguments, el primer dels quals és sempre la condició que cal comprovar i l'últim, les operacions a realitzar en cada cas. Els altres arguments s'avaluen només com a efectes laterals.

Vegeu els exemples següents [Golobardes2002a]p23

COND

Amb la instrucció condicional COND podem fer una tria entre un grup d'alternatives. La seva estructura és la paraula COND seguida per un conjunt de llistes anomenades clauses. El seu funcionament es basa en l'avaluació de cada condició fins que trobi algun valor que sigui ``no-NIL''; llavors interpreta les operacions que té associades. El valor que retorna és el de l'última d'aquestes operacions, de tal manera que si n'existeixen d'altres anteriors només es consideren per als efectes laterals.

Vegeu els exemples següents [Golobardes2002a]p23-p24

CASE

L'estructura d’aquest condicional està formada per la paraula reservada CASE seguida per una clau i un nombre indeterminat de clàusules. El seu funcionament consisteix a anar comparant la clau principal amb les altres seguint la primitiva EQL. Si troba algun cas que retorni cert, llavors s'avalua/en la/es operació/ons que la segueix/en.

Page 34: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

29

Vegeu els exemples següents [Golobardes2002a]p24

2.1.6. Definició de noves funcions Tot llenguatge funcional basa la construcció dels algorismes en la definició de funcions. Coneguem tot seguit la seva sintaxi.

DEFUN

En LISP disposem d'una primitiva especial DEFUN (DEfine FUNction) que ens permetrà definir les nostres pròpies funcions. La seva estructura és: (DEFUN <nom_funció> (<paràmetres>) <cos_de_la_funció>).

Vegeu [Golobardes2002a]p4-p25

2.1.7. La recursivitat La capacitat de la crida recursiva d'un procediment dins de la seva pròpia definició és una de les capacitats més característiques dels llenguatges funcionals. De fet existeixen màquines LISP que no segueixen l’estructura Von Newmann sinó que són completament recursives. Treballem el concepte de la recursivitat amb els exercicis següents.

Vegeu [Golobardes2002a]p25

Exercici 3: la funció del factorial

Implementeu –de manera recursiva– la funció del factorial. Recordem la seva definició: FACTORIAL(n) = FACTORIAL(n-1) * n; per n >= 0

Exercici 4: la funció de Fibonacci

Implementeu –de manera recursiva– la funció de Fibonacci. Recordem la seva definició: FIBONACCI(x) = FIBONACCI(x-1) + FIBONACCI(x-2), per x>1 FIBONACCI(0) = 1 FIBONACCI(1) = 1

Page 35: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

30

2.1.8. Definició de variables locals El llenguatge LISP també permet la declaració de variables d’àmbit local. Com als altres paradigmes de programació és convenient l’ús de variables locals enfront de les variables globals.

LET

La primitiva LET ens permet declarar diverses variables locals dins de l'àmbit determinat pels seus parèntesis.

Vegeu [Golobardes2002a]p25-p26

2.1.9. Les funcions MAP El procés de mapping és un mètode per veure com evoluciona l'avaluació d'alguna expressió i la seva utilitat recau en l'aplicació d'una funció a cada element d'una llista o subllista. El bon ús d’aquestes estructures és una de les principals aportacions dels llenguatges funcionals. Llenguatges de programació funcionals, com per exemple MIRANDA, permeten, fins i tot, l’avaluació de “llistes infinites”.

MAPCAR

La primitiva MAPCAR té com a arguments una funció més tantes llistes com arguments té aquesta funció. Si només té un argument, aplica la funció a tots els elements de la llista que li passem com a argument: (nom_funció (CAR llista)), (nom_funció (CAR (CDR llista))), ... De forma anàloga, si té dos arguments: (nom_funció (CAR llista1) (CAR llista2)), (nom_funció (CAR (CDR llista1)) (CAR (CDR llista2))), ... fins que una de les dues llistes estigui buida, i així en general per a n arguments.

Vegeu [Golobardes2002a]p26

Exercici 5: la funció del revessat_total

Definiu la funció revessat_total per tal que revessi completament qualsevol llista d'elements. Si els arguments que se li passen no són correctes ha de retornar NIL, però en cap cas ERROR. Dissenyeu-la usant la primitiva MAPCAR.

Vegeu exemples del comportament que ha de tenir a [Golobardes2002a]p26

Page 36: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

31

2.1.10. La funció LAMBDA De la mateixa manera que estem habituats a tenir variables d’àmbit local, LISP també permet la definició de funcions d’àmbit local. De fet, així va néixer el llenguatge Lambda Calculus, mare dels llenguatges funcionals.

LAMBDA

Amb aquest tipus de funció es poden definir procediments anònims, és a dir, es descriu una funció sense assignar-li un nom. La seva estructura és molt semblant a la de la definició amb la primitiva DEFUN: (LAMBDA <paràmetres> <cos_de_la_funció>). Per cridar aquest tipus de funcions, s’acostuma a posar la definició en el lloc on tindríem el nom d'un procediment. Això ens serà útil si només s'ha d'utilitzar un cop. Si convé cridar-la en diversos llocs, serà millor definir-la amb un DEFUN.

Vegeu [Golobardes2002a]p27

2.1.11. Tipus de paràmetres: opcionals, restants i claus Els paràmetres d'un procediment són variables lligades a ell, als quals se'ls assigna un valor inicial. Parlarem de tres tipus de paràmetres que ofereix el llenguatge LISP: opcionals, restants i claus.

Paràmetres opcionals

Els paràmetres opcionals són aquells que es poden o no especificar en el moment de la crida a la funció. La seva definició comença per l'expressió &OPTIONAL, així per exemple, podem definir una funció que, si li passem dos paràmetres, ens retornarà la seva suma, i si li’n passem tres, el resultat és la resta d'aquest darrer sobre l'anterior suma. Si no s’usen els paràmetres opcionals, la funció els assigna el valor de NIL.

Vegeu els exemples que podeu trobar a [Golobardes2002a]p27

Paràmetres restants

Els paràmetres restants s’indiquen amb la paraula clau &REST. Assigna en una llista tots els valors de la resta d’arguments que se li passi.

Vegeu [Golobardes2002a]p27-p28

Paràmetres clau

Page 37: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

32

Els paràmetres clau s'utilitzen quan tenim diversos paràmetres, molts dels quals s'assignen a valors per defecte. S'indiquen amb la paraula reservada &KEY. Quan es crida la funció, s'indiquen aquests paràmetres amb dos punts seguits del nom i del valor que se li assigni. Val a dir que els tres tipus de paràmetres que hem estat treballant –opcionals, restants i clau– es poden usar a la vegada seguint l’ordre següent: en primer lloc, els paràmetres regulars, després els opcionals, seguits d’un únic paràmetre restant i, finalment, els paràmetres clau.

Vegeu [Golobardes2002a]p28

RESUM

El tema central d’aquesta sessió ha estat les funcions i aquells conceptes que l’envolten. D’altra banda, s’ha volgut treballar la complicitat que hi ha entre el disseny d’una funció en un llenguatge funcional i la recursivitat. Així doncs, al llarg de la sessió s’ha proposat d’implementar algunes funcions força conegudes de manera recursiva.

Page 38: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

33

SESSIÓ 5: Introducció al LISP (3/4) Nom: Introducció al LISP (3/4) Tipus: teòrico-pràctica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Golobardes2002a]

o Bibliografia complementària: [Steele1990]

o Recursos de programari i de maquinari: CommonLISP - UNIX

PRECEDENTS A la sessió anterior vam veure les funcions i la recursivitat.

OBJECTIUS En aquesta sessió veurem com crear noves estructures, com tractar les entrades i les sortides i com tractar els algorismes iteratius (tot i que el disseny recursiu ha de ser la primera opció). De la mateixa manera que en les sessions anteriors, convé anar seguint el document LISP – Intel·ligència Artificial amb el propi intèrpret de Common LISP. Així doncs, esdevé de nou una sessió en la qual s’aprèn el llenguatge LISP d’una manera pràctica.

CONTINGUTS Tots els continguts d’aquestes sessió estan recollits al document LISP – Intel·ligència Artificial. En aquesta sessió veurem: la creació de noves estructures, la funció GET, les iteracions, les macros, la lectura i l’escriptura i, en darrer lloc, algunes eines de depuració.

2.1.12. Creació de noves estructures La creació de noves estructures facilita l’abstracció de les dades. Vegem de quina manera el Common LISP ens permet crear-les i gestionar-les.

Seguirem els exemples següents [Golobardes2002a]p29-p31

Construcció

La primitiva DEFSTRUCT ens permet crear noves estructures. Aquesta primitiva no crea instàncies, sinó que automatitza la creació d’un procediment constructor de dades, que s’escriu com la combinació de MAKE-NomEstructura. Per tal d’usar-lo

Page 39: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

34

ens ajudarem de la primitiva SETF, que és la que realment crearà una instància del tipus d’aquesta nova estructura.

Vegeu la forma genèrica del DEFSTRUCT i com usar el MAKE- en els exemples següents [Golobardes2002a]p28-p30

Modificacions

Per modificar els valors dels camps que té la nova estructura, ens ajudarem de la primitiva SETF. Cal preveure des de bon principi tots els camps que tindrà la nova estructura, ja que un cop creada no se’n podran afegir de nous.

Vegeu com realitzar modificacions dels camps usant el SETF a [Golobardes2002a]p28-p30

Consultes

Al crear una nova estructura també es creen automàticament els mecanismes associats a ella per realitzar els diferents tipus de consulta: 1. Predicat que consulti si una certa variable és del nou tipus de dades creat: NomEstructura-P 2. Consulta d’un camp d’aquesta nova estructura: NomEstructura-NomCamp. 3. Consulta d’una variable d’algun tipus d’estructura: DESCRIBE.

Vegeu exemples de consultes sobre estructures a [Golobardes2002a]p28-p30

2.1.13. Estructures propietat-valor Les primitives SETF, GET i REMPROP ens permetran treballar amb estructures de dades propietat-valor, les quals seran força útils en les representacions basades en frames que veurem en el capítol de Representació del coneixement – Raonament.

SETF i GET

La primitiva GET permet recuperar el valor assignat a una propietat associada a un símbol. S’usa de la manera següent: (GET <símbol> <nom_propietat>). Per assignar una propietat i un valor de propietat a un símbol, s’usa la funció SETF, de tal manera que: (SETF (GET <símbol> <nom_propietat>) <valor_propietat>). D’aquesta manera, el primer cop que usem aquesta sentència amb un símbol i amb una propietat particular, el que fem és crear aquesta propietat associada al símbol. Per tant, SETF esdevé un procés constructor i un procés d’escriptura.

Vegeu [Golobardes2002a]p30

Page 40: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

35

REMPROP

La primitiva REMPROP permet esborrar una propietat. Cal tenir present que aquesta primitiva té un efecte lateral: és destructora. Mentre que la majoria de les primitives LISP sempre són consultores i, per tant, no modifiquen els valors de les “variables”.

Vegeu i treballeu alguns exemples seguint [Golobardes2002a]p30

2.1.14. Iteracions Malgrat que els llenguatges funcionals tenen una filosofia “recursiva”, també trobem una sèrie de primitives que ens permeten dissenyar diferents estructures iteratives. Treballarem les primitives següents: DOTIMES, DOLIST, DO, LOOP i PROG.

Vegeu [Golobardes2002a]p31-34

DOTIMES – Exercici 6: Factorial_DOTIMES

La primitiva DOTIMES permet iterar un cert nombre de vegades. Es demana que implementeu la funció del factorial de manera iterativa i usant la primitiva DOTIMES. Recordem de nou la seva definició: FACTORIAL(n) = FACTORIAL(n-1) * n; per n >= 0

Vegeu la definició del DOTIMES a [Golobardes2002a]p31

DOLIST

La primitiva DOLIST ens permet iterar sobre els elements d’una llista donada. Vegeu la seva definició i un exemple a LISP – Intel·ligència Artificial (pàgines 31-32).

[Golobardes2002a]p31-p32

DO – Exercici 7: Factorial_DO

La primitiva DO s'usa per fer iteracions quan DOLIST i DOTIMES no són prou flexibles. En d'altres casos cal evitar-la perquè provoca una complicació innecessària quan es pot usar una de les dues anteriors. Vegeu l’estructura del DO a [Golobardes2002a] a les pàgines 32-33. Es proposa que implementeu –de nou– la funció del factorial de manera iterativa usant la primitiva DO.

Vegeu [Golobardes2002a]p32-p33

Page 41: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

36

LOOP

El funcionament de la primitiva LOOP és molt simple, consisteix a l'avaluació un i altre cop de les expressions que conté, fins que arriba a un RETURN, fet que l'obliga a retornar el valor de les seves avaluacions.

Vegeu la seva estructura i un exemple a [Golobardes2002a]p33

PROG1 i PROGN

Les primitives PROG1 i PROGN tracten les seqüències de forma explícita, de manera que avaluen totes les expressions, menys una, com a efectes laterals i retornen l'avaluació de la restant, la primera en el cas de PROG1 i l'última en el cas de PROGN.

Vegeu el seu ús a [Golobardes2002a]p33-p34

2.1.15. Macros Les macros, en un entorn LISP, actuen en dos passos: primer usen els seus arguments per construir expressions intermèdies i després avaluen aquestes expressions per produir un valor. Per definir aquest tipus de procediments s’usa la primitiva DEFMACRO.

DEFMACRO

És convenient que treballeu la primitiva DEFMACRO i comprengueu que s’usarà aquest tipus de definició –en comptes de la primitiva DEFUN- quan interessi que els efectes laterals no provoquin una avaluació incorrecta del procediment.

Vegeu [Golobardes2002a]p34-p35

L’apòstrof invertit: ` o BACKQUOTE

La tècnica de l’apòstrof invertit (`) o BACKQUOTE facilita crear i completar expressions com a “plantilles”, en les quals es poden posar variables. Així doncs, amb aquest mètode s’aconsegueix que cada cop que aparegui una coma (,) en una expressió iniciada per un apòstrof invertit, se substitueix la subexpressió que la segueix pel seu valor. Si la variable en qüestió conté una llista, caldrà que darrera de la ',' es posi el símbol @.

Vegeu alguns exemples del seu funcionament a [Golobardes2002a]p35

Page 42: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

37

2.1.16. Lectura i escriptura En aquest apartat tractarem diferents primitives que serveixen per a la lectura i l’escriptura de dades. Veurem primitives per llegir i escriure tant de pantalla (PRINT, READ i FORMAT) com de fitxer (WITH-OPEN-FILE).

PRINT

La primitiva PRINT avalua el seu argument i la imprimeix en una nova línia seguida d'un espai en blanc.

Vegeu [Golobardes2002a]p35-p36

READ

La primitiva READ espera que s'escrigui alguna cosa per al teclat.

Vegeu [Golobardes2002a]p36

FORMAT

La primitiva FORMAT permet escriure a pantalla amb un format més elegant. El primer paràmetre indica on volem que s'escrigui el missatge. Si el seu valor és t llavors s'escriu a pantalla. Dins d'aquesta primitiva disposem d'una directiva molt usada que és l' a, amb la qual s’indica que en aquell lloc s’escriu el valor de l'argument addicional que apareix darrera la cadena del format.

Vegeu [Golobardes2002a]p36

Exercici 8: les Torres d’Hanoi

Un mite ancestral diu que en un temple d’Hanoi el temps es registra pels monjos que s'ocupen de transferir 64 discs d'una estaca a una altra, d'un total de tres estaques. L'univers, tal i com el coneixem, s'acabarà quan acabin de fer la transferència. La raó per la qual no cal preocupar-nos és que els moviments dels discs estan restringits per les regles següents: - Només es pot moure un disc cada vegada. - Cada disc té un diàmetre diferent, i cap d’ells no es pot moure sobre un altre de més petit. - Inicialment tots els discs es troben sobre una mateixa estaca, i cada disc descansa sobre un de més gran. Implementeu una funció tal que escrigui les operacions necessàries per moure n discs d'una estaca A a una B tot utilitzant l'estaca C com a estaca de traspàs.

Page 43: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

38

Tingueu present la descripció recursiva del problema que vam veure en el capítol d’Introducció.

Vegeu [Golobardes2002a]p36

WITH-OPEN-FILE

La primitiva WITH-OPEN-FILE ens permet obrir fitxers per poder-hi escriure, o bé llegir.

Vegeu la seva definició a [Golobardes2002a]p37

2.1.17. Eines de depuració L'intèrpret d’LISP ens permet l'ús de diverses eines que ens ajudaran en la depuració i correcció dels nostres programes. Les eines que presentem són: TRACE, BREAK, TIME i DRIBBLE. D’altra banda, a nivell de programari, recordem que els comentaris, dins d’un codi LISP, s’inserten usant el símbol punt i coma (;) que indica a l'intèrpret que el que hi ha fins al final de línia no s'ha d'avaluar.

TRACE

La funció TRACE rep com a argument el nom de la funció que volem traçar. Un cop s'ha executat, cada vegada que es faci una crida a la funció especificada, l'intèrpret escriu a pantalla el nom de la funció i els paràmetres que ha rebut, així com les dades que retorna. Per desactivar la funció TRACE s'utilitza la funció UNTRACE.

Vegeu [Golobardes2002a]p38

BREAK

La funció BREAK atura l'avaluació. En aquest punt es pot avaluar qualsevol funció o variable visible en el moment de l'aturada. Per continuar l'execució només cal prémer la combinació de tecles <Ctrl-C>.

Vegeu [Golobardes2002a]p38-p39

TIME

La funció TIME ens permet saber quant temps triga en avaluar-se una funció.

Vegeu el seu ús a [Golobardes2002a]p39

Page 44: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

39

DRIBBLE

La funció DRIBBLE ens permet escriure una transcripció de la nostra interacció amb LISP. Cal donar-li el nom del fitxer de sortida. Per aturar l'escriptura cridarem la funció sense arguments.

Vegeu [Golobardes2002a]p39-p40

RESUM

En aquesta sessió s’ha volgut donar una visió més àmplia de les possibilitats del llenguatge LISP des d’aspectes ben diferents: conceptes iteratius, estructures de dades més complexes, entrada–sortida i algunes eines de depuració.

Page 45: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

40

Page 46: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

41

SESSIÓ 6: Introducció al LISP (4/4) Nom: Introducció al LISP (4/4) Tipus: pràctica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: sí Material:

o Bibliografia bàsica: [Golobardes2002b]

o Bibliografia complementària: [Golobardes2002a] [Steele1990]

o Recursos de programari i de maquinari: Common LISP – UNIX

PRECEDENTS En les sessions anteriors heu pogut veure una ràpida introducció al LISP. Ara en aquesta sessió necessitareu mostrar que teniu els coneixements ben apresos.

OBJECTIUS L’objectiu d’aquesta sessió és avaluar els vostres coneixements en Common LISP. Recordeu que la nota d’aquesta avaluació serà un 10% de la nota final de la part pràctica de l’assignatura. A més a més, aquesta part pràctica és obligatòria i s’ha d’aprovar.

CONTINGUTS En aquesta sessió anunciarem els diferents exercicis que heu de realitzar en Common LISP. Aquests exercicis s’hauran de lliurar en la data prevista. També podeu disposar el manual HTML de Common LISP (vegeu Common LISP – The Language) que heu utilitzat a mode de consulta durant les sessions anteriors d’Introducció al LISP.

2.2. Exercicis d’LISP

2.2.1. Exercicis a lliurar Tot seguit presentem els exercicis d’LISP que heu de lliurar en la data que es proposa.

DOCUMENT: EXERCICIS LISP – Intel·ligència artificial

On podeu trobar el document dels exercicis a lliurar? El document d’EXERCICIS LISP – Intel·ligència Artificial el trobareu a la carpeta de l’ecampus de l’assignatura d’intel·ligència artificial.

Page 47: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

42

Què hi ha en el document? 1. L’enunciat dels diferents exercicis a lliurar. Cal recordar que s’han d’implementar seguint –en la mesura que es pugui– la filosofia pròpia del LISP (recursivitat!). 2. En el document s’indica la data de lliurament dels exercicis, tot i que també la podeu trobar a l’agenda de l’assignatura. 3. En el document també s’indica on s’han de lliurar els exercicis i quina memòria es demana. Criteris de puntuació: 1. La memòria ha de tenir tots els punts que es demanen. 2. Recordeu que els exercicis d’LISP s’han de lliurar obligatòriament per aprovar l’assignatura, i la seva nota ha de ser superior a 5 per tal que s’acceptin. 3. Els exercicis lliurats fora de termini tindran una nota màxima de 5, i ja s’indicaran les possibles dates de lliurament. 4. Dins de la nota de pràctiques, els exercicis d’LISP compten un 10%. Recordeu que la part pràctica val el 70% de l’assignatura. Vegeu els criteris de puntuació de l’assignatura.

Vegeu [Golobardes2002b]

RESUM

En aquesta sessió s’ha presentat l’enunciat dels diferents exercicis d’LISP que s’han de lliurar. Mentre es realitzen aquests exercicis convé anar seguint les sessions de teoria.

Page 48: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

43

SESSIÓ 7: Cerca cega – CERCA (1/9) Nom: Cerca cega – CERCA (1/9) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 3 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Ginsberg1993] [Golobardes2002c]

PRECEDENTS En aquesta sessió es recordaran tant conceptes, ja vistos en el capítol d’Introducció, com dos algorismes que es consideren prou coneguts pels alumnes, ja que s’han vist en assignatures anteriors com PROGRAMACIÓ II.

OBJECTIUS En aquesta sessió es recordaran els conceptes de problema, espai de problema i cerca, els quals ens serviran per assentar les bases de qualsevol algorisme de cerca. D’altra banda, es presentaran els principals algorismes de cerca cega, és a dir, algorismes de cerca que no usen la informació/coneixement del domini en el moment de buscar la solució. Són algorismes que, per exemple, poden seguir algun ordre estructural de l’espai del problema. En aquest cas direm que són algorismes de cerca sistemàtica. Analitzarem els algorismes de cerca cega sistemàtica següents: cerca primer en profunditat (depth-first search) i cerca primer en amplada (breadth-first search). En la sessió següent presentarem altres algorismes de cerca cega que milloren les prestacions d’aquests algorismes bàsics.

CONTINGUTS En aquesta sessió es farà una Introducció a tot el capítol de Resolució de problemes – Cerca, veient els conceptes següents: problema, espai de cerca i cerca; tot recordant diferents tipus de cerca. També començarem el tema de Cerca cega. En aquesta sessió es recorden els algorismes –segurament ja coneguts per vosaltres– de cerca cega següents: cerca primer en profunditat i cerca primer en amplada. Tot seguit es compararà el comportament d’ambdós algorismes, tant pel que fa a cost com a memòria o comportament general.

Page 49: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

44

3. Resolució de problemes cerca

3.1. Introducció

3.1.1. Problemes, espai de cerca i cerca En el primer capítol de l’assignatura vam repassar una sèrie de problemes-exemple, dins de la intel·ligència artificial, ja vam poder apreciar que l’èxit de la resolució d’un problema pot estar ben lligat a la bona combinació de tres conceptes: el propi problema, l’espai de cerca que ofereix aquest problema –depenent de com es tracti–, i l’algorisme en qüestió de cerca. Al llarg d’aquest capítol veurem diferents algorismes de cerca i, donades unes condicions d’igualtat, intentarem comparar-los per tal d’analitzar els avantatges i inconvenients que ofereix cadascun d’ells, depenent de les característiques del problema.

Problemes

La manera en què es tracti un problema pot ser clau tant per reduir l’espai de cerca com per determinar un simple algorisme de cerca. Recordeu els exemples que vam veure a Essentials of Artificial Intelligence. Un cas ben extrem, i que exemplifica molt bé aquesta idea, és el problema dels 4 cavalls (vegeu el document de CERCA – Intel·ligència Artificial).

[Ginsberg1993]p18-p20

[Golobardes2002c]

Espai de cerca

L’espai de cerca, sobre el qual buscarem la solució a un problema donat, es pot representar de maneres molt diverses. Habitualment es representa en forma d’arbre o bé en forma de graf. Nosaltres, al llarg d’aquest capítol, presentarem els diferents algorismes suposant que l’espai de cerca és arborescent. Això ens simplificarà les comparacions entre els diferents algorismes, tot i que fàcilment els diferents algorismes presentats es poden reescriure suposant que l’espai de cerca és un graf.

[Ginsberg1993]p20-p23

Cerca

Proposem un esquema bàsic de cerca, a partir del qual anirem fent diferents modificacions, les quals ens portaran als diferents esquemes de cerca. De moment, suposarem que el factor de branqueig b és finit. També considerarem que anem generant l’espai de cerca a mesura que l’anem visitant.

Page 50: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

45

Algorisme: 1. Sigui L una llista amb els nodes inicials (configuracions inicials) del problema. En qualsevol moment, L és una llista amb els nodes que encara no han estat examinats pels algorismes. 2. Si L és buida, llavors acabeu. Si no, escolliu un node n d’L. 3. Si n és un node solució/objectiu/final (goal node), llavors pareu i retorneu-lo juntament amb el camí associat des del node inicial fins a ell. 4. Altrament, esborreu n de la llista L i afegiu a L tots els nodes fills d’n, etiquetant cada un amb el seu camí des del node inicial. 5. Retorneu a 2. Els punts següents són els que faran diferenciar un algorisme de cerca d’un altre i obtenim aleshores comportaments ben diferenciats: - Com s’escull n d’L? - Com es mira si n és un node objectiu? - Com es generen els nodes fills d’n (expansió d’n)? - [Com es verifica que un node no hagi estat generat anteriorment?]

Vegeu les transparències [Golobardes2002c]

Vegeu [Ginsberg1993]p20-p23

3.1.2. Tipus de cerca Fóra bo que féssim un breu repàs dels diferents tipus de cerca que hem anat veient fins ara: cerca cega versus cerca heurística; cerca sistemàtica versus cerca no sistemàtica; cerca cap endavant, cerca cap endarrere, cerca bidireccional i cerca amb adversari – jocs.

Cerca cega – Cerca heurística

Els algorismes de cerca cega (o cerca no informada) no usen la informació/coneixement del domini en el moment de buscar la solució. En general, això portarà a explorar un espai intractable i, per tant, aquest tipus d’esquemes no seran viables. L’alternativa –cerca heurística– consistirà en usar el coneixement del domini per tal de reduir l’espai de cerca que s’explorarà, amb el perill d’haver descartat la millor solució.

[Ginsberg1993]p23-p28

Cerca sistemàtica – Cerca no sistemàtica

La cerca sistemàtica són algorismes que segueixen algun ordre estructural de l’espai de cerca del problema en el moment de buscar la solució (independentment de si s’usa coneixement o no del domini). Per exemple: cerca primer en amplada i cerca primer en profunditat. Si ens trobem davant d’un espai de cerca molt gran, pot ser

Page 51: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

46

que aquest ordre ens porti a explorar durant molt de temps en una zona que no conté solucions al problema. En aquests casos podria ser interessant fer un salt a una altra zona de l’espai de cerca (algorismes de cerca no sistemàtica). Alerta amb els perills que això pot comportar! Per exemple: podem garantir trobar la millor solució si aquesta existeix i l’espai –malgrat ser molt gran– és finit?

[Ginsberg1993]p62

Cerca bidireccional

Tot algorisme podrà tenir, a grans trets, tres tipus de comportament: cerca cap endavant, cerca cap endarrere o bé cerca bidireccional. Tanmateix, no sempre serviran els diferents esquemes. Convé que estudieu els avantatges i inconvenients de cadascun d’ells, i la seva aplicabilitat.

[Ginsberg1993]p29-p31

Cerca amb adversari – Jocs

Problemes com els escacs necessiten ser resolts per altres esquemes de cerca. En aquests algorismes –anomenats cerca amb adversari o jocs– cada jugada (moviment o expansió de nodes) dependrà del que ha fet i del que potser farà l’adversari. En aquest capítol veurem, concretament, l’algorisme Minimax i la poda alfa-beta.

3.2. Cerca cega

3.2.1. Cerca primer en amplada En primer lloc, es faran unes hipòtesis inicials per tal de poder comparar els diferents algorismes de cerca que s’aniran presentat al llarg del tema de cerca cega. Tot seguit, ja s’introduirà l’algorisme de cerca primer en amplada, o bé de l’anglès, breadth-first search (BFS).

Hipòtesis inicials

En el moment de presentar i analitzar els diferents algorismes de cerca cega es tindran en compte les hipòtesis següents: 1. L’espai de cerca del problema és un arbre de cerca. 2. El factor de branqueig serà b. 3. L’arbre de cerca té una profunditat d. 4. L’espai de cerca té un node solució a la profunditat d. Evidentment, un problema qualsevol no té per què ser un arbre de cerca, sinó que en general serà un graf, ni té per què tenir un factor de branqueig constant, ni té per què

Page 52: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

47

tenir els nodes solució a la mateixa profunditat que la profunditat de l’arbre de cerca i ni tan sols –en general– es pot garantir que el problema tingui solució. Per tant, els diferents algorismes presentats s’hauran d’adaptar a aquestes circumstàncies.

[Ginsberg1993]p49

Algorisme cerca primer en amplada

Donat un arbre de cerca, l’algorisme cerca primer en amplada (Breadth-First Search o BFS), explora l’espai de cerca expandint els nodes de dalt a baix, és a dir, explora l’arbre arborescent per nivells. Algorisme: 1. Sigui L una llista amb els nodes inicials del problema. 2. Si L és buida, llavors acabeu. Si no, sigui n el primer node d’L. 3. Si n és el node objectiu, llavors pareu i retorneu-lo conjuntament amb el camí des del node inicial fins a ell. 4. Altrament, esborreu n d’L. 5. Expandiu n afegint tots els seus fills al final d’L. Cada fill estarà etiquetat amb el camí recorregut des del node inicial fins a ell. 6. Retorneu a 2.

[Ginsberg1993]p23-p26,p49-p52

[Golobardes2002c]

3.2.2. Cerca primer en profunditat Anàlogament a l’algorisme cerca primer en amplada és habitual contrastar-lo amb l’algorisme de cerca primer en profunditat, o també conegut com a backtracking. Estudiem-lo tot seguit.

Algorisme cerca primer en profunditat

Donat un arbre de cerca, l’algorisme cerca primer en profunditat (depth-first search o DFS), explora l’espai de cerca expandint els nodes d’esquerra a dreta, de tal manera que es tria una branca i es va fins al final, fins a la profunditat màxima. Algorisme: 1. Sigui L una llista amb els nodes inicials del problema. 2. Si L és buida, llavors acabaeu. Si no, sigui n el primer node d’L. 3. Si n és el node objectiu, llavors pareu i retorneu-lo conjuntament amb el camí des del node inicial fins a ell. 4. Altrament, esborreu n d’L. 5. Expandiu n afegint tots els seus fills al principi d’L. Cada fill estarà etiquetat amb el camí recorregut des del node inicial fins a ell. 6. Retorneu a 2.

Page 53: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

48

[Ginsberg1993]p23-p26,p52-p54

[Golobardes2002c]

3.2.3. Depth-first versus breadth-first search Tant l’algorisme primer en amplada com l’algorisme primer en profunditat tenen una sèrie d’avantatges i inconvenients que en un moment donat, depenent de la naturalesa del problema, pot convenir a un algorisme o bé l’altre. Per aquest motiu convé analitzar-los i comparar-los des de tres perspectives: cost, memòria i comportament. Vegeu [Ginsberg1993]p49-p56 i [Golobardes2002c]. La taula següent presenta un resum de les característiques d’ambdós algorismes estudiats:

RESUM

En aquesta sessió s’ha fet una introducció a tot el capítol que tracta la cerca i també s’han treballat –concretament– dos algorismes de cerca cega ben coneguts: cerca primer en amplada i cerca primer en profunditat. Aquests algorismes presenten dos tipus de cerca sistemàtica que serviran per analitzar i proposar els algorismes que es veuran al llarg d’aquest capítol i, fins i tot, al llarg del curs.

Page 54: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

49

SESSIÓ 8: Cerca cega – CERCA (2/9) Nom: Cerca cega – CERCA (2/9) Tipus: teòrica / pràctica Format: no presencial Durada: 2 hores Dedicació: 3 hores Treball a lliurar: opcional Material:

o Bibliografia bàsica: [Ginsberg1993] [Golobardes2002c]

o Bibliografia complementària: [Steele1990] [Golobardes2002a])

o Recursos de programari i de maquinari: Common LISP - UNIX

OBJECTIUS Davant de les limitacions dels algorismes de cerca primer en amplada i de cerca primer en profunditat que vam veure en la sessió anterior, en aquesta proposarem nous esquemes de cerca cega que intenten millorar els problemes anteriors.

CONTINGUTS En aquesta sessió veurem, en primer lloc, dos algorismes de cerca cega que intenten millorar les prestacions dels algorismes de cerca primer en profunditat i de cerca primer en amplada: Iterative Deepening search i iterative broadening search. D’altra banda, veurem com hauria de ser un algorisme de cerca davant d’un espai de cerca en forma de graf. Per finalitzar, implementarem en Common LISP els diferents algorismes de cerca cega vistos fins ara.

3.2.4. Iterative Deepening i broadening search Els algorismes Iterative Deepening search i iterative broadening search van ser proposats per en Rick Korf (1985) i per n’Einsberg & en Harvey (1990) respectivament. Aquests algorismes tenen com a primer objectiu mantenir un comportament que no caigui en infinitats (tant pel que fa a profunditat com pel que fa a amplada) i al mateix temps mantenir els costos lineals quant a memòria de l’algorisme de cerca primer en profunditat.

Algorisme Iterative Deepening search

L’algorisme Iterative Deepening search (IDS) utilitza un esquema de cerca primer en profunditat (DFS) però limitant la profunditat a la qual arribarà. Si una vegada s’ha explorat tot l'arbre fins aquella profunditat no s'ha trobat cap solució, s'augmenta la profunditat màxima fins a la qual es vol explorar i el procés torna a començar des del

Page 55: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

50

principi. Així es garanteix tenir un cost en memòria lineal i un comportament com l’algorisme del primer en amplada (és a dir, no caure en branques infinites). Algorisme: 1. Sigui c el valor de l’artificial depth cutoff (profunditat a la qual s’aturarà la cerca DFS). Inicialment el valor és 1. 2. Sigui L una llista amb els nodes inicials del problema. 3. Si L és buida i c=d, llavors acabeu. 4. Si L és buida però c<d, llavors s’incrementa c i es torna al pas 2 (l’algorisme recomença amb una c diferent). 5. Altrament, poseu n com el primer node de la llista L. 6. Si n és el node objectiu, llavors pareu i retorneu-lo conjuntament amb el camí des del node inicial fins a ell. 7. Si no, esborreu n d’L. 8. Si la profunditat d’n és més petita que c (d(n)<c), llavors expandiu n afegint tots els seus fills al principi d’L. Cada fill estarà etiquetat amb el camí recorregut des del node inicial fins a ell. 9. Retorneu a 3.

Vegeu [Ginsberg1993]p56-p60

Vegeu [Golobardes2002c]

Algorisme iterative broadening search

L’algorisme iterative broadening search també utilitza l’esquema d’un DFS però limitant el nombre de fills de cada nivell (amplada) que s'exploraran, en comptes de la profunditat. Si una vegada explorat tot el subarbre d'aquella amplada màxima no s'ha trobat cap solució, s'augmenta l'amplada màxima i el procés torna a començar des del principi. Algorisme: 1. Sigui c el valor de l’artificial breadth cutoff (amplada a la qual s’aturarà la cerca DFS). Inicialment el valor és 2. 2. Sigui L una llista amb els nodes inicials del problema. 3. Si L és buida i c=b, llavors acabeu. 4. Si L és buida però c<b, llavors s’incrementa c i es torna al pas 2 (l’algorisme recomença amb una c diferent). 5. Altrament, posar n com el primer node de la llista L. 6. Si n és el node objectiu, llavors pareu i retorneu-lo conjuntament amb el camí des del node inicial fins a ell. 7. Si no, esborreu n d’L. 8. Expandiu n tot generant només els primers c fills. Afegir aquests fills al principi d’L. Cada fill estarà etiquetat amb el camí recorregut des del node inicial fins a ell. 9. Retorneu a 3.

Vegeu [Ginsberg1993]p60-p62

Vegeu [Golobardes2002c]

Page 56: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

51

Comparativa

La taula següent mostra una comparativa –a tall de resum– entre l’algorisme d’Iterative Deepening search i l’algorisme d’iterative broadening search. És un resum a nivell d’objectius, requeriments de memòria, requeriments quant a temps i dels diferents problemes que poden presentar.

Vegeu [Ginsberg1993]p56–p62

Vegeu [Golobardes2002c]

3.2.5. Cerca sobre grafs Habitualment, dins l’espai de cerca d’un problema hi ha diferents situacions (o nodes) que es repeteixen. Davant d’aquestes situacions potser convindria analitzar un esquema de cerca que es basi en que l’espai de cerca és un graf (vegeu [Ginsberg1993]p63-p65). Nosaltres proposem un possible esquema en el concepte següent (vegeu [Golobardes2002c] ).

Algorisme cerca sobre grafs

Presentem un esquema més genèric de cerca quan l'espai de cerca no està estructurat en format arborescent, sinó que és un graf. En aquest cas, l'algorisme de cerca ha de ser adaptat de cara a no repetir nodes. Què utilitzarem? Oberts: Conjunt de nodes als quals hem arribat però encara no hem tractat. Tancats: Conjunt de nodes ja tractats. Són nodes que hauran passat d'oberts a tancats. I: Conjunt de nodes inicials des d'on es comença la cerca. Algorisme: acció CERCA_SOBRE_GRAF 1. oberts:=I; tancats:=cjt_buit; fi_procés:=fals;

Page 57: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

52

2. mentre (oberts != cjt_buit) i (no fi_procés) feu 2.1 n1:=primer(oberts); 2.2 tancats:=inseriu(tancats,n1); 2.3 si (solució(n1)) llavors 2.3.1 fi_procés:=cert; 2.3.2 tracteu_solució; /* Recostruiu cami */ 2.4 si no 2.4.1 per_a_tot n2 de succ(n1) feu 2.4.1.1 si no pertany(n2,unió(oberts,tancats)) 2.4.1.2 llavors oberts:=inseriu(oberts,n2); /* Marqueu antecessor */ 2.4.1.4 si no *1 2.4.1.5 fi_si 2.4.2 fi_per_a_tot 2.4.3 oberts:=reordeneu(oberts); 2.5 fi_si 3. fi_mentre 4. si no fi_procés 5. llavors /* No s'ha trobat una solució */ 6. fi_si fi_ acció *1 opció 1. cas pertany(n2,oberts) fer /* Reconstruiu el camí entre n2 i I pel camí existent i pel nou camí. Guardeu el més curt. */ 2. cas pertany(n2,tancats) fer /* Reconstruiu el camí entre n2 i I pel camí existent i pel nou camí. Guardeu el més curt. */ fi_opció

Vegeu [Golobardes2002c]

3.2.6. Exercicis de cerca cega amb LISP (optatius) Tot seguit es proposa que implementeu els diferents algorismes de cerca cega que hem estat treballant, usant el llenguatge LISP.

Enunciat

Implementeu en LISP els algorismes de cerca per trobar un node determinat dins d'un arbre. Donat un objectiu (número enter) cal trobar un node tal que la seva propietat COST sigui el més similar possible a l'objectiu. Retorneu una llista on el primer element sigui el node solució i el segon una subllista amb el camí. Implementeu els algorismes següents:

Page 58: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

53

a) Cerca primer en profunditat b) Cerca primer en amplada c) Iterative Deepening search d) iterative broadening search Per exemple, l'arbre de cerca es pot representar de la manera següent: - Cada node té tres propietats: FILLS, COST i CAMÍ ASSOCIAT. - La propietat fills del node n és una llista amb els noms dels fills d’n. - La propietat COST del node n, és un enter. - La propietat CAMÍ ASSOCIAT indica el camÍ que cal seguir per arribar al node. Exemple:

(setf (get 'A 'fills) '(B C) (get 'A 'cost) 1 (get 'B 'fills) '(D E) (get 'B 'cost) 2 (get 'C 'fills) '(F G) (get 'C 'cost) 3 (get 'D 'fills) '(H) (get 'D 'cost) 4 (get 'E 'fills) '() (get 'E 'cost) 5 (get 'F 'fills) '() (get 'F 'cost) 6 (get 'G 'fills) '() (get 'G 'cost) 7 (get 'H 'fills) '() (get 'H 'cost) 8 ) Per ordenar les llistes podeu utilitzar la funció SORT ja que permet ordenar la llista segons l'ordre que especifica la funció del segon paràmetre. Recordeu que la funció SORT modifica la llista que li doneu com a paràmetre (vegeu [Steele1990] ). Exemple: >(sort '(3 5 3 6 7) '(lambda (a b) (< (abs (- a 6)) (abs (- b 6))))) (6 5 7 3 3)

Page 59: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

54

; Ordena la llista segons la proximitat dels elements al número 6. Un exemple d'execució de l'algorisme cerca primer en profunditat seria: >(Cerca-profunditat 6 '(A)) A B D H E C F (F (A C F)) Per tant, s'han de retornar els nodes que visita l'algorisme, més una llista amb el NODE SOLUCIÓ i el CAMÍ RESULTAT.

RESUM

En aquesta sessió hem acabat de veure els principals algorismes de cerca cega. Convé que tingueu present els diferents comportaments que ofereix cadascun d’ells davant d’un espai de cerca donat.

Page 60: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

55

SESSIÓ 9: Heurístiques – CERCA (3/9) Nom: Heurístiques – Cerca com a maximització de funcions – CERCA (3/9) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: optatiu Material:

o Bibliografia bàsica: [Ginsberg1993] [Golobardes2002c]

o Bibliografia complementària: [Russell1995] [Steele1990] [Golobardes2002a]

o Recursos de programari i de maquinari: Common LISP - UNIX

OBJECTIUS Atès que els algorismes de cega són intractables per a una gran quantitat de problemes i atès que el seu cost és exponencial, convé reduir l’espai de cerca mitjançant heurístiques. Així doncs, presentarem una primera família de cerca heurística amb aquest propòsit.

CONTINGUTS En aquesta sessió introduirem les heurístiques i veurem la família de cerca heurística com a maximització de funcions. Concretament treballarem els algorismes de hill climbing i de simulated annealing. Al final de la sessió, com a problema, es proposa d’implementar –usant LISP– l’algorisme hill climbing.

3.3. Cerca heurística

3.3.1. Heurístiques En l’anàlisi dels algorismes de cerca cega hem pogut observar que qualsevol variant no baixa d’un cost (quant a temps) exponencial de l’ordre O(b^d). Així doncs, l’espai de cerca esdevé intractable en la majoria de problemes. Aquest ja és un motiu suficient per plantejar-nos l’ús del coneixement del domini del problema (heurístiques) per tal de reduir l’espai de cerca a explorar i, per tant, que esdevingui tractable. Tanmateix convindrà tenir molts aspectes en compte: 1. Amb la reducció de l’espai de cerca, pot ser que haguem perdut la millor solució? 2. Com dissenyem les heurístiques? Ja que poden arribar a ser estretament lligades al domini del problema. 3. Davant de dues heurístiques, quina és més adient? Convindrà analitzar criteris d’admissibilitat, i establir un compromís entre el metanivell i el nivell base.

Page 61: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

56

Heurístiques

Hi ha moltes heurístiques de moltes menes, algunes de propòsit general i d’altres ad hoc a un problema. Recordem el problema del trencaclosques amb una peça mòbil, on vam analitzar dues heurístiques representatives: la que compta el nombre de peces mal col·locades i la distància de Manhattan. D’altra banda, analitzeu com utilitzar l’heurística de la distància de Manhattan dins del problema del laberint.

Vegeu [Ginsberg1993]p68-p70

Heurística del veí més pròxim

L’heurística del veí més pròxim (nearest neighbour heuristic) és una heurística de propòsit general, vàlida per a diversos problemes combinatoris. Consisteix a seleccionar a cada pas l’alternativa local superior. Suposem que apliquem aquesta heurística al problema del viatjant de comerç (TSP): 1. Seleccioneu arbitràriament una ciutat per començar. 2. Per seleccionar la següent ciutat a visitar, ens fixem amb les ciutats que encara no s’han visitat, i seleccionem aquella que sigui més propera. Aneu a aquesta ciutat. 3. Repetiu fins que totes les ciutats hagin estat visitades. Aquest algorisme té un cost d’O(n^2). Proveu-ho amb diversos exemples de ciutats i costos. Podeu garantir que aquesta heurística sempre troba la millor solució? No! però per a certs problemes NP-Hard pot oferir una bona solució en un temps raonable.

Com inventar heurístiques

Atès que el factor clau serà proposar en tot moment l’heurística més adequada, el problema es tradueix en: com dissenyar i trobar aquesta heurística? No existeix una resposta sistemàtica però sí que hi ha diferents tècniques que ens poden ajudar a dissenyar-les.

Vegeu diferents propostes a [Russell1995]p103-p104

3.3.2. Cerca com a maximització de funcions Hi ha una sèrie d’algorismes de cerca heurística que els podem agrupar com a algorismes de cerca com a maximització/minimització de funcions. Normalment tindrem un conjunt de característiques desitjades que podem expressar en forma de funció f(n) i l’objectiu serà maximitzar aquesta funció, és a dir, trobar el valor dels paràmetres desitjats. En aquest apartat veurem dos algorismes de cerca: hill climbing i simulated annealing.

Page 62: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

57

Hill climbing (o steepest ascent)

L’algorisme hill climbing (o steepest ascent) consisteix a trobar el màxim (o el mínim) global d'una funció de diverses variables seguint l'estratègia de realitzar moviments en la direcció en què l'estimació del canvi sigui més gran. Algorisme: 1. Sigui L una llista amb els nodes inicials del problema, ordenats per les seves distàncies aproximades cap a l'objectiu (heurística). 2. Si L és buida, llavors acabeu. Si no, sigui n el primer node d’L. 3. Si n és el node objectiu, llavors pareu i retorneu-lo conjuntament amb el camí des del node inicial fins a ell. 4. Altrament, esborrar n d’L. 5. Expandiu n, afegint tots els seus fills al principi d’L ordenats per les distàncies estimades a l'objectiu. Cada fill estarà etiquetat amb el camí recorregut des del node inicial fins a ell. 6. Retorneu al pas 2. Pel que fa al seu comportament, podeu observar que és una típica implementació d’un algorisme Greedy; l'algorisme té un aire DFS; i podem observar que l’algorisme és equivalent a només guardar en tot moment el millor fill. Si proveu de resoldre el problema del laberint usant l’algorisme hill climbing i usant l’heurística de la distància de Manhattan, veureu que finalitzareu l’algorisme en un mínim local que ni tan sols és solució al problema (és a dir, no troba un camí que vagi de l’estat inicial a l’estat final). Cal analitzar els seus principals problemes: els mínims locals, els altiplans i les crestes.

Vegeu [Ginsberg1993]p70-p74

[Golobardes2002c]

Exercici: Hill climbing amb LISP (optatiu)

Reprenem el mateix problema de la sessió anterior: Implementeu en LISP els algorismes de cerca per trobar un node determinat dins d'un arbre. Donat un objectiu (número enter) cal trobar un node tal que la seva propietat COST sigui el més similar possible a l'objectiu. Retorneu una llista on el primer element sigui el node solució i el segon una subllista amb el camí. Implementeu l’algorisme següent: e) Hill climbing Per exemple, l'arbre de cerca es pot representar de la manera següent: - Cada node té tres propietats: FILLS, COST i CAMÍ ASSOCIAT. - La propietat fills del node n, és una llista amb els noms dels fills d’n. - La propietat COST del node n, és un enter. - La propietat CAMÍ ASSOCIAT indica el camí que cal seguir per arribar al node.

Page 63: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

58

Exemple:

(setf (get 'A 'fills) '(B C) (get 'A 'cost) 1 (get 'B 'fills) '(D E) (get 'B 'cost) 2 (get 'C 'fills) '(F G) (get 'C 'cost) 3 (get 'D 'fills) '(H) (get 'D 'cost) 4 (get 'E 'fills) '() (get 'E 'cost) 5 (get 'F 'fills) '() (get 'F 'cost) 6 (get 'G 'fills) '() (get 'G 'cost) 7 (get 'H 'fills) '() (get 'H 'cost) 8 ) Per qualsevol dubte d’LISP recordeu que podeu consultar a [Steele1990] i a [Golobardes2002a].

Simulated annealing

L’algorisme simulated annealing s’inspira en el procés físic de la cristalització. Té un aire molt més greedy que el hill climbing, tot i que agafa idees del hill climbing, tot relaxant certes condicions, incorporant una component estocàstica.

Vegeu l’algorisme a [Golobardes2002c]

Vegeu [Ginsberg1993]p74-p75

Page 64: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

59

RESUM

En aquesta sessió hem introduït el concepte de les heurístiques i s’ha presentat una primera família d’algorismes de cerca heurística: cerca com a maximització de funcions.

Page 65: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

60

Page 66: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

61

SESSIÓ 10: Cerca primer el millor – CERCA (4-5/9) Nom: Cerca primer el millor – CERCA (4-5/9) Tipus: teòrica Format: no presencial Durada: 4 hores Dedicació: 5 hores Treball a lliurar: opcional Material:

o Bibliografia bàsica: [Ginsberg1993] [Golobardes2002c]

o Bibliografia complementària: [Steele1990] [Golobardes2002a]

o Recursos de programari i de maquinari: Common LISP - UNIX

OBJECTIUS En aquesta sessió es pretén treballar una altra família d’algorismes de cerca heurística: Cerca primer el millor.

CONTINGUTS En aquesta sessió tractarem diferents algorismes de la família cerca primer el millor i certs conceptes associats a ella: best-first search, A*, el concepte d’admissibilitat, branch and bound, A* sobre grafs i IDA*. Al finalitzar la sessió es proposa implementar en LISP l’algorisme best-first search.

3.3.3. Cerca primer el millor Aquest text pertany a la presentació d'un apartat de teoria.

Best-first search

El best-first search generalitza el concepte d'ordenació de nodes dins de la llista L. A diferència del hill climbing, el qual ordenava els fills i els inseria al principi de la llista L –i a efectes pràctics només tractava el millor fill-. Així s'intentarà trobar una solució tan ràpid com sigui possible, tot prioritzant l'expansió de nodes propers a la solució. No s'intenta trobar una solució que estigui a la mínima profunditat dins de l'arbre de cerca, sinó una tan bona com sigui possible. Algorisme: 1. Sigui L una llista amb els nodes inicials del problema, ordenats per les seves distàncies aproximades cap a l'objectiu (heurística). 2. Si L és buida, llavors acabeu. Si no, sigui n el primer node d’L. 3. Si n és el node objectiu, llavors pareu i retorneu-lo conjuntament amb el camí des del node inicial fins a ell.

Page 67: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

62

4. Altrament, esborreu n d’L. 5. Expandiu n, afegint tots els seus fills a L. Cada fill estarà etiquetat amb el camí recorregut des del node inicial fins a ell. 6. Reorganitzeu L tot ordenant els nodes segons la seva distància a l'objectiu. Al principi de la llista hi ha d'haver el node que es considera més proper a l'objectiu. 7. Retorneu al pas 2. Si ara torneu a intentar resoldre el problema del laberint usant l’algorisme best-first search i usant com a heurística la distància de Manhattan, veureu com sí que trobeu una solució, i a més a més resulta ser la millor. Tot i així, l’algorisme no sempre garanteix trobar la millor solució.

[Ginsberg1993]p71

Exercici: best-first search amb LISP (optatiu)

Reprenem el mateix problema de les sessions anteriors: Implementeu en LISP els algorismes de cerca per trobar un node determinat dins d'un arbre. Donat un objectiu (número enter) cal trobar un node tal que la seva propietat COST sigui el més similar possible a l'objectiu. Retorneu una llista on el primer element sigui el node solució i el segon una subllista amb el camí. Implementeu l’algorisme següent: f) Best-first search. Per exemple, l'arbre de cerca es pot representar de la manera següent: - Cada node té tres propietats: FILLS, COST i CAMÍ ASSOCIAT. - La propietat fills del node n és una llista amb els noms dels fills d’n. - La propietat COST del node n és un enter. - La propietat CAMÍ ASSOCIAT indica el camí que cal seguir per arribar al node. Exemple:

(setf (get 'A 'fills) '(B C) (get 'A 'cost) 1 (get 'B 'fills) '(D E) (get 'B 'cost) 2 (get 'C 'fills) '(F G) (get 'C 'cost) 3

Page 68: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

63

(get 'D 'fills) '(H) (get 'D 'cost) 4 (get 'E 'fills) '() (get 'E 'cost) 5 (get 'F 'fills) '() (get 'F 'cost) 6 (get 'G 'fills) '() (get 'G 'cost) 7 (get 'H 'fills) '() (get 'H 'cost) 8 ) Per qualsevol dubte d’LISP recordeu que podeu consultar a [Steele1990] i a [Golobardes2002a].

A*

L’algorisme A* parteix de l’algorisme best-first search, modificant-lo covenientment per tal de no expandir el node amb menys distància respecte l'objectiu, sinó aquell node que es creu que és més proper qualitativament a un objectiu. Això vol dir que hem de poder estimar la bondat del lloc al qual podria arribar a partir d'aquí. No es tractar doncs d'anar a buscar ràpidament un objectiu, sinó de trobar el millor objectiu. Consideracions: - Trobeu un objectiu amb el mínim cost (minimitzar funció). - Assumirem costos positius. - Funció de cost l’anomenarem: g(n). - En un esquema bàsic es podria correspondre a la distància des de l'arrel fins el node n. - Funció d'estimació del cost (funció heurística) l’anomenarem: h'(n). És la funció que estima el cost necessari per acabar de construir una configuració parcialment construïda. - Cost estimat d'una solució a la qual es pot arribar des d'un node n parcialment construït: f(n) = g(n) + h'(n) - Per tot n tindrem que f(n)>=0, g(n)>=0, h'(n)>=0. Algorisme: 1. Sigui L una llista amb els nodes inicials del problema. 2. Si L és buida, llavors acabeu. Si no, sigui n el node d’L tal que f(n) = g(n) + h'(n) és mínim. 3. Si n és el node objectiu, llavors pareu i retorneu-lo conjuntament amb el camí des del node inicial fins a ell. 4. Altrament, esborreu n d’L. 5. Expandiu n afegint tots els seus fills a L. Cada fill estarà etiquetat amb el camí recorregut des del node inicial fins a ell. 6. Retorneu al pas 2.

Page 69: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

64

Analitzeu bé els casos particulars i/o extrems de l’algorisme A* i vegeu quins són els seus inconvenients. Per exemple: quin comportament té l’algorisme A* quan h’(n)=0 i g(n) és la distància de l’arrel al node n?

Vegeu [Ginsberg1993]p75-p81

Admissibilitat

Per poder garantir que un algorisme A* trobi la millor solució si aquesta existeix, convé que la funció heurística h’(n) sigui admissible (o optimista). Vegeu [Ginsberg1993]p78-p79. Tanmateix, no sempre és possible disposar d’una heurística admissible. En altres casos pot fins i tot interessar que l’heurística no sigui admissible, ja que pot ser que per a la majoria dels casos trobi la millor solució més ràpidament, malgrat que no pot garantir sempre trobar la millor solució.

Vegeu el concepte d’admissibilitat a [Ginsberg1993]p78-p79

Branch and bound

Existeixen diferents extensions de l’algorisme A*. Però un cas força conegut és l’algorisme branch and bound, quan ens trobem sota les condicions següents: Suposem que definim la funció de cost g(n) de la manera següent: - Cost de la configuració des de l'arrel fins a la configuració parcial. - Pot ser el cost total (si el node ja es una solució) o el cost parcial (en cas d'una configuració parcialment construïda). D’altra banda, la funció f(n) és igual a una funció g(n) com la descrita anteriorment i h'(n) és igual a zero.

Vegeu [Ginsberg1993]p81

A* sobre grafs

L’algorisme A* sobre grafs pren la mateixa filosofia de l’algorisme A* tenint en compte que l’espai de cerca és un graf. Versió 1 (Vegeu [Ginsberg1993]p81-p82): - Suposarem que g(n) és el cost del camí més curt fins al node n trobat fins al moment. - Mantenim només la llista de nodes oberts. - És suficient si volem trobar una única solució que s'acosti a la millor solució. - L'esquema resultant és molt similar. Versió 2 (Vegeu [Golobardes2002c]): - Agafarem l'esquema bàsic de l'algorisme de cerca sobre grafs (vist a la sessió corresponent). - Volem trobar més d'una solució o la millor assegurada.

Page 70: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

65

- Mantindrem llista d'oberts i de tancats.

Vegeu per a la versió 1 [Ginsberg1993]p81-p82

Vegeu per a la versió 2 [Golobardes2002c]

IDA*

Atès que l’algorisme A* pot arribar a tenir els mateixos requeriments de memòria que l’algorisme primer en amplada, es proposa l’algorisme IDA* per tal de modificar aquest requeriment. Com en la cerca cega, aquest problema es pot minimitzar utilitzant una política d'Iterative Deepening, d’aquí ve el seu nom: Iterative Deepening A* (IDA*). En comptes de tallar a partir dels nodes d'una certa profunditat, tallarem els nodes pels quals l'objectiu més proper està per sota d'una profunditat de tall. Algorisme: 1. Sigui c el valor de l’artificial depth cutoff. Inicialment el valor és 1. 2. Sigui c' el valor de l’artificial depth cutoff de la propera iteració. Inicialment el valor és infinit. 3. Sigui L una llista amb els nodes inicials del problema. 4. Si L és buida i c'=infinit, llavors acabeu. 5. Si L és buida però c' és diferent d’infinit, llavors actualitzeu el valor de c amb el valor de c' i tornat al pas 2 (l’algorisme recomença amb una c diferent). 6. Altrament, poseu a n el primer node de la llista L. 7. Si n és el node objectiu, llavors pareu i retorneu-lo conjuntament amb el camí des del node inicial fins a ell. 8. Si no, esborreu n d’L. 9. Per cada fill n' d’n, si f(n')<=c, afegiu n' al principi d’L. Altrament, actualitzeu el valor de c' amb el mínim entre c' i f(n'). 10. Retorneu a 4.

Vegeu [Ginsberg1993]p82-p83

RESUM

En aquesta sessió s’han vist diferents algorismes de la família de cerca primer el millor: best-first search, A* i algunes extensions de l’algorisme A* (branch and bound, A* sobre grafs i IDA*).

Page 71: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

66

Page 72: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

67

SESSIÓ 11: Cerca basada en restriccions – CERCA (6/9) Nom: Cerca basada en restriccions – CERCA (6/9) Tipus: teòrica Format: no presencial Durada: 1,5 hores Dedicació: 2 hores Treball a lliurar: optatiu Material:

o Bibliografia bàsica: [Russell1995]

o Bibliografia complementària: [Golobardes2002c] [Golobardes2002a]

o Recursos de programari i de maquinari: CommonLISP

OBJECTIUS Hi ha una sèrie de problemes anomenats problemes de satisfacció de restriccions que tenen unes característiques molt concretes, les quals porten a dissenyar esquemes de resolució adequats per aquest tipus de problema: cerca basada en restriccions. En aquesta sessió treballarem aquesta família de problemes dins del context de cerca heurística, ja que habitualment es treballen des de l’Optimització.

CONTINGUTS En aquesta sessió tractarem la cerca basada en restriccions a través de diferents conceptes: - Problema de satisfacció de restriccions (CSP). - Esquema de resolució. - Heurístiques per a problemes de satisfacció de restriccions. - Aplicacions en CSP. - Al finalitzar la sessió es proposa un exercici: implementar en CommonLISP el problema de les n-reines, ja que és un problema que permet assimilar i il·lustrar tot el que s’haurà vist al llarg de la sessió. Si ja el vau fer en el tema d’LISP, es recomana que el torneu a pensar usant les tècniques que es presenten en aquesta sessió.

3.3.4. Cerca basada en restriccions La cerca basada en restriccions es basa en un tipus de problemes molt concret: els problemes de satisfacció de restriccions. Aquests problemes permeten que la cerca es basi en la pròpia naturalesa del problema, per tal de realitzar diferents nivells de poda en l’espai de cerca. Principalment aquesta poda es pot realitzar quan la solució parcial, trobada fins al moment, viola les restriccions del domini.

Page 73: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

68

Problema de satisfacció de restriccions

Un problema de satisfacció de restriccions (o en anglès contraint satisfaction problem, o bé CSP) és un tipus de problema (no un algorisme) en el qual les solucions hauran de satisfer un conjunt de propietats estructurals. Problemes coneguts que s’identifiquen clarament amb un CSP són, per exemple, el problema de les n-reines, el problema de la coloració d’un graf (graf-coloring problem) o bé un problema de criptoaritmètica. Tots aquests problemes tenen una sèrie de característiques comunes: - Els estats són definits pels valors d'un conjunt finit de variables. - Cada variable pren valors d'un conjunt (discret o continu). - L'objectiu és determinat pel compliment d'un conjunt de restriccions que s'han de satisfer.

Vegeu [Russell1995]p83-p84

Esquema de resolució

La idea general d’un esquema de resolució d’un problema de satisfacció de restriccions, consisteix a anar assignant possibles valors a les diferents variables que descriuen el problema. Aquesta assignació es farà en un ordre determinat. Es poden aplicar moltíssimes filosofies de cerca al respecte, vegem una proposta. Esquema de resolució: 1. Estat inicial: cap variable té un valor assignat. 2. S'assigna un dels possibles valors a una de les variables seguint un esquema determinat. 3. Es comprova la satisfacció de les restriccions. 4. Es comprova si la solució està completament construïda. 5. Es torna al pas 2 si cal.

Vegeu [Golobardes2002c]

Heurístiques per a problemes de satisfacció de restriccions

Hi ha heurístiques de propòsit general específiques per als problemes de satisfacció de restriccions. Aquestes heurístiques pretenen reduir l’espai de cerca intentant no restringir la cerca de les solucions. La primera que podem considerar seria en el moment d’escollir la següent variable a la qual li assignarem un valor. Fóra interessant escollir aquella a la qual li podem assignar menys possibles valors i, per tant, té un factor de branqueig menor. Aquesta heurística s’anomena most-contraining variable. D’altra banda, ens podem plantejar una heurística per tal d’escollir el valor que se li assignarà a la variable en qüestió. Fóra interessant escollir el valor que exclogui el menor nombre de valors a les variables connectades a la variable actual per restriccions. Aquesta heurística s’anomena least-constraining value.

Vegeu l’aplicació d’aquestes heurístiques en el problema de la coloració d’un mapa [Russell1995]p104-p105

Page 74: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

69

Aplicacions en CSP

Existeixen una sèrie d’altres heurístiques en el moment de realitzar aplicacions en problemes de satisfacció de restriccions, que poden ajudar a reduir de tal manera l’espai de cerca que per a certes magnituds en les variables dels problemes, problemes que ja són intractables es poden resoldre en un temps raonable. Són mètodes que usen heurístiques reparadores (heuristic repair). Vegeu un exemple d’aquestes heurístiques (min-conflicts heuristic) en Russell i en Norvig per al problema de les n-reines.

Vegeu [Russell1995]p114

Exercici: n-reines amb LISP

Com posaríeu n-reines sobre un tauler d'escacs d’n x n de manera que no es matin les unes a les altres? (Recordeu que una reina es pot moure de forma horitzontal, vertical i diagonal tantes caselles com desitgi.) Implementeu en CommonLISP les funcions necessàries per tal d'obtenir totes les solucions al problema per a n-reines i un tauler d’n x n. Per especificar les solucions podeu fer-ho donant les coordenades de les posicions, dibuixant un petit tauler, ...

RESUM

En aquesta sessió hem vista la família de cerca basada en restriccions. Es recomana realitzar l’exercici que es proposa per tal d’assimilar millor els conceptes vistos al llarg de la sessió ja que la realització de l’exercici esdevé la millor autoavaluació.

Page 75: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

70

Page 76: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

71

SESSIÓ 12: Cerca amb adversari – CERCA (7/9) Nom: Cerca amb adversari – CERCA (7/9) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Ginsberg1993] [Nilsson1998]

o Bibliografia complementària: [Golobardes2002c]

PRECEDENTS Al llarg del tema de cerca hem analitzat tant esquemes de cerca cega com esquemes de cerca heurística. En aquest tema ens basarem en els patrons ja vistos per tal d’aplicar-los en d’altres dominis: els jocs. És el que en direm cerca amb adversari.

OBJECTIUS L’objectiu d’aquesta sessió és introduir l’esquema de cerca bàsic, l’algorisme MiniMax, per a jocs o problemes de cerca amb adversari molt concrets: aquells que tenen dos jugadors i van alternant les jugades al llarg de la partida.

CONTINGUTS En aquesta sessió introduirem el algorismes de cerca amb adversari – jocs. En primer lloc, descriurem les característiques dels dominis (jocs) sobre els quals s’aplica. Tot seguit presentarem l’esquema bàsic en aquests dominis per avaluar una jugada qualsevol: l’algorisme MiniMax. Finalment, veurem un exemple d’aplicació d’aquest algorisme sobre el joc de tres en ratlla.

3.4. Cerca amb adversari-jocs

3.4.1. Introducció Abans de descriure els algorismes de cerca amb adversari és convenient analitzar sobre quins problemes s’apliquen i quines característiques tenen.

Cerca amb adversari – Jocs

La intel·ligència artificial ha fet recerca amb els jocs de dues persones (dos jugadors), de tal manera que els jugadors van alternant les jugades, i el joc té una informació perfecta, on el coneixement disponible per a cada jugador és el mateix.

Page 77: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

72

També s’ha fet recerca en dominis més complexos, però la majoria de treballs s’han centrat en aquest tipus de problemes, els quals veurem al llarg d’aquest tema. Alguns dels jocs més estudiats han estat: tic-tac-toe (tres en ratlla), escacs, othel·lo, dames, backgammon, etc.

Vegeu [Ginsberg1993]p86-p88

Característiques

En general, els algorismes que presentarem es centren en jocs que tenen majoritàriament les característiques següents: 1. Un factor de branqueig b força elevat. 2. La diferència entre els dos jugadors es pot mesurar de forma bastant precisa. Normalment es farà mitjançant una funció heurística h’. 3. Seran jocs considerats amb una informació perfecta. Això vol dir que la informació disponible per a cada jugador és la mateixa. Com per exemple els escacs. Un exemple d’informació imperfecta seria el pòquer, ja que un jugador no coneix les cartes de l’altre.

Vegeu [Ginsberg1993]p86-p88

3.4.2. Algorisme MiniMax En aquest apartat en primer lloc descriurem l’espai de cerca sobre el qual treballarem –l’arbre de joc– i, en segon lloc, treballarem l’algorisme MiniMax. Concretament farem una evolució de l’algorisme en tres etapes amb la finalitat que ajudi en el seu aprenentatge.

Arbre de joc

Aquest text pertany a una nova plana per a un concepte de teoria/problema/pràctica. Un arbre de joc mostra un espai de cerca en el qual cada nivell representa les opcions d’un jugador diferent, per tant, es van alternant. Entendrem que un node de l'espai de cerca és una configuració del joc (un instant en el joc). Els successors d'un node són descrits per les jugades que el jugador en qüestió pot fer des d'aquella posició. Per decidir quina jugada es fa, es genera tot l'arbre de possibles jugades a partir del node actual. Es fa una certa exploració de l'arbre. Això és el que provoca variants de l'algorisme. Els jugadors reben el nom de maximitzador i minimitzador. D’aquí deriva el nom de l’algorisme MiniMax. Els algorismes que veurem es correspondran a diferents maneres d'avaluar el node actual.

Vegeu l’exemple d’arbre de joc que es mostra a [Ginsberg1993]p88-p90

Page 78: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

73

Algorisme MiniMax – Versió 1

La primera versió de l’algorisme MiniMax que presentem es basa en la filosofia breadth-first search. Així doncs, ja és de preveure que els seus principals defectes es centraran en un alt cos en memòria i en temps. Algorisme (Versió 1): Per avaluar un node n en l'arbre de joc. 1. Expandiu l'arbre sencer per sota del node n. 2. Avalueu els terminals com a guanyadors per al minimitzador o per al maximitzador. 3. Seleccioneu un node no etiquetat tal que a tots els seus fills ja se'ls hi hagi assignat un valor. Si no quedessin nodes sense etiquetar, llavors retorneu el valor assignat al node n. 4. Si el node seleccionat correspon a un moviment del minimitzador, assigneu-li el valor mínim de tots els seus fills. 5. Si el node seleccionat correspon a un moviment del maximitzador, assigneu-li el valor máxim de tots els seus fills. 6. Retorneu al pas 3. Si analitzem l’algorisme ja es pot preveure que convindria ampliar-lo en diferents sentits: 1. Es podria considerar la possibilitat que el joc acabés en taules. Les configuracions associades a les taules les etiquetaríem amb un zero. 2. Per optimitzar l'algorisme es podria fer una cerca depth-first.

Vegeu [Ginsberg1993]p90

Vegeu l’esquema de l’algorisme a les transparències de [Golobardes2002c]

Algorisme MiniMax – Versió 2

La segona versió que presentem de l’algorisme MiniMax, segueix una filosofia depth-first search, per tant, la memòria passa a ser lineal però el temps d'execució segueix essent molt elevat (segueix dins del marc d'exponencialitat). Algorisme (Versió 2): Per avaluar un node n en l'arbre de joc. 1. Sigui L la llista de nodes no expandits dins de l'arbre. Inicialment L:={n}. 2. Sigui x el primer node d’L. 3. Si x = n i té un valor assignat, llavors retorneu-lo i acabeu. 4. Si al node x se li ha assignat un valor Vx, llavors ... 4.1. Sigui p el pare d’x i Vp el seu valor actual. 4.2. Si p és un node minimitzador, llavors Vp:=min(Vp, Vx), altrament (p és node maximitzador) Vp:=max(Vp,Vx). 4.3. Traieu x d’Li retorneu al pas 2. 5. Altrament ... (el node x no té encara cap valor assignat) 5.1. Si x és un node terminal. Llavors ... 5.1.1. Assigneu-li -1 o 1 en funció de si és una jugada guanyadora pel minimitzador o el maximitzador.

Page 79: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

74

5.1.2. En cas de taules, assigneu-li el valor de 0. 5.1.3. Deixeu x a L ja que el seu pare encara no ha estat tractat. 5.1.4. Retorneu al pas 2. 6. Altrament ... (x no és un node terminal) 6.1. Assigneu a x el valor de -infinit si es tracta d'un node maximitzador, o de +infinit en cas que sigui un node minimitzador. 6.2. Afegiu els fills d’x al principi d’L. 6.3. Retorneu al pas 2. Una vegada hagueu treballat l’algorisme, podeu veure que es podria ampliar seguint les observacions següents: 1. A la realitat és inviable explorar tot l'arbre de cerca per sota d'un node. El que es fa és explorar fins a una profunditat suficient (vegeu la versió 3 de l’algorisme MiniMax). 2. Per tant, arribarem a un node pseudoterminal (aquell que es troba a la profunditat de tall) i l'avaluarem mitjançant una funció d’estimació (e(n)). Seguint la mateixa filosofia l'avaluarem entre -1 i +1, passant pel zero. Exemple: escacs i nombre de peces (o valor): e(n) = (blaques - negres) / (blaques + negres) 3. S’haurà de tenir en compte el compromís entre el nivell base i el metanivell.

Vegeu el seu funcionament a [Ginsberg1993]p91-p92

Algorisme MiniMax – Versió 3

La tercera versió del MiniMax que presentem ja usa un patró de cerca heurística. L’algorisme només explora l’espai de cerca fins a una profunditat de tall p. Així doncs, encara que l’esquema segueixi la filosofia d’un algorisme de cerca de primer en profunditat, no hi ha el perill de caure en una branca infinita. Algorisme (Versió 3): Per avaluar un node n en l'arbre de joc. 1. Sigui L la llista de nodes no expandits dins de l'arbre. Inicialment L:={n}. 2. Sigui x el primer node d’L. 3. Si x = n i té un valor assignat, llavors retorneu-lo i acabeu. 4. Si al node x se li ha assignat un valor Vx, llavors ... 4.1. Sigui p el pare d’x i Vp el seu valor actual. 4.2. Si p és un node minimitzador, llavors Vp:=min(Vp, Vx), altrament (p és node maximitzador) Vp:=max(Vp,Vx). 4.3. Traieu x d’Li retorneu al pas 2. 5. Altrament ... (el node x no té encara cap valor assignat) 5.1. Si x és un node terminal o s'ha decidit no expandir per sota d’x. Llavors ... 5.2. Calculeu el valor d’e(x). 5.3. Deixeu x a L ja que el seu pare encara no ha estat tractat. 5.4. Retorneu al pas 2. 6. Altrament ... (x no és un node terminal) 6.1. Assigneu a x el valor de -infinit si es tracta d'un node maximitzador, o de +infinit en cas que sigui un node minimitzador. 6.2. Afegiu els fills d’x al principi d’L. 6.3. Retorneu al pas 2.

Page 80: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

75

Vegeu [Ginsberg1993]p92-p93

3.4.3. Exemple MiniMax Veurem un exemple d’aplicació de l’agorisme Minimax. Seguirem l’exemple del tres en ratlla que ens presenta en Nilsson (1998) a les pàgines 197-202 (l’exemple que volem il·lustrar comença al tercer paràgraf de la pàgina 199: “A simple example ...”).

Exemple: tres en ratlla

Descriurem tot seguit les diferents consideracions que farem per tal d’aplicar l’algorisme MiniMax al problema del tres en ratlla: - Suposem que el MAXimitzador té les fitxes X. - Suposem que el MINimitzador té les fitxes O. - Comença jugant el MAX davant del taulell buit. Per tant, haurà de decidir on tirar una fitxa X. - Considerarem la funció d’avaluació e(n) –n és el node que avaluem– següent: e(n) = +infinit, si n és una jugada guanyadora pel MAX. e(n) = –infinit, si n és una jugada guanyadora pel MIN. e(n) = (número de files, columnes i/o diagonals que encara sòn obertes pel MAX) - (número de files, columnes i/o diagonals que encara sòn obertes pel MIN). - En el moment de generar els successors es tindran en compte les simetries. Per tant, si hi ha 4 jugades equivalents des d’un punt de vista de simetries, només se’n considerarà una.

Sota aquestes condicions treballeu i seguiu l’exemple a [Nilsson1998]p197-p202

RESUM

En aquesta sessió hem treballat l’algorisme MiniMax. Un esquema bàsic per als jocs amb adversari, dos jugadors i informació perfecta, on normalment el factor de franqueig i, en general, l’espai de cerca és molt elevat.

Page 81: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

76

Page 82: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

77

SESSIÓ 13: Cerca amb adversari – CERCA (8/9) Nom: Cerca amb adversari - CERCA (8/9) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Ginsberg1993] [Nilsson1998]

PRECEDENTS Aquesta sessió es basarà bàsicament en l’algorisme de cerca amb adversari analitzat en l’anterior sessió: l’algorisme Minimax.

OBJECTIUS L’objectiu principal d’aquesta sessió és el d’analitzar la poda alfa-beta dins d’un esquema de cerca com l’algorisme Minimax. Prèviament però, s’analitzaran els problemes que poden sorgir en un algorisme de cerca Minimax.

CONTINGUTS En aquesta sessió tractarem els apartats següents: 3.4.4. Problemes del Minimax. 3.4.5. Poda alfa-beta. 3.4.6. Exemple poda alfa-beta. Al finalitzar la sessió es proposa un exercici per tal de treballar els diferents aspectes de la cerca en un problema de cerca amb adversari.

3.4.4. Problemes del MiniMax L’algorisme Minimax presenta una sèrie de problemes en el seu comportament, en funció de l’actitud del seu contrincant. Els problemes més habituals són els de detectar zones de calma a través d’extensions singulars o bé el problema de l’efecte horitzó.

Quiescence i extensions singulars

En l’arbre de joc hi ha certes zones que es poden considerar d’interès tàctic. Són zones en les quals la funció d’estimació e(n) varia bruscament. En aquests casos s’intentarà fer una cerca de més profunditat dins de l’arbre de joc fins que la funció e(n) sigui més estable, “estigui més calmada”. Així doncs, s’intentarà buscar una quiescence. El fet de realitzar aquesta cerca més profunda és el que s’anomena una extensió singular.

Page 83: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

78

Per il·lustrar aquest efecte, suposem que s’implementa un jugador d’escacs que explora fins a 7 moviments (entre els moviments del nostre judador i de l’adversari). Imagineu que, donada una situació inicial concreta, es desenvolupa l’arbre de profunditat 7 i que, justament en l’últim nivell de l’arbre, el nostre jugador és capaç de matar la reina del jugador contrari, provocant una variació brusca en l’avaluació total. Per tant, si no cerquem més nivells, probablement triarem aquesta jugada, doncs maximitzarà l’heurística. Tanmateix, cal notar que, amb altra probabilitat, aquest moviment pot correspondre a un intercanvi de reines. En aquest cas, si s’hagués explorat un nivell més profund, s’hagués vist que l’avaluació del següent node minimitzador hagués patit una altra variació brusca (aquest cop contrària als nostres interessos; doncs s’hauria fet l’intercanvi de reines). Per tant, si s’hagués tingut aquesta situació en consideració, probablement s’hagués optat per una altra branca. Per això és molt important continuar la cerca en aquelles zones “calentes” de l’arbre de cerca, on la funció d’avaluació pateix canvis bruscos, fins arribar a una zona de calma.

Efecte horitzó

L’efecte horitzó fa referència al fet que el nostre programa de cerca eviti enfrontar-se a certes amenaces tot fent moviments inúltils que retardin l’aparició de l’amenaça. És a dir, suposem que s’implementa un jugador d’escacs que explora fins a 7 moviments (entre els moviments del nostre jugador i del contrari), i que justament en el 7 nivell trobem un moviment molt negatiu per a nosaltres (per exemple, un escac i mat). A més, suposem que podem fer un moviment “inútil” que retarda dos moviments l’escac i mat. Per tant, el mat arribarà al nivell 9; com que només arribem a nivell 7, l’amenaça, tot i ser existent, ha quedat fora del nostre abast. Aquest problema té poques solucions efectives. Per una banda, es pot realitzar una cerca secundària, a l’estil de la utilitzada per buscar l’escena de calma, per explorar amb més detall l’amenaça. Per una altra banda, es pot usar el tècnica de l’heurística matadora. Aquesta heurística proposa de recordar quines branques han donat una millor solució en exploracions prèvies per explorar-la primerament en la cerca actual. L’objectiu és trobar una bona branca que permeti podar altres branques que tinguin el problema de l’efecte horitzó.

3.4.5. Poda alfa-beta L’objectiu de la poda alfa-beta és el de reduir al màxim l'espai de cerca que explora un algorisme Minimax. Així doncs, partint de l’última versió donada de l’algorisme MiniMax, l’algorisme es basarà en aplicar una profunditat de tall en un algorisme de filosofia DFS. Podem dir que l’objectiu és el d'aplicar la idea de poda basada en la millor solució en curs generalitzada.

Conceptes

La figura següent mostra quatre exemples que serviran per motivar l’ús de la poda alfa-beta en l’algorisme de min-max:

Page 84: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

79

(a) Exemple 1

(b) Exemple 2

(c) Exemple 3

(d) Exemple 4

A continuació s’estudia cada exemple en detall.

• Exemple 1. Després d’acabar d’explorar la primera branca i començar a explorar c, el sistema hauria de detectar ràpidament que c té una jugada guanyadora per a la branca que acaba en j. Per tant, no cal explorar la resta de branques.

• Exemple 2. Independentment del què hi hagi en la branca dreta de c, el node minimitzador escollirà la branca de la seva esquerra, ja que el porta a una acció guanyadora. Per tant, no cal continuar explorant la branca dreta.

• Exemple 3. El node g es pot podar, ja que la branca germana de l’esquerra té una avaluació que és menor a la branca esquerra d’a. Per tant, a sempre triarà moure’s cap a b en comptes de cap a c.

• Exemple 4. Igual que en l’exemple 3, no cal explorar el node g, doncs el node b té una avaluació millor que la del germà de g, és a dir, f.

Aquests quatre exemples ens porten a les observacions següents: 1. Els nodes maximitzadors tindran associat un valor alfa que serà el millor valor

trobat fins el moment per a aquest node. Aquest valor representarà una fita inferior del valor d'aquest node. És a dir, el valor d'aquest node serà >= alfa.

2. Els nodes minimitzadors tindran associat un valor beta que serà el millor valor trobat fins el moment per a aquest node. Aquest valor representarà una fita superior del valor d'aquest node. És a dir, el valor d'aquest node serà <= beta.

Page 85: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

80

Així doncs, per tal de realitzar la poda es treballa amb fites superiors i inferiors dels valors dels avantpassats. En la secció següent es presenta l’algorisme general de la poda alfa-beta.

Regles generals – mètode poda alfa-beta

A partir dels exemples i els conceptes anteriors podem generalitzar el que serà la poda alfa-beta de la manera següent: Poda alfa:

1. Suposem que n és un node de l’arbre de joc (MAXimitzador). 2. Sigui s un node bessó d’n amb un valor Vs assignat. 3. Suposem que < p0, p1, p2, ... , pk > és el camí des de l’arrel fins al node n, on

p0 és l’arrel i pk = n. 4. Els índexs senars corresponen a nodes MINimitzadors, si qualsevol d’aquests

nodes té un bessó amb un valor més gran que Vs, llavors el node pk (i pk-1, és a dir, el seu pare) es pot podar.

Poda beta: Es descriu de manera anàloga a la poda alfa, és a dir:

1. Suposem que n és un node de l’arbre de joc (MINimitzador). 2. Sigui s un node bessó d’n amb un valor Vs assignat. 3. Suposem que < p0, p1, p2, ... , pk > és el camí des de l’arrel fins al node n, on

p0 és l’arrel i pk = n. 4. Els índexs parells corresponen a nodes MAXimitzadors, si qualsevol d’aquests

nodes té un bessó amb un valor més gran que Vs, llavors el node pk (i pk-1, és a dir, el seu pare) es pot podar.

Algorisme MiniMax amb poda alfa-beta

Incorporant la poda alfa-beta a l’algorisme MiniMax queda l’algorisme següent. Algorisme (MiniMax – versió 3 amb poda alfa-beta): Per avaluar un node n en l'arbre de joc. 1. Sigui L la llista de nodes no expandits dins de l'arbre. Inicialment L:={n}. 2. Sigui x el primer node d’L. 3. Si x = n i té un valor assignat, llavors retorneu-lo i acabeu. 4. Si al node x se li ha assignat un valor Vx, llavors ... 4.1. Sigui p el pare d’x. 4.2. Es poden podar p i els seus fills? 4.2.1. Si p és un node minimitzador, sigui alfa el valor màxim de tots els valors actuals assignats als germans de p i als germans dels nodes minimitzadors que són antecessors de p. 4.2.2. Si no hi ha valors, alfa = – infinit. 4.2.3. Si Vx <= alfa, borreu p i tos els seus descendents d’L(poda alfa). 4.2.4. Si p és un node maximitzador, tracteu-lo anàlogament (poda beta). 4.2.5. Retorneu al pas 2. 4.3. Si p no pot ser podat, 4.3.1. Sigui Vp el valor actualment assignat a Vp.

Page 86: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

81

4.3.2. Si p és un node minimitzador, llavors Vp:=min(Vp, Vx), altrament (p és node maximitzador) Vp:=max(Vp,Vx). 4.3.3. Traieu x d’Li retorneu al pas 2. 5. Altrament ... (el node x no té encara cap valor assignat) 5.1. Si x és un node terminal o s'ha decidit no expandir per sota d’x. Llavors ... 5.2. Calculeu el valor d’e(x). 5.3. Deixeu x a L ja que el seu pare encara no ha estat tractat. 5.4. Retorneu al pas 2. 6. Altrament ... (x no és un node terminal) 6.1. Assigneu a x el valor de –infinit si es tracta d'un node maximitzador, o de +infinit en cas que sigui un node minimitzador. 6.2. Afegiu els fills d’x al principi d’L. 6.3. Retorneu al pas 2.

Observacions

Podem fer les observacions següents de la poda alfa-beta: 1. La cerca Minimax amb poda alfa-beta no pot anar pitjor, en termes del resultat

obtingut, que un algorisme Minimax sense poda. 2. L'espai de cerca explorat serà igual o més petit que el que cerqui un algorisme

Minimax sense poda. 3. Normalment la feina a metanivell es veu recompensada per la reducció de feina a

nivell base. 4. Com que s'aplica el principi de poda basada en la millor solució en curs, interessa

trobar bones solucions el més aviat possible. Per aquest motiu és possible que s'apliqui reordenació dels fills (més feina a metanivell).

5. Vegeu l’eficiència de la poda alfa-beta en termes de costos a [Ginsberg1993]p99-

p100.

3.4.6. Exemple poda alfa-beta A continuació es mostra un exemple del tres en ratlla per consolidar els conceptes que han aparegut en l’explicació de l’algorisme de min-max amb la poda alfa-beta.

Exemple 1: tres en ratlla per d=2

Recordem les característiques de l’exemple del tres en ratlla que vam veure a la sessió anterior: - Suposem que el MAXimitzador té les fitxes X. - Suposem que el MINimitzador té les fitxes O. - Comença jugant el MAX davant del taulell buit. Per tant, haurà de decidir on tirar una fitxa X.

Page 87: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

82

- Considerarem la funció d’avaluació e(n) –n ès el node que avaluem– següent: e(n) = +infinit, si n és una jugada guanyadora pel MAX. e(n) = –infinit, si n és una jugada guanyadora pel MIN. e(n) = (número de files, columnes i/o diagonals que encara sòn obertes pel MAX) - (número de files, columnes i/o diagonals que encara sòn obertes pel MIN) - En el moment de generar els successors es tindran en compte les simetries. Per tant, si hi ha 4 jugades equivalents des d’un punt de vista de simetries, només se’n considerarà una. Si considerem la profunditat de tall com a d=2, podeu observar a què passa [Nilsson1998]p202-p205. D’una banda, teniu un exemple d’aplicació de l’algorisme amb poda alfa-beta. Però d’altra banda, podeu constatar que amb una profunditat de tall de d=2 només es pot realitzar la poda alfa.

Per més exemples de funcionament de la poda alfa-beta, vegeu [Nilsson1998]

3.4.7. Exercici de cerca amb adversari: escacs (optatiu) Tot seguit es proposa el joc dels escacs per tal de recordar els diferents conceptes dels dominis on es pot aplicar cerca amb adversari.

Enunciat

Suposeu que heu d'implementar un jugador d'escacs. Es demana: 1. Quines característiques té el domini d'aquest joc? 2. Quin tipus d'algorisme de cerca seria el més adequat? Justifiqueu la resposta. 3. Quin tipus d’heurístiques serien necessàries a l’avaluar un node n de l’arbre de joc? 4. Proposeu heurístiques i/o tàctiques per tal de detectar les zones de calma (quiescence) i superar l'efecte horitzó. Justifiqueu i avalueu la proposta donada.

RESUM

En aquesta sessió, d’una banda, s’han analitzat els possibles problemes que pot tenir un esquema de cerca amb adversari com el Minimax, en funció del comportament del seu contrincant. D’altra banda, s’ha estudiat com incorporar la poda alfa-beta dins de l’algorisme Minimax i s’ha il·lustrat amb alguns exemples.

Page 88: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

83

SESSIÓ 14: Pràctica cerca – CERCA (9/9) Nom: Pràctica cerca – CERCA (9/9) Tipus: pràctica Format: no presencial Durada: 1 hora Dedicació: 1 hora Treball a lliurar: sí Material:

o Bibliografia bàsica: [Golobardes2002d]

o Recursos de programari i de maquinari: vegeu l’enunciat de la pràctica

PRECEDENTS Per tal de realitzar la pràctica que proposa aquesta sessió, es necessiten tots els conceptes que s’han vist al llarg de les diferents sessions del capítol de Resolució de problemes – Cerca.

OBJECTIUS L’objectiu d’aquesta sessió és el de presentar l’enunciat de la pràctica corresponent a aquest capítol cerca (PRÀCTICA 1: CERCA). Us recordem que aquesta pràctica compta un 30% de la nota final de la part pràctica de l’assignatura (i la part pràctica compta un 70% del total). Cal recordar que aquesta pràctica és obligatòria i cal aprovar-la per aprovar l’assignatura. L’objectiu de la pràctica és que assoliu els diferents conceptes que s’han vist al llarg del capítol Resolució de problemes – Cerca.

CONTINGUTS Els continguts d’aquesta sessió estan explicitats en el document [Golobardes2002d], que trobareu a la carpeta corresponent de l’assignatura a l’ecampus. Val a dir que el temps d’estimació d’aquesta sessió es centra en una bona lectura i comprensió de l’enunciat de la pràctica i no en la totalitat de les hores que us portarà realitzar aquesta pràctica, la qual anireu fent mentre estudieu el següent capítol de teoria: Representació del coneixement – Raonament.

3.5. Descripció de la pràctica de cerca

3.5.1. Descripció de la pràctica de cerca (pràctica 1) En aquest apartat es presenta l’enunciat corresponent a la pràctica de cerca.

Page 89: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

84

Document PRÀCTICA 1: CERCA – Intel·ligència artificial

On podeu trobar el document corresponent a l’enunciat de la pràctica de cerca? El document de l’enunciat de la PRÀCTICA 1: CERCA – Intel·ligència artificial el trobareu a la carpeta de l’ecampus de l’assignatura d’intel·ligència artificial. Què hi ha en el document? 1. L’enunciat de la pràctica de cerca a lliurar. bàsicament aquest enunciat presenta el domini del problema que es vol resoldre. 2. Tot seguit es demanen una sèrie de punts. Aquests punts detallen tant l’ordre en el qual convé realitzar la pràctica com el contingut de la memòria a lliurar. Convé destacar que el més important de la pràctica és com s’ha tractat la part corresponent al capítol de cerca i, en certa manera, tot el treball de camp que s’ha dut a terme per tal de realitzar-la. Podeu observar que una vegada s’ha analitzat com realitzar la pràctica des d’un punt de vista algorísmic i/o “teòric”, llavors es demana que decidiu quin és el llenguatge de programació més adequat per a la seva implementació –justificant la seva elecció–. No ho feu en l’ordre invers, ja que condicionareu el disseny al llenguatge de programació i és possible que, ni de bon tros, sigui el més adequat. Cal recordar que els diferents aspectes d’interfície no es valoraran, per tant, una vegada més, cal recordar que es vol donar èmfasi a la part corresponent a la cerca. 3. En el document també es demana una estimació –en hores– del temps que us ha portat la seva realització i, si pot ser, detallant les diferents parts de la pràctica. Evidentment, aquesta estimació no serveix per avaluar la pràctica, sinó per contrastar les diferents estimacions de la càrrega de la pràctica. 4. En el document s’indica la data de lliurament de la pràctica, tot i que també la podeu trobar a l’agenda de l’assignatura. 5. En el document també s’indica on i com s’ha de lliurar la pràctica. Criteris de puntuació: 1. La memòria ha de tenir tots els punts que es demanen. 2. Recordeu que la pràctica de cerca s’ha de lliurar obligatòriament per aprovar l’assignatura, i la seva nota ha de ser superior a 5 per tal que s’accepti. 3. Les pràctiques lliurades fora de termini tindran una nota màxima de 5 i ja s’indicarà quines són les possibles dates de lliurament. 4. Dins de la nota de pràctiques, la pràctica de cerca compta un 30%. Recordeu que la part pràctica val el 70% de l’assignatura. Vegeu els criteris de puntuació de l’assignatura.

Vegeu l’enunciat de la pràctica a [Golobardes2002d]

Page 90: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

85

RESUM

L’objectiu d’aquesta sessió ha estat el de presentar l’enunciat de la pràctica de cerca que convé realitzar. Esperem que al finalitzar la sessió tingueu molt clar el domini del problema i els diferents punts que es demanen per tal de realitzar la pràctica.

Page 91: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

86

Page 92: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

87

SESSIÓ 15: Introducció – Representació del coneixement (1/15) Nom: Introducció - REPRESENTACIÓ DEL CONEIXEMENT (1/15) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Rich1994]

o Bibliografia complementària: [Russell1995]

PRECEDENTS En el capítol de Cerca – Resolució de problemes hem analitzat diferents patrons de cerca per tal de saber triar l’esquema més apropiat en el moment de resoldre un problema. En aquest capítol de Representació del coneixement – Raonament ens centrarem en com escollir la representació del coneixement més adequada per a la resolució d’un problema.

OBJECTIUS Els objectius d’aquesta sessió són ben senzills: assentar els conceptes bàsics associats a aquest capítol que iniciem: Representació del Coneixement – Raonament. Dividirem la sessió en dos temes. El primer introduirà els conceptes generals associats a tot el capítol. I el segon es centrarà en els diferents tipus de coneixement.

CONTINGUTS D’una banda, en aquesta sessió s’introduiran diferents conceptes com: coneixement, representació del coneixement i raonament, aixì com l’estreta relació que hi ha entre ells. D’altra banda, presentarem diferents tipus de coneixement, com: relacional, heretable, deductiu i/o procedimental.

4. Representació del coneixement - Raonament

4.1. Introducció

4.1.1. Conceptes En aquest tema farem una breu introducció dels conceptes claus associats al llarg de tot el capítol, tal com són: domini, coneixement, representació del coneixement, raonament, sistema de manteniment de la veritat i base del coneixement.

Page 93: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

88

Així doncs, caldrà tenir clar que no es pot separar la representació del coneixement –objectiu d’aquest capítol– del domini del problema que es vol resoldre, ni del tipus de raonament que s’utilitzarà sobre la base del coneixement que haguem creat.

Representació del coneixement

Tot problema sorgeix dins d’un domini, més o menys definit. Quan ens proposem resoldre aquest problema convé representar el coneixement d’aquest problema d’alguna manera. Però s’ha d’anar en compte, perquè diferents maneres de representar el coneixement ens poden portar a un èxit o a un fracàs en la resolució del problema. Com a exemple, podeu recordar el problema dels quatre cavalls que vam veure a l’inici del capítol de Cerca – Resolució de problemes. Al llarg d’aquest capítol ens centrarem a estudiar diferents maneres de representar el coneixement.

Enginyeria del coneixement

Com hem vist en el concepte anterior, convé representar el coneixement de la millor manera. Tanmateix, prèviament ens hauríem de formular una altra pregunta: com s’obté el coneixement? El procés de construir una base de coneixement (BC) és el que s’anomena enginyeria del coneixement. Dins de l’enginyeria del coneixement cal deixar clars diferents conceptes. Vegem-los. Enginyer del coneixement: és qui investiga un domini, decideix quins objectes són importants (rellevants per a la resolució del problema) i representa formalment els objectes i les seves relacions. Adquisició del coneixement: és el procés d’entrevistar-se amb els experts per aprendre i extraure informació del domini. Com podeu entreveure, serà una tasca que requerirà força enginy i certa gràcia amb les relacions personals. Enginyeria ontològica: consisteix en la representació dels conceptes generals, com poden ser: temps, canvi, objectes, successos, etc.

Raonament

Depenent de com s’hagi decidit representar el coneixement del domini, es necessita “raonar” sobre aquest coneixement en el moment de resoldre un problema. Per tant, el tipus de raonament anirà estretament lligat al tipus de representació que s’hagi escollit. En el tema següent –Tipus de Coneixement- en veurem alguns exemples.

Fases de desenvolupament

Si sintetitzem una mica, podríem resumir el procés de la construcció de la base del coneixement (BC) en les fases que mostra la figura següent. Diferenciem: el domini del problema que volem resoldre; el coneixement rellevant per dur a terme aquesta resolució; la representació més adient i la pròpia implementació, generem així el que serà la base del coneixement.

Page 94: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

89

Així doncs, anomenarem adquisició del coneixement el pas del domini al coneixement necessari. I anomenarem el pas del coneixement a la representació: representació del coneixement; fase en la qual ens centrarem al llarg d’aquest capítol. A la figura també podeu observar els diferents nivells que trobem en el desenvolupament d’una BC: nivell conceptual, nivell de representació i nivell d’implementació.

Mecanisme de manejament

En el moment de resoldre un problema, dins del domini a partir del qual s’ha definit la base de coneixement (BC), serà un mecanisme o motor de manejament (també anomenat motor d’inferència en els sistemes experts) el que portarà a terme aquesta tasca, tot dialogant amb la base de coneixement. Vegeu la figura que il·lustra aquest diàleg. Tota resolució d’un problema ben segur que necessitarà de tres grans àrees: cerca, raonament i aprenentatge artificial. La darrera la veurem en el capítol següent.

Page 95: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

90

Sistema de manteniment de la veritat

Finament, haurem de tenir present al llarg del capítol un darrer concepte ben important. Tant en el moment del disseny de la BC com en l’evolució de la mateixa BC, convindrà garantir en tot moment la seva “consistència”. Aquesta tasca es farà mitjançant un sistema de manteniment de la veritat (o Truth Maintenance System – TMS).

4.1.2. Tipus de coneixement La representació del coneixement estarà estretament lligada al tipus de coneixement del domini del problema. Tanmateix no sempre resulta fàcil decidir de quin tipus de coneixement estem parlant. Pensar en el tipus de problema ens ajudarà a decidir el tipus de coneixement. Per exemple, si volem identificar jugades de beisbol, potser el tipus de coneixement que realment necessitem són regles que especifiquin aquestes jugades (expressades o bé de forma deductiva o bé de forma procedimental). Seguirem els exemples que ens mostren n’Elain Rich i en Kevin Knight en el llibre de A continuació s’expliquen cinc famílies de representació de coneixement, tot posant exemples per a cadascuna d’elles. En general, s’indentificarà un problema i s’analitzarà el tipus de coneixement (del coneixement rellevant per resoldre el problema), a partir del qual es decidirà la representació del coneixement més adient i el mecanisme de raonament que hi haurà associat a aquesta representació. A continuació presentarem breument els tipus de coneixement. Al llarg del capítol s’elaboraran amb més detall diferents tipus de representació del coneixement i el raonament associat.

Coneixement relacional simple

Començarem definint un tipus de coneixement conegut i utilitzat per tots vosaltres: coneixement relacional simple. Aquest tipus de coneixement és una aplicació directa dels conceptes de bases de dades, els quals són habituals en el món de l’enginyeria informàtica. Per tant, tot i que aquest tipus de coneixement implica una representació del coneixement no pròpia de la intel·ligència artificial, suposa un bon exercici per iniciar-se en el tema. A continuació, es mostra un exemple d’aquest tipus de representació de coneixement i es discuteix sobre el tipus de raonament necessari per respondre differents tipus de preguntes. La taula següent mostra un exemple de coneixement relacional simple que guarda la informació referent al joc de beisbol:

Page 96: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

91

Nom jugador Alçada Pes Bateja – Llança Joan Mateu 180cm 89kg Dreta – dreta

Andreu Corriu 190cm 96kg Dreta – dreta Llavors es poden plantejar un conjunt de preguntes sobre aquesta representació del coneixement, amb la restricció que la seva resposta es pugui extreure directament de la informació de la base de dades. Un exemple d’aquestes preguntes seria demanar l’alçada, pes o tipus de bateig d’un jugador concret. Per obtenir la resposta, el métode d’inferència o raonament consistiria en una comanda SQL o fer servir un procediment com el que s’especifica a continuació: 1. Més_alt := VALOR_MÀXIM; 2. Nom := NO_HI_HA_JUGADORS; 3. Per i =1 fins a MAX_JUGADORS fer 3.1 Si alçada[i] > Més_alt llavors 3.1.1 Més_alt := alçada[i]; 3.1.2 Nom := jugador[i]; 3.2 Fi_si; 4. Fi_per; 5. Retorna Nom Per altra banda, hom es podria plantejar la realització de preguntes que necessitin un procés de raonament o inferència més complex que el de simplement consultar les dades, ja que no poden ser respostes directament amb la informació de la base de dades. Un exemple d’aquests tipus de preguntes seria “quin és el jugador més fort?”. Per respondre aquesta pregunta s’ha de fer servir algun tipus de raonament per emparellar fort amb la informació de la base de dades.

Coneixement heretable

Mentre que el coneixement relacional simple proposava mantenir la informació de manera plana en una base de dades, el coneixement heretable pretén usar una estructura jeràrquica per a tal efecte, de manera que permet l’abstracció d’instàncies particulars i la formació de classes. A continuació es mostra un exemple d’aquest tipus de coneixement.

Page 97: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

92

En la xarxa semàntica de la figura, els requadres corresponen a objectes o a valors d’un atribut concret i les fletxes representen atributs. En la xarxa hi ha dos tipus especials d’atributs: (1) l’atribut “és-un” que inidica que l’objecte connectat hereta del pare (e.g., “Home-adult” hereta de “Persona”) i (2) l’atribut “instància” que indica que l’objecte connectat és una instància del pare (e.g., “Joan Mateu” és una instància de llançador). Noteu que la xarxa en si denota una estructura d’objectes del nostre món, la qual comença en l’objecte o ens “persona” i acaba en instàncies concretes de dos jugadors de beisbol. La xarxa semàntica s’interpreta de la següent manera. En el nivell més general hi ha “Persona”, el qual pot estar descrit per qualsevol atribut. En l’exemple només hi ha descripció per l’atribut “bateja amb”, el qual indica que, sense tenir més coneixement, una persona bateja amb la dreta (assumpció més segura, doncs el número de persones dretanes és més elevat que el número de persones esquerranes). A continuació aquest coneixement s’especifica en l’objecte “Home-adult”, el qual hereta tots els atributs de “Persona” i els especialitza. En aquest cas, afageix l’atribut “alçada”, el qual indica que l’alçada d’un home adult és de 175cm (el qual correspon a una mitjana de l’alçada entre homes adults). Aquest coneixement és especificat i complementat en les classes filles “”Jugador beisbol”, “Llançador” i “Jugador de camp”. En cadascun d’aquests nous objectes s’especifiquen alguns atributs. Finalment, hi ha una instància especìfica de “Llançador”, en “Joan Mateu”, pel qual s’especifica l’equip en què juga. A més, també hi ha una instància per “Jugador de camp”, n’”Andreu Corriu” el qual juga a la “Barceloneta B.C.”. Hi ha diverses metodologies per raonar sobre aquest coneixement. A continuació mostrem un algorisme senzill que es basa en l’herència de propietats. Per accedir al valor V d’un atribut A en una instància I, l’algorisme segueix els cinc passos següents:

1. Trobeu I en la base de coneixement.

Page 98: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

93

2. Si l’atribut A té algun valor assignat, retorneu aquest valor. 3. Altrament, comproveu si l’atribut “instància” té algun valor assignat. Si no en té

cap, FALLEU. 4. Altrament, aneu al node identificat per l’atribut “instància” i comproveu si allí

existeix algun valor per a l’atribut A. Si hi és, RETORNEU-LO. 5. Altrament, repetiu fins que l’atribut “és-un” no tingui cap valor assignat o fins a

trobar una resposta. a. Obtingueu el valor de l’atribut “és-un” i aneu a aquest node. b. Comproveu si l’atribut A té algun valor. Si el té, RETORNEU-LO.

Aquesta és una versió simple de l’algorisme que no té en compte el tractament d’inconsistències degudes, per exemple, a l’herència múltiple. És a dir, en cas d’herència múltiple, pot ser que s’heredin dos valors diferents per a un mateix atribut. En aquest cas, es necessitarà un sistema de desambiguament per identificar quin dels dos valors s’ha de prendre com a vàlid.

Coneixement deductiu

L’herència de propietats és una forma molt potent d’inferència però a vegades es necessita tota la potència de la lògica tradicional. En aquest cas el coneixement deductiu proposa usar la lògica tradicional com a eina de representació del coneixement. Així mateix, proposa l’ús de tècniques de procediments deductius, com pot ser la resolució per la lògica de primer ordre, com a mecanisme d’inferència.

Coneixement operacional o procedimental

Entendrem per coneixement operacional o procedimental aquell que especifica què fer quan es dóna una determinada situació. És a dir, la base de coneixement consta d’entitats que determinen el conjunt d’accions a realitzar davant d’una nova entrada. La representació d’aquest tipus de coneixement pot venir especificada de moltes maneres. La manera més intuïtiva és l’ús d’algorismes i funcions per a tal efecte. D’aquesta manera, la base de coneixement constaria d’un conjunt de funcions que porten codificat un comportament a realitzar per a unes entrades determinades. Malgrat la potència que entranya l’ús de funcions, hi ha dos problemes principals que frenen el seu ús:

1. La dificultat d’implementat un programa que es comporti exactament igual que un altre.

2. L’eficiència adquisicional, és a dir, la dificultat d’actualitzar i depurar trossos de codi, sobretot quan aquests creixen.

Per aquest motiu, alguns autors van simplificar la representació del coneixement amb la utilització de regles de producció en comptes d’algorismes. Mentre les regles de producció es poden veure com un programa limitat – el qual especifica una o vàries accions a realitzar per a una entrada determinada –, el seu manejament, adquisició, actualització i depuració és molt més sezill. Per aquest motiu, avui en dia molts algorismes que cauen sota el coneixement procedimental usen regles.

Page 99: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

94

Altres: coneixement distribuït

També podríem parlar d’altres tipus de coneixement, com podria ser el coneixement distribuït. Un cas particular del coneixement distribuït són les xarxes neurals, les quals s’inspiren en el cervell humà per proposar una representació del coneixement basada en una xarxa d’interconnexió de neurones. La figura següent mostra un exemple:

La figura mostra que la xarxa consta d’una capa d’entrada (primera capa de neurones), una capa de sortida (última capa de neurones) i un conjunt de capes intermitges on les neurones estan connectades entre elles. Les neurones es comuniquen mitjançant impulsos (senyals que es transmeten entre neurones connectades). La representació del coneixement es troba en les funcions de transferència de cada neurona. És a dir, cara neurona disposa d’una funció de transferència que transforma els senyals rebuts per les diferents entrades en una sortida concreta.

RESUM

Convé que es tinguin clars tots els conceptes que s’han treballat en aquesta sessió. Tant els relacionats amb la construcció d’una base de coneixement, per a la resolució d’un tipus determinat de problema, com els que ens ajudaran a distingir els diferents tipus de coneixement.

Page 100: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

95

SESSIÓ 16: Representació basada en la lògica – RdC (2/15) Nom: Representació basada en la lògica - REPRESENTACIÓ DEL

CONEIXEMENT (2/15) Tipus: teòrica Format: no presencial Durada: 1 hora Dedicació: 1,5 hora Treball a lliurar: opcional Material:

o Bibliografia bàsica: [Mozota2001]

PRECEDENTS Aquesta sessió té dos punts de partida: d’una banda ampliar el coneixement deductiu que s’ha presentat en la sessió anterior. I, d’altra banda, necessita de tots els coneixements que es van donar en l’assignatura de Lògica matemàtica.

OBJECTIUS L’objectiu d’aquesta sessió és que l’estudiant faci un repàs de l’assignatura de Lògica matemàtica des de la perspectiva de la Representació del coneixement – Raonament que estem analitzant dins d’intel·ligència artificial. Concretament, repassarem com usar el càlcul de predicats CP0 i CP1 per tal de representar el coneixement mitjançant la lògica. Així doncs, la sessió pot ser molt curta o molt llarga, depenent de l’interès que hi aporti l’estudiant. Si només es fa una llegida de la sessió, difícilment s’hauran assolit ni els objectius ni els coneixements necessaris. Per tant, animem a que es vagin rellegint les parts de l’assignatura de Lògica matemàtica que vagin quedant eludides, des del punt de vista que es demana.

CONTINGUTS En aquesta sessió recordarem com representar el coneixement mitjançant la lògica, identificant els quatre rols principals: coneixement, representació del coneixement, problema i raonament. Per finalitzar la sessió detectarem quines són les principals mancances dins dels dominis reals: la completesa, la consistència i la monotonia.

Page 101: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

96

4.2. Representació del coneixement basada en la lògica

4.2.1. Com usar la representació del coneixement basada en la lògica? La representació del coneixement basada en lògica proposa usar la lògica, ja sigui lògica d’ordre 0, lògica d’ordre 1, lògica temporal o altres tipus de lògica per representar el coneixement d’un domini. L’assumpció inicial d’aquest tipus de representació del coneixement és que el món està representat per fets. Malgrat que aquesta assumpció pot semblar que debiliti l’ús d’aquest tipus de representació del coneixement, la seva aplicació continua sent prometedora gràcies a la seva facilitat d’ús i al fet que inherentment incorpori mecanismes de raonament, és a dir, els mateixos mecanismes emprats per la lògica per resoldre problemes. Establint una analogia amb la sessió anterior, el propòsit d’aquesta secció és proporcionar una introducció a la representació del coneixement basada en lògica. Amb aquesta idea en ment a continuació s’identifiquen els conceptes següents: coneixement, representació del coneixement, problema i raonament.

Coneixement

En el món real hi ha molts dominis que es poden expressar de manera deductiva (per tant, s’interpreten com a coneixement deductiu). Alguns exemples d’aquests dominis són els coneixements expressats en llenguatge natural, la formalització de conceptes matemàtics, les relacions – bases de dades o la representació de situació (e.g., el món dels blocs), etc.

Representació del coneixement

Tots aquells dominis que podem interpretar com a coneixement deductiu es poden representar fàcilment usant les lògiques de predicats CP0 i/o CP1. Aquesta representació del coneixement es basa en: 1. Relacions (representades a través de predicats). Per exemple: x és més gran que y: més_gran(x,y). Seria un predicat secundari. L’home: home(x). Seria un predicat primari. 2. Funcions (representades mitjançant termes). Per exemple: x + y: més(x,y). És una funció secundària. El pare de la Maria: pare(Maria). És una funció primària. 3. Quantificadors. Per exemple: Tots els Ps són Qs:

( ))()( xQxPx →∀

Page 102: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

97

Alguns P’s no són Q’s:

( ))()( xQxPx ¬→∃

Problema

Dins de les representacions basades en la lògica, un problema consistirà en preguntar alguna relació, propietat, etc., que es pugui deduir a partir del coneixement que s’ha representat. Així doncs, si expressem el problema del factorial i l’objectiu és respondre “el factorial d’x és y”, expressat com factorial(x,y), una possible pregunta (problema) que ens podríem plantejar dins d’aquest domini és: quin és el factorial de 3? És a dir, factorial(3,y)? On esperem que a y s’instanciï el resultat del factorial de 3.

Raonament

Per tal de resoldre un problema expressat en CP0 o CP1, el raonament que s’ha d’aplicar és la deducció (o mecanisme d’inferència) com la deducció natural o bé la resolució. Si per exemple volíem resoldre un problema expressat en CP0 usant la deducció natural, necessitàvem tota una sèrie de regles/operadors com:

1. Regles d’inferència: 2.

Heieieiei ,,,,,,,, ¬¬→→∨∨∧∧ 2. Regles d’inferència derivades: Sil·logisme inductiu, modus tollens, sil·logisme hipotètic i resolució. 3. Regles de reescriptura, simplificacions, equivalències: Lleis de Morgan, la propietat commutativa, la propietat associativa, la propietat distributiva i equivalències en general. Així doncs, cada tipus raonament necessitarà d’uns operadors determinats per tal de resoldre el problema, en aquest context expressat en CP0 o CP1.

4.2.2. Mancances Qualsevol domini expressat en CP0 i/o CP1, per tal de poder aplicar correctament els mecanismes de raonament associats (com la deducció natural o la resolució), necessita ser complet i consistent. A més a més, són dominis que tenen un comportament monòton. Aquest serà el punt feble de la majoria dels dominis reals quan es volen expressar en CP0 i/o CP1.

Page 103: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

98

Dominis reals

En la majoria dels dominis reals no sempre podrem garantir que siguin o bé complets, o bé consistents, o bé monòtons. La solució no passa per concloure que no es pot resoldre un cert problema, sinó per aplicar el que anomenarem raonament no monòton. Tanmateix, per poder representar dominis incomplets i raonar de manera no monòtona necessitarem: 1) Estendre la representació del coneixement. Així doncs, es proposaran diferents lògiques que permetran estendre la representació de la lògica CP0 i CP1 per poder expressar (o millor dit evitar) inconsistències i, al mateix temps, treballar amb incompleteses. I, 2) com a conseqüència del canvi de representació del coneixement, es necessitarà proposar nous mecanismes de raonament no monòtons, que permetin resoldre els problemes, malgrat les inconsistències i/o les incompleteses. Ho veurem en el tema 4.4 Raonament simbòlic sota incertesa.

4.2.3. Exercici: Factorial – deductiu (optatiu) En aquest apartat es proposa un exercici per tal de recordar la lògica de primer ordre i veure a què correspon el que fèiem a l’assignatura de Lògica matemàtica respecte dels conceptes analitzats en aquest capítol.

Enunciat

Donat el problema del factorial d’un nombre natural, distingeix –i dóna– les parts següents: a) Què és el coneixement del factorial(x,y)? b) Representa el coneixement del factorial(x,y) usant CP0 i/o CP1. c) Identifica diferents problemes que es poden demanar tal i com has expressat el coneixement. Per exemple, un problema és: (factorial 3,y)? d) Resol els problemes plantejats en l’apartat c). Per tant, identifica un mètode de raonament i aplica’l. e) Què passaria si no haguessis definit el cas trivial?

RESUM

Una vegada finalitzada aquesta sessió heu de tenir clar què és el coneixement deductiu, en què consisteix la representació del coneixement mitjançant la lògica, què és un problema en aquest context i com es resol (tipus de raonament). Al mateix temps heu de tenir clar què passa quan manca coneixement o bé és inconsistent quan apliqueu els coneixements vists en l’assignatura de la Lògica matemàtica (centrant-nos en CP0 i CP1).

Page 104: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

99

SESSIÓ 17: Representació basada en regles (I) – RdC (3/15) Nom: Representació basada en regles (I) - REPRESENTACIÓ DEL

CONEIXEMENT (3/15) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Cortés1995] [Rich1994]

o Bibliografia complementària: [Norvig1992]

PRECEDENTS A l’introduir la representació procedimental del coneixement, partirem d’una comparativa amb la representació declarativa que es va analitzar en la sessió anterior (on vam veure la representació del coneixement basada en la lògica).

OBJECTIUS L’objectiu d’aquesta primera sessió –de les que comprenen el tema de Representació del coneixement basada en la lògica– és situar la representació procedimental i analitzar quins són els punts claus que la caracteritzen. Així doncs, començarem analitzant un dels sistemes basats en regles més típics: els sistemes experts.

CONTINGUTS Aquesta sessió farà, en primer lloc, una introducció al tema de la Representació del coneixement basada en regles, on tractarà una comparativa entre la representació declarativa i la procedimental i s’introduirà la representació del coneixement basada en regles. En segon lloc, es presentaran els sistemes experts, a tall d’exemple un sistema basat en regles. Concretament, en aquesta sessió ens centraren en els de primera generació. Així veurem: una descripció dels sistemes experts, l’ELIZA, l’arquitectura genèrica d’un sistema expert de primera generació i el PROSPECTOR.

4.3. Representació del coneixement basada en regles

4.3.1. Introducció Aquest primer apartat del tema de Representació del coneixement basada en regles, persegueix dos objectius: en primer lloc, analitzar la diferència entre la representació declarativa del coneixement (vista en la sessió anterior) i la representació

Page 105: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

100

procedimental que s’analitza en les sessions que comprenen aquest tema, ja que a vegades porta a possibles confusions. En segon lloc, volem presentar quins seran els conceptes que treballarem al llarg d’aquest tema (representació del coneixement basada en regles).

Representació declarativa versus representació procedimental

La principal diferència entre una representació declarativa (e.g., representació mitjançant CP1) i una representació procedimental (e.g., representació mitjançant regles) rau en on es troba la informació de control. Si ens basem en les representacions presentades en CP1 com a representacions declaratives del coneixement, podem observar que una representació declarativa és aquella en la qual el coneixement està especificat, però no se’ns dóna la manera en la qual aquest coneixement s’ha d’usar. Així doncs, per usar una representació declarativa s’ha d’augmentar amb un “programa” que especifiquil què s’ha de fer amb el coneixement i de quina manera s’ha de fer. Per exemple, això seria la resolució (mecanisme de raonament). D’altra banda, es podrien considerar les assercions lògiques com a un programa (en comptes de com a dades d’un programa). Des d’aquest punt de vista, les sentències d’implicació defineixen els camins del raonament. Així doncs, aquests possibles camins de raonament defineixen les possibles vies d’execució d’un programa (e.g., SI condició LLAVORS acció). Per tant, la representació procedimental del coneixement és aquella en la qual la informació de control necessària per utilitzar el coneixement es troba dins del propi coneixement. En aquest cas, per utilitzar la representació procedimental es necessita un “intèrpret” que segueixi les instruccions donades pel coneixement.

Representació del coneixement basada en regles

Si partim de la base que una representació procedimental es pot fer mitjançant regles de l’estil:

SI condició LLAVORS acció Podem observar que és la manera més similar al que hem estat “programant” fins al moment. De fet, la vostra formació s’ha basat principalment en la programació imperativa, molt propera a establir algorismes d’aquesta mena. El paradigma que més ha potenciat i ha exemplificat aquest estil de representació procedimental o representació del coneixement mitjançant regles han estat els sistemes experts. Així doncs, la llarg d’aquest tema 4.3 Representació del coneixement basada en regles veurem, en primer lloc, com a exemple de sistemes basats en regles, els sistemes experts. Independentment de si el raonament aplicat sobre les regles és un encadenament cap endavant, un encadenament cap endarrere o bé un híbrid (vegeu [Rich1994]p194-p200), a cada pas convé escollir la regla adequada per tal de resoldre el problema de manera satisfactòria. Aquest procés pot ser més o menys costós depenent del volum

Page 106: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

101

de regles que comprengui el sistema i de la manera en què s’efectuï la tria. Per tant, en segon lloc, analitzarem aquest procés anomenat emparellament (o bé usant la terminologia anglesa: matching). En darrer lloc, analitzarem quin coneixement de control de cerca convé per al procés de resolució del problema.

4.3.2. Sistemes experts – primera generació En aquest apartat, introduirem el concepte de sistema expert (objectiu, característiques i problemes) a tall d’exemple d’un sistema basat en regles. Com que seguim una perspectiva històrica, començarem analitzant un dels primers sistemes experts –l’ELIZA– i, tot seguit, analitzarem quina era l’arquitectura d’un sistema expert de primera generació. A continuació presentarem el PROSPECTOR, el qual, malgrat ser de primera generació, ja presenta la necessitat d’incorporar raonament estadístic.

Sistemes experts

L’objectiu dels sistemes experts és resoldre problemes que sorgeixen en situacions que habitualment són considerades com molt especialitzades i complexes i la resolució de les quals es confia a un expert (humà). Històricament els sistemes experts han estat considerats com a “poderoses” tècniques que poden ser definides per classes específiques de problemes, les quals necessiten:

1. accedir a una important base de coneixement sobre el domini en qüestió; 2. utilitzar un o més mecanismes de raonament per aplicar el seu coneixement als

problemes que se li proposen 3. i un mecanisme per explicar als usuaris què és el que han fet.

Tanmateix, tenen un gran problema: “semblen tontos” quan surten del seu domini específic. És el que s’anomena el problema de la fragilitat (o bé l’expressió anglesa corresponent: brittleness). De moment podríem definir un sistema expert de la manera següent: Sistema expert = coneixement + inferència Els sistemes experts es caracteritzen per representar el coneixement mitjançant un sistema basat en regles. En general, quan el coneixement es representa d’altres o de diferents maneres –amb tot el que això comporti– parlarem de sistemes basats en el coneixement.

ELIZA (Weizenbaum, 1966)

L’ELIZA (Weizenbaum, 1966) va ser un dels primers programes “raonadors”, posteriorment anomenats sistemes experts. L’ELIZA és un sistema que simula les reaccions d’un psicoanalista. Vegeu en [Rich1994]p205 (figura 6.6) la part d’un possible diàleg amb l’ELIZA. De l’ELIZA en podem observar les característiques següents: 1. La interfície amb l’usuari és mode text (som al 1966!). 2. L’adquisició del coneixement es fa a través d’un expert, que en aquest cas es tracta d’un psicòleg. 3. La representació del coneixement es fa mitjançant esquemes patrons-resposta, semblants a les regles que es mostren a la figura 6.7 a [Rich1994]p205.

Page 107: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

102

4. El llenguatge de representació del coneixement amb el qual es va dissenyar l’ELIZA és el LISP. 5. El motor d’inferència (també en LISP) va seguint –mentre hi hagi diàleg– els passos següents: Pas 1. Fa matching entre l’INPUT i un PATRÓ. Pas 2. Ho transforma utilitzant un esquema RESPOSTA-TRANSFORMACIÓ. Com per exemple: INPUT: “I need a vacation” PATRÓ: “I need a X” RESPOSTA: “What would it mean to you if you got a X?” TRANSFORMACIÓ: “What would it mean to you if you got a vacation?” Situarem el tipus d’emparellament que realitza l’ELIZA dins de l’apartat 4.3.4 Emparellament (matching). Ara bé, l’ELIZA pot arribar a “semblar estúpida” si sempre comença a fer matching amb els mateixos patrons (problema de la fragilitat).

Si voleu conèixer més detalls de la implementació de l’ELIZA com a sistema basat en regles vegeu [Norvig1992]p151-p167

Arquitectura d’un sistema expert – primera generació

En els primers sistemes experts, com l’ELIZA, l’arquitectura (anomenada de primera generació) responia a una relació de mòduls com la que presenta la figura següent.

Page 108: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

103

On, normalment, la base de coneixement no presentava cap tipus d’organització i no existia, o no estava explícitament especificat, ni el metaconeixement ni un mòdul explicatiu del què i el com s’havia deduït el resultat.

PROSPECTOR (Duda et al., 1979)

El PROSPECTOR (Duda et al., 1979) és un sistema expert dissenyat per l’Stanford Research Institute (SRI) per predir dipòsits de minerals a partir de dades geològiques. Va tenir dos factors claus que són els que ens porten a presentar-lo en aquest moment. D’una banda, gràcies a un descobriment que el PROSPECTOR va fer d’un jaciment de molibdè (valorat en molts de $), és el sistema expert que va donar a conèixer el grup d’“intel·ligència artificial” a la premsa i, per tant, es van donar a conèixer els “sistemes experts”. És a partir del PROSPECTOR que les empreses (externes al món universitari) prenen interès en “la intel·ligència artificial” i, més concretament, en els “sistemes experts”. D’altra banda, i aquest és l’aspecte que més ens interessa des d’un punt de vista de l’evolució dels sistemes experts, el PROSPECTOR posa en evidència dos fets: 1. Es necessita dotar les regles, les quals representen el coneixement, de probabilitats associades al coneixement geològic (són dades empíriques que es disposen de l’entorn, a partir de les quals es poden calcular probabilitats condicionades). A partir d’aquí, necessitarem ampliar la representació del coneixement basada en regles (vegeu 4.5 Raonament simbòlic sota incertesa – Raonament estadístic). 2. Es posa en evidència que la probabilitat condicionada del teorema de Bayes no és viable des d’un punt de vista computacional. A partir d’aquest moment s’han de proposar diferents teories que estimin la certesa-probabilitat de les dades, que siguin factibles des d’un punt de vista computacional i correctes des d’un punt de vista estadístic. PROSPECTOR va fer una primera proposta, el que es van anomenar nivells de suficiència i nivells de necessitat (vegeu 4.5 Raonament simbòlic sota incertesa – Raonament estadístic). El PROSPECTOR presenta les característiques següents: 1. L’adquisició del coneixement es fa a través d’un expert, que en aquest cas és un geòleg. 2. La representació del coneixement es fa mitjançant regles de l’estil: SI evidència LLAVORS (LS,LN) hipòtesi. On (LS,LN) indiquen els nivells de suficiència (LS) i de necessitat (LN) associats a aquesta hipòtesi en el cas de presentar-se l’evidència que indica la regla (vegeu [Cortés1995]p188-p189 ). Per exemple: If: magnetite or pyrite in disseminate or veinlet form is present then: (2,-4) there is favorable mineralization and texture for the propylitic stage On LS = 2 i indica que la presència de l’evidència és lleugerament esperançadora. I LN = -4 i indica que l’absència de l’evidència és fortament descoratjadora per a la conclusió (hipòtesi). Concretament el PROSPECTOR constava de 1600 regles. 3. El motor d’inferència consistia a realitzar raonament estadístic/probabilístic, el qual propaga els factors LS i LN associats a les regles fins a oferir una certa conclusió (associada a una certa probabilitat, descrita per a aquests nivells LS i LN).

Page 109: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

104

RESUM

En aquesta sessió s’ha treballat la diferència entre una representació declarativa i una representació procedimental, s’han identificat les diferents parts que analitzarem al llarg del tema de representació basada en regles (sistemes experts, matching i coneixement de control de cerca) i s’han introduït –des d’una perspectiva històrica– els primers sistemes experts (sistemes que representen el coneixement mitjançant regles).

Page 110: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

105

SESSIÓ 18: Representació basada en regles (II) – RdC (4/15) Nom: Representació basada en regles (II) - REPRESENTACIÓ DEL

CONEIXEMENT (4/15) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Cortés1995] [Rich1994]

o Bibliografia complementària: [Norvig1992] [Ginsberg1993]

PRECEDENTS A la sessió anterior vam introduir els sistemes experts de primera generació. A partir els seus punts més febles, passarem a analitzar els sistemes experts de segona generació.

OBJECTIUS L’objectiu d’aquesta sessió és el de presentar els sistemes experts de segona generació i, al mateix temps, estudiar les diferents fases que els composen.

CONTINGUTS En aquesta sessió treballarem els sistemes experts de segona generació. En primer lloc, presentarem el sistema MYCIN que va aportar alguns trets diferencials respecte els sistemes experts de primera generació. A partir d’aquest, ja es pot proposar el que es considera una arquitectura genèrica d’un sistema expert de segona generació. Per finalitzar, es presenta el que ja seria clarament un sistema expert de segona generació: el sistema MILORD.

4.3.3. Sistemes experts – segona generació Els sistemes experts de primera generació presenten, principalment, dos punts febles:

1. No distingeixen el que serien les dades actuals del problema de la base del coneixement. Ni tan sols es tracten en mòduls diferents respecte del motor d’inferència.

2. No tenen capacitat explicativa del per què i del com ha arribat a alguna conclusió. Com a molt són capaços de fer un bolcat de la traça.

Des d’una perspectiva històrica va ser el sistema MYCIN (Buchanan and Shortliffe, 1975) el que va aportar uns trets diferencials respecte els “sistemes raonadors” o

Page 111: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

106

“sistemes experts” proposats fins al moment. Així doncs, en primer lloc, analitzarem el sistema MYCIN; tot seguit presentarem una arquitectura genèrica d’un sistema expert de segona generació i finalitzarem el tema presentant un sistema expert clarament de segona generació, el sistema MILORD (Sierra, 1989).

MYCIN (Buchanan and Shortliffe, 1975)

MYCIN és un sistema expert que intenta recomanar teràpies adequades per a pacients amb infeccions bacterianes a partir dels símptomes del/de la pacient. MYCIN va donar un salt qualitatiu en el disseny i la concepció dels sistemes experts. La seva proposta no només la treballarem dins del tema 4.5 Raonament simbòlic sota incertesa – Raonament estadístic, sinó que ens portarà a presentar –en aquesta sessió– una arquitectura genèrica d’un sistema expert, que anomenarem de segona generació. El MYCIN presenta les característiques següents: 1. L’adquisició del coneixement es fa a través d’un expert, que en aquest cas és un metge especialista en infeccions bacterianes. 2. La representació del coneixement es fa mitjançant regles de l’estil: SI evidència LLAVORS (donat CF(hipòtesi,evidència)) hipòtesi On CF(hipòtesi,evidència) és un factor de certesa que representa una mesura sobre la certesa que existeix que la conclusió (hipòtesi) sigui la conseqüència de la regla en cas que es descrigui el seu antecedent (evidència). Vegeu [Cortés1995] a les pàgines 190-192; en el tema 4.5 Raonament simbòlic sota incertesa – Raonament estadístic s’explicarà més detalladament. El coneixement d’expressava mitjançant unes 500 regles. 3. El motor d’inferència segueix un algorisme com el següent: Pas 1. Troba els organismes culpables. Pas 2. Determina els organismes significatius. Pas 3. Decideix quines medicines són potencialment útils (algorisme especial). Pas 4. Selecciona la millor medicina o medicines (algorisme especial). Un possible diàleg del MYCIN, durant l’adquisició de les dades fins a recomanar la teràpia adequada, el podeu trobar a [Ginsberg1993] a la pàgina 383, figura 18.1. Les primeres propostes del sistema MYCIN estaven implementades en LISP sobre un PDP-11. 4. Mòdul explicatiu. Sembla lògic que un metge vulgui saber el com i el per què el sistema ha arribat a la conclusió d’una teràpia determinada. Aquesta va ser una de les aportacions més importants del MYCIN. Concretament, el sistema TEIRESIAS (Davis, 1982) s’encarregava d’aquesta part. Vegeu en [Rich1994] a les pàgines 610-613 i en [Ginsberg1993] a la pàgina 389 – a la figura 18.2. 5. El sistema MYCIN proposava com a arquitectura la que presenta la figura següent:

Page 112: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

107

Si voleu conèixer més detalls de la implementació del MYCIN vegeu [Norvig1992]p552-p557

També podeu ampliar les característiques del MYCIN a [Ginsberg1993]p381-p392

Arquitectura d’un sistema expert – segona generació

A partir del MYCIN es considera que una arquitectura genèrica d’un sistema expert (anomenada de segona generació) és representada per la figura següent:

Page 113: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

108

Com a principals diferències respecte una de primera generació, podem observar que:

1. La base de coneixement acostuma a ser modular (facilita els processos d’inferència, el procés de manteniment, etc.).

2. Existeix clarament un nivell de metaconeixement (metamòduls) en les arquitectures.

3. Existeix una component autoexplicativa. Seguint [Cortés1995]p180-p187 hauríeu d’analitzar el paper de cadascun dels mòduls que defineixen l’arquitectura i les diferents maneres d’implementar-los. A grans trets podríem definir els diferents mòduls de la manera següent: 1. El mòdul d’adquisició del coneixement pretén ser l’explicitació i l’anàlisi de les dades sobre l’experiència, amb la finalitat de construir sistemes experts. Per tant, l’objectiu serà descobrir i desenvolupar mètodes eficients i no gaire costosos d’adquisició del coneixement. 2. El mòdul que representa la base del coneixement (BC) –o la base de regles (atès que els sistemes experts representen el seu coneixement mitjançant regles) o bé usant l’expressió anglesa Knowledge Base (KB)– conté la informació obtinguda mitjançant les tècniques d’adquisició del coneixement. 3. La memòria de treball (MT) –o base de fets– és on hi ha les dades específiques del problema que es vol resoldre. 4. El motor d’inferència el podríem descriure com un “intèrpret que treballa amb la informació de la BC i la informació de la MT per tal de deduir-ne coses”. Analitzeu les diferències que es presenten quan tenen un comportament deductiu o bé un comportament inductiu. 5. El mòdul explicatiu permet al sistema justificar el seu raonament i les decisions preses. Alguns sistemes afegeixen sistemes tutorials per crear aquest mòdul.

Page 114: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

109

6. L’objectiu de la interfície amb l’usuari és que aquesta sigui el més ergonòmica possible.

Vegeu [Cortés1995]p180-p187

MILORD (Sierra, 1989)

El sistema MILORD (Sierra, 1989) és clarament un sistema expert de segona generació. En aquest cas les regles que expressen el coneixement permeten la lògica difusa (vegeu [Cortés1995]p192-p195; la lògica difusa la treballarem dins del tema 4.5 Raonament simbòlic sota incertesa – Raonament estadístic). El MILORD presenta les característiques següents: 1. Adquisició del coneixement. L’expert depèn del sistema expert concret que es vulgui realitzar, ja que MILORD fa una proposta genèrica d’una arquitectura de sistema expert, podríem dir que es tracta d’un shell. Concretament l’aplica a dos dominis i obté els sistemes següents: - PNEUMON-IA (C. Sierra, 1989): és un domini mèdic, on l’expert és un metge. - DEPUR (M. Sànchez, 1991): el domini està relacionat amb el tractament de la depuració de les aigües. En aquest cas l’expert seria un químic. 2. Representació del coneixement. El coneixement és representat mitjançant regles que permeten incorporar la lògica difusa. Una regla serà expressada de la manera següent:

rn VésqconclourellavorsCCCsi ∧∧∧ K21 On Vr és el valor de certesa de la conclusió q a partir dels valors de certesa associats a les premises Ci. 3. Motor d’inferència. El motor d’inferència es basa en la regla del modus ponens per tal d’anar propagant els factors de certesa a mesura que es van encadenant les regles. Veurem l’algorisme del procés d’inferència en el tema 4.5 Raonament simbòlic sota incertesa – Raonament estadístic. El MILORD també va ser implementat en LISP. 4. Arquitectura multinivell del MILORD. El MILORD proposa una arquitectura multinivell, en la qual es classifiquen els elements en dues dimensions: la dimensió domini-control, i la dimensió del tipus de coneixement. Vegeu la figura 8.3 de la pàgina 196 del llibre [Cortés1995], i vegeu la seva descripció al llarg de les pàgines 196-201.

Podeu trobar una explicació detallada del sistema MILORD a [Cortés1995]p196-p201

Page 115: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

110

RESUM

En aquesta sessió s’ha treballat l’arquitectura genèrica d’un sistema expert de segona generació. A tall d’exemple hem vist el MYCIN (podríem dir que va ser el primer) i el MILORD (un sistema expert clarament de segona generació).

Page 116: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

111

SESSIÓ 19: Representació basada en regles (III) – RdC (5/15) Nom: Representació basada en regles (III) - REPRESENTACIÓ DEL

CONEIXEMENT (5/15) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Rich1994]

o Bibliografia complementària: [Comas1996] [Norvig1992]

PRECEDENTS Aquesta sessió conclou el tema que s’ha estat tractant en les dues darreres sessions: 4.3 Representació del coneixement basada en regles.

OBJECTIUS L’objectiu d’aquesta sessió és analitzar el tema clau dels sistemes basats en regles: com escollir la següent regla a aplicar per tal d’arribar a l’estat objectiu òptim. Per tant s’ha d’analitzar tant el propi procés d’emparellament (o matching) entre l’estat actual i la millor regla a aplicar; com el coneixement de control de cerca, o bé “metaconeixement” necessari per encaminar correctament el procés de selecció de les regles que es van aplicant.

CONTINGUTS En aquesta sessió treballarem els continguts relacionats amb la selecció de regles (procés de matching): indexació, emparellament amb variables, emparellament complex i aproximat, i la resolució de conflictes. Per finalitzar, estudiarem el coneixement de control de cerca necessari.

4.3.4. Emparellament (matching) Dins d’un sistema basat en regles serà molt important realitzar una cerca intel·ligent en el moment d’escollir la regla que tot seguit s’ha d’aplicar. Per tant, s’ha de saber escollir, entre les diferents regles que es poden aplicar en un moment donat, les que tinguin més probabilitats d’arribar a la solució final. Així doncs, es necessita realitzar un emparellament entre l’estat actual i les precondicions de les regles. Analitzarem quatre propostes diferents: la indexació, l’emparellament amb variables, l’emparellament complex i aproximat, i la resolució de conflictes.

Page 117: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

112

Indexació

Imagineu que estem realitzant una cerca per tal de saber quina és la següent jugada a realitzar en una partida d’escacs. Les possibles regles a aplicar podrien estar codificades de la manera que es presenta a continuació:

Noteu que l’antecedent de la regla mostra l’estat inicial del tauler i el conseqüent codifica l’acció a prendre tot mostrant com hauria de ser l’estat final del tauler. Per tant, la base de coneixement actuaria com una taula d’hash on, donada una entrada, retornaria l’estat següent desitjat. Els sistemes d’emparellament de regles per indexació són úlils en entorns com els de demostració de teoremes o en PROLOG. Malgrat això, aquest tipus d’emparellament frena la generalització del coneixement; en l’exemple, necessitaríem tenir en la base de coneixement tots els possibles estats del taulell.

Emparellament amb variables

En l’emparellament amb variables les precondicions no s’han plantejat com adescriptors exactes de situacions particulars. En aquest cas, l’antecedent de les regles consta d’un conjunt de variables que poden prendre un conjunt determinat de valors. Si totes les entrades s’avenen amb aquestes variables i valors, llavors la regla es pot aplicar. Un algorisme que representa aquest tipus d’emparellament és l’algorisme RETE (o xarxa RETE), que fou ideat per en Charles Forgy l’any 1982. Aquest algorisme fou integrat dins del llenguatge OPS5 –per desenvolupar sistemes experts basats en regles– (vegeu [Comas1996]). L’algorisme RETE es basa en la naturalesa temporal de les dades, en la similitud estructural en les regles, i en la persistència en la consistència de l’enllaç entre les variables (vegeu [Rich1994] a les pàgines 202-204).

Emparellament complex i aproximat

Parlarem d’emparellament complex i aproximat quan les precondicions d’una regla especifiquen determinades propietats que no s’han establert explícitament en la descripció de l’estat actual. En aquest cas es necessitarà un conjunt separat de regles per descriure com algunes propietats es poden infererir a partir d’altres. Un exemple concret d’aplicacions on els antecedents de les regles s’emparellen aproximadament amb els estats d’entrada són els programes de reconeixement de la parla. Aquests tipus de programa ha de tenir regles que mapegin la descripció de certs tipus d’ones amb fonemes i paraules. Però, a causa de diferents factors com el soroll, la variació entre la veu de les persones, etc. aquests programes han de cercar un

Page 118: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

113

emparellament aproximat entre les regles – que descriuen com hauria de ser el so perfecte – i els sons pronunciats per l’usuari. Típicament, aquest tipus d’emparellament acostuma a comportar un increment del número de regles, ja que s’incrementa la tolerància en l’emparellament. Tot i això, l’emparellament aproximat és necessari per resoldre aplicacions com el reconeixement de la parla, les quals no poden ser resoltes per sistemes que usin emparellament per variables.

Resolució de conflictes

A vegades és útil afegir informació sobre en quin ordre s’aplicaran les regles en el procés d’emparellament. A aquesta part de matching, s’anomena resolució de conflictes (vegeu [Rich1994] a les pàgines 206-208). Normalment consistirà en assignar una preferència basada: en la regla amb la qual s’ha fet l’emparellament, o bé en els objectes que han fet emparellament, o bé en l’acció que portarà a terme la regla que ha fet emparellament. Així doncs, parlarem de tres tipus de preferències que es podrien aplicar: 1. Preferències basades en les regles. Es poden aplicar des de molts punts de vista. Dos extrems serien: a) considerar les regles segons un ordre predefinit (per exemple PROLOG); o b) donar prioritat a les regles específiques enfront de les de caire més general. 2. Preferències basades en els objectes. De nou, dues polítiques extremes a considerar serien: a) ordenar els emparellaments en funció de la importància dels objectes que han fet emparellament (com per exemple l’ELIZA); o b) ordenar els emparellaments en funció de la posició dels objectes a emparellar en la descripció de l’estat actual. 3. Preferències basades en els estats. Les preferències basades en estats consistirien a activar totes les possibles regles a aplicar, temporalment, i observar els resultats que s’obtenen. Es necessitaria d’una funció heurística per avaluar-los. El principal inconvenient sorgeix en sistemes, com el LISP, on és difícil desfer el camí avançat.

Vegeu [Rich1994]p206-p208

4.3.5. Coneixement control Normalment en un sistema basat en regles es necessitarà coneixement que informi sobre quins camins són els més apropiats per trobar ràpidament un estat objectiu. És el que anomenarem coneixement de control de cerca.

Coneixement de control de cerca

Segurament convindrà afegir coneixement de control de cerca sobre: 1. Quins estats són preferibles a d’altres. 2. Quines regles es poden aplicar en una situació determinada. 3. El subordre amb el qual s’han de tractar els subobjectius. 4. Les seqüències de regles més útils per aplicar.

Page 119: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

114

Ara bé, com més coneixement introduïm, o dit d’una altra manera, com més “metaregles” afegim, més problemes haurem de considerar: 1. El problema de la utilitat (introduït per en Minton l’any 1988). Analitzeu bé el problema de la utilitat a [Rich1994], a les pàgines 208-212. 2. Augmenta la complexitat de l’intèrpret del sistema de producció.

Vegeu [Rich1994]p208-p212

RESUM

Amb aquesta sessió finalitzem un conjunt de tres sessions en les quals s’ha treballat la representació del coneixement basada en regles. Hem analitzat els sistemes experts (de primera i de segona generació) com a exemples de sistemes basats en regles i hem treballat els problemes que poden haver-hi en un sistema basat en regles qualsevol, bàsicament centrats en el procés de matching, moment en el qual es decideix quina serà la següent regla a aplicar. El sistemes PROSPECTOR, MYCIN i MILORD han posat en evidència que la representació del coneixement basada en regles, normalment, requereix que s’augmenti l’expressivitat del raonament estadístic per tal d’especificar correctament el domini que representen. Ho analitzarem dins del tema 4.5 Raonament simbòlic sota incertesa – Raonament estadístic.

Page 120: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

115

SESSIÓ 20: Raonament no monòton (I) – RdC (6/15) Nom: Raonament no monòton (I) - REPRESENTACIÓ DEL CONEIXEMENT (6/15) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Rich1994]

PRECEDENTS Aquesta sessió estendrà la representació del coneixement basada en la lògica, que ja vam veure a les primeres sessions del capítol.

OBJECTIUS L’objectiu d’aquesta sessió és la d’introduir el concepte de raonament simbòlic sota incertesa. Veurem que es pot analitzar des de diferents perspectives i, en aquesta sessió, ens centrarem en el raonament no monòton.

CONTINGUTS En aquesta sessió analitzarem els dominis que requereixen raonament simbòlic sota incertesa, deixant clars els conceptes d’incompletesa, inconsistència i no monotonia. Tot seguit ens centrarem en el raonament no monòton i analitzarem alguns raonaments d’aquest tipus, com ara el raonament per defecte i el raonament minimalista.

4.4. Coneixement incert – Raonament no monòton

4.4.1. Introducció: Raonament simbòlic sota incertesa Com hem vist fins ara, tant la representació del coneixement basada en la lògica (com CP0 i CP1) com la basada en regles “pures” necessiten treballar en dominis complets i consistents. Tanmateix, la majoria de dominis són incomplets i incerts. Així doncs, necessitarem estendre les representacions anteriors i dotar-les de nous tipus de raonaments. És el que anomenarem raonament simbòlic sota incertesa. En aquest apartat veurem una petita història que posarà de manifest les característiques que poden presentar els dominis incomplets i/o incerts. Tot seguit, analitzarem com es pot tractar el coneixement incert (raonament monòton i raonament estadístic). Finalment, ens centrarem en el raonament monòton, que és l’objectiu del tema present: 4.4 Coneixement incert – Raonament no monòton.

Page 121: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

116

Història: Abbott, Babbitt i Cabot

Quine i Ullian, l’any 1978, van proposar la història de l’assassí ABC, on els principals sospitosos són n’Abbott, en Babbitt i en Cabot. Aquesta història presenta, d’una manera molt amena, alguns dels problemes que habitualment presenten els dominis amb coneixement incert, difús i/o canviant. Aquesta història s’explica a continuació. Resulta que tenim tres personatges, n’Abbot, en Babbit i en Cabot, sospitosos d’assessinat. En la interrogació, cadascun dels tres sospitosos dóna la coartada següent:

1. N’Abbot tenia un registre en un hotel molt respectable a Albània. 2. El cunyat de’n Babbit testifica que en Babbit l’estava visitant a Brooklyn

quan es va cometre l’assessinat. 3. En Cabot diu que estava mirant una competició d’esquí a Catskills, però

només tenim la seva paraula. A partir de l’evidència, nosaltres com a humans – de manera similar al que faria un sistema d’aprenentatge – podem extreure les hipòtesis següents:

1. N’Abbot no va cometre el crim perquè té una coartada consistent. 2. En Babbit no va cometre el crim perquè així ho diu el seu cunyat.

Però abans de passar a dir res sobre en Cabot, afirmem la hipòtesi següent:

3. Algú dels tres, n’Abbot, en Babbit o en Cabot va cometre l’assessinat.

Per tant, tot sembla indicar que en Cabot va cometre el crim. Però just en arribar a aquesta conclusió, en nostre coneixement s’amplia amb la informació següent: una càmera va gravar en Cabot en la competició d’esquí. Per tant, això es porta a valorar la hipòtesi següent:

4. En Cabot no va cometre el crim perquè estava mirant una competició d’esquí.

I, en conseqüència, entrem en una contradicció. Noteu que aquest tipus de raonament és molt habitual en els sers humans. Per tant, s’ha de rebutjar una de les quatre hipòtesis. Analitzem tot seguit el nostre nivell de creença en cadascuna d’elles.

La base per (1) és un hotel respectable. Per tant, confiem que la coartada és certa.

La base per (2) és un cunyat, el qual podria estar mentint per protegir un familiar seu.

La base per (3) és que sembla que ningú més tenia cap motiu per cometre l’assessinat. A més, no hi ha hagut robatori ni cap altra acció. Per tant, tot apunta que l’assassí és un dels tres.

Les dues evidències més febles són (2) i (3). Per tant, si rebutgem (2) o (3), estaríem fent una de les dues accions següents:

Incriminar en Babbitt. Augmentar el nostre ventall de sospitosos, considerant altres persones.

Page 122: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

117

Si rebutgem (2), cal que revisem la nostra creença que el cunyat de’n Babbit estava dient la veritat. Si rebutgem (3), rebutgem la hipòtesi que ningú més que ells tres es beneficiava de l’assessinat. En aquest punt podem seguir moltes estratègies, les quals es veuran al llarg d’aquest capítol. Una estratègia general seria reduir el conjunt d’hipòtesis fins a trobar el subconjunt mínim que encara té contradicció. En aquest punt, segurament podrem entrar noves creences al sistema i eliminar-ne d’altres.

Com tractar el coneixement incert?

Els problemes que comporten el coneixement incert, incomplet i/o canviant es poden tractar des de diferents enfocaments. Cadascun d’ells tracta alguns dels problemes que sorgeixen. Al llarg d’aquest capítol en treballarem dos: el raonament no monòton (com a extensió del que hem vist en la representació del coneixement basada en la lògica) i el raonament estadístic (com a extensió del que hem presentat com a representació del coneixement basada en regles). 1. Raonament no monòton. Els axiomes i/o les regles d’inferència s’estenen per tal que sigui possible raonar amb informació incompleta. Mantenen el fet que en un moment donat un sentència pot ser certa, falsa o bé cap de les dues anteriors. (L’estudiarem al llarg d’aquest tema: 4.4 Coneixement incert – Raonament no monòton). 2. Raonament estadístic. S’estén la representació per permetre algun tipus de mesura numèrica sobre la certesa (en comptes de cert o fals) per associar a cada sentència (o regla). (L’estudiarem al llarg del tema següent: 4.5 Coneixement incert – Raonament estadístic).

Vegeu [Rich1994]p216-p217

Sistemes de raonament no monòton

Els sistemes de raonament no monòton es dissenyen perquè puguin resoldre problemes en els quals pot no aparèixer una de les propietats següents: completesa, consistència i/o monotonia. Quins aspectes s’hauran de tractar? (vegeu [Rich1994] a les pàgines 217-219) 1. Com poden estendre’s les bases de coneixement per permetre inferències realitzades tant sobre l’absència de coneixement com sobre una presència del mateix? 2. De quina manera es pot actualitzar correctament la base del coneixement quan s’afegeix un nou fet (o quan s’elimina qualsevol anterior)? 3. Com pot usar-se el coneixement per ajudar a resoldre els conflictes que sorgeixen quan es poden usar diferents inferències no monòtones inconsistents? En el moment de tractar els sistemes de raonament no monòton (vegeu [Rich1994] a les pàgines 219-221) analitzarem diferents aspectes. D’una banda, diferents tipus de raonament no monòton com el raonament per defecte (vegeu 4.4.2 Tipus de raonament no monòton: Raonament per defecte) i el raonament minimalista (vegeu

Page 123: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

118

4.4.3 Tipus de raonament no monòton: Raonament minimalista). D’altra banda, analitzarem diferents aspectes relacionats amb la pròpia implementació dels sistemes, com el tipus de problem solver (o el sistema que resol el problema; vegeu 4.4.4 Implementació – Problem solver) i el sistema de manteniment de la veritat (vegeu 4.4.5 Implementació – Sistemes de manteniment de la veritat), associat al sistema, per tal de garantir en tot moment la consistència de les dades.

Vegeu [Rich1994]p217-p221

4.4.2. Tipus de raonament no monòton: Raonament per defecte El raonament per defecte (o bé la seva expressió anglesa: default reasoning) intenta arribar a unes conclusions basades en què és més probable que sigui cert. Existeixen diferents propostes per tractar el raonament per defecte. Com a representació del coneixement, veurem la proposta que fa la lògica no monòtona i, com a possibles raonaments, veurem l’abducció i l’herència.

Lògica no monòtona

La lògica no monòtona (NML) va ser proposada per en McDermott i en Doyle l’any 1980. La idea fonamental d’aquesta lògica és un sistema que proporciona una base per raonar per omissió, on el llenguatge de la lògica de predicats de primer ordre s’augmenta amb un operador modal M, el qual es llegeix com “és consistent” (vegeu [Rich1994] a les pàgines 221-223 ). Per exemple, l’expressió:

),(),('_),(:, yxDefensaràyxacorddEstàMyxAmicsyx →∧∀ es llegeix de la manera següent: “per tot x i y, si x i y són Amics i si el fet que x s’hagi posat d’acord amb y és consistent amb tota la resta de suposicions, llavors es conclou que x Defensarà a y”. Raoneu sobre l’exemple següent descrit usant la lògica no monòtona:

)()()(:)1( xvolaxvolaMxocellx →∧∀ )()()(:)2( xvolaxvolaMxestruçx ¬→¬∧∀

)()3( FREDocell )()4( FREDestruç

Què conclouen les diferents inferències? Suposem que apliquem dos ordres diferents d’inferència: ordre1 (1)+(2); i ordre2 (2) + (1).

• Ambdós ordres arriben a la mateixa conclusió: “FRED vola”. • Ambdós ordres arriben a la mateixa conclusió: “FRED no vola”.

L’ordre1 arriba a la conclusió que “FRED vola”, ja que si apliquem (1) es conclou que “FRED vola” i a l’utilitzar (2) s’obté que “no és consistent assumir que FRED no vola” i, per tant, no es pot aplicar. Mentre que l’ordre 2 arriba a la conclusió que “FRED no vola”.

Page 124: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

119

• L’ordre1 arriba a la conclusió que “no FRED vola”, ja que si apliquem (1) es conclou que “FRED vola” i a l’utilitzar (2) s’obté que “FRED no vola”, ja que (4) indica que FRED és una estruç. Així doncs, l’ordre1 arriba a la conclusió final que “FRED no vola”. Mentre que l’ordre 2 arriba a la conclusió que “FRED vola”.

Aquesta teoria, en aquest exemple, conclou que no es pot determinar res sobre si FRED vola o no vola, ja que existeixen diferents inferències no monòtones inconsistents. És una postura conservadora. Raonaments no monòtons: Abducció Existeixen classes comunes de raonament no monòton. Un d’aquests tipus de raonament és l’abducció. La lògica estàndard porta a terme deduccions. Així doncs, si seguim l’exemple següent:

)()(·:)1( xGranetsxlaVaricelx →∀ )(·)2( JOANlaVaricel

Podem concloure –per deducció– que: )()3( JOANGranets

Però què passa si en comptes de saber que en JOAN té la varicel·la només podem observar que en JOAN té granets? Podem arribar a alguna conclusió? Encara que potser no tingui la varicel·la, és possible que davant de l’absència d’altres evidències, arribéssim a la conclusió que “en Joan té la varicel·la”. Aquest tipus de raonament per defecte s’anomena raonament per abducció. Podem definir el raonament per abducció de la manera següent: “donades dues fbf (formes ben fonamentades) A B i B, per qualsevol expressió A i B, si és consistent assumir A, fer-ho”. Vegeu [Rich1994], pàgina 224.

Vegeu [Rich1994]p224

Raonaments no monòtons: Herència

El raonament no monòton s’utilitza freqüentment en l’herència dels valors dels atributs, des de la descripció prototipus d’una classe cap a les entitats individuals que pertanyen a la classe. Per a la descripció de les excepcions (no resolubles usant CP1) s’ajuda de regles per defecte com la següent:

)()(:

xABxAB

¬¬

La qual s’interpreta com “si és consistent assumir que no existeix cap ABnormalitat sobre x, AB(x), assumir-ho”. Així doncs, podríem descriure el domini següent

Page 125: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

120

usant sentències de l’estil:

)()()(:)1( xvolaxabxocellx ocell →¬∧∀ )()()(:)2( xvolaxabxestruçx estruç ¬→¬∧∀

)()(:)3( xocellxestruçx →∀ )()(:)4( xvolaxavióx →∀ )()(:)5( xvolaxcoetx →∀

)()6( FREDestruç )()7( TWEETYocell

Podem observar que poden existir diferents tipus d’abnormalitats. Per exemple, si un estruç va en avió podria volar. Per aquest motiu, pot convenir distingir les abnormalitats relacionades amb “ocell” de les abnormalitats relacionades amb “estruç”. Amb aquestes sentències es podria arribar a concloure que el tipus “estruç” és una “abnormalitat dels ocells”. Si apliquem la lògica per defecte a aquest exemple, segons com l’haguéssim descrit, de nou podríem obtenir diferents inferències que portessin a diferents conclusions inconsistents. Per tant, necessitaríem un mecanisme per decidir quina extensió és la correcta.

Vegeu [Rich1994]p224-p226

4.4.3. Tipus de raonament no monòton: Raonament minimalista El raonament minimalista pretén oferir mètodes per referir-se a un tipus específic i útil de coses que són certes en general (vegeu [Rich1994] a la pàgina 226). Aquests models es basen en la idea de trobar el model mínim. De manera general, direm que un model és mínim si no existeixen altres models en els quals siguin certes menys coses. Un dels raonaments minimalistes més usats és l’assumpció d’un món tancat.

L’assumpció d’un món tancat (CWA)

L’ assumpció d’un món tancat (close-world assumption – CWA en anglès) va ser proposada per en Reiter l’any 1978. La CWA es basa en que els únics objectes que

Page 126: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

121

satisfan el predicat P són aquells que ho han de fer. La CWA és una tècnica força poderosa i força usada per a les bases de dades (vegeu [Rich1994] a les pàgines 227 i 228). Per exemple, si demanen si una certa persona treballa en una empresa, es pot respondre que no si aquesta no surt a la llista de treballadors, la qual cosa no té per què implicar que no hi treballa. El llenguatge de programació PROLOG es basa en la CWA. Malgrat la seva potència en alguns entorns, l’assumpció del món tancat té dues debilitats:

1. Aquesta assumpció no sempre és certa en el món real. 2. És un procés de raonament purament sintàctic.

A continuació, aquests dos problemes s’expliquen amb més detall. La primera debilitat de l’assumpció del món tancat és que hi ha algunes aplicacions en què el domini no és tancat. Per exemple, en la història ABC, el coneixment no és estàtic i la informació es va afegint incrementalment; a més, al conèixer noves evidències, s’invaliden algunes de les hipòtesis prèvies. En aquests casos, no serà possible usar aquesta estratègia. Segonament, el raonament basat en l’assumpció del món tancat és un raonament purament sintàtic i no semàntic. Per il·lustrar els problemes que això pot suposar, considerem l’exemple següent. Suposem que volem expressar qui està solter entre un conjunt de persones que estan representades en el nostre domini. Per a tal efecte, s’usen els predicats següents:

Solter (Joan) Solter (Maria)

Per tant, si ara demanem si una tercera persona, en Toni, està soltera, el programa verificarà el predicat !Solter(Toni), concloent que en Toni no està casat. Malgrat això, suposeu que la representació considera les persones que estan casades. Per tant, el coneixement anterior s’hauria d’expressar de la manera següent:

!Casat (Joan) !Casat (Maria)

En aquest cas, si fem la mateixa pregunta de si en Toni està casat, és a dir, !Casat(Toni), la resposta serà negativa. Per tant, per assumpció del món tancat, se suposarà que en Toni sí que està casat, quan, de fet, no tenim informació sobre l’estat cívil de’n Toni. Aquest exemple mostra una de les febleses més importants de l’assumpció del món tancat.

RESUM

En aquesta sessió s’ha introduït el concepte de raonament simbòlic sota incertesa. És important que hagi quedat clar quan es produeix incompletesa, inconsistència o no monotonia. Ens hem centrat en el raonament no monòton (com a extensió de la representació del coneixement basada en la lògica que oferia CP1). Concretament, hem analitzat diferents tipus de raonaments no monòtons: el raonament per defecte i el raonament minimalista.

Page 127: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

122

Page 128: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

123

SESSIÓ 21: Raonament no monòton (II) – RdC (7/15) Nom: Raonament no monòton (II) - REPRESENTACIÓ DEL CONEIXEMENT

(7/15) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Rich1994]

PRECEDENTS En la sessió anterior es va començar a estudiar el raonament no monòton. A partir del que ja vam veure en la sessió anterior considerarem diferents aspectes de la implementació d’aquests mètodes de raonament.

OBJECTIUS L’objectiu d’aquesta sessió és completar el tema de raonament no monòton com a extensió de la representació del coneixement basada en la lògica. Concretament, en aquesta sessió focalitzarem la nostra atenció en els detalls d’implementació per als sistemes de raonament no monòton.

CONTINGUTS Els continguts d’aquesta sessió es centraran en els diferents aspectes d’implementació per als mecanismes de raonament no monòton. Analitzarem les conseqüències dels diferents tipus de raonament que pot oferir el sistema que resol el problema i veurem els sistemes de manteniment de la veritat, concretament, estudiarem els basats en justificacions.

4.4.4. Implementació – Sistema que resol el problema En el moment d’implementar un mecanisme de raonament no monòton, basat en un sistema lògic, sorgeixen clarament dos mecanismes imprescindibles. D’una banda el sistema que resol el problema (o en anglès problem solver) i, d’altra banda, un sistema de manteniment de la veritat (en anglès truth maintenance system o TMS). En aquest apartat farem una breu introducció sobre la necessitat de la implementació d’aquests mecanismes i, tot seguit, ens centrarem en el sistema que resol el problema, en funció de si realitza: 1) un raonament cap endarrere, 2) un raonament cap endavant o bé 3) un sistema híbrid.

Page 129: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

124

Implementacions per als mecanismes de raonament no monòton

Existeixen diferents problemes en els sistemes lògics davant dels sistemes reals: 1. La forma de derivar exactament aquelles conclusions no monòtones que són

rellevants per resoldre el problema. 2. Com actualitzar gradualment el coneixement mentre progressa la resolució del

problema. 3. És freqüent que, en els sistemes de raonament no monòton, les regles

d’inferència disponibles permetin més d’una interpretació dels fets coneguts. 4. En general, les teories –que vam veure en la sessió anterior– són

computacionalment ineficaces, ja que cap d’elles és decidible. En el moment d’implementar un mecanisme de raonament no monòton, necessitarem que el procés de raonament consideri dos conceptes (o mòduls) diferents: el sistema que resol el problema i el sistema de manteniment de la veritat, el qual ha de localitzar les inferències no monòtones de manera que els canvis en la base de dades es tractin de forma adequada. Tot seguit veurem les implicacions que poden tenir les diferents maneres de raonar del sistema que resol el problema.

Vegeu [Rich1994]p229-p230

Raonament cap endarrere

En el moment de resoldre un problema es pot raonar cap endarrere per tal determinar si alguna expressió P és certa (o bé trobar un conjunt de vincles entre les variables que facin que sigui cert). Aquests sistemes poden proporcionar algunes de les característiques següents: – Que permetin clàusules per defecte a les regles cap endarrere. Expressions de l’estil EXCEPTE-QUE:

)()(_)(

xCoartadaQUEEXCEPTExbeneficiaEsxSospitós

−←

– Que suportin algun tipus de debat en el qual s’intentin generar tant arguments a favor de P com en contra. Analitzeu l’exemple que mostra la figura 7.2, de la pàgina 232 de’n [Rich1994], el qual es basa en la història que vam presentar del cas d’assassinat ABC. Observeu diferents fets: – Objectiu: Sospitós(x)? – Canvia el resultat (el sospitós) en funció de l’ordre en el qual s’apliquen les regles? – Una possible solució seria realitzar un debat. En aquest cas, convindrà realitzar algun tipus de tria sobre qui es considera més sospitós en base a una sèrie d’heurístiques/regles, normalment ad hoc al domini.

Page 130: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

125

– Què passa si després de trobar un possible sospitós ens arriba nova informació? Podeu observar que el raonament cap endarrere no és capaç de detectar que alguna cosa ha canviat. En aquests casos convindria el raonament cap endavant.

Vegeu [Rich1994]p230-p232

Raonament cap endavant

La resolució d’un problema també es pot fer raonant cap endavant, a partir de les dades de què es disposa. Les conclusions que es deriven de forma no monòtona es manipulen de la mateixa manera que les que es deriven de forma monòtona. Els sistemes de raonament no monòton que suporten aquest tipus de raonament permeten que les regles estàndard d’encadenament cap endavant s’estenguin amb clàusules, de l’estil EXCEPTE-QUE, que proporcionen la base del raonament per defecte. Com per exemple:

)(),(

),(_:

xSospitósllavorsxCoartadaQUEEXECEPTE

xbeneficiaEsSi−

Analitzeu l’exemple que mostra la figura 7.3, de la pàgina 233 de’n [Rich1994], el qual es basa en la història que vam presentar del cas d’assassinat ABC, aquesta vegada raonant cap endavant.

Vegeu [Rich1994]p232-p233

Sistemes híbrids

En general, pot convenir combinar el raonament cap endarrere amb el raonament cap endavant, proporcionant sistemes de raonament híbrids. En aquests casos, per exemple en la història del cas d’assassinat ABC, podríem utilitzar una regla cap endarrere per tal de trobar un sospitós. Mentre que les regles cap endavant s’haurien d’activar com a conseqüència de l’aparició de nous fets que es considerin rellevants per a la tasca de trobar un sospitós.

Vegeu [Rich1994]p232

4.4.5. Implementació – Sistemes de manteniment de la veritat Dins d’un sistema de raonament no monòton existeixen inferències monòtones i inferències no monòtones. Són les inferències no monòtones les que poden passar a ser invàlides a l’obtenir nou coneixement dins de la base de coneixement, ja que les conclusions a les quals es pot arribar amb la nova informació poden ser inconsistents respecte les que s’havien formulat anteriorment. Els sistemes de manteniment de la

Page 131: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

126

veritat seran els encarregats de localitzar aquestes inferències no monòtones, de tal manera que els canvis en la base del coneixement (BC) es tractin de forma adequada. A tall d’exemple, veurem els sistemes de manteniment de la veritat basats en justificacions.

Tècniques pel manteniment de la veritat

Existeixen diferents tipus de tècniques de manteniment de la veritat. Podríem agrupar-les en dues famílies diferents: aquelles que es basen en cerca primer en profunditat, o bé les que es basen cerca primer en amplada. Cerca primer en profunditat. Dins d’aquesta família podríem posar com a exemple tres tècniques diferents: 1. Backtracking dirigit per dependències. En el moment que el backtracking ha de reconsiderar un camí, desfà només allò que ha provocat la contradicció i no pas allò que és independent de la contradicció (vegeu [Rich1994] a les pàgines 233-236). Recordeu que el backtracking cronològic reconsidera els camins en base a un ordre estructural (o cronològic) i no en base a dependències entre els diferents fets, és a dir, realitza una cerca cega. 2. Sistemes basats en justificacions. Permeten connectar assercions mitjançant una xarxa de dependències. Aquest sistema l’analitzarem en el concepte següent, vegeu [Rich1994] a les pàgines 236-245. 3. Sistemes basats en la lògica. Permeten detectar contradiccions automàticament mitjançant la lògica (vegeu [Rich1994] a la pàgina245 ). Cerca primer en amplada. Dins d’aquesta família podríem considerar com a exemple la tècnica següent: 1. Sistemes basats en suposicions. Manté en paral·lel diversos contextos, cadascun dels quals conté un conjunt de suposicions consistents. A l’evolucionar el raonament, l’univers de contextos va podant-se a mesura que es detecten contradiccions (vegeu [Rich1994] a les pàgines 245-249 ).

Vegeu [Rich1994]p233-p249

Sistemes de manteniment de la veritat basats en justificacions

Analitzarem els sistemes de manteniment de la veritat basats en justificacions (o JTMS), a tall d’exemple per analitzar un possible sistema de manteniment de la veritat. Els sistemes basats en justificacions permeten connectar assercions mitjançant una xarxa de dependències. L’objectiu és que de manera “automàtica” es puguin detectar i solventar les inconsistències. Una asserció (o node) d’aquesta xarxa de dependències es creu (és a dir, és creïble) quan té una justificació vàlida. Direm que una justificació és vàlida si es creu en totes les assercions de la llista_in i no es creu en cap asserció de la llista_out. El funcionament d’aquesta xarxa de dependències es basa en la definició d’aquests dos tipus de llistes: les llistes_in i les llistes_out. Direm que en una llista_in totes les assercions es connecten a la justificació mitjançant enllaços “+”; mentre que en una llista_out les assercions es connecten a la justificació mitjançant enllaços “-”.

Page 132: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

127

Així doncs, la regla:

)()(_)(

xCoartadaQUEEXCEPTExbeneficiaEsxSospitós

−←

es representaria de la manera que es mostra a la figura 7.5, a la pàgina 238 del [Rich1994] per l’Abbott. Els nodes (assercions) s’etiqueten amb un IN si s’ha de creure en l’asserció que es correspon amb el node. I s’etiqueta amb un OUT si no existeix un bona raó per creure en l’asserció. Així doncs, davant del fet Es_beneficia(Abbott) la xarxa quedaria de la manera que es mostra a figura 7.6, a la pàgina 239 del [Rich1994]. A partir d’aquest senzill funcionament es considerà que es satisfà el criteri de consistència quan cada node IN se suporta com a mínim per una justificació vàlida i tots els altres nodes estan a OUT. Així doncs, serà vàlid si la llista_in està etiquetada com a IN i la llista_out està etiquetada com a OUT. Seguiu l’exemple que es mostra a les pàgines 236-245 del [Rich1994] seguint la història del cas de l’assassinat ABC. Observeu diferents característiques: – la necessitat de la bona fonamentació per evitar cicles; – la utilització del raonament minimalista usant l’assumpció del món tancat (CWA); – la manera amb la qual es detecten contradiccions usant les etiquetes IN i OUT; – l’ús de la idea del backtracking dirigit per dependències; – quan i com s’usa el raonament abductiu; – etc.

Vegeu [Rich1994]p236-p245

RESUM

En aquesta sessió hem analitzat consideracions a nivell d’implementació per als mecanismes de raonament no monòton. Concretament hem vist diferents qüestions sobre el sistema que resol el problema i sobre el sistema de manteniment de la veritat. Així doncs, en aquesta sessió, conjuntament amb la sessió anterior, s’ha estudiat el raonament no monòton, com a extensió de la representació del coneixement basada en la lògica.

Page 133: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

128

Page 134: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

129

SESSIÓ 22: Raonament estadístic (I) – RdC (8/15) Nom: Raonament estadístic (I) - REPRESENTACIÓ DEL CONEIXEMENT (8/15) Tipus: teòrica Format: no presencial Durada: 2,5 hores Dedicació: 3 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Rich1994]

o Bibliografia complementària: [Lucas1991]

o Recursos de programari i de maquinari

PRECEDENTS Aquesta sessió parteix dels coneixements vistos en la representació del coneixement basada en regles.

OBJECTIUS Els objectius d’aquesta sessió són els d’analitzar com introduir coneixement incert en un sistema basat en regles, de tal manera que sigui viable des d’un punt de vista computacional.

CONTINGUTS En aquesta sessió introduirem el raonament estadístic analitzant, en primer lloc, la viabilitat de la probabilitat i el teorema de Bayes. En segon lloc, ja passarem a analitzar el mètode de raonament estadístic usat pel sistema MYCIN: els factors de certesa.

4.5. Coneixement incert – Raonament estadístic

4.5.1. La probabilitat i el teorema de Bayes Quan hom es proposa incorporar raonament estadístic dins d’un sistema basat en regles, el primer amb el qual pensa és en la probabilitat i en el teorema de Bayes. En aquest primer apartat del tema 4.5 Coneixement incert – Raonament estadístic, començarem analitzant què entenem per raonament estadístic i, tot seguit, analitzarem la possibilitat de realitzar-lo mitjançant els mecanismes que ens pot proporcionar la probabilitat i el teorema de Bayes.

Page 135: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

130

Raonament estadístic

En algunes resolucions de problemes és convenient descriure les creences sobre les quals no es té certesa però que alhora, tanmateix, són recolzades per certes evidències. Sota aquest marc, podríem distingir dos tipus de problemes: 1. Problemes en els quals es dóna una certa aleatorietat. Com per exemple, els jocs com el bridge i el blackjack. 2. Problemes en els quals el món no és aleatori. És a dir, tot és “normal” fins que sorgeix alguna excepció. Com per exemple les tasques en les quals es necessita el sentit comú, on a vegades és útil alguna mesura estadística. En aquest tema es presentaran mesures per a aquells tipus de problemes que necessiten alguna mesura de probabilitat, certesa o creença. Com a documentació complementària a totes les sessions relacionades amb el tema 4.5 Coneixement incert – Raonament estadístic, es recomana el capítol 5: Reasoning with Uncertainty, del llibre [Lucas1991].

Vegeu [Rich1994]p253-p254

Vegeu com a documentació complementària al tema 4.5 Coneixement incert – Raonament estadístic, el capítol 5 del llibre [Lucas1991]p253-p335

La probabilitat i el teorema de Bayes

El concepte fonamental de les estadístiques bayesianes és la probabilitat condicionada, p(H/F), la qual es llegeix com: “la probabilitat de la hipòtesi H atès que s’observa el fet F”. Recordem el teorema de Bayes:

∑=

⋅= K

nnn

iii

HpHFp

HpHFpFHp

1)()/(

)()/()/(

On Hn formen un conjunt exhaustiu d’hipòtesis mútuament excloents i K és el nombre total de possibles hipòtesis. Sigui p(Hi/F) la probabilitat que la hipòtesi Hi sigui certa donat el fet F. Sigui p(F/Hi) la probabilitat que s’observi el fet F donada la hipòtesi Hi com a certa. I sigui p(Hi) la probabilitat a priori que la hipòtesi Hi sigui certa, independentment de qualsevol fet específic.

Vegeu [Rich1994]p254-p255

Exemple d’aplicació: PROSPECTOR

El sistema PROSPECTOR (que ja el vam presentar com a sistema expert de primera generació, vegeu la sessió corresponent) és un sistema expert dissenyat per predir dipòsits de minerals a partir de dades geològiques.

Page 136: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

131

Ens podríem plantejar de representar el coneixement del sistema usant el teorema de Bayes, de tal manera que, per exemple, podríem intentar resoldre el problema de la manera següent: Imaginem que el nostre objectiu és saber si trobarem el mineral U en una zona rocosa, és a dir, volem saber p(U/Rocosa). Sabent que el conjunt exhaustiu i independent de possibles hipòtesis està format per U, C i F. Per tant, per calcular p(U/Rocosa) hem de conèixer les dades següents (per exemple): p(U) = 0.001, p(C) = 0.05, p(F) = 0.2, p(Rocosa/U) = 0.6, p(Rocosa/C) = 0.3 i p(Rocosa/F) = 0.7. Ara, a partir d’aquestes dades, ja podeu calcular p(U/Rocosa). Quant val? Ara bé, suposem que tenim dos fets i aquests no són independents entre ells, això vol dir que no els podem considerar per separat. Per tant, si coneixem un fet a priori f i un nou fet F recordem que és necessari efectuar el càlcul següent:

)/(),/(),(),/(

FfpHFfpFHpfFHp ⋅=

Podem observar que en un món mínimament complex això creix exponencialment pel nombre de proposicions diferents a considerar (2^n). Així doncs, des d’un punt de vista computacional, la resolució d’aquest sistema usant Bayes esdevé intractable. Analitzem en el concepte següent els problemes que sorgeixen quan s’aplica la probabilitat i el teorema de Bayes.

Vegeu [Rich1994]p254-p255

Problemes

La probabilitat i el teorema de Bayes resulten inaplicables, com a raonament estadístic, per diferents motius: - El problema de l’adquisició del coneixement és inabordable. - Les persones estimen erròniament (de fet això serà inherent a quasi tots els mètodes de raonament estadístic, però és una característica que cal tenir present). - L’espai necessari per emmagatzemar totes les probabilitats és massa gran. - El temps utilitzat per calcular les probabilitats és massa elevat. Un cop es van detectar aquests problemes, es van començar a proposar diferents mecanismes per tal que aquesta teoria fos tractable. Per exemple, el sistema PROSPECTOR va desenvolupar els nivells de suficiència (també coneguts com level of sufficiency (LS), o likelihood ratio (lambda)) i els nivells de necessitat (també coneguts com level of necessity (LN) o negative likelihood ratio (lambda negada)) com a mesures de probabilitat, associades a les regles del seu sistema (vegeu-los a [Lucas1991]p270-p280 ). Al llarg del tema analitzarem els mecanismes, propostes o bé teories següents: 1. Incorporació de factors de certesa a les regles. 2. Xarxes bayesianes. 3. Teoria de Dempster-Shafer. 4. La lògica difusa.

Vegeu [Rich1994]p255-p256

Page 137: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

132

4.5.2. Els factors de certesa i sistemes basats en regles El sistema MYCIN, que vam presentar com a primer sistema expert de segona generació (vegeu la sessió corresponent), va introduir els factors de certesa com una mesura de probabilitat que s’associava a les regles. Vegem la seva definició, utilització i quins problemes resulten d’aquesta proposta.

El sistema MYCIN i els factors de certesa

El sistema MYCIN és un sistema expert que intenta recomanar teràpies adequades per a pacients amb infeccions bacterianes. El sistema proposa assignar a cada regla un factor de certesa, CF(h,e), que representi una mesura sobre l’evidència que existeix que la conclusió (h) sigui la conseqüència de la regla, en el cas que es descrigui el seu antecedent (e): SI e LLAVORS CF(h,e) h. MYCIN utilitza les regles per tal de realitzar un raonament cap endarrere de les dades clíniques disponibles a partir de l’objectiu de trobar organismes significatius causants de malalties.

Vegeu [Rich1994]p256-p257

Definició del factor de certesa: CF(h,e)

El factor de certesa CF(h,e) es defineix a partir de dues components: MB(h,e) i MD(h,e). MB(h,e) mesura la creença que la hipòtesi h proporcioni l’evidència e. Així doncs, MB dóna una mesura de fins a quin punt l’evidència suporta la hipòtesi. Atès que MB(h,e) pertany a l’interval [0,1], interpretarem que un 0 significa que l’evidència no suporta la hipòtesi. Vegeu la seva definició a [Lucas1991] a la pàgina 281. D’altra banda, MD(h,e) mesura sobre la incredulitat que la hipòtesi h proporcioni l’evidència e. Per tant, MD dóna una mesura de fins a quin punt l’evidència suporta la negació de la hipòtesi. En aquest cas, si tenim que MD(h,e) també pertany a l’interval [0,1], tindrem que un 0 indica que l’evidència suporta la hipòtesi. Vegeu la seva definició a [Lucas1991] a la pàgina 281. A partir d’ambdues mesures es desprèn la definició del factor de certesa, CF(h,e), següent:

{ }[ ]1,122:

),(),,(min1),(),(),(

,

−→×

−−

=

Ω∈

ΩΩCFehMDehMB

ehMDehMBehCF

he

Interpretarem que un –1 significa que la hipòtesi h és desconfirmada per l’evidència e; un 1 que la hipòtesi h és confirmada per l’evidència e; i un 0 significarà que l’evidència e no influencia en la creença de la hipòtesi h.

Vegeu [Rich1994]p257

Vegeu més detalladament la seva definició a [Lucas1991]p280-p286

Page 138: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

133

Com es combinen les regles?

Un cop tenim el coneixement del sistema representat mitjançant fets i regles, les quals incorporen els factors de certesa assignats pels experts, necessitem saber com combinar-los en el moment d’encadenar les regles fins a obtenir la “solució al problema”. Voldrem que es satisfacin les propietats següents: a) Les funcions de combinació haurien de ser commutatives i associatives, ja que l’ordre en el qual es troben les evidències és arbitrari. b) Fins que no es trobi la certesa, les evidències addicionals que confirmin han d’incrementar MB (i anàlogament MD). c) Si les inferències incertes s’encadenen juntes, el resultat ha de ser de menor certesa que cadascuna de les inferències per separat. Analitzem les combinacions següents (vegeu [Lucas1991] a les pàgines 286 i 287): Co-conclusió: si es pot arribar a h per dos camins diferents, quin és el seu factor de certesa? Gràficament ho podríem il·lustrar de la manera següent:

I la fórmula corresponent que se’n deriva és:

{ }⎪⎪

⎪⎪

=<++

≤⋅<−−

+=>−+

=

2,1,0)',()),',(1)(',()',(

0)',()',(1,)',(,)',(min1

)',()',(2,1,0)',()),',(1)(',()',(

)'',(

121

2121

21

121

21

iperehCFsiehCFehCFehCF

ehCFehCFsiehCFehCF

ehCFehCFiperehCFsiehCFehCFehCF

ecoehCF

i

i

And i or: quan les evidències estan combinades per and i/o or a les regles. Vegem-ho gràficament:

Les fórmules que se’n deriven són:

{ }{ })',(),',(max)',(

)',(),',(min)',(

2121

2121

eeCFeeCFeeoreCFeeCFeeCFeeandeCF

==

Propagació: Vegem com es propaga el factor de certesa en l’encadenament de regles. Vegem-ho gràficament:

Page 139: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

134

I la fórmula corresponent és:

{ })',(,0max),()',( eeCFehCFehCF ⋅= Una vegada definits els diferents operadors definits en els factors de certesa, passem a veure un exemple (concepte següent).

Vegeu [Rich1994]p257-p261

Vegeu també [Lucas1991]p286-p287

Exercici

Suposem que tenim un sistema basat en regles, el qual estima la incertesa amb els factors de certesa, format per les regles següents:

figtheniifRfidthenaifR

fihthengorfifRfibthenfanddifR

fihthencorbandaifR

30.05

75.04

40.03

60.02

80.01

::::

)(:

De tal manera que la regla R1 té assignat el factor de certesa: CF(h, a and (b or c)) = 0.80. Suposem que usem el coneixement a priori d’e’ respecte els fets a, c, f i i: CF(a,e’) = 1.00 CF(c,e’) = 0.50 CF(f,e’) = 0.70 CF(i,e’) = -0.40 Entenem que els coeficients de certesa associats a les regles indiquen el cas que els fets de les condicions són totalment coneguts, malgrat que pot ser que només sapiguem quelcom en certa mesura. L’objectiu és la hipòtesi h, és a dir, què podeu dir d’h? Recordeu que realitzarem encadenament cap endarrere de les regles. Feu l’exercici fins a resoldre’l a partir de les definicions anteriors. El resultat que us hauria de donar és 0.568.

Vegeu [Lucas1991]p287-p289

Page 140: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

135

Problemes dels factors de certesa

Un dels problemes fonamentals dels factors de certesa és que no garanteixen la independència entre les evidències, per tant, en aquest punt no segueix el teorema de Bayes. Això podria portar a conclusions errònies, com ara que, pel fet d’haver regat, s’arribés a la conclusió que ha plogut (vegeu [Rich1994], pàgines 261-262 ). Autors com en Pearl també van argumentar en contra del fet que donada la probabilitat condicionada p(h/e)=x, llavors p(h negada/e) sigui (1-x). A partir d’aquí sorgeixen altres propostes com les xarxes bayesianes.

Vegeu [Rich1994]p261-p262

RESUM

En aquesta sessió hem analitzat els inconvenients d’usar la probabilitat i el teorema de Bayes per realitzar el raonament estadístic quan s’introdueix coneixement incert en un sistema de representació del coneixement basat en regles. També hem analitzat els factors de certesa, introduïts pel sistema MYCIN, per tal de solventar els problemes del teorema de Bayes.

Page 141: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

136

Page 142: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

137

SESSIÓ 23: Raonament estadístic (II) – RdC (9/15) Nom: Raonament estadístic (II) - REPRESENTACIÓ DEL CONEIXEMENT (9/15) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Rich1994]

o Bibliografia complementària: [Lucas1991]

PRECEDENTS A la sessió anterior vam analitzar la proposta que feia el sistema MYCIN com a raonament estadístic per tal de tractar el coneixement incert: els factors de certesa. En aquesta veurem dues propostes més que sorgeixen a partir dels problemes que vam poder observar.

OBJECTIUS L’objectiu d’aquesta sessió és analitzar dues propostes de raonament estadístic: les xarxes bayesianes i la teoria de Dempster-Shafer.

CONTINGUTS En aquesta sessió veurem el concepte de les xarxes bayesianes com a alternativa dels factors de certesa. Tanmateix, ens centrarem en la teoria de Dempster-Shafer, ja que proposa una manera de realitzar el raonament estadístic totalment diferent dels mecanismes que hem vist fins al moment.

4.5.3. Xarxes bayesianes En J. Pearl va criticar diferents aspectes dels factors de certesa, com per exemple que com que no garanteixen la independència entre les evidències poden portar a conclusions errònies. Aquests diferents aspectes el van portar a proposar i justificar les xarxes bayesianes l’any 1988. Aquestes han estat molt utilitzades, tot i així només veurem el seu concepte com a mètode de raonament estadístic alternatiu i no les analitzarem en detall (ja que queda fora de l’abast dels objectius de l’assignatura).

Concepte de les xarxes bayesianes

En J. Pearl argumenta que per descriure el món no és necessari utilitzar una taula de probabilitats immensa en la qual es llisten les probabilitats de totes les combinacions possibles de successos, ja que la majoria de successos són independents entre ells.

Page 143: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

138

En aquest sentit proposa usar una representació del coneixement més local, on s’hi descriguin grups de successos que interactuïn. Així doncs, proposa diferenciar: 1) les proposicions que influencien en les probabilitats dels seus indicis; i 2) el fet que l’observació d’un indici afecti la probabilitat de totes les possibles causes. A partir d’aquesta idea proposa de construir un graf (o xarxa) acíclic dirigit, el qual representi les relacions de causabilitat entre les variables (vegeu la figura 8.2, a la pàgina 263 de [Rich1994] ). Les variables del graf poden ser proposicionals (cert o fals) o també variables que adoptin valors d’algun tipus (per exemple, d’alguna malaltia específica). Per tal que aquesta representació del coneixement permeti realitzar un mecanisme de raonament estadístic es necessita que a cada node hi hagi la informació següent: 1. De cada node pare es necessita saber quina evidència proporciona sobre els valors que puguin adoptar els fills. Per exemple, una taula de probabilitats condicionades (vegeu la figura 8.3, a la pàgina 264 de [Rich1994] ). 2. Un mecanisme que calculi la influència d’un node arbitrari sobre un altre. 3. I un mecanisme que garanteixi que les probabilitats es transmeten correctament pel graf.

Vegeu [Rich1994]p262-p265

4.5.4. La teoria de Dempster-Shafer La teoria de Dempster-Shafer és el resultat dels treballs realitzats per en Dempster l’any 1968 i per en Shafer l’any 1976. Proposa un mètode de raonament estadístic que assigna intervals de creences a diferents conjunts de proposicions.

Grau de creença

A tot conjunt de proposicions s’assigna un interval: [Creença, Plausibilitat]. La creença (belief) mesura la força de l’evidència a favor d’un conjunt de proposicions. El seu valor pertany a l’interval [0,1], entenent que un 0 indica que l’evidència és nul·la i un 1 indica certesa. D’altra banda, la plausibilitat (Plausibility) es defineix a partir de la creença:

[ ]1,0)()(1)(

∈¬−=

sPlsBelsPl

Mesura l’abast en el qual l’evidència a favor de negat s deixa espai per la creença en s. Així doncs, es satisfarà la propietat següent:

0)(0)(1)( ===¬ sBelisPlllavorssBelSi Així doncs, l’interval [Creença, Plausibilitat] mesura: 1) el nivell de creença sobre algunes proposicions; i 2) la quantitat d’informació que es té.

Vegeu [Rich1994]p265-p266

Page 144: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

139

La teoria Dempster-Shafer versus un sistema bayesià

És important comprendre de quina manera interpreta el coneixement incert del domini un sistema bayesià respecte la teoria de Dempster-Shafer. Suposem que tenim tres hipòtesis rivals A, B i C. Si no es disposa de cap informació conforme siguin certes, la teoria Dempster-Shafer assignaria a cadascuna d’elles l’interval [0,1]. Aquesta teoria, a mesura que vagi disposant de més informació, anirà restringint l’interval. D’altra banda, un sistema bayesià “pur” a cadascuna de les hipòtesis li assignaria la probabilitat 1/3.

Vegeu [Rich1994]p266

Conceptes

Univers: definirem l’univers com el marc de discerniment, també conegut pel símbol: Θ Així, per exemple, l’univers d’un problema de diagnosi pot ser:

{ }PneumòniafredatGriplèrgiaAl ,Re,,·=Θ L’objectiu serà assignar una mesura de creença a cadascun dels components de l’univers. Tot i així, s’haurà de tenir present que tota evidència no té perquè suportar els elements individuals de l’univers. Per exemple, l’evidència “febre” podria només suportar el subconjunt {Grip, Refredat, Pneumònia}. També considerarem que els elements de l’univers són mútuament excloents, de tal manera que l’evidència sobre quelcom podria tenir algun efecte sobre la creença respecte dels altres. Així doncs, aquesta teoria permet tractar les interaccions manipulant directament els conjunts d’hipòtesis. Funció de densitat de probabilitats m. Aquesta teoria usa la funció de densitat de probabilitats, anomenada m, de tal manera que m(p) mesura la quantitat de creença que es té sobre el conjunt d’hipòtesis p, en base a la informació de què es disposa. Aquesta funció m es defineix per tots els possibles subconjunts de l’univers, de tal manera que satisfà: ∑ Θ⊆∀= ppm ,1)( Hi haurà molts subconjunts p que no tindran sentit, pels quals m(p) adoptarà el valor 0. Bel(p). A partir de la funció m podrem definir la creença que tenim sobre un conjunt p:

∑⊆

=pq

qmpBel )()(

Mecanisme de raonament. Suposem que tenim definides diferents funcions de densitat (o de creença) per a diferents evidències: com podem raonar? És a dir, com podem combinar-les? Siguin m1 i m2 dues funcions de creença. Sigui X el conjunt dels subconjunts de l’univers pels quals m1 té un valor diferent de 0.

Page 145: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

140

Sigui Y el conjunt dels subconjunts de l’univers pels quals m2 té un valor diferent de 0. Així doncs, definirem m3 de la manera següent:

YyXxonymxm

ymxmZmYXm

yx

yx ⊆⊆⋅−

⋅==∩

∑∑

∅=∩

∅≠∩ ,,)(2)(11

)(2)(1)(3)(3

Vegeu [Rich1994]p266-p267

Vegeu més detalladament la seva definició a [Lucas1991]p300-p312

Exemple

Per tal de comprendre la teoria de Demster-Shafer seguiu atentament l’exemple que es detalla en les pàgines 267-270, de [Rich1994] sobre el problema de diagnosi. Veureu que es van calculant diverses funcions de creences a mesura que van arribant diferents evidències com: “febre”, a partir de la qual es defineix m1; “mucositat nasal”, a partir de la qual es defineix m2; es combinen i obtenim m3; apareix el símptoma “desapareix la febre quan el pacient se’n va de viatge”, a partir de la qual es defineix m4 i, si es combina amb m3, s’obté m5. Preguntes: 1. Un cop teniu calculada m3: - Quant val Bel({Refredat,Pneumònia})? - Quant val Bel(univers)? - Quin subconjunt p de l’univers (diferent de l’univers) té un Bel(p) més gran? 2. Heu comprès com s’escalen els valors en el càlcul d’m5? 3. Per què han aparegut conjunts buits en el càlcul d’m5? Què significa?

Vegeu [Rich1994]p267-p270

RESUM

En aquesta sessió s’ha revisat la proposta d’en Pearl, les xarxes bayesianes, i s’ha estudiat la teoria de Dempster-Shafer. Són dos mecanismes per tractar el coneixement incert usant el raonament estadístic.

Page 146: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

141

SESSIÓ 24: Raonament estadístic (III) – RdC (10/15) Nom: Raonament estadístic (III) - REPRESENTACIÓ DEL CONEIXEMENT (10/15) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Brule1985] [Cortés1995]

o Bibliografia complementària: [Rich1994] [Garriga1995]

PRECEDENTS Aquesta sessió està estretament lligada a les dues sessions anteriors, que conforma el bloc de sessions que descriuen el raonament estadístic.

OBJECTIUS L’objectiu d’aquesta sessió és el de treballar la lògica difusa i comprendre com es pot usar dins d’un sistema basat en regles.

CONTINGUTS En aquesta sessió analitzarem la lògica difusa presentant diferents conceptes: la necessitat de la lògica difusa; els conceptes bàsics que la descriuen; les operacions que defineixen un conjunt difús; com s’interpreta un sistema probabilístic respecte d’un sistema difús; com es realitza la composició dels valors difusos i com seria un procés d’inferència dins d’un sistema basat en regles que usa la lògica difusa, com per exemple el sistema MILORD.

4.5.5. La lògica difusa Podem entendre la lògica difusa (fuzzy logic) com una altra proposta de raonament estadístic per calcular la confiança en els valors de certesa. La lògica difusa va ser introduïda per n’L.A. Zadeh l’any 1965, malgrat que els seus orígens ja els podríem trobar en la vella filosofia grega.

Necessitat de la lògica difusa

Hi ha una clara necessitat de l’ús de la lògica difusa, ja des d’una perspectiva del llenguatge natural. El llenguatge usa expressions clarament vagues i imprecises, com per exemple:

Page 147: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

142

L’Anna és alta. Avui fa molta calor. Si busquem més precisió en aquestes frases, moltes vegades perdem algun dels seus valors semàntics, ja que per exemple podríem dir: “L’alçada de l’Anna és de 152 cm” o bé “L’alçada de l’Anna és 1.2 la desviació estàndard de la mitjana de l’alçada de la seva edat i la seva cultura”. A partir d’aquí podrien sorgir preguntes de l’estil: “Una dona amb una alçada 1.199999 de desviació estàndard de la mitjana de l’alçada de la seva edat i la seva cultura, també s’ha de considerar alta?”; “A quina cultura pertany l’Anna?”; “En quina mesura hi pertany?” Així doncs, sembla que és més ric dir “L’Anna és alta”.

[Brule1985]

Vegeu una idea del concepte a [Rich1994]p270-p271

Conceptes bàsics

Els valors de certesa o de pertinença en un sistema difús (fuzzy system) es troben definits sobre el rang de valors [0.0, 1.0]. On 0.0 representa l’absoluta falsedat i l’1.0 representa l’absoluta certesa. Així doncs, si per exemple tenim la frase “l’Anna és gran”, sabent que l’Anna té 75 anys, podríem assignar un valor de certesa de 0.80. D’aquesta manera estarem interpretant la frase anterior com: “L’Anna és un membre del conjunt de la gent gran” i seria representat per: mGRAN(Anna) = 0.80 On m és la funció de pertinença, en aquest cas del conjunt de la gent gran (GRAN) i retorna un valor entre 0.0 i 1.0. En aquest exemple retornaria el valor 0.80. Observeu la diferència conceptual entre els sistemes probabilístics i els sistemes difusos: Aproximació probabilística: “Hi ha un 80% de probabilitats que l’Anna sigui gran”

Aproximació difusa:

Page 148: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

143

“L’Anna pertany al conjunt de la gent gran amb un grau de 0.80”

[Brule1985]

Operacions

Un sistema difús basat en els conjunts difusos es regeix per la definició de diferents operacions. Depenent de com siguin aquestes podem obtenir sistemes difusos que estimen la certesa de manera diferent. Proposem un exemple de definicions, d’aquestes operacions, el més simple possible: Definició 1: Sigui X algun conjunt d’objectes amb els elements notats com a x. Així X = {x}. Definició 2: Un conjunt difús (fuzzy set) A dins d’x es caracteritza per una funció de pertinença mA(x), la qual associa a cada element d’x un valor de l’interval [0.0, 1.0]. Com més s’aproxima mA(x) a 1.0, més s’incrementa el grau de pertinença d’x dins d’A. Definició 3: A és un conjunt buit si, i només si

0.0)(: =∀ xmAx Definició 4: A = B si, i només si (mA = mB):

)()(: xmBxmAx =∀ Definició 5: Complementari (not): mA’ = 1 - mA Definició 6: A es troba inclòs dins de B si, i només si:

mBmA ≤ Definició 7: C = A unió B, on mC = max { mA(x), mB(x) } Definició 8: C = A intersecció B, on mC(x) = min { mA(x), mB(x) } Si en comptes de treballar amb conjunts difusos treballem amb sistemes difusos basats en regles, necessitarem parlar de les funcions de combinació, com la “propagació” que vam veure en els factors de certesa (la qual anomenarem funció d’implicació dins dels sistemes difusos). En aquest context es defineix de moltes maneres la “implicació”, depenent de com s’hagin definit les operacions complementari, unió i intersecció. Pel que fa a les conjuncions dels termes (“intersecció”), se les anomena t-normes (o T); pel que fa a les disjuncions (“unions”), se les anomena t-conormes (o S); i pel que fa a la negació (“complementari”), se l’anomena negació forta (o N).

Page 149: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

144

[Brule1985]

Probabilitat versus lògica difusa

És important que al llarg de les sessions que parlen de raonament estadístic sigueu capaços de diferenciar les diferents maneres de raonar i d’interpretar els valors de certesa que proposa cada sistema. Per exemple, si suposem que hem definit un sistema que funciona a partir de conjunts difusos (definit per les operacions anteriors) analitzem en què es diferenciaria d’un sistema probabilístic. Podem observar que l’operació intersecció (AND) en un sistema probabilístic es calcula mitjançant la “multiplicació” mentre que en aquest sistema difús es calcula mitjançant el “mínim”. Vegem què implica: Suposem que: x = Joan S és el conjunt difús de la gent simpàtica. T és el conjunt difús de la gent alta. Així doncs, Si mS(x) = 0.90 i mT(x) = 0.90 el resultat probabilístic és mS(x)*mT(x) = 0.81, mentre que el resultat difús és min{ mS(x), mT(x) } = 0.90 Com s’interpreta des d’un punt de vista lingüístic? Normalment s’interpreta que molt equival a 0.90 i bastant a 0.81, així doncs des d’un punt de vista probabilístic hem obtingut: “Si en Joan és molt simpàtic AND en Joan és molt alt llavors en Joan és bastant simpàtic, alt”. D’altra banda, des d’un punt de vista del sistema difús: “Si en Joan és molt simpàtic AND en Joan és molt alt llavors en Joan és molt simpàtic, alt”. De la mateixa manera, si l’AND fos sobre 5 molts obtindríem: - Probabilitats: 0.59, que s’interpreta com una mica. - Difús: 0.90, que s’interpreta com a molt. Què passaria amb la interpretació de l’OR, si entenem que en probabilitats l’OR = (A+B – A*B), mentre que en un sistema difús el podem interpretar com a “màxim”?

[Brule1985]

Page 150: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

145

Composició dels valors

Dins de la lògica difusa necessitarem parlar de la composició de valors des del moment que treballem en valors qualitatius com: molt, bastant, més o menys, una mica, etc. De tal manera que es necessita sistematitzar el procés de saber quan som en un llindar o en un altre dins d’un conjunt difús. És a dir, com transformem el fet de parlar sobre “L’Anna és gran” a “L’Anna és molt gran”. Una de les maneres per les quals es pot definir aquesta relació és mitjançant una transformació de l’estil:

2)()( xmAxmMOLTA = Per tant, si mGRAN(Maria) = 0.8 llavors mMOLTGRAN(Maria) = 0.64. És habitual fixar un nombre d’n llindars per a cada conjunt difús i associar vectors d’n-elements, on cada element té un valor entre 0.0 i 1.0. Per exemple, si n=7, podem definir MOLT i POC en un conjunt difús de la manera següent:

0.00.01.03.07.00.10.10.10.17.03.01.00.00.0

POCMOLT

I cada eix el podem interpretar des d’un punt de vista lingüístic per etiquetes com: molt, bastant, ... , una mica, poc, gens. On la “precisió” dependrà d’n. Aquests vectors, o matrius, serviran per passar tant d’una escala a una altra, com d’una interpretació difusa a una quantitativa i viceversa. En el segon cas, és el que en podríem dir processos de “fuzzificació” i de “desfuzzificació”.

[Brule1985]

Procés d’inferència: MILORD

Si tenim un sistema basat en regles que usa la lògica difusa necessitarem adequar el raonament del motor d’inferència per tal que propagui els valors de certesa correctament. Suposem que som davant del sistema MILORD (que ja vam veure en una sessió anterior ). El motor d’inferència del MILORD es basa en la regla del modus ponens per tal d’anar propagant els factors de certesa a mesura que es van encadenant les regles. Així doncs, si teníem que una regla era definida de la manera següent:

rn VésqconclourellavorsCCCsi ∧∧∧ K21 On Vr és el valor de certesa de la conclusió q a partir dels valors de certesa associats a les premises Ci. El procés d’inferència associat es defineix segons l’algorisme següent: Pas 1. Obteniu el valor de certesa de les condicions:

nCCC ∧∧∧ K21

Page 151: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

146

I són aquests valors:

nVVV ∧∧∧ K21 Pas 2. Combineu els valors de certesa de les condicions usant una t-norma (T), la qual modela l’operació AND:

)))),((,(,( 121 KK nncomb VVTVTVTV −= Pas 3. Combineu el valor obtingut en el pas 2 amb el valor de certesa de la regla, utilitzant la regla que modela l’operació de modus ponens:

.'),,( implicaciódfunciólaésmonVVmV IrcombIpropagat = Pas 4. En el cas que q tingués un valor de certesa Vq-v, previ a l’aplicació d’aquesta regla, aquest valor s’ha de combinar amb el valor propagat usant una t-conorma (S) – la qual modela l’operació OR– :

),( rqpropagatnouq VVSV −− = Com podeu observar, cada sistema dependrà de com s’hagin dissenyat les operacions T, S, etc. Aquest és el motiu pel qual hi ha en la literatura tantes propostes diferents de sistemes difusos.

Vegeu [Cortés1995]p199-p200

Vegeu una altra proposta de sistema difús a [Garriga1995]

RESUM

En aquesta sessió s’ha presentat la lògica difusa com una manera més de realitzar el raonament estadístic. Així doncs, amb aquesta sessió s’ha finalitzat un bloc de 3 sessions, en què s’han presentat diferents alternatives per treballar amb coneixement incert des de la perspectiva del raonament estadístic. Cadascuna d’elles estima d’alguna manera la certesa associada al resultat final, encara que aquest valor s’interpreta d’una manera diferent per a cada model.

Page 152: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

147

SESSIÓ 25: Xarxes semàntiques, frames i el concepte d’herència – RdC (10/15)

Nom: Xarxes semàntiques, frames i el concepte d’herència - REPRESENTACIÓ (11-12/15)

Tipus: teòrica Format: no presencial Durada: 3 hores Dedicació: 4 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Rich1994] [Frikes1985]

OBJECTIUS L’objectiu d’aquesta sessió és donar els fonaments de la representació del coneixement estructurada. Analitzant tant els principals tipus de representació estructurada com el mecanisme de raonament associat.

CONTINGUTS Els continguts d’aquesta sessió se centren en la descripció tant els principals tipus de representació estructurada (característiques generals, xarxes semàntiques i frames) com en el treball del raonament associat: el concepte d’herència. Concretament parlarem d’herència estructural, herència múltiple i herència no monòtona.

4.6. Representació del coneixement estructurada

4.6.1. Xarxes semàntiques, frames i el concepte d’herència Quan parlem de representacions estructurades (també anomenades estructures d’slot and filler) parlarem de xarxes semàntiques i/o frames. En aquest apartat descriurem les característiques d’aquestes estructures i el seu mètode de raonament: l’herència. Una explicació paral·lela i/o complementària a aquest apartat la podeu trobar a [Rich1994]p275-p301.

Característiques

La representació estructurada, en general, es defineix per les característiques següents:

Page 153: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

148

1. Aquestes estructures suporten adequadament el concepte herència, al llarg dels enllaços que anomenarem ÉS_UN i INSTÀNCIA_DE. 2. Indexen les assercions del coneixement que representen en base a les entitats (objectes, símbols o classes) que representen. 3. La representació que es proposa (la veurem en els conceptes següents) permet que la descripció de propietats sigui molt més senzilla que les representacions del coneixement que hem estudiat fins ara. 4. Aquesta representació del coneixement és una forma de programació orientada a objectes, amb tots els avantatges que això implica, com la pròpia modularitat. Parlarem de dues representacions: xarxes semàntiques i frames. Ambdues aporten les mateixes facilitats. Es diferencien per la seva implementació.

[Rich1994]p275-p276

Xarxes semàntiques

Les xarxes semàntiques es fonamenten en la idea que el significat d’un concepte depèn de la manera en la qual es troba connectat amb d’altres conceptes. La seva representació originària es basava en un graf orientat i etiquetat on els nodes representen objectes, conceptes, predicats, etc., mentre que els arcs representen relacions (etiquetes definides per una semàntica fixa). Així doncs, tindrem regles d’inferència associades als tipus de les etiquetes dels arcs. L’estructura de la pròpia xarxa servirà per efectuar una cerca associativa. Vegem un exemple de la modelització de la memòria del regne animal que proposava en Quillian l’any 1968:

Page 154: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

149

Herència estructural

L’herència és el mètode de raonament de les representacions estructurades. Aquest mètode de raonament implica diferents coses: - lliga una propietat amb una determinada relació; - una relació pot fer heretar moltes propietats. L’herència de estructural hereta totes les propietats dels seus avantpassats. Distingirem tres tipus d’herència de estructural: a) De propietats-valors. Aquesta és la més utilitzada. Quan consultem tot el que sabem sobre un cert objecte ens retornarà totes les propietats i valors que hagi pogut heretar. Per exemple, si consultem tot el que podem saber del concepte CANARI, aplicant l’herència obtindríem: pot cantar; és groc; té ales; pot volar; té plomes (refina el valor té pell del regne ANIMAL); pot moure’s; respira i menja. La instància PEPE heretaria el mateix que CANARI, exceptuant el color, ja que obtindríem que és de color verd. Així doncs, tal i com ja vam veure a la introducció d’aquest capítol (vegeu coneixement heretable), l’herència serà un mecanisme molt eficient per tractar excepcions. b) De propietats. Aquest tipus d’herència estructural només hereta les propietats, però no els valors assignats a aquestes propietats en els seus avantpassats. Així doncs, HILARI heretaria l’atribut color, però no heretaria que aquest hagi de ser de color groc. c) De propietats-valors per defecte. Aquest tipus d’herència estructural actuaria igual que l’herència de propietats-valors, exceptuant els valors. En aquest cas s’heretarien aquells valors que s’haguessin definit per defecte quan un atribut (propietat) no té cap valor assignat. Podem observar que amb aquests mecanismes es pot tractar fàcilment l’herència d’excepcions.

Herència múltiple

L’herència múltiple es produeix quan per més d’un camí un objecte pot heretar diferents valors d’una mateixa propietat (els quals podrien ser contradictoris). La idea consisteix a heretar aquell valor que correspon a l’avantpassat més proper, ja que serà el valor més restrictiu. Vegem un parell d’exemples: a) Exemple 1. Suposem que tenim el coneixement següent:

Page 155: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

150

C vola? Podem observar que de l’objecte B heretem que és fals, mentre que de l’objecte A heretem que és cert. Quina és la resposta correcta? L’herència múltiple resol aquest conflicte analitzant quin és l’avantpassat més proper. Per tant, ens hem de preguntar: B és avantpassat d’A? No. A és avantpassat de B? Sí. Així doncs, A és un avantpassat de B i de C, per tant, B és un avantpassat de C més pròxim que no pas A. Per tant, la resposta correcta és fals. Observeu que la distància pot ser enganyosa en el moment d’analitzar quin avantpassat és més pròxim. b) Exemple 2. Suposem que ens trobem davant del coneixement que representa la figura següent:

Ara ens preguntem de nou: C vola? Podem observar que per a B1 hereta fals, mentre que per a B2 hereta cert. Intentem esbrinar quin avantpassat és més proper: B1 és avantpassat de B2? No. B2 és avantpassat de B1? No. Així doncs, és tan proper B1 com B2 i, per tant, no hi ha manera de saber si hem d’heretar cert o fals. En aquest cas es produeix una contradicció. Podrien haver-hi mecanismes propis del sistema per desfer aquest tipus de contradiccions com: no acceptar el coneixement que porti a situacions contradictòries (ús d’un TMS en el moment d’afegir nou coneixement a la BC); o bé usar heurístiques sobre quins objectes prevalen per sobre d’altres; o bé preguntar a l’usuari si vol especificar explícitament si C vola o no vola; etc.

Herència no monòtona

Herència no monòtona. L’entendrem en el sentit que els valors de les instàncies no tenen perquè donar-se tots alhora, sinó que es poden donar de forma incremental. En aquest cas, convé treballar amb valors per defecte. O bé quan es poden anar modificant al llarg del temps. En aquests casos necessitarem sistemes de manteniment de la veritat.

Page 156: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

151

Frames

Els frames són una altra manera de representar les xarxes semàntiques. La seva representació s’assembla més als llenguatges orientats a objectes. Per entendre una possible proposta d’un sistema basat en frames seguirem l’article de’n Frikes i de’n Kehler (1985) en el qual presenten el sistema KEE. Què heu d’analitzar? 1. La manera en la qual es defineix un objecte (per exemple, el que es mostra la figura 2 de l’article). En general, entendrem que un objecte (o classe o frame o unit) es defineix per un conjunt d’atributs (o slots). Cada atribut es defineix per un conjunt de característiques (o facets). Les característiques amb les quals habitualment treballarem per descriure un atribut seran: * Nom de l’atribut * Tipus. Per exemple: enter. * Rang. Per exemple: [1 .. 19]. Són els valors que pot adoptar l’atribut. * Cardinalitat mínima: indica el nombre mínim de valors que ha de tenir l’atribut. * Cardinalitat màxima: indica el nombre màxim de valors que pot tenir l’atribut. * Valors. [* Valor per defecte]. Podeu observar en l’article que el sistema KEE distingeix els atributs member (els quals poden ser heretats) dels atributs own (atributs propis de la classe en qüestió). 2. KEE permet definir classes de valors (ValueClass) mitjançant operadors lògics que connecten diverses propietats. El sistema haurà de vigilar que no siguin incompatibles els nous coneixements que s’incorporen a la BC. Vegeu la figura 4. 3. Existeixen diferents maneres de calcular els atributs (slots). En el cas del sistema KEE podem distingir (vegeu la figura 5): * per nom. Correspon al nom d’un procediment associat. Per tant, a l’executar la funció es calcularà el valor associat corresponent. Per ara, podem entendre que el sistema KEE conté representació estructurada + llenguatge de representació (o representació procedimental). * valors actius (computació dirigida per les dades). Analitzeu el seu comportament. 4. El sistema KEE també permet incloure regles de classificació (vegeu la figura 6). Ho podem veure com la inclusió d’un sistema de producció (o sistema basat en regles). En aquest punt ja podem dir que disposem de: representació estructurada + llenguatge de programació + sistema de producció.

Page 157: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

152

5. Podem observar que serà difícil trobar un sistema de representació del coneixement que només usi una manera de representació, ja que les diferents propostes que s’han analitzat al llarg del capítol es complementen fàcilment entre elles.

Seguiu l’article [Frikes1985]

RESUM

En aquesta sessió s’han estudiat els fonaments de la representació estructurada. D’una banda, les dues principals representacions: xarxes semàntiques i frames. I d’altra banda, el concepte d’herència, la clau per al tractament d’excepcions.

Page 158: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

153

SESSIÓ 26: Operacions entre frames – Exercicis – RdC (13/15) Nom: Operacions entre frames – Exercicis – REPRESENTACIÓ (13/15) Tipus: de problemes Format: no presencial Durada: 2 hores Dedicació: 2-4 hores Treball a lliurar: opcional

PRECEDENTS A la sessió anterior es van presentar els conceptes bàsics per tal de seguir l’exercici que es proposa al llarg d’aquesta sessió: xarxes semàntiques, frames i herència.

OBJECTIUS L’objectiu d’aquesta sessió és el de comprendre com afecten diferents tipus de relacions entre els objectes, als algorismes d’herència d’un sistema de representació estructurada. Concretament basada en frames.

CONTINGUTS Aquesta sessió descriurà d’altres relacions entre objectes (d’un sistema basat en frames). Aquestes relacions es poden treballar tant seguint l’exercici que es resol al llarg de la sessió com realitzant els problemes que es proposen (per això la duració està estimada entre 2 i 4 hores, ja que dependrà de la vostra dedicació!).

4.6.2. Relacions entre frames En la descripció dels frames vam veure que es descriu un sistema estructurat relacionant els diferents objectes (classes o frames) mitjançant les relacions És-un i Instància-de. A partir d’aquestes relacions es defineixen els algorismes d’herència. Tanmateix, pot ser que en un sistema de representació del coneixement existeixin altres tipus de relacions, les quals s’hauran de tenir en compte en els diferents algorismes d’herència (veurem un exemple en l’apartat següent). Relacions habituals són les que descriurem a continuació: Mútuament-excloent-amb, És-coberta-per i Partició.

Mútuament-excloent-amb

La relació mútuament-excloent-amb relaciona una classe amb una altra (o altres) de la qual se sap amb seguretat que no té elements comuns amb la primera.

Page 159: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

154

És-coberta-per

La relació és-coberta-per relaciona una classe amb un conjunt de subclasses, la unió de les quals donarà com a resultat la classe original.

Partició

Si una classe és-coberta-per un conjunt C de classes mútuament-excloents, llavors C s’anomena partició de la classe.

4.6.3. Exercici: intersecció entre objectes En un sistema de representació estructurada volem afegir la relació intersecció. És a dir, un fill hereta la intersecció de les propietats i valors dels pares (herència estructural). Per tant, un objecte és fruit de la intersecció d’n pares, essent n > 0. Anirem resolent el problema a mesura que ens plantegem els punts següents: 1. Estructura genèrica d’un objecte. 2. Descripció de la relació intersecció. 3. Creació de la intersecció entre objectes. 4. Algorisme d’herència de la intersecció. 5. Algorisme d’herència del sistema. 6. Sistema de manteniment de la veritat. Evidentment, s’haurà de tenir present com pot afectar a la nova relació l’herència múltiple i l’herència no monòtona. En aquesta segona s’haurà de decidir realment quina informació podem suportar d’afegir de manera incremental. Aquest exercici correspon a l’enunciat del problema 2 de l’examen del juny del 2001. (El podeu trobar a l’ecampus).

1. Estructura genèrica d’un objecte

Per tal de resoldre aquest exercici, suposarem que l’estructura genèrica d’un objecte (objecte – atributs – característiques) és descrita de la manera següent: Cada objecte (o classe) és descrit per: * Pares: especifica qui són els seus pares i quin tipus de relació té amb ells (Per exemple: És_un, Instància_de, Intersecció). * un conjunt d’atributs I cada atribut (o propietat) es descriu per les característiques següents: * Nom de l’atribut. * Tipus. * Rang. * Cardinalitat mínima. * Cardinalitat màxima.

Page 160: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

155

* Valors. En aquest exercici no tindrem en compte ni els valors desconeguts, ni el fet que els valors puguin ser calculats per alguna funció, etc. Ens centrarem en comprendre què implica una nova relació. Evidentment, deixem per a l’estudiant que després es plantegi com considerar altres característiques.

2. Descripció de la relació intersecció

En el moment de descriure una nova relació pot anar bé començar plantejant-se com afecta la relació a nivell d’atribut. És a dir, en el fons interpretarem (o descriurem) la relació –en aquest cas la intersecció– a partir de les diferents característiques que descriuen un atribut. Així doncs, descriguem ara característica a característica un mateix atribut, quan es vol fer la intersecció entre dos objectes donats: Siguin A1 i A2 dos objectes qualsevol. Sigui B l’objecte que volem que sigui la intersecció d’ambdós. Per un mateix atribut entendrem la intersecció de la manera següent: Nom Si A1.atribut_i.nom = A2.B.atribut_j.nom Llavors B.atribut_k.nom = A1.atribut_i.nom Si no, no es tracta del mateix atribut, per tant, no té sentit fer la intersecció de dos atributs diferents. Així doncs, estem considerant que reconeixem un atribut pel nom. Fi_Si Tipus Si A1.atribut_i.tipus = A2.B.atribut_j.tipus Llavors B.atribut_k.tipus = A1.atribut_i.tipus Si no, FALLEU. No es pot fer la intersecció per a aquest atribut ja que són de tipus diferents. En aquest no afegiríem aquest atribut a l’objecte B. És una possible decisió de disseny, es podrien analitzar altres possibilitats. Fi_Si Rang 1. Realitzeu la intersecció entre els rangs de A1.atribut_i.rang i A2.atribut_j.rang: Vegeu dos exemples suposant que el tipus dels atributs és l’enter: [ ] [ ] ∅=∩ 5020101 KK [ ] [ ] [ ]102502101 KKK =∩ Així doncs, la intersecció entre rangs consisteix en retornar el [màxim dels mínims ... mínim dels màxim]. Si el “màxim dels mínims” > “mínim dels màxims” llavors el rang resultant és el conjunt buit.

Page 161: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

156

Suposem que disposem de la funció intersecció_rangs(A1, A2, nom_atribut) la qual retornarà la intersecció dels rangs per l’atribut nom_atribut. Evidentment, aquesta s’haurà de definir per a cada possible tipus de l’atribut (penseu-la!). En el problema que es demana de tractar l’operació unió, veureu que aquesta funció passa a ser una mica més complexa. 2. Analitzeu el resultat: Si la intersecció entre rangs és el conjunt buit Llavors FALLEU. En aquest cas no té sentit la intersecció entre ambdós atributs, ja que no hi haurà possibles valors. Si no, B_atribut_k.rang = resultat_intersercció_rangs Fi_Si Cardinalitats Podrien haver diferents decisions de disseny en el moment de justificar com es fa la intersecció entre les cardinalitats mínimes i màximes. Considerem tot seguit diferents possibilitats: Versió 1: similar al càlcul de la intersecció dels rangs. B.atribut_k.cardinalitat_mínima = màxim{A1.atribut_i.cardinalitat_mínima, A2.atribut_j.cardinalitat_mínima} B.atribut_k.cardinalitat_màxima = mínim{A1.atribut_i.cardinalitat_màxima, A2.atribut_j.cardinalitat_màxima} Si B.atribut_k.cardinalitat_mínima > B.atribut_k.cardinalitat_màxima Llavors FALLEU. No és possible la intersecció per a aquest atribut. Fi_Si En aquest cas estem considerant que el nombre de valors possibles per a l’atribut es calcula de la mateixa manera que la idea que tenim sobre la intersecció entre conjunts. Versió 2: el nombre de valors no té res a veure amb la relació intersecció. Si màxim{A1.atribut_i.cardinalitat_mínima, A2.atribut_j.cardinalitat_mínima} > mínim{A1.atribut_i.cardinalitat_màxima, A2.atribut_j.cardinalitat_màxima} Llavors FALLEU. No té sentit la intersecció per a aquest atribut Si no B.atribut_k.cardinalitat_mínima = A1.atribut_i.cardinalitat_mínima + A2.atribut_j.cardinalitat_mínima B.atribut_k.cardinalitat_màxima = A1.atribut_i.cardinalitat_màxima + A2.atribut_j.cardinalitat_màxima Fi_Si En aquest cas estem considerant que el nombre de valors possibles per a l’atribut no té res a veure amb el concepte intersecció. Versió 3: etc. Podrien haver moltes altres consideracions. Sempre convindrà que estiguin ben justificades i argumentades. En aquest cas poden ser igualment correctes.

Page 162: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

157

En aquest punt, s’ha de decidir per una versió, ja que la resta de l’exercici en pot dependre. De totes maneres, al llarg d’aquesta sessió plantejarem l’exercici de la manera més genèrica possible, per tal d’anar reflexionant sobre les diferents possibilitats. Valors En aquest punt se suposa que s’utilitzen tots els algorismes d’herència estructural i múltiple propis del sistema en el moment de consultar els valors dels pares A1 i A2. Això garantirà la consistència de la base del coneixement. Valors_A1 = tots els A1.atribut_i.valors tals que es trobin dins de B.atribut_k.rang Valors_A2 = tots els A2.atribut_i.valors tals que es trobin dins de B.atribut_k.rang Valors_B = Valors_A1 U Valors_A2 Si (B.atribut_k.cardinalitat_mínima > Cardinalitat(Valors_B)) o (B.atribut_k.cardinalitat_màxima < Cardinalitat(Valors_B)) Llavors B.atribut_k.valors = VALORS_DESCONEGUTS Vol dir que hi ha menys valors que la cardinalitat mínima o més valors que la cardinalitat màxima. En aquest cas deixem el camp valors “sense valors”. L’usuari sí que podrà assignar valors propis de B –a posteriori– si satisfà les característiques de l’atribut. Podem observar que VALORS_DESCONEGUTS serà una etiqueta especial que no violarà la cardinalitat mínima si aquesta és superior a 0. En aquest cas tindrien una gran importància els “valors per defecte”. Si no B.atribut_k.valors = Valors_B Fi_Si Observacions diverses sobre el tractament dels valors: 1. No hem fet la “intersecció de valors”, sinó la intersecció sobre la descripció de l’atribut. Si es considera oportú, un altre possible disseny podria fer també la intersecció entre els valors: Valors_B = Valors_A1 INTERSECCIÓ Valors_A2 En aquest cas, potser s’hauria de dissenyar la cardinalitat mínima i màxima d’una manera diferent de les proposades, ja que la majoria de les vegades es violaria la cardinalitat mínima. 2. Podem observar que, segons com haguem dissenyat la cardinalitat mínima i màxima, la cardinalitat del conjunt Valors_B mai violarà els llindars mínim i màxim. 3. En aquest punt només hem definit quins haurien de ser els valors de B a l’efectuar la intersecció entre els atributs d’A1 i A2. Tanmateix, quan creem realment l’objecte B no es baixaran aquests valors (seria redundant!), sinó que es com els consultarà el mecanisme d’herència sobre la intersecció. Sí que hi afegirem els valors que afegim a B, sempre i quan sigui consistent.

Page 163: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

158

3. Creació de la intersecció entre objectes

A partir de la descripció que hem fet sobre com entenem la relació intersecció, proposem com seria la creació d’un nou objecte B com a resultat de realitzar la intersecció entre n objectes pares (A1, A2, ... , AN), per n > 0. Farem la intersecció entre els n pares a partir d’anar fent la intersecció per a cada atribut. Considerarem que si un atribut no es troba a tots els pares, aquest atribut no s’inclourà en l’objecte B. Funció Creeu_intersecció (A1, ... , AN : objectes) retorna B : objecte 1. B = Creeu_objecte() 2. B.Pares = Intersecció(A1, ... , AN) 3. Conjunt_Atributs = tots els noms dels atributs d’A1 4. Per a cada nom de Conjunt_Atributs feu 5. Si algun dels objectes A1, ..., AN no té l’atribut nom 6. Llavors FALLEU (aquest atribut no s’inclou a l’objecte B). Torneu al pas 4. 7. Fi_Si /* ES REALITZA LA INTERSECCIÓ PER a L’ATRIBUT nom */ /* El nom de l’atribut serà nom */ 8. nom_atribut = nom /* Busquem el tipus */ 9. Si tots els atributs tenen el mateix tipus 10. Llavors tipus_atribut = A1.atribut_j1.tipus /* se suposa que l’atribut j1 d’A1 és el que li correspon al nom nom, de fet això dependrà del llenguatge de programació que utilitzarem, per tant, no entrarem en detalls d’implementació, només en el concepte */ 11. Si no FALLEU. Torneu al pas 4. 12. Fi_Si /* Busquem el rang */ 13. rang_atribut = intersecció_rangs(A1, ... , AN, nom_atribut) 14. Si rang_atribut és el conjunt buit 15. Llavors FALLEU. Torneu al pas 4. 16. Fi_Si /* Busquem les cardinalitats, per exemple seguint la versió 1 */ 17. cardinalitat_mínima_atribut = màxim{A1.atribut_j1.cardinalitat_mínima, ... , AN.atribut_jN.cardinalitat_mínima} 18. cardinalitat_màxima_atribut = mínim{A1.atribut_j1.cardinalitat_màxima, ... , AN.atribut_jN.cardinalitat_màxima} 19. Si cardinalitat_mínima_atribut > cardinalitat_màxima_atribut 20. Llavors FALLEU. Torneu al pas 4. 21. Fi_Si /* No afegim explícitament els valors a l’objecte B, ja que aquests o bé es consultaran per herència quan es necessitin, o bé es refinaran afegint-ne de propis de B (a

Page 164: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

159

posteriori de la creació) consistents en la descripció de les característiques obtingudes com a fruït de la intersecció */ /* PODEM AFEGIR EL RESULTAT DE LA INTERSECCIÓ PER A L’ATRIBUT nom A L’OBJECTE B */ 22. B = Afegiu_atribut (B, nom_atribut, tipus_atribut, rang_atribut, cardinalitat_mínima_atribut, cardinalitat_màxima_atribut) 23. Fi_Per /* Podria ser que retornés un objecte sense atributs */ 24. Retorna B Fi_Funció

4. Algorisme d’herència de la intersecció

Entendrem l’algorisme d’herència de la intersecció com la funció que consulta els valors de l’atribut S de l’objecte B. Creiem que així quedarà més clar. Funció consulta_valors_intersecció ( B : objecte; S : atribut ) retorna conjunt de valors Si hi ha valors definits a B.S.valors Llavors retorna B.S.valors Si no Pares = B.Pares; Valors_B = conjunt_buit; Per cada P de Pares fer Valors_B = Valors_B U {tots els P.S.valors tals que es trobin dins de B.S.rang} Fi_Per Si (B.S.cardinalitat_mínima > Cardinalitat(Valors_B)) o (B.S.cardinalitat_màxima < Cardinalitat(Valors_B)) Llavors Valors_B = VALORS_DESCONEGUTS Fi_Si Retorna Valors_B Fi_Si Fi_Funció Hem dissenyat aquesta funció seguint la descripció de la relació intersecció que hem proposat. Si n’haguéssim proposat alguna altra, aquesta funció s’hauria de definir segurament d’una altra manera. Estem suposant que cada vegada que consultem els valors dels pares, aquests s’obtindran aplicant els algorismes d’herència corresponents.

Page 165: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

160

5. Algorisme d’herència del sistema

L’algorisme d’herència del sistema serà el que hi hagi definit segons l’herència estructural (en aquest cas herència de propietats-valors) i l’herència múltiple. Com quedarà modificat l’algorisme herència per incloure l’herència per a la relació intersecció? Senzillament, l’algorisme aplica l’herència depenent de la relació que relaciona cada objecte amb els seus pares. Així doncs, quan un objecte sigui la intersecció dels seus pares, per tal d’heretar els valors utilitzarà el procediment que s’ha descrit a: consulta_valors_intersecció ( B : objecte; S : atribut ). Convé destacar que l’herència múltiple, només considerant les relacions de tipus És_un, queda ampliada respecte la que vam explicar en la sessió anterior, al considerar la cardinalitat mínima i màxima. Per exemple, davant de la situació següent:

En aquest cas: Si C.Atribut1.cardinalitat_mínima = C.Atribut1.cardinalitat_màxima = 1 llavors continuarà produint-se una contradicció. D’altra banda, si per exemple C.Atribut1.cardinalitat_mínima = 1 i C.Atribut1.cardinalitat_màxima = 3 llavors no hi haurà contradicció i C.Atribut1.valors = {a, b} (suposant que aquests pertanyin a C.Atribut1.rang).

6. Sistema de manteniment de la veritat

En un sistema de representació estructurada, com el que hem estat plantejant, pot fàcilment dissenyar el sistema de manteniment de la veritat (TMS) a partir dels algorismes d’herència. L’objectiu fonamental del TMS seria el de garantir la consistència de les dades. Quan s’hauria d’utilitzar el TMS? Atès que s’intenta que es pugui afegir dinàmicament nova informació a la BC (tant creant nous objectes, com afegint propietats a objectes ja creats, com afegint valors a propietats d’objectes ja creats, com creant noves relacions, etc.), en el moment d’incorporar aquesta nova informació, s’haurien de llançar els diferents mecanismes d’herència per tal de garantir que no es produeixen contradiccions. Si es detecta una contradicció, la postura més radical pot portar a negar la incorporació de la nova

Page 166: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

161

informació. D’altres polítiques podrien intentar establir un diàleg amb l’usuari per informar de la contradicció i que ell decideixi com evitar-la.

4.6.4. Proposta d’exercicis amb d’altres relacions (optatiu) Aquest text pertany a l'enunciat d'un problema.

La relació diferència

Vegeu l’enunciat del problema 3 corresponent a l’examen del gener del 2001. (El podeu trobar a l’ecampus). Resoleu-lo tractant els diferents punts que hem analitzat en la relació intersecció.

La relació unió

Vegeu l’enunciat del problema 2 corresponent a l’examen del setembre del 2001. (El podeu trobar a l’ecampus). Resoleu-lo tractant els diferents punts que hem analitzat en la relació intersecció.

La relació partició

Vegeu l’enunciat del problema 3 corresponent a l’examen del gener del 2002. (El podeu trobar a l’ecampus). Resoleu-lo tractant els diferents punts que hem analitzat en la relació intersecció.

RESUM

En aquesta sessió s’han treballat les relacions que poden haver-hi entre els diferents objectes d’un sistema de representació estructurada basada en frames. Per completar la sessió, és important que s’intentin realitzar els diferents exercicis que es proposen.

Page 167: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

162

Page 168: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

163

SESSIÓ 27: Exemples de representacions estructurades – RdC (14/15)

Nom: Exemples de representacions estructurades - REPRESENTACIÓ (14/15) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: sí Material:

o Bibliografia bàsica: [Rich1994]

PRECEDENTS Aquesta sessió, conjuntament amb les dues anteriors, conclou el tema de representació estructurada.

OBJECTIUS L’objectiu d’aquesta sessió consisteix a presentar llenguatges de representació del coneixement estructurada i a treballar amb algun llenguatge de representació del coneixement en general (treball a lliurar).

CONTINGUTS En aquesta sessió es presenten tres exemples de representacions estructurades: Dependència Conceptual, Scripts i CYCL. Al finalitzar la sessió es demana un treball per tal de treballar un llenguatge de representació del coneixement qualsevol.

4.6.5. Exemples de representacions estructurades En aquest apartat presentarem tres llenguatges de representació del coneixement basats en una representació estructurada: dependència conceptual (CD), scripts i CYC. Normalment s’anomenen estructures de slot-and-filler fortes ja que s’estableixen compromisos en relació amb el contingut de les representacions.

Dependència conceptual

La dependència conceptual (en anglès conceptual dependency o CD) va ser proposada per n’Shank els anys 1973 i 1975. Pretenia ser una teoria sobre la representació del coneixement sobre els successos que normalment apareixen en les frases del llenguatge natural.

Page 169: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

164

Objectiu L’objectiu fonamental consistia a representar el coneixement de tal manera que: a) faciliti extraure inferències de les frases; b) sigui independent del llenguatge (idioma) en el qual estan les frases originalment. L’any 1977 va ser implementat per n’Shank i n’Abelson. Descripció de la teoria Per tal de representar qualsevol frase independentment de l’idioma origen, van estructurar la teoria que proposa la dependència conceptual en (vegeu [Rich1994], a les pàgines 303-307): 1. Accions primitives (vegeu les pàgines 304 i 305 de [Rich1994]). 2. Dependències permeses entre les conceptualitzacions descrites en una frase (vegeu la pàgina 305 de [Rich1994]). 3. Temps conceptuals (vegeu la pàgina 307 de [Rich1994]). 4. Regles (vegeu les pàgines 305-307 de [Rich1994]). A partir d’aquestes definicions o estructuracions del llenguatge natural es poden representar les frases de la manera que s’il·lustra en la figura 10.1 (pàgina 304) i en la figura 10.4 (pàgina 309) de [Rich1994]. La dependència conceptual facilita el raonament: 1. Es necessiten menys regles d’inferència de les que serien necessàries si el coneixement no estigués classificat en primitives. 2. Moltes inferències ja estan contingudes en la mateixa representació. 3. L’estructura inicial que es construeix per representar la informació continguda en una frase tindrà forats que serà necessari omplir. Aquests forats poden ser com centres d’atenció pel programa que ha de comprendre les frases resultants.

Vegeu [Rich1994]p303-p311

Scripts

Els guions (o scripts) van ser proposats per n’Shank i n’Abelson l’any 1977. Volien proporcionar un mecanisme de representació del coneixement de seqüències comunes de successos. Definició: Un script és una estructura que descriu una seqüència estereotipada de successos en un context concret. Podríem dir que està format per un conjunt d’atributs (slots). Components importants d’un guió (vegeu la pàgina 311 de [Rich1994] ): Entry xonditions: condicions que s’han de satisfer abans que puguin ocórrer els successos que es descriuen en el guió. Result: condicions que hauran de ser certes després que succeeixin els successos que es descriuen al guió. Props: atributs que representen objectes que apareixen involucrats en els successos descrits en el guió.

Page 170: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

165

Roles: atributs que representen a gent que es troba involucrada en els successos descrits en el guió. Track: la variació específica sobre un patró més general representat per aquest guió concret. Scenes: La seqüència de successos que succeeixen. Els successos es representen usant el formalisme de les dependències conceptuals. Exemple: Podeu veure un guió que representa els possibles successos d’un restaurant a [Rich1994], a les pàgines 311-315 (vegeu la figura 10.5).

Vegeu [Rich1994]p311-p315

CYC

El projecte CYC (enCYClopaedia Britannica) està dirigit per en Lenat i en Guha (1990). És el projecte d’una gran base de coneixement, el propòsit del qual consisteix a capturar tot el coneixement humà (= Enciclopèdia Britànica) i el seu sentit comú. Així doncs, és un projecte que inclou representacions de successos, d’objectes, d’actituds, etc. Motivacions Per què construir grans bases de coneixement? Ho justifiquen principalment per tres motius (vegeu les pàgines 315 i 316 de [Rich1994]): 1. Per evitar el problema de la fragilitat, que vam veure en els sistemes experts. 2. Per centrar-se en el contingut i no en la forma de les bases de coneixement. 3. Per obtenir coneixement compartit. Problema Com adquirir el coneixement de forma automàtica? Bàsicament podríem sospesar dues possibilitats: 1) fent ús de l’aprenentatge artificial o bé 2) tractant la comprensió del llenguatge natural. Tanmateix, CYC “codifica a mà els 10 milions de fets que cobreixen el coneixement del sentit comú” (= l’Enciclopèdia Britànica). Així, bona part del projecte està dirigit a la introducció de dades i no a la pròpia recerca. Tot i així, a posteriori s’hi apliquen alguns mètodes més automatitzats. El llenguatge CYCL CYCL és el llenguatge amb el qual està codificat el coneixement del projecte CYC (vegeu les pàgines 316-318 de [Rich1994], especialment la figura 10.6 mostra un exemple del llenguatge CYCL). Les seves principals característiques són: - És un sistema basat en frames: generalitza la noció d’herència (inclou altres relacions a part d’“és-un” i “instància-de”). - Conté un llenguatge de restriccions amb el qual és possible representar qualsevol expressió en CP1. - CYC suporta uns 20 mecanismes d’inferència eficients. - Porta a terme una verificació de la consistència i una resolució de conflictes.

Page 171: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

166

Vegeu [Rich1994]p315-p321

Llenguatges basats en frames

S’han creat molts llenguatges de representació del coneixement basats en frames (o estructurats en generals). Una llista dels primers pot ser la següent: KRL (Bobrow and Winograd, 1977) FRL (Roberts and Goldstein, 1977) RLL (Greiner and Lenat, 1980) KL-ONE (Brachman, 1979; Brachman and Schmolze, 1985) KRYPTON (Brachman et al., 1985) NIKL (Kaezmarck et al., 1986) CYCL (Lenat and Guha, 1990) Grafs conceptuals (Sowa, 1984) THEO (Mitchell et al., 1989) FRAMEKIT (Nyberg, 1988)

4.6.6. Treball a lliurar: fitxa d’un llenguatge de representació del coneixement Tot seguit es proposa un treball que haureu de lliurar. Per fer-lo, haureu de consultar per internet o bé en revistes o en llibres de biblioteca, etc. No us hauria de portar molt de temps. Què heu de buscar? Un llenguatge de representació del coneixement, el més actual possible. (Un treball per grup de pràctiques!).

Enunciat

Heu de buscar per internet, revistes, llibres de biblioteca, etc., un llenguatge de representació del coneixement, el més actual possible. (Un treball per grup de pràctiques!). Què es demana? Haureu de dipositar a la carpeta pou corresponent de l’ecampus, “una fitxa del llenguatge” (una o dues cares) que contingui: - Nom del llenguatge. - Tipus (lògic, funcional, estructurat -basat en xarxes semàntiques o frames-, etc.). - Autors i any (recordeu: busqueu un llenguatge que sigui el més recent possible!). - Referències. - Breu descripció de les seves principals característiques (en cap moment es demana que sigueu experts del llenguatge). - Altres ad hoc al llenguatge. Data de lliurament Us ho indicarem en el tauler o via correu electrònic. De totes maneres, serà per abans del període d’exàmens corresponent al primer quatrimestre.

Page 172: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

167

RESUM

Amb aquesta sessió finalitzem la teoria del capítol de Representació del coneixement – Raonament. En la pròxima es detallarà la pràctica a lliurar. Concretament, en aquesta sessió s’han vist alguns exemples de llenguatges de representació del coneixement estructurats. A continuació es proposa a l’estudiant un treball de cerca d’informació (llenguatge de representació) que s’haurà de lliurar abans del període d’exàmens corresponent al primer quatrimestre. Vegeu tot seguit el que es demana.

Page 173: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

168

Page 174: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

169

SESSIÓ 28: Pràctica representació del coneixement – RdC (15/15)

Nom: Pràctica representació del coneixement – REPRESENTACIÓ (15/15) Tipus: pràctica Format: no presencial Durada: 1 hora Dedicació: 1 hora Treball a lliurar: sí Material:

o Bibliografia bàsica: [Golobardes2002e]

o Recursos de programari i de maquinari: vegeu l’enunciat de la pràctica

PRECEDENTS Per tal de realitzar la pràctica que proposa aquesta sessió es necessiten tots els conceptes que s’han vist al llarg de les diferents sessions del capítol de Representació del coneixement – Raonament.

OBJECTIUS L’objectiu d’aquesta sessió és el de presentar l’enunciat de la pràctica corresponent a aquest capítol de representació del coneixement (PRÀCTICA 2: REPRESENTACIÓ DEL CONEIXEMENT). Us recordem que aquesta pràctica compta un 30% de la nota final de la part pràctica de l’assignatura (i la part pràctica compta un 70% del total). Cal recordar que aquesta pràctica és obligatòria i cal aprovar-la per aprovar l’assignatura. L’objectiu de la pràctica és que assoliu els diferents conceptes que s’han vist al llarg del capítol de Representació del coneixement – Raonament.

CONTINGUTS Els continguts d’aquesta sessió estan explicitats en el document [Golobardes2002e], que trobareu a la carpeta corresponent de l’assignatura a l’ecampus. Val a dir que el temps d’estimació d’aquesta sessió es centra en una bona lectura i comprensió de l’enunciat de la pràctica i no en la totalitat de les hores que us portarà realitzar aquesta pràctica, que anireu fent mentre avanceu en el següent capítol de teoria.

Page 175: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

170

4.7. Descripció de la pràctica de respresentació del coneixement

4.7.1. Descripció de la pràctica de representació del coneixement (pràctica 2) En aquest apartat es presenta l’enunciat corresponent a la pràctica de representació del coneixement.

Document PRÀCTICA 2: REPRESENTACIÓ DEL CONEIXEMENT – Intel·ligència artificial

On podeu trobar el document corresponent a l’enunciat de la pràctica de representació del coneixement? El document de l’enunciat de la PRÀCTICA 2: REPRESENTACIÓ DEL CONEIXEMENT – intel·ligència artificial el trobareu a la carpeta de l’ecampus de l’assignatura d’intel·ligència artificial. Què hi ha en el document? 1. L’enunciat de la pràctica de representació del coneixement a lliurar. 2. Tot seguit es demanen una sèrie de punts. Aquests punts detallen tant l’ordre en el qual convé realitzar la pràctica com el contingut de la memòria a lliurar. Convé destacar que el més important de la pràctica és com s’ha tractat la part corresponent al capítol de representació del coneixement - raonament i, en certa manera, tot el treball de camp que hi hagut per tal de realitzar-la. Podeu observar que una vegada s’ha analitzat com realitzar la pràctica des d’un punt de vista algorísmic i/o teòric, llavors es demana que decidiu quin és el llenguatge de programació més adequat per a la seva implementació –justificant la seva elecció–. No ho feu en l’ordre invers, ja que condicionareu el disseny al llenguatge de programació i és possible que, ni de bon tros, sigui el més adequat. Cal recordar que els diferents aspectes d’interfície no es valoraran, per tant, una vegada més, cal recordar que es vol donar èmfasi a la part corresponent a la representació del coneixement – raonament. 3. En el document també es demana una estimació –en hores– del temps que us ha portat la seva realització i, si pot ser, detallant les diferents parts de la pràctica. Evidentment, aquesta estimació no serveix per avaluar la pràctica, sinó per contrastar les diferents estimacions de la càrrega de la pràctica. 4. En el document s’indica la data de lliurament de la pràctica, tot i que també la podeu trobar a l’agenda de l’assignatura. 5. En el document també s’indica on i com s’ha de lliurar la pràctica. Criteris de puntuació: 1. La memòria ha de tenir tots els punts que es demanen.

Page 176: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

171

2. Recordeu que la pràctica de representació del coneixement s’ha de lliurar obligatòriament per aprovar l’assignatura, i la seva nota ha de ser superior a 5 per tal que s’accepti. 3. Les pràctiques lliurades fora de termini tindran una nota màxima de 5 i ja s’indicarà quines són les possibles dates de lliurament. 4. Dins de la nota de pràctiques, la pràctica de representació del coneixement compta un 30%. Recordeu que la part pràctica val el 70% de l’assignatura. Vegeu els criteris de puntuació de l’assignatura.

Vegeu l’enunciat de la pràctica a [Golobardes2002e]

RESUM

L’objectiu d’aquesta sessió ha estat el de presentar l’enunciat de la pràctica de representació del coneixement que convé realitzar. Esperem que al finalitzar la sessió tingueu molt clar el domini del problema i els diferents punts que es demanen per tal de realitzar la pràctica.

Page 177: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

172

Page 178: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

173

SESSIÓ 29: Introducció a l’aprenentatge artificial – AR (1-2/15) Nom: Introducció a l’aprenentatge artificial – APRENENTATGE ARTIFICIAL (1-

2/15) Tipus: teòrica Format: no presencial Durada: 3-4 hores Dedicació: 3-4 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Cortes1995] [Cortes1994]

PRECEDENTS En els capítols anteriors hem vist com resoldre un problema o com dissenyar un sistema fent un bon ús de la cerca, la representació del coneixement i el raonament. Ara veurem que en alguns dominis aquests mètodes no són suficients.

OBJECTIUS L’objectiu d’aquesta sessió és el de donar els conceptes bàsics de l’aprenentatge artificial i el d’emmarcar aquesta disciplina.

CONTINGUTS Per tal de realitzar una introducció de l’aprenentage artificial veurem: l’objectiu de l’aprenentatge artificial –des del punt de vista més “pur”–; per què és necessari l’aprenentatge artificial; els diferents paradigmes de l’aprenentatge artificial; les característiques que voldríem que tingués un sistema d’aprenentatge i quins problemes poden sorgir; com avaluar un sistema d’aprenentatge i, finalment, un resum dels paradigmes que estudiarem.

5. Aprenentatge artificial

5.1. Introducció

5.1.1. Aprenentatge artificial En aquest primer tema volem presentar l’objectiu últim de l’aprenentatge artificial i veure quan és necessari l’ús de l’aprenentatge artificial.

Page 179: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

174

Objectiu de l’aprenentatge artificial

L’objectiu de l’aprenentatge artificial consisteix a construir sistemes que siguin capaços d’adaptar-se, dinàmicament i sense un entrenament previ, a situacions noves i aprendre com a resultat d’haver resolt un problema (o problemes) derivat d’aquestes situacions. Així doncs, podríem resumir l’aprenentatge artificial segons la fórmula següent:

Vegeu [Cortes1995]p115-p117

O bé a l’edició anterior del mateix llibre [Cortes1994]p109-p111

Per què aprenentatge artificial?

Fins ara ja sabem dissenyar sistemes que resolguin problemes, ja sigui usant “cerca” com fins i tot dissenyant un “sistema expert”. Així doncs, per què o quan és necessari l’ús de l’aprenentatge artificial? Direm que l’aprenentatge artificial és especialment indicat quan ens trobem en algunes de les situacions següents:

en molts dominis on l’experiència és escassa (i, per tant, disposem de poques dades);

quan el coneixement del domini és incomplet; quan el coneixement del domini és inexistent; quan el problema és NP-Complet o NP-Hard; quan tenir tot el coneixement és complex; quan tenir tot el coneixement és costós en termes econòmics ($); quan tenir tot el coneixement és costós en termes computacionals (O(n)); quan tenir tot el coneixement és perillós (tant en dominis mèdics, que pot

requerir de proves que requereixen cert risc per als pacients; com en dominis que puguin causar una contaminació medioambiental);

quan es poden introduir fàcilment errors; quan les dades poden ser inconsistents; quan les dades poden ser incertes; quan les dades poden ser incompletes; quan les dades poden presentar soroll; ...

Així doncs, podem observar que en la majoria de “dominis reals” pot ser necessari l’ús de l’aprenentatge artificial.

5.1.2. Paradigmes de l’aprenentatge artificial Els diferents paradigmes d’aprenentatge artificial es poden calssificar des de molts punts de vista diferents. Nosaltres presentarem dues visions: A) segons el tipus de selecció i d’adaptació que facin els algorimes i B) segons el tipus d’estratègia i d’ajudes que rebin els algorismes.

AdaptacióSelecciógeAprenentat +=

Page 180: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

175

Evidentment, a la bibliografia hi ha moltes altres possibles classificacions. Nosaltres ens centrarem en aquestes perquè s’ajusten millor al temari que veurem al llarg del capítol.

Segons el tipus de selecció i d’adaptació

Una primera classificació dels paradigmes d’aprenentatge artificial pot ser segons el tipus de selecció i d’adaptació. Concretament parlarem d’aprenentatge inductiu, d’aprenentatge deductiu, d’aprenentatge analògic, d’aprenentatge evolutiu i d’aprenentatge connexionista. Aquests paradigmes corresponen als diferents temes d’aquest capítol. A [Cortes1995]p118-p119 (o bé a l’edició anterior [Cortes1994]p112-p113) podeu veure una classificació més detallada. Aprenentatge inductiu La font d’inspiració de l’aprenentatge inductiu la podem trobar en la cerca heurística. Aquest tipus d’aprenentatge consisteix –a grans trets– en induir la descripció d’un concepte a partir d’una sèrie d’exemples i contraexemples o bé en determinar una descripció jeràrquica o en classificar un grup d’objectes. Dins de l’aprenentatge inductiu trobem també el paradigma de l’aprenentatge per descobriment, el qual es porta a terme quan no es disposa de cap tipus d’informació del que s’està buscant. Aprenentatge deductiu La font d’inspiració de l’aprenentatge deductiu la trobem en la lògica matemàtica. En aquest cas, l’aprenentatge es realitza a partir d’una seqüència d’inferències deductives, usant fets o regles conegudes. Aquests mètodes se centren en millorar l’eficiència del sistema i no en obtenir noves descripcions de conceptes. Dins d’aquest paradigma també hi té cabuda l’aprenentatge analític, el qual intenta formular generalitzacions després d’analitzar algunes instàncies (o exemples o casos) en termes del coneixement del sistema. Aprenentatge analògic La font d’inspiració de l’aprenentatge analògic rau en els estudis de la memòria humana. Consisteix a resoldre un problema a partir de la possible semblança amb problemes vistos anteriorment i adaptant de forma convenient la solució que es va trobar per al problema ja resolt anteriorment. Dins d’aquest paradigma hi ha famílies conegudes com: instance-based learning i case-based learning. Aprenentatge evolutiu (algorismes genètics) La font d’inspiració de l’aprenentage evolutiu la trobem en l’evolució (Darwin) i en les lleis de Mendel. Són mètodes que estan clarament inspirats en la selecció natural de Darwin i en les mutacions i altres canvis que succeeixen en els organismes durant la reproducció biològica d’una generació a la següent. Cerquen la solució que s’adapta millor al problema. Aprenentatge connexionista (xarxes neuronals) L’aprenentatge connexionista realitza analogies amb la neurobiologia.

Page 181: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

176

A grans trets, el sistema és una xarxa de nodes interconnectats, que té associada una regla de propagació de valors, els arcs dels quals estan etiquetats amb pesos. Davant d’un conjunt d’exemples, el sistema reacciona modificant els pesos. El sistema aprèn si adapta els pesos per tal de donar una sortida correcta per a totes (o la majoria) de les entrades.

Vegeu [Cortes1995]p118-p119

O bé a l’edició anterior del mateix llibre [Cortes1994]p112-p113

Segons el tipus d’estratègia i les ajudes que rep

Una altra classificació que habitualment es fa dels mètodes d’aprenentatge es basa en el tipus d’estratègia que segueixen i d’ajudes que reben. Hi ha dos grans paradigmes més un tercer que està a mig camí entre un extrem i l’altre: aprenentatge supervisat, aprenentatge no supervisat i aprenentatge per reforçament. Aprenentatge supervisat. Són mètodes d’aprenentatge en els quals els exemples proporcionats com a entrada són necessaris per satisfer els objectius de l’aprenentatge. És com aprendre amb un professor. En aquest tipus de mètodes es donen exemples i s’especifica de quin concepte són exemples. Aprenentatge no supervisat. L’aprenentatge no supervisat cerca nous coneixements mitjançant el descobriment de regularitats en les dades. Aquests mètodes no estan dirigits per objectius. Aprenentatge per reforçament. L’aprenentatge per reforçament està a mig camí dels dos paradigmes anteriors. Es proposen problemes per resoldre al sistema, de tal manera que l’aprenentatge es realitza únicament amb una senyal de reforçament proporcionada per un professor o per l’entorn, com a indicador de si s’ha resolt correctament el problema.

Vegeu [Cortes1995]p119-p120

O bé a l’edició anterior del mateix llibre [Cortes1994]p113-p114

5.1.3. Característiques desitjables – Problemes Davant d’un mètode d’aprenentatge artificial, buscarem que aquest tingui una sèrie de característiques que l’aproximin a l’objectiu que ens plantejàvem a l’inici de la sessió. Per exemple que siguin algorismes robustos, tolerants al soroll, que tingui capacitat d’abstracció i de generalització a partir d’exemples, etc. D’altra banda, ens trobarem que poden sorgir una sèrie de problemes depenent de com es busquin aquestes característiques. Tractem tot seguit cadascun d’aquests aspectes. També analitzarem com avaluar la qualitat d’aprenentatge d’un sistema donat.

Page 182: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

177

Generalitat / Capacitat d’abstracció

L’objectiu principal dels sistemes d’aprenentatge és el d’aprendre a partir d’exemples, és a dir, generalitzar. Per tant, tenir una certa capacitat d’abstracció. Amb la generalitat es busca en certa manera la completesa del domini. Exemple 1: Imaginem que volem aprendre f(x) i aprenem g(x)! Podem veure il·lustrada aquesta idea en la gràfica següent:

Què ha passat?

Pot ser que disposem de pocs exemples per aprendre. Però en moltes situacions, no podrem fer-hi res, ja que “és el que hi ha”.

Pot ser que disposem d’exemples poc representatius. En molts casos això no ho sabrem, ja que justament estem intentant descobrir el domini del problema que volem resoldre. Si no, sí que convé aprendre a partir de mètodes representatius del problema (domini) que es vol resoldre.

Pot ser que hi hagi hagut un sobreaprenentatge. Aquest problema és força habitual en mètodes com les xarxes neuronals. El que ha passat és que s’ha forçat excessivament al sistema a aprendre els exemples d’entrenament fins a perdre la capacitat de generalització del domini.

Un problema podria haver estat, per exemple en les xarxes neuronals, un mal disseny de l’arquitectura (ja ho veurem en el tema corresponent), ja que se li han donat pocs graus de llibertat per aprendre la funció objectiu.

Observació:La tria dels exemples és molt important! Problema: es pot produir un biaix, és a dir, que segons com es presentin els exemples d’entrenament, el sistema pot aprendre una cosa o una altra, depenent de l’ordre d’entrada. Exemple 2: Imaginem de nou que volem aprendre f(x) i aprenem g(x)! Essent f(x) i g(x) les funcions que es mostren a la figura següent:

Page 183: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

178

Què ha passat? De nou ens podem plantejar les qüestions anàlogues a l’exemple anterior:

Pocs exemples? Exemples poc representatius? Molts graus de llibertat? Potser ara hem obtingut un infraaprenentatge?

Robustesa

Entendrem robustesa com l’habilitat del sistema per treballar amb conjunts d’exemples d’entrenament que poden contenir soroll i informació parcialment equivocada. (Implica no monotonia). Qüestió que ens podem plantejar: Convé entrenar amb soroll? Millor que no! El que passa és que a vegades és inevitable tenir dades amb soroll. Per exemple, disposem d’imatges de mala qualitat, etc.

Qualitat de l’aprenentatge

Un dels principals objectius d’un mètode d’aprenentatge seria “que aprengués bé”. Com podem avaluar la qualitat d’aprenentatge d’un sistema? Hi ha moltes tècniques -majoritàriament estadístiques- per fer-ho. Ens centrarem en l’stratified ten-fold crossvalidation: Sigui X el conjunt d’exemples d’entrenament que disposem. Tot seguit podem dividir el conjunt X en 10 subconjunts Xi (anomenats folds) amb la mateixa proporció d’exemples (si el nombre d’exemples no és divisible entre 10, s’igualen tant com es pugui pel que fa al nombre d’exemples que conté cada subconjunt). Tot seguit es fan 10 proves: una primera en la qual s’entrena el sistema usant els 9 primers subconjunts i es testeja (s’avalua) el sistema si usem el subconjunt que fa 10. Així doncs, les 10 execucions-proves corresponen a les 10 possibles combinacions dels conjunts per tal de realitzar aquesta prova. De cada execució se’n poden treure diferents dades, com per exemple el percentatge d’encerts. Així doncs, promitjant les 10 execucions (acompanyat de la desviació

Page 184: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

179

estàndard) es poden oferir resultats fiables (des d’un punt de vista estadístic) del percentatge d’encerts del sistema –per a un problema concret–, etc. Fiabilitat. Depenent del domini, per exemple si ens trobem en entorns mèdics, serà molt important la fiabilitat del sistema. Si per exemple el sistema intenta predir si un/a pacient té càncer o no, no serà el mateix que s’equivoqui quan el/la pacient té càncer, dient que no en té; que quan diagnostica que el/la pacient té càncer, quan en realitat no en té. Normalment, això es mesura en termes anomenats de sensibilitat i d’especificitat. Costos computacionals. També és important disposar de dades sobre el cost computacional del sistema (tant en termes d’O(n) dels algorismes, com en termes de temps de CPU) per tal d’avaluar la rapidesa de l’aprenentatge del sistema. Serà un terme més o menys important depenent del domini, però cal sempre disposar d’ell. % encerts (conjunts d’entrenament i de test).

Costos a posteriori

Seguint amb el concepte anterior, també és important avaluar els costos computacionals, no només en la fase d’aprenentatge del sistema, sinó en la fase d’explotació (costos a posteriori). Igualment serà important conèixer el cost en memòria del sistema. Mitjançant el cost computacional a posteriori, ens podríem plantejar si realment compensa un mètode d’aprenentatge en aquells entorns on hi ha altres mètodes alternatius. Per exemple, imaginem que tenim una agència de viatges: cada vegada que bé un client podem “planificar-li” el seu viatge, o bé tenir un sistema que hagi “après” a proposar viatges en funció de les característiques/necesisitats dels clients a partir de l’historial dels clients. És possible que en la majoria d’aquests dominis ens interessi un sistema híbrid, de tal manera que, si no podem oferir una solució prou bona, siguem capaços de “planificar el viatge partint de zero”.

Capacitat explicativa

En molts dominis, com per exemple en els dominis mèdics, quan s’ofereix una solució (o diagnòstic) convé adjuntar-hi una explicació plausible. Des d’aquest punt de vista, convindria que els sistemes tinguessin una certa capacitat explicativa. Hi ha sistemes, com les xarxes neuronals, que difícilment poden disposar d’aquesta característica. En aquests casos direm que actuen com a caixes negres. Per tant, serà un problema d’alguns mètodes d’aprenentatge.

Determinista

Convé que el sistema d’aprenentatge tingui un comportament determinista. És a dir, si per a un problema e1 en un temps t1, la seva solució és s1, llavors pel mateix problema e1 en un temps t2 la seva solució també hauria de ser s1.

Page 185: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

180

Val a dir que és una característica que ha de tenir tot sistema independentment de si l’entorn és no monòton o no estacionari o no determinístic.

Objectivitat versus subjectivitat

Existeix un dilema filosòfic entre l’aprenentatge supervisat i l’aprenentatge no supervisat: quin és més objectiu? Condicionem en la tria del conjunt d’exemples d’entrenament –en el cas dels mètodes supervisats–? I en la tria de les característiques (rellevants?) d’un exemple? Exemple. Un benchmark clàssic, dins de l’aprenentatge artificial, és el problema de les esponges marines. Existeixen milers de tipus d’esponges marines i els experts encara no han trobat una manera de classificar-les, fins a l’extrem que quan dos experts descriuen una mateixa esponja a partir de les seves característiques poden pensar que estan parlant d’esponges diferents. Així doncs, sembla que l’aprenentatge no supervisat podria trobar una classificació “objectiva”, mentre que l’aprenentatge supervisat és guiat per exemples proporcionats per experts i, per tant, classificats segons el seu criteri, així doncs podria proporcionar una classificació “subjectiva”. Tot i així, l’aprenentatge no supervisat “no és un oracle”, i sempre convé usar la informació de la qual disposem. Deixem el dilema a l’aire ...

Com avaluar un sistema d’aprenentatge?

Serà necessari poder avaluar un sistema d’aprenentatge respecte d’un altre. Una manera de fer-ho seria analitzant totes les característiques que hem estat comentant fins al moment. És el que exigirem al llarg d’aquest capítol per tal de comparar els diferents algorismes que estudiarem. D’altra banda, a la bibliografia s’han proposat diferents maneres genèriques de fer-ho. Com exemple proposem la que es descriu a [Cortes1995]p120 (o a l’edició anterior: [Cortes1994]p114). Concretament, es proposa com mesurar l’eficàcia d’un sistema, i es defineix de la manera següent:

),,( robustesaeficiènciatgeneralitafeficàcia = On generalitat = com és de fàcil adaptar el mètode a diferents aplicacions en dominis diversos; eficiència = cost temporal necessari per construir les estructures de representació que permetin descriure l’objectiu a partir d’unes estructures de representació inicials; i robustesa = ídem a la definició anterior de robustesa. Per tant, podem entendre l’eficàcia com la capacitat global del sistema.

5.1.4. Resum dels paradigmes que estudiarem Abans de finalitzar aquesta introducció a l’aprenentatge artificial resumirem i establirem un ordre entre els diferents paradigmes que estudiarem. Els classificarem des d’una perspectiva simbòlica, subsimbòlica o bé des d’una perspectiva diferent.

Page 186: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

181

Val a dir que, malgrat que establim un ordre entre els paradigmes en el moment d’estudiar-los, tots ells van néixer contemporàniament, com a fruit de les diferents fonts d’inspiració.

Perspectiva simbòlica

Dins de la perspectiva simbòlica hi trobarem l’aprenentatge inductiu, l’aprenentatge deductiu i l’aprenentatatge analògic. Veiem quina relació/justificació establirem entre ells en el moment d’estudiar-los. Inferència. La inferència (estratègia en la qual es basa l’aprenentatge inductiu) és un mètode per fer extensible o revisar el coneixement de manera sistemàtica. Quines limitacions té? 1. El resultat d’un procés d’inferència s’ha d’obtenir a partir de quelcom; això requereix un conjunt de premisses (seeded). 2. Els mecanismes d’inferència habituals no permeten la transició des d’un coneixement actual K fins a K’, en els casos que K i K’ són representativament disjunts (cross-domain). => Per tal de solventar aquest problema, podríem donar peu a l’aprenentatge analògic. 3. Preserven la falsedat, però no la veracitat. => Aquest problema no el tenen els mètodes deductius (basats en explicacions).

Perspectiva subsimbòlica

Podem veure la perspectiva subsimbòlica com una alternativa a la perspectiva simbòlica. Aquí dins hi cabrien molts paradigmes. Un d’ells és l’aprenentatge connexionista (pensem en les xarxes neuronals). L’argument que els partidaris d’aquesta perspectiva donen és “nosaltres no pensem a partir de regles, o de símbols, al cap i a la fi tenim xarxes de neurones”: per què no desenvolupar mètodes que funcionin en aquesta línia?

Diferent

Una altra perspectiva, difícil de classificar entre simbòlica o subsimbòlica, seria l’aprenentatge evolutiu (com per exemple, els algorismes genètics). És un paradigma que troba la seva justificació observant la natura. La seva font d’inspiració és l’evolució natural de’n Darwin i les lleis de’n Mendel: al cap i a la fi “nosaltres som una solució d’existència dins del planeta Terra”.

Page 187: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

182

RESUM

En aquesta sessió hem vist una introducció a l’aprenentatge artificial des de diferents perspectives: quin és l’objectiu de l’aprenentatge artificial? Quan és necessari l’aprenentatge artificial? Quins paradigmes d’aprenentatge hi ha? Quines característiques voldríem que tingués un sistema d’aprenentatge? Com avaluar-les? etc. Els conceptes que s’han donat els utilitzarem al llarg de tot el capítol.

Page 188: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

183

SESSIÓ 30: Aprenentatge inductiu (I) – AR (3/15) Nom: Aprenentatge inductiu (I) – APRENENTATGE ARTIFICIAL (3/15) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Moreno1994] [Winston1992]

PRECEDENTS Una vegada centrats els objectius de l’aprenentatge artificial, en aquesta sessió començarem a treballar el paradigma de l’aprenentatge inductiu.

OBJECTIUS El objectius d’aquesta sessió són dobles. D’una banda, introduir el paradigma de l’aprenentatge inductiu i, d’altra banda, estudiar un algorisme d’aquesta família.

CONTINGUTS En aquesta sessió veurem: una descripció general de l’aprenentatge inductiu, una jerarquia de les diferents famílies de l’aprenentatge inductiu i l’algorisme Winston (de la subfamília supervisada que realitza l’aprenentatge de descripcions a partir d’exemples).

5.2. Aprenentatge inductiu

5.2.1. Descripció de l’aprenentatge inductiu En aquest apartat descriurem l’aprenentatge inductiu de la manera més general possible. És a dir, descriurem en què consisteix “l’aprenentatge” des d’una perspectiva d’un “algorisme de cerca”. Aquest concepte engloba sota el mateix paraigües tant l’aprenentatge inductiu supervisat com l’aprenentatge inductiu no supervisat.

Definició

L’aprenentatge inductiu consisteix en l’adquisició del coneixement després de realitzar inferència inductiva (inducció) sobre les dades proporcionades per l’entorn o per un mestre.

Page 189: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

184

Si recordem la sessió anterior, la font d’inspiració de l’aprenentatge inductiu es trobava en la cerca heurística. Així doncs, aquest procés es podria caracteritzar com una cerca heurística en un espai d’estats on: Estat inicial: són les dades d’entrada. Estat: és una descripció simbòlica de major o menor generalitat. Operadors: són regles d’inferència (o heurístiques d’inferència), les quals ens permetran passar a un estat de major o menor generalitat. Aquestes regles són fonamentalment de dos tipus: regles (o heurístiques) d’especialització i regles (o heurístiques) de generalització. Les detallarem en els conceptes següents. Estat final. L’estat final pretén satisfer tres punts: implica les dades d’entrada satisfà el coneixement de recolzament del problema i maximitza el criteri de preferència.

Vegeu [Moreno1994]p19-p22

Heurístiques d’especialització

Les heurístiques d’especialització, tal i com diu el seu nom, especialitzen el concepte que s’està aprenent. En el cas de l’aprenentatge supervisat, normalment s’usen quan s’analitza un contraexemple (o un quasi exemple). Un contraexemple és un exemple negatiu del que es vol aprendre. Per exemple, si volem aprendre quin és el domini dels animals salvatges, un exemple negatiu seria una gallina. D’altra banda, un quasi exemple és quasi un exemple positiu del que es vol aprendre. De tal manera que el converteix en exemple negatiu una única diferència respecte de la descripció d’un exemple positiu. Si per exemple volem aprendre el concepte d’arc, un quasi exemple seria un “arc” en el qual les columnes estan juntes, per tant, no és un arc.

Heurístiques de generalització

Les heurístiques de generalització s’usen per tal d’obtenir una definició més genèrica del concepte que es vol aprendre. En el cas de l’aprenentatge supervisat, normalment s’usen quan s’analitza un exemple positiu (o exemple). Un exemple positiu, o senzillament exemple, és aquell que representa un cas del domini/problema/concepte/etc. que es vol aprendre. Així doncs, en el cas dels animals salvatges, un exemple positiu seria un tigre. Les heurístiques de generalització normalment es classifiquen en dos tipus:

Page 190: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

185

1. Regles de selecció. Són aquelles regles en les quals tots els descriptors apareixen en l’expressió generalitzada ja que estaven presents en les descripcions inicials del concepte. Les regles de selecció poden consistir -per exemple- en: la supressió de conjuntants, l’addició de disjuntants, tancar intervals, realitzar un canvi de constants per variables o per pujar dins de l’arbre de generalització (vegeu [Moreno1994], a les pàgines 20 i 21). 2. Regles constructives. Són regles que generen assercions inductives, les quals contenen descriptors que no existien en les descripcions originals. Les regles constructives poden ser de l’estil: comptar el nombre d’objectes que satisfan una certa condició, generar propietats en una cadena d’elements o bé detectar dependències entre descriptors (vegeu [Moreno1994], a la pàgina 21).

[Moreno1994]p20-p21

5.2.2. Tipus d’aprenentatge inductiu Fins ara hem vist que l’aprenentatge inductiu el podríem resumir com la suma de tres parts: un mètode de cerca, una estratègia de control i una funció de maximització. Tot seguit presentarem les principals famílies de l’aprenentatge inductiu: l’adquisició de conceptes i l’aprenentatge a partir de l’observació.

Adquisició de conceptes

L’adquisició de conceptes es caracteritza per l’existència d’un professor que proporciona al programa la descripció d’alguns objectes ja classificats en una o més classes (o conceptes). Així doncs, la hipòtesi que s’indueix pot ser vista com una regla de reconeixement del concepte. Això significa que, si un objecte satisfà les condicions de la regla, llavors representa el concepte. Aquesta família es basa en l’aprenentatge supervisat, per tant, el professor tindrà un paper clau durant l’aprenentatge mostrant exemples, quasi exemples, o bé contra-exemples, depenent de l’algorisme. Destacarem dues subfamílies. L’aprenentatge de descripcions a partir d’exemples, de la qual veurem l’algorisme de Winston, i la inducció d’arbres de decisió, de la qual estudiarem l’algorisme ID3 bàsic.

[Moreno1994]p22

Aprenentatge a partir de l’observació

L’aprenentatge a partir de l’observació (o la generalització descriptiva) té com a objectiu determinar una descripció general que caracteritzi un conjunt d’observacions. Així doncs, aquesta família es basa en l’aprenentatge no supervisat.

Page 191: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

186

D’aquesta família hi dues grans subfamílies: l’agrupació conceptual i la formació de conceptes. La diferència entre ambdues rau en el fet que la segona ofereix un aprenentatge incremental, mentre que la primera no. Analitzarem l’algorisme AUTOCLASS, el qual és un mètode de l’agrupació conceptual.

[Moreno1994]p22

5.2.3. L’algorisme de Winston Els mètodes que engloba l’aprenentatge de descripcions a partir d’exemples intenten induir la descripció d’una classe d’objectes, després d’analitzar una sèrie d’instàncies positives (exemples positius o bé senzillament exemples), i en alguns casos també a partir d’instàncies negatives (o exemples negatius) i/o quasi exemples de la classe. En aquest apartat estudiarem l’algorisme Winston, tot i que hi ha molts altres mètodes que pertanyen a aquesta família, i força diferents entre ells, com per exemple l’espai de versions.

L’algorisme de Winston W

L’algorisme de Winston W usa exemples proporcionats pel professor i en un cert ordre –proposat pel mateix professor–. Els exemples que proporciona el professor poden ser de dos tipus: exemples positius i exemples negatius. En el llibre [Moreno1994] podem veure diferents exemples del concepte ARC. Les figures 2.5 i 2.6 (vegeu [Moreno1994]p25) mostren exemples positius del concepte ARC. La figura 2.7 (vegeu [Moreno1994]p26) mostra un exemple negatiu del mateix concepte. I la figura 2.8 (vegeu [Moreno1994]p27) il·lustra un quasi exemple. Vegem l’esquema de l’algorisme de Winston W. Algorisme de Winston W Pas 1. Preneu com a descripció inicial del concepte que es vol aprendre la descripció del primer exemple positiu. Pas 2. Per a tots els exemples que vinguin a continuació del primer, feu: Pas 2.1 Si l’exemple és un quasi exemple useu l’algorisme d’especialització. Pas 2.2 Si l’exemple és un exemple positiu useu l’algorisme de generalització. Fi algorisme En els conceptes següents analitzarem les heurístiques que necessiten els algorismes d’especialització i de generalització i els esquemes d’ambdós algorismes.

[Moreno1994]p23-p32

Page 192: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

187

[Winston1992]p349-p359

Heurístiques que usa l’algorisme de Winston

Per tal de realitzar l’ESPECIALITZACIÓ i la GENERALITZACIÓ d’un concepte, l’algorisme W usa una sèrie d’heurístiques d’inducció. Concretament dues heurístiques d’especialització: enllaç necessari (require-link) i enllaç prohibit (forbid-link); i quatre heurístiques de generalització: pujar l’arbre (climb-tree), estendre un conjunt (enlarge-set), caiguda d’enllaç (drop-link) i tancament d’interval (close-interval). Vegem-les. 1. L’heurística require-link s’usa quan un model que s’està evolucionant té un lligam (enllaç o link) en un lloc on el quasi exemple no el té. En aquest cas el link del model s’ha de convertir en un link de tipus MUST (HA DE). 2. L’heurística forbid-link s’usa quan un quasi exemple té un link en el lloc on el model que s’està evolucionant no hi és. En aquest cas s’afegeix una forma MUST NOT (NO HA DE) en el model que s’està desenvolupant. 3. L’heurística climb-tree s’usa quan un objecte del model que s’està evolucionant correspon a un objecte diferent d’un exemple. En aquest cas, els links MUST-BE-A han d’apuntar a la classe comuna més específica dins de l’arbre de classificació entre l’objecte model i l’objecte exemple. 4. L’heurística enlarge-set s’usa quan un objecte dins del model que s’està evolucionant correspon a un objecte diferent dins d’un exemple, i els dos objectes no estan relacionats per d’altres dins de l’arbre de classificació. En aquest cas, els links MUST-BE-A passen a apuntar cap a una nova classe formada per la unió de les classes dels objectes. 5. L’heurística drop-link s’usa quan els objectes que són diferents dins del model que s’està evolucionant i dins de l’exemple formen un conjunt exhaustiu. També s’usa quan el model que s’està evolucionant té un link que no es troba a l’exemple. En aquests casos, el link s’elimina del model. 6. L’heurística close-interval s’usa quan un número o un interval dins del model que s’està evolucionant correspon a un número dins de l’exemple. Si el model usa un número, el número es substitueix per un interval que abasta el número del model i el número de l’exemple. Si el model usa un interval, l’interval s’augmenta per tal d’incloure el número de l’exemple.

[Winston1992]p356

Algorisme d’especialització

L’algorisme d’especialització s’usa per construir un model més restrictiu. Recordeu que els exemples amb els quals treballa aquest algorisme són els quasi exemples.

Page 193: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

188

Algorisme d’especialització Pas 1. Associeu (match) el model que s’està evolucionant amb el quasi exemple, per tal d’establir correspondències entre ambdues parts. Pas 2. Determineu si hi ha una única diferència que sigui important entre el model que s’està evolucionant i el quasi exemple. Pas 2.1 Si hi ha una única diferència important: Pas 2.1.1 Si el model que s’està evolucionant té un link que no hi és en el quasi exemple, apliqueu l’heurística require-link. Pas 2.1.2 Si el quasi exemple té un link que no hi és en el model, apliqueu l’heurística forbid-link. Pas 2.2 Altrament, ignoreu l’exemple Fi algorisme Podem observar que si hi ha més d’una diferència important, l’algorisme ignora el quasi exemple. Es pot interpretar que és difícil decidir sobre quina diferència actuar i en quin ordre fer-ho.

[Winston1992]p356

Algorisme de generalització

L’algorisme de generalització s’usa per tal de construir un model més permissible. Recordeu que els exemples amb els quals treballa l’algorisme són els exemples positius. Algorisme de generalització Pas 1. Associeu (match) el model que s’està evolucionant amb el quasi exemple, per tal d’establir correspondències entre ambdues parts. Pas 2. Per a cada diferència, determineu el tipus de diferència i: Pas 2.1 si un link apunta a una classe dins del model que s’està evolucionant diferent de la classe a la qual apunta el link de l’exemple i Pas 2.1.1 si les classes són parts de l’arbre de classificació, useu l’heurística climb-tree. Pas 2.1.2 Si les classes formen un conjunt exhaustiu, useu l’heurística drop-link. Pas 2.1.3 Altrament, useu l’heurística enlarge-set. Pas 2.2 Si el link no es troba en l’exemple, useu l’heurística drop-link. Pas 2.3 Si la diferència són números diferents, o un interval i un número fora de l’interval, useu l’heurística close-interval.

Page 194: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

189

Pas 2.4 Altrament, ignoreu la diferència. Fi algorisme

[Winston1992]p357

Exemple de l’algorisme de Winston

En el llibre de’n [Winston1992] podem veure alguns exemples de l’algorisme Winston W i quina heurística convé aplicar en les diferents situacions que es presenten. Suposem que volem aprendre el concepte d’ARC, i el concepte que tenim après fins al moment és el que es mostra a la figura 16.2(a) –pàgina 352–. L’arc que es mostra a la figura 16.2(b) és un quasi exemple que ens arriba, per tant, haurem d’aplicar l’algorisme d’especialització. Donada la diferència que dectectem, l’heurística a aplicar serà la require-link i obtindrem una nova definició del concepte ARC, que es mostra a la figura 16.2(c). Alerta: en realitat en aquests exemples que ens mostra el propi Winston l’algorisme no faria res, ja que hi ha DUES diferències! Entengueu només el que vol il·lustrar amb aquests exemples. Suposeu que ens arriba de nou un quasi exemple, com el que mostra la figura 16.3(b) –pàgina 353–. De nou haurem d’aplicar l’algorisme d’especialització. En aquest cas l’heurística a aplicar serà la forbid-link i obtindrem una nova definició del concepte ARC més específica, com la que mostra la figura 16.3(c). La figura 16.4(a) –pàgina 355– mostra el concepte d’ARC que tenim fins al moment. Imagineu que ens arriba un exemple d’ARC –vegeu la figura 16.4(b)– , en aquest cas haurem d’aplicar l’algorisme de generalització. Concretament aplicarem l’heurística climb-tree i obtindrem un concepte més permissible d’ARC (vegeu la figura 16.4(c)).

[Winston1992]p350-p355

Observacions

Hi ha una sèrie d’observacions i/o principis que es van derivar d’aquest tipus d’aprenentatge: - Si existeix qualsevol dubte sobre el que s’ha d’aprendre, millor no aprendre-ho. - Principi de no alteració (no-altering principle). Quan quelcom és una instància positiva d’un concepte i aquest no se li assembla, llavors és millor crear una excepció. - Llei de Martin. L’aprenentatge artificial es realitza a passos molt petits, seqüencialment, refinant les idees. - Podeu observar que l’algorisme funciona com “una cerca primer en profunditat”.

Page 195: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

190

- Podeu observar que aquest algorisme és molt sensible a l’ordre d’entrada dels exemples, per tant, és esbiaixat a l’ordre d’entrada. En general, hauríeu de saber valorar sobre aquest algorisme les diferents característiques que vam estudiar a la primera sessió que correspon al capítol d’aprenentatge artificial.

RESUM

Aquesta sessió és la primera de tres corresponent a l’aprenentatge inductiu. En primer lloc s’ha descrit l’aprenentatge inductiu i els tipus d’aprenentatge inductiu que hi ha, i tot seguit hem estudiat l’algorisme Winston W, concretament, dins de la família de l’aprenentatge de descripcions a partir d’exemples.

Page 196: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

191

SESSIÓ 31: Aprenentatge inductiu (II) – AR (4/15) Nom: Aprenentatge inductiu (II) – APRENENTATGE ARTIFICIAL (4/15) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Moreno1994]

PRECEDENTS Aquesta sessió és la segona de tres sessions corresponents a l’aprenentatge inductiu. A la sessió anterior ja vam veure la descripció de l’aprenentatge inductiu.

OBJECTIUS L’objectiu d’aquesta sessió és presentar l’algorisme ID3, corresponent a la inducció d’arbres de decisió. És una subfamília de l’aprenentatge inductiu molt utilitzada per a problemes de classificació.

CONTINGUTS En aquesta sessió treballarem la inducció d’arbres de decisió. Així doncs, en primer lloc descriurem què entenem per un arbre de decisió i quins criteris s’usen per tal d’avaluar-los. En segon lloc, estudiarem un algorisme clàssic d’inducció d’arbres de decisió: ID3. Veurem la seva filosofia, l’algorisme en si, la funció de guany, proposarem un exercici per tal de comprendre l’algorisme i hauríeu de reflexionar sobre les propietats que aquest algorisme ofereix des de la perspectiva de l’aprenentatge artificial.

5.2.4. Inducció d’arbres de decisió – ID3 La inducció d’arbres de decisió engloba una sèrie d’algorismes que tenen per objectiu la construcció d’un arbre de decisió que expliqui un cert domini de la manera més compacta possible, segons certs criteris d’avaluació. Concretament, estudiarem l’algorisme ID3.

Arbres de decisió

Un arbre de decisió és una possible representació dels processos de decisió involucrats en tasques inductives de classificació.

Page 197: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

192

Els atributs s’utilitzen per crear particions de conjunts d’exemples. En aquesta figura els atributs són representats per: Ai, Aj i Ak, mentre que els valors que poden adoptar aquests atributs són representats per V(Ai), V(Aj) i V(Ak). Els nodes de l’arbre de decisió corresponen als noms o identificadors dels atributs, mentre que les branques d’un node representen els possibles valors que pot adoptar l’atribut del node. Les fulles són conjunts ja classificats d’exemples. L’estratègia de construcció de l’arbre consisteix a seleccionar –en cada moment– l’atribut potencialment més útil per a la classificació, entenent com a tal aquell que promet generar el millor arbre a partir d’aquest moment.

[Moreno1994]p49-p50

Criteris d’avaluació dels arbres de decisió

Hi ha diferents criteris per decidir, davant de dos arbres de decisió que classifiquen el mateix problema, quin és el millor: Cost: quant costa (de mitjana) anar de l’arrel a una fulla. Depèn de dos factors: la longitud del camí (#atributs consultats) i el cost de cada consulta. Bondat: capacitat de predicció de l’arbre per discriminar un conjunt independent d’exemples (la bondat s’acostuma a mesurar mitjançant el percentatge d’encerts). Legibilitat: de l’arbre (aquest només s’usa en el cas d’empat dels dos anteriors).

[Moreno1994]p49-p50

ID3 bàsic

L’algorisme ID3, proposat per en Quinlan l’any 1979, pertany a la família TDIDT (top-down induction of decision trees).

Page 198: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

193

L’objectiu d’aquest algorisme consisteix a construir un arbre de decisió que expliqui tots els exemples de la manera més compacta possible, segons els criteris d’avaluació. Així doncs, l’algorisme ID3 construeix un arbre de decisió seleccionant en tot moment el millor atribut segons una certa mesura heurística. Ho podem veure com una cerca hill-climbing. Un exemple és descrit per un conjunt d’atribut més el valor que adopta cadascun d’ells, més la classe a la qual pertany l’exemple en qüestió: exemple = {(a1,v1), … , (an,vn), (classe,c)}

On: V(a) és el conjunt de valors que pot adoptar l’atribut a. Pa(X,a,v) és un subconjunt d’exemples d’x tals que per l’atribut a adopten el valor v. crear_arbre(c) és una funció que crea un arbre amb un únic node etiquetat pel valor c. afegir_branca(arbre1,arbre2,v) és una funció que a l’arbre1 li afegeix una branca etiquetada pel valor v on hi penja l’arbre2. G(X,a) és la funció de guany. Vegem-la en el concepte següent. Quan no queden atributs disponibles i les diferents instàncies d’x pertanyen a diferents classes, l’algorisme original de’n Quinlan etiquetava el node fulla per a la CLASSE MAJORITÀRIA. Ara bé, en certs dominis com els mèdics és preferible etiquetar-la com a CLASSE_DESCONEGUDA abans de donar un diagnòstic incorrecte. Per tant, la

Page 199: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

194

decisió que prenguem sobre com etiquetar aquest tipus de nodes fulles dependrà del domini sobre el qual estiguem treballant.

[Moreno1994]p50-p52

La funció de guany

La funció de guany és clau dins de l’algorisme ID3, ja que depenent d’aquesta l’arbre de decisió final pot ser completament diferent. La funció de guany que va proposar en Quinlan per a l’ID3 s’inspira en la teoria de la informació, concretament, en l’entropia de Shannon. La seva formulació és la següent:

On: Pc(X) és la partició d’x segons les classes de C. Part(X,a) és la partició d’x segons V(a). p(X,c) és la probabilitat que una certa instància d’x pertanyi a c, definida com la proporció d’elements d’x que també pertanyen a c. I(Pc(X)) estima l’aleatorietat de la distribució de les instàncies d’x sobre les classes de C. Per tant, mesura la quantitat d’Informació necessària per obtenir la classe, d’entre les de C, d’un element d’x. E(X,a) estima l’aleatorietat amb la qual les instàncies estan distribuïdes entre les classes, consistint en la mitjana ponderada de la quantitat d’informació requerida per les particions generades pels valors de l’atribut a. Podem observar que aquesta fórmula equival a seleccionar l’atribut que minimitzi E(X,a), ja que I(Pc(X)) és igual per a tots els atributs.

[Moreno1994]p52

Exercici d’aplicació de l’ID3

Us proposem que trobeu l’arbre de decisió que obtindria l’algorisme ID3 per tal de classificar el domini que presenta la taula següent. Així doncs, una fila mostra un

=

∧=

−=

−=

),(

)(2

))((##),(

#)(#),(

),(log),())((),())((),(

aXPartx

XPcc

xPcIXxaXE

XcXcXp

cXpcXpXPcIaXEXPcIaXG

Page 200: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

195

exemple. En total X conté 8 exemples, A conté 3 atributs (alçada, cabell i ulls) i C està format per 2 classes (C1 i C2).

Vegeu [Moreno1994]p52-p54

Observacions

Podem observar que: - L’algorisme ID3 no és esbiaixat a l’ordre d’entrada dels exemples, tal i com succeïa amb l’algorisme Winston, ja que tracta en tot moment el CONJUNT d’exemples. Fóra bo que us plantegéssiu les preguntes següents: - Què vol dir (o què implica) que un node s’hagi d’etiquetar per a CLASSE_DESCONEGUDA? Analitzeu la resposta no només a nivell del propi ID3, sinó a nivell de com està representat el domini (els atributs que determinen un exemple). - Què vol dir (o què implica) que l’arbre de decisió que representa un cert domini no utilitzi tots els atributs disponibles? D’altra banda: - Què passa si arriben noves dades (nous exemples) que representen casos que no estan contemplats en l’arbre de decisió? Podeu observar que l’ID3 no és un algorisme incremental, per tant hauríem de crear l’arbre de decisió de nou. Per tal de solucionar aquest problema, dins de la família dels TDIDT s’han anat d’altres problemes que són incrementals, com: ID4, ID4R, ID5 i ID5R. Alguns d’ells l’arbre de decisió resultant és equivalent a fer un ID3 amb totes les dades, i d’altres no.

RESUM

En aquesta sessió hem estudiat l’algorisme ID3 bàsic, que és l’algorisme que millor representa la família d’algorismes que es basen en la inducció d’arbres de decisió, tot i que posteriorment s’han proposat molts altres algorismes, fins i tot amb aprenentatge no supervisat.

Page 201: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

196

Page 202: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

197

SESSIÓ 32: Aprenentatge inductiu (III) – AR (5/15) Nom: Aprenentatge inductiu (III) – APRENENTATGE ARTIFICIAL (5/15) Tipus: teòrica Format: no presencial Durada: 1,5 hora Dedicació: 1,5 hora Treball a lliurar: no Material:

o Bibliografia bàsica: [Moreno1994]

o Bibliografia complementària: [Cheeseman1995]

PRECEDENTS Aquesta sessió va acompanyada de les dues sessions anteriors, ja que entre totes tres es presenta l’aprenentatge inductiu.

OBJECTIUS L’objectiu d’aquesta sessió és el de presentar la vessant no supervisada de l’aprenentatge inductiu.

CONTINGUTS En aquesta sessió descriurem l’aprenentatge per observació (la vessant no supervisada de l’aprenentatge inductiu). Concretament veurem l’algorisme AUTOCLASS.

5.2.5. Aprenentatge per observació: AUTOCLASS L’aprenentatge a partir de l’observació (o la generalització descriptiva) té com a objectiu determinar una descripció general que caracteritzi un conjunt d’observacions. Així doncs, aquesta família es basa en l’aprenentatge no supervisat. D’aquesta família hi dues grans subfamílies: l’agrupació conceptual i la formació de conceptes. La diferència entre ambdues rau en el fet que la segona ofereix un aprenentatge incremental, mentre que la primera no. Analitzarem l’algorisme AUTOCLASS, que és un mètode de l’agrupació conceptual.

Aprenentatge per observació

La idea principal de l’aprenentatge per observació és la de crear una classificació a partir d’un conjunt d’observacions. Podem observar que aquest tipus de classificació no és la que hem vist fins ara (assignar una classe a un exemple donat) sinó que volem descobrir les classes, és a dir, agrupar els exemples en classes.

Page 203: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

198

Així doncs, l’objectiu de l’aprenentatge per observació serà el de descobrir patrons comuns entre les dades, els quals permetin separar els exemples en classes o jerarquies de classes. D’aquesta manera es podran extreure caracteritzacions o bé ens permetrà predir característiques o deduir relacions útils (agrupació o clustering). Per tant, l’aprenentatge per observació és clarament un aprenentatge no supervisat. La font d’inspiració de l’aprenentatge per observació es troba en la psicologia cognitiva. Concretament sobre com els humans establim les definicions i com caracteritzem grups d’objectes que considerem que pertanyen a un mateix concepte. Les diferents tècniques d’aprenentatge automàtic que configuren l’aprenentatge per observació es poden classificar de la manera següent:

La diferència fonamental entre ambdues es basa en dividir els mètodes que realitzen l’adquisició del coneixement de manera incremental (formació de conceptes) dels mètodes que no ho fan (agrupació conceptual).

[Moreno1994]p74

Agrupació conceptual

L’agrupació conceptual, segons en Michalski (1980), es pot definir de la manera següent: “Agrupar objectes en classes -conceptualment simples- basades en els valors dels atributs, prenent en consideració tot el coneixement sobre les relacions semàntiques entre els atributs dels objectes o qualsevol concepte global que pugui ser usat per caracteritzar les classes que es formen.” Per exemple, suposem que tenim el coneixement que expressa aquesta figura:

Page 204: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

199

Podem observar que una funció típica de similitud agruparia A i B dins d’una mateixa classe, ja que no comptaria amb cap informació addicional. Si ens hi fixem millor, l’A pertany a l’estructura d’un cercle, mentre que la B pertany a l’estructura d’un triangle, per tant, sembla que pertanyen a dos conceptes diferents, malgrat el que es pot intuir al primer cop d’ull. Així doncs, certes consideracions “semàntiques” s’hauran de tenir en compte quan es volen agrupar les diferents dades d’entrada. Hi ha diferents models dins de l’agrupació de conceptes, alguns d’ells són: CLUSTER (Michalski, 1986); WITT (Hanson and Bauer, 1986) i AUTOCLASS (Cheeseman et al., 1988). Concretament, presentarem l’AUTOCLASS al llarg d’aquesta sessió.

[Moreno1994]p74-p76

Formació de conceptes

La formació de conceptes té el mateix objectiu que l’agrupació conceptual: obtenir una classificació d’un conjunt d’observacions i una caracterització de les classes obtingudes que permetin identificar els diferents grups, amb una especial èmfasi en la construcció d’una jerarquia que permeti relacionar conceptes. Així doncs, la diferència rau en que l’aprenentatge, dins de la formació de conceptes, és una tasca incremental. Des d’un punt de vista de cerca, podríem dir que l’aprenentatge es realitza “a la hill climbing, però l’objectiu també va canviant. Tanmateix, en tot moment només hi ha una única solució en curs. Inconvenients d’aquest tipus d’aprenentatge: la majoria de mètodes presenten un biaix a l’ordre d’entrada de les observacions. I acostumen a ser força sensibles al soroll que poden presentar les descripcions. Alguns dels models que es troben dins de la formació de conceptes són: EPAM (Feigenbaum, 1961;1984); UNIMEM (Lebowitz, 1987) i CYRUS (Kolodner, 1983); COBWEB (Fisher, 1987); i CLASSIT (Genari et al., 1989).

[Moreno1994]p87

AUTOCLASS

L’AUTOCLASS va ser proposat per en Cheeseman et al. l’any 1988. És un model de l’agrupació conceptual, per tant, no realitza l’aprenentatge de manera incremental. L’AUTOCLASS es basa en l’aplicació del teorema de Bayes i les funcions de distribució que presenten els atributs que descriuen les dades. Les categories (classes) que s’obtenen no són disjuntes i les observacions tenen un grau de pertinença a cadascuna d’elles.

Page 205: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

200

Característiques de l’AUTOCLASS: - El nombre de classes es determina automàticament. - Els objectes no s’assignen a classes de manera única. - Es poden barrejar dades descrites al mateix temps per atributs quantitatius i qualitatius. - Tots els atributs es valoren de la mateixa manera. Algorisme AUTOCLASSS Pas 1. Estimeu els paràmetres:

πθ rri

Pas 2. Determineu el nombre de classes J òptim Fi algorisme Tal que, O : conjunt d’observacions. J : nombre de classes I : nombre d’instàncies (o exemples, o dades, o objectes)

jθ És la distribució dels atributs d’una classe j a partir de la mitjana i la variància.

jπ És la probabilitat que un objecte qualsevol pertanyi a la classe j. Vegeu en detall el càlcul dels diferents paràmetres a [Moreno1994], a les pàgines 84-86.

[Moreno1994]p84-p86

[Cheeseman1995]

RESUM

Amb aquesta sessió hem finalitzat tres sessions amb les quals hem treballat l’aprenentatge inductiu. Hem pogut veure que l’aprenentatge inductiu inclou tots aquells processos en els quals s’adquireix nou coneixement després de realitzar inferència inductiva sobre les dades d’entrada. En total hem presentat tres algorismes: WINSTON, ID3 i l’AUTOCLASS.

Page 206: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

201

SESSIÓ 33: Aprenentatge analògic (I) – AR (6/15) Nom: Aprenentatge analògic (I) – APRENENTATGE ARTIFICIAL (6/15) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Cortes1994]

OBJECTIUS Aquesta sessió –conjuntament amb les dues següents– té per objectiu presentar l’aprenentatge analògic. En aquesta sessió ens centrarem en el concepte general de l’aprenentatge analògic i veurem alguns sistemes clàssics.

CONTINGUTS En aquesta sessió veurem el concepte d’aprenentatge analògic i les diferents famílies que hi ha dins d’aquest paradigma. En segon lloc, analitzarem tres sistemes clàssics: l’ANALOGY, l’analogia transformacional i l’analogia derivacional.

5.3. Aprenentatge analògic

5.3.1. Introducció El raonament analògic és una estratègia de pensament que permet explotar l’experiència acumulada (coneixement de recolzament) al resoldre problemes, per tal de tractar problemes nous. En aquest apartat presentarem tant el concepte i la filosofia del raonament analògic com les diferents famílies que existeixen dins d’aquest paradigma.

Concepte d’analogia

El concepte d’analogia (o procés d’analogia) es basa en la suposició següent: “si dues situacions són similars en algun aspecte llavors poden ser-ho en algun altre”. Així doncs, per exemple podríem establir una analogia entre el funcionament d’un circuit RLC i el comportament d’un sistema de forces (vegeu [Cortes1994] la figura 1.1 a la pàgina 158). Per tant, estem entenent un nou domini a partir d’una analogia amb un domini ja conegut. Si recordeu, un dels problemes de l’aprenentatge inductiu era

Page 207: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

202

justament que no sabia treballar en diferents dominis al mateix temps (el problema del cross-domain). Tanmateix s’ha d’anar en compte, perquè també existeixen moltes falses analogies. Podríeu provar d’imitar el vol dels ocells des de dalt d’un campanar ... òbviament, millor no fer-ho!

Vegeu [Cortes1994]p157-p158

Raonament analògic

El raonament analògic consisteix a transformar una inferència vàlida en una situació (e.g. A -> B) en una situació similar, per exemple, A’. Així, a partir de la semblança entre A i A’, s’obté una situació B’ similar a B, que és la conclusió del raonament analògic. Vegeu la figura següent.

Si es considera que existeix una inferència beta que és coneguda i que indica una relació de dependència entre A i B, es diu que beta és una relació de causalitat. A més a més, existeix la relació de similitud alfa entre A i A’. Per tant, beta s’estableix entre objectes del mateix domini, mentre que alfa és una relació entre dominis diferents. Per tant, el procés d’analogia consisteix a calcular la relació beta’ que aplicada a A’ generarà la conclusió B’.

[Cortes1994]p157-p159

Analogia i aprenentatge

Quina relació podem establir entre el concepte d’analogia i l’aprenentatge? Es diu que hi ha aprenentatge quan un agent s’enfronta a una nova situació (desconeguda) i “descobreix” que l’estructura de la nova situació és similar a una altra, en un altre domini que ja coneixia, i llavors pot utilitzar el seu coneixement de recolzament per afrontar-la. Així doncs, la idea de l’aprenentatge analògic sembla molt senzilla. Però darrera d’ella amaguen una sèries de problemes:

Page 208: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

203

- Com s’identifica la correspondència entre A i A’? - Com es compara la resta de l’estructura d’ambdues situacions? És a dir, necessitem fer un procés de descripció, a més un procés de matching. Com ja vam veure dins del capítol de Representació del coneixement – Raonament, el procés de matching comporta una sèrie de problemes. Problemes del matching al realitzar raonament analògic: 1. Com és l’espai dels matchings possibles? 2. Què ha de ser considerat com el quantum d’evidència per a un matching? 3. Com s’obté a partir dels quanta una mesura de similitud global entre dues situacions? Totes aquestes qüestions s’hauran de resoldre quan es vulgui realitzar un sistema basat en l’aprenentatge analògic.

[Cortes1994]p158-p159

Famílies de l’aprenentatge analògic

Actualment existeixen diferents famílies dins de l’aprenentatge analògic. Algunes d’elles són: * Exemplar-based reasoning (Kibler & Aha, 1987; Porter & Bareiss, 1986). Consisteix a definir un concepte de manera extensional, és a dir, a partir d’un conjunt d’exemples. * Instance-based reasoning (Aha & Kliber, 1991). És una especialització de l’exemplar-based reasoning. Són diferents aproximacions per cercar exemples per tal de donar un coneixement més intensiu del concepte. Per exemple, el sistema PROTOS. * Memory-based reasoning (Stanfill, 1988; Kolodner, 1988; Kitano, 1993). Aquest tipus de raonament s’usa per a grans/llargues memòries de casos (exemples). Usa el raonament com un procés d’accés i cerca en aquesta memòria. S’ha treballat en processos paral·lels. * Case-based reasoning (Riesbeck & Shank 1989; Kolodner 1993). Consisteix a adaptar les solucions que es van trobar per resoldre vells problemes, per tal de resoldre problemes nous. El raonament basat en casos el descriurem en més detall a la tercera sessió dedicada a l’aprenentatge analògic.

* Analogy-based reasoning (Veloso, 1993; Kedar-Cabelli, 1988; Hall 1989). Aquesta subfamília és la que segueix més fidelment el que fins ara hem descrit per raonament/aprenentatge analògic.

Page 209: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

204

Què veurem?

Al llarg d’aquest tema dedicat a l’aprenentatge analògic –aquesta sessió i les dues següents–, veurem en primer lloc alguns sistemes clàssics, els quals van ser, en certa manera, pioners i van anar aportant el que avui en dia configuren les diferents famílies de l’aprenentatge analògic: 1. Un sistema per resoldre analogies geomètriques – Analogy. 2. Analogia transformacional. 3. Analogia derivacional. 4. Aprenentatge per raonament a partir de precedents. 5. Aprenentatge per raonament sobre múltiples analogies. I d’altra banda, presentarem en més detall el raonament basat en casos (case-based reasoning – CBR).

5.3.2. Un sistema per resoldre analogies geomètriques En T. Evans va proposar l’any 1968 un sistema per resoldre analogies geomètriques, anomenat ANALOGY. T. Evans va ser el primer en dissenyar un programa per simular el raonament analògic.

Analogy

El funcionament del sistema ANALOGY està dirigit a l’elaboració d’una llista de correspondències entre les instàncies i el concepte objectiu. La descripció dels objectes es realitza mitjançant l’ús d’una xarxa semàntica. Si observeu l’exemple que es mostra a [Cortes1994], a la figura 7.3 de la pàgina 159, serà més fàcil entendre l’algorisme que segueix l’ANALOGY: Algorisme Pas 1. Descrigueu la regla que transforma la instància A en la figura B (A -> B) i descrigueu les regles que transformen la figura C en les figures objectiu Xi (C -> Xi). Pas 2. Emparelleu la regla A -> B amb cadascuna de les regles C -> Xi i descrigueu les diferències. Pas 3. Seleccioneu la regla C -> Xi que més s’assembli a la regla A -> B. Pas 4. Designeu la Xi com a resposta. Fi algorisme

Vegeu [Cortes1994]p159-p160

Page 210: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

205

Observacions

Davant d’aquest primer sistema basat en analogies, les observacions següents es poden considerar els trets més rellevants del sistema: 1. El mecanisme d’emparellament (matching) d’estructures utilitzat pel procés d’analogia ha de ser flexible. Ha d’admetre l’existència de relacions sense emparellar. 2. L’ANALOGY utilitza mecanismes de valoració (scoring) per catalogar la rellevància de les regles C -> Xi. Per tant, la rellevància de les regles està en funció de la semblança entre les regles. Però com es mesura aquesta semblança? Segurament es necessitaran heurístiques per als emparellaments inexactes. 3. Podem observar que l’ANALOGY resol l’analogia en tres passos: el pas 1, el pas 2 i el pas 3 de l’algorisme. 4. La referència original de l’ANALOGY és: T. Evans “A Heuristic Program to Solve Geometric Analogy” In Semantic Information Processing, M. Minsky (editor) MIT Press (1968)

Vegeu [Cortes1994]p159-p160

5.3.3. Analogia transformacional En J. Carbonell va presentar l’any 1983 l’analogia transformacional. Vegem la seva proposta al llarg dels conceptes següents.

Analogia transformacional

En J. Carbonell considera que existeix un espai (T-space) en el qual la solució (coneguda) pot ser transformada, usant una sèrie d’operadors (els quals anomena operadors T), fins a convertir-la en la solució del nou problema. Vegeu [Cortes1994] la figura 7.4, a la pàgina 161. Podem observar que el plantejament per resoldre problemes no mira com es pot resoldre el problema, sinó que la solució sigui equivalent. En l’exemple següent podrem entendre millor el seu funcionament: Es vol construir una prova per mostrar que dos segments RN i OY són iguals (vegeu [Cortes1994]p162, figura 7.5). En aquest cas, els operadors T són les propietats de reflexivitat, transitivitat i additivitat –i, a més, aplicats en aquest ordre–. Ara suposem que tenim el problema que es mostra a [Cortes1994]p162, a la figura 7.6. Vegeu com es resol el problema dels angles fent una analogia amb el cas anterior.

Page 211: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

206

Vegeu [Cortes1994]p160-p161

Observacions

Aquesta aproximació presenta molts problemes. Concretament, un dels punts més febles és el fet que per resoldre problemes no mira com es pot resoldre el problema, sinó que la solució sigui equivalent, ja que la cerca en l’espai de les transformacions és molt més complexa que la cerca en l’espai original del problema. La referència original és: J. Carbonell “Learning by analogy: Formulating and generalizing plans from past experience” In Machine Learning. An AI aproach, R.S. Michalski, J.G. Carbonell and T.M. Mitchell (editors) Morgan Kaufmann Publishers, Inc. (1983) pp. 137-161

Vegeu [Cortes1994]p160-p161

5.3.4. Analogia derivacional Després de les crítiques que es van fer de l’analogia transformacional, el mateix Carbonell va proposar l’analogia derivacional l’any 1986.

Analogia derivacional

L’analogia derivacional descriu la solució analògica d’un problema com l’objectiu d’una tasca jeràrquica que emmagatzema informació detallada de la solució. Així, el pla generat es descompon en subplans i, per tant, permet traçar el curs de la solució. D’aquesta manera es pot dir que la solució és incremental. Construcció de la traça d’un procés d’analogia derivacional (vegeu [Cortes1994]p163 figura 7.7): Donat un problema (target): Pas 1. El sistema intenta recuperar un pla: Si existeix i si resol el problema llavors acabeu (ja està resolt el problema!). Pas 2. Si no, ha d’elaborar una solució i intentar descompondre el problema en subproblemes, els quals en principi són més fàcils de resoldre. Mecanisme per seleccionar el subproblema a resoldre: Si al tractar el subproblema escollit es falla a l’intentar resoldre’l, s’emmagatzema la seqüència i, si existeix, se li associa una explicació.

Page 212: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

207

Si no (progressa) s’emmagatzema la seqüència d’operadors fins a arribar a la solució. Després es construeix una justificació per a cada node. La tria d’un operador està relacionada amb la informació derivacional present, per tant, quan falla una branca, el sistema intenta cercar altres fonts. Fi construcció

[Cortes1994]p161-p163

Observacions

La principal aplicació que se li ha donat a l’analogia derivacional ha estat usar-la per cercar noves solucions a problemes ja resolts, per tal d’intentar optimitzar les antigues. Així, l’analogia derivacional pot ser vista com un sistema d’inferència que pot ser aplicat com un mètode operatiu de raonament a partir d’experiments. L’aspecte més rellevant que va oferir aquesta proposta va ser la noció de justificació. No només per facilitar la reconstrucció d’una solució, sinó perquè permet avaluar el que s’ha après. A més a més, és una eina poderosa d’adquisició incremental d’experiències. La referència original és: J.G. Carbonell “Derivacional Analogy: A Theory of Reconstructive Problem Solving and Expertice Acquisition” In Machine Learning. An AI aproach, Volume II, R.S. Michalski, J.G. Carbonell and T.M. Mitchell (editors) Morgan Kaufmann Publishers, Inc. (1986) pp. 371-392

Vegeu [Cortes1994]p161-p163

RESUM

En aquesta sessió hem vist la primera part del tema que tracta l’aprenentatge analògic. Concretament, hem vist una introducció de l’aprenentatge analògic i hem analitzat tres sistemes clàssics: l’ANALOGY, l’analogia transformacional i l’analogia derivacional.

Page 213: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

208

Page 214: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

209

SESSIÓ 34: Aprenentatge analògic (II) – AR (7/15) Nom: Aprenentatge analògic (II) – APRENENTATGE ARTIFICIAL (7/15) Tipus: teòrica Format: no presencial Durada: 1 hora Dedicació: 1 hora Treball a lliurar: no Material:

o Bibliografia bàsica: [Cortes1994]

PRECEDENTS Aquesta sessió va estretament lligada a l’anterior, ja que mostra dos sistemes clàssics d’aprenentatge analògic.

OBJECTIUS L’objectiu d’aquesta sessió és el de mostrar dos sistemes clàssics més d’aprenentatge analògic.

CONTINGUTS En aquesta sessió veurem els sistemes clàssics basats en aprenentatge analògic següents:

- un sistema d’aprenentatge per raonament a partir de precedents; - i CARL, un sistema d’aprenentatge per raonament sobre múltiples analogies.

5.3.5. Aprenentatge per raonament a partir de precedents L’aprenentatge per raonament a partir de precedents va ser proposat per en P.H. Winston, l’any 1982. La idea era la de construir un sistema d’aprenentatge i de raonament per analogia, supervisat per un tutor.

Aprenentatge per raonament a partir de precedents

El sistema d’aprenentatge per raonament a partir de precedents, funciona amb un tutor que proporciona com a entrada: 1. La descripció d’una història. Aquesta història és una seqüència de fets causalment relacionats i són representats mitjançant una xarxa semàntica. 2. Un precedent o la resolució d’un problema. La tasca del sistema serà la següent:

Page 215: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

210

1. Resoldre (usant l’analogia descrita anteriorment) un cas nou. 2. El sistema aprendrà un principi general o una regla a partir de l’analogia realitzada. La fase d’aprenentatge també inclou el refinament de regles quan apareixen excepcions de la regla derivada. Vegeu l’exemple que es mostra a [Cortes1994] a la pàgina 164.

[Cortes1994]p162-p165

Observacions

Les principals contribucions d’aquest sistema són: - La importància de la noció de causalitat. - El fet de resumir el procés d’analogia entre diferents fets en una regla. La referència original d’aquesta proposta és: P.H. Winston “Learning new principles from precedents and exercises” Artificial Intelligence 19 (1982) pp. 321-350

[Cortes1994]p162-p165

5.3.6. Aprenentatge per raonament sobre múltiples analogies A. Burnstein l’any 1983 va proposar un sistema d’aprenentatge per raonament sobre múltiples analogies anomenat CARL.

CARL

El sistema CARL modela la manera en la qual un estudiant aprèn el concepte de variable –en el llenguatge de programació BASIC– mitjançant l’ús de diferents analogies sobre objectes i situacions familiars (estereotipades) i ben conegudes per l’alumne. Així doncs, seguint l’exemple que es proposa a [Cortes1994] a la pàgina 165, veureu com va reaccionant el sistema a mesura que se li presenten analogies que pot entendre un/a nen/a (que representa CARL) com són: el concepte capsa i la igualtat algebraica.

Vegeu [Cortes1994]p165

Page 216: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

211

Observacions

Aquest sistema mostra un exemple senzill de com els humans anem aprenent a partir de múltiples analogies amb conceptes ben apresos per nosaltres. Aquests conceptes seran contextuals al nostre temps, cultura, estudis, etc. Referència original: A. Burnstein “A model of learning in analogical problem solving” Proceedings of the AAAI (1983) pp. 45-48

[Cortes1994]p165

RESUM

Amb aquesta sessió que hem finalitzat hem vist dos sistemes clàssics –basats en l’aprenentatge analògic–: un sistema d’aprenentatge per raonament a partir de precedents i CARL, un sistema d’aprenentatge per raonament sobre múltiples analogies.

Page 217: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

212

Page 218: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

213

SESSIÓ 35: Aprenentatge analògic (III) – AR (8/15) Nom: Aprenentatge analògic (III) – APRENENTATGE ARTIFICIAL (8/15) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Golobardes2001]

PRECEDENTS Aquesta sessió juntament amb les dues anteriors descriu l’aprenentatge analògic.

OBJECTIUS L’objectiu d’aquesta sessió és el d’estudiar el raonament basat en casos i veure com es podria usar en aplicacions reals.

CONTINGUTS En aquesta sessió veurem en què consisteix el raonament basat en casos (CBR) i analitzarem com resoldre tres problemes usant el CBR: - Exemple de les biòpsies. - Exemple de les Microcalcificacions. - Exemple d’un entorn educatiu.

5.3.7. Raonament basat en casos El raonament basat en casos (case-based reasoning – CBR) va ser proposat per en Riesbesk i n’Shank l’any 1989. Van definir-lo de la manera següent: “A case-based reasoner solves new problems by adapting solutions that were used to solve old problems”. En aquest apartat veurem en què consisteix un cicle de raonament basat en casos i alguns exemples que il·lustren com aplicar el CBR en entorns reals.

Cicle del raonament basat en casos

El raonament basat en casos resol nous problemes recuperant casos –ja resolts prèviament– que s’assemblin al cas nou i adequa la solució que se’ls va donar per tal de resoldre el cas nou. Per tant, el CBR necessita d’una memòria de casos (o base de casos). Aamodt i Plaza, l’any 1994, van descriure un cicle del raonament basat en casos de la manera que es mostra a la figura següent. Així doncs, un cicle depèn clarament de quatre fases: la fase de recuperació (retrieval phase), la fase

Page 219: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

214

d’adaptació (reuse phase), la fase de revisió (revise phase) i la fase d’emmagatzematge (retain phase). Aquestes fases tenen una relació constant amb la memòria de casos (case memory).

En els conceptes següents detallarem: què entenem per cas i per memòria de casos; si convé o no realitzar un preprocés de les dades (inicialització); la fase de recuperació; la fase d’adaptació; la fase de revisió i la fase d’emmagatzematge.

[Golobardes2001]

Cas

Direm que un cas conté la informació disponible per resoldre una nova situació d’un problema donat. Així doncs, un cas ja resolt anteriorment contindrà: 1. Una especificació de la situació que representa. 2. La solució que es va obtenir de la seva resolució. D’altra banda, un cas nou (per resoldre), només contindrà: 1. Una descripció de la nova situació que es vol resoldre.

[Golobardes2001]

Page 220: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

215

Memòria de casos

La memòria de casos (o base de casos) és una representació d’un conjunt de casos ja resolts anteriorment d’un cert problema. En el moment de construir aquesta memòria de casos voldríem que satisfés una sèrie d’objectius: - Ha de ser representativa. - Ha de ser el més compacta possible. - Ha de tenir una bona organització. El fet d’aconseguir aquests objectius serà clau per tal d’obtenir un bon rendiment del sistema final i, al mateix temps, aconseguir un bon percentatge d’encerts en les solucions que es proposin (accuracy). Quan parlem de memòria de casos, haurem de considerar en tot moment tres aspectes: 1. El contingut de cada cas. 2. La representació del contingut de cada cas. Possibles maneres de fer-ho podrien ser mitjançant: a) un conjunt de parells d’atribut-valor; o bé b) descrivint les relacions de part-subpart; o bé c) amb una xarxa d’atributs; etc. 3. L’organització del conjunt de casos de l’MC. Per exemple, l’organització podria ser o bé una llista de casos o bé un arbre d’índexs.

[Golobardes2001]

Inicialització/Preprocessament

És possible, que depenent de les dades, o bé del disseny del sistema de CBR, es necessiti realitzar una fase prèvia (sigui d’inicialització o de preprocés de les dades). La seva necessitat s’entendrà millor en els exemples que es presentaran al llarg d’aquesta sessió. L’objectiu d’aquesta fase prèvia seria: - La sol·licitud dels valors dels atributs que defineixen el cas que es vol resoldre. - La transformació d'aquesta informació en un format de treball (sense resoldre). - La identificació de les característiques rellevants, si aquesta informació es coneix a priori.

[Golobardes2001]

Page 221: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

216

Fase de recuperació

L’objectiu d’aquesta fase consisteix a recuperar de la memòria de casos, el cas (o casos) més similar al cas nou que es vol resoldre. Això, en general, pot comportar: 1. Identificació de les característiques (o atributs): - Identificació de les característiques rellevants de l'especificació del cas que es vol resoldre. - Organització d'aquests atributs: identificació de les característiques crítiques; assignació de pesos a aquestes característiques i agrupament de les característiques. - I, finalment, retorna com a resultat del patró per realitzar el procés de matching. En aquest punt, serà clau el fet d’obtenir una bona ponderació de la importància (o rellevància) dels atributs. 2. Cerca dins de la memòria de casos: - Obtenció del patró per realitzar el procés de matching; - Repetició per a tots els casos rellevants: 1) determinació del grau de similitud entre el cas recuperat i el patró del cas que es vol resoldre i 2), si la similitud trobada és superior a un cert llindar, llavors s'afegeix el cas recuperat a la llista de casos recuperats. En aquest punt serà clau el criteri o funció de similitud que s’usi per recuperar els casos més semblants. - Retorna la llista dels casos recuperats. 3. Selecció: - Ordenació dels casos recuperats segons la seva similitud amb el cas nou. - Selecció de quin és el cas recuperat més similar (o casos més similars) al cas nou. - Retorna el cas o els casos seleccionats. En aquest darrer punt, la clau es troba en una bona funció de recuperació. Aquesta fase serà la més important del cicle de raonament basat en casos i el seu èxit estarà estretament lligat: a la ponderació dels atributs, a la funció de similitud, a la funció de recuperació i, de retruc, a la memòria de casos.

[Golobardes2001]

Fase d’adaptació

L’objectiu d’aquesta fase consisteix en l’adaptació del cas (o casos) recuperat per tal de donar solució al problema. Si la naturalesa del problema no requereix una adaptació, llavors retorna la solució del cas recuperat. Altrament, si la naturalesa del problema sí que requereix una adaptació, llavors l’adapta. La complexitat d’aquesta fase dependrà completament del domini, ja que, per exemple, per a problemes de classificació es pot limitar a proposar la mateixa classe a

Page 222: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

217

la qual pertany el cas recuperat com a més similar. Mentre que, per a problemes de planificació, convindrà adaptar el pla (o plans) per tal de resoldre el nou problema, i aquesta tasca no és gens senzilla.

[Golobardes2001]

Fase de revisió

La fase de revisió té per objectiu l’avaluació de la solució proposada. Els criteris de revisió poden dependre molt del domini del problema. En general, podríem considerar que aquesta fase realitza un bucle de repetició fins que la solució es consideri bona, o bé es decideixi que no es pot resoldre el problema. A cada volta: - Reparació de la solució proposada. - Retorna la solució pel cas nou. Pot ser que per a alguns casos es retorni que no hi ha possibilitat de trobar solució amb els casos disponibles a la memòria de casos.

[Golobardes2001]

Fase d’emmagatzematge

L’objectiu de la fase d’emmagatzematge consisteix a integrar la informació rellevant obtinguda de la resolució del cas nou; més una revisió de la memòria de casos si s’escau. Evidentment, aquesta fase no s’hauria de realitzar fins que no es conegués si la solució que s’ha proposat és correcta o no. Per tant, en aquesta fase s’incorpora l’aprenentatge dins de la resolució del problema!

[Golobardes2001]

Aplicacions

S’han realitzat moltes aplicacions usant el CBR en dominis molt diferents: Planificació: procés de produir una seqüència d’accions (pla) per tal d’assolir un objectiu, a partir d’una situació inicial, i la teoria del domini. En aquests dominis s’aplica el CBR amb l’objectiu de recordar plans anteriors per tal de construir un pla nou. Diagnosi: situem-nos en un sistema de diàleg on es poden explicar els símptomes del cas que es vol diagnosticar. En aquest cas el CBR pot usar casos anteriors per suggerir explicacions plausibles al cas que s’estigui tractant.

Page 223: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

218

Classificació: assignar una classe a un objecte o a una situació donada. En aquest tipus de problemes, el CBR s’usa per buscar un objecte/situació tan semblant a l’actual com sigui possible. Help Desks: sistemes d’assistència dels coneixements dels tècnics. S’inclou el CBR per tal de resoldre els problemes dels usuaris basant-se en l’experiència de problemes anteriors. Configuració: identificació i agrupació de les diferents parts -o peces- d’un sistema per tal de disposar-les en una certa forma. S’incorpora el CBR per seleccionar la configuració més similar com a punt de partida de la nova. Disseny: conjunt de requeriments que s’han de satisfer. Genera un mètode/es que satisfan tots els requeriments. El CBR permet recuperar casos de dissenys anteriors i adaptar-los. Interpretació: interpretar un cas nou a partir d’interpretacions anteriors. E.g. raonament legal i arbitratge. Tutoria: sistemes automàtics de tutoria. Objectius pedagògics. El CBR permet donar la millor ajuda a partir de les ajudes que es van donar a casos anteriors molt semblants. Adquisició del coneixement: ajudar l’enginyer del coneixement a extraure la informació necessària i suficient. Podem usar el CBR com una eina d’ajuda a l’adquisició automàtica del coneixement. A continuació veurem com usar el CBR en aplicacions reals. Ens centrarem en dominis de classificació, diagnosi i/o predicció, els quals en alguns problemes es poden tractar de la mateixa manera.

[Golobardes2001]

Exemple – Biòpsies

El problema de les biòpsies consisteix a crear un sistema d’ajuda de diagnòstic automàtic. És a dir, ens arriba una biòpsia de teixit de glàndula mamària, es tracta la imatge (mitjançant tècniques de tractament de la imatge) i es proporciona una sèrie de característiques (o atributs) que descriuen cada imatge. A partir d’aquestes característiques, un sistema basat en aprenentatge artificial (e.g. CBR) diagnosticarà la biòpsia com a cancerígena o no cancerígena. Vegeu [Golobardes2001]p19-p24. Mostrem tot seguit una manera senzilla d’aplicar el CBR en aquest problema: 1. Convé preprocessar les dades? Cada imatge (cas) és descrit per 24 atributs, cadascun dels quals està definit sobre un rang de valors diferents. Segurament convé normalitzar les dades abans d’utilitzar-les. 2. Fase de recuperació.

Page 224: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

219

Podríem aplicar com a funció de similitud la mètrica de’n Minkowski:

On Cas_x i Cas_y són els casos pels quals es vol comparar la seva semblança; xi i yi és el valor que adopten –respectivament– el Cas_x i el Cas_y per a l’atribut i; i wi és el pes (la rellevància) de l’atribut i. Per exemple, per a r=2, tenim la distància euclidiana. Com es computa wi? Si no tenim informació al respecte podem tractar tots els atributs de la mateixa manera (wi = 1), o bé incloure algun mètode automàtic que calculi els wi a partir dels casos que hi hagi a la memòria de casos. Aquests mètodes no són trivials. Funció de recuperació. Podríem anar ordenant els casos de la memòria de casos de més similar a menys similar i recuperar el més similar. Aquesta funció de recuperació també pot ser coneguda per 1-NN. 3. Fase d’adaptació. Podem retornar la mateixa classe que el cas recuperat com a més similar. 4. Fase de revisió. Poden haver-hi criteris ad hoc al problema per tal d’establir si el resultat és realment fiable. 5. Fase d’emmagatzematge. Si a posteriori coneixem del cert si la biòpsia era cancerígena o no, podem aprendre d’aquesta nova resolució. Per exemple, incorporem el cas nou a la memòria de casos si el CBR ha fallat o no ha pogut diagnosticar el cas nou.

[Golobardes2001]

Exemple – Microcalcificacions

L’objectiu d’aquest problema és el mateix que l’anterior, amb la diferència que es pretén no haver de realitzar proves invasives (biòpsies) als pacients per tal d’establir un diagnòstic. En aquest cas es vol fer a partir d’analitzar les microcalcificacions d’una mamografia que s’ha realitzat a una pacient. La gran diferència rau en com arriben les dades: ara cada mamografia és descrita per una matriu, on el nombre de columnes són els atributs que descriuen una microcalcificació i les files són el nombre de microcalcificacions que hi ha en una mamografia. Aquest nombre de microcalcificacions és variable per a cada cas (imatge). Vegeu [Golobardes2001]p25-p30. Si volem resoldre el problema de la mateixa manera que el problema de les biòpsies, resulta imprescindible una bona fase de preprocessament. Per exemple, si volem usar com a funció de similitud la mètrica de Minkowski, convindrà “aplanar” els casos en un únic vector. Si no es vol “aplanar” les dades, ja que es pot perdre informació, convindrà buscar d’altres funcions de similitud o, fins i tot, d’altres funcions de recuperació.

rF

i

riii yxwyCasxCasSimilitud ∑

=

−×=1

|)(|)_,_(

Page 225: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

220

[Golobardes2001]

Exemple – Entorn educatiu

Suposem ara que tenim un entorn educatiu –per exemple no presencial–. El nostre objectiu serà el de predir en tot moment el rendiment de l’alumne. És a dir, amb el que ha fet fins al moment (avaluació continua, exàmens, pràctiques, etc.) quina nota es preveu que obtindrà a juny. L’objectiu d’aquesta predicció és la d’oferir l’ajuda adequada al seu nivell, per tal que a finals de curs obtingui com a mínim l’aprovat. Vegeu [Golobardes2001]p31-p40. Mentre en els exemples anteriors el fet d’establir un diagnòstic incorrecte era molt crític, en aquest cas si ens equivoquem en classes veïnes no és gaire problemàtic, ja que vol dir que l’ajuda serà més o menys complexa, però força similar. Sí que seria crític que un/a alumne que va per a NP li proposéssim un problema de matrícula, ja que l’ensorrarem del tot. I, al revés, l’avorriríem o el desmotivaríem. La diferència fonamental amb el problema de les biòpsies es troba en que els atributs que descriuen un/a alumne poden ser tant continus com discrets. Per tant, s’haurà de modificar la funció de similitud, ja que no té sentit que, si dos alumnes pertanyen a classes diferents, la diferència depengui del nom del grup. És a dir, si un va al grup A i l’altre al grup B, la diferència seria “1”, mentre que si un va al grup A i l’altre al grup D, la diferència seria “3”, i això no té sentit. Senzillament van a classes diferents. Per tant, la semblança per a cada atribut, dependrà del tipus d’atribut. Per exemple, podríem definir la funció de similitud de la manera següent:

[Golobardes2001]

RESUM

Amb aquesta sessió hem finalitzat l’aprenentatge analògic. Si ens centrem en el raonament basat en casos, podem observar que integra d’una manera molt natural la resolució d’un problema amb l’aprenentatge!

⎪⎩

⎪⎨

⎭⎬⎫

≠=−

=

×= ∑=

discretssónyixsiyxsiyxsi

continuossónyixsiyxyxdif

yxdifwyCasxCasSimilitud

iiii

ii

iiii

ii

rF

i

riii

,1,0),(

),()_,_(1

Page 226: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

221

SESSIÓ 36: Aprenentatge basat en explicacions (I) – AR (9/15) Nom: Aprenentatge basat en explicacions (I) – APRENENTATGE ARTIFICIAL

(9/15) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Moreno1994]

PRECEDENTS En l’estudi de l’aprenentatge deductiu és bo tenir, com a punt de partida, ben apresos els conceptes generals de l’aprenentatge artificial i les característiques de l’aprenentatge inductiu.

OBJECTIUS L’objectiu d’aquesta sessió és el de presentar el concepte i el mètode que proposa l’aprenentatge deductiu.

CONTINGUTS En aquesta sessió veurem una introducció de l’aprenentatge deductiu o aprenentatge basat en explicacions, on recordarem quins eren els punts febles de l’aprenentatge inductiu i també veurem quins han estat els orígens de l’aprenentatge deductiu. Tot seguit realitzarem una descripció d’EBL. Primer a nivell intuïtiu i, després, de manera més formal. Comprendrem el seu funcionament a través d’un exemple.

5.4. Aprenentatge deductiu – Aprenentatge basat en explicacions

5.4.1. Introducció En aquest tema tractarem l’aprenentatge deductiu, més conegut com a aprenentatge basat en explicacions – EBL. Començarem analitzant el paper de l’aprenentatge deductiu per tal de superar un punt feble de l’aprenentatge inductiu. Veurem que l’aprenentatge basat en explicacions és una manera de treballar que agrupa idees de diferents orígens.

Page 227: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

222

Problema de l’aprenentatge inductiu

Un dels problemes que vam veure que tenien els mètodes inductius–a les sessions d’introducció de l’aprenentatge artificial– és el fet que preserven la falsedat, però no la veracitat. És a dir, si quelcom era fals abans de generalitzar, ho seguirà essent després. D’altra banda, no hi ha la seguretat que la generalització realitzada sigui certa, ja que, en general, només pot ser justificada per un nombre finit d’exemples. Des d’aquesta perspectiva, podríem dir que una possible solució seran els mètodes deductius o analítics.

[Moreno1994]p121

Aprenentatge basat en explicacions – EBL

L’aprenentatge deductiu pretén que la solució obtinguda per a un problema estigui plenament justificada i pugui ser generalitzada. Per tal de fer-ho, necessitarà una gran quantitat d’informació del domini. Tanmateix, serà suficient un sol exemple d’entrada per generalitzar correctament. Des dels anys 1980, els mètodes deductius d’aprenentatge, també s’anomenen aprenentatge basat en explicacions (o EBL). EBL és la convergència de 4 línies de recerca: 1. Generalització justificada. Donat un cert coneixement del domini i un conjunt d’exemples positius i negatius, aquesta línia de recerca busca un concepte que inclogui els positius i exclogui els negatius. Aquest nou concepte ha de ser una conseqüència lògica del coneixement del domini i dels exemples (Russell 1986). 2. Chunking. Chunking és l’agrupació d’una seqüència de regles o operadors en un únic macrooperador que tingui el mateix efecte que la seqüència original (Rosenbloom i Newell, 1986). Per exemple, el sistema SOAR. Aquesta línia és força usada en planificadors. 3. Operacionalització. L’operacionalització consisteix a convertir en operacional una expressió escrita en termes d’accions que poden ser executades directament pel sistema (Mostow 1983). 4. Analogia justificada. L’analogia justificada, com diu el seu nom, s’inspira en l’aprenentatge analògic. Definició: donat coneixement del domini, un exemple X i un concepte objectiu Y, es tracta de cercar una característica F tal que, si F(x) és certa, s’infereix de forma deductiva que F(Y) és certa (Davies i Russell, 1986).

[Moreno1994]p121-p122

Page 228: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

223

5.4.2. Descripció d’EBL La manera en què s’utilitzi l’EBL anirà estretament lligada al domini i al sistema en el qual s’incorpori. En aquest apartat analitzarem la idea en la qual consisteix l’EBL i veurem un esquema general de funcionament d’aquest tipus d’aprenentatge.

Descripció intuïtiva d’EBL

L’EBL té dues vessants/aplicacions diferenciades, vegem un descripció intuïtiva de cadascuna d’elles: 1. Els mètodes EBL intenten modelitzar el tipus d’aprenentatge mitjançant el qual amb un sol exemple d’un concepte, som capaços de reconèixer un objecte de la mateixa classe. Per exemple, suposem que el nostre concepte objectiu és la descripció d’un “vehicle terrestre”. Si per exemple ens diuen que un cert cotxe de color blau és un vehicle terrestre, llavors davant d’un cotxe vermell o d’un autocar o d’un tren, també hauríem de reconèixer que es tracta de vehicles terrestres. 2. Un mètode EBL pot associar-se a un sistema de resolució de problemes, de manera que ens permetrà aprendre regles de control que milloraran la seva eficiència. Per exemple la resolució d’integrals. Es coneixen a priori les regles que regeixen les integrals. Davant de la resolució d’una nova integral podríem refinar les regles –el coneixement– que tenim d’aquestes. EBL com a mètode d’aprenentatge ha suscitat diverses crítiques: hi ha qui diu que no aprèn, ja que només refina o millora el coneixement que ja tenim. Mentre d’altres considera que aquest refinament ja és un tipus d’aprenentatge. Deixarem aquests matisos “filosòfics” i seguirem amb la descripció d’EBL. Així doncs, podríem descriure un mètode EBL de la manera següent: Hipòtesi: suposem que la teoria del domini és completa i consistent (com podeu observar és una hipòtesi molt forta i restrictiva que estem fent del domini). Objectiu d’un mètode EBL: millorar la teoria del domini existent a partir d’un sol exemple d’entrada. Per tant, donat l’objectiu es necessita, inicialment, una teoria del domini completa que permeti: a) demostrar de forma deductiva que nous conceptes pertanyen a la mateixa classe, o bé b) deduir noves regles de control de manera que puguin resoldre’s problemes de manera més eficient. Un mètode EBL mai incorpora coneixement nou.

Page 229: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

224

[Moreno1994]p122-p123

Descripció formal d’EBL - Definició

A grans trets podríem veure l’EBL com una caixa negra que té per entrades la teoria del domini, el concepte objectiu i un exemple. I dóna com a resultat una nova teoria del domini.

Teoria del domini. És la informació específica del domini particular sobre el que tracta l’aplicació. Suposem que aquesta teoria és completa i consistent, és a dir, que conté tota la informació necessària per deduir noves coses sobre el domini, i que no conté informació incorrecta. Concepte objectiu. Ha de determinar una definició efectiva i operacional d’aquest concepte. Efectiva: que permeti arribar a la solució més ràpidament. Operacional: que pugui ser utilitzada pel sistema. Depenent de l’aplicació, aquest concepte objectiu pot ser o bé una classificació; o un teorema a demostrar; o un pla per aconseguir un objectiu; o una regla de control per a la resolució d’un cert problema; etc. Exemple. És una instància positiva del concepte objectiu. Aquest exemple permet descobrir quines característiques del problema poden ser més rellevants en el futur. Nova teoria del domini. Aquesta teoria és la mateixa que la que es tenia inicialment, però millorada amb el resultat de la resolució del nou problema. Per exemple, pot contenir una nova definició operacional d’un concepte ja conegut, o una nova regla de control.

[Moreno1994]p123-p124

Descripció formal d’EBL - Algorisme

El mètode d’EBL es podria descriure per un algorisme bàsic, el qual consisteix en dos grans passos:

Page 230: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

225

Pas 1. Construeix una explicació que justifiqui perquè l’exemple és una instància positiva del concepte objectiu. Pas 2. Generalitza aquesta explicació, de tal manera que en el futur pugui ser aplicada a situacions similars. Aquests passos es poden detallar per diferents tasques a nivell de coneixement, com s’il·lustra a la figura següent:

Veurem les diferents tasques a nivell de coneixement a través d’un exemple.

[Moreno1994]p123-p124

Descripció formal d’EBL - Exemple

Per comprendre les diferents tasques a nivell de coneixement d’EBL, seguirem l’exemple que es proposa a [Moreno1994] de la pàgina 124 a la pàgina 129. Problema El problema que volem resoldre és descrit a [Moreno1994]p125, figura 4.3. Podem observar que el nostre concepte objectiu és la descripció d’un TIGRE, i la teoria del domini consisteix en 8 regles. El nostre exemple és la descripció d’un tigre concret (podem pensar en una instància de tigre). Resolució del problema Aquesta tasca ha de ser capaç de trobar el concepte objectiu ajudant-se de la teoria del domini i de l’exemple. Per tant, ha de resoldre el problema. Aquesta tasca com a resultat ha d’oferir un traça que contingui tota la informació que ha estat activada en el curs de la resolució del problema. Vegeu [Moreno1994]p124-p126, concretament la figura 4.4.

Page 231: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

226

Anàlisi de la traça L’anàlisi de la traça és el primer pas que permetrà la construcció d’una explicació. L’explicació és la part de la traça que conté la informació que es preveu útil en un futur per a la resolució de nous problemes. Per tant, té com a objectiu retornar la traça amb la informació classificada. Vegeu [Moreno1994]p125-p126. Filtrat Aquesta tasca construeix l’explicació separant la informació marcada com a rellevant de la informació que no ho és. Vegeu [Moreno1994]p126-p127, figura 4.5 Generalització de l’explicació Normalment el procés de generalització consisteix a substituir constants per variables, o estructures variables, de manera que l’explicació segueixi essent vàlida. El mètode més usat és l’algorisme de regressió d’objectius: regressionar una fórmula F a través d’una regla R és un mecanisme per determinar les condicions necessàries i suficients sota les quals pot usar-se la regla R per inferir F. Aquesta tasca obté com a resultat una explicació generalitzada. Vegeu [Moreno1994]p126-p128, figura 4.6. Construcció de nova informació Una vegada generalitzada l’explicació, aquesta ha de ser operacionalitzada, és a dir, traduïda al format adequat perquè pugui ser usada en el futur. En aquest exemple, mirant la figura 4.6, la nova regla que se’n dedueix es construeix posant a la part esquerra (condició) una conjunció de les fulles de l’arbre de l’explicació generalitzada, i a la part dreta (conclusió) el concepte objectiu: NOVA REGLA: Si RALLAT(x) i DENTS(x) i DÓNA-LLET(x) i TÉ-CUA llavors TIGRE(x) Així doncs, l’objectiu d’aquesta tasca és la de crear nova informació. En el moment de construir noves regles podria ser que se’n creessin més d’una. En general, convindrà analitzar si les noves regles són realment útils. Ho veurem a la sessió següent. Incorporació de nova informació Finalment aquesta darrera tasca, té per objectiu incorporar les noves regles creades per tal que quedin disponibles, de manera que puguin utilitzar-se en la resolució de nous problemes. Per tant, s’obté una nova teoria del domini.

[Moreno1994]p124-p129

RESUM

En aquesta sessió hem presentat el concepte de l’aprenentatge deductiu o aprenentatge basat en explicacions – EBL. Hem analitzat un esquema general de funcionament, a través d’un exemple, d’aquesta família de mètodes.

Page 232: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

227

SESSIÓ 37: Aprenentatge basat en explicacions (II) – AR (10/15) Nom: Aprenentatge basat en explicacions (II) – APRENENTATGE ARTIFICIAL

(10/15) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Moreno1994]

PRECEDENTS Aquesta sessió conjuntament amb l’anterior presentem l’aprenentatge deductiu, o aprenentatge basat en explicacions – EBL.

OBJECTIUS L’objectiu d’aquesta sessió és analitzar els problemes que pot comportar l’EBL, veure com aquest mètode es pot usar dins d’un sistema, i fer una anàlisi d’aquest paradigma.

CONTINGUTS En aquesta sessió veurem: 1. Els avantatges i inconvenients d’EBL. Concretament ens centrarem en els seus inconvenients per tal de veure quan es poden produir, i com es poden solucionar. 2. Sistemes que usen EBL: STRIPS, EBG, SOAR i PRODIGY. 3. Una anàlisi d’aquest paradigma.

5.4.3. Problemes d’EBL A la sessió anterior vam veure quin seria el funcionament d’un mètode que utilitzés l’aprenentatge basat en explicacions. Aquest paradigma té certs avantatges, però també comporta una sèrie d’inconvenients que convé analitzar i tenir presents. Els principals problemes d’EBL són de dos tipus: uns d’ells es solucionen amb una reformulació de la teoria, mentre que els altres necessiten una revisió de la teoria.

Page 233: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

228

Avantatges i inconvenients

L’EBL té com a principal avantatge proporcionar mètodes que són de gran ajuda per millorar l’eficiència de la resolució de problemes (sota una teoria completa i consistent). Els principals inconvenients es troben quan es treballa en dominis reals, ja que normalment no són ni complets ni consistents. D’altra banda, s’ha de garantir que la informació apresa és realment útil, en parlarem a la reformulació de la teoria. I finalment, hi ha problemes que són conseqüència del contingut de la teoria del domini disponible, en parlarem a la revisió de la teoria.

[Moreno1994]p129

Reformulació de la teoria

La incorporació sistemàtica de la informació apresa (de la nova informació) pot portar alguns problemes: 1. S’incorpora informació inútil. 2. Les regles són més complexes. És a dir, les regles apreses (normalment) són més complexes que les inicials, de tal manera que el cost del matching de les condicions inicials per veure si una regla és aplicable pot ser més gran! Així doncs, hi ha diferents motius pels quals es degrada la teoria amb la incorporació de nova informació: - Baixa freqüència d’aplicació d’algunes regles. Cal recordar que les noves regles s’han deduït amb el que ja sabíem, per tant, no representen informació que no tinguéssim abans. - Alt cost d’associar les regles. - Baix benefici. Possibles solucions: aplicar heurístiques. Per exemple, estimar, abans de generalitzar, si determinada informació es preveu útil i si val la pena la seva generalització.

[Moreno1994]p129-p131

Revisió de la teoria

En dominis reals és difícil especificar tot el coneixement. Per tant, la teoria pot ser:

Page 234: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

229

1. incompleta, 2. incorrecta, 3. inconsistent, 4. intractable. 1. Teoria incompleta Direm que una teoria és incompleta quan la teoria no pot explicar algun exemple perquè no disposa de tota la informació necessària. Solució: intentar explicar al màxim l’exemple i identificar i conjecturar noves regles que completarien l’explicació. Cal destacar que la nova informació s’obté de forma no deductiva, per tant, no es pot assegurar que la nova teoria sigui una teoria correcta. De fet, sorgeix a causa del concepte de no monotonia. 2. Teoria incorrecta Direm que una teoria és incorrecta quan el sistema fa alguna errada de predicció. Solució: 1) identificar la causa (algorisme d’assignació de culpa); i 2) intentar modificar convenientment la teoria. En aquest cas, normalment es disposa de regles específiques del domini, de manera que per a cada tipus d’error es dóna una manera de solucionar-lo, atès que és capaç d’identificar les seves possibles causes. 3. Teoria inconsistent Direm que una teoria és inconsistent quan el sistema arriba a prediccions contradictòries. La inconsistència pot ser a causa de: la pròpia teoria; o bé a inconsistències entre la teoria i les observacions. Un exemple de teoria inconsistent serien les teories promíscues: capaces de donar una explicació plausible per a qualsevol situació. Solució: de forma similar a la teoria incorrecta. 4. Teoria intractable Direm que una teoria és intractable quan per donar una predicció es necessiten més recursos dels quals es disposa. Per exemple, el joc d’escacs: si per a cada jugada s’examinessin totes les possibilitats de moviment, el joc seria interminable i, a més a més, esgotaria tots els recursos computacionals d’espai i de memòria. Solució: heurístiques que permetin restringir l’espai de cerca. L’acotament de l’espai de cerca a partir de l’heurístiques, fa que aquestes teories es comportin com si fossin incompletes o incorrectes, ja que poden no donar solució, o donar una solució errònia. Amb les heurístiques es corre el perill de convertir-la en inconsistent.

[Moreno1994]p131-p132

5.4.4. Sistemes que usen EBL L’aprenentatge deductiu normalment s’usa dins d’algun sistema. Per tant, és difícil donar mètodes d’aprenentatge deductiu. El que sí que hi ha són sistemes que usen EBL. Comentarem els quatre sistemes següents: STRIPS, EBG, SOAR i PRODIGY.

Page 235: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

230

STRIPS

STRIPS va ser proposat per Fikes, Hart i Nilsson l’any 1972. STRIPS és un planificador que genera i recorda plans que li permetin aconseguir un determinat objectiu. De fet es considera un dels precursors de l’EBL, ja una vegada ha obtingut un pla, intenta generalitzar-lo i incorporar-lo com un nou operador (anomenat macrooperador) dins de la teoria del domini. De tal manera que un problema és descrit de la manera següent: Exemple = estat inicial Concepte objectiu = estat objectiu Teoria del domini = conjunt d’operadors Ouput = el pla obtingut (macrooperador), el qual s’incorporarà dins de la teoria del domini. Es considera el precursor d’EBL, perquè una vegada ha generat un pla, intenta explicar perquè satisfà l’objectiu. El procés que segueix STRIPS es pot veure com chunking. Vegeu com STRIPS aplica EBL a [Moreno1994]p133-p138. Veurem el sistema STRIPS, com a planificador, dins del Capítol 5 – Planificació.

[Moreno1994]p133-p138

EBG

EBG o la generalització basada en explicacions, va ser proposada per en Mitchell l’any 1986. Aquest formalisme és un intent d’agrupar els elements essencials de sistemes ja existents. L’objectiu d’EBG és aprendre noves descripcions operacionals de conceptes.

[Moreno1994]p138-p140

SOAR

El sistema SOAR va ser dissenyat per Laird, Newell i Rosenbloom l’any 1986. És una arquitectura que combina aprenentatge i resolució de problemes. La unitat organitzativa fonamental de SOAR és l’espai de problemes i el seu paradigma central és la cerca.

[Moreno1994]p139-p145

PRODIGY

PRODIGY va ser proposat per en Minton l’any 1988.

Page 236: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

231

És una arquitectura integrada que intenta unificar la resolució de problemes, la planificació i diversos mètodes d’aprenentatge. Concretament intenta integrar EBL, analogia derivacional, abstracció de plans i experimentació.

[Moreno1994]p145-p152

5.4.5. Anàlisi d’EBL En aquest apartat veurem una anàlisi de l’aprenentatge deductiu (o EBL) i el compararem amb l’aprenentatge inductiu. És convenient que amplieu aquesta anàlisi seguint els diferents conceptes que es van donar a les sessions introductòries de l’aprenentatge artificial.

Comparativa d’EBL respecte de l’aprenentatge inductiu

Aquesta taula comparativa de mètodes deductius versus mètodes inductius, se centra en les característiques generals d’ambdós mètodes. Evidentment, per a un problema i un algorisme donat, s’haurien de concretar. Us proposem que estudieu la comparativa seguint l’ordre que es proposa dins de la taula, és a dir, seguint en ordre els diferents punts.

Page 237: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

232

MÈTODES DEDUCTIUS MÈTODES INDUCTIUS 1. Necessiten una teoria del domini completa i consistent per funcionar bé ⇒ en el món real moltes vegades serà inaplicable.

2. Són a priori millors candidats per tractar amb el món real, però tenen diversos inconvenients: – Els exemples d’entrada han de ser

suficientment representatius per tal d’assegurar un bon aprenentatge.

– S’han de donar les característiques rellevants dels conceptes.

– Les generalitzacions no estan justificades ⇒ Aprenentatge deductiu

3. – Problema de fons: hi ha autors que no el

consideren un mètode d’aprenentatge, ja que no aprenen nou coneixement, sinó que expliciten coneixement que ja tenien de forma implícita.

– Només poden produir-se regles correctes segons la teoria del domini i independentment del context, i moltes vegades podria interessar aprendre regles no correctes lògicament, però sí heurísticament.

– Necessita gran quantitat del domini.

4. Generalitza els camins deductius que porten a la solució d’un problema.

4. Generalitza a partir d’exemples usant les característiques contingudes en aquests.

5. Els mecanismes d’inferència habituals no permeten la transició des d’un coneixement actual K fins a K’, en els casos en què K i K’ són representacionalment disjunts. ⇒ Aprenentatge analògic

[Moreno1994]p152-p153

RESUM

En aquesta sessió s’han analitzat els problemes que pot comportar EBL, s’han vist alguns sistemes que usen EBL, i s’ha fet una anàlisi d’aquest paradigma i se l’ha comparat principalment amb l’aprenentatge inductiu. Així doncs, amb aquesta sessió finalitzem l’aprenentatge deductiu i, en general, els paradigmes d’aprenentatge que hem considerat simbòlics: aprenentatge inductiu, aprenentatge analògic i aprenentatge deductiu.

Page 238: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

233

SESSIÓ 38: Aprenentatge evolutiu – AR (11/15) Nom: Aprenentatge evolutiu – APRENENTATGE ARTIFICIAL (11/15) Tipus: teòrica Format: no presencial Durada: 3 hores Dedicació: 3 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Garrell2002a]

PRECEDENTS Al llarg de les sessions anteriors hem analitzat tres famílies d’aprenentatge artificial simbòliques: la inductiva, l’analògica i la deductiva. En aquesta sessió veurem l’aprenentatge evolutiu, que es basa en una perspectiva diferent.

OBJECTIUS L’objectiu d’aquesta sessió és el d’estudiar el paradigma de l’aprenentatge evolutiu i, més concretament, els algorismes genètics.

CONTINGUTS Analitzarem els algorismes genètics i seguirem els punts següents:

1. Farem una introducció a l’evolució natural (font d’inspiració d’aquest paradigma), i donarem una perspectiva històrica dels algorismes genètics

2. Definirem què són els algorismes genètics. 3. A través d’un exemple d’optimització, veurem com funcionen els algorismes

genètics. 4. Analitzarem com utilitzar un algorisme genètic per resoldre un problema

d’aprenentatge. 5. Finalitzarem amb unes conclusions, llistarem algunes aplicacions dels

algorismes genètics i suggerirem la bibliografia bàsica del paradigma.

5.5. Aprenentatge evolutiu – Algorismes genètics

5.5.1. Introducció L’objectiu d’aquest apartat d’introducció, del paradigma de l’aprenentatge evolutiu – algorismes genètics (genetic algorithms – GA), és posar en comú un conjunt de termes i conceptes generals utilitzats després en els algorismes genètics. En primer lloc, farem una introducció a l’evolució natural i a les lleis de l’herència. I en segon lloc, donarem una perspectiva històrica dels algorismes genètics.

Page 239: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

234

Introducció a l’evolució natural

Els conceptes que més ens interessen de l’evolució natural (per a aquest paradigma d’aprenentatge artificial) se centren al voltant de dos grans personatges: en Darwin i en Mendel. Darwin – selecció natural Darwin, a finals dels anys 1830, ja tenia la seva teoria força clara, però no va ser fins a finals dels 1850 quan va publicar la seva teoria en el llibre: “L’origen de les espècies a través de la selecció natural”. Darwin va ser molt criticat en el seu temps. Si bé hi havia gent, com en Russel, que tenien teories molt similars. Així doncs, com evoluciona la vida? * A partir de petits canvis. És el que més endavant en direm mutacions. Canvis quasi imperceptibles que, acumulativament, poden produir una millora important. * Procés de selecció natural. Només els bons individus són els que sobreviuen. Si els petits canvis fan millorar els individus (els enforteixen), aquests tenen més possibilitats de sobreviure. Mendel – concepte d’herència Mendel, a finals del segle passat, va iniciar la formalització de les lleis de l’herència. Així doncs, apareix el concepte d’herència: * Els fills són la barreja dels pares. * Els fills hereten la informació genètica dels pares. * Els pares transmeten als fills els seus petits canvis o millores. * Els fills, hipotèticament, esdevindran cada cop millors. En general ... La informació genètica es codifica en cromosomes. Els cromosomes estan funcionalment separats en gens. Els gens estan continguts en cadenes de nucleòtids anomenats ADN. Aquesta macromol·lècula fou descoberta per Watson i Crick durant els 50. En resum ... “Els individus som solucions a un problema”. “L’atzar juga un paper fonamental en l’evolució”.

[Garrell2002a]

Perspectiva històrica dels algorismes genètics

Vegem una breu perspectiva històrica del algorismes genètics: * A finals dels anys 1950. Grups de biòlegs van utilitzar ordinadors per realitzar simulacions de sistemes biològics. * A finals dels 1960, principis dels 1970s. John Holland i el seu equip de la Universitat de Michigan van crear el paradigma dels GA.

Page 240: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

235

* Actualment s’està produint un boom en la utilització dels GA. Aquest boom s’ha pogut produir per la confluència de molts factors: una maduració progressiva de la teoria i dels conceptes bàsics; l’existència de variants i millores de les eines bàsiques; i la disponibilitat de cada cop més potència de càlcul.

[Garrell2002a]

5.5.2. Què són els algorismes genètics? En aquest apartat definirem els algorismes genètics, introduirem conceptes associats a aquest model i donarem l’algorisme general d’aquest paradigma.

Concepte

Els algorismes genètics són un algorisme basat (inspirat) en l’evolució de les espècies de’n Darwin i les lleis de la genètica de’n Mendel. Així doncs, hi haurà individus que viuran en un cert entorn. Aquests individus tindran la capacitat de reproduir-se i, òbviament, podran morir. Els individus millor adaptats seran els que tindran més possibilitats de sobreviure, mentre que els més febles no en tindran tantes. Per tant, els individus estaran sotmesos a una selecció natural. Existirà una força selectiva que actuarà sobre cada un del individus. Cal tenir present que els GA no són una simulació del procés d’evolució natural, tan sols estan inspirats en aquesta teoria.

[Garrell2002a]

Vocabulari

Vegem diferents conceptes que configuren el vocabulari associat als algorismes genètics: individus, cromosomes, gen, entorn – funció d’avaluació, reproducció, reproducció sexual – creuament, i mutació. Individus: Són solucions potencials a un cert problema (al problema que es vulgui resoldre). Els individus reals representem solucions al problema de l’existència en aquest planeta. Cromosomes: Per simplificació, serà la codificació d’un individu. Informació genètica o genotip. Gen: Parts funcionalment diferents d’un cromosoma. Entorn: Eina que mesura el grau d’adaptació d’un individu. L’entorn és el que jutja si un individu és bo o no. És un dels conceptes més importants d’un GA. L’entorn s’implementarà a través de la funció d’avaluació.

Page 241: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

236

Reproducció: Des d’un cert punt de vista, la reproducció és la capacitat que tenen els individus de treure còpies de si mateixos. És una manera de fer sobreviure la informació genètica que un individu disposa. Reproducció sexual: Creuament de la informació genètica de dos o més individus. Mitjançant el creuament es generen nous individus. Típicament té dues fases clarament diferenciades: 1. El creuament pròpiament dit, és a dir, una recombinació de la informació genètica dels pares. 2. Un possible procés de mutació. Mutació: La mutació, com acabem de veure, és un procés que té lloc dins de la reproducció, ja que el procés químic de recombinació de l’ADN no és perfecte i incorpora certs errors. Aquests errors aleatoris són les mutacions.

[Garrell2002a]

Algorisme general

Algorisme general L’algorisme general, que representa un algorisme genètic, manté una població d’individus (conjunt d’individus) P(t) = {X1, ... Xn}, on t és un instant de temps (o iteració). Un individu estarà representat per un únic cromosoma (implementat amb alguna estructura de dades). L’algorisme utilitzarà operadors genètics (de creuament, de mutació, etcètera) per simular la reproducció. Així mateix, utilitza funcions de reemplaçament d’individus per simular la mort natural, utilitza funcions de selecció per triar els individus que són millors i tenen dret a la reproducció i utilitza una funció d’avaluació per simular l’entorn natural.

Page 242: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

237

Esquema global La figura següent mostra un esquema global del que seria una iteració d’un algorisme genètic.

Revisió dels components d’un GA Així doncs, es necessita: * una representació genètica de la solució al problema; * una manera de crear una població inicial; * una funció d’avaluació (entorn); * definir els operadors genètics; * i ajustar els valors per als paràmetres del GA.

[Garrell2002a]

5.5.3. Com funcionen els algorismes genètics? Explicarem el funcionament d’un algorisme genètic a través d’un exemple. Concretament, ens centrarem en un problema d’optimització d’una funció. És a dir, el nostre objectiu és: Maximitzar{f(X1, ..., Xn)}, essent f(X1, ..., Xn) > 0

Page 243: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

238

Anirem revisant tots i cadascun dels components del GA i anirem prenent les decisions que pertoquin. Moltes de les decisions que prendrem no són, ni molt menys úniques, sinó que quasi bé totes tenen diverses respostes possibles.

Representació

Suposem que triem una representació binària com la que es mostra a la figura ([Garrell2002a]p43).

Així doncs, per a k=8 podem tenir les representacions següents: m = (1,1,1,1,1,1,1,1) m = (0,0,0,0,0,0,0,0) m = (1,0,0,1,1,1,0,0)

[Garrell2002a]

Població inicial

Direm que el nombre de cromosomes és la mida de la població (pop_size). Podem inicialitzar la població de dues maneres diferents: aleatòriament, o bé utilitzant algun criteri heurístic o alguna solució parcial obtinguda prèviament amb algun altre mètode.

[Garrell2002a]

Selecció

La selecció simula, de manera implícita, la mort natural dels individus. El seu objectiu és el de crear una nova població, la qual no contingui els individus que han resultat ser els més dolents, i que sí contingui els millors (fins i tot diverses còpies dels millors). Hi ha molts mètodes de selecció, vegeu [Garrell2002a]p46-p50 i usa fitness proportionate amb ruleta (roulette wheel selection - RWS).

[Garrell2002a]

Page 244: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

239

Creuament

En primer lloc es defineix la probabilitat de creuament d’un individu – Pc: 1. Decidiu per a cada individu si s’ha de creuar o no. 2. Aleatòriament (o a través d’algun altre mètode) formeu parelles d’individus per creuar. 3. Apliqueu l’operador de creuament a cada una de les parelles. 4. Dins de la població, reemplaceu els pares pels fills generats (hi ha molts altres mètodes). Donat el cas, s’aplica l’operador de creuament: 1. Escolliu un punt aleatori (pos) entre 1 i (m - 1). 2. Intercanvieu els segments dels gens. 3. Produïu la descendència. Vegeu un exemple a [Garrell2002a]p51-p53.

[Garrell2002a]

Mutació

Per tal de realitzar la mutació, convé definir la probabilitat de mutació d’un gen – Pm. Passos a seguir en el procés de mutació: 1. Per a cada gen de la població (#gens = pop_size * m) decidiu si s’ha de mutar o no utilitzant Pm. 2. Si el gen (bit) s’ha de mutar, llavors cal complementar (canviar) el seu valor (0=>1, 1=>0). Així per exemple, (1,0,0,1,1,1,0,1) es podria transformar durant el procés de mutació en (1,0,0,0,1,1,0,1).

[Garrell2002a]

Esquema global

Durant aquest procés s’ha seguit l’esquema global que ja havíem donat abans:

Page 245: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

240

[Garrell2002a]

Page 246: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

241

Un exemple complet i simple

Vegeu un exemple d’optimització complet i simple a [Garrell2002a]p57-p67, aplicant els algorismes genètics. Concretament, es vol optimitzar (maximitzar) la funció:

[ ]2,1;1)10sin()( −∈∀+⋅= xxxxf π

[Garrell2002a]p57-p67

5.5.4. Algorismes genètics i aprenentatge Fins ara hem descrit els algorismes genètics com un mètode d’optimització de funcions. Però en realitat, és un mètode aplicable a molts tipus de problemes diferents. Concretament, també es pot utilitzar com a mètode d’aprenentatge artificial. Els esquemes més utilitzats per a aquesta finalitat són els sistemes classificadors.

Sistemes classificadors

Si recuperem els problemes que vam revisar dins del raonament basat en casos (com el problema del diagnòstic de càncer de mama), els algorismes genètics els podem adequar i utilitzar per tal de cercar un sistema basat en regles que modeli el problema. Així, cada regla tindria a la part esquerra els valors que poden adoptar els diferents atributs que representen un cas, i a la part dreta, la classe a la qual pertany aquest cas. Si els valors dels atributs els discretitzem en diferents intervals, podem representar la regla mitjançant una forma normal conjuntiva, de tal manera que, per a cada atribut, a cada interval hi tindrem un 0 o un 1, entenent que la unió dels diferents intervals, mentre que tindrem una conjunció entre els diferents atributs. Els algorismes genètics poden tractar els sistemes classificadors des de dues perspectives ben diferents: segons Pittsburgh o segons Michigan. Pittsburgh Pittsburgh entén cada individu com una solució al problema. És a dir, cada individu és un conjunt de regles que resolen el problema. Michigan Michigan entén que el conjunt de tots els individus ofereix una solució al problema. És a dir, cada individu representa una regla.

5.5.5. Conclusions i aplicacions Volem concloure aquesta introducció a través d’algunes reflexions, i llistar algunes aplicacions.

Page 247: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

242

Finament, i se suggereixen els llibres principals sobre aquest paradigma.

Conclusions

Llistarem una sèrie de conclusions/reflexions d’aquest paradigma: - És un mètode computacional molt diferent al tradicional. - Presenta un nou paradigma de computació extremadament novedós, amb més possibilitats de les que es poden imaginar inicialment. - Hi ha hagut un boom en la seva utilització. - Voldríem destacar un avantatge i un inconvenient. Avantatge: pot solucionar una enorme quantitat de problemes, ja que és un mètode molt genèric. Inconvenient: el temps de computació és extremadament alt. - Alerta perquè no és un mètode indicat per a qualsevol problema, ja que “no cal matar mosques a canonades”.

[Garrell2002a]

Aplicacions

Els algorismes genètics es poden aplicar en molts àmbits. Sempre que convingui optimitzar alguna cosa, es podrà aplicar un GA. Tanmateix, la paraula optimitzar té molts significats i moltes extensions (vegeu la figura):

Llistem algunes possibles aplicacions:

Optimització de funcions de cost/benefici. Aprenentatge: sistemes classificadors, diagnosi, ... TSP. Programació (genètica). Planificació. Particionat.

Page 248: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

243

Predicció de sistemes dinàmics. Evolució de xarxes neuronals. Evolució d’autòmats cel·lulars. Etcètera.

[Garrell2002a]

Bibliografia suggerida

Sobre els algorismes genètics es recomana la bibliografia següent, la qual la podeu trobar a la biblioteca d’Enginyeria i Arquitectura La Salle. * J.H. Holland, “Adaptation in Natural and Artificial Systems”, The University of Michigan Press, 1975. * D.E. Goldberg, “Genetic Algorithms in Search, Optimization and Machine Learning”, Addison-Wesley, 1989. * Z. Michalewicz, “Genetic Algorithms + Data Structures = Evolution Programs”, Springer-Verlag, 1996. * M. Mitchell, “An Introduction to Genetic Algorithms”, MIT Press, 1996.

[Garrell2002a]

RESUM

En aquesta sessió s’ha estudiat el paradigma de l’aprenentatge evolutiu. Ens hem centrat en els algorismes genètics i hem analitzant com resoldre un problema d’optimització. Després, també hem vist com adequar el mètode per resoldre un problema d’aprenentatge mitjançant sistemes classificadors.

Page 249: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

244

Page 250: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

245

SESSIÓ 39: Aprenentatge connexionista (I) – AR (12/15) Nom: Aprenentatge connexionista (I) – APRENENTATGE ARTIFICIAL (12/15) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Garrell2002b]

PRECEDENTS Els paradigmes d’aprenentatge artificial que hem vist fins ara tenen una font d’inspiració ben diferent a allò que es presenta en aquesta sessió: l’aprenentatge connexionista – xarxes neuronals.

OBJECTIUS L’objectiu d’aquesta sessió és el d’introduir els conceptes que van portar a proposar l’aprenentatge connexionista, i més concretament, les xarxes neuronals.

CONTINGUTS En aquesta sessió farem una introducció a les xarxes neuronals i analitzarem què és una neurona natural (biològica) i què és una neurona artificial (o element de procés). Finalitzarem, analitzant una xarxa neuronal molt senzilla: el perceptró.

5.6. Aprenentatge connexionista – Xarxes neuronals (I)

5.6.1. La neurona natural – Conceptes fonamentals de neurofisiologia La computació neuronal es va proposar com una nova manera d’enfocar els problemes, davant d’alguns problemes que van mostrar –en el seu dia– els sistemes simbòlics. És un paradigma amb una clara inspiració biològica. En aquest apartat repassarem alguns conceptes fonamentals de neurofisiologia, a partir dels quals proposarem, dins de l’apartat 5.6.2, “la neurona artificial” o “element de procés”.

Page 251: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

246

Fisiologia d’una neurona

La fisiologia d’una neurona es pot il·lustrar mitjançant la figura següent:

Algunes de les seves parts (com la sinapsis, l’axó i les dentrites) seran amb les quals es fixaran les neurones artificials, per tal “d’emular” el seu funcionament.

[Garrell2002b]p13-p15

La unió sinàptica

La unió sinàptica o sinapsis és la connexió entre dues neurones. És a través d’aquesta unió que s’estableix la comunicació entre dues neurones: la cèl·lula presinàptica allibera una substància anomenada neurotransmissor; i la cèl·lula postsinàptica absorbeix el neurotransmissor.

[Garrell2002b]p16-p17

Model de computació neuronal de’n McCulloch i de’n Pitts

Si observem les neurones, és fàcil adonar-se que aquestes s’organitzen en circuits (xarxes), i que la seva activitat té com a resultat una computació. Així doncs, podem veure un teixit nerviós com un sistema computacional. En McCulloch i en Pitts –l’any 1943– van realitzar un primer estudi sota aquesta idea (de sistema computacional), el qual, malgrat tenir moltes deficiències, va centrar les bases del tema. Hipòtesis de la teoria de’n McCulloch i de’n Pitts:

Page 252: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

247

1. L’activitat d’una neurona és un procés tot-res. 2. Una neurona s’exita, només, si hi ha un nombre fix de sinapsis exitades. 3. L’únic retard significatiu dins del sistema nerviós, és el retard sinàptic. 4. Una sinapsis inhibitòria activa, anul·la l’exitació d’una neurona. 5. L’estructura d’interconnexions no canvia en el temps. Pel primer principi (comportament binari) es pot formalitzar el comportament d’una xarxa neuronal segons la lògica proposicional:

K=)(tNi Conclusions del model de’n McCulloch i de’n Pitts: 1. No és un model massa real (imprecís i pobre). 2. Va ser un primer pas que va ajudar a la formalització. 3. No posava en evidència un fet obvi però fonamental (Anderson i Rosenfeld): encara que la neurona sigui un dispositiu senzill, si s’interconnecten adequadament, es pot obtenir una enorme potència de càlcul. Però, aquest sistema computacional és capaç d’aprendre? No!

[Garrell2002b]p18-p24

Teoria d’aprenentatge de’n Hebb

Els sistemes naturals neixen pseudopreprogramats (semientrenats). És a dir, “un peix sap nedar quan neix” i “un humà sap respirar quan neix”. En canvi, “un humà no sap caminar quan neix” i tampoc “sap sumar quan neix”. Per tant, sembla obvi pensar que un circuit neuronal té la capacitat d’aprendre mitjançant un entrenament. Entendrem que l’entrenament introdueix nova informació dins de la xarxa. Però, com es produeix aquest aprenentatge? Teoria d’aprenentatge de’n Hebb. En Hebb, l’any 1949, va donar una primera pista: “Quan un axó d’una cèl·lula A està suficientment propera a una cèl·lula B per exitar-la, o bé quan intervé persistentment en la seva activació, llavors es produeix un creixement o un canvi metabòlic en una o en ambdues cèl·lules, de manera que l’eficiència d’A de cara a l’activació de B, s’incrementa”. Aquesta “llei” d’aprenentatge té moltes imprecisions, però dóna una idea suficientment bona. Podem recordar l’experiment de’n Pavlov (exemple clàssic de condicionament). Ja que les neurones es comuniquen a través de la sinapsis, és lògic pensar que els canvis de l’aprenentatge es produeixen en aquestes. Malgrat que les teories actuals afirmen que els canvis es deuen a l’augment en la velocitat d’alliberament i recepció dels neurotransmissors (els enllaços van més fins).

Page 253: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

248

[Garrell2002b]p25-p30

Page 254: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

249

5.6.2. La neurona artificial L’objectiu de la definició d’una neurona artificial consisteix a traslladar conceptes biològics de neurofisiologia cap a un entorn artificial. I d’aquesta manera definir una neurona artificial com un element de procés (PE).

Abstracció de conceptes biològics

Entendrem la neurona artificial com un node o element de procés (PE). Per tant, un PE és realment diferent a una neurona biològica. Les neurones artificials simulen només certs comportaments neuronals. Així, sovint és millor entendre un PE com la simulació de part del comportament d’un conjunt de neurones biològiques. De fet, comparar una neurona artificial (PE) amb una neurona biològica, és com comparar una bombeta amb el sol!

[Garrell2002b]

L’arquitectura d’una neurona artificial

L’arquitectura d’una neurona artificial s’inspira en els estímuls que rep una neurona biològica de les altres neurones amb les quals està connectada, i de l’impuls que a continuació ella transmet a d’altres. Per tant, direm que una neurona artificial rep moltes entrades que provenen d’altres neurones artificials (PE). I produeix una única sortida (activació). Aquesta idea s’implementa mitjançant una equació matemàtica que calcula un valor de sortida en funció d’uns valors d’entrada. Vegem l’arquitectura resultant:

Per tant, què rep com a entrada (input) la neurona j?

Page 255: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

250

∑=

=n

iiijj XwI

1

Essent wij el pes associat a la connexió que hi ha entre la neurona i la neurona j. I què transmet com a sortida (output) la neurona j?

)( jj IfX = Essent f la funció d’activació.

[Garrell2002b]

La funció d’activació

Existeixen molts tipus de funció d’activació: des d’una simple funció esglaó fins a una sinoidal, passant per una sigmoidal. Però val a observar que una funció esglaó no és derivable, mentre que una sigmoidal sí que ho és. Aquest tret serà clau en el moment d’incloure “aprenentatge” dins dels algorismes que s’anomenen xarxes neuronals.

[Garrell2002b]

5.6.3. El perceptró Podríem dir que el perceptró va ser la primera xarxa neuronal. De fet, l’objectiu d’estudiar-lo consisteix a il·lustrar un model molt bàsic i primitiu de xarxa neuronal.

Plantejament

El perceptró va ser inventat pel psicòleg Rosenblatt a finals dels 1950. De fet, va suposar una “període d’eufòria” respecte de les xarxes neuronals (malgrat que ben aviat es va estroncar). El perceptró era un model diferent del proposat per en McCulloch i en Pitt, ja que es basava en la teoria de probabilitats. Concretament, s’inspirava en fotoperceptró (d’aquí ve el seu nom) el qual respon a hipotètics senyals òptics.

[Garrell2002b]

Arquitectura i funcionament

L’arquitectura i el funcionament del perceptró es basava en el funcionament d’un fotoperceptró. Vegeu la figura.

Page 256: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

251

La neurona artificial (PE) –i al mateix temps xarxa neuronal– la configuraven A i R. Les seves sortides (output) eren o bé un +1, o bé un -1. I en tot moment només tenia una sortida activa. El perceptró serveix per classificar patrons, de tal manera que cada unitat R identifica un patró. Malgrat tot, té el problema de la separabilitat (que analitzarem en aquesta sessió). El perceptró es va dissenyar com un dispositiu que podia aprendre. Al principi no funcionava bé, però al final sí. En el procés d’aprenentatge es procedia a un reforçament de les sortides d’A en funció de si aquestes contribuïen o no a les respostes correctes per a una entrada donada. Si la resposta era correcta, es decrementaven les sortides d’A que s’havien activat. Com tot problema d’aprenentatge, es necessiten un conjunt de mostres (exemples) per aprendre.

[Garrell2002b]

Modelat

El modelat del perceptró va arribar de la mà de’n Minsky i de’n Papert l’any 1969. Més endavant veurem quina va ser la seva aportació.

Page 257: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

252

[Garrell2002b]

Separabilitat lineal

El problema de la separabilitat lineal el van plantejar en Minsky i en Papert el 1969, quan pretenien fer una anàlisi detallada del perceptró: les seves capacitats i les seves limitacions. El resultat del seu treball va fer entrar en crisi a les XN, ja que una de les afirmacions de’n Minsky i de’n Papert va ser que el perceptró només podia classificar patrons que fossin linealment separables. Un problema que no és linealment separable (és a dir, que les seves classes no es poden diferenciar mitjançant una única recta, en el cas de tenir dos atributs) és el XOR. Doncs bé, el perceptró era incapaç de resoldre aquest problema. Vegeu [Garrell2002b]p51-p52. En Minsky i en Papert van observar que amb la inclusió d’una altra capa de neurones, si que es podia trobar el sistema d’equacions que era capaç de resoldre el problema del XOR (vegeu [Garrell2002b]p53-p55).

[Garrell2002b]

RESUM

En aquesta sessió hem vist una introducció a les xarxes neuronals, que completarem amb la sessió següent. Hem partit de les neurones biològiques per tal de definir les neurones artificials o elements de procés. Hem vist la primera xarxa neuronal: el perceptró. Però aquest ofereix un gran problema: el problema de la separabilitat lineal.

Page 258: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

253

SESSIÓ 40: Aprenentatge connexionista (II) – AR (13/15) Nom: Aprenentatge connexionista (II) – APRENENTATGE ARTIFICIAL (13/15) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Garrell2002] [Golobardes1996]

PRECEDENTS Aquesta sessió està estretament lligada amb la sessió anterior, en la qual vam fer una introducció a les xarxes neuronals i vam estudiar el perceptró.

OBJECTIUS L’objectiu d’aquesta sessió és estudiar les xarxes neuronals backpropagation, ja que són un bon exemple d’aquest paradigma. A més a més, es volen analitzar els diferents criteris per definir una xarxa neuronal qualsevol.

CONTINGUTS En aquesta sessió veurem: 1. Les xarxes neuronals Backpropagation: antecedents, la seva arquitectura, el mètode d’aprenentatge que usen, un exemple d’aplicació i algunes conclusions. 2. Una classificació general de les XN: topologies, models d’aprenentatge i una possible classificació de les diferents XN existents. 3. Finalitzarem veient unes conclusions (avantatges i inconvenients de les XN), llistarem alguns dominis on són aplicables i suggerirem una mica de bibliografia.

5.6.4. Les xarxes neuronals backpropagation Les xarxes neuronals backpropagation (BPN) són unes de les xarxes neuronals més utilitzades i robustes. De fet, va ser la seva aparició que va fer que el paradigma de les xarxes neuronals “tornés a estar de moda”. Les BPN solventen el problema de la separabilitat lineal i integren capes intermitges (anomenades ocultes) de neurones a la seva arquitectura, tal i com suggerien en Minsky i en Papert l’any 1969, i al mateix temps inclou un bon algorisme d’aprenentatge.

Page 259: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

254

Antecedents

Tant el perceptró (Rosenblatt, finals dels 1950), com l’Adaline (Widrow, 1959) eren xarxes amb un únic PE, les quals permetien resoldre problemes de classificació de manera força exitosa. El problema que compartien era que no eren capaces de resoldre problemes no linealment separables. L’ADALINE –ADAptative LInear NEuron, o ADAptative LINear Element en les èpoques de crisi per a les XN– es va proposar per a entorns de tractament digital del senyal (filtres, ...). Una de les principals aportacions de l’Adaline va ser el mètode d’aprenentatge (anomenat LMS): calcula l’error que es produeix a la sortida, entre el valor obtingut i el valor esperat. L’objectiu és minimitzar aquest error, concretament que l’error quadràtic mitjà (per a totes les entrades d’entrenament) sigui mínim. Aquest error es minimitzarà a través d’un ajust apropiat dels pesos de les entrades. La idea es pot il·lustrar amb la figura següent (en un cas que tenim només dos atributs:

Però recordem, que tant el perceptró com les adalines només són adequades per a problemes de classificació de mostres linealment separables, i que siguin problemes petits. El mateix Widrow l’any 1959, va proposar les MADALINE (many adalines, moltes adalines). Es van proposar per al mateix entorn de tractament digital del senyal. Aquestes introduïen més capes per poder classificar mostres linealment no separables. Per tant, s’obté una xarxa molt més potent. Vegeu l’arquitectura multinivell que pot oferir:

Page 260: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

255

Van intentar generalitzar el mètode d’aprenentatge de les adaline (l’LMS – least-mean square), però es van trobar amb diferents problemes. Arrel d’això van proposar un nou mètode d’aprenentatge anomenat radaline rule II (MRII). Però el problema de l’MRII és que es basa en un procediment similar a “prova i error” i afegeix un criteri heurístic anomenat principi de mínima distorsió. Aquest algorisme va ser millorat per a d’altres propostes. Finalment, arribem a les BACKPROPAGATION (BPN). Aquestes han estat unes de les xarxes neuronals més exitoses i més utilitzades. A partir de la seva creació, la xarxa ha anat evolucionant: Werbos (1974), Parker (1985), i Rummelhart i McClelland (1986). Les BPN presenten una xarxa multicapa similar a la madaline. Però ofereixen una regla d’aprenentatge complexa i força optimitzada. L’estudiarem en els conceptes següents.

[Garrell2002b]

L’arquitectura

L’arquitectura de les BPN és una xarxa neuronal multicapa: té una capa d’entrada (input), una capa de sortida (output), i hi poden haver una o més capes intermitges (hidden). Aquestes capes intermitges són les que permeten resoldre problemes linealment no separables.

Page 261: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

256

Totes les neurones d’una capa estan connectades amb totes les neurones de la capa següent, de tal manera que una neurona j rep com a entrada:

∑=

=n

iiijj XwI

1

essent n el nombre de neurones de la capa anterior. En aquest context I també s’anomena net. D’altra banda, com a sortida propaga el valor següent:

)( jj IfX = Per a totes les neurones d’una mateixa capa s’aplica la mateixa funció d’activació f (i derivable). Tot i que és habitual que s’utilitzi la mateixa funció d’activació per a tota la xarxa neuronal. Vegeu l’arquitectura genèrica que mostra la figura següent:

Onθ és el llindar que ha de superar el resultat de la funció d’activació, per tal de propagar el valor obtingut. També podem observar el concepte de bias unit (o bias term). És una neurona que es pot afegir a cada capa, amb un valor fixe d’1, que serveix per augmentar el temps de l’aprenentatge.

Page 262: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

257

[Garrell2002b]

[Golobardes1996]

L’aprenentatge

L’aprenentatge que usen les BPN, conceptualment està a mig camí entre el de les adalines i el de les madalines. La similitud que presenta amb l’Adaline és el plantejament analític general, i una resolució numèrica iterativa. D’altra banda, la similitud amb la madaline és el fet que cal anar ajustant els pesos que hi ha a les connexions de les capes intermitges. L’algorisme d’aprenentatge que proposen les BPN rep el nom de generalized delta rule (GDR). És com una generalització de l’LMS (adaline) utilitzant el concepte de steepest descent. L’error, en funció dels pesos, es pot visualitzar amb la figura següent:

Algorisme d’aprenentatge Generalized Delta Rule – GDR 1. Apliqueu un vector a l’entrada i calculeu la sortida. 2. Calculeu l’error, a partir de les sortides obtingudes respecte de les esperades. 3. Determineu en quina direcció (+ o -) s’ha de canviar cada pes per tal de reduir l’error. 4. Calculeu la variació de cada pes. 5. Apliqueu les correccions als pesos, des de la capa de sortida fins a la capa d’entrada (Backpropagation). 6. Repetiu el procés amb tots els vectors d’entrenament fins que l’error sigui acceptable.

Page 263: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

258

Dins de les BPN cal distingir dues fases diferents: l’entrenament – aprenentatge (apliqueu l’algorisme anterior per tal d’ajustar els pesos) i explotació (senzillament propagueu els valors per tal d’obtenir una sortida per a un nou problema). Podem observar que l’ordre en el qual es presenten els vectors d’entrenament a la xarxa pot influir en la convergència del seu aprenentatge. Per tal d’evitar aquest biax a l’ordre d’entrada dels exemples, convé passar tots els exemples a cada volta, en un ordre diferent (aleatori). Un dels principals avantatges de les BPN és que és molt robusta al soroll. Tanmateix, l’aprenentatge pot presentar dos problemes: una caiguda en un mínim local i un sobreaprenentatge.

[Garrell2002b]

[Golobardes1996]

Un exemple d’aplicació

Us proposem que seguiu l’exemple de reconeixement de BITMAPS que es proposa a [Golobardes1996]. Concretament, es vol dissenyar una xarxa neuronal que sigui capaç de reconèixer les lletres “E” i “D”. A tal efecte s’entrena la xarxa usant dos exemples de cada lletra. Atès que cada lletra es representa mitjançant 20 bits (4x5), l’INPUT estarà compost per 20 neurones (cadascuna representa 1 bit), més el bias term si es considera oportú. D’altra banda, l’OUTPUT estarà format per dues neurones: una que reconegui la “E” i l’altra que reconegui la “D”. Finalment, l’arquitectura de la xarxa es va ajustar de tal manera que es va posar una capa oculta amb 10 neurones (més el bias term si es considera oportú). Observeu els resultats que es van obtenir! El més sorprenent és que aquesta petita aplicació ja dóna una idea de la robustesa de les BPN.

[Golobardes1996]

Conclusions

Hem vist que les BPN són unes xarxes neuronals molt potents i versàtils, de la qual existeixen moltes variants que no hem vist. Recordeu: són robustes al soroll; poden ser esbiaxades a l’ordre d’entrada dels exemples d’entrenament; poden caure fàcilment en un mínim local; i poden patir de sobreaprenentatge. Existeixen moltes aplicacions documentades com: - Net Talk: pronúncia automàtica. - Classificació d’imatges de SONAR.

Page 264: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

259

- Control de navegació d’automòbils. - Compressió de dades. - Etc.

[Garrell2002b]

[Golobardes1996]

5.6.5. Classificació general de les XN Existeixen molts algorismes considerats xarxes neuronals. La diferència de cadascun d’ells es troba en la topologia que presenten les diferents arquitectures de les xarxes; i en l’algorisme d’aprenentatge que usen. A partir de la topologia de les xarxes i del mètode d’aprenentatge es pot proposar una classificació de les diferents xarxes neuronals.

Topologies

Les diferents topologies que poden oferir les xarxes neuronals depèn fonamentalment de tres factors: el nombre de capes, el nombre de neurones per capa i el tipus de connectivitat. Nombre de capes Una xarxa neuronal pot ser unicapa (una única capa) o multicapa (una o més capes). Nombre de neurones per capa Direm que les capes són unineurona (una neurona per capa) o multineurona (una o més neurones per capa). Connectivitat La connectivitat es descriu mitjançant tres característiques: 1. El grau de connectivitat: la xarxa pot estar parcialment connectada (és a dir, no totes les neurones estan connectades amb totes, com les BPN), o bé completament connectada (totes les neurones estan connectades amb totes). 2. El sentit de les connexions: el sentit de les connexions pot ser endavant (com les BPN), endarrere, laterals i/o amb si mateixes (reflexives). 3. El tipus de connexió: pot ser exitadora o inhibidora.

[Garrell2002b]

Models d’aprenentatge

Bàsicament els models d’aprenentatge de les xarxes neuronals es divideixen entre els supervisats i els no supervisats. Tot i així s’estan desenvolupant xarxes neuronals amb aprenentatge per reforçament.

Page 265: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

260

Recordem que en l’aprenentatge supervisat hi ha un mestre que indica si la resposta del sistema és correcta o no. Mentre que en l’aprenentatge no supervisat la xarxa s’autoorganitza i indica què és correcte i què no. En realitat és pseudosupervisat ja que el que es fa es minimitzar un cert error. Com per exemple la generació de clusters.

[Garrell2002b]

Classificació

Existeixen moltes xarxes neuronals. Una possible classificació que podríem fer dels diferents algorismes seria a partir del mètode d’aprenentatge que usen (supervisat o no supervisat) i de la seva arquitectura (xarxes recurrents o xarxes feedforward). Com per exemple: Supervisat – recurrents Brain State in a Box (BSB) Fuzzy Cognitive Map (FCM) Boltzman Machine (BM) Mean Field Annealing (MFA) Recurrent Cascade Correlation (RCC) Learning Vector Quantization (LVQ) backpropagation Through Time (BPTT) ... Supervisat – feedforward Perceptró Adaline, madaline Backpropagation Cauchy Machine Adaptative Heuristic Critic Time Delay Neural Network Associative Reward Penalty Avalanche Matched Filter Backpercolation Artmap ... No supervisat – recurrents Additive Grossberg Shunting Grossberg Binary Adaptative Resonance Theory (ART1) ART2 Discrete Hopfield Continuous Hopfield BAM Temporal Associative Memory (TAM) ABAM Kohonen Competitive Learning ...

Page 266: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

261

No supervisat – feedforward Learning Matrix (LM) Driver-Reinforcement Learning (DR) Linear Associative Memory (LAM) OLAM Sparse Distributed Associative Memory (SDM) Fuzzy Associative Memory (FAM) Counterpropagation (CPN) ...

[Garrell2002b]

5.6.6. Conclusions i aplicacions de les XN Les xarxes neuronals ofereixen un mètode computacional molt diferent del tradicional. De fet, aquest paradigma va obrir les portes a la IA subsimbòlica, que va portar a un gran boom en la seva utilització. En aquest apartat veurem: els avantatges que ofereixen; els inconvenients; llistarem algunes aplicacions; i suggerirem alguna bibliografia.

Avantatges de les XN

Els principals avantatges de les xarxes neuronals són els següents: Autoorganització: mentre la xarxa aprèn, va adquirint i emmagatzemant certa informació i coneixement de forma automàtica. L’usuari mai especifica com guardar la informació. Generalització: a partir d’un conjunt d’exemples, generalitzen el seu comportament. Tanmateix, els exemples han d’estar ben triats. Abstracció (caixa negra): l’usuari no veu el funcionament intern de la xarxa. Se li dóna una entrada i l’XN dóna una resposta. Tolerància a errors. La tolerància als errors es pot veure des de dos punts de vista: al soroll d’entrada, ja que l’XN és capaç de generalitzar; i a la degradació de l’XN, ja que el coneixement està dispers per tota la xarxa, i si algunes parts de l’XN s’aturen, el procés global pot seguir funcionant. Paral·lelització: és un procés eminentment paral·lel, bon candidat per a la paral·lelització computacional. Compatibilitat amb la tecnologia actual: no només és possible simular-les, sinó que també es poden implementar per a hardware.

[Garrell2002b]

Inconvenients de les XN

Page 267: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

262

Els principals inconvenients de les xarxes neuronals són els següents: Caixa negra: sabem què fa però no sabem el perquè ho fa. Disseny complex: davant d’un problema, la decisió de quina XN utilitzar no és ni trivial ni directa. Un cop escollida l’XN, llavors cal ajustar molts paràmetres de configuració (incloent el procediment d’aprenentatge). És un disseny a base “de prova i error”. Rendiment: la simulació software és sovint lenta. Aprenentatge complicat: l’aprenentatge és incremental i preliminar a l’explotació. Per tant, és molt sensible a moltes coses (ordre, ...).

[Garrell2002b]

Aplicacions

Les xarxes neuronals s’han aplicat a molts dominis diferents. Llistem alguns d’ells: - Classificació: en general es tracta de predicció qualitativa. Com OCR, ecos de SONAR, ... - Clustering / Categorització: creació de categories o agrupaments. - Aproximació de funcions: recuperació de senyals amb soroll, ... - Predicció quantitativa. Per exemple de sèries temporals. - Optimització: un exemple clar és el TSP. - Memòries associatives. - Control: robòtica, ... - Processament del senyal: filtratge, ... - Compressió: extracció de components principals. - Diagnosi.

[Garrell2002b]

Bibligrafia suggerida

De les xarxes neuronals recomanem la bibliografia següent, la qual la podeu trobar a la biblioteca d’Enginyeria i Arquitectura La Salle. * James A. Freeman, David M. Skapura, “Neural Networks: Algorithms, Applications and Programming Techniques”, Addison Wesley (1991). * Hertz, Kroght and Palmer, “Introduction to the Theory of Neural Computation”, Addison-Wesley (1981). * D.E. Rumelhart, J.L. McClelland and the PDP Research Group, “Parallel Distributed Processing”, Vol. I i II, The MIT Press (1986).

Page 268: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

263

RESUM

Amb aquesta sessió hem finalitzat el paradigma connexionista i ens hem centrant en les xarxes neuronals. Concretament en aquesta sessió hem estudiat les Backpropagation; hem vist una descripció/classificació de les XN; i hem finalitzat analitzant els avantatges i inconvenients d’aquest paradigma.

Page 269: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

264

Page 270: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

265

SESSIÓ 41: Aprenentatge artificial – AR (14/15) Nom: Pràctica 3: Aprenentatge artificial – APRENENTATGE ARTIFICIAL (14/15) Tipus: pràctica Format: no presencial Durada: 1 hora Dedicació: 1 hora Treball a lliurar: sí Material:

o Bibliografia bàsica: [Golobardes2002f]

o Recursos de programari i de maquinari: vegeu l’enunciat de la pràctica

PRECEDENTS Per tal de realitzar la pràctica que proposa aquesta sessió, es necessiten tots els conceptes que s’han vist al llarg de les diferents sessions del capítol d’Aprenentatge artificial.

OBJECTIUS L’objectiu d’aquesta sessió és el de presentar l’enunciat de la pràctica corresponent a aquest capítol d’aprenentatge artificial (PRÀCTICA 3: APRENENTATGE ARTIFICIAL). Us recordem que aquesta pràctica compta un 30% de la nota final de la part pràctica de l’assignatura (i la part pràctica compta un 70% del total). Cal recordar que aquesta pràctica és obligatòria i cal aprovar-la per aprovar l’assignatura. L’objectiu de la pràctica és que assoliu els diferents conceptes que s’han vist al llarg del capítol d’Aprenentatge artificial.

CONTINGUTS Els continguts d’aquesta sessió estan explicitats en el document [Golobardes2002f], el qual el trobareu a la carpeta corresponent de l’assignatura a l’ecampus. Val a dir que el temps d’estimació d’aquesta sessió se centra en una bona lectura i comprensió de l’enunciat de la pràctica, i no en la totalitat de les hores que us portarà realitzar aquesta pràctica. La qual l’anireu fent mentre avanceu en el següent capítol de teoria.

Page 271: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

266

5.7. Descripció de la pràctica d’aprenentatge artificial

5.7.1. Descripció de la pràctica d’aprenentatge artificial (pràctica 3) En aquest apartat es presenta l’enunciat corresponent a la pràctica d’aprenentatge artificial.

Document PRÀCTICA 3: APRENENTATGE ARTIFICIAL – Intel·ligència artificial

On podeu trobar el document corresponent a l’enunciat de la pràctica d’aprenentatge artificial? El document de l’enunciat de la PRÀCTICA 3: APRENENTATGE ARTIFICIAL – Intel·ligència artificial el trobareu a la carpeta de l’ecampus de l’assignatura d’Intel·ligència artificial. Què hi ha en el document? 1. L’enunciat de la pràctica d’aprenentatge artificial a lliurar. 2. Tot seguit es demana una sèrie de punts. Aquests punts detallen tant l’ordre en el qual convé realitzar la pràctica, com el contingut de la memòria a lliurar. Convé destacar que el més important de la pràctica és com s’ha tractat la part corresponent al capítol d’aprenentatge artificial i, en certa manera, tot el treball de camp que hi hagut per tal de realitzar-la. En aquesta pràctica teniu l’opció de no implementar-la (obtenint una puntuació màxima de 8), o bé implementar-la (obtenint un puntuació sobre 10). En aquest segon cas, podeu observar que una vegada s’ha analitzat com realitzar la pràctica des d’un punt de vista algorísmic i/o “teòric”, llavors es demana que decidiu quin és el llenguatge de programació més adequat per a la seva implementació. No ho feu en l’ordre invers, ja que condicionareu el disseny al llenguatge de programació i, és possible que, ni de bon tros, sigui el més adequat. Cal recordar que els diferents aspectes d’interfície no es valoraran, per tant, una vegada més, cal recordar que es vol donar èmfasi a la part corresponent a l’aprenentatge artificial. 3. En el document també es demana una estimació –en hores– del temps que us ha portat la seva realització i, si pot ser, detallant les diferents parts de la pràctica. Evidentment, aquesta estimació no serveix per avaluar la pràctica, sinó per contrastar les diferents estimacions de la càrrega de la pràctica. 4. En el document s’indica la data de lliurament de la pràctica. 5. En el document també s’indica on i com s’ha de lliurar la pràctica. Criteris de puntuació: 1. La memòria ha de tenir tots els punts que es demanen. 2. Recordeu que la pràctica d’aprenentatge artificial s’ha de lliurar obligatòriament per aprovar l’assignatura, i la seva nota ha de ser superior a 5 per tal que s’accepti. 3. Les pràctiques lliurades fora de termini tindran una nota màxima de 5, i ja s’indicarà quines són les possibles dates de lliurament. 4. Dins de la nota de pràctiques, la pràctica d’aprenentatge artificial compta un 30%. Recordeu que la part pràctica val el 70% de l’assignatura. Vegeu els criteris de puntuació de l’assignatura.

Page 272: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

267

Vegeu l’enunciat de la pràctica a [Golobardes2002f]

RESUM

L’objectiu d’aquesta sessió ha estat el de presentar l’enunciat de la pràctica d’aprenentatge artificial que convé realitzar. Esperem que al finalitzar la sessió tingueu molt clar el domini del problema i els diferents punts que es demanen per tal de realitzar la pràctica.

Page 273: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

268

Page 274: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

269

SESSIÓ 42: Exercicis d’aprenentatge artificial – AR (15/15) Nom: Exercicis d’aprenentatge artificial – APRENENTATGE (15/15) Tipus: de problemes Format: no presencial Durada: 3 hores Dedicació: 3 hores Treball a lliurar: no Material:

o Bibliografia bàsica: Enunciats d’exàmens Les sessions del capítol d’Aprenentatge artificial

PRECEDENTS Per tal de realitzar els exercicis que es proposen en aquesta sessió, és convenient haver estudiat les diferents sessions que comprenen el capítol d’Aprenentatge artificial.

OBJECTIUS L’objectiu d’aquesta sessió és acabar d’estudiar els diferents paradigmes de l’aprenentatge artificial aplicant-los a dominis concrets. Se suposa que aquests objectius pràcticament ja s’hauran assolit amb la realització de la pràctica d’aprenentatge artificial.

CONTINGUTS En aquesta sessió es proposen diferents exercicis d’exàmens, els quals mostren diferents problemes amb dominis i característiques diferents. Els enunciats que es proposen són: juny 2000 (problema 3), setembre 2000 (problema 4), juny 2001 – part 2 (problema 3), setembre 2001(problema 3), i juny 2002 – part 2 (problema 2).

5.8. Exercicis d’aprenentatge artificial

5.8.1. Llista de problemes d’exàmens – Aprenentatge artificial La llista de problemes, que tot seguit es proposa, presenta diversos dominis amb característiques diferents. Per a cadascun d’ells, tant si es demana escollir el paradigma d’aprenentatge artificial més adient, com si es proposa que s’enfoqui sota la perspectiva d’un paradigma donat, es demana que es detalli la manera en la qual es resoldria el problema, i que s’analitzin els avantatges i els inconvenients que presenta aquesta proposta respecte de les altres famílies de l’aprenentatge artificial.

Page 275: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

270

Aquests enunciats d’exàmens, i d’altres, els podeu trobar a la carpeta de l’ecampus corresponent a l’assignatura.

Juny 2000 – problema 3

ENUNCIAT: El RACC davant de l'experiència com a organitzadors del RALLY CATALUNYA, ens ha demanat un sistema que sigui capaç de classificar els diferents tipus d'avaries que poden tenir els cotxes WRC. És a dir, que davant de les característiques d'un cotxe en un moment donat, el sistema sigui capaç de diagnosticar si el cotxe tindrà alguna avaria. En el cas que el diagnòstic sigui positiu, que el sistema detecti quina avaria o, en general, conjunt d'avaries, poden sorgir. Se suposa que els mecànics de les diferents escuderies, en tenen prou amb el diagnòstic per tal d'actuar adequadament. Les diferents escuderies ens han fet arribar casos d'avaries que han tingut els seus cotxes, i que es poden fer públiques. Val a dir que, atès que la tecnologia evoluciona contínuament, pot ser que sorgeixin avaries que no s'han contemplat fins al moment, o bé que hi hagi avaries, de les quals les escuderies no n'han volgut donar informació. ES DEMANA: 1. Des de la perspectiva de l'aprenentatge artificial, quin paradigma/es creieu que resoldria millor aquest problema? Justifiqueu la resposta, i analitzeu els avantatges i inconvenients respecte dels altres paradigmes. 2. Doneu un esquema de com es resoldria el problema.

Setembre 2000 – problema 4

ENUNCIAT: Un filatèlic ens ha demanat si li podríem dissenyar un classificador automàtic per tal de classificar la seva col·lecció de segells. Cada segell és descrit per un conjunt d’n característiques de tipus diferents (és a dir, hi ha característiques numèriques i característiques simbòliques) i, a vegades, és difícil descriure algunes de les característiques (és a dir, podem considerar que el seu valor és desconegut). En aquests moments, la seva col·lecció d’S segells s'agrupa en C classes diferents (essent C de l'ordre de 200). A més a més, contínuament descobreix nous segells, amb noves característiques i, a vegades, fins i tot corresponents a classes que desconeixia. Per tant, el sistema classificador també hauria de ser capaç d'anar incorporant aquests descobriments. ES DEMANA: 1. Quin paradigma/es creieu que resoldria millor aquest problema? Justifiqueu la resposta, i analitzeu els avantatges i inconvenients respecte dels altres paradigmes. 2. Expliqueu com es resoldria globalment el problema.

Juny 2001 (part 2) – problema 3

ENUNCIAT: Es vol dissenyar un sistema per portar a terme la tasca d'identificació de desordres en l'oïda dels pacients a partir dels símptomes, dels resultats dels tests i de l'historial clínic del pacient.

Page 276: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

271

L'objectiu d'aquest sistema és que sigui capaç d'adquirir el coneixement, de classificar i d'explicar. Tot seguit es detalla en què consisteix cadascuna d'aquestes tasques: * Adquisició del coneixement. Per tal de dissenyar el sistema disposem de 200 casos, els quals els seus diagnòstics es divideixen en 24 categories diferents. De fet, els experts ens proporcionen 200 casos perquè és aproximadament el nombre de casos que veu un estudiant per tal de graduar-se. * Classificació. Consisteix a assignar a una entrada donada (un cas), una de les categories d'una llista preenumerada, en aquest cas 24. Tindrem que la descripció d'un cas pot ser incompleta (pot no incloure certes característiques presents en d'altres casos). * Explicació. El sistema ha de proporcionar una justificació per a cada cas, la qual expliqui la relació de les dades respecte la categoria associada. L'explicació s'usa per justificar la classificació d'un cas i per establir el grau de similitud entre dos casos. En el moment de dissenyar el sistema disposarem de la col·laboració de l'expert per tal de valorar la qualitat de l'explicació obtinguda per a cada cas. ES DEMANA dissenyar el sistema i useu el paradigma de l'aprenentatge connexionista: 1. Doneu una solució que resolgui el problema des del paradigma proposat. 2. Justifiqueu quines són les principals dificultats i/o limitacions que ofereix aquest paradigma per a aquest problema, basant-vos en la solució proposada a l'apartat 1). 3. Quin creieu que hauria estat el paradigma més indicat i perquè.

Setembre 2001 – problema 3

Aquest problema es basa en el mateix domini que el problema anterior, però centrant-se en l’aprenentatge basat en explicacions. Vegem-lo. ENUNCIAT: Es vol dissenyar un sistema per portar a terme la tasca d'identificació de desordres en l'oïda dels pacients a partir dels símptomes, dels resultats dels tests i de l'historial clínic del pacient. L'objectiu d'aquest sistema és que sigui capaç d'adquirir el coneixement, de classificar i d'explicar. Tot seguit es detalla en què consisteix cadascuna d'aquestes tasques: * Adquisició del coneixement. Per tal de dissenyar el sistema disposem de 200 casos, els quals els seus diagnòstics es divideixen en 24 categories diferents. De fet, els experts ens proporcionen 200 casos perquè és aproximadament el nombre de casos que veu un estudiant per tal de graduar-se. * Classificació. Consisteix a assignar a una entrada donada (un cas), una de les categories d'una llista preenumerada, en aquest cas 24. Tindrem que la descripció d'un cas pot ser incompleta (pot no incloure certes característiques presents en d'altres casos).

Page 277: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

272

* Explicació. El sistema ha de proporcionar una justificació per a cada cas, la qual expliqui la relació de les dades respecte la categoria associada. L'explicació s'usa per justificar la classificació d'un cas i per establir el grau de similitud entre dos casos. En el moment de dissenyar el sistema disposarem de la col·laboració de l'expert per tal de valorar la qualitat de l'explicació obtinguda per a cada cas. ES DEMANA dissenyar el sistema usant el paradigma de l'aprenentatge basat en explicacions: 1. Doneu una solució que resolgui el problema des del paradigma proposat. 2. Justifiqueu quines són les principals dificultats i/o limitacions que ofereix aquest paradigma per a aquest problema, basant-vos en la solució proposada a l'apartat 1). 3. Quin creieu que hauria estat el paradigma més indicat i perquè.

Juny 2002 (part 2) – problema 2

ENUNCIAT: El Servei d'Intel·ligència ens ha demanat que dissenyem un sistema d'aprenentatge artificial que a partir d'una imatge de sonar, sàpiga respondre si aquesta correspon o no a un submarí. I, si es tracta d'un submarí, que el sistema respongui de quin tipus de submarí es tracta. Val a dir que, hi podrien haver imatges per a les quals se sap que corresponen a un submarí, però que no es sap de quin tipus de submarí es tracta. Els motius d'aquest fet poden ser diversos, per exemple, pot ser que hi hagi molt soroll, o que senzillament es tracti d'un submarí l’existència del qual el Servei d'Intel·ligència desconeixia. Per tal de realitzar aquest sistema, hem demanat al Servei d'Intel·ligència si podíem disposar d'algun tipus d'informació més concreta. I, com a resposta, ens han fet arribar una descripció dels diferents submarins que tenen catalogats i algunes imatges de sonar de les quals es coneix correctament a què corresponen (submarins catalogats, balenes, bancs de peixos, etcètera). Val a dir que no forçosament tenim imatges sonar de tots els tipus de submarins, ja que per a alguns d'ells saben que existeixen mitjançant el Servei d'Espionatge, però no s'han pogut detectar mai. Podeu suposar que tenim contacte amb un grup d'experts en processament d'imatges, de tal manera que aquestes es processarien i ens farien arribar un conjunt de característiques per imatge. ES DEMANA dissenyar el sistema usant el paradigma de l'aprenentatge inductiu: 1. Doneu una solució que resolgui el problema des del paradigma proposat. 2. Justifiqueu quines són les principals dificultats i/o limitacions que ofereix aquest paradigma per a aquest problema, basant-vos en la solució proposada a l'apartat 1). 3. Quin creieu que hauria estat el paradigma (o paradigmes) d’aprenentatge més indicat i perquè.

Page 278: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

273

RESUM

Amb aquesta sessió es finalitza el capítol d’Aprenentatge Artificial. Els exercicis que s’han realitzat al llarg de la sessió han d’haver ajudat a estudiar, des d’una perspectiva global els diferents paradigmes que s’han tractat al llarg del tema: aprenentatge inductiu, aprenentatge analògic, aprenentatge basat en explicacions, aprenentatge evolutiu (algorismes genètics) i aprenentatge connexionista (xarxes neuronals).

Page 279: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

274

Page 280: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

275

SESSIÓ 43: Introducció – PLANIFICACIÓ (1/9) Nom: Introducció – PLANIFICACIÓ (1/9) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Weld1994]

OBJECTIUS Els objectius d’aquesta sessió consisteixen en donar els principals conceptes que necessitarem al llarg del capítol de planificació.

CONTINGUTS En aquesta sessió veurem: - què és la planificació, des d’una perspectiva de raonament sobre accions; - quins tipus de planificació podem considerar; - com es pot descriure un problema de planificació.

6. Planificació

6.1. Introducció

6.1.1. Raonament sobre accions Amb aquest apartat comencem el capítol de Planificació. Per tal d’estudiar aquest capítol seguirem –principalment– l’article: Daniel S. Weld "An Introduction to Least Commitment Planning" AI Magazine, Volume 15(4), p. 27-61 Winter 1994 Que el podeu trobar a l’ecampus. Prèviament a parlar de planificació, veurem en general què s’entén pel raonament sobre les accions.

Page 281: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

276

Raonament sobre accions

Quan es persegueix assolir un objectiu donat, s’ha d’actuar sobre el món en el qual ens trobem. En el moment de generar aquestes accions, hi ha dues possibles aproximacions: 1. Planificació La planificació és apropiada quan un nombre d’accions han de ser executades dins d’un coherent patró per tal d’assolir un objectiu, o bé quan les accions interactuen dins de camins complexos. Per exemple, quan es planifica un viatge. 2. Accions situades Les accions situades (en anglès, situated action) són apropiades quan la millor acció pot senzillament ser executada des d’un estat actual del món. És a dir, quan no és necessari realitzar un lookahead, perquè les accions no s’interfereixen entre elles. Per exemple, quan l’objectiu és viu, com en un videojoc. Al llarg d’aquest capítol ens centrarem en la planificació.

[Weld1994]

Caracterització dels planificadors

Els planificadors es poden caracteritzar per dues dimensions: 1. Quin camí segueixen per construir un pla? a) Per refinament. Construeixen el pla de manera gradual afegint accions i restriccions. En aquest cas parlarem de planificadors per refinament. b) Per retracció. En el procés de refinament, permeten eliminar components que prèviament havien estat afegides al pla. En aquest cas parlarem de planificadors transformacionals, són planificadors que entrellacen les activitats de refinament i de retracció. 2. Quins són els blocs bàsics que usa el planificador per generar el pla? a) Els planificadors generatius construeixen plans del no res (pla nul). b) Els planificadors basats en casos usen llibreries de plans –o fragments de plans– sintetitzats anteriorment.

[Weld1994]

Resum

Donats els conceptes anteriors, el raonament sobre les accions el podem veure de la manera següent:

Page 282: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

277

Al llarg d’aquest capítol ens centrarem en els planificadors generatius per refinament, tot i que els algorismes que veurem es poden adaptar als planificadors transformacionals i als basats en casos.

[Weld1994]

6.1.2. Tipus de planificació Existeixen diferents tipus d’estratègies de planificadors. És bo conèixer les principals: planificació lineal, planificació no lineal i planificació jeràrquica (aquesta darrera es pot combinar amb les dues anteriors).

Planificació lineal

STRIPS va ser el primer planificador, proposat per en Fikes i en Nilsson l’any 1971. L’estratègia que seguia STRIPS es basa en la planificació lineal. Donat un estat inicial i un estat objectiu, la planificació apila els objectius a assolir en una pila d’objectius:

Per tant, el resultat de la planificació serà un pla que porti de l’estat inicial a l’estat final:

Page 283: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

278

Pla = { seqüència d’operadors que resolen l’objectiu O1, ... , seqüència d’operadors que resolen l’objectiu On } EXEMPLE 1 Suposem que l’estat inicial i l’estat final són els següents:

En aquest cas, la pila d’objectius serà: O1: A sobre la Taula O2: B sobre la Taula O3: C sobre B I sembla lògic, que el pla que trobi sigui: Pla = { posar A sobre la Taula, posar B sobre A, posar C sobre B } EXEMPLE 2 Suposem que ara tenim que: Estat inicial: Coet està a la Terra Maria està a la Terra Joan està a la Terra Estat final Maria està a la Lluna Joan està a la Lluna I suposem que els operadors disponibles són: Pujar_al_coet(x) Engegar_el_coet Coet_de_la_Terra_a_la_Lluna Baixar_del_coet(x) Pila d’objectius: O1: Maria a la Lluna O2: Joan a la Lluna

Page 284: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

279

O bé: O1: Joan a la Lluna O2: Maria a la Lluna Proveu de trobar el pla utilitzant planificació lineal! Heu pogut trobar un pla? Quin ha estat el problema? La INTERACCIÓ D’OBJECTIUS. En aquests casos és quan convé la planificació no lineal.

Planificació no lineal

A la planificació no lineal els operadors que s’utilitzen per resoldre un problema poden interferir en la solució d’un problema anterior, ja que necessitem un pla que treballi simultàniament amb múltiples subproblemes. Així, en l’exemple 2 d’abans, utilitzant la planificació no lineal podríem trobar l’ordre parcial següent, el qual resoldria el problema:

En general, la planificació no lineal retorna un conjunt d’operadors, és a dir un pla, parcialment ordenats i parcialment instanciats per tal de generar un pla intermig. Per tal que aquest pla es pugui executar convindrà convertir-lo en algun ordre total.

[Weld1994]

Planificació jeràrquica

L’objectiu de la planificació jeràrquica és la d’eliminar alguns detalls del problema fins que no s’hagin resolt les principals dificultats.

Page 285: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

280

Existeixen diferents maneres de fer-ho: 1. Utilitzar macrooperadors: es construeixen grans operadors a partir d’altres de més petits (Fikes i Nilsson, 1971). 2. El que proposava el planificador ABSTRIPS (Sacerdoti, 1974): la planificació es realitza amb una jerarquia d’espais d’abstracció. En cadascun dels quals s’ignoren les precondicions d’un nivell d’abstracció més baix. ABSTRIPS proposa “una cerca primer en longitud” per tal d’aplicar aquesta idea: Pas 1. Resol el problema completament, considerant només aquelles precondicions que el seu valor crític sigui el més alt possible. El valor crític reflexa la dificultat esperada per satisfer una precondició. Pas 2. I va baixant de nivell ... A cada nivell: utilitza els plans construïts en els nivells anteriors com a esborranys d’un pla complet.

6.1.3. Descripció d’un problema de planificació En general, podem descriure un problema de planificació pel seu INPUT i el seu OUTPUT. Evidentment, el seu comportament dependrà de les assumpcions (o hipòtesis) que s’hagin fet del món on es busca el pla.

Input

L’INPUT d’un problema de planificació és especificat per: 1) Una descripció del món en algun llenguatge formal. Estat inicial. 2) Una descripció de l’objectiu de l’agent (quin comportament es desitja) en algun llenguatge formal. Estat final o objectiu. 3) Una descripció de les accions possibles que poden ser rendibles, en algun llenguatge formal. Aquest punt és l’anomenada teoria del domini (o lambda majúscula): Λ

[Weld1994]

Output

L’OUTPUT és una seqüència d’accions que quan són executades en un món qualsevol que satisfà la descripció de l’estat inicial, assolirà l’objectiu. Pla.

[Weld1994]

Page 286: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

281

Hipòtesis

Al llarg de l’article de’n [Weld1994] s’estableixen les hipòtesis següents: Hipòtesi 1: els temps són anatòmics. Hipòtesi 2: els efectes són determinístics. Hipòtesi 3: omnipotència. Hipòtesi 4: causa única de canvi. Vegeu en l’article quines implicacions tenen aquestes hipòtesis (pàgina 3).

[Weld1994]

RESUM

En aquesta sessió hem vist una introducció al capítol de Planificació, assolint diferents conceptes: què és la planificació, des d’una perspectiva de raonament sobre accions; quins tipus de planificació podem considerar; com es pot descriure un problema de planificació.

Page 287: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

282

Page 288: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

283

SESSIÓ 44: STRIPS – PLANIFICACIÓ (2/9) Nom: STRIPS – PLANIFICACIÓ (2/9) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Weld1994] [Nilsson1980]

PRECEDENTS A la sessió anterior vam descriure el raonament sobre les accions, i vam centrar-nos en què seria i com descriuríem un problema de planificació al llarga d’aquesta capítol. Prèviament, en aquesta sessió farem un parèntesi per tal de veure com funcionava el primer planificador: STRIPS.

OBJECTIUS L’objectiu d’aquesta sessió és estudiar el primer planificador: STRIPS.

CONTINGUTS En aquesta sessió veurem com es defineix i com funciona STRIPS. Així, primer donarem una definició d’STRIPS i després treballarem dos exemples ben representatius del món de la planificació, en general.

6.2. STRIPS

6.2.1. La descripció d’STRIPS STRIPS és un llenguatge senzill de representació proposicional, el qual fou proposat per en Fikes i en Nilsson l’any 1971. STRIPS és més conegut com un planificador, de fet el primer planificador, ja que s’usa precisament per descriure l’estat inicial i l’estat objectiu, i proposa una tipus de cerca (planificació lineal) per tal de trobar el camí solució (és a dir, el pla). Vegem la seva definició i dos exemples que mostren el seu funcionament.

Definició

Definirem STRIPS a través d’un exemple situat en el món dels blocs. Suposem que tenim l’estat inicial i l’estat final (o estat objectiu) següents:

Page 289: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

284

1. Estat inicial. La representació proposicional STRIPS descriu l’estat inicial del món amb un conjunt complet de vertaders literals bàsics: (on A Table) (on C A) (on B Table) (clear B) (clear C) Les fórmules atòmiques que no es troben explícitament a la descripció de l’estat inicial, s’assumeix que són falses. És a dir, fa l’assumpció del món tancat (CWA). Així doncs, assumim per a la CWA que: (not (on A C)) (not (clear A)) Tots els estats es defineixen de la mateixa manera que l’estat inicial. 2. Objectiu. L’objectiu al qual volem arribar és: (on B C) (on A B) El que no hi és no té perquè ser fals, senzillament es vol que al final A estigui sobre B, i B sobre C, com estigui la resta del món (si hi ha diferents possibilitats) no importa. 3. Teoria del domini. La teoria del domini és una descripció formal de les accions (operadors) que són possibles per a l’agent que ha de buscar el pla. Les accions (o operadors) es representen per: Precondició: és una conjunció de literals positius (com l’estat inicial). Postcondició (o efecte): és una conjunció de literals positius i negatius. Quin comportament tenen les accions? Una acció pot ser executada únicament quan la seva precondició és certa. Així, quan s’executa una acció, canvia la descripció del món: 1. Tots els literals positius de la conjunció de la postcondició (anomenats add list) s’afegeixen a la descripció del món (per tal de descriure el nou estat al qual passarem després d’executar aquesta acció).

Page 290: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

285

2. I els literals negatius (anomenats delete list) s’esborren. Seguint amb l’exemple del “món dels blocs” podríem tenir definit l’operador següent: Operador: move-C-from-A-to-Table Precondició: (and (on C A) (Clear C)) Postcondició: (and (on C Table) (not (on C A)) (clear A)) Si l’apliquem sobre l’estat inicial (ja que la precondició és certa i, per tant, es pot aplicar) passem a l’estat següent:

Que és descrit pels literals vertaders següents: (on A Table) (on B Table) (on C Table) (clear A) (clear B) (clear C) i tots els altres literals, pel CWA, s’assumeix que són falsos. Si seguíssim escollint possibles accions a aplicar, desitjaríem que el planificador (STRIPS) trobés el pla següent: Pla = { move-C-from-A-to-Table, move-B-from-Table-to-C, move-A-from-Table-to-B } Vegem amb els dos exemples següents, realment què fa, i quins plans troba STRIPS.

[Nilsson1980]p298-p301

[Weld1994]

Exemple 1

Suposem que tenim l’estat inicial i l’estat final que mostra la figura. En realitat l’objectiu és que (on A C) i (on C B).

Page 291: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

286

STRIPS, per aquest problema, disposava de la teoria del domini, és a dir, el conjunt d’operadors següents pickup, putdown, stack, unstack. Operador: pickup(x) Precondicions: (AND ONTABLE(x) HANDEMPTY CLEAR(x)) Delete list: ONTABLE(x), HANDEMPTY, CLEAR(x) Add list: HOLDING(x) Operador: putdown(x) Precondicions: HOLDING(x) Delete list: HOLDING(x) Add list: ONTABLE(x), CLEAR(x), HANDEMPTY Operador: stack(x,y) Precondicions: (AND HOLDING(x) CLEAR(y)) Delete list: HOLDING(x), CLEAR(y) Add list: HANDEMPTY, ON(x,y), CLEAR(y) Operador: unstack(x,y) Precondicions: (AND HANDEMPTY CLEAR(x) ON(x,y)) Delete list: HANDEMPTY, CLEAR(x), ON(x,y) Add list: HOLDING(x), CLEAR(y) Treballeu i vegeu [Nilsson1980]p298-p301 el resultat.

[Nilsson1980]p298-p301

[Weld1994]

Exemple 2

Suposem que ara tenim l’estat inicial i l’estat final que mostra la figura. On de fet l’objectiu és que (on A B) i (on B C).

Page 292: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

287

I suposem que la teoria del domini és la mateixa que l’exemple anterior. Vegeu en aquest cas quin pla troba STRIPS ([Nilsson1980]p298-p301). Què ha passat? A aquesta situació donada del món dels blocs (la que correspon a l’exercici 2) és la que s’anomena ANOMALIA DE SUSSMAN, evidentment perquè en Sussman és qui va detectar per a aquest cas aquesta anomalia en el pla final usant l’STRIPS.

[Nilsson1980]p298-p301

[Weld1994]

RESUM

En aquesta sessió hem estudiat el planificador STRIPS. Cal destacar que: 1) va ser el primer planificador; 2) mostra el funcionament de la planificació lineal; 3) hem conegut a quin exemple es refereix la bibliografia quan es parla de l’anomalia de Sussman.

Page 293: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

288

Page 294: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

289

SESSIÓ 45: Cerca a través dels estats – PLANIFICACIÓ (3/9) Nom: Cerca a través dels estats – PLANIFICACIÓ (3/9) Tipus: teòrica Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Weld1994]

PRECEDENTS A les sessions anteriors de planificació, hem analitzat en general el problema de la planificació, i hem vist un primer planificador: STRIPS.

OBJECTIUS L’objectiu d’aquesta sessió és partir dels esquemes vistos en el Capítol 3: RESOLUCIÓ DE PROBLEMES – CERCA i adaptar-los per al problema de la planificació. És a dir, enfocar la planificació com una cerca a través de l’espai dels estats.

CONTINGUTS En aquesta sessió veurem com es pot resoldre el problema de la planificació fent cerca a través de l’espai dels estats. Així doncs, veurem: - Com s’adequa l’espai de cerca dels estats al problema de la planificació. Ens centrarem en l’exemple del món dels blocs. - Buscarem la solució (el pla solució) fent cerca cap endavant: l’algorisme PROGWS. - Veurem en què consisteix fer cerca cap endarrere: l’algorisme REGWS. - I analitzarem la viabilitat d’ambdós algorismes.

6.3. Cerca a través de l’espai del món dels estats

6.3.1. Introducció Un cop estudiat el Capítol 3: RESOLUCIÓ DE PROBLEMES – CERCA, el més natural és plantejar un algorisme de planificació com un cas particular dels patrons de cerca. Concretament, coneixem l’estat inicial i l’estat final, i la solució (o pla) és el camí que ens porta de l’estat inicial a l’estat final. És a dir, volem fer cerca a través de l’espai del món dels estats. Atès que coneixem en tot moment l’estat inicial i l’estat final, és tan possible aplicar un patró de cerca cap endavant, com un patró de cerca cap endarrere. En aquest tema

Page 295: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

290

estudiarem la viabilitat d’adaptar aquests patrons al problema de la planificació: la planificació cap endavant l’analitzarem amb l’algorisme PROGWS (apartat 6.3.2); mentre que la planificació cap endarrere l’analitzarem amb l’algorisme REGWS (apartat 6.3.3). Prèviament, donarem alguns conceptes de com entenem aquest espai de cerca a través del món dels estats.

Conceptes

Si seguim amb l’exemple del món dels blocs, a la figura 3 (Weld 1994) podem veure quin seria l’espai de cerca per a aquest problema (el qual és representat per un graf). Concretament, la figura 3 ressalta els estats que representen el problema de l’anomalia de Sussman. Si suposem que aquests estats són l’estat inicial i l’estat final del nostre problema actual, podem entendre que el camí més senzill per construir un planificador és el d’abordar el problema de la planificació a través de l’espai del món dels estats. Així tenim que: - cada node del graf denota un estat del món; - cada arc connecta móns (estats) que poden assolir-se executada una única acció (és a dir, cada connexió representa que s’ha aplicat una única acció/operador); - en aquest exemple els arcs no són dirigits ja que les accions són reversibles, però en general no tenen perquè ser-ho i, per tant, el que tindrem és un conjunt d’arcs dirigits; - un pla, és a dir, una solució al problema de planificació, és un camí a través de l’espai dels estats. Al llarg del capítol dissenyarem planificadors representats per algorismes no deterministes. És a dir, davant d’un punt no determinista (per exemple, hi ha diferents operadors que es poden aplicar en un moment donat) suposarem que tenim un oracle o una heurística perfecta que ens indica en tot moment quina és la millor solució. D’aquesta manera, els algorismes són més simples d’entendre i és més senzill comparar diferents planificadors.

[Weld1994]

6.3.2. Progressió Analitzem com s’han d’adaptar els patrons de cerca cap endavant, quan es tracta d’un problema de planificació. És el que en direm treballar progressivament. Ho estudiarem amb l’algorisme PROGWS.

Page 296: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

291

Algorisme PROGWS

L’algorisme PROGWS (PROGressive World-State planner) és no determinista i fa cerca cap endavant, des de l’estat inicial fins a trobar un estat en el qual l’objectiu es satisfaci. Vegeu l’algorisme PROGWS a [Weld1994], a la figura 4. Podem observar que el moment d’escollir l’acció a aplicar (pas 3) és un punt no determinístic. Així doncs, se suposa que hi haurà heurístiques, segurament ad hoc per a cada problema. Tanmateix, quan analitzem l’algorisme, suposarem que en tot punt no determinístic sempre s’escull la millor opció (= heurística perfecta). La primera crida d’aquest algorisme sempre serà: world-state = estat inicial del problema de planificació goal-list = llista d’objectius del problema de planificació teoria del domini = conjunt d’operadors/accions disponibles path = una llista buida

[Weld1994]

6.3.3. Regressió D’altra banda, podem plantejar l’algorisme de cerca com un planificador regressiu (proposat per en Waldinger l’any 1977). Vegem-lo a través de l’algorisme REGWS.

Algorisme REGWS

L’algorisme REGWS (REGressive world-state planner) és un planificador no determinista, que fa cerca cap endarrere començant per l’estat objectiu. Això doncs, a cada pas escull una acció que podria possiblement ajudar a satisfer algun dels termes que composen la conjunció que defineix l’objectiu. Vegeu l’algorisme REGWS a [Weld1994], a la figura 5. En aquest cas, una primera crida d’aquest algorisme serà: init-state = estat inicial del problema de planificació cur-goals = llista d’objectius del problema de planificació teoria del domini = conjunt d’operadors/accions disponibles path = una llista buida Què heu d’estudiar atentament de l’article de’n [Weld1994] (pàgines 8-10)? 1. Vegeu un exemple de regressió. És bo que ho entengueu bé, perquè com veureu més endavant, la resta d’algorismes que es proposaran donaran per suposat que teniu molt clar com regressar el món, en un problema de planificació, si no difícilment entendreu la resta del capítol.

Page 297: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

292

2. Heu de comprendre per quins motius pot ser que no es pugui escollir cap acció –motiu pel qual fallarà el pla, és a dir, no hi ha manera de trobar un pla per a aquest problema–. Concretament, n’hi ha tres (vegeu el pas 3 de l’algorisme REGWS): i) no és possible escollir cap acció; o bé ii) G queda indefinit; o bé iii) cur-goals són un subconjunt de G. Analitzeu i comprengueu quan es pot donar cada cas.

[Weld1994]

6.3.4. Anàlisi de REGWS i de PROGWS Prèviament a finalitzar la cerca a través de l’espai del món dels estats, hem d’analitzar la viabilitat dels algorismes proposats (PROGWS i REGWS) per al problema de la planificació.

Anàlisi de PROGWS i de REGWS

Per tal d’analitzar la viabilitat d’un algorisme de planificació, s’ha de demostrar que aquest realment “funciona”, és a dir, és complet i sòlid en el cas de disposar de l’heurística perfecta. Direm que un planificador és complet si quan en l’espai de cerca existeix un pla, llavors existeix una seqüència escollida de forma no determinística que el troba. Direm que un planificador és sòlid si quan retorna un pla, aquest realment treballa (és a dir, funciona). PROGWS i REGWS es demostra que són complets i sòlids. Davant d’aquesta igualtat, quin dels dos és més ràpid (= té un menor cost computacional)? Els dos tenen la mateixa complexitat: O(b^n). I són: n: el nombre de tries no deterministes que s’han de fer abans de trobar una solució. b: el nombre de branques a determinar en cada punt no determinista. Tanmateix, des d’un punt de vista empíric, es creu que –en general– REGWS té un factor de branqueig menor. Així doncs, seguirem el capítol buscant millors planificadors, però ens centrarem només en algorismes regressius.

[Weld1994]

Page 298: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

293

RESUM

En aquesta sessió hem analitzat el problema de la planificació a través de l’espai de cerca del món dels estats. És a dir, hem partit dels esquemes ja coneguts que es proposaven en el capítol de cerca. Concretament, s’han estudiat els algorismes PROGWS i REGWS, els quals representen com realitzar la planificació cap endavant o cap endarrere, respectivament. Hem pogut concloure que, malgrat tenir una mateixa anàlisi pel que fa a solidesa, completesa i cost computacional, sembla més eficient la cerca cap endarrere.

Page 299: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

294

Page 300: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

295

SESSIÓ 46: Cerca a través dels plans – PLANIFICACIÓ (4-5/9) Nom: Cerca a través dels plans: algorisme POP – PLANIFICACIÓ (4-5/9) Tipus: teòrica Format: no presencial Durada: 3-4 hores Dedicació: 3-4 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Weld1994]

PRECEDENTS A la sessió anterior vam estudiar com fer cerca a través de l’espai dels estats, com a herència dels algorismes vists en el capítol de Cerca.

OBJECTIUS L’objectiu d’aquesta sessió és la d’estudiar la possibilitat de fer planificació a través de l’espai dels plans, en compte de mitjançant el món dels estats. Concretament, ho analitzarem a través de l’algorisme POP.

CONTINGUTS Per tal d’estudiar la planificació a través del món dels plans, s’han de tractar diferents conceptes: què és la cerca a través de l’espai dels plans; diferents conceptes relacionats, com què és un pla i més concretament un pla nul, un enllaç causal, i una amenaça; presentarem l’algorisme POP; veurem un exemple d’aplicació de l’algorisme POP; i finalment analitzarem aquesta nova proposta respecte de la que s’havia fet amb l’algorisme REGWS.

6.4. Cerca a través de l’espai del plans

6.4.1. Algorisme POP N’Earl Sacerdoti va proposar el planificador NOAH l’any 1974, l’espai de cerca del qual és l’espai dels possibles plans i no l’espai dels possibles estats, tal i com vam veure a la sessió anterior. Així doncs, dins d’aquest tema 6.4.1, estudiarem la viabilitat de construir un planificador dins d’aquesta alternativa, enfront dels algorismes PROGWS i REGWS. Concretament, analitzarem l’algorisme POP. En els conceptes següents veurem: en què consisteix la cerca a través de l’espai dels plans; alguns conceptes que s’han d’adequar per a aquesta nova manera de buscar un pla; presentarem l’algorisme POP; seguirem un exemple; i acabarem fent una anàlisi de l’algorisme POP.

Page 301: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

296

Cerca a través de l’espai dels plans

Al realitzar la cerca a través de l’espai dels plans, estem considerant que els nodes representen plans parcials i que les arestes denoten les operacions que refinen els plans, com una addició d’una acció a un pla. Vegeu un possible espai dels plans, en el món dels blocs, a [Weld1994] a la figura 6. Podem veure que els dos estats pintats de gris representen respectivament –per a aquest exemple–: l’estat inicial, és a dir el pla nul, i l’estat final, és a dir el pla final o la solució. Si realitzéssim planificació totalment ordenada, tindríem que un pla es representa per a una seqüència totalment ordenada d’accions. Tanmateix, s’intenta realitzar una planificació amb el mínim compromís (least commitment planning), on només es determinen l’ordre de les decisions essencials. Així doncs, estudiarem els planificadors realitzant una planificació parcialment ordenada. Cal recordar que ens centrarem en un planificador que: - realitza planificació parcialment ordenada; - realitza planificació generativa; - realitza planificació per refinament; - realitza planificació no lineal; i - dissenyarem els algorismes de cerca de manera no determinista.

[Weld1994]

Conceptes: plans, links causals i amenaces

Prèviament a estudiar l’algorisme POP, considerem tot seguit una sèrie de definicions que seran claus per a l’algorisme final: què és un pla; què és un enllaç (o en anglès link) causal; i què és una amenaça. Vegeu [Weld1994] a les pàgines 13 i 14. Definició d’un pla = < A, O, L >: A: és un conjunt d’accions. E.g. A = { A1, A2, A3 } O: és un conjunt de restriccions ordenades sobre A. E.g. O = { A1<A3, A2<A3 } L: és un conjunt d’enllaços causals (o links causals). Definició d’un link causal. Un link causal és una estructura de tres camps:

cQ

p AA ⎯→⎯ On Ap és l’acció productora; Ac és l’acció consumidora, i Q és una proposició, la qual és al mateix temps un efecte d’Ap i una precondició d’Ac.

Page 302: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

297

Els links causals s’usen per detectar si una nova acció que s’afegeix al pla, interfereix amb les decisions que fins ara configuren el pla. Si interfereixen, ho anomenarem amenaça. Definició d’amenaça: anomenarem a cada acció que interfereix a les decisions preses fins al moment (és a dir, al pla actual) una amenaça. Sigui At una acció diferent dins d’A. Direm que At amenaça al link Ac --Q--> Ap quan: 1) O U {Ap < At < Ac} és consistent; i 2) At té ¬Q com un efecte. És a dir, At es podria executar entre Ap i Ac, i obtindria ¬Q, llavors quan s’executés Ac, la qual depèn de la Q que havia afegit Ap, es trobaria que no hi és, sinó que hi ha el negat! Què es pot fer quan es detecta una possible amenaça? S’afegeix alguna de les contramesures següents, les quals afegeixen una restricció d’ordre addicional, per tal d’assegurar que At s’executi abans d’Ap (At < Ap, anomenat demotion), o bé després d’Ac (Ac < At, anomenat promotion).

[Weld1994]

Representació del pla nul

Quan vulguem trobar un pla, atès que partim d’una planificació per refinament, haurem de partir del pla nul. Com es defineix el pla nul? Pla nul = < A, O, L > on:

{}},{},{

0

0

===

LAAOAAA

Direm que A0 és l’acció *start*, la qual no té precondicions i a l’efecte especifica quines proposicions són certes a l’estat inicial, del problema de planificació que es vol resoldre i quines són falses. Direm que Ainfinit és l’acció *end*, la qual no té efectes, i les seves precondicions són el conjunt de conjuncions que determina l’objectiu del problema de planificació. Vegeu un exemple del pla nul, per al problema de l’anomalia de Sussman, a [Weld1994] a la figura 7. Podem observar que inicialment no hi ha establert cap ordre entre cap acció.

[Weld1994]

Page 303: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

298

L’algorisme POP

L’algorisme POP (Partial Order Planner) descriu un algorisme de regressió, el qual fa cerca a través de l’espai dels plans. L’algorisme POP comença amb el pla nul d’un problema de planificació, i va generant un pla de manera no determinística, fins que tots els termes de les precondicions de les accions estan suportats per links causals, i tots els links amenaçats han estat protegits. Així el conjunt O del pla final, pot estar especificat únicament per un ordre parcial. Quins són els paràmetres d’entrada (l’INPUT) de l’algorisme POP? * Un pla = < A, O, L > * Una agenda amb els objectius que s’han de suportar per links. Cada ítem de l’agenda és una tupla < Q, Ai >, on Q és un conjuntant de la precondició de l’acció Ai. * La teoria del domini : Λ Vegeu i entengueu l’algorisme POP a [Weld1994] a la figura 8. Podeu observar que clarament es tracta d’un algorisme recursiu. L’algorisme POP presenta diferents punts indeterminístics: - En el pas 2, en el moment de seleccionar un objectiu de l’agenda < Q, Aneed >. - En el pas 3, en el moment de seleccionar una acció Aadd. - I en el pas 5, si fos convenient protegir una amenaça, hi ha dues possibilitats. Tot i que podria ser que cap de les dues fos possible.

[Weld1994]

Exemple del POP: l’anomalia de Sussman

Seguirem un exemple d’aplicació de l’algorisme POP. Suposem que volem resoldre el problema de l’anomalia de Sussman, és a dir, volem trobar un pla per anar de l’estat inicial a l’estat final. Vegeu l’exemple complet a [Weld1994] a les pàgines 15-21. És important que entengueu el funcionament de POP i, més concretament, el concepte d’amenaça (el qual s’il·lustra a la figura 11).

[Weld1994]

Anàlisi del POP

Es demostra que POP és un algorisme sòlid i complet. I el rendiment esperat de l’algorisme de cerca és O(cb^n), on: n: és el nombre de vegades que es crida el fet d’escollir de manera no determinista, abans de trobar la solució.

Page 304: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

299

b: és el factor de branqueig (= nombre de possibilitats) de cada punt no determinístic. c: és el cost de processar un node de l’espai de cerca. Donades les característiques de POP i les pròpies restriccions de l’algorisme, el factor de branqueig b és menor que el factor de branqueig que hi ha en un node de l’espai del món dels estats. Així doncs, POP és més ràpid que REGWS. Per tant, seguirem treballant la planificació a partir de l’algorisme POP, és a dir, dins de l’espai del món dels plans.

[Weld1994]

RESUM

En aquesta sessió hem estudiat la possibilitat de realitzar la planificació a través de l’espai del món dels plans. Aquesta anàlisi s’ha realitzat a través de l’algorisme regressiu POP, veient que és una millor proposta que fer cerca a través del món dels estats. És important que s’entengui el concepte de planificar amb el mínim compromís, ja que serà l’objectiu de les pròximes sessions.

Page 305: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

300

Page 306: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

301

SESSIÓ 47: Relaxacions de POP – PLANIFICACIÓ (6/9) Nom: Relaxacions de POP – PLANIFICACIÓ (6/9) Tipus: teòrica Format: no presencial Durada: 2-3 hores Dedicació: 2-3 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Weld1994]

PRECEDENTS Per a una bona comprensió d’aquesta sessió, és imprescindible partir de tots els coneixements i més concretament de l’algorisme POP, que es van veure a la sessió anterior.

OBJECTIUS L’objectiu d’aquesta sessió és analitzar com modificar l’algorisme POP per tal de realitzar una planificació amb el mínim compromís i, al mateix temps, augmentar l’expressivitat del llenguatge formal que descriu els operadors.

CONTINGUTS En aquesta sessió estudiarem quatre possibles modificacions de l’algorisme POP per tal d’assolir els objectius que hem descrit: 1. Planificació amb accions parcialment instanciades. 2. Planificació amb efectes condicionals. 3. Planificació amb precondicions disjuntives. 4. Planificació amb quantificadors universals.

6.4.2. Relaxacions de l’algorisme POP A la sessió anterior vam veure que era bona l’opció de dissenyar planificadors que actuïn dins de l’espai del món dels plans en comptes de l’espai dels estats (apartat 6.4.1). En concret, vam analitzar l’algorisme POP. Una altra idea que vam apuntar va ser la de planificar amb el mínim compromís. Seguint en aquesta línia, el primer que ja se’ns pot ocórrer és parametritzar les accions, és a dir, treballar amb variables i –per exemple a l’exemple del món dels blocs– instanciar-les a un bloc només quan sigui imprescindible. Seguint en aquesta línia, realitzarem una sèrie de modificacions a l’algorisme POP per tal de suportar: 1. Planificació amb accions parcialment instanciades.

Page 307: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

302

2. Planificació amb efectes condicionals. 3. Planificació amb precondicions disjuntives. 4. Planificació amb quantificadors universals. El conjunt de totes aquestes modificacions ens portarà a un nou algorisme, UCPOP, el qual l’estudiarem a la sessió següent (apartat 6.4.3).

Planificació amb accions parcialment instanciades

L’objectiu de treballar amb accions parcialment instanciades és el fet de poder retardar les decisions, afegint les restriccions –i refinant-les– gradualment. Vegeu [Weld1994] a les pàgines 21-25. Per poder treballar amb accions parcialment instanciades es necessitarà controlar quines instanciacions ja s’han fet, quines no i quines no es poden fer. Hi haurà dos tipus de restriccions: 1. Restriccions d’assignació de codi. Per exemple:

)?( Ax= indica que la variable x ha estat instanciada pel bloc A. 2. Restriccions de no assignació de codi. Per exemple:

)??( yx≠ indica que la variable x no pot tenir el mateix valor que la variable y. Seguint aquesta notació, en el problema del món dels blocs tindríem que l’operador move es defineix de la manera que es mostra a la figura 14 de’n [Weld1994]. Com s’ha de modificar l’algorisme POP per tal de poder treballar amb accions parcialment instanciades? 1. Convé redefinir què és un pla. L’estructura de pla ara queda definida per 4 paràmetres: < A, O, L, B >. On B és el conjunt de restriccions d’assignació de les variables instanciades. En el pla nul tindrem que B = {}. 2. Es necessitarà realitzar al llarg de l’algorisme algun tipus d’unificació: Sigui MGU(Q,R,B) (most general unifier – MGU) una funció que retorni la unificació més general entre els literals Q i R donades les restriccions d’assignació de B. Retorna _|_ si no existeix cap unificació possible. Sigui Delta una sentència lògica, la notació Delta\B (o Delta\MGU(Q,R,B)) denota la sentència resultant de substituir els valors base per a les variables que han resultat unificades en el procés d’unificació.

Page 308: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

303

3. Detalls d’implementació. Convé modificar els passos següents de l’algorisme POP (vegeu [Weld1994]p22-p24): pas 3 – selecció d’una acció; pas 4 – actualització del conjunt d’objectius; pas 5 – protecció de links causals; i pas 1 – acabament. Vegeu els canvis i fixeu-vos com es tracta “una possible amenaça”.

[Weld1994]p21-p25

Planificació amb efectes condicionals

Tal i com s’ha tractat la planificació amb accions parcialment instaciades, hem pogut veure que encara s’ha de distingir en dos operadors diferents quan el destí final és un bloc o bé la taula. Sembla coherent, tant des de la perspectiva de l’enginyeria del software, com per raons d’eficiència, poder expressar en un únic operador move, tant si el destí és una taula com un bloc. La solució a aquest problema és tan senzilla com permetre que el llenguatge formal que descriu les accions permeti expressar el condicional a les seves postcondicions (o efectes). Sintaxi del condicional:

On l’antecedent i el conseqüent són o un literal simple o una conjunció de literals. L’antecedent es refereix al món abans que s’executi l’acció, mentre que el conseqüent es refereix al món després d’executar l’acció. Així, l’operador move es pot definir tal i com es mostra a la figura 15 de’n [Weld1994]p25-p27. Quines modificacions convé fer a l’algorisme POP –incloent les modificacions que ja s’han fet per tal de suportar accions parcialment instanciades–? Fixeu-vos que ara convé modificar: pas 3 – selecció de l’acció; pas 4 – actualització del conjunt d’objectius; i pas 5 – protecció dels links causals. Com podeu veure, en el pas 5 s’afegeix un nou criteri de protecció dels links causals amenaçats: la confrontació, la qual afegeix la negació de l’antecedent del condicional (el when) de l’efecte a l’agenda. Alerta! Això implica que la confrontació afegeix objectius negatius!

[Weld1994]p25-p27

Planificació amb precondicions disjuntives

Si es vol dotar de més expressivitat el llenguatge formal que descriu els operadors, es pot incloure la disjunció. Ara bé, aquesta només es pot afegir a les precondicions, mai

Page 309: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

304

en els efectes, ja que si no obtindríem accions indeterministes. Vegeu [Weld1994] a les pàgines 27-28. Sintaxi de la disjunció:

)( 21 QQor Quines modificacions comporta a l’algorisme POP? 1. Senzillament, convé modificar el pas 2 – selecció de l’objectiu. De fet, podeu observar que s’afegeix un nou punt indeterminístic en aquest pas. Cal que tingueu present: - Només es permet la disjunció a les precondicions, no als efectes! - L’efecte condicional (when P Q) no s’ha de confondre amb la implicació lògica (=> P Q). És a dir:

))(()( QPnotorQPwhen ≠ Ja que en el when P es refereix abans de l’execució de l’acció, mentre que el Q es refereix al món després d’executar-se l’acció. Mentre que a l’or de la precondició, tant el P com el Q es refereixen al món abans d’executar-se l’acció.

[Weld1994]p27-p28

Planificació amb quantificadors universals

Si seguim en la línia de fer més expressiu el llenguatge de representació de les accions, és el moment d’incloure la expressivitat dels quantificadors universals. Vegeu [Weld1994] a les pàgines 28-31. Sintaxis:

A P s’especifica sobre quins objectes s’aplica Q. Si per exemple som en el “món de les carteres”, sembla lògic que quan movem una cartera d’un lloc a un altre, els objectes que porta en el seu interior es traslladin amb ella. Aquesta acció de tant de sentit comú s’especifica usant el quantificador forall. Vegeu la definició de l’operador move –relacionat amb el món de les carteres– a la figura 17 de’n [Weld1994]. La inclusió dels quantificadors universals dins de l’algorisme POP implica afegir i/o redefinir alguns conceptes. I realitzar forces modificacions a l’algorisme POP. Si a més a més tenim en compte totes les modificacions que hem estat analitzant al llarg d’aquesta sessió, ens porta a l’algorisme UCPOP. L’estudiarem en detall a la següent sessió (apartat 6.4.3).

[Weld1994]p28-p31

Page 310: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

305

RESUM

En aquesta sessió hem estudiat les possibles modificacions que es poden fer a l’algorisme POP per tal de realitzar planificació amb el mínim compromís i, al mateix temps, dotar de més expressivitat el llenguatge formal que descriu els operadors. Hem vist com incloure a l’algorisme POP: - Planificació amb accions parcialment instanciades. - Planificació amb efectes condicionals. - Planificació amb precondicions disjuntives. - Planificació amb quantificadors universals. Aquesta darrera modificació ens porta a l’algorisme UCPOP, el qual l’estudiarem a la sessió següent.

Page 311: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

306

Page 312: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

307

SESSIÓ 48: Algorisme UCPOP – PLANIFICACIÓ (7-8/9) Nom: Algorisme UCPOP – PLANIFICACIÓ (7-8/9) Tipus: teòrica Format: no presencial Durada: 4 hores Dedicació: 4 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Weld1994]

PRECEDENTS En aquesta sessió definirem l’algorisme UCPOP a partir de l’algorisme POP, més les diferents relaxacions que s’han presentat del mateix algorisme (vegeu les sessions anteriors).

OBJECTIUS L’objectiu d’aquesta sessió és el d’estudiar l’algorisme UCPOP, el qual treballa amb accions parcialment instanciades, amb efectes condicionals, amb precondicions disjuntives i amb quantificadors universals. També analitzarem què passaria si l’univers passés a ser dinàmic.

CONTINGUTS Els continguts d’aquesta sessió es centren al voltant de l’algorisme UCPOP. Veurem: - les hipòtesis inicials que s’estableixen per a l’algorisme UCPOP; - conceptes imprescindibles, com la base universal; - una descripció detallada de l’algorisme UCPOP; - un parell d’exemples de funcionament de l’algorisme UCPOP: un que il·lustra un exemple de confrontació i un segon exemple que mostra com treballar amb efectes quantificats universalment; - i finalment considerarem algunes relaxacions de les hipòtesis inicials, és a dir, com treballar amb dominis dinàmics.

6.4.3. Algorisme UCPOP A les sessions anteriors hem estudiat l’algorisme POP i diferents relaxacions de l’algorisme, a favor d’obtenir una planificació amb el mínim compromís i maximitzar la potència de la lògica de primer ordre en les expressions dels operadors. Concretament, hem analitzat com planificar amb accions parcialment instanciades, amb efectes condicionals, amb precondicions disjuntives i finalment hem plantejat la

Page 313: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

308

necessitat de planificar amb quantificadors universals. L’algorisme UCPOP integra totes aquestes característiques. Prèviament a detallar l’algorisme UCPOP recordarem algunes hipòtesis i establirem alguns conceptes necessaris pel seu disseny. Una vegada presentat seguirem un parell d’exemples que il·lustrin el seu funcionament.

Hipòtesis inicials

En el disseny de l’algorisme UCPOP suposarem que tenim les hipòtesis inicials següents (vegeu [Weld1994]p28-p29): 1. El món modelitzat té un model estàtic té un univers estàtic i finit d’objectes. Estàtic en el sentit que durant el procés de la planificació no es poden ni crear ni eliminar objectes. 2. Cada objecte té un tipus. 3. Per a cada objecte de l’univers la descripció de l’estat inicial ha d’incloure una sentència atòmica unària que declari el seu tipus.

[Weld1994]

La base universal

A l’introduir els operadors universals forall i exists necessitem algun mecanisme per treballar –quan sigui necessari– amb els objectes que quantifiquen. Per tal de fer-ho es necessita una funció que sigui capaç “d’aplanar” aquests operadors. Aquesta funció s’anomena la base universal (vegeu [Weld1994]p30-p31). Com es defineix la base universal lambda sobre l’operador (forall (P) Q) ? Sigui delta una sentència qualsevol.

)()())((;)(

11 nyytdorsquantificaconténosi

Δ∧∧Δ=Δ∀ΔΔ=Δ

γγγγ

K

On Delta_i representa cadascuna de les possibles interpretacions de Delta(y) sota l’univers del discurs, {C1, ... , Cn}, que són els objectes possibles de tipus t1. En cada Delta_i, totes les referències a la y han de ser reemplaçades per la constant Ci. Com es defineix la base universal lambda sobre l’operador (exists (P) Q) ?

))(()())(( 11 yytyyt Δ∧=Δ∃ γγ Les referències a y es reemplacen per la constant d’Skolem. I una possible combinació d’exists i forall ?

)()()()()),(( 211221 nnytytyxytxt Δ∧∧∧Δ∧=Δ∃∀ γγγ K

Page 314: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

309

On Delta_i correspon a cadascuna de les interpretacions de Delta(x,y) sota l’univers del discurs pel tipus t1={C1, ... , Cn}. Per a cada Delta_i totes les referències a x s’han de reemplaçar per la constant Ci. Les referències a y es reemplacen per les constants d’Skolem y_i. Vegeu alguns exemples a [Weld1994]p30-p31.

[Weld1994]

Algorisme UCPOP

L’algorisme UCPOP es basa en l’algorisme POP. De tal manera que es modifica POP per permetre esquemes d’accions amb variables, efectes condicionals, precondicions disjuntives i quantificadors universals (vegeu [Weld1994]p31-p33). Vegem alguns criteris (i/o definició de funcions) que assumirem en l’algorisme UCPOP: 1. Si un objectiu o una precondició és una sentència quantificada universalment, llavors UCPOP computa la base universal i planifica com assolir-ho. 2. Si un efecte involucra una quantificació universal, UCPOP no computa la base universal. La base universal es genera de forma incremental, i l’efecte s’usa per suportar links causals. 3. Es necessita canviar la definició d’amenaça per tal d’incloure els efectes quantificats universalment: Sigui

cQ

p AA ⎯→⎯ un link causal. Si existeix un At que satisfà les condicions següents, llavors direm que At amenaça aquest link causal. Condicions d’amenaça: 1) Ap < At < Ac és consistent amb O 2) At té un terme R a l’efecte (o té un efecte condicional, el conseqüent del qual té un terme R).

≠⊥¬ ),,()3 BRQMGU 4) Tots els parells

),,(),( BRQMGUvu ¬∈ tals que u o v són membres de les variables quantificades universalment de l’efecte.

Page 315: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

310

És a dir, una acció es considera una amenaça quan la unificació només retorna lligams amb les variables quantificades universalment de l’efecte. Una vegada realitzades totes aquestes consideracions vegeu atentament l’algorisme UCPOP, el qual es detalla a la figura 18 de’n [Weld1994], a la pàgina 33. Es demostra que l’algorisme UCPOP –sota les hipòtesis anteriors– és un algorisme sòlid i complet.

[Weld1994]

Exemple 1: confrontació

Vegeu un exemple de funcionament de l’algorisme UCPOP, on podreu veure què succeeix en el cas d’una confrontació. L’exemple es centra en el domini de les carteres, tenint com a operadors (teoria del domini) els operadors move ([Weld1994]p29 a la figura 17) i take-out ([Weld1994]p34 a la figura 19). Què tenim a l’estat inicial? Una cartera B, un xec P dins de la cartera B, i la cartera B i el xec P es troben a casa. Així A0 serà definida per: A0 = (and (briefcase B) (at B home) (in P B) (at P home)) Quin és l’estat objectiu d’aquest exemple? Doncs que el xec P es quedi a casa, mentre que la cartera B sigui a l’oficina. Així doncs, tenim: Ainfinit = (and (at B office) (at P home)) Seguiu atentament l’exemple a [Weld1994]p32-p37, fins arribar al pla final que es presenta a la figura 24.

[Weld1994]

Exemple 2: quantificació

Vegeu un segon exemple de funcionament de l’algorisme UCPOP a [Weld1994]p37-p39. En aquest cas s’il·lustra la manera en què s’aplica la base universal (“sota demanda”) quan tenim un efecte quantificat universalment. De nou ens trobem en l’univers de les carteres. Suposem que la teoria del domini està composta pels operadors move ([Weld1994]p29 a la figura 17) i put-in ([Weld1994]p37 a la figura 25). Què tenim a l’estat inicial?

Page 316: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

311

Una cartera B a casa i un objecte D a l’oficina. Així A0 serà definida per: A0 = (and (object B) (object D) (briefcase B) (at B home) (at D office)) Quin és l’estat objectiu d’aquest exemple? Doncs que tots els objectes de l’univers es trobin a casa. Així doncs, tenim: Ainfinit = (forall ((object ?O)) (at ?O home)) Seguiu atentament l’exemple a [Weld1994]p37-p40 fins arribar al pla final que es presenta a la figura 29.

[Weld1994]

6.4.4. Relaxacions de l’UCPOP Fins ara, en la discussió de la quantificació universal hem assumit que l’univers del discurs és finit, estàtic i conegut per l’agent que realitza la planificació. Però què passa si canvien algunes d’aquestes assumpcions? És a dir, què passa si l’univers és dinàmic? Vegem algunes consideracions al respecte.

Planificació dinàmica

Com suportar al llarg de la planificació universos dinàmics? És a dir, dominis en els quals els efectes de les accions poden crear nous objectes o bé esborrar alguns que ja existeixen. Així doncs, per tal de realitzar planificació dinàmica hauríem de considerar els punts següents: 1) Com s’hauria de representar (sintàcticament) la creació i destrucció d’objectes en el llenguatge de les accions? 2) Com hauria de suportar el planificador els objectius quantificats universalment, és a dir, com efecte als possibles efectes? Vegeu algunes consideracions al respecte a [Weld1994]p39-p41.

[Weld1994]

RESUM

Amb aquesta sessió finalitzem la teoria corresponent al capítol de Planificació. A la sessió següent es proposaran alguns exercicis.

Page 317: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

312

Hem pogut veure que l’objectiu de la planificació consisteix a trobar una seqüència d’accions que modifiquin l’estat inicial cap a un estat que satisfaci l’objectiu. Així doncs, hem vist que un planificador usa una sèrie d’accions (de la seva teoria del domini) per tal d’intentar assolir l’objectiu. Per tant, interessa que els planificadors siguin complets (si un pla existeix, llavors existeix una seqüència escollida de forma no determinista que el trobi) i sòlids (si retorna un pla, aquest realment anirà de l’estat inicial a l’estat final).

Page 318: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

313

SESSIÓ 49: Exercicis de planificació – PLANIFICACIÓ (9/9) Nom: Exercicis de planificació – PLANIFICACIÓ (9/9) Tipus: de problemes Format: no presencial Durada: 2 hores Dedicació: 2 hores Treball a lliurar: no Material:

o Bibliografia bàsica: [Weld1994]

PRECEDENTS Per realitzar aquesta sessió d’exercicis es necessita haver estudiat totes les sessions anteriors corresponents al capítol de Planificació.

OBJECTIUS L’objectiu d’aquesta sessió és comprendre millor el problema de la planificació i que, per tant, els exercicis que es proposen serveixin per acabar d’estudiar i comprendre el capítol de Planificació.

CONTINGUTS En aquesta sessió es proposa la resolució de tres problemes d’exàmens, corresponents a: setembre 2001 (problema 4), juny 2002 – part 2 (problema 1) i juny 2001 (problema 4). Els enunciats d’aquests exàmens també els podeu trobar a la carpeta de l’assignatura de l’ecampus.

6.5. Exercicis de planificació

6.5.1. Llista de problemes d’exàmens – Planificació Tot seguit proposem tres exercicis de planificació que corresponen als exàmens de juny 2001, setembre 2001 i juny 2002. Aquests enunciats també els podeu trobar a la carpeta corresponent de l’assignatura a l’ecampus. Es proposen aquests tres exercicis, tot i que hi ha d’altres exàmens, perquè es consideren prou representatius per comprendre la planificació i molt especialment l’algorisme UCPOP. En els tres casos es proposa un domini (o problema) i es demana: un possible estat inicial, un estat final (o objectiu), un pla (que vagi de l’estat inicial a l’objectiu) i, donada la teoria del domini, es demana que dissenyeu alguns operadors. Per tant, que doneu les precondicions i les postcondicions que els defineixen.

Page 319: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

314

Per donar les precondicions i les postcondicions no es demana que recordeu la sintaxi exacta que vam seguir en l’article de’n [Weld1994], però sí tota l’expressivitat que es permetia en les pre i postcondicions.

Setembre 2001 – problema 4

ENUNCIAT: Disposem d'un robot en un entorn hospitalari, el qual té com a objectiu el transportar les comandes indicades d'un lloc a un altre. De fet, pot ser que certs productes els hagi de recollir o bé de lliurar al llarg del seu trajecte. Podeu fer les hipòtesis que és l'únic robot que fa aquest servei en la seva àrea d'actuació (vegeu la figura) i que els objectes implicats en els seus objectius només són bellugats per ell mentre dura un trajecte. En general, podeu fer les assumpcions que: el temps és atòmic, els efectes són determinístics, d'omnipotència i hi ha una causa única de canvi (el robot).

El vostre objectiu consistirà en dissenyar el planificador adequat per tal de realitzar les comandes de la manera més eficient possible. Concretament, per planificar (i realitzar, és clar) cada trajecte independentment. Suposem que es vol construir un planificador tipus UCPOP. ES DEMANA: 1. Descripció d'un estat inicial. 2. Descripció d'un objectiu (o estat final). 3. Dissenyeu les precondicions i postcondicions dels operadors següents, els quals són els que configuren la teoria del domini. Podeu suposar que el robot és com un carro que pot transportar diversos productes al mateix temps. canvia_habitació(H1,H2)} : el ROBOT passa de l'habitació H1 a l'habitació H2. agafa_comanda(C,H)} : el ROBOT agafa la comanda C de l'habitació H. deixa_comanda(C,H)} : el ROBOT deixa la comanda C a l'habitació H.

Page 320: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

315

4. Un pla (que satisfaci l'objectiu donat l'estat inicial).

Juny 2002 (part 2) – problema 1

ENUNCIAT : Una empresa automobilística disposa de robots per tal de realitzar la cadena de muntatge d'un automòbil. Concretament, els robots necessiten anar a cercar per a cada fase de muntatge les peces corresponents al magatzem de peces i col·locar-les en l'ordre precís (dins de la cadena de muntatge). Es pot donar el cas que una peça depengui d'altres peces prèviament muntades. Quan es finalitza un automòbil, aquest es diposita al magatzem d’automòbils. Podeu fer les hipòtesis que hi ha un únic robot per automòbil i que el nombre de peces és il·limitat. També podeu suposar que els robots passen per les portes (i poden passar tots alhora ...). Vosaltres haureu d’especificar el nombre de tipus peces necessàries (A, B, etc.) i el nombre de robots de què disposa la companyia automobilística (Robot_1, Robot_2, etc.). Vegeu la figura 1. En general, podeu fer les assumpcions següents: el temps és atòmic, els efectes són determinístics, d'omnipotència i hi ha una causa única de canvi (el robot).

El vostre objectiu consistirà a dissenyar el planificador adequat per tal de portar a terme el muntatge d'un automòbil. Concretament, per planificar (i realitzar, és clar) un automòbil concret cada vegada. Suposem que es vol construir un planificador tipus UCPOP. ES DEMANA: 1. Descripció d'un estat inicial. 2. Descripció d'un objectiu o estat final. 3. La teoria del domini és definida pels operadors següents: canvia_habitació(ROBOT,H1,H2) : el ROBOT passa de l'habitació H1 a l'habitació H2. agafa_peça(ROBOT,TIPUS_PEÇA) : el ROBOT agafa la peça TIPUS_PEÇA.

Page 321: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

316

munta_peça(ROBOT,PEÇA,OBJECTE,AUTOMÒBIL) : el ROBOT munta la PEÇA que té agafada sobre l’OBJECTE (on OBJECTE potser la base de l’automòbil o bé una altra peça) de l’AUTOMÒBIL. agafa_automòbil(ROBOT,AUTOMÒBIL) : el ROBOT agafa l’AUTOMÒBIL. deixa_automòbil(ROBOT,AUTOMÒBIL) : el ROBOT deixa l’AUTOMÒBIL. Dissenyeu les precondicions i postcondicions dels operadors següents: canvia_habitació(ROBOT,H1,H2) : el ROBOT passa de l'habitació H1 a l'habitació H2. agafa_peça(ROBOT,TIPUS_PEÇA) : el ROBOT agafa la peça TIPUS_PEÇA. 4. Un pla (que satisfaci l'objectiu donat l'estat inicial).

Juny 2001 – problema 4

ENUNCIAT: Una empresa de correu electrònic vol dissenyar la planificació necessària per tal de dur a terme les comandes personalitzades que s’encarreguen electrònicament i que, des d’un magatzem que serveix una certa zona geogràfica, es preparen per tal de fer-les arribar al client. Vegeu a la figura el magatzem de l’empresa de comerç electrònic.

L’empresa pretén automatitzar tot el procés de l’elaboració de les comandes que realitza cada client. Suposeu que disposem d’un robot el qual té com a objectiu la comanda que li acaba d’arribar a l’HAB_1. Aquesta comanda li indica quins productes (de tipus PROD_1, PROD_2, ... o PROD_K) s’han d’enviar al client. Així doncs, el robot configurarà una caixa amb els productes demanats. Podeu fer les hipòtesis que és l’únic robot que fa aquest servei; que disposa de tants productes com li siguin necessaris, ja que contínuament s’està actualitzant el material

Page 322: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

317

que hi ha al magatzem (HAB_3); que es disposa de tantes CAIXES com comandes arriben i que els objectes implicats en els seus objectius només són bellugats per ell, mentre es planifica una comanda. En general, podeu fer les assumpcions següents: el temps és atòmic, els efectes són determinístics, d'omnipotència i hi ha una causa única de canvi (el robot). ES DEMANA: 1. Suposem que es vol construir un planificador tipus UCPOP. Dissenyeu les precondicions i postcondicions dels operadors següents, els quals són els que configuren la teoria del domini. Podeu suposar que el robot és un carro que pot transportar diversos productes al mateix temps. canvia_habitació(R,H1,H2) : el robot R passa de l’habitació H1 a l’habitació H2. agafa_producte(R,P) : el robot R agafa un producte de tipus P. deixa_producte(R,P,C) : el robot R deixa un producte de tipus P a la caixa C. lliura_comanda(R,C) : el robot R lliura la caixa C a la SORTIDA de COMANDES. 2. Suposem que a l’inici el robot sempre ha d’estar a l’habitació HAB_1 i que quan ha posat tots els productes corresponents a una comanda en una caixa, la deixa a la PORT_3 (SORTIDA COMANDES). Doneu: a) Descripció d’un estat inicial. b) Descripció d’un objectiu (estat final). c) Un pla (que satisfaci l’objectiu donat l’estat inicial). 3. Suposem que tenim un robot especialitzat per a cada producte. Així doncs, si hi ha K tipus de productes hi haurà K robots. A més a més, suposeu que es preparen les caixes cada C comandes i, per tant, es fa un pla per cada C comandes. a) Afecta al tipus de planificació usada? Justifiqueu la resposta. b) S’han de modificar els operadors de la teoria del domini? En cas afirmatiu, doneu les modificacions. Justifiqueu la resposta.

RESUM

Amb aquesta sessió d’exercicis finalitzem el capítol de Planificació.

Page 323: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

318

Page 324: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

319

SESSIÓ 50: Resolució de problemes Nom: Resolució de problemes – RESOLUCIÓ D’UN PROBLEMA USANT IA (1/1) Tipus: de problemes Format: no presencial Durada: 3 hores Dedicació: 3 hores Treball a lliurar: no Material:

o Bibliografia bàsica: Enunciats d’exàmens

PRECEDENTS Pel seguiment d’aquesta sessió d’exercicis que integren tots els conceptes analitzats dins de l’assignatura d’Intel·ligència Artificial, es necessiten TOTES les sessions anteriors.

OBJECTIUS L’objectiu d’aquesta sessió és treballar la manera d’enfocar la resolució d’un problema usant tots els conceptes d’IA.

CONTINGUTS En aquesta sessió veurem: 1. Com resoldre un problema usant IA. És a dir: - Analitzar l’objectiu del problema, les dades i el tipus de dades que disposem del problema i quines són les característiques del domini. - Discutir quina és la millor resolució –global– del problema. Analitzar els avantatges i inconvenients de les diferents alternatives. - Quina és la representació del coneixement més adequada. - Quins són els algorismes de cerca que s’utilitzen. - Convé planificació? En cas afirmatiu, de quin tipus? - Convé aprenentatge artificial? En cas afirmatiu, de quin tipus? 2. En segon lloc, plantejarem la resolució de dos problemes, els quals presenten característiques ben diferents.

Page 325: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

320

7. Resolució d’un problema usant IA

7.1. Resolució de problemes usant IA

7.1.1. Com resoldre un problema usant IA? Vegem què convé establir en el moment de resoldre un problema, usant tot el que hem vist al llarg del curs: Resolució de problemes – Cerca; Representació del coneixement – Raonament; Aprenentatge artificial; i Planificació.

Com enfocar la resolució d’un problema?

Ara al final del curs és el moment d’intentar resoldre un problema tenint clars els diferents temes estudiats al llarg del curs. És molt important, en primer lloc, analitzar les característiques que presenta el domini del problema i comprendre què és el que es demana. En base a això, es pot començar a fer un esbós de com faríeu la resolució global del problema. Val a dir que segurament hi haurà diferents maneres d’encarar la resolució del problema igualment correctes. En aquest cas, convindrà justificar la vostra decisió enfront de les altres alternatives. Una vegada s’hagi decidit com resoldre el problema, els diferents punts dependran d’aquesta decisió: la representació del coneixement, la cerca, la planificació i l’aprenentatge artificial. Exemple Per exemple, si sembla que el problema es pot resoldre mitjançant l’ús d’una xarxa neuronal backpropagation, està clar que: 1. La representació del coneixement serà descrita pels pesos i les connexions de la xarxa neuronal i la capa d’entrada mostrarà les dades que es tindran per a cada exemple. 2. La cerca serà el propi algorisme de funcionament. En el moment de l’explotació de la xarxa, la cerca de la solució serà senzillament la propagació dels valors d’entrada cap a la capa de sortida. Durant el procés d’entrenament, podem entendre que l’algorisme és una cerca de la millor manera de generalitzar el domini, és a dir, el càlcul dels pesos que minimitzi l’error. Concretament podeu observar que l’algorisme d’aprenentatge de les BPN és “a la hill climbing”. Així doncs, tindrà unes característiques, des de la perspectiva de cerca, similars a les que vam observar en l’estudi del hill climbing. 3. L’aprenentatge artificial serà l’algorisme GDR – generalized delta rule. 4. Està clar que en aquest cas no hi ha planificació.

Page 326: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

321

Així doncs, la representació del coneixement, la cerca, l’aprenentatge artificial i la planificació més adequats dependran de la resolució global del problema. Podeu observar que, quan esteu oferint la resolució d’un problema, esteu dissenyant un sistema basat en el coneixement, adequat per a aquell problema en qüestió.

7.1.2. Reconeixement de submarins Proposarem tot seguit la resolució d’un problema de reconeixement d’imatges de submarins (entenent que aquestes han estat prèviament processades). Val a dir que al llarg de la sessió s’analitzaran propostes, però la resolució completa l’haureu de fer vosaltres com a exercici. Aquest problema s’ha demanat des de moltes perspectives diferents: com enunciat d’una pràctica d’aprenentatge artificial o com a problema d’examen, pel qual es demana una resolució integrant les diferents parts del curs (setembre 2002).

Enunciat

El Servei d'Intel·ligència ens ha demanat que dissenyem un sistema que, a partir d'una imatge de sonar, sàpiga respondre si aquesta correspon o no a un submarí i, si es tracta d'un submarí, que el sistema respongui de quin tipus de submarí es tracta. Val a dir que podrien haver imatges que se sap que es corresponen amb un submarí, però no se sap de quin tipus de submarí es tracta. Els motius d'aquest fet poden ser diversos, per exemple, pot ser que hi hagi molt soroll o que senzillament es tracti d'un submarí del qual el Servei d'Intel·ligència desconeixia l’existència. Per tal de realitzar aquest sistema, hem demanat al Servei d'Intel·ligència si podíem disposar d'algun tipus d'informació més concreta. I, com a resposta, ens han fet arribar una descripció dels diferents submarins que tenen catalogats i algunes imatges de sonar que es coneix amb seguretat a què corresponen. Val a dir que no forçosament tenim imatges sonar de tots els tipus de submarins; alguns d'ells són coneguts pel Servei d'Espionatge, però no s'han pogut detectar mai.

Característiques del domini

Prèviament a proposar una resolució del problema, convé determinar les característiques del domini, les dades de les quals disposem i l’objectiu del problema. A partir de l’enunciat podem fer algunes observacions com les següents: * Es tracta d’un domini incomplet, ja que, per exemple, hi ha submarins que el Servei d’Intel·ligència pot desconèixer. És en aquest punt que podem observar que el sistema que proposem necessitarà anar incorporant (aprenent) la nova informació que es vagi descobrint.

Page 327: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

322

* Disposem de dos tipus de dades: 1) disposem d’una descripció dels diferents submarins que tenen catalogats i 2) disposem d’algunes imatges de sonar que es coneix correctament a què corresponen. Val a dir que, pel que fa a les imatges, aquestes ens les passen processades, de tal manera que cada imatge és descrita per un conjunt de característiques més la classe a la qual pertanyen (submarí o no; en cas de submarí: el tipus de submarí). De la mateixa manera, podem suposar que la descripció dels submarins que tenen catalogats existeix també en forma de fitxa: característiques + classe. Així doncs, podem tractar totes les dades de la mateixa manera, malgrat que no podem garantir que per a totes les dades hi hagi les mateixes característiques. Per tant, en general, haurem de poder treballar amb valors desconeguts. * Atès que treballem amb imatges sonar, sembla evident que pot haver-hi soroll, tant en la captura de les imatges com en el processament de les mateixes. Per tant, convé un mètode robust al soroll. * Quin és l’objectiu del sistema que volem desenvolupar? Donada una imatge sonar, identificar si es tracta o no d’un submarí i, en cas de ser un submarí, identificar de quin tipus de submarí es tracta.

Resolució global del problema

Atès que convé anar incorporant el nou coneixement que es vagi obtenint, seria recomanable enfocar la resolució global del problema mitjançant algun mètode d’aprenentatge artificial que sigui capaç d’abordar totes les característiques que hem analitzat anteriorment. Però quin? Heu d’analitzar els pros i contres dels diferents paradigmes i de quina manera s’haurien d’adequar per resoldre l’objectiu del problema. 1. Per exemple, si es resol amb una xarxa neuronal, ja que les backpropagation són molt robustes al soroll i en aquest entorn no és necessària una explicació: - Com s’incorpora la nova informació? Convé reentrenar de nou la xarxa neuronal. - Què passa si la nova informació (per exemple nous submarins) inclouen en la seva descripció noves característiques? En aquest cas, no només convé reentrenar-la, sinó que segurament convindrà redissenyar l’arquitectura de la xarxa. - Com es descriuen els valors desconeguts? Una possibilitat seria que cada atribut fos descrit per dues neurones: la primera indica si hi ha valor o no i a la segona hi ha el valor en cas de no ser desconegut, si no, el valor que hi hagi no s’ha de considerar. - Com s’interpreta la sortida. Podríem tenir un disseny format per dues xarxes neuronals: la primera ens indica si és un submarí o no i la segona intenta identificar el tipus de submarí que és, en el cas de ser-ho. Tot i així cal tenir present que pot ser que no reconegui cap tipus de submarí dels coneguts. - Etc.

Page 328: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

323

Si, tot i així, fos el paradigma escollit, ara s’hauria de dissenyar el sistema global que integra totes les parts necessàries per resoldre el problema. 2. Davant dels problemes de les xarxes neuronals (malgrat que, com hem vist, es poden solucionar si es tenen presents), una altra alternativa seria el raonament basat en casos. Aquest mètode permet anar incorporant nova informació. Coses a considerar: - La funció de similitud ha de poder treballar amb atributs de diferents tipus i amb valors desconeguts. - La funció de similitud i la funció de recuperació, s’hauran de redissenyar en el cas d’afegir dades que incloguin noves característiques. - El sistema haurà d’incloure les noves classes (tipus de submarins) que es puguin anar descobrint. - Etc. 3. Considerar-ne d’altres, com un sistema classificador basat en algorismes genètics o un sistema d’aprenentatge basat en explicacions o un sistema inductiu o bé híbrids, per exemple CBR (per les imatges) + EBL (per crear regles de les descripcions de submarins catalogats). Moltes solucions poden ser igualment correctes si s’han solucionat d’alguna manera els problemes que, per si mateixos, no poden resoldre.

Representació del coneixement

Fixeu-vos que la representació del coneixement dependrà del sistema global que hagueu dissenyat. No només heu de tenir en compte el paradigma mare escollit, sinó tots els mòduls que poden intervenir per a la resolució global del problema. Per tant, heu de descriure la representació del coneixement que s’usi per a cadascuna de les parts del sistema. Pot ser sempre la mateixa o bé la combinació de vàries.

Cerca

Està clar que tot procés de resolució d’un problema implica cerca! Per tant, identifiqueu en els diferents punts del sistema global quin tipus de cerca –en realitat– s’està duent a terme.

Planificació

Tal i com s’ha enfocat el problema, no té sentit incloure cap algorisme de planificació en cap punt del sistema global.

Page 329: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

324

Aprenentatge artificial

En la resolució d’aquest problema hem partit d’una perspectiva d’aprenentatge artificial, per tant, serà fàcil identificar en quins punts es fa aprenentatge i de quin tipus.

7.1.3. Empresa de missatgeria En aquest apartat proposem la resolució d’un problema de planificació d’una empresa de missatgeria. Vegeu l’enunciat de l’examen del setembre de 2002. Aquest mateix problema també es va proposar algun any com a pràctica de cerca. Veureu que les possibles maneres de resoldre aquest problema són ben diferents a les proposades pel problema anterior (reconeixement d’imatges de submarins).

Enunciat

L'empresa de missatgeria MÉS_RÀPID_QUE_MAI està completament informatitzada. Cada vegada que li arriba un nou paquet, planifica el seu lliurament per tal de servir-lo tan ràpid com sigui possible i, si pot ser, en menys de 24 hores (ja que si no el servei de missatgeria surt gratuït per al client). L'empresa es basa en una xarxa de comunicació per on circulen els paquets, de tal manera que qualsevol població de la xarxa pot ser tant un node origen com un node destí. Entre les diferents poblacions de la xarxa es poden usar diferents tipus de transports, per tant, és possible que quan s'arribi a una certa població s'hagi d'esperar a que arribi el següent transport. Hi ha uns costos (tant econòmics com temporals) associats al viatge del paquet en funció del transport i de la ruta que s'utilitzi.

Característiques del domini

Determinem, en primer lloc, les característiques del domini, les dades de les quals disposem, i l’objectiu del problema. Fem una anàlisi de l’enunciat: * L’objectiu consisteix en –cada vegada que arriba un nou paquet– planificar el seu lliurament per tal de servir-lo tan ràpid com sigui possible. * Disposem de les dades següents del problema: - Pel que fa a la xarxa de comunicació on els nodes són les diferents poblacions, coneixem les poblacions i les connexions que hi ha entre les poblacions, els transports associats entre les diferents poblacions de la xarxa i l’horari que realitzen i els costos (tant econòmics com temporals) associats al viatge del paquet en funció del transport i de la ruta que s'utilitzi. - Sobre el nou paquet: la població origen i la població destí. Per descomptat sabem l’hora en la qual arriba la comanda.

Page 330: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

325

- Altres restriccions: el paquet s’ha de lliurar tan ràpid com sigui possible i, si pot ser, en menys de 24 hores (ja que, si no, el servei de missatgeria surt gratuït pel client). * Analitzant el problema, quines hipòtesis sobre el domini podem assumir? - Podem assumir que sempre que hi ha un transport disponible té la capacitat per transportar el nou paquet (independentment de la càrrega que tingui). - Podem suposar que en tot moment sabem on es troben els diferents transports que utilitza l’agència. - En el moment de fer la planificació podem suposar que coneixem tota la informació necessària per planificar el lliurament del paquet, és a dir, que en el moment de la planificació el món és estàtic, ja que encara que circulin els diferents transports sabem a quina hora passen per cada lloc. Evidentment, poden haver-hi anomalies, però en el moment de fer la planificació no ho podem preveure. Si durant el transport hi hagués algun problema, des d’aquell punt tornaríem a fer la planificació pel trajecte restant. En general, podem fer les assumpcions següents: el temps és atòmic, els efectes són determinístics, d'omnipotència i hi ha una causa única de canvi (el software).

Resolució global del problema

Donades les característiques del problema i les assumpcions que hem fet del domini, es podria enfocar des de dues perspectives: Opció 1. Partir d’un algorisme de planificació com l’UCPOP per tal de realitzar la planificació de cada paquet. En aquest cas el sistema global hauria de detallar com s’emmagatzemen les dades i com s’usen; com es descriu la informació d’un nou paquet, és a dir, com es descriu l’estat inicial i l’estat final; quina és la teoria del domini, és a dir, en què consisteixen els operadors i com s’incorporen les restriccions pròpies del problema. No sembla necessari realitzar planificació basada en casos, en aquest cas, també estaríem incloent aprenentatge artificial a la solució global. Pot ser interessant analitzar la possibilitat de fer la planificació de manera jeràrquica, ja que no cal refinar més el pla final si no es satisfan certes restriccions. Opció 2. També es podria intentar resoldre el problema com una cerca basada en restriccions. Caldria determinar com s’aplica i contempla tot el problema. Podeu observar que la planificació, segons quins dominis i problemes, es pot veure com una cerca basada en restriccions. Una vegada justificada i escollida l’opció adequada convé detallar el sistema global.

Representació del coneixement

Si resolem el problema des d’una perspectiva d’una cerca basada en restriccions i, donada la naturalesa de les dades, sembla coherent pensar en representar el

Page 331: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

326

coneixement per una simple estructura relacional més un conjunt de regles de restricció. Un cop justificada la idea general, convé detallar com es faria per a tots el tipus de dades que intervenen en el problema. D’altra banda, si penseu en l’algorisme UCPOP, haureu vist que part de la descripció del domini ja estarà representada a través de l’estat inicial, l’estat objectiu i els operadors, per tant, en aquesta part estareu usant una representació que expressa part de la lògica de primer ordre. La resta de les dades pot ser que estiguin representades per una estructura relacional.

Cerca

En aquest concepte heu de detallar i identificar tots punts del sistema global en els quals hi ha algun tipus de cerca i detallar de quin tipus es tracta. És clar que el principal algorisme de cerca serà l’algorisme UCPOP o l’algorisme de cerca basada en restriccions segons el sistema global que s’hagi dissenyat.

Planificació

Per l’opció 1 està clar que es realitza planificació no lineal (UCPOP) i potser heu considerat també la planificació jeràrquica i/o la basada en casos. Per l’opció 2 no hi ha planificació.

Aprenentatge artificial

Si a l’opció 1 s’ha inclòs la planificació basada en casos, llavors intervé l’aprenentatge analògic. Altrament, no és necessari l’aprenentatge artificial.

RESUM

En aquesta sessió de cloenda del curs hem volgut treballar la manera d’enfocar la resolució d’un problema, usant els diferents conceptes analitzats al llarg del curs d’Intel·ligència Artificial. S’ha pogut observar que sempre existeixen diferents alternatives per oferir un sistema basat en el coneixement (sistema global) que resolgui el problema. S’esculli l’alternativa que s’esculli, convé analitzar els avantatges que aporta respecte d’altres opcions i oferir solucions als seus inconvenients, bé sigui ampliant els mètodes vists o bé sigui integrant diferents mètodes per a la solució final o, en general, una combinació d’ambdues.

Page 332: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

327

Bibliografia

LLIBRES

Inteligencia artificial Cortés, Ulises; Béjar, Javier; Moreno, Antonio; Gimeno, Juan M.; Rodríguez, Horacio; Belanche, Lluís; Martín, Mario; Sànchez, Miquel; Sangüesa, Ramón Edicions UPC Barcelona, 1995 [Cortés1995]

Essentials of Artificial Intelligence Ginsberg, Matt Morgan Kaufmann Publishers San Francisco - Califòrnia, 1993 [Ginsberg1993]

Principles of Expert Systems Lucas, P.; Van der Gaag, L. Addison-Wesley Publishing Company 1991 [Lucas1991]

Artificial Intelligence: A New Synthesis Nilsson, Nils J. Morgan Kaufmann Publishers, Inc. San Francisco, Califòrnia, 1998 [Nilsson1998]

Paradigms of Artificial Intelligence Programming: Case Studies in Common LISP Norvig, Peter Morgan Kaufmann Publishers, Inc. San Francisco - Califòrnia, 1992 [Norvig1992]

Inteligencia Artificial (Segunda edición) Rich, Elain; Knight, Kevin McGraw-Hill 1994 [Rich1994]

Page 333: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

328

Artificial Intelligence. A Modern Approach Russell, Stuart; Norvig, Peter Prentice Hall Series in Artificial Intelligence New Jersey, 1995 [Russell1995]

Common LISP – The Language (2nd edition) Steele, G.L. Digital Press ftp://ftp.cs.cmu.edu/user/ai/lang/LISP/doc/cltl/cltl-ht.tgz, 1990 [Steele1990]

Principles of Expert Systems Lucas, P.; Van der Gaag, L. Addison-Wesley Publishing Company 1991 [Lucas1991]

Aprendizaje automático Moreno, Antonio; et al. Edicions UPC Barcelona, 1994 [Moreno1994]

Artificial Intelligence (3rd edition) Winston, Patrick Henry Addison-Wesley Publishing Company USA, 1992 [Winston1992]

APUNTS

LISP – Intel·ligència artificial Golobardes, Elisabet Edicions Enginyeria i Arquitectura La Salle Barcelona, 2002 [Golobardes2002a]

EXERCICIS LISP – Intel·ligència artificial Golobardes, Elisabet Edicions Enginyeria i Arquitectura La Salle Barcelona, 2002 [Golobardes2002b]

Page 334: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

329

CERCA – Intel·ligència artificial Golobardes, Elisabet; Garrell, Josep M. Edicions Enginyeria i Arquitectura La Salle Barcelona, 2002 [Golobardes2002c]

PRÀCTICA 1: CERCA – Intel·ligència artificial Golobardes, Elisabet Edicions Enginyeria i Arquitectura La Salle Barcelona, 2002 [Golobardes2002d]

Introducció a l’OPS5 – Intel·ligència artificial Comas, Cecília; Golobardes, Elisabet Edicions Enginyeria i Arquitectura La Salle Barcelona, 1996 [Comas1996]

PRÀCTICA 2: REPRESENTACIÓ DEL CONEIXEMENT – Intel·ligència artificial Golobardes, Elisabet Edicions Enginyeria i Arquitectura La Salle Barcelona, 2002 [Golobardes2002e]

Assignatura de Lògica matemàtica – Curs 2001/2002 Mozota, M. Antònia La Salle OnLine – Enginyeries Barcelona, 2001 [Mozota2001]

Els algorismes genètics i la Computació Evolutiva (Transparències) Garrell, Josep Maria Presentat a un curs de la Universitat d’Andorra Andorra, 2002 [Garrell2002a]

Les Xarxes Neuronals (Transparències) Garrell, Josep Maria Presentat a un curs de la Universitat d’Andorra Andorra, 2002 [Garrell2002b]

RAONAMENT BASAT EN CASOS – Transparències Golobardes, Elisabet Edicions Enginyeria i Arquitectura La Salle Barcelona, 2001 [Golobardes2001]

Page 335: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

330

PRÀCTICA 3: APRENENTATGE ARTIFICIAL – Intel·ligència artificial Golobardes, Elisabet Edicions Enginyeria i Arquitectura La Salle Barcelona, 2002 [Golobardes2002f] Barcelona, 2001 [Mozota2001]

ARTICLES

Lògica difusa. Una aproximació al raonament humà Garriga, Carles; Mayer, August INPUT 8 (pàgines 19-27) Barcelona, 1995 [Garriga1995]

An Introduction to Least Commitment Planning Weld, Daniel S. AI Magazine Vol. 15(4) 27-61, 1994 [Weld1994]

Bayesian Classification (AUTOCLASS): Theory and Results Cheeseman, Peter; Stutz, John In “Advances in Knowledge Discovery and Data Mining”, P. Smyth and R. Uthurusamy (Eds.) The AAAI Press, Menlo Park, 1995 [Cheeseman1995]

The Role of Frame-based representation in Reasoning Fikes, R.; Kehler, T. Communications of the ACM, Volume 28, Number 9, pages 904-920 September 1985 [Fikes1985]

Introducció a les xarxes neuronals, presentació de les BackPropagation Golobardes, Elisabet; Pous, Eduard; Román, Manuel INPUT 10 (pàgines 17-26) Barcelona, febrer 1996 [Golobardes1996]

Page 336: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

331

REPORTS DE RECERCA

Fuzzy systems – A tutorial James F. Brule Tutorial http://life.csu.edu.au/complex/tutorials/fuzzy.html, 1985 [Brule1985]

Intel·ligència artificial Ton Sales Report de recerca LSI-90-23 Dept. Llenguatges i Sistemes Informàtics – Universitat Politècnica de Catalunya, 1990 [Sales1990]

Page 337: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

332

Page 338: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

333

Glossari

BENCHMARK En aquest context de l’assignatura d’Intel·ligència artificial, entendrem per benchmarks (o problemes benchmarks) aquells problemes que típicament s’usen per avaluar i comparar diferents mètodes (algorismes).

CERCA BASADA EN RESTRICCIONS, PROBLEMES BASATS EN RESTRICCIONS CSP Constraint Satisfaction Problems

CERCA CEGA, BLIND SEARCH, UNINFORMED SEARCH Algorismes de cerca que no usen la informació/coneixement del domini en el moment de buscar la solució.

CERCA SISTEMÀTICA, SYSTEMATIC SEARCH Són algorismes que segueixen algun ordre estructural de l’espai de cerca del problema en el moment de buscar la solució.

FACTOR DE BRANQUEIG, BRANCHING FACTOR, FACTOR DE fills El factor de branqueig d’un node d’un arbre de cerca és igual al número de branques (o fills) que té aquest node. Per aquest motiu també se l’anomena factor de fills.

INFORMACIÓ PERFECTA Direm que un jocs té una informació perfecta quan la informació disponible per a cada jugador és la mateixa. Com per exemple els escacs.

INTEL·LIGÈNCIA ARTIFICIAL IA Intel·ligència Artificial

AI Artificial Intelligence

INTEL·LIGÈNCIA ARTIFICIAL DISTRIBUÏDA DAI Distributed Artificial Intelligence

MONOTONIA, MONÒTONA Direm que la informació és monòtona si només “canvia” a base d’afegir fets nous, i aquests fets són consistents amb tots els altres fets. Un exemple clar és tant CP0 com CP1.

Page 339: Creative Commons License Deed - La Salle · 2017-10-30 · Creative Commons License Deed Reconeixement-No comercial-Sense obres derivades 2.5 Espanya Vostè és lliure de: Copiar,

334

NP-HARD Es diu que un algorisme té una complexitat NP-Hard quan a causa del tamany de l’espai de cerca no és possible trobar una solució amb els recursos computacionals disponibles.

PROBLEMA DEL VIATJANT DE COMERÇ El problema del viatjant de comerç és un problema-exemple dels problemes amb una complexitat NP-Hard. Aquest problema consisteix en: hi ha un viatjant que ha de visitar n ciutats, i ha de passar per cada ciutat només un cop. Així doncs, comença per una ciutat, les visita totes i torna a la ciutat origen. S’ha de trobar el millor camí.

TSP Travel Salesman Problem

SISTEMA DE MANTENIMENT DE LA VERITAT TMS Truth-Maintenance System

SISTEMES MULTI-AGENTS SMA

TEORIA INCOMPLETA, INCOMPLETESA, INCOMPLET Direm que una teoria és incompleta quan la teoria no pot explicar algun exemple per no disposar de tota la informació necessària.

TEORIA INCONSISTENT, INCONSISTÈNCIA, INCONSISTENT Direm que una teoria és inconsistent quan aquesta arriba a prediccions contradictòries.

TEORIA INCORRECTA, INCORRECTESA, INCORRECTA Direm que una teoria és incorrecta quan el sistema fa alguna errada de predicció.

TEORIA INTRACTABLE, INTRACTABLE Direm que una teoria és intractable quan per donar una predicció es necessiten més recursos dels que disposa. Si pensem en el joc d’escacs, podem observar que la solució passa per l’ús de les heurístiques, amb el perill de convertir la teoria en incompleta, incorrecta i fins i tot inconsistent. Vegeu també el terme de NP-Hard.