aboutsummaryrefslogtreecommitdiff
path: root/si
diff options
context:
space:
mode:
Diffstat (limited to 'si')
-rw-r--r--si/n.lyx60
-rw-r--r--si/n3.lyx6
-rw-r--r--si/n4.lyx1378
-rw-r--r--si/n5.lyx989
-rw-r--r--si/n6.lyx620
-rw-r--r--si/n7.lyx776
6 files changed, 3827 insertions, 2 deletions
diff --git a/si/n.lyx b/si/n.lyx
index ede1eca..f406569 100644
--- a/si/n.lyx
+++ b/si/n.lyx
@@ -189,6 +189,10 @@ Frame (artificial intelligence)
\emph on
And–or tree
\emph default
+,
+\emph on
+Formal system
+\emph default
.
\end_layout
@@ -287,5 +291,61 @@ filename "n3.lyx"
\end_layout
+\begin_layout Chapter
+Búsqueda no clásica
+\end_layout
+
+\begin_layout Standard
+\begin_inset CommandInset include
+LatexCommand input
+filename "n4.lyx"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Chapter
+Representación del conocimiento
+\end_layout
+
+\begin_layout Standard
+\begin_inset CommandInset include
+LatexCommand input
+filename "n5.lyx"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Chapter
+Planificación
+\end_layout
+
+\begin_layout Standard
+\begin_inset CommandInset include
+LatexCommand input
+filename "n6.lyx"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Chapter
+Aprendizaje computacional
+\end_layout
+
+\begin_layout Standard
+\begin_inset CommandInset include
+LatexCommand input
+filename "n7.lyx"
+
+\end_inset
+
+
+\end_layout
+
\end_body
\end_document
diff --git a/si/n3.lyx b/si/n3.lyx
index 25dfd6e..4198637 100644
--- a/si/n3.lyx
+++ b/si/n3.lyx
@@ -1486,9 +1486,11 @@ gets n$
\backslash
-Repetir{para $(u_i,S)
+Repetir{$
\backslash
-in A$ sea $S
+forall(u_i,S)
+\backslash
+in A,S
\backslash
nsubseteq R$}{
\end_layout
diff --git a/si/n4.lyx b/si/n4.lyx
new file mode 100644
index 0000000..458941f
--- /dev/null
+++ b/si/n4.lyx
@@ -0,0 +1,1378 @@
+#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
+\usepackage{amssymb}
+\end_preamble
+\use_default_options true
+\begin_modules
+algorithm2e
+\end_modules
+\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 Section
+Búsqueda local
+\end_layout
+
+\begin_layout Standard
+En muchos problemas, como en diseño de circuitos u optimización de redes,
+ solo importa el estado objetivo, no cómo se llega a él.
+\end_layout
+
+\begin_layout Standard
+Los métodos que veremos operan con un único estado actual, no suelen recordar
+ los caminos, usan muy poca memoria y pueden encontrar soluciones razonables
+ en espacios de estados grandes o continuos en que los algoritmos clásicos
+ no son adecuados.
+\end_layout
+
+\begin_layout Standard
+Podemos considerar el espacio de estados como un paisaje donde la posición
+ es un estado y la elevación viene dada por una función objetivo a maximizar
+ o minimizar; supondremos que maximizar.
+\end_layout
+
+\begin_layout Standard
+Por ejemplo, en el
+\series bold
+problema de las 8 reinas
+\series default
+, consistente en situar 8 reinas en un tablero de ajedrez de forma que ninguna
+ esté en jaque, como cada reina debe estar en una columna, podemos representar
+ los estados como una tupla con la fila en la que está cada reina; cada
+ estado tendría 56 vecinos correspondientes a cambiar la posición de una
+ reina y la función a minimizar sería el número de jaques, que habría que
+ bajar a 0.
+\end_layout
+
+\begin_layout Subsection
+Búsqueda local avara o ascensión de colinas
+\end_layout
+
+\begin_layout Standard
+Se mueve en cada paso al vecino del estado actual con el valor objetivo
+ más alto.
+ A menudo se atasca en máximos locales;
+\series bold
+crestas
+\series default
+, secuencias de máximos locales que dificultan mucho la navegación, y sobre
+ todo en
+\series bold
+mesetas
+\series default
+ o
+\series bold
+terrazas
+\series default
+, áreas donde la función objetivo es plana.
+\end_layout
+
+\begin_layout Standard
+Para evitar que se atasque en terrazas, se puede permitir un movimiento
+ lateral aleatorio cuando no hay ningún movimiento ascendente.
+ Esto lleva a un bucle infinito si el método alcanza un máximo local plano,
+ por lo que se suele limitar el número de movimientos laterales consecutivos.
+\end_layout
+
+\begin_layout Standard
+La
+\series bold
+ascensión de colinas de reinicio aleatorio
+\series default
+ consiste en ejecutar la ascensión de colinas repetidamente con distintos
+ estados iniciales.
+ Es completa con probabilidad 1, aunque no garantiza terminar, en espacios
+ de estados finitos
+\begin_inset Foot
+status open
+
+\begin_layout Plain Layout
+En general cuando caer en un estado final tiene probabilidad no nula y ascender
+ infinitamente tiene probabilidad nula.
+\end_layout
+
+\end_inset
+
+, y es muy eficaz.
+\end_layout
+
+\begin_layout Subsection
+Temple simulado
+\end_layout
+
+\begin_layout Standard
+Para templar metal, este se calienta mucho para favorecer el movimiento
+ de las partículas y se enfría gradualmente para que estas se estabilicen
+ en estructuras cristalinas de baja energía.
+ Para tratar de colar una bola en el hueco más profundo de una superficie
+ con agujeros, esta se agita mucho para favorecer escapar de depresiones
+ locales y se reduce gradualmente la fuerza para que la bola se estabilice
+ en huecos profundos.
+\end_layout
+
+\begin_layout Standard
+Esta idea la usa el algoritmo
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "alg:sim-annealing"
+plural "false"
+caps "false"
+noprefix "false"
+
+\end_inset
+
+ para resolver problemas.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float algorithm
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\begin_inset ERT
+status open
+
+\begin_layout Plain Layout
+
+
+\backslash
+Entrada{Problema de espacio de estados sin costes $(V,A,s,F)$, función objetivo
+ $f:V
+\backslash
+to
+\backslash
+mathbb R$ y {
+\backslash
+bf esquema} de temperaturas $e:
+\backslash
+mathbb N
+\backslash
+to
+\backslash
+mathbb{R}^{
+\backslash
+geq0}$.}
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+Salida{Solución $s
+\backslash
+in V$.}
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+SetKwFunction{rand}{rand}
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+Para{$t
+\backslash
+gets1$ en adelante}{
+\end_layout
+
+\begin_layout Plain Layout
+
+ $T
+\backslash
+gets e(t)$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+lSSi{$T=0$}{
+\backslash
+Devolver $s$}
+\end_layout
+
+\begin_layout Plain Layout
+
+ $
+\backslash
+{n_0,
+\backslash
+dots,n_{k-1}
+\backslash
+}
+\backslash
+gets
+\backslash
+{v
+\backslash
+in V:(s,v)
+\backslash
+in A
+\backslash
+}$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+Para{$i
+\backslash
+gets0$
+\backslash
+KwA $k-1$}{
+\end_layout
+
+\begin_layout Plain Layout
+
+ $c
+\backslash
+gets n_{
+\backslash
+lfloor k
+\backslash
+rand{}
+\backslash
+rfloor}$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+ $
+\backslash
+Delta E
+\backslash
+gets f(c)-f(e)$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+lSSi{$
+\backslash
+Delta E>0
+\backslash
+lor
+\backslash
+rand{}<e^{
+\backslash
+Delta E/T}$}{$s
+\backslash
+gets c$}
+\end_layout
+
+\begin_layout Plain Layout
+
+ }
+\end_layout
+
+\begin_layout Plain Layout
+
+}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "alg:sim-annealing"
+
+\end_inset
+
+Temple simulado.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Haz local
+\end_layout
+
+\begin_layout Standard
+Se empieza con
+\begin_inset Formula $k$
+\end_inset
+
+ estados elegidos aleatoriamente y, en cada paso, se generan los sucesores
+ de cada estado, se comprueba si alguno es objetivo para terminar y, si
+ ninguno lo es, se toman los
+\begin_inset Formula $k$
+\end_inset
+
+ mejores sucesores de entre todos.
+ Si hay poca diversidad entre los
+\begin_inset Formula $k$
+\end_inset
+
+ estados, esto no es mucho mejor que la ascensión de colinas, por lo que
+ los nuevos estados se suelen elegir de forma estocástica.
+\end_layout
+
+\begin_layout Subsection
+Algoritmos genéticos
+\end_layout
+
+\begin_layout Standard
+Son una variante de la búsqueda de haz local estocástica.
+ Cada estado,
+\series bold
+individuo
+\series default
+ o
+\series bold
+cromosoma
+\series default
+ se codifica como una cadena, normalmente de longitud finita, de un alfabeto
+ finito, en la que cada símbolo es un
+\series bold
+gen
+\series default
+.
+ Las codificaciones más usadas son
+\series bold
+binaria
+\series default
+ mediante cadenas de dígitos binarios,
+\series bold
+entera
+\series default
+ mediante cadenas de enteros de algún conjunto finito, y
+\series bold
+de orden
+\series default
+, en que la cadena es una permutación.
+\end_layout
+
+\begin_layout Standard
+En cada paso hay una
+\series bold
+población
+\series default
+ de
+\begin_inset Formula $k$
+\end_inset
+
+ estados generados aleatoriamente.
+ Mediante un algoritmo de
+\series bold
+selección
+\series default
+, se escogen
+\begin_inset Formula $k$
+\end_inset
+
+ individuos de la población, posiblemente repetidos, que podrán reproducirse.
+ Estos se emparejan y cada pareja, con una probabilidad
+\begin_inset Formula $p_{c}$
+\end_inset
+
+, se sustituye por dos individuos hijos mediante un algoritmo de
+\series bold
+cruce
+\series default
+.
+ Finalmente, se usa un algoritmo de
+\series bold
+mutación
+\series default
+ para mutar cada gen de cada individuo con una probabilidad
+\begin_inset Formula $p_{m}$
+\end_inset
+
+, y el resultado es la nueva población.
+ Esto se repite hasta que haya un individuo en la población suficientemente
+ bueno o pase bastante tiempo.
+\end_layout
+
+\begin_layout Standard
+Los
+\series bold
+operadores genéticos
+\series default
+ son los algoritmos de selección, cruce y mutación.
+ Algunos algoritmos de selección:
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Ruleta
+\series default
+: Para cada uno de los
+\begin_inset Formula $k$
+\end_inset
+
+ puestos, se elige un individuo con probabilidad proporcional a su valor
+ por la función objetivo, su
+\series bold
+idoneidad
+\series default
+ o
+\series bold
+\emph on
+\lang english
+fitness
+\series default
+\emph default
+\lang spanish
+.
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Torneo
+\series default
+: Se eligen
+\begin_inset Formula $2k$
+\end_inset
+
+ parejas por un algoritmo como la ruleta y se toma el de mayor idoneidad
+ en cada una.
+\end_layout
+
+\begin_layout Standard
+Algunos algoritmos de cruce:
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Por un punto
+\series default
+: Se elige una posición al azar de las cadenas de los padres.
+ Un hijo adopta la parte a la izquierda de un padre y la parte a la derecha
+ del otro y el otro hijo al revés.
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Por dos puntos
+\series default
+: Se eligen dos posiciones.
+ Un hijo adopta los extremos de un padre y el centro del otro y el otro
+ hijo al revés.
+\end_layout
+
+\begin_layout Standard
+Algunos de mutación:
+\end_layout
+
+\begin_layout Itemize
+Cambio de un gen aleatorio de un individuo por otro valor.
+\end_layout
+
+\begin_layout Itemize
+Intercambio de dos genes del individuo.
+\end_layout
+
+\begin_layout Section
+Búsqueda entre adversarios
+\end_layout
+
+\begin_layout Standard
+Un
+\series bold
+juego
+\series default
+ o
+\series bold
+problema de búsqueda entre adversarios
+\series default
+ es un entorno competitivo en que los objetivos de distintos agentes están
+ en conflicto.
+ Se deben considerar las decisiones de los otros agentes, pero su imprevisibilid
+ad puede generar muchas contingencias.
+\end_layout
+
+\begin_layout Standard
+Consideramos juegos de suma cero (la suma del valor objetivo de cada agente
+ es 0), de dos jugadores, por turnos, determinista y de información perfecta
+ (entorno totalmente observable).
+ Los jugadores son
+\family typewriter
+max
+\family default
+, que mueve primero e intenta maximizar una cierta función utilidad
+\begin_inset Formula $u$
+\end_inset
+
+ de los estados terminales, y
+\family typewriter
+min
+\family default
+, que intenta minimizar
+\begin_inset Formula $u$
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Podemos representar un juego por una tupla
+\begin_inset Formula $(V,A,M,s,F,u)$
+\end_inset
+
+, donde
+\begin_inset Formula $(V,A)$
+\end_inset
+
+ es un grafo como el de la búsqueda clásica de espacios de estados pero
+ en el que todos los nodos hoja son terminales;
+\begin_inset Formula $M\subseteq V$
+\end_inset
+
+ es un conjunto computable de
+\series bold
+estados
+\family typewriter
+max
+\family default
+\series default
+ (en los que el turno es de
+\family typewriter
+max
+\family default
+), cuyo complementario es el conjunto de
+\series bold
+estados
+\family typewriter
+min
+\family default
+\series default
+ y tal que los sucesores de un estado
+\family typewriter
+max
+\family default
+ son estados
+\family typewriter
+min
+\family default
+ y viceversa;
+\begin_inset Formula $s\in M$
+\end_inset
+
+ es el estado inicial;
+\begin_inset Formula $F\subseteq V$
+\end_inset
+
+ es un conjunto computable de estados finales, y
+\begin_inset Formula $u:F\to\mathbb{R}$
+\end_inset
+
+ es una función de utilidad.
+\end_layout
+
+\begin_layout Subsection
+Minimax
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float algorithm
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\begin_inset ERT
+status open
+
+\begin_layout Plain Layout
+
+
+\backslash
+Entrada{Juego $(V,A,M,s,F,u)$.}
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+Salida{Sucesor $s'$ óptimo.}
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+SetKwProg{Fn}{función}{}{fin}
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+SetKwFunction{minimax}{minimax}
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+Fn{
+\backslash
+minimax{$n$}}{
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+lSSi{$n
+\backslash
+in F$}{
+\backslash
+Devolver $u(n)$}
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+lEnOtroCasoSi{$n
+\backslash
+in M$}{
+\backslash
+Devolver$
+\backslash
+max
+\backslash
+{
+\backslash
+minimax{v}
+\backslash
+}_{(n,v)
+\backslash
+in A}$}
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+lEnOtroCaso{
+\backslash
+Devolver$
+\backslash
+min
+\backslash
+{
+\backslash
+minimax{v}
+\backslash
+}_{(n,v)
+\backslash
+in A}$}
+\end_layout
+
+\begin_layout Plain Layout
+
+}
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+Devolver $s'$ con $(s,s')
+\backslash
+in A$ y $
+\backslash
+minimax{s'}$ máximo
+\backslash
+;
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "alg:minimax"
+
+\end_inset
+
+Algoritmo minimax.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+El
+\series bold
+minimax
+\series default
+ (algoritmo
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "alg:minimax"
+plural "false"
+caps "false"
+noprefix "false"
+
+\end_inset
+
+) intenta maximizar el valor final de
+\begin_inset Formula $u$
+\end_inset
+
+ anticipándose a que el oponente intentará minimizarlo, y es óptimo.
+ Su complejidad en tiempo es
+\begin_inset Formula $O(b^{m})$
+\end_inset
+
+, y su complejidad en espacio es
+\begin_inset Formula $O(bm)$
+\end_inset
+
+ si se generan todos los sucesores de un nodo a la vez u
+\begin_inset Formula $O(m)$
+\end_inset
+
+ si se generan uno a uno, donde
+\begin_inset Formula $b$
+\end_inset
+
+ es el factor de ramificación y
+\begin_inset Formula $m$
+\end_inset
+
+ es la profundidad máxima del árbol de búsqueda.
+\end_layout
+
+\begin_layout Standard
+El algoritmo se puede extender a juegos de más de dos jugadores; en este
+ caso la utilidad sería de la forma
+\begin_inset Formula $V\to\mathbb{R}^{n}$
+\end_inset
+
+, donde
+\begin_inset Formula $n$
+\end_inset
+
+ es el número de jugadores y
+\begin_inset Formula $u(n_{i})$
+\end_inset
+
+ es el valor objetivo del nodo
+\begin_inset Formula $u$
+\end_inset
+
+ para el jugador
+\begin_inset Formula $i$
+\end_inset
+
+, y en vez de
+\begin_inset Formula $M$
+\end_inset
+
+ tendríamos una función computable
+\begin_inset Formula $J:V\to\{1,\dots,n\}$
+\end_inset
+
+ que indica de quién es el turno y tal que para
+\begin_inset Formula $(i,j)\in A$
+\end_inset
+
+,
+\begin_inset Formula $J(j)\equiv J(i)+1\bmod n$
+\end_inset
+
+.
+ Entonces, en cada nodo
+\begin_inset Formula $u$
+\end_inset
+
+ no terminal, nos quedaríamos con el valor minimax de los sucesores con
+ coordenada
+\begin_inset Formula $J(u)$
+\end_inset
+
+-ésima máxima, y el algoritmo seguiría siendo óptimo aun cuando el juego
+ no fuera de suma cero.
+\end_layout
+
+\begin_layout Subsection
+Poda alfa-beta
+\end_layout
+
+\begin_layout Standard
+Es posible acelerar el algoritmo minimax con
+\series bold
+poda alfa-beta
+\series default
+ (algoritmo
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "alg:alpha-beta"
+plural "false"
+caps "false"
+noprefix "false"
+
+\end_inset
+
+).
+ La idea es que
+\begin_inset Formula $\alpha$
+\end_inset
+
+ es el mayor valor encontrado para
+\family typewriter
+max
+\family default
+ y
+\begin_inset Formula $\beta$
+\end_inset
+
+ es el menor valor encontrado para
+\family typewriter
+min
+\family default
+.
+ Entonces, si
+\family typewriter
+MinValor
+\family default
+ encuentra un
+\begin_inset Formula $v\leq\alpha$
+\end_inset
+
+, el valor que devuelva será no mayor a
+\begin_inset Formula $\alpha$
+\end_inset
+
+ porque está minimizando, y no merece la pena seguir porque
+\family typewriter
+MaxValor
+\family default
+, que llamó a
+\family typewriter
+MinValor
+\family default
+, descartaría el valor.
+ Del mismo modo, si
+\family typewriter
+MaxValor
+\family default
+ encuentra un
+\begin_inset Formula $v\geq\beta$
+\end_inset
+
+, termina porque su valor de retorno sería descartado por
+\family typewriter
+MinValor
+\family default
+.
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float algorithm
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\begin_inset ERT
+status open
+
+\begin_layout Plain Layout
+
+
+\backslash
+Entrada{Juego $(V,A,M,s,F,u)$.}
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+Salida{Sucesor $s'$ óptimo.}
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+SetKwProg{Fn}{función}{}{fin}
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+SetKwFunction{MaxValor}{MaxValor}
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+SetKwFunction{MinValor}{MinValor}
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+Fn{
+\backslash
+MaxValor{$n,
+\backslash
+alpha,
+\backslash
+beta$}}{
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+lSSi{$n
+\backslash
+in F$}{
+\backslash
+Devolver $n$}
+\end_layout
+
+\begin_layout Plain Layout
+
+ $v
+\backslash
+gets-
+\backslash
+infty$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+Para{$i:(n,i)
+\backslash
+in A$}{
+\end_layout
+
+\begin_layout Plain Layout
+
+ $v
+\backslash
+gets
+\backslash
+max
+\backslash
+{v,
+\backslash
+MinValor{$i,
+\backslash
+alpha,
+\backslash
+beta$}
+\backslash
+}$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+lSSi{$v
+\backslash
+geq
+\backslash
+beta$}{
+\backslash
+Devolver $i$}
+\end_layout
+
+\begin_layout Plain Layout
+
+ $
+\backslash
+alpha
+\backslash
+gets
+\backslash
+max
+\backslash
+{
+\backslash
+alpha,v
+\backslash
+}$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+ }
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+Devolver $v$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+}
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+Fn{
+\backslash
+MinValor{$n,
+\backslash
+alpha,
+\backslash
+beta$}}{
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+lSSi{$n
+\backslash
+in F$}{
+\backslash
+Devolver $n$}
+\end_layout
+
+\begin_layout Plain Layout
+
+ $v
+\backslash
+gets+
+\backslash
+infty$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+Para{$i:(n,i)
+\backslash
+in A$}{
+\end_layout
+
+\begin_layout Plain Layout
+
+ $i
+\backslash
+gets
+\backslash
+min
+\backslash
+{i,
+\backslash
+MaxValor{$i,
+\backslash
+alpha,
+\backslash
+beta$}
+\backslash
+}$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+lSSi{$v
+\backslash
+leq
+\backslash
+alpha$}{
+\backslash
+Devolver $v$}
+\end_layout
+
+\begin_layout Plain Layout
+
+ $
+\backslash
+beta
+\backslash
+gets
+\backslash
+min
+\backslash
+{
+\backslash
+beta,v
+\backslash
+}$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+ }
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+Devolver $v$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+}
+\end_layout
+
+\begin_layout Plain Layout
+
+Tomar el sucesor $s'$ de $s$ asociado al resultado de
+\backslash
+MaxValor{$n,-
+\backslash
+infty,+
+\backslash
+infty$}
+\backslash
+;
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "alg:alpha-beta"
+
+\end_inset
+
+Minimax con poda alfa-beta.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+La eficiencia de minimax con poda alfa-beta es
+\begin_inset Formula $O(b^{m/2})$
+\end_inset
+
+ en el caso mejor y
+\begin_inset Formula $O(b^{m})$
+\end_inset
+
+ en el caso peor, y la diferencia es muy dependiente del orden en que se
+ examinan los sucesores de cada nodo.
+ En el caso medio tenemos
+\begin_inset Formula $O(b^{3m/4})$
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Subsection
+Heurísticas
+\end_layout
+
+\begin_layout Standard
+Buscar hasta los estados terminales no suele ser práctico porque los movimientos
+ deben hacerse en una cantidad razonable de tiempo, por lo que se usan heurístic
+as
+\begin_inset Formula $h:V\to\mathbb{R}$
+\end_inset
+
+ para sustituir a
+\begin_inset Formula $u$
+\end_inset
+
+ y un test de corte
+\begin_inset Formula $D\subseteq V\times\mathbb{N}$
+\end_inset
+
+ (computable) que decide cuándo parar la búsqueda y aplicar
+\begin_inset Formula $h$
+\end_inset
+
+ según el estado y la profundidad.
+
+\end_layout
+
+\begin_layout Standard
+Una opción es parar a una profundidad fija, elegida para que el tiempo usado
+ no exceda lo permitido por las reglas del juego.
+ Un test más sofisticado solo para cuando encuentra una posición suficientemente
+ estable, en la que sea de esperar que la heurística sea buena.
+\end_layout
+
+\begin_layout Subsection
+Juegos estocásticos
+\end_layout
+
+\begin_layout Standard
+Muchos juegos incluyen un elemento aleatorio.
+ Esto se puede modelar como que entre un nivel de nodos
+\family typewriter
+max
+\family default
+ y uno de nodos
+\family typewriter
+min
+\family default
+, y viceversa, hay un nivel de nodos de posibilidad cuyos sucesores son
+ posibles alternativas, y en minimax, en esos nodos, en vez de tomar el
+ máximo o el mínimo, tomamos la media ponderada a la probabilidad de cada
+ suceso.
+\end_layout
+
+\end_body
+\end_document
diff --git a/si/n5.lyx b/si/n5.lyx
new file mode 100644
index 0000000..fe6616b
--- /dev/null
+++ b/si/n5.lyx
@@ -0,0 +1,989 @@
+#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
+\usepackage{amssymb}
+\end_preamble
+\use_default_options true
+\begin_modules
+algorithm2e
+\end_modules
+\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
+El
+\series bold
+conocimiento
+\series default
+ consiste en descripciones declarativas explícitas formadas por conceptos
+ y relaciones entre los conceptos específicos a un dominio de aplicación,
+ y en métodos genéricos de resolución de problemas, formados por
+\series bold
+técnicas de razonamiento
+\series default
+ que usan las relaciones entre conceptos para inferir conclusiones y una
+ estructura de control para aplicar las técnicas.
+ Por ejemplo, se puede representar el conocimiento por cláusulas de lógica
+ de predicados de primer orden, y entonces una técnica de razonamiento es
+ el principio de resolución.
+\end_layout
+
+\begin_layout Standard
+Algunos tipos de conocimiento:
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+De entidades
+\series default
+: Propiedades y estructura física de entes del mundo real.
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+De conducta
+\series default
+: Comportamiento o forma de proceder de los entes.
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+De eventos
+\series default
+: Secuencias de eventos, distribución temporal y relaciones causales.
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Procedimental
+\series default
+: Cómo realizar determinados procesos.
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Sobre incertidumbre
+\series default
+: Nivel de certeza asociada a hechos.
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Meta-conocimiento
+\series default
+: Conocimiento sobre el propio conocimiento, sus propiedades y cómo usarlo.
+\end_layout
+
+\begin_layout Standard
+Los sistemas inteligentes son
+\series bold
+intensivos en datos
+\series default
+ si minan grandes cantidades de datos para obtener conclusiones e
+\series bold
+intensivos en conocimiento
+\series default
+ (
+\series bold
+sistemas basados en conocimiento
+\series default
+) si aplican gran cantidad de conocimiento a los datos.
+\end_layout
+
+\begin_layout Standard
+
+\series bold
+Diagnosticar
+\series default
+ es encontrar una causa para un comportamiento observado distinto a lo normal,
+ partiendo de hallazgos normales y anormales y dando uno o más diagnósticos,
+ puede que ordenados por grado de certeza, que explican los hallazgos anormales
+ sin contradecir los normales.
+ Con sistemas basados en conocimiento, esto requiere de las siguientes fases:
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Adquisición
+\series default
+ de conocimiento de alguna fuente, sea un experto o un proceso de prueba
+ y error mediante técnicas de aprendizaje.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Conceptualización
+\series default
+ o
+\series bold
+modelado
+\series default
+, fase central en la ingeniería del conocimiento, consistente en definir
+ y organizar los componentes de conocimiento.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Representación
+\series default
+ o
+\series bold
+formalización
+\series default
+ del conocimiento en estructuras como cláusulas lógicas o reglas, normalmente
+ agrupadas en módulos para facilitar su recuperación y poder añadir, modificar
+ y borrar estructuras de forma independiente del resto.
+ Puede ser necesario que las estructuras de datos sean comprensibles por
+ humanos.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Implementación
+\series default
+ del software con el conocimiento y las técnicas de inferencia.
+ Las técnicas se suelen implementar de forma imperativa.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Acceso
+\series default
+ al conocimiento desde la recuperación.
+ La velocidad de acceso es muy importante cuando hay mucho conocimiento,
+ es complejo o se requiere funcionamiento en tiempo real.
+\end_layout
+
+\begin_layout Enumerate
+
+\series bold
+Selección
+\series default
+ o
+\series bold
+recuperación
+\series default
+ de un elemento concreto de conocimiento, adecuado al problema y el estado
+ del proceso de resolución.
+ Muchas veces se selecciona un módulo completo, y se usa meta-conocimiento
+ para elegir el siguiente módulo a cargar.
+ Si hay varios métodos de resolución, se puede usar meta-conocimiento para
+ usar el más apropiado.
+\end_layout
+
+\begin_layout Standard
+El
+\series bold
+ámbito
+\series default
+ de una representación de conocimiento es el dominio en que se va a aplicar.
+ Definir conocimiento genérico es muy costoso, por lo que son más adecuadas
+ representaciones para contextos restringidos.
+\end_layout
+
+\begin_layout Standard
+La
+\series bold
+granularidad
+\series default
+ es el tamaño de la unidad mínima de representación,
+\series bold
+gránulo
+\series default
+ o
+\series bold
+grano
+\series default
+.
+ Con un grano grueso, los contenidos de alto nivel se representan de forma
+ sencilla pero el tratamiento es difícil, mientras que uno fino permite
+ representar procesos de bajo nivel y construir estructuras jerárquicas
+ fácilmente pero da problemas para representar conceptos de alto nivel.
+\end_layout
+
+\begin_layout Standard
+El conocimiento es
+\series bold
+redundante
+\series default
+ si se representa el mismo de varias formas, lo que permite una aplicación
+ más efectiva porque algunas formas de conocimiento son más adecuadas para
+ ciertos casos que otras pero aumenta el volumen de datos.
+\end_layout
+
+\begin_layout Section
+Sistemas basados en reglas
+\end_layout
+
+\begin_layout Standard
+Un
+\series bold
+sistema basado en reglas
+\series default
+ o
+\series bold
+sistema experto
+\series default
+ es un sistema basado en conocimiento que usa reglas de la forma
+\begin_inset Quotes cld
+\end_inset
+
+si
+\emph on
+condición
+\emph default
+ entonces
+\emph on
+acción
+\emph default
+
+\begin_inset Quotes crd
+\end_inset
+
+, dadas por un
+\series bold
+antecedente
+\series default
+ o
+\series bold
+condición
+\series default
+ formado por una lista de cláusulas a verificar y un
+\series bold
+consecuente
+\series default
+ o
+\series bold
+acción
+\series default
+ formado por una lista de acciones a ejecutar cuando se cumplen las condiciones.
+ Consta de:
+\end_layout
+
+\begin_layout Itemize
+Una
+\series bold
+base de hechos
+\series default
+ o
+\series bold
+memoria de trabajo
+\series default
+ con hechos conocidos de una situación particular.
+ Los hechos son:
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+De entrada, introducidos por el usuario u obtenidos de fuentes como sensores
+ o bases de datos, iniciales o introducidos durante el proceso conforme
+ se obtienen.
+\end_layout
+
+\begin_layout Itemize
+Inferidos por el sistema durante el proceso.
+\end_layout
+
+\begin_layout Itemize
+Los objetivos y subobjetivos a alcanzar.
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+Una
+\series bold
+base de conocimiento
+\series default
+ con las reglas del dominio.
+ La ejecución de una acción puede modificar de la base de hechos, normalmente
+ añadiendo hechos inferidos.
+\end_layout
+
+\begin_deeper
+\begin_layout Standard
+Una
+\series bold
+red de inferencia
+\series default
+ es una representación gráfica de una red de conocimiento de forma similar
+ a un grafo.
+ Las reglas se dibujan como puertas lógicas en función de cómo tengan que
+ combinarse los antecedentes para que la regla sea aplicable.
+
+\end_layout
+
+\begin_layout Standard
+Un hecho que sea se representa como una flecha que va hacia la entrada de
+ las reglas que lo tengan como antecedente, posiblemente dividiéndose en
+ el camino.
+ Si el hecho es resultado del consecuente de una única regla, la flecha
+ parte del consecuente; si lo es de varias reglas, parte de un rectángulo
+ y se dibujan flechas de dichas reglas al rectángulo, y si no lo es de ninguna
+ regla, parte de la nada.
+
+\end_layout
+
+\begin_layout Standard
+Generalmente las flechas se dibujan de izquierda a derecha, con los hechos
+ de partida a la izquierda y las metas a la derecha.
+ Los hechos y las reglas pueden etiquetarse.
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+Un
+\series bold
+mecanismo
+\series default
+ o
+\series bold
+motor de inferencias
+\series default
+ que selecciona reglas aplicables para obtener alguna conclusión.
+\end_layout
+
+\begin_layout Standard
+Los sistemas expertos son importantes en escenarios gobernados por reglas
+ deterministas, y sobre todo en los que escasean expertos humanos, porque
+ permiten capturar la experiencia humana de forma natural.
+ Las reglas indican implicación causal, pero se les aplica razonamiento
+ deductivo basado en
+\emph on
+\lang latin
+modus ponens
+\emph default
+\lang spanish
+.
+\end_layout
+
+\begin_layout Standard
+
+\series bold
+Equiparar
+\series default
+ es buscar un conjunto, el
+\series bold
+conjunto conflicto
+\series default
+, de reglas de la base de conocimiento, las reglas
+\series bold
+aplicables
+\series default
+ o
+\series bold
+activadas
+\series default
+, cuyas condiciones o acciones sean compatibles con los datos almacenados.
+
+\series bold
+Resolver
+\series default
+ es seleccionar una regla del conjunto conflicto.
+ Así, mientras la base de hechos no haya alcanzado una condición de finalización
+, normalmente alcanzar un hecho meta, y no se haya ejecutado una acción
+ de parada, el motor de inferencias equipara, resuelve y ejecuta la regla
+ elegida, actualizando la base de hechos con los hechos resultantes de aplicar
+ la regla.
+\end_layout
+
+\begin_layout Standard
+El motor de inferencias usa
+\series bold
+encadenamiento hacia delante
+\series default
+ o
+\series bold
+dirigido por datos
+\series default
+ si parte de los hechos conocidos y busca qué metas se verifican a partir
+ de estos, equiparando hechos con antecedentes de reglas, y usa
+\series bold
+encadenamiento hacia atrás
+\series default
+ o
+\series bold
+dirigido por metas
+\series default
+ si parte de la meta dada y comprueba si se deduce de los hechos creando
+ subobjetivos, equiparando metas con consecuentes de reglas.
+
+\end_layout
+
+\begin_layout Standard
+Equiparar no siempre es trivial, pues las reglas pueden ser generales y
+ por ejemplo contener variables.
+ Además, examinar todas las reglas en cada ciclo es costoso si la base de
+ conocimiento es grande, por lo que se indizan las reglas y se usan técnicas
+ que evitan examinar todo el conocimiento.
+ El
+\series bold
+algoritmo RETE
+\series default
+, usado en las herramientas Jess y DROOLS, busca patrones en reglas y construye
+ un grafo para acelerar la equiparación de reglas al usar encadenamiento
+ hacia delante.
+\end_layout
+
+\begin_layout Standard
+Un
+\series bold
+método de resolución de conflictos
+\series default
+ elige qué regla aplicar del conjunto conflicto, y de este depende el tiempo
+ de respuesta del sistema ante cambios del entorno y la posibilidad de ejecutar
+ secuencias de acciones relativamente largas.
+ Estos métodos pueden ser:
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Estáticos
+\series default
+, basados solo en la base de conocimiento, como seleccionar las reglas ordenadas
+ por un criterio como su número de antecedentes.
+\end_layout
+
+\begin_layout Itemize
+
+\series bold
+Dinámicos
+\series default
+, como elegir las reglas que usan elementos más recientes de la base de
+ hechos o reglas no usadas previamente.
+\end_layout
+
+\begin_layout Standard
+Los sistemas expertos son de grano fino, modulares, uniformes, simples y
+ aplicables a muchos ámbitos.
+ Separan estrictamente la representación del conocimiento, declarativa,
+ de la técnica de razonamiento, y los razonamientos son relativamente comprensib
+les por humanos, aunque su baja granularidad dificulta entender posibles
+ superestructuras cuando hay muchas reglas.
+ Es fácil extenderlos para que incluyan meta-conocimiento mediante meta-reglas,
+ y conocimiento sobre incertidumbre.
+\end_layout
+
+\begin_layout Section
+Lógicas no clásicas
+\end_layout
+
+\begin_layout Standard
+Una
+\series bold
+lógica
+\series default
+ es un lenguaje de
+\series bold
+proposiciones
+\series default
+ junto con un conjunto de
+\series bold
+reglas de inferencia
+\series default
+ que transforman unas proposiciones en otras.
+ Una
+\series bold
+teoría
+\series default
+ es un conjunto de proposiciones o
+\series bold
+axiomas
+\series default
+ en el contexto de una lógica, y todas las proposiciones que se puedan obtener
+ de esta por aplicación de reglas de inferencia de la lógica, incluyendo
+ los propios axiomas, son sus
+\series bold
+teoremas
+\series default
+.
+ Escribimos
+\begin_inset Formula ${\cal T}\vdash P$
+\end_inset
+
+ si
+\begin_inset Formula $P$
+\end_inset
+
+ es un teorema de la teoría
+\begin_inset Formula ${\cal T}$
+\end_inset
+
+.
+ Las lógicas suelen incluir una semántica
+\begin_inset Quotes cld
+\end_inset
+
+genérica
+\begin_inset Quotes crd
+\end_inset
+
+ para las proposiciones que las teorías completan.
+\end_layout
+
+\begin_layout Standard
+Una lógica es
+\series bold
+monótona
+\series default
+ si siempre que
+\begin_inset Formula ${\cal T}\vdash P$
+\end_inset
+
+ y
+\begin_inset Formula ${\cal T}'$
+\end_inset
+
+ sea una teoría cuyos axiomas incluyan los de
+\begin_inset Formula ${\cal T}$
+\end_inset
+
+, se tiene
+\begin_inset Formula ${\cal T}'\vdash P$
+\end_inset
+
+.
+ Las lógicas clásicas son monótonas, pero la monotonía no es apropiada cuando
+ el conocimiento es incompleto, pues puede que haya que hacer suposiciones
+ por defecto que puedan invalidarse cuando se tenga más conocimiento, ni
+ cuando el mundo es cambiante.
+\end_layout
+
+\begin_layout Standard
+Las lógicas clásicas no son apropiadas para tratar conocimiento incompleto,
+ incierto, impreciso o inconsistente, y los algoritmos para manipular conocimien
+to lógico son ineficientes, por lo que se crean otras lógicas más apropiadas.
+\end_layout
+
+\begin_layout Subsection
+Lógica de situaciones
+\end_layout
+
+\begin_layout Standard
+Introducida por McCarthy en 1969.
+ Como la lógica de predicados de primer orden pero todos los predicados
+ tienen un argumento extra que indica en qué situación la fórmula es cierta,
+ pues una fórmula puede pasar a ser falsa tras un cambio.
+ Existe una función
+\begin_inset Formula $R/2$
+\end_inset
+
+ de modo que
+\begin_inset Formula $R(e,s)$
+\end_inset
+
+ es la situación resultante de que ocurra el evento
+\begin_inset Formula $e$
+\end_inset
+
+ en la situación
+\begin_inset Formula $s$
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+Al crear el modelo, hay que indicar qué proposiciones simples se siguen
+ cumpliendo al aplicar un cambio a la situación.
+\end_layout
+
+\begin_layout Subsection
+Lógica difusa
+\end_layout
+
+\begin_layout Standard
+En lógica de predicados, a todo predicado
+\begin_inset Formula $P$
+\end_inset
+
+ sobre un dominio
+\begin_inset Formula $U$
+\end_inset
+
+ le corresponde un conjunto
+\begin_inset Formula $\{x\in U:P(x)\}$
+\end_inset
+
+ y una
+\series bold
+función de pertenencia
+\series default
+
+\begin_inset Formula $f:U\to\{0,1\}$
+\end_inset
+
+ dada por
+\begin_inset Formula
+\[
+f(x):=\begin{cases}
+1, & P(x);\\
+0, & \neg P(x);
+\end{cases}
+\]
+
+\end_inset
+
+distinguiendo entre predicados ciertos y falsos.
+ En lógica difusa usamos
+\series bold
+predicados vagos
+\series default
+, de modo que a un predicado
+\begin_inset Formula $P$
+\end_inset
+
+ sobre un dominio
+\begin_inset Formula $U$
+\end_inset
+
+ le corresponde un
+\series bold
+conjunto difuso
+\series default
+ y una función de pertenencia
+\begin_inset Formula $f:U\to[0,1]$
+\end_inset
+
+.
+ La lógica clásica y la teoría de conjuntos difusos nos permiten razonar
+ con afirmaciones vagas con palabras como
+\begin_inset Quotes cld
+\end_inset
+
+joven
+\begin_inset Quotes crd
+\end_inset
+
+,
+\begin_inset Quotes cld
+\end_inset
+
+alto
+\begin_inset Quotes crd
+\end_inset
+
+,
+\begin_inset Quotes cld
+\end_inset
+
+muy
+\begin_inset Quotes crd
+\end_inset
+
+,
+\begin_inset Quotes cld
+\end_inset
+
+muchos
+\begin_inset Quotes crd
+\end_inset
+
+,
+\begin_inset Quotes cld
+\end_inset
+
+bastantes
+\begin_inset Quotes crd
+\end_inset
+
+,
+\begin_inset Quotes cld
+\end_inset
+
+pocos
+\begin_inset Quotes crd
+\end_inset
+
+, etc., pues de otra forma tendríamos inconsistencias.
+\end_layout
+
+\begin_layout Subsection
+Factores de certeza
+\end_layout
+
+\begin_layout Standard
+Para razonar con hechos con fiabilidad o precisión limitada o sobre los
+ que no estamos seguros, se suele incorporar la incertidumbre a una lógica
+ que no la incluye.
+ Esto se suele hacer con probabilidades y redes bayesianas, basadas probabilidad
+ condicionada e independencia de sucesos.
+\end_layout
+
+\begin_layout Standard
+A finales de los 70 se crea Mycin, un sistema basado en reglas usado para
+ identificar la bacteria causante de una infección y seleccionar un tratamiento
+ basándose en datos clínicos y encadenamiento hacia atrás.
+ Por entonces no se habían inventado las redes bayesianas y era difícil
+ obtener valores objetivos para las probabilidades, por lo que se usaron
+ factores de certeza obtenidos de estimaciones subjetivas.
+\end_layout
+
+\begin_layout Standard
+El
+\series bold
+factor de certeza
+\series default
+ de una
+\series bold
+hipótesis
+\series default
+
+\begin_inset Formula $h$
+\end_inset
+
+ según una
+\series bold
+evidencia
+\series default
+
+\begin_inset Formula $e$
+\end_inset
+
+,
+\begin_inset Formula $\text{FC}(h,e)$
+\end_inset
+
+ es la diferencia de una
+\series bold
+medida de creencia
+\series default
+, un número en
+\begin_inset Formula $[0,1]$
+\end_inset
+
+ que indica en qué grado
+\begin_inset Formula $e$
+\end_inset
+
+ apoya
+\begin_inset Formula $h$
+\end_inset
+
+, y una
+\series bold
+medida de incredulidad
+\series default
+, un número en
+\begin_inset Formula $[0,1]$
+\end_inset
+
+ que indica en qué grado
+\begin_inset Formula $e$
+\end_inset
+
+ apoya
+\begin_inset Formula $\neg h$
+\end_inset
+
+.
+ Las medidas de creencia e incredulidad no pueden ser positivas a la vez,
+ por lo que
+\begin_inset Formula $\text{FC}(h,e)\in[-1,1]$
+\end_inset
+
+ es suficiente para despejar ambas.
+\end_layout
+
+\begin_layout Standard
+El antecedente de una regla es una conjunción o disyunción de proposiciones
+ atómicas en lógica preposicional y el consecuente es una proposición atómica.
+ Las funciones de combinación deben ser conmutativas y asociativas, pues
+ el orden en que se obtienen las evidencias es arbitrario; el resultado
+ de encadenar inferencias debe tener menor certeza que cada inferencia individua
+l, y si una evidencia adicional confirma una hipótesis, su factor de creencia
+ debe aumentar.
+
+\end_layout
+
+\begin_layout Standard
+Con esto, cada regla
+\begin_inset Formula $h\to e$
+\end_inset
+
+ lleva un factor de certeza asociado
+\begin_inset Formula $\text{FC}(h,e)$
+\end_inset
+
+, cada hipótesis
+\begin_inset Formula $h$
+\end_inset
+
+ en la base de hechos lleva un factor de certeza
+\begin_inset Formula $\text{FC}(h,\bot)$
+\end_inset
+
+, donde
+\begin_inset Formula $\bot$
+\end_inset
+
+ es la situación particular, y las reglas son:
+\begin_inset Foot
+status open
+
+\begin_layout Plain Layout
+En las diapositivas, las dos primeras reglas aparecen como
+\begin_inset Formula $\text{FC}(h,e_{1}\land e_{2})=\min\{\text{FC}(h,e_{1}),\text{FC}(h,e_{2})\}$
+\end_inset
+
+ y
+\begin_inset Formula $\text{FC}(h,e_{1}\lor e_{2})=\max\{\text{FC}(h,e_{1}),\text{FC}(h,e_{2})\}$
+\end_inset
+
+, pero esto tendría menos sentido aún que las reglas que realmente usamos,
+ que son las que se muestran.
+\end_layout
+
+\end_inset
+
+
+\begin_inset Formula
+\begin{align*}
+\text{FC}(h_{1}\land h_{2},e) & =\min\{\text{FC}(h_{1},e),\text{FC}(h_{2},e)\},\\
+\text{FC}(h_{1}\lor h_{2},e) & =\max\{\text{FC}(h_{1},e),\text{FC}(h_{2},e)\},\\
+\text{FC}(h,e) & =\text{FC}(h,s)\max\{0,\text{FC}(s,e)\},\\
+\text{FC}(h,e_{1}\land e_{2}) & =\begin{cases}
+\text{FC}(h,e_{1})+\text{FC}(h,e_{2})-\text{FC}(h,e_{1})\text{FC}(h,e_{2}), & \text{FC}(h,e_{1}),\text{FC}(h,e_{2})\geq0;\\
+\text{FC}(h,e_{1})+\text{FC}(h,e_{2})+\text{FC}(h,e_{1})\text{FC}(h,e_{2}), & \text{FC}(h,e_{1}),\text{FC}(h,e_{2})\leq0;\\
+\frac{\text{FC}(h,e_{1})+\text{FC}(h,e_{2})}{1-\min\{|\text{FC}(h,e_{1})|,|\text{FC}(h,e_{2})|\}}, & \text{FC}(h,e_{1})\text{FC}(h,e_{2})\leq0.
+\end{cases}
+\end{align*}
+
+\end_inset
+
+Las dos primeras se usan para evaluar el factor de certeza de antecedentes
+ de reglas; la tercera para obtener el factor de certeza del consecuente
+ de una regla sabiendo el de su antecedente y la cuarta para combinar factores
+ de certeza obtenidos por distintas reglas.
+\end_layout
+
+\begin_layout Section
+Representaciones estructuradas del conocimiento
+\end_layout
+
+\begin_layout Standard
+Las
+\series bold
+redes semánticas
+\series default
+, inventadas por Quillian en 1961, se basan en grafos para modelar la capacidad
+ de la memoria humana de recuperar conceptos a través de las relaciones
+ que los enlazan.
+ Los
+\series bold
+marcos
+\series default
+ o
+\series bold
+\emph on
+\lang english
+frames
+\series default
+\emph default
+\lang spanish
+, inventados por Minsky en 1975, se basan en estructuras parecidas a formularios
+ y permiten hacer inferencias basadas en herencia.
+\end_layout
+
+\begin_layout Standard
+En los años 90, en ingeniería del conocimiento se adoptan las
+\series bold
+ontologías
+\series default
+, especificaciones formales explícitas de conceptos organizados en forma
+ jerárquica para servir de soporte a aplicaciones que requieren conocimiento
+ específico sobre una materia concreta.
+ En la segunda mitad de los 90, estas se aplican a la web para añadir descripcio
+nes semánticas a los contenidos, creándose la
+\series bold
+web semántica
+\series default
+.
+\end_layout
+
+\end_body
+\end_document
diff --git a/si/n6.lyx b/si/n6.lyx
new file mode 100644
index 0000000..b4b3e21
--- /dev/null
+++ b/si/n6.lyx
@@ -0,0 +1,620 @@
+#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
+\usepackage{amssymb}
+\end_preamble
+\use_default_options true
+\begin_modules
+algorithm2e
+\end_modules
+\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
+
+\series bold
+Planificar
+\series default
+ es obtener una secuencia de acciones para llegar a un estado objetivo.
+ Esto se puede hacer con técnicas de búsqueda, pero el espacio de búsqueda
+ suele ser muy complejo, los problemas no suelen ser descomponibles y los
+ estados de búsqueda suelen ser complejos porque requieren buena parte del
+ entorno, por lo que se suelen usar algoritmos específicos.
+
+\end_layout
+
+\begin_layout Standard
+El
+\series bold
+problema del marco
+\series default
+ o
+\series bold
+de la estructura
+\series default
+ (
+\emph on
+\lang english
+frame problem
+\emph default
+\lang spanish
+) es el de qué permanece sin cambios al aplicar una regla; el de la
+\series bold
+cualificación
+\series default
+ es qué necesita la regla que se cumpla para poder ejecutable, y el de la
+
+\series bold
+ramificación
+\series default
+ es qué elementos cambian.
+\end_layout
+
+\begin_layout Standard
+Un
+\series bold
+plan lineal
+\series default
+ es una secuencia de acciones para ir de un estado inicial a un estado objetivo,
+ y un
+\series bold
+plan no lineal
+\series default
+ es una familia de acciones con un orden parcial de forma que cada secuenciación
+ de esas acciones que respete el orden parcial es un plan lineal.
+\end_layout
+
+\begin_layout Section
+STRIPS
+\end_layout
+
+\begin_layout Standard
+
+\series bold
+STRIPS
+\series default
+ (
+\emph on
+\lang english
+Stanford Research Institute Problem Solver
+\emph default
+\lang spanish
+) es un planificador lineal o
+\series bold
+de orden total
+\series default
+ que usa una forma restringida de lógica de situaciones.
+ Los problemas están formados por un estado inicial, un estado objetivo
+ y un conjunto de acciones, y los literales o proposiciones atómicas que
+ aparecen no tienen variables resultado de funciones.
+\end_layout
+
+\begin_layout Standard
+Los estados inicial e intermedios son conjunciones de literales sin variables,
+ y los estados objetivo y subobjetivos son conjunciones de literales en
+ las que todas las variables se cuantifican existencialmente con ámbito
+ global en la proposición.
+\end_layout
+
+\begin_layout Standard
+Un
+\series bold
+unificador
+\series default
+ entre dos fórmulas lógicas que no comparten variables libres es una asociación
+ de variables a valores tal que, al aplicarla por sustitución a las variables
+ libres de las dos fórmulas, queda la misma fórmula.
+ Si existe, las dos fórmulas
+\series bold
+unifican
+\series default
+.
+\end_layout
+
+\begin_layout Standard
+Las acciones están formadas por:
+\end_layout
+
+\begin_layout Itemize
+Un
+\series bold
+antecedente
+\series default
+ o
+\series bold
+fórmula de precondición
+\series default
+, una conjunción de proposiciones atómicas en que las variables (libres)
+ se entienden cuantificadas existencialmente, y que indica cuándo se puede
+ aplicar la regla.
+ Para que la regla sea aplicable a un estado, debe existir un
+\series bold
+unificador más general
+\series default
+ de la fórmula a la conjunción de un subconjunto de los literales en el
+ estado, que se puede obtener creando unificadores de literales y viendo
+ que sean consistentes.
+\end_layout
+
+\begin_layout Itemize
+Una
+\series bold
+lista de supresión
+\series default
+, una lista de literales cuyas variables deben aparecer en el antecedente
+ y que, al aplicar la regla, dejan de ser ciertos.
+\end_layout
+
+\begin_layout Itemize
+Una
+\series bold
+fórmula de adición
+\series default
+, una lista de literales cuyas variables deben aparecer en el antecedente
+ y que, al aplicar la regla, se hacen ciertos.
+\end_layout
+
+\begin_layout Section
+Búsqueda
+\end_layout
+
+\begin_layout Standard
+Lo más sencillo es obtener un plan lineal con técnicas de búsqueda ya conocidas,
+ pero como las descripciones de acciones indican tanto precondiciones como
+ efectos, la búsqueda se puede hacer hacia delante, del estado inicial hasta
+ un objetivo, o hacia atrás, del objetivo al estado inicial.
+\end_layout
+
+\begin_layout Standard
+En el caso de reglas tipo STRIPS, aplicar una regla hacia atrás genera un
+ subobjetivo.
+ Para obtenerlo, unificamos un subconjunto de los literales del objetivo
+ con la fórmula de adición, aplicamos el unificador a todo el objetivo y
+ la regla y tomamos la conjunción de la fórmula de precondición de la regla
+ con la regresión de los literales del objetivo que no aparecen en el subconjunt
+o unificado.
+ La
+\series bold
+regresión
+\series default
+ de un literal es Falso si el literal aparece en la lista de supresión,
+ Cierto si aparece en la de adición y el propio literal en otro caso.
+\end_layout
+
+\begin_layout Standard
+El espacio de subobjetivos es más amplio que el espacio de estados obtenido
+ de aplicar las reglas hacia delante, pero el literal Cierto se puede obviar
+ y se pueden podar los subobjetivos que contienen Falso o que es fácil ver
+ en el contexto que son imposibles.
+\end_layout
+
+\begin_layout Standard
+La búsqueda exhaustiva no es práctica, por lo que se deben usar heurísticas.
+\end_layout
+
+\begin_layout Section
+Pila de objetivos
+\end_layout
+
+\begin_layout Standard
+STRIPS usa una planificación lineal mediante una pila de subobjetivos con
+ el algoritmo
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "alg:strips"
+plural "false"
+caps "false"
+noprefix "false"
+
+\end_inset
+
+, que puede usar heurísticas para ordenar los literales de un objetivo compuesto
+ al apilarlos y para elegir qué unificador usar y qué regla elegir para
+ un objetivo simple.
+ Se pueden obtener planes subóptimos por una mala ordenación de los objetivos.
+\begin_inset Foot
+status open
+
+\begin_layout Plain Layout
+De hecho, en algunos problemas una mala ordenación puede evitar encontrar
+ una solución.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float algorithm
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\begin_inset ERT
+status open
+
+\begin_layout Plain Layout
+
+
+\backslash
+Entrada{Estado inicial $s$, estado objetivo $o$ y conjunto de reglas $R$.}
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+Salida{Camino $P$ de $s$ a $f$.}
+\end_layout
+
+\begin_layout Plain Layout
+
+$P
+\backslash
+gets(s)$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+$S
+\backslash
+gets(o)$%
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+tcp*{{
+\backslash
+rm $S$ es la pila de objetivos, que también contiene reglas.}}
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+Mientras{$S
+\backslash
+neq
+\backslash
+emptyset$}{
+\end_layout
+
+\begin_layout Plain Layout
+
+ Extraer el último $p$ de $S$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+uSSi{$p$ es una regla aplicable a $s$}{
+\end_layout
+
+\begin_layout Plain Layout
+
+ Aplicar $p$ a $s$ obteniendo un nuevo $s$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+ $P
+\backslash
+gets Pps$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+ }
+\backslash
+uEnOtroCasoSi{$p$ unifica con $s$ por algún $U$}{
+\end_layout
+
+\begin_layout Plain Layout
+
+ Aplicar $U$ a todos los elementos de $S$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+ }
+\backslash
+uEnOtroCasoSi{$p=:l_1
+\backslash
+land
+\backslash
+dots
+\backslash
+land l_n$ con $n
+\backslash
+geq2$}{
+\end_layout
+
+\begin_layout Plain Layout
+
+ $S
+\backslash
+gets Spl_1
+\backslash
+cdots l_n$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+ }
+\backslash
+uEnOtroCaso{
+\end_layout
+
+\begin_layout Plain Layout
+
+ Elegir $r
+\backslash
+in R$ cuya fórmula de adición unifique con $p$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+ Sea $l_1
+\backslash
+land
+\backslash
+dots
+\backslash
+land l_n$ la precondición de $r$ unificada,
+\end_layout
+
+\begin_layout Plain Layout
+
+ $S
+\backslash
+gets Srl_1
+\backslash
+cdots l_n$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+ }
+\end_layout
+
+\begin_layout Plain Layout
+
+}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "alg:strips"
+
+\end_inset
+
+Método de planificación de STRIPS.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+Planificación de orden parcial
+\end_layout
+
+\begin_layout Standard
+La planificación no lineal o
+\series bold
+de orden parcial
+\series default
+ se basa en descomponer el problema y trabajar en varios subobjetivos independie
+ntemente y creando un plan a partir de ellos.
+ Suele haber acciones ficticias inicio y final.
+ La
+\series bold
+planificación de compromiso mínimo
+\series default
+ es la idea de tomar solo las acciones y unificaciones estrictamente necesarias.
+\end_layout
+
+\begin_layout Standard
+Aunque podemos representar un plan con un diagrama de grafo de orden parcial,
+ también podemos hacerlo como sigue: dibujamos todas las acciones a realizar
+ con un círculo, conectado por debajo a los literales de la precondición
+ y por encima a los de la lista de adición, representados por un cuadrado,
+ y en particular inicio tiene como lista de adición las condiciones iniciales
+ y fin tiene como precondiciones los literales del objetivo unificados.
+
+\end_layout
+
+\begin_layout Standard
+Cuando una acción
+\begin_inset Formula $A$
+\end_inset
+
+ va antes que otra
+\begin_inset Formula $B$
+\end_inset
+
+, en general conectamos cada precondición de
+\begin_inset Formula $B$
+\end_inset
+
+ con una adición igual de
+\begin_inset Formula $A$
+\end_inset
+
+ o de otro ancestro que no aparezca en la lista de supresión de otra acción
+ posterior en el camino, pero si el motivo que vaya antes es que
+\begin_inset Formula $B$
+\end_inset
+
+ suprime una precondición de
+\begin_inset Formula $A$
+\end_inset
+
+, se dibuja una flecha de
+\begin_inset Formula $A$
+\end_inset
+
+ a la precondición de
+\begin_inset Formula $B$
+\end_inset
+
+ que suprime, llamada
+\series bold
+arco amenaza
+\series default
+.
+\end_layout
+
+\begin_layout Standard
+Son planificadores no lineales NOAH, MOLGEN y SIPE.
+\end_layout
+
+\begin_layout Section
+Planificación jerárquica
+\end_layout
+
+\begin_layout Standard
+Consiste en dividir el problema en niveles de complejidad, de forma que
+ se crea un plan de alto nivel y cada acción del plan se ejecuta con las
+ acciones de un plan del nivel inferior, hasta llegar a un nivel suficiente
+ de detalle.
+ Esto permite resolver problemas complejos en los que no es posible hacer
+ una búsqueda completa.
+
+\series bold
+ABSTRIPS
+\series default
+ (
+\emph on
+\lang english
+Abstraction-Based STRIPS
+\emph default
+\lang spanish
+) es un planificador jerárquico creado por Earl D.
+ Sacerdoti en 1973.
+\end_layout
+
+\begin_layout Standard
+El
+\series bold
+valor crítico
+\series default
+ de una precondición es una medida de la dificultad de satisfacerla, como
+ por ejemplo el número de acciones que satisfacen la precondición.
+ En cada nivel de la jerarquía se tratan precondiciones con igual valor
+ crítico, empezando con un plan que considera las precondiciones de mayor
+ valor crítico dando por satisfechas las demás.
+ Si hay problemas, volvemos al nivel anterior para buscar otro plan.
+\end_layout
+
+\end_body
+\end_document
diff --git a/si/n7.lyx b/si/n7.lyx
new file mode 100644
index 0000000..90829cc
--- /dev/null
+++ b/si/n7.lyx
@@ -0,0 +1,776 @@
+#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
+\usepackage{amssymb}
+\end_preamble
+\use_default_options true
+\begin_modules
+algorithm2e
+\end_modules
+\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
+El
+\series bold
+aprendizaje
+\series default
+ es el cambio adaptativo del comportamiento de un organismo resultante de
+ su interacción con el medio, y es un aspecto esencial de la inteligencia.
+ Permite implementar tareas que solo podemos describir bien mediante ejemplos,
+ hallar correlaciones entre grandes cantidades de datos, mejorar automáticamente
+ el diseño de un sistema con el tiempo, usar grandes cantidades de conocimiento
+ que sobrepasan la capacidad de codificación por un humano, adaptar el programa
+ a cambios en el entorno y actualizar automáticamente el conocimiento del
+ programa.
+\end_layout
+
+\begin_layout Standard
+El aprendizaje ocurre con una fase de entrenamiento, en la que el programa
+ adquiere experiencia con ejemplos etiquetados si el aprendizaje es
+\series bold
+supervisado
+\series default
+ o con observaciones del entorno si no lo es, y una fase de prueba, en la
+ que se comprueba que el programa
+\series bold
+clasifica
+\series default
+ los nuevos ejemplos o
+\series bold
+predice
+\series default
+ su solución correctamente (da un resultado correcto).
+\end_layout
+
+\begin_layout Standard
+La
+\series bold
+precisión
+\series default
+ es la fiabilidad del modelo aprendido, medida normalmente por la proporción
+ de ejemplos clasificados correctamente, aunque a veces es preferible sacrificar
+ precisión por velocidad de predicción, por ejemplo en detección de errores
+ en cadenas de producción.
+\end_layout
+
+\begin_layout Standard
+Si el modelo lo usa un humano, el razonamiento debe ser fácil de entender
+ para evitar errores.
+ También es importante reducir el tiempo de aprendizaje y el número de observaci
+ones necesarias.
+\end_layout
+
+\begin_layout Section
+Estimación del error
+\end_layout
+
+\begin_layout Standard
+El
+\series bold
+estimador del error en los ejemplos
+\series default
+ es la proporción de ejemplos de la prueba clasificados incorrectamente,
+ y es un buen estimador si los ejemplos de prueba no se usaron en el entrenamien
+to.
+ El
+\series bold
+error de resustitución
+\series default
+ es el estimador del error poniendo como ejemplos los mismos datos que en
+ el entrenamiento, y es una aproximación optimista al error real.
+\end_layout
+
+\begin_layout Standard
+La estimación del error por
+\series bold
+validación cruzada
+\series default
+ mide el error de un método, no de un modelo concreto, y se aplica cuando
+ los datos son escasos.
+ El conjunto de ejemplos
+\begin_inset Formula $S$
+\end_inset
+
+ se particiona en trozos
+\begin_inset Formula $S_{1},\dots,S_{v}$
+\end_inset
+
+ de tamaño semejante, y para cada
+\begin_inset Formula $i\in\{1,\dots,v\}$
+\end_inset
+
+, se construye un modelo sobre
+\begin_inset Formula $S\setminus S_{i}$
+\end_inset
+
+ y se calcula su error estimador de los ejemplos
+\begin_inset Formula $R_{i}$
+\end_inset
+
+ usando el conjunto de prueba
+\begin_inset Formula $S_{i}$
+\end_inset
+
+.
+ El error de validación cruzada es
+\begin_inset Formula $\sum_{i=1}^{v}\frac{|S_{i}|}{|S|}R_{i}$
+\end_inset
+
+.
+ Un buen valor de
+\begin_inset Formula $v$
+\end_inset
+
+ es 10, y entonces el método se llama
+\series bold
+\emph on
+\lang english
+10-fold cross-validation
+\series default
+\emph default
+\lang spanish
+.
+ Otro caso es el
+\series bold
+\emph on
+\lang english
+leave-one-out
+\series default
+\emph default
+\lang spanish
+, en el que
+\begin_inset Formula $S$
+\end_inset
+
+ se particiona en
+\begin_inset Formula $|S|$
+\end_inset
+
+ trozos de un elemento.
+ Solo se usa cuando
+\begin_inset Formula $S$
+\end_inset
+
+ es pequeño, pues es computacionalmente costoso.
+\end_layout
+
+\begin_layout Standard
+A veces algunos errores son más costosos que otros; por ejemplo es más costoso
+ un falso negativo de una enfermedad que un falso positivo.
+ Si el problema es clasificar ejemplos en
+\begin_inset Formula $n$
+\end_inset
+
+ categorías, una
+\series bold
+matriz de confusión
+\series default
+ es una matriz
+\begin_inset Formula $A\in{\cal M}_{n}(\mathbb{N})$
+\end_inset
+
+ en la que
+\begin_inset Formula $a_{ij}$
+\end_inset
+
+ es el número de ejemplos de clase
+\begin_inset Formula $i$
+\end_inset
+
+ que fueron clasificados como de clase
+\begin_inset Formula $j$
+\end_inset
+
+, y una
+\series bold
+matriz de costos
+\series default
+ es una matriz
+\begin_inset Formula $C\in{\cal M}_{n}(\mathbb{R})$
+\end_inset
+
+ en la que
+\begin_inset Formula $c_{ij}$
+\end_inset
+
+ es el coste de clasificar un ejemplo de clase
+\begin_inset Formula $i$
+\end_inset
+
+ como de clase
+\begin_inset Formula $j$
+\end_inset
+
+, y que por tanto tiene diagonal nula.
+ Entonces el estimador de coste de una mala clasificación es
+\begin_inset Formula
+\[
+\sum_{i=1}^{n}\sum_{\begin{subarray}{c}
+j=1\\
+j\neq i
+\end{subarray}}^{n}a_{ij}c_{ij}.
+\]
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Cuando el rango de soluciones es numérico y continuo, un buen estimador
+ es el
+\series bold
+error cuadrático medio
+\series default
+ (
+\series bold
+MSE
+\series default
+,
+\emph on
+\lang english
+Mean Squared Error
+\emph default
+\lang spanish
+), que con
+\begin_inset Formula $n$
+\end_inset
+
+ ejemplos con soluciones
+\begin_inset Formula $x_{1},\dots,x_{n}$
+\end_inset
+
+ para los que el programa da soluciones respectivas
+\begin_inset Formula $y_{1},\dots,y_{n}$
+\end_inset
+
+ es
+\begin_inset Formula
+\[
+\frac{1}{n}\sum_{i=1}^{n}(x_{i}-y_{i})^{2}.
+\]
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+Aprendizaje memorístico
+\end_layout
+
+\begin_layout Standard
+Es una técnica consistente en almacenar todo es conocimiento nuevo para
+ usarlo cuando se encuentre un caso similar, y puede estar integrada en
+ un sistema de aprendizaje más complejo.
+\end_layout
+
+\begin_layout Standard
+Es adecuada cuando es más conveniente almacenar los datos que re-calcular.
+ En particular el acceso debe ser rápido, lo que requiere indizado.
+ No es adecuada cuando el entorno cambia rápidamente y lo almacenado puede
+ quedar fácilmente desfasado.
+\end_layout
+
+\begin_layout Standard
+Se puede decidir si almacenar o no cada vez que llega nueva información
+ o almacenar todo y después olvidar lo que se usa menos.
+\end_layout
+
+\begin_layout Section
+Resolución de problemas
+\end_layout
+
+\begin_layout Standard
+Un programa para resolver problemas puede recordar la estructura del programa
+ que ha resuelto, los métodos usados para resolverlo y su solución, generalizar
+ la experiencia y usarla para resolver problemas similares.
+\end_layout
+
+\begin_layout Standard
+El primer programa en hacer esto fue STRIPS, que tras cada episodio de planifica
+ción tomaba el plan calculado o una parte y lo transformaba en un
+\series bold
+macro-operador
+\series default
+, una secuencia de acciones abstracta encapsulada en un
+\series bold
+operador
+\series default
+ o acción para su uso posterior como una acción normal.
+\end_layout
+
+\begin_layout Standard
+Como es raro que se de un mismo problema dos veces, el macro-operador debe
+ generalizarse, cambiando constantes por variables siempre que se pueda.
+ STRIPS sustituye todas las constantes por variables y después re-evalúa
+ las precondiciones de cada operador usado para unificar y convertir variables
+ en constantes si es necesario.
+ Los buenos macro-operadores son muy útiles, y pueden producir un pequeño
+ cambio local en el mundo aunque los operadores que lo forman produzcan
+ muchos cambios locales.
+\end_layout
+
+\begin_layout Section
+Reglas de asociación
+\end_layout
+
+\begin_layout Standard
+Las
+\series bold
+reglas de asociación
+\series default
+ relacionan los elementos que pueden aparecer en una base de datos, y son
+ útiles para toma de decisiones, diagnóstico y predicción.
+
+\end_layout
+
+\begin_layout Standard
+Sea
+\begin_inset Formula $I$
+\end_inset
+
+ un conjunto de ítems que pueden aparecer en la descripción de un elemento
+ de una base de datos, una regla de asociación tiene forma
+\begin_inset Quotes cld
+\end_inset
+
+Si
+\begin_inset Formula $X$
+\end_inset
+
+ entonces
+\begin_inset Formula $Y$
+\end_inset
+
+
+\begin_inset Quotes crd
+\end_inset
+
+ o
+\begin_inset Quotes cld
+\end_inset
+
+
+\begin_inset Formula $X\Rightarrow Y$
+\end_inset
+
+
+\begin_inset Quotes crd
+\end_inset
+
+, donde
+\begin_inset Formula $X,Y\subseteq I$
+\end_inset
+
+ son disjuntos.
+ Sea
+\begin_inset Formula $D\subseteq{\cal P}(I)$
+\end_inset
+
+ un conjunto finito de elementos de la base de datos, el
+\series bold
+soporte
+\series default
+ de un
+\begin_inset Formula $Z\subseteq I$
+\end_inset
+
+ es
+\begin_inset Formula $s(Z):=\frac{|\{e\in D:Z\subseteq e\}|}{|D|}$
+\end_inset
+
+; la
+\series bold
+confianza
+\series default
+ o
+\series bold
+precisión
+\series default
+ de la regla
+\begin_inset Quotes cld
+\end_inset
+
+si
+\begin_inset Formula $X$
+\end_inset
+
+ entonces
+\begin_inset Formula $Y$
+\end_inset
+
+
+\begin_inset Quotes crd
+\end_inset
+
+ es
+\begin_inset Formula $c(X\Rightarrow Y):=\frac{s(X\cup Y)}{s(X)}$
+\end_inset
+
+, y su
+\series bold
+soporte
+\series default
+ o
+\series bold
+cobertura
+\series default
+ es
+\begin_inset Formula $s(X\Rightarrow Y):=s(X\cup Y)$
+\end_inset
+
+.
+\begin_inset Foot
+status open
+
+\begin_layout Plain Layout
+Las diapositivas usan la notación de mierda
+\begin_inset Formula $|X|:=|\{e\in D:X\subseteq e\}|$
+\end_inset
+
+.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Float algorithm
+wide false
+sideways false
+status open
+
+\begin_layout Plain Layout
+\begin_inset ERT
+status open
+
+\begin_layout Plain Layout
+
+
+\backslash
+Entrada{Conjunto de ítems $I$ de tamaño $k
+\backslash
+in
+\backslash
+mathbb{N}$, conjunto de elementos $D
+\backslash
+subseteq{
+\backslash
+cal P}(I)$ y soporte mínimo $f
+\backslash
+in[0,1]$.}
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+Salida{Conjunto ${
+\backslash
+cal L}
+\backslash
+subseteq{
+\backslash
+cal P}(I)$ de conjuntos de ítems con soporte al menos $f$.}
+\end_layout
+
+\begin_layout Plain Layout
+
+$L_1
+\backslash
+gets
+\backslash
+{
+\backslash
+{i
+\backslash
+}
+\backslash
+}_{i
+\backslash
+in D,s(
+\backslash
+{i
+\backslash
+})
+\backslash
+geq f}$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+$k
+\backslash
+gets1$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+Mientras{$L_k
+\backslash
+neq
+\backslash
+emptyset$}{
+\end_layout
+
+\begin_layout Plain Layout
+
+ $G
+\backslash
+gets
+\backslash
+{S
+\backslash
+cup
+\backslash
+{i
+\backslash
+}
+\backslash
+}_{S
+\backslash
+in L_k,i
+\backslash
+in I
+\backslash
+setminus S}$%
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+tcp*{{
+\backslash
+rm Fase de formación.}}
+\end_layout
+
+\begin_layout Plain Layout
+
+ $C
+\backslash
+gets
+\backslash
+{S
+\backslash
+in G:
+\backslash
+forall i
+\backslash
+in S,S
+\backslash
+setminus
+\backslash
+{i
+\backslash
+}
+\backslash
+in L_k
+\backslash
+}$%
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+tcp*{{
+\backslash
+rm Fase de poda.}}
+\end_layout
+
+\begin_layout Plain Layout
+
+ $L_{k+1}
+\backslash
+gets
+\backslash
+{S
+\backslash
+in C:s(S)
+\backslash
+geq f
+\backslash
+}$%
+\end_layout
+
+\begin_layout Plain Layout
+
+
+\backslash
+tcp*{{
+\backslash
+rm Candidatos de tamaño $k$ frecuentes.}}
+\end_layout
+
+\begin_layout Plain Layout
+
+ $k
+\backslash
+gets k+1$
+\backslash
+;
+\end_layout
+
+\begin_layout Plain Layout
+
+}
+\end_layout
+
+\begin_layout Plain Layout
+
+${
+\backslash
+cal L}
+\backslash
+gets
+\backslash
+bigcup_{i=1}^{k-1}L_i$
+\backslash
+;
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Plain Layout
+\begin_inset Caption Standard
+
+\begin_layout Plain Layout
+\begin_inset CommandInset label
+LatexCommand label
+name "alg:a-priori"
+
+\end_inset
+
+Algoritmo a priori.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+Para obtener reglas con buenos valores de soporte y confianza, primero ejecutamo
+s el algoritmo a priori (algoritmo
+\begin_inset CommandInset ref
+LatexCommand ref
+reference "alg:a-priori"
+plural "false"
+caps "false"
+noprefix "false"
+
+\end_inset
+
+) para obtener los conjuntos de ítems frecuentes en
+\begin_inset Formula ${\cal L}$
+\end_inset
+
+ y luego tomamos las reglas
+\begin_inset Formula $r\in\bigcup_{L\in{\cal L}}\{X\Rightarrow L\setminus X\}_{X\subseteq L}$
+\end_inset
+
+ con
+\begin_inset Formula $c(r)\geq p$
+\end_inset
+
+, donde
+\begin_inset Formula $p$
+\end_inset
+
+ es la precisión mínima.
+\end_layout
+
+\end_body
+\end_document