aboutsummaryrefslogtreecommitdiff
path: root/dsi/n3.lyx
blob: 8613afad22acfdd299ca1d27886af4457c2d35a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
#LyX 2.3 created this file. For more info see http://www.lyx.org/
\lyxformat 544
\begin_document
\begin_header
\save_transient_properties true
\origin unavailable
\textclass book
\begin_preamble
\input{../defs}
\end_preamble
\use_default_options true
\maintain_unincluded_children false
\language spanish
\language_package default
\inputencoding auto
\fontencoding global
\font_roman "default" "default"
\font_sans "default" "default"
\font_typewriter "default" "default"
\font_math "auto" "auto"
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100 100
\font_tt_scale 100 100
\use_microtype false
\use_dash_ligatures true
\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\paperfontsize default
\spacing single
\use_hyperref false
\papersize default
\use_geometry false
\use_package amsmath 1
\use_package amssymb 1
\use_package cancel 1
\use_package esint 1
\use_package mathdots 1
\use_package mathtools 1
\use_package mhchem 1
\use_package stackrel 1
\use_package stmaryrd 1
\use_package undertilde 1
\cite_engine basic
\cite_engine_type default
\biblio_style plain
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\justification true
\use_refstyle 1
\use_minted 0
\index Index
\shortcut idx
\color #008000
\end_index
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\paragraph_indentation default
\is_math_indent 0
\math_numbering_side default
\quotes_style french
\dynamic_quotes 0
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header

\begin_body

\begin_layout Standard
Desde siempre la humanidad ha intentado hacer máquinas para resolver problemas.
 En la antigua Grecia y el antiguo Egipto encontramos estatuas móviles operadas
 por monjes; en el siglo XIII Alberto Magno creó una cabeza parlante y un
 mayordomo; en el XVII, René descartes creó una muñeca autómata; en el XVIII,
 Jacques de Vaucanson creó músicos de tamaño natural y un pato con aparato
 digestivo, y Pierre Jaquet-Droz un pianista, un dibujante y un escritor,
 y en el siglo XIX se crearon máquinas que podían hacer y contestar preguntas.
\begin_inset Foot
status open

\begin_layout Plain Layout
Por supuesto, no he verificado ninguno de estos datos, y aparecen en unas
 diapositivas que llaman a Alan Turing 
\begin_inset Quotes cld
\end_inset

Alan Touring
\begin_inset Quotes crd
\end_inset

 así que no son muy fiables.
\end_layout

\end_inset


\end_layout

\begin_layout Standard
Los primeros ordenadores los hicieron británicos y estadounidenses.
\begin_inset Foot
status open

\begin_layout Plain Layout
Esto es, si no cuentas el que hicieron los nazis.
\end_layout

\end_inset

 Alan Turing creó un computador de propósito general en base a operadores
 lógicos, y en 1946 se crearon en EEUU los primeros ordenadores analógicos,
 con operadores numéricos.
 También por esa época se empezó a trabajar en psicología cognitiva y la
 creación de programas para emular el pensamiento humano.
\end_layout

\begin_layout Standard
En 1943, McCulloch y Pitts crearon una red de neuronas artificiales que
 podía realizar cualquier operación
\begin_inset Foot
status open

\begin_layout Plain Layout
Representable en las 40 neuronas o así que tenía.
\end_layout

\end_inset

 y tenía capacidad de aprendizaje.
 Así surgió la 
\series bold
rama conexionista
\series default
, que consideraba clave la creación de redes neuronales para conseguir inteligen
cia.
 En 1956 se acuña el término inteligencia artificial hospedado por McCarthy
 e IBM y al que asistieron McCulloch, Pitts, von Neumann, Minsky, Edmonds
 y Shannon.
\begin_inset Foot
status open

\begin_layout Plain Layout
O algo así, está todo muy esquemático, pero de todas formas no va a preguntar
 por esto.
\end_layout

\end_inset


\end_layout

\begin_layout Standard
De los 50 a los 70 se dan los primeros éxitos en IA, con programas generales
 para resolver problemas como GPS de Newell y Simon en 1963, STRIPS de Fikes
 y Nilsson en 1971, el programa de damas de Samuel
\begin_inset Foot
status open

\begin_layout Plain Layout
Que por el nombre no parece muy general.
\end_layout

\end_inset

 y Lisp de McCarthy.
\end_layout

\begin_layout Standard
A finales de los 60 se ve que muchos de los métodos generales no son escalables
 y que es difícil modelar situaciones y sentido común que se suelen expresar
 en lenguaje natural, por lo que en 1966 Estados Unidos cancela la ayuda
 a estas investigaciones y en 1970 Reino Unido hace lo propio en base al
 
\begin_inset Quotes cld
\end_inset

informe Lighthill
\begin_inset Quotes crd
\end_inset

.
\end_layout

\begin_layout Standard
Esto lleva a una etapa de pesimismo en torno a los 70, pero también en esta
 época nacen los sistemas basados en conocimiento (SBC), una de las técnicas
 más usadas en inteligencia artificial junto con redes neuronales, lógica
 difusa, algoritmos genéticos y sistemas híbridos.
 Algunos de los primeros SBC son:
\end_layout

\begin_layout Enumerate

\series bold
DENDRAL
\series default
 (1969), el primer SBC y proyecto de programación heurística,
\begin_inset Foot
status open

\begin_layout Plain Layout
Si no se cuentan los proyectos anteriores como el algoritmo A*.
\end_layout

\end_inset

 que busca determinar estructuras moleculares a partir de mediciones de
 un espectroscopio.
 
\end_layout

\begin_layout Enumerate

\series bold
MYCIN
\series default
 (1972), para diagnóstico y terapia de enfermedades infecciosas, que usa
 incertidumbre mediante factores de certeza.
 
\end_layout

\begin_layout Enumerate

\series bold
PROSPECTOR
\series default
 (1979), un SBC probabilista para prospección minera que incluye una red
 semántica, y que encontró un depósito de molibdeno haciendo a un rico 100
 millones de dólares más rico.
\end_layout

\begin_layout Enumerate

\series bold
XCON
\series default
 (1980), para logística de pedidos de ordenadores VAX, con una precisión
 de entre el 95 y el 
\begin_inset Formula $\unit[98]{\%}$
\end_inset

, que supuso un ahorro anual de 25 millones de dólares.
\end_layout

\begin_layout Enumerate

\series bold
INTERNIST
\series default
 (1982), para medicina interna.
\end_layout

\begin_layout Enumerate

\series bold
LES
\series default
 (1987), para monitorizar y diagnosticar procesos de carga de oxígeno líquido
 en un transbordador espacial.
\end_layout

\begin_layout Standard
Por otro lado, en 1973 surge la lógica difusa, en 1976 la teoría de la evidencia
, en 1984 la de la incertidumbre, y sobre esa época surge 
\begin_inset Quotes cld
\end_inset

Ops
\begin_inset Quotes crd
\end_inset

, el lenguaje Prolog y 
\begin_inset Quotes cld
\end_inset

Marcos
\begin_inset Quotes crd
\end_inset

 de Minsky.
\begin_inset Foot
status open

\begin_layout Plain Layout
Esto es lo mejor que he podido hacer con una enumeración inconexa de términos.
\end_layout

\end_inset

 Surgen representaciones de conocimiento manipulables por ordenador con
 esquemas de representación adaptados al tipo de problema, procesos de razonamie
nto para usar dicho conocimiento y sistemas de aprendizaje y procesamiento
 del lenguaje natural.
 La mayor potencia de los ordenadores lleva a la aparición de los primeros
 entornos de desarrollo.
\end_layout

\begin_layout Standard
En los 80 comienza el 
\series bold
periodo industrial
\series default
, con empresas que poseen equipos propios de IA.
 A finales de la década hay una crisis que en los 90 es resuelta por nuevas
 metodologías de ingeniería del conocimiento, resultando en éxitos como
 
\series bold
MARVEL
\series default
, para monitorización y análisis de la telemetría del 
\lang english
Voyager
\lang spanish
; 
\series bold
PEGASUS
\series default
, una interfaz inteligente en 
\begin_inset Quotes cld
\end_inset

LN
\begin_inset Quotes crd
\end_inset

 para consultar información y reservar vuelos; 
\emph on
\lang english
soft bots
\emph default
\lang spanish
 en la web semántica; ERP, o CRM.
\end_layout

\begin_layout Standard
Un 
\series bold
sistema inteligente
\series default
 es uno que usa técnicas que no garantizan soluciones aceptables, sino que
 esto depende del contexto y del dominio.
 Los 
\series bold
sistemas basados en conocimiento
\series default
 (SBC) son un sistema informático que emula la capacidad de razonamiento
 del ser humano, usando sus mismas fuentes de conocimiento del dominio específic
o, con estructuras de control separadas del conocimiento del domino para
 poder usarse en distintos dominios.
 Un 
\series bold
sistema experto
\series default
 es un SBC enfocado a resolver problemas reales pequeños pero intelectualmente
 complejos, como un tutor inteligente o un sistema inteligente CASE.
\end_layout

\begin_layout Standard
Un SBC está formado por:
\end_layout

\begin_layout Enumerate
Una 
\series bold
memoria de trabajo
\series default
 o 
\series bold
base de hechos
\series default
, que contiene la información para la ejecución de una tarea particular,
 tanto de hechos establecidos como de metas a alcanzar.
 Algunas partes son permanentes, como los hechos establecidos y los datos,
 y otras son temporales del proceso de resolución en curso, actuando como
 una memoria a corto plazo que también almacena todos los cambios en la
 información que se producen en el sistema.
\end_layout

\begin_layout Enumerate
Una 
\series bold
base de conocimiento
\series default
, en la que se almacena la mayoría del conocimiento de resolución de problemas.
 Este suele estar organizado en 
\series bold
reglas
\series default
, con un 
\series bold
antecedente
\series default
 que contiene condiciones de la existencia de elementos en la base de hechos
 que deben cumplirse para ejecutar la regla y un 
\series bold
consecuente
\series default
 que puede modificar la base de hechos o ejecutar acciones.
\end_layout

\begin_deeper
\begin_layout Standard
Las reglas son independientes y no pueden referenciar una a otra, sino que
 la comunicación entre ellas debe hacerse a través de la base de hechos.
 Al estar basadas en la experiencia, no reflejan implicaciones lógicas sino
 convicciones del experto, por lo que muchas veces se usan medidas de certidumbr
e de la regla en sí.
\end_layout

\begin_layout Standard
Existen formalismos para tratar la incertidumbre y especificar conclusiones
 complejas, y en algunos el consecuente de las reglas puede activar o desactivar
 un conjunto de estas.
\end_layout

\end_deeper
\begin_layout Enumerate
Un 
\series bold
motor de inferencia
\series default
 encargado de activar reglas y encadenarlas para resolver problemas.
 Este primero carga los hechos de base en la base de hechos.
 Entonces, en bucle:
\end_layout

\begin_deeper
\begin_layout Enumerate
Si se da la condición de terminación, que normalmente corresponde a que
 se ha verificado un hecho objetivo al que se quería llegar, o si se ejecuta
 una acción de parada, normalmente por ausencia de otras reglas aplicables,
 para.
\end_layout

\begin_layout Enumerate

\series bold
Equipara
\series default
 las bases de conocimiento y de hechos para obtener un conjunto de reglas
 que se pueden aplicar, el 
\series bold
conjunto conflicto
\series default
 (
\series bold
CC
\series default
).
\end_layout

\begin_layout Enumerate

\series bold
Resuelve
\series default
 el conjunto conflicto, es decir, selecciona la regla a aplicar, de manera
 informada o desinformada.
\end_layout

\begin_layout Enumerate
Aplica la regla y actualiza la base de hechos.
\end_layout

\begin_layout Standard
El coste computacional de la iteración es la suma del 
\series bold
coste de control
\series default
, de la equiparación y resolución, y el 
\series bold
coste de aplicación
\series default
, de modo que con una resolución informada predomina el coste de control
 y con una desinformada predomina el de aplicación.
 El motor de inferencia debe ser sistemático y eficiente y no causar bucles
 infinitos, y se puede implementar con dos modos de inferencia:
\end_layout

\begin_layout Enumerate

\series bold
Encadenamiento hacia delante.

\series default
 Se parte de la colección de hechos y se van aplicando reglas para generar
 nuevos hechos hasta que se llegue al objetivo o no se puedan aplicar más
 reglas.
 Aplicar una regla supone actualizar la base de hechos y, en algunos casos,
 realizar otras acciones.
\end_layout

\begin_layout Enumerate

\series bold
Encadenamiento hacia atrás.

\series default
 Se parte de las hipótesis y se aplican reglas hacia atrás para obtener
 qué hechos hacen falta para verificarla.
 Primero se eligen todas las reglas cuyo consecuente sea el objetivo, y
 si en una de ellas se verifican todas las premisas del antecedente, el
 objetivo queda verificado, y de lo contrario las premisas no verificadas
 son nuevos objetivos.
\end_layout

\begin_layout Standard
La elección del mecanismo de inferencia depende del número de estados iniciales
 y de metas, siendo preferible moverse del conjunto más pequeño al más grande;
 del factor de ramificación en cada caso, que se puede medir según el tamaño
 del conjunto conflicto, siendo preferible ir en la dirección con menor
 factor de ramificación, y de si se debe justificar el razonamiento, en
 cuyo caso es importante ir en la dirección que mejor se aproxime a la forma
 de pensar del usuario.
\end_layout

\end_deeper
\begin_layout Enumerate
Un 
\series bold
módulo de explicación
\series default
, para convencer a los usuarios de que el razonamiento es correcto y las
 soluciones son apropiadas y para permitir a los desarrolladores verificar
 que el mecanismo de inferencia se adecúa al problema.
\end_layout

\begin_deeper
\begin_layout Standard
El módulo debe responder de forma comprensible y completa a preguntas sobre
 el conocimiento y el razonamiento como cómo se ha llegado a la conclusión,
 cómo se usa la información, qué decisión se ha tomado para un subproblema,
 por qué no se ha usado o necesitado un tipo de información concreto, por
 qué no se ha podido llegar a una conclusión, cómo se describe la información
 necesaria en el proceso de resolución, o qué está haciendo el sistema.
\end_layout

\begin_layout Standard
Incluye un módulo para analizar el estado del proceso del razonamiento y
 otro para consultar el estado del conocimiento del problema que tiene el
 sistema y el proceso de resolución el curso, y debe ser fácil de usar.
\end_layout

\end_deeper
\begin_layout Enumerate

\series bold
Interfaces de usuario
\series default
, de al menos dos tipos:
\end_layout

\begin_deeper
\begin_layout Enumerate
Una para usuarios no avanzados, que permita introducir la información y
 obtener las respuestas y explicaciones.
 Esta puede ser todo lo compleja que se requiera, incluso con interfaces
 de usuario inteligentes que se adapten a los conocimientos del usuario.
\end_layout

\begin_layout Enumerate
Una para usuarios avanzados que permita la edición de la base de conocimiento
 y la depuración.
 Se divide en:
\end_layout

\begin_deeper
\begin_layout Enumerate
Una interfaz para el experto adaptada a la representación de conocimiento,
 que permita la edición controlada de la base de conocimiento incluyendo
 el vocabulario y la terminología a utilizar y evite la introducción de
 errores.
\end_layout

\begin_layout Enumerate
Una para el ingeniero del conocimiento, que permita edición avanzada de
 la base de conocimiento, acceso al resto de módulos del SBC y depuración
 del sistema en tiempo de ejecución.
\end_layout

\end_deeper
\end_deeper
\begin_layout Standard
Todos los componentes salvo la base de conocimiento existen en una 
\series bold
\emph on
\lang english
shell
\series default
\emph default
\lang spanish
, una herramienta específica para la representación de conocimiento.
\end_layout

\begin_layout Standard
Los SBC son eficientes, potentes y flexibles, pues una regla solo requiere
 la información necesaria para su ejecución.
 Son modulares, separando el conocimiento del proceso de resolución, y naturales
, permitiendo a los expertos expresar su conocimiento de resolución de problemas
 como reglas en la mayoría de situaciones.
 Sin embargo, puede ser difícil establecer reglas, pues un formalismo del
 tipo 
\begin_inset Quotes cld
\end_inset

si-entonces
\begin_inset Quotes crd
\end_inset

 entraña cierta rigidez a la hora de expresar las condiciones en los antecedente
s y premisas en distintas reglas, y también es difícil diseñar reglas concretas,
 requiriendo haber estudiado el dominio de aplicación con suficiente profundidad.
 También es difícil usar las reglas, pues estas solo se pueden comunicar
 a través de la base de hechos y esto es un inconveniente a la hora de ejecutar
 algoritmos.
\end_layout

\begin_layout Standard
Los SBC tienen una serie de diferencias respecto a sistemas convencionales
 como los de resolución de circuitos eléctricos o cálculo de estructuras:
\end_layout

\begin_layout Itemize
Separan el conocimiento de las estructuras de control, incluyen explicaciones
 y suelen usar 
\emph on
\lang english
shells
\emph default
\lang spanish
, mientras que los sistemas convencionales solo separan algoritmos de datos,
 no dan explicaciones y usan gestores de bases de datos convencionales.
\end_layout

\begin_layout Itemize
Interpretan datos con métodos declarativos no deterministas, intentando
 seguir líneas de razonamiento similares a las de los humanos, son muy interacti
vos y contemplan abstracción, incertidumbre, aprendizaje, etc., mientras
 que los sistemas convencionales manipulan datos con algoritmos, centrándose
 en la solución y no en la forma de obtenerla, y usan bases de datos y procesos
 predecibles, fiables y exactos.
\end_layout

\begin_layout Itemize
Destacan en problemas mal definidos,que no se pueden especificar con precisión
 y requieren conocimiento heurístico, normalmente en dominios sin experiencia
 previa computacional, mientras que los sistemas convencionales se usan
 en problemas bien definidos, especificables sin ambigüedad y resueltos
 por algoritmos específicos, normalmente en dominios con experiencia computacion
al.
\end_layout

\begin_layout Itemize
El conocimiento usado es tácito, numérico, simbólico y con incertidumbre,
 procedente de la interacción con expertos, mientras que el de sistemas
 convencionales es algorítmico y los datos son numéricos, sin incertidumbre
 y procedentes de la interacción con usuarios.
\end_layout

\end_body
\end_document