Está en la página 1de 424

Tabla de Contenido

1. NOCIONES Y ANTECEDENTES. ........................................ 2

2. CARACTERÍSTICAS DE LA IA. ........................................ 34

3. SÍMBOLOS Y MÉTODOS NUMÉRICOS. ............................. 65

4. FÓRMULAS Y FUNCIONES. ........................................ 102

5. ALGORITMOS. ........................................................ 116

6. ALGORITMOS Y APLICACIONES DE NEGOCIO (CASO

GEOLOCALIZACIÓN). .................................................. 166

7. SISTEMAS BASADOS EN CONOCIMIENTO. ..................... 213

8. MOTORES DE INFERENCIA......................................... 268

9. PATRONES. ........................................................... 309

10. REGLAS Y RESTRICCIONES. ...................................... 357


1. NOCIONES Y ANTECEDENTES.

Antes de interactuar con las definiciones y conceptos sobre la inteligencia artificial, es


necesario comprender como surgen los primeros estudios sobre la inteligencia y que es
la inteligencia, ya que por algunos autores se define como la capacidad de
razonamiento y resolución de problemas que tiene el ser humano sobre
acontecimientos en diferentes índoles, de la vida diaria, mientras que otros como la
capacidad del almacenamiento de la información del entorno que rodea al individuo.

1.1 Inteligencia.
La palabra Inteligencia, Deriva del latín intellēctus o intelligentia, y se originan del verbo
intellegere, que se define como percibir o comprender y está compuesto por inter
(entre) y legere (leer, escoger).

Desde la antigüedad la mente humana, siempre se mantiene en constante comprensión


del mundo que le rodea. De manera que ha implementado en algunas ocasiones algo de
animismo y antropomorfismo a fenómenos naturales, que a simple vista no le consigue
una explicación concisa, como las enfermedades, o fenómenos naturales o como el
trueno. En cierto aspecto el ser humano en su naturaleza, destaca la constante
búsqueda del conocimiento y el entendimiento, remontándose un poco a la antigüedad,
ya el poeta Griego Homero referenciaba en sus obras el concepto de la mente humana,
los protopsicólogos, ya le estaban otorgando características como la memoria, el
entendimiento y el pensamiento al cerebro. Platón plasma sus observaciones sobre la
inteligencia como: la capacidad del desarrollo del aprendizaje concreto y para
Aristóteles el conocimiento inteligente, se adquiere partiendo de la interacción y la
observación de la naturaleza, de manera que sus diferentes puntos de vista sobre la
inteligencia ayudaron a fundamentar las bases sobre los conceptos que hoy en día se
conocen.
Otros personajes tienen su propia percepción sobre lo que es la inteligencia, han
buscado la forma de poder cuantificarla, y dividirla en diferentes tipos, para poder
profundizar en su definición, ya que cada individuo posee diferentes capacidades, que
lo harán destacar en ciertos aspectos, donde otros no destacan, en término mucho más
generalizados cada quien tiene una forma diferente de ser inteligente y tiene su
posición en su escala cuantificativa.

Francis Galton (1822-1911).


Fue un explorador, antropólogo, geógrafo, inventor, británico,
que relaciona el concepto de la inteligencia con la psicología,
definiéndola como un conjunto de aptitudes superiores, y a su
vez van ligada a la herencia.

Alfred Binet (1857-1911). Francis Galton


Fue un psicopedagogo francés,
que fundamentó sus estudios de la inteligencia, tratando de
cuantificarla con la implementación de un test de predicción
de rendimiento en niños en edad escolar, definiendo la
inteligencia como la capacidad de adaptación a nuevas
situaciones, mejorando sus propios actos.

Alfred Binet.

Lewis Madison Terman (1877-1956).


Psicólogo estadounidense, egresado de la Universidad de Stanford, define
la inteligencia como facultad de pensar de forma abstracta. Crea el primer
test de inteligencia basándose en la escala de Binet-Simon, creando la
escala de Stanford Binet, esta prueba mide básicamente cinco aspectos y
consta de dos pruebas verbales y no verbales, midiendo los factores como
el conocimiento, procesamiento visual del espacio, razonamiento
cuantitativo y la memoria.
Lewis Madison Terman
David Wechsler (1896 -1981).
Define la inteligencia como la forma de actuar manteniendo un
propósito, con un pensamiento racional, desarrolla las escalas de
inteligencia, actualmente conocidas como Wechsler Adult
Intelligence Scale (Escala de Inteligencia para Adultos de Wechsler).

Jean Piaget (1896 – 1980). David Wechsler.


Biólogo suizo, epistemólogo, psicólogo,
define la inteligencia como la capacidad que se tiene para
afrontar operaciones lógicas, partiendo desde la percepción,
sustitución, clasificación, abstracción etc.

Jean Piaget

Robert J. Sternberg (1949).


Psicólogo estadounidense, de la Universidad de Yale, define la
inteligencia como la adaptación que puede tener el comportamiento
para lograr un objetivo, beneficiándose de la experiencia adquirida
durante su ejecución.

Robert J. Sternberg
1.2 Inteligencia Artificial (I. A.).
Se considera como una de las ramas de las ciencias computacionales, también como la
búsqueda constante del ser humano en la réplica de algunas funciones cognitivas y de
algunos modelos de procesamiento de la información de una forma más automatizada,
precisa y con una mayor capacidad de procesamiento de la información. Inicialmente
no tuvo un concepto claro y único, incluso en la actualidad. Así como la psicología
identifica varios tipos de inteligencia humana (emocional, musical, lingüística, etc.), la IA
se enfatiza en diferentes aspectos, estableciendo cierto grado de similitud entre las
mismas. Entre algunas definiciones destacan las siguientes:
- (Minsky, 1968). Ciencia que se obtiene de las máquinas que logren realizar
funciones que requieran inteligencia como las haría un ser humano.
- (Haugeland, 1985). Esfuerzo que logre alcanzar el pensamiento de un
computador en el sentido literal y completo.
- (Winston, 1992). Análisis de la computación que puede observar, que una
máquina tenga la capacidad de percibir, razonar y actuar.
- (Luger and Stubblefield, 1993). Ramas de la computación que se preocupa por la
automatización de las conductas inteligentes.
- (Pajares y Santos, 2006). Una máquina se consideraría inteligente, cuando pueda
realizar, organizar y convertir los datos en conocimiento, donde este último son
datos estructurados, adquiridos para reducir la ignorancia sobre la ejecución de
una tarea

Desde los inicios la IA, se ha construido basándose en teorías y conocimientos


apoyándose en otras áreas del mismo. Las fuentes principales son las ciencias
computacionales, la filosofía, la lingüística, las matemáticas, la psicología. Todas ellas
han jugado un papel fundamental en el desarrollo en esta nueva área del conocimiento.
1.2.1 Antecedentes.
El entendimiento del pensamiento racional, siempre ha sido un enigma, el ser humano
ha estado en la constante búsqueda por la comprensión de su propia inteligencia y
replicar sus capacidades intelectuales en otros organismos creados por el mismo.
Basándose un poco en los mitos y leyendas esto se convierte en una especie de anhelo
del ser humano que se expresa con fruición: entre ellos la escultura de Galatea, de la
que su autor Pigmalien se enamora, y los dioses como recompensa por el excelente
trabajo le dan la vida a la escultura, otro ejemplo de ello es la obra de Frankenstein,
donde una criatura creada por un científico cobra vida por sus esfuerzos e impartición
de sus conocimientos de la ciencia biológica y natural, realiza este inmenso acto de la
creación de vida artificial y pensante, y entro otros se tiene al Golem de la religiosidad
medieval, el cuál es una especie de criatura de barro que se le otorga el regalo de la
vida para que pudiera defender al pueblo judío.

Si bien es cierto que, para poder replicar el conocimiento y el entendimiento, primero,


este debe ser adquirido y comprendido, aquí es donde entre la Filosofía, donde su
estudio de la inteligencia se basa más en la modelación de la misma que replicarla. La
adquisición del conocimiento ha sido unos de los temas más trabajado por los grandes
filósofos como el ya anteriormente citado Aristóteles que por medio de su silogismo
(muy ligado con el pensamiento lógico que sustenta la IA en la actualidad), Descartes,
por su desarrollo del método cartesiano y estableciendo el pensamiento como un
principio a la única verdad, Hume, que solo lo que perciben los sentidos puede llegar a
la inteligencia.

Para un estudio conciso y entendimiento sobre los basamentos de la IA, es muy


importante analizar un poco la ficción y no en su contexto como tal, sino, en el impacto
que esta ocasionó en su momento inspirando a los estudios de la actualidad. Como por
ejemplo si se hace referencia nuevamente a la escultura de Galatea, se está presente
ante un autómata fabricado por el dios Hefesto, El caso del Alquímico Jabir Ibn Hayyan,
cuenta en una de sus obras, la creación de vida artificial, es aquí donde surge la gran
interrogante si esto ha sido ficción o investigación. Pero literalmente el más
trascendente fue Frankenstein, en el siglo XIX. Esta obra fue una de las pioneras en la
ciencia Ficción, dando pie para la creación de una larga tradición en el género, las cuales
su tema central es las consecuencias que pudiera tener la creación de inteligencia no
humana para la humanidad. En cierto modo, la ficción ha jugado una inspiración para
los estudios de otros, en su búsqueda para poder materializarla.
1.2.2 Línea de tiempo de la Inteligencia Artificial
Estableciendo una línea de tiempo sobre los diferentes acontecimientos sobre la IA,
desde los inicios que comenzaron a fundamentarla se tiene lo siguiente:

Silogismos de Aristóteles (300 A.C)


Este tipo de pensamiento fue implementado por Aristóteles, fundamentando que, el
silogismo es un tipo de razonamiento deductivo, el cual es correcto o incorrecto, por
medio de dos premisas se puede llegar a una conclusión y necesita que la primera
premisa sea real y universal, la segunda que sea verdadera pero particular y la
conclusión sea el resultado de las dos premisas. El silogismo sería el eje principal del
razonamiento científico desde los inicios de la historia.
- Premisa mayor: todos los hombres son mortales
- Premisa menor: Aristóteles es un hombre.
- Conclusión: Aristóteles es un Mortal.

George Boole (1854)


Por primera vez en la historia argumenta que el
razonamiento lógico se puede sistematizar de la
misma forma en que se resuelve un sistema de
ecuaciones. Fue un matemático, creador en ese
momento de un nuevo sistema lógico llamado Algebra
de Boole. Su descubrimiento se basa en la aplicación
de una serie de símbolos a los elementos y
operaciones lógicas y hacer que estos de forma
cuidadosa, pudieran tener una estructura en la algebra George Boole

convencional, dichos símbolos pueden ser manipulables según una serie de reglas para
poder obtener resultados lógicos. Su libro, “Investigación sobre las leyes del
pensamiento”, trata completamente sobre la lógica simbólica y su álgebra. Por medio
de este libro desarrolla la idea de que las proposiciones lógicas se pueden implementar
como herramientas matemáticas atribuyéndoles valores únicamente de tipo
verdadero/falso o si/no, donde estos únicos valores bivalentes y opuestos entre sí,
pueden ser representados por números binarios de un solo dígito entendiendo el
álgebra booleana como el álgebra del sistema binario.

El personalmente resume su trabajo como “las respectivas interpretaciones de los


símbolos 1 y 0 en el sistema de lógica son nada y son un universo”. Pero para esa fecha
su trabajo no tiene notoriedad hasta 70 años después, por el matemático Claude E.
Shannon (1983), encontrando que, los trabajos de Boole son una base para los procesos
y los mecanismos en el mundo actual, ya que pueden optimizar los diseños de los
sistemas electromagnéticos de relé, que en aquel entonces se usaban por los
conmutadores de enrutamiento de los teléfonos. Ya con esto da inicio de los cimientos
teóricos de la implementación de los circuitos digitales para comenzar una nueva era
digital.

Se considera el álgebra de Boole, como una herramienta que ha evolucionado mucho


más allá de la lógica matemática para la que fue creada, ya que se ha convertido hoy en
día en el pilar de la civilización tecnológica.

Karek Apek (1921)


En este año por primera vez en una obra teatral, escrita por el
checo Hradec Králové, se usa el término “Robot”, proveniente
de la palabra robota, donde su significado en muchas lenguas
eslavas significa “Trabajo duro” o “esclavo”. La obra en si trata
sobre una empresa que fabrica seres humanos artificiales,
orgánicos, para ocupar gran parte de la carga laboral de las
personas. A pesar de denominarse robots, están más
familiarizados con el concepto actual de lo que hoy en día se
conoce como androide.

R.U.R. (Robots Universales


Rossum).
Algoritmo (1936)
Alan Turing, matemático, hoy en día considerado el padre de la
computación, publica en este año su estudio sobre los números
computables, donde desarrolla el concepto de algoritmo
estableciendo las bases fundamentales de la informática. En su
artículo hace inferencia a los problemas de decisión y definía
que podía y que no podía ser computable. Todo aquello que
podía resolverse por medio de un algoritmo (Conjunto de pasos
finitos para resolver un determinado problema) lo cataloga
como computable, quedando como lo demás como las tareas no
Alan Turing.
computables. Demuestra que existen problemas que no pueden
ser resueltos o sin solución algorítmica.

Para hacer materializar el concepto de algoritmo ideó su famosa máquina que hoy en
día se le conoce por su nombre, pero como un dispositivo imaginario, ya que no
contaba con los recursos necesarios. Pero aseguró que una vez que se construyera tenía
la capacidad de ejecutar cualquier operación matemática resoluble, por medio de los
algoritmos programables.

Turing teorizó sobre los fallos de los ordenadores de hoy en día durante el proceso de
información definiéndolo como el problema de parada, o halting problema, afirmando
que un algoritmo no puede determinar si una operación iniciada será finita o no.

Su máquina constaba de una cinta que podía ser


infinita que registraba ceros y unos, y un cabezal o
máquina de estados finitos que avanzaba o
retrocedía sobre la cinta y podía leer los números
e incluso escribirlos dependiendo el estado en
que se encontraba. Cada máquina podía
computar una sola función, pero luego se da
cuenta que el programa encargado se podía

Maquina Teórica
codificar en la misma cinta como datos de entrada dando lugar a la máquina universal o
modelo teórico del computador digital. Esta máquina podía emular a la de Turing.

Z3 (1941)
Fue la primera computadora programable y totalmente automática, fue desarrollada
por, Konrad Zuse, además es considerada el primer ordenador de la historia. Tenía la
capacidad de almacenar hasta 64 palabras. Konrad en su afán por automatizar sus
cálculos como ingeniero civil, define un concepto que hoy en día se conoce como
computador. En su invención inicia con la Z1 operada con electricidad, era una
calculadora mecánica binaria con una programación limitada, podía leer las
instrucciones desde una cinta perforada, pero debido a problemas mecánicos esta no
logro mayor desempeño. Luego construye una mejora denominada Z2, usaba relés
telefónicos en vez de láminas de metal. Esta invención llamó la atención de los expertos
del Instituto Alemán de Investigación para la Aviación y le propició los fondos necesarios
para su investigación. Luego que Zuse contara con el apoyo financiero crea la Z3, que no
era más que una calculadora binaria,
con la capacidad de efectuar
operaciones aritméticas como: suma,
resta, multiplicación, división y raíz
cuadrada. Era electromagnética y
pesaba 1 tonelada, constaba con 2300
relés y con una frecuencia de reloj de
5,33 Hz, 22 bits de longitud por palabra
Z3
y se podían programar bucles.
Test de Turing (1950)
Fue creado por el matemático, para medir la capacidad que tiene la máquina para
hacerse pasar por un ser humano, por medio de la comunicación del lenguaje escrito.
Este test fue titulado con el nombre de Computing Machinery and Intelligence. Este test
consiste en una evaluación que se le hace a la IA por medio de una serie de preguntas
efectuada por un interrogador para estudiar su respuesta y percibir si se asemejan a las
de un ser humano. La forma de superar dicho test sería que el interrogador (humano),
decide si está hablando con una máquina o una persona, dicha comunicación no debe
ser verbal además no debe durar más de 5 minutos, y el 70% del tiempo la IA debe
engañar al entrevistador.

Comunicación no verbal

Inteligencia artificial (1956)


Por primera vez en la historia se hace uso del término Inteligencia Artificial (I.A.),
implementado por el informático Jhon McCarthy durante su conferencia en Darmouth y
la definió como "la ciencia e ingenio de hacer máquinas inteligentes". EL principal
objetivo de la IA es la simulación, o la suposición que todas las funcionalidades
cognitivas, pero en especial el aprendizaje, el cálculo, el razonamiento, la creatividad, la
percepción, podían ser programadas y reproducidas en un ordenador.

En los años siguientes Jhon McCarthy se dedica al desarrollo de laboratorios encargados


del estudio de la IA. Tenían una fuerte convicción en el desarrollo del pensamiento de
las máquinas, hace referencia que la capacidad de memoria y velocidad de
procesamiento de los computadores podrían ser insuficientes para la réplica de algunas
funciones estimulantes del cerebro, no obstante, sustenta que no es la falta de
maquinaria, si no la incapacidad que tiene el ser humano en el desarrollo de programas
que pudiera aprovechar al máximo con lo que hoy en día está establecido. Para ello el
mismo se ocupó de la solución desarrollando el lenguaje de programación Lisp
considerando el segundo lenguaje de alto nivel más antiguo hoy en día. Para su época
donde el ordenador personal parece una idea inalcanzable, crea la teoría de la creación
de un super ordenador donde todos los demás puedan conectarse a él, estableciendo
los primeros pilares para la creación del internet.

A pesar de sus esfuerzos no pudo lograr de objetivo de idear un ordenador capaz de


pasar el test de Turing, por el cual tuvo que darse por vencido en el 1978, declarando
que para alcanzar el objetivo de la creación de una verdadera IA es necesario gozar de
la intervención de 1.7 Einstein, 2 Maxwells, 5 Faradays y el financiamiento de 0.3
Proyectos Manhattan.

Jhon McCarthy.

Réplica de la mente humana (1957)


En este año se crea la primera red neuronal artificial por Frank Rosenblat.
Rosenblatt presenta en este año el Perceptrón, que consiste en una red neuronal con
aprendizaje supervisado. Este realiza su trabajo por medio de patrones de entrada
binarios, y su funcionamiento se compone de dos fases: en la primera se manifiestan las
entradas y salidas deseadas, aquí la red aprende de la que salida que se le da a cada
entrada. Su característica principal es que se adapta tomando como referencia el error
que hay entre la salida de la red, y la salida deseada. La fase dos responde
adecuadamente cuando se presentan nuevamente los patrones de entrada. Este
modelo podía generalizar, es decir, luego de que aprendiera una serie de patrones, era
capaz de reconocer los patrones similares, que se le presentaron anteriormente, pero
su principal problema era la incapacidad de reconocer el OR-exclusiva.

Enfoque de la neurona de Frank Rosenblat.

Eliza (1966)
Fue el probablemente, el primer chat-bot del mundo, desarrollado en el MIT por Joseph
Weizenbaum. Se le incorpora el procesamiento del lenguaje humano con la finalidad de
enseñarle a comunicarse sin la necesidad de una codificación previa, ya establecida para
ello. Se comunicaba mediante el reconocimiento de palabras claves y hacía preguntas
sobre las mismas como si fuera un psicólogo. Eliza se valía de un repertorio de recursos
para lograr esta sensación, como por el ejemplo, cuando reconocía una palabra clave
hacía preguntas referenciando a las mismas, si el interlocutor mencionaba a sus padres,
ya sea la palabra clave padre o madre, preguntaba sobre la familia, además tenía un
gran registro de respuestas, y frases que producían empatía para mantener la
continuidad de la conversación. Cuando no reconocía las palabras claves trataba de
mantener la continuidad realizando preguntas como, ¿Por qué dices eso? o ¿Estás
seguro?
Dentro de sus limitaciones no era capaz de memorizar u aprender de sus
conversaciones, sin embargo, logró engañar a algunas personas haciendo que les
contara sus intimidades.

Eliza. Chat-Bot.

Deep blue (1996)


La super computadora Deep Blue, creada por IBM, en esta fecha gana al campeón
Mundial de ajedrez, Gary Kaspárov. En esta fecha la supercomputadora se enfrenta con
el ruso en febrero de 1996, donde Kaspárov obtuvo la victoria en 3 juegos y 2 empates y
luego la derrota 4 a 2, posteriormente los desarrolladores de la supercomputadora
solicitan la revancha el año siguiente, pero con una nueva versión de la misma,
teniendo como resultado la derrota del ruso. Luego el jugador denunció que algunas
jugadas no fueron automatizadas, además que su talento y creatividad para las jugadas
no eran posibles en una máquina, además que recibía la ayuda de otros jugadores, para
ello hizo solicitud de los registros a la empresa IBM, pero esta se negó a ofrecerlos, pero
luego fueron publicados por su parte.
Una parte de Deep Blue. En el Smithsonian.

Este software operaba bajo un único propósito y paralelismo masivo bajo un


computador de alto rendimiento IBM RS-600 SP de 32 nodos. Con un procesador Power
Two Super Chip (P2SC). Cada uno de los nodos contiene una tarje micro canal de 8
procesadores VLSI que solo se dedican al ajedrez para un total de 256 procesadores
operando en paralelo. El software fue desarrollado bajo lenguaje C bajo el sistema
operativo AIX. Todos estos dispositivos operando en conjunto resultan en un sistema
paralelo con la capacidad de cálculo entre 100-200 millones de movidas por cada 3
minutos. Una persona en su mayor estado de concentración con un alto nivel en el
juego pude calcular al menos 3 posiciones por segundo lo que equivale a 540 posiciones
en 3 minutos. Este sistema no solamente fue creado para el ajedrez, lo que se pretendía
es que tuviera la gran capacidad de cálculo en paralelo. Los cálculos que realiza este
sistema no son optimizados, esto quiere decir que cada cálculo no es paralelizado, pero
puede realizar varios cálculos con la ayuda de procesadores que pudieran ser más
rápidos. De forma resumida, la arquitectura emplea procesadores acelerados,
combinados por un sistema multipropósito.

El software Deep Blue, hace uso de lo que en informática se conoce como fuerza bruta
para el juego de ajedrez, se quería demostrar el uso del paralelismo y su
implementación en otras aplicaciones, de manera que pudiera sacar el mejor provecho
del paralelismo masivo, para la resolución de problemas complejos.
El Carro de Stanford (1979)
Fue uno de los primeros vehículos autónomos, recorriendo un campo de obstáculos de
forma autónoma. Fue fabricado originalmente por el estudiante de Ingeniería mecánica
James L. Adams, como base para su investigación consistía en el manejo remoto de un
vehículo basándose en información visual. El vehículo constaba de 4 ruedas, dispuestas
con motores eléctricos alimentados por una batería corriente de automóvil, con una
cámara frontal en dirección al avance del vehículo, el primer prototipo estaba
conectado a un cable dirigido por una consola de mandos para el control de dirección y
velocidad, y un televisor para percibir la información visual de la cámara dispuesta
sobre el vehículo. Un problema en el hardware posibilitó la variación de retardo de
respuesta de los comandos de movilidad y retraso entre las comunicaciones.

Posteriormente Adams idea un esquema de comunicaciones de control mejorado,


adicionando una computadora analógica, que hacía la función de predicador tomando
en cuenta los comandos de dirección y adicionaba un punto de ubicación brillante en la
pantalla del televisor en la ubicación determinada del carro, mejorando el tiempo de
respuesta entre los comandos de comunicación. Pero su limitación principal durante la
teleoperación era que si el viaje durante el retraso de tiempo era mayor que la distancia
que tenía el carro hasta un obstáculo invisible, era imposible evitar que chocara contra
él.

No fue, si no, hasta el año 1966, luego de que el proyecto había sido abandonado, un
nuevo integrante se unió al laboratorio, Les Earnest convence a Adams de retomar el
proyecto, pero, para la creación de un vehículo de carretera robotizado, y además
agregando un transmisor de televisión de potencia baja junto con un control de radio
para el desarrollo del proyecto de guía visual. Como resultado el vehículo era
controlado de forma remota y podía emitir las imágenes que percibía, esto llamó la
atención del profesor Jhon McCarthy asumiendo su supervisión. Con la incorporación
de un procesador KA10 con una funcionalidad aproximada de 0.65 MIPS, se logra la
tarea que el vehículo siga una línea blanca de forma autónoma en condiciones
controladas de iluminación y una velocidad aproximada de 0.8 mph o lo equivalente a
1.3 kph.
En el período de 1971-1980 se une al proyecto Hans Morevec proveniente de la
universidad de Stanford, con la finalidad de influir en el trabajo de la navegación visual,
pero debido a un problema en 1973, cuando el carro vuelca mientras era controlado
manualmente, cambian la dirección de 4 ruedas a solo 2. Morevec implementa un
procesador KL10 con una función aproximada de 2.5 MIPS, para lograr la función de
visión multilocular para lograr la navegación alrededor de los obstáculos en un entorno
controlado. El desplazamiento del vehículo era realizado a intervalos de un metro
realizando pausas entre 10 a 15 minutos para la planificación de la siguiente movida y el
procesamiento de imágenes. Exitosamente en el año 1979 el vehículo pudo cruzar una
ruta de obstáculos sin intervención humana logrando un tiempo de unas 5 horas
aproximadas.

Carro de Stanford 1979.

Las máquinas serán más inteligentes que los hombres (2005)


Esta afirmación fue realizada por Raymond Kurzweil, usando la Ley de Moore,
prediciendo que a este ritmo para el año 2029 las computadoras tendrán la capacidad
de raciocinio de un ser humano, y para el 2045, ya sería superado. Raymond Kurzweil,
especializado en Ciencias de la Computación e Inteligencia Artificial, ha escrito una serie
de libros basados en el futuro de la humanidad y de la tecnología, junto con ello ha
realizado varias predicciones relacionadas con la nano tecnología y la inteligencia
artificial. Una de sus afirmaciones que más se ha popularizado fue la de “La ciencia y la
tecnología avanzan a un ritmo exponencial”, para el momento fue toda una revelación,
fácilmente demostrable hoy en día por el notable avance y desarrollo de la tecnología
con el pasar del tiempo. El Gran número de acierto que ha tenido entre sus
predicciones es lo que le ha dado gran notoriedad hoy en día.

Desde el año 1990 tiene 147 predicciones con un 86% de aciertos lo que equivale a un
total de 127 aciertos aproximados, dando mucho de qué hablar sobre sus predicciones
futuras respecto a la tecnología.

Dentro de sus predicciones sobre la inteligencia artificial se tienen las siguientes:


- 2029: Para esta fecha, el test de Turing será superado, y podría considerarse que
la IA tendría un nivel similar a la del ser humano.
- 2045: Se alcanzará la singularidad, lo que quiere decir la fusión entre la IA y el
ser humano, como un evento provechoso para el desarrollo de las capacidades
del ser humano.

Para el año 2030, Kursweil predice que se inventará un tipo de tecnología capaz de
introducirse en el cerebro y potenciar no solo la capacidad de la memoria, si no,
también algunas capacidades como en el arte, el desempeño en alguna disciplina,
facilitando el desenlace de nuevos descubrimientos, tanto en lo científico como en lo
social.

Su opinión respecto, si la humanidad debería de temerle a la singularidad, es


totalmente contraria a los que la ficción se ha encargado de establecer, como la
dominación y superación de la humanidad, más bien lo ve como una oportunidad de
mejora para los seres humanos. A su vez se han desarrollado matrices de opiniones
diferentes a las de él, como Stephen Hawkings, que por el contrario demostró su gran
preocupación con respecto a la evolución de la IA y su influencia en la humanidad y sus
posibles riesgos.
Deep learning (2012)
Para este año Google implementa un ordenador capaz de reconocer gatos, rostros y
cuerpos humanos por medio de YouTube. EL ordenador consta de 16.000 núcleos, y por
sí mismo desarrollo estas habilidades de reconocimiento. El reconocimiento visual, es
una de las características más peculiares que tiene el ser humano, basta tan solo con
mirar el objeto, para lograr su rápida y fácil identificación. Google ha desarrollado una
red neuronal integrada por 1000 ordenadores y con 16 procesadores cada uno, luego
les suministró 10 millones de imágenes extraídas de YouTube, para evaluar la capacidad
de reconocimiento autónoma sin intervención externa. Este cerebro artificial logra
identificar caras humanas, caras de gatos y cuerpos humanos además de identificar con
éxito más de 20.000 objetos diferentes, sin embargo, sus tasas de acierto se mantenían
bajas respecto a experimentos anteriores. El reconocimiento de los felinos domésticos
surge debido a la tendencia y popularidad que han alcanzado entre las personas los
videos de los mismos.

El test de Turing es superado (2014)


El test es superado por Eugene Goostman, una IA que pudo engañar a 30 jueces de 150
haciéndoles creer que era un niño de 13 años. Fue un software de tipo chatbot,
desarrollado por, un grupo de personas que lograron simular la personalidad de un
adolescente ucraniano de 13 años, al que le gustaban las hamburguesas y las golosinas,
favoreciéndole en cierto aspecto, ya que justificaba su desconocimiento en algunos
temas y la conversación no se notaba de tipo adulta. Logró alcanzar un 33 % de
efectividad, dando pie a muchas objeciones dentro de la comunidad científica.
Desacreditando algunas de las condiciones que establecía Turing en su test, tales como
evitar preguntas matemáticas, pero nunca fue excluyente sobre al incluir niños en el
test. Sin embargo, el alcance del experimento fue de 66.7% las máquinas no lograron
convencer a los jueces. Es de suma importancia resaltar que el test en si no analiza la
veracidad de las respuestas si no el tipo de respuestas que pueden provenir de una
persona real.
El chat de Eugene es un chatbot que combina técnicas de procesamiento de lenguaje,
relacionando palabras claves y con acceso a una base de datos, este puede interactuar
con varios usuarios de forma simultánea por medio de métodos auditivos o textuales.
Vladimir Veselov y Eugene Demchenko, fueron sus creadores que desde hace ya tiempo
tenían en circulación su programa.

AlphaGo (2016)
Fue la primera máquina que le gana a un jugador profesional de GO. El Go es un juego
tradicional chino con 2500 años de antigüedad, se juega con dos personas, por turnos, a
medida que se desenvuelve van colocando piezas negras y blancas dispuestas en el
tablero de 19 x 19. El juego tiene como objetivo eliminar las piezas del oponente o
capturar zonas del tablero haciendo puntos de referencia como territorio. Existe una
afirmación que establece, “EL juego Go tiene más posibles configuraciones de tableros
que átomos en el universo”, estableciendo una gran brecha de complejidad entre el go
y el ajedrez. Algunos años atrás los programas que se diseñaron para este juego solo
alcanzaban el nivel amateur, donde sistemas como Deep blue no alcanzaban grandes
resultados, ya que se basaban en el cálculo de un árbol de millones de posibles
configuraciones de tableros partiendo del analizado. Para ello se parte de una nueva
refactorización en cuanto a la perspectiva y eso lo logro AlphaGo. Este es un algoritmo
de IA, programado por el equipo de Deep Mind (empresa adquirida por Google) basado
en aprendizaje por refuerzo y redes neuronales profundas. EL objetivo principal de este
algoritmo, es desarrollar el instinto de juego de los grandes maestros implementando el
aprendizaje por refuerzo, un tipo de algoritmo que con el pasar de los últimos años ha
tenido una gran trascendencia y se basa en la toma de decisiones dependiendo del
entorno.

Para su entrenamiento y aprendizaje con respecto al Go, realizó partidas con amateurs,
profesionales y hasta con diferentes versiones de sí mismo, mejorando los errores y
aprendiendo de sí, hasta que pudo derrotar al campeón mundial, siendo el primer
ordenador en ganarle a un campeón mundial en la disciplina. De esta forma compite
con el 18 veces campeón mundial Lee Sedol, considerado como el mejor jugador de la
década consiguiendo ganar 4-1.

1.3 Desarrollo de la Inteligencia Artificial.


Durante el crecimiento de la IA experimenta una serie de etapas y cambios que se
resumen a continuación como:

La época de los profetas.


Desde sus orígenes los grandes investigadores hacen declaraciones precipitadas, que
desde entonces han sido criticadas severamente. Un ejemplo de ello es en el año 1958
Haber Simón galardonado con el premio nobel de economía posteriormente declara
que en 10 años las máquinas serían campeonas de los grandes juegos de estrategia
como el ajedrez.

Los años sombríos.


En 1960 un niño de 10 años derrota a una computadora en una partida de ajedrez,
dándole mala fama a la IA durante esta década y debido a un informe generado por el
senado de Estados Unidos haciendo referencia a las limitaciones que tenía esta
tecnología.

La IA semántica.
Este episodio no hizo que mermaran los trabajos de desarrollo de la IA, por el contrario,
hizo que tomaran nuevos rumbos, centrando su interés en la psicología de la memoria,
el aprendizaje y la comprensión. Estos estudios originan nuevas técnicas de
representación semántica del conocimiento, contribuyendo positivamente al desarrollo
de los sistemas especializados, denominados de esta forma debido a que usan el
conocimiento de especialistas para darle reproducción a sus razonamientos. Dichos
sistemas aumentaron las esperanzas a comienzos de la década de los 1980, surgiendo el
sin número de aplicaciones que la IA pudiera tener.
Conexionismo y aprendizaje automático.
Los avances dirigieron hacia el desarrollo de algoritmos de aprendizaje automatizado
(machine Learning), permitiendo a los ordenadores almacenar conocimiento para
aprender de sus propias experiencias. Dando origen a aplicaciones en la industria
(reconocimiento de huellas dactilares, reconocimiento de voz, etc.).

De la IA a las interfaces hombre-máquina.


Culminando ya los años 1990, la IA se fusiona con la robótica y las interfaces hombre-
máquina con la finalidad de la creación de agentes inteligentes sugiriendo la presencia
de las emociones. Dando origen a la llamada informática de la emoción. Esta evalúa las
distintas reacciones de un sujeto que experimenta varias emociones y las transfiere a
una máquina, especialmente en los programas que simulan conversaciones humanas
como los chatbots.

Resurgimiento de la IA.
Con el creciente desarrollo tecnológico que se alcanza ya en el inicio del año 2010,
existe una mejor capacidad de cómputo para el análisis de los macrodatos o inteligencia
de datos (Big data), implementando aprendizaje profundo, basados en redes
neuronales. Permitiendo su gran desenlace en aplicaciones mucho más prometedoras
(vehículos autónomos, procesamiento de imágenes, comprensión de la comunicación)
hacen el resurgimiento de la IA.

1.4 Aplicaciones de la Inteligencia Artificial.


Gran parte de los productos que usan las técnicas de IA, superan la capacidad humana,
que se ha podido apreciar anteriormente en la historia durante los torneos de Ajedrez y
de GO, donde unos ordenadores superan a los mejores del mundo. Demostrando la
efectividad de teoremas que manejan una gran cantidad de datos a grandes
velocidades y utilizando las técnicas del aprendizaje automatizado. Gracias a estas, se
logra el reconocimiento de una palabra articulada y luego la transcriben como las
secretarias, y las mecanógrafas de años anteriores, y otras pueden distinguir con
precisión rostros, huellas dactilares entre una cantidad de millones de datos
almacenados, con la implementación del aprendizaje automático se logra que hoy en
día ya existan vehículos que puedan conducirse por sí solos, ya en la medicina existen
software que pueden diagnosticar mejor que médicos dermatólogos los melanomas, ya
los robots se usan en las guerras en vez de los humanos en algunas funciones
especializadas. Las cadenas de producción adquieren cada vez más sistemas
automatizados.

En la biología los científicos implementan las técnicas de aprendizaje automatizado


para determinar la función de macrobiomoléculas biológicas, proteínas y de genomas
partiendo de la secuencia de sus componentes.

De una forma más generalizada, la IA tiene su huella en casi todas las ciencias hoy en
día, influyendo positivamente en casi todas sus áreas de actividad como en los sectores
industriales, los seguros, la salud, la defensa, la educación, la medicina. Tareas rutinarias
ya pueden ser automatizadas, por una parte, simplificando algunos empleos, por otra
mejorándolos e incluso en algunos eliminándolos.

Algunos ejemplos de tecnología basada en Inteligencia Artificial.


- Se entiende por automatización, como la capacidad de transformación que se le
hace al desempeño de un sistema o una tarea. RPA o automatización robótica
de procesos, se pueden programar tareas, para que sean repetitivas en alto
volumen. La RPA se diferencia de la automatización debido a su adaptación a las
circunstancias cambiantes
- El aprendizaje automatizado, conocido como machine learning, se basa en la
capacidad que tiene un ordenador de conseguir que actúe sin una programación
previa. Se considera como un subconjunto del aprendizaje automático. El
aprendizaje automático se divide a su vez en tres tipos: aprendizaje supervisado,
no supervisado, y el aprendizaje por refuerzo.
- Reconocimiento visual de las máquinas, o procesamiento de imágenes, por
medio de la dotación de una cámara al ordenador para que este pueda procesar
la información captada.

1.5 Riesgos de Carácter éticos de la Inteligencia Artificial.


El auge que tiene la IA hoy en día, son objeto de análisis, debido a que cada vez más los
ordenadores traspasan las barreras cognitivas en casi todos los terrenos que se
implementan, despertando temores del tipo ético. Estos Riesgos se pueden dividir en
tres aspectos: disminución de algunos empleos que serían realizados por máquinas en
lugar de las personas, las consecuencias para lograr la autonomía de la persona
principalmente en cuanto a su libertad y seguridad, la superación del carácter humano
sustituido por ordenadores más inteligentes.

Analizando más a detalle se ha demostrado que el trabajo no desaparece, sino que


simplemente se va transformando y a la medida, va exigiendo nuevas habilidades.
Conjuntamente la autonomía y la libertad del individuo, no están comprometidas por el
desarrollo de la Inteligencia artificial, pero siempre se debe estar alerta en la inclusión
de la tecnología en la vida privada de las personas.

Finalmente, las máquinas no representan una amenaza de ningún tipo a la existencia de


la humanidad, debido a que su autonomía solo es técnica, solo les corresponde a las
cadenas materiales, desde la búsqueda de información hasta lograr tomar decisiones.
Las máquinas no tienen la autonomía moral, debido a que si pudieran confundir al
humano con la capacidad de respuesta no tienen voluntad propia y se mantienen al
servicio de los objetivos por las que han sido creadas.
1.6 Ventajas y desventajas de la Inteligencia Artificial.
La IA apunta hacia el desarrollo progresista de la humanidad, en diferentes aspectos
como la medicina, la educación, comunicaciones, confort, etc. De forma directa la
ventaja de la IA trae desventajas. Sobre todo, en el mercado laboral, emergerán nuevas
profesiones u oficios mientras que por otro lado los más rutinarios irán desapareciendo.
Realmente este suceso no es ninguna novedad hoy en día, durante la revolución
industrial se predijeron la destrucción de algunos oficios, pero la diferencia entre la
adaptación dependerá con que velocidad se efectúen los cambios.

Últimamente esto ha alertado sobre un peligro de paro masivo en un futuro no muy


lejano, advertencia que se contrarresta por los más optimistas, basándose con los datos
de la actualidad, afirman que donde se implementa una IA es donde se va a mejorar el
motor laboral generando más trabajo humano.

Se sabe que la IA impacta tanto de manera positiva como negativa en el mundo laboral,
social y humano, este no dejará de ser un tema de debate durante un largo período de
tiempo. Finalmente, como en todo proceso humanamente complejo, habrá quienes
ganen y otros que pierdan tratando de digerir el impacto en la sociedad que esto
acarree.

1.7 Clasificación de la Inteligencia Artificial.


Hace uso de representaciones simbólicas fundamentadas en un número finito de reglas
para lograr una efectiva manipulación de símbolos (lógica de predicados, redes
semánticas), estás siguen siendo el eje central de estos sistemas. La representación sub-
simbólica, implementa representaciones numéricas del conocimiento. Se caracteriza
por la creación de sistemas con la capacidad del aprendizaje, logrando un enfoque
funcional más similar al cerebro humano por medio de las redes neuronales.
Actualmente la IA tiene un gran crecimiento en cuanto a sus áreas de investigación,
tratando de integrar diferentes métodos en grandes sistemas.
El enfoque simbólico ha tenido otras aplicaciones en la actualidad como los algoritmos
de optimización de colonias de hormigas, cúmulo de partículas, sistemas inmunes, estos
se inspiran en los comportamientos emergentes que tiene la naturaleza.

De forma general la IA se puede categorizar de muchas maneras, pero también se


puede clasificar partiendo de dos enfoques, el primero como IA débil y fuerte. La IA
débil o estrecha, es un sistema que ha sido diseñado para una única tarea en particular,
como por ejemplo los asistentes virtuales de algunas compañías de sistemas operativos
móviles. Mientras que la fuerte o también conocida como IA general, tiene habilidades
cognitivas humanas, pero generalizadas, con la capacidad que, cuando se le presenta
una tarea desconocida, es lo suficientemente inteligente como para llevar a cabo la
tarea.

Respecto al segundo enfoque, es propuesto por el profesor asistente de biología e


ingeniería y ciencias de la computación Arent Hintze, de la universidad de Michigan,
dividiéndola en 4 enfoques que van desde los sistemas existentes hasta los que aún no
ha sido creados:
Tipo 1. Máquinas Reactivas. Un ejemplo de esto es la computadora Deep Blue, el
programa de ajedrez que venció al campeón del mundo en este juego. Este
computador tiene la capacidad de identificar piezas y hacer las predicciones,
pero no cuenta con una memoria para basarse en experiencias pasadas y
mejorar en las futuras. Solamente analiza los movimientos del oponente, luego
lo procesa para elegir el siguiente movimiento más efectivo, tanto la Deep Blue y
Alpha Go tiene propósitos limitados y difícilmente se puede aplicar en otro tipo
de situación.

Tipo 2. Memoria Limitada. Estos sistemas cuentan con la capacidad de usar


experiencias del pasado, para mejorar las tomas de decisiones en el futuro,
algunas de las decisiones de los vehículos autónomos se diseñaron de esta
forma, como, por ejemplo, por medio de la observación se utiliza para poder
informar de las acciones que pudieran ocurrir en el futuro.
Tipo 3. Teoría de la mente. Se define como un término psicológico, refiriéndose a
la comprensión que los demás tienen de sus creencias, las intenciones y los
deseos que pudieran afectar la toma de decisiones. Aún no ha sido desarrollada.

Tipo 4. Autoconocimiento. En esta categoría las IA tienen conocimiento de su


propia existencia, tienen conciencia y una máquina con conciencia puede
comprender su estado, puede implementar esta información para percibir lo
que los otros están sintiendo. Esta IA aún no se ha desarrollado.

1.8 Modelos de Inteligencia.


La clasificación de los modelos de IA están basados en el objetivo y la manera en que
realizan sus tareas, anteriormente eran percibidas como clases independientes, pero
hoy en día entremezclan sus características.

Sistemas que Piensan como Humanos.


El modelo es el funcionamiento de la mente humana. Se trata de implantar una teoría
sobre las funciones de la mente. Y partiendo de esta teoría se establecen los modelos
computacionales. Influencia de las Ciencias Cognitivas, GPS (General Problem Sover),
Newell & Simon, solo se interesaban sobre porqué los sistemas emitían las respuestas
ignorando totalmente si eran correctas o no. Principalmente en los sistemas cognitivos
se dan las investigaciones con humanos y animales.

Sistemas que Actúan como Humanos.


El modelo lo constituye el hombre; el objetivo principal es la construcción de un sistema
que pase por ser humano. Prueba de Turing: si un sistema alcanza pasar el test se
considera inteligente. Se necesitan las capacidades como el procesamiento del
lenguaje, razonamiento, aprendizaje y la representación de los aprendido.

La aprobación de la prueba de no es el objetivo principal de la IA, pero la interacción


con personas resalta la importancia en que estos puedan actuar como humanos.
Sistemas que Piensan Racionalmente.
Se fundamenta en el pensamiento racional basado en la lógica (silogismos de
Aristóteles), presentando la dificultad para formalizar el conocimiento, y existe una gran
brecha entre la capacidad teórica de la lógica y la implementación práctica.

Sistemas Actuantes Racionales.


Se considera un acto racional, cuando se logran las metas dadas a las creencias del
individuo. El paradigma es el agente racional, que se aplica, por ejemplo, a muchos
sistemas robóticos. El agente interactúa con el entorno donde esté situado. Es
necesario percibir, procesar el lenguaje natural, representar el conocimiento, razonar y
un aprendizaje automatizado. Debe tener una visión enfocada en el actuar.

1.9 Proceso de Aprendizaje de un sistema.


La función principal y más importante de un sistema basado en IA, es la capacidad de
aprendizaje que tenga y como cambie su comportamiento partiendo a las nuevas
experiencias recibidas durante el aprendizaje. Ideal sería ver como el sistema modifica
sus funciones en base a lo que aprende y terminara desempeñando funciones para las
que de forma explícita no había sido programado. Existen un gran número de
herramientas que permiten el aprendizaje de un sistema, una de la más sencillas y que
resulta muy útil es el sistema antispam de los correos, estos sistemas a veces
implementan lo que se conoce como clasificador bayesiano. Este algoritmo se basa en
la implementación de un teorema de probabilidades, Teorema de Bayes. Básicamente
se encarga de clasificar si un correo es spam o no implementando un enfoque un tanto
intuitivo. Se extraen varios datos del correo como, por ejemplo, el número de veces que
aparece cada palabra, para que se comparen respecto a otros correos que se marcaron
como spam, si existen una palabra común entre todos ellos, entonces es más probable
que sea marcado como un correo spam. Todo dependerá de los correos que se reciban
para entrenar al algoritmo de clasificación. Cada vez que un correo es catalogado como
spam o no, se hace un recálculo en las propiedades de clasificación, con cada indicación
el algoritmo va mejorando su aprendizaje sobre el tipo de clasificación para cada correo
que se recibe.

A simple vista este proceso se ve simple, pero lo más interesante es poder percibir el
aprendizaje que tiene este tipo de algoritmo, pasándoles los datos de clasificación,
luego este los absorbe a manera de conocimiento para luego aplicarlo a nuevas
entradas. Este tipo de proceso no hace más que imitar el propio proceso de aprendizaje
del ser humano, evitando las limitaciones que pudiera tener el prejuicio propio, la
imaginación, intuición. De manera que les permiten a los sistemas automatizados solo
hacer la extracción de la información que sea relevante y poder sintetizarla para luego
hacer un procesamiento mucho más eficaz. Cómo ejemplo de progreso se tiene los
avances que ha logrado los sistemas basados en reconocimiento de voz, con redes
neuronales profundas. Estos sistemas se entrenan alimentándoles con audios cortos y
su transcripción, para que entiendan el funcionamiento del habla. De este modo van
creando reglas propias que pudieran ser incomprensibles para el ser humano, le van a
proporcionar el aprendizaje que tiene que tener para poder identificar luego palabras
mejor que otros modelos inspirados en el lenguaje humano. El problema principal que
pudieran tener ese tipo de sistemas sería sobre el reajuste que pudiera tener y no
funcione con otro tipo de datos, en pocas palabras, que se ajuste mal cuando cambien
los criterios de clasificación por datos totalmente diferentes.

1.10 Creación del conocimiento por medio de la deducción y el


razonamiento.
El aprendizaje es muy importante para un sistema basado en IA, sin embargo, razonar y
deducir son fundamentales para agregar mucho más conocimiento a un sistema. Como
opción principal se tiene la implementación de la lógica, para ellos existen varios
lenguajes de programación, como, por ejemplo: Prolog, tiene un paradigma diferente a
los lenguajes habituales.
En vez de programarle una serie de instrucciones sobre cómo realizar una tarea, sería
mucho más conveniente ofrecerle una serie de reglas lógicas para que el sistema pueda
deducir como realizar la tarea. Tomando el ejemplo del acertijo de el granjero, la cabra,
la col y el lobo que cruzan el río, que este pueda resolverlo sin decirle como, solo
estableciendo las reglas del acertijo. Para ello se le tiene que definir al lenguaje de
programación “Prolog”, el significado de cruzar el río, los estados permitidos (el lobo no
puede estar con la cabra, y la cabra no puede quedarse con la col), luego se le tiene que
explicar la acción que se quiere realizar, el listado de los movimientos de un lado al otro
en el río, y finalmente realiza la pregunta de si existen alguna serie de movimientos para
resolver el acertijo, para luego recibir la respuesta de la resolución. Para ello el lenguaje
de programación utiliza las reglas de la lógica para poder hacer el razonamiento, para
poder llegar a una solución. A simple vista pareciera muy simple, pero ante una
situación mucho más compleja, donde interactúan una mayor cantidad de reglas de
ejecución y de datos de entradas, un sistema lógico pudiera enfrentarse a preguntas
que ni siquiera el desarrollador pudiera haber imaginado.

Puntualmente se hace presente uno de los primeros problemas, de que serviría hacer
todo el razonamiento, si no se tiene el conocimiento base. De nada sirve razonar si no
se tiene sobre qué hacerlo, aquí es donde el individuo pudiera pensar si es capaz de
transmitir al sistema todo lo que sabe. Otro problema sería que el mundo del ser
humano, no siempre se rige o está apegado a las leyes y reglas de la lógica, no obstante,
no se puede decir que los seres humanos no son seres lógicos y no todo pudiera ser
verdadero o falso. Para estos inconvenientes se tiene la lógica difusa. Cómo ejemplo:
Suponga que un individuo forma parte de un grupo de desarrollo y tiene que desarrollar
un asistente personal móvil, donde el asistente debería estar en la capacidad de
responderle al individuo, cuando le pregunte si tiene que usar o no una sombrilla antes
de salir de casa o usar un abrigo en otro caso. Parece una tarea simple, solo tendría que
evaluar si hace frío o si llueve, para cada caso, pero los factores de definición serían a
que temperatura es considerado que hace frío como para llevar un abrigo, o, si solo
caen pequeñas gotas, es necesario el paraguas, si con el abrigo es más que suficiente,
como percibir la diferencia entre una lluvia fuerte a una simple llovizna.
La lógica difusa puede manejar este tipo de preposiciones, definiéndole una serie de
reglas del estilo: en caso de calor, no es necesario abrigo, si llueve poco, se necesita
abrigo, si llueve mucho se necesita un paraguas. Con esto no se está transformando en
si o en no cada caso, solo se le asignan valores entre 1 y 0. En este tipo de sistema una
pregunta como: ¿hace calor?, no sería respondida por un sí o uno no, si no, en algo
como 50%, teniendo en cuenta que el desarrollador luego debería de poder
transformar este tipo de respuesta para que sean un tanto más acorde y mucho más
entendible.

Como la lógica difusa tiene mucha más semejanza al pensamiento humano, ha tenido
muchos más usos. En Japón es implementada para el control de algunos trenes, en el
cine se ha usado en la creación de un gran número de personajes animados en 3D para
que interactúen con el ambiente que los rodea moviéndose de una forma mucho más
realista.

1.11 Procesamiento del lenguaje.


Uno de los tópicos más importante es la comunicación entre el ordenador y los seres
humanos, sin la necesidad de implementación de ciertas instrucciones que para algunos
son un poco ambiguas (Lenguajes de programación). Esta área de la IA se le conoce
como procesamiento del lenguaje natural. Lo ideal es que el lenguaje tenga la
capacidad de entender y formular una respuesta en el mismo lenguaje natural del ser
humano. Para ello existes varias posibilidades para lograr este cometido, entre ellas,
una de las más simples, la búsqueda de coincidencias de acciones que ya estén
predefinidas en una base de datos. Pero el principal problema de esto es que no
pudiera considerarse un sistema inteligente si solo responde a comandas de voz ya
predefinidos. Como solución a esto, una de las técnicas que se implementa es el análisis
sintáctico de la oración, para ello el ordenador, con el previo conocimiento de la
estructura del lenguaje, y su gramática, tenga la capacidad de poder convertir una
pregunta como ¿cuál es el nombre del presidente de una nación X?, en una consulta
que tenga que buscar entre los nombres de los presidentes y relacionarlo con la nación
de la pregunta. Para ello el sistema necesita el significado de las palabras nación y
presidente. De una forma muy similar esto lo implementaba el sistema SHRDLU, un
programa de computador utilizado para el entendimiento del lenguaje natural creado
en 1971. Usaba la gramática en inglés y era capaz de entender preguntas, y ordenes
impartidas con objetos como pirámides y cubos.

Cuando la tarea a realizar es un tanto más compleja, se deben tener mejor organizadas
y clasificadas las palabras con todos sus posibles significados. Se tiene que tomar en
cuenta las ambigüedades del lenguaje y los diferentes contextos que se tienen en una
frase, como por ejemplo si a un ordenador se le pregunta, si ¿La planta del jardín está
hecha un desastre?, este puede establecer el contexto correcto para la palabra planta y
la palabra desastre. Para evitar este tipo de inconvenientes se implementa algunas
técnicas que no requieren el entendimiento del lenguaje. Es suficiente con identificar
palabras, nombre, claves, análisis de frases para que un ordenador pueda lograr el
entendimiento de lo que una persona está queriendo transmitir en el lenguaje. Como
ejemplo se tiene el sistema IBM Watson, este es capaz de jugar contra personas, en un
concurso llamado Jeopardy, es un concurso que consiste en responder preguntas de
tipo trivia sobre diferentes temas lo más rápido posible. Este sistema implementa varias
técnicas para lograr el entendimiento de la pregunta, y otras para encontrar la
respuesta en su base de datos, como resultado si varias técnicas tienen la misma
respuesta, este lo evalúa y toma como un resultado correcto. Desde un enfoque
pragmático, como es un tanto difícil poder simular la mente humana, es más ideal
implementar varias técnicas diferentes, aunque no se consideren como inteligentes,
realmente no entienda la pregunta, sean capaces de responder correctamente y no
sean muy complejas en su programación.
2. CARACTERÍSTICAS DE LA IA.

2.1 Razonamiento automatizado.


Es el fundamento que pudieran tener las máquinas, que han sido programadas para
simular el pensamiento lógico del humano. Esta búsqueda tecnológica compone un
campo mucho más amplificado, debido a que los programadores usan algoritmos
complejos y grandes recursos de cómputo para lograr replicar la inteligencia humana
centrándose en el objetivo de la capacidad que pudieran tener los ordenadores para
llegar a emitir resultados lógicos. Algunos investigadores en el campo de la inteligencia
artificial pueden presentar un grupo de estudios que usan el razonamiento. Algunos
más dirigidos al razonamiento por medio de la deducción implementando las
matemáticas con la finalidad de producir la lógica formal. Dichos proyectos pudieran
usar variables específicas o incluir algunos teoremas para la creación de un grupo de
valores de referencia. Otros razonamientos se basan en el lenguaje o son abstractos,
donde los programadores puede que necesiten brindar a las computadoras reglas
específicas para obtener decisiones muy concretas.

Muchos expertos seleccionan objetivos singulares para proyectos de razonamiento


automatizado. Como ejemplo, se pueden desarrollar algoritmos con la finalidad de
poder brindar un diagnóstico médico, o la verificación de tareas donde los datos de
entrada y la programación de la máquina se dirija hacia un resultado lógico por medio
de la toma de decisiones. En gran parte de estos estudios, los programadores trabajan
para obtener un crecimiento mayor de estas tecnologías y mejorar la efectividad en el
análisis de las dificultades del mundo real. Algunas de estas aplicaciones que buscan la
automatización del razonamiento se definen en la categoría de soporte de decisiones,
donde la tecnología es implementada para la ayuda de los humanos a seleccionar la
decisión más efectiva en la resolución de los problemas que se le presenten. Varios de
los métodos que se implementan en el razonamiento automatizado se imparten en
otras áreas de la tecnología, algunas usan la lógica difusa, para que los algoritmos
puedan reducir un gran grupo de datos a uno mucho más reducido.

Algunos expertos en la materia coinciden en que hasta los momentos no están ni a la


mitad del camino que queda por recorrer, debido a que aún hace faltan fundamentos
para el campo del razonamiento en la inteligencia artificial. En un futuro la mejora del
poder de cómputo pueda que complemente los avances y pueda mejorar la
implementación en las diferentes áreas.

2.2 Resolución problemas.


En el área de la inteligencia artificial, los expertos han creado varias herramientas para
la resolución de algunos problemas, que desde el enfoque clásico se ha dificultado
encontrar la solución más idónea, obteniendo resultados muy satisfactorios. Las
investigaciones, aplicando herramientas inteligentes pueden realizar el procedimiento
aun en ausencia de la información para obtener una solución, son una buena práctica
para la resolución de problemas implementando inteligencia artificial. La definición, si el
problema tiene o resolución por medio de la implementación de IA, es lo que va a
permitir el su uso adecuado y un correcto planteamiento del problema a resolver.

2.2.1 Clasificación del problema.


La complejidad del problema se clasifica dependiendo de la dificultad para
solucionarlos, tomando en cuenta el tiempo y el espacio, como principales variables.
Iniciando desde su complejidad, se pueden definir dos clases principales:
 P. Polinomial, significa que el algoritmo requiere de un tiempo polinomial en
función de la distancia que tenga el problema para su resolución.
 NP. Non deterministic Polinomial, el algoritmo requiere de un tiempo que tiende
a ser exponencial en función al tamaño de la distancia del problema en
resolverlo.
2.2.2 Forma correcta de plantear un problema.
Se parte por la descripción del problema, con una descripción muy natural y detallada,
estableciendo la meta a superar (Solución requerida), luego se tiene que delimitar el
problema y los diferentes elementos que interactúan, como las variables, función
objetivo, restricciones, punto de inicio. De esta forma se puede verificar el
conocimiento que se tiene sobre el problema. Seguidamente se establece la definición
formal y la estructura que va a representar, resultando otro nivel de abstracción. Luego
es necesario definir las entidades que actuarán y deshacerse de los detalles no
relevantes, para luego determinar que fragmento de la descripción se puede validar y
representarse simbólicamente. Para algunas partes del proceso es requerido
determinar las salidas, las entradas y el proceso que ejecutará cada entidad en los
diferentes niveles y la manera de comunicarse entre ellos. En lo posible se necesita
definir aspectos como:
 Función objetivo o a optimizar.
 Variables, Parámetros que intervienen.
 Las restricciones.

El tipo de solución, solo si es deseado un valor o los pasos para llegar a la solución.
Durante el proceso de formalización del problema a resolver, se tiene que verificar si es
semejante a los problemas que ya se han definido en la literatura como los NP, respecto
a estos existe una serie de definiciones muy específicas, de manera que pudiera
concentrarse en otros aspectos, como las restricciones que pudieran variar respecto al
problema.
2.2.3 Forma de representar el espacio de soluciones.
Luego de determinar el espacio de soluciones, solo se consideran las factibles que se
van a implementar, esto quiere decir, que solo se implementan las que cumplan con las
restricciones ya establecidas, de estas una o más, pudieran ser la que brinde la solución
óptima que permita resolver el problema. También es necesaria la información o los
datos que interfieren y representan el instanciamiento del problema a resolver. Una vez
que finaliza el proceso se procede a la determinación de la estrategia a seguir para
obtener la mejor solución al problema.

2.3 Percepción sobre la inteligencia artificial.


La inteligencia Artificial ya paso a formar parte de la vida cotidiana de las personas, hace
algunos años, era el término que se les aplicaba a algunos programas que para la
actualidad serían considerados pocos inteligentes, pero con el pasar del tiempo, se
repetirá el ciclo en el futuro considerando simple lo que en la actualidad se considera
IA. Si se toma en cuenta la computadora Colossus, con la que se logra alcanzar el éxito
de la implementación del criptoanálisis, fue considerado una máquina inteligente en los
años 40. La primera calculadora portátil, en los 60 era otro gran avance para la época
considerado como una máquina inteligente.

En la vida diaria de las personas, ya es cotidiano la interacción con las máquinas


inteligentes, la percepción futura que se tiene es que, en algunas estaciones de trenes
se enrutan los horarios y cómo deben transitar, con la finalidad de evitar una colisión,
este ordenamiento estaría en manos de la inteligencia artificial. Actualmente ya existen
algunas líneas de metros en Nuremberg, Alemania, donde los trenes son
autotripulados. Dicho proyecto se lleva a cabo por Siemens Mobility en un proyecto
denominado Rubin. Inició en el año 2010 la implementación de dos líneas totalmente
automatizadas. El primer pensamiento que se formula es, la cantidad de despidos que
trajo esta invención, sin embargo, los conductores ahora se encargan del servicio al
cliente, asegurando el buen desempeño operacional que ha tenido esta
implementación. Ya los teléfonos móviles recomiendan temas de lectura a sus usuarios,
basándose en la información que consideran de interés para ellos, con esto se asegura
lo inmersa que esta la IA en la vida diaria

Se considera que el crecimiento de la Inteligencia Artificial se lleva a cabo de forma


exponencial, y no lineal como otros creen. Los seres humanos están programados para
desarrollar el futuro basándose en el pasado, donde hace 70.000 años hubo el
desenlace cognitivo por parte el homo sapiens, logrando caminar erguidos, en vista de
la libertad que siente en sus miembros superiores, desarrolla herramientas, luego vino
el lenguaje, desarrollo de culturas y finalmente sistemas intelectuales. Colocando al ser
humano en la cúspide de la cadena evolutiva. El tiempo entre el desarrollo de los
grandes hitos de la historia fue considerable y extenso en las diferentes épocas del
desarrollo del hombre desde que eran cazadores y recolectores hasta
aproximadamente los años 1500 EC, donde se ha visto un avance significativamente
rápido respecto a los avances del pasado. En vista que, en el pasado, se necesitó más
tiempo para alcanzar el desarrollo de los ciertos hitos de la humanidad, se cree que en
el futuro será el mismo caso. No exactamente funciona de esta forma. Si por ejemplo
una persona de la época de Constantinopla medieval, aproximadamente en los años
1000 DC es enviada a la edad de Cristóbal Colón, se encontraría con situaciones un
tanto interesantes como ciudades más grandes, un sistema estatal más funcional,
algunas mejoras médicas, en general se adaptaría rápidamente y no se asombraría
tanto. De la misma forma si una persona del año 500 EC del reino de los Francos, se
envía a la Constantinopla del año 1000 CE, tampoco encontraría un avance tan
desfasado de lo asombroso, en cambio sí, del año 1492 DC se envía una persona a la
actualidad, a una gran metrópolis, pensaría que se encontraría en un lugar totalmente
diferente y ajeno. De esta forma se evidencia el rápido avance que ha tenido la sociedad
en la actualidad respecto al desarrollo de los hitos en el pasado. Observando los 70.000
en el pasado partiendo desde el punto de la evolución cognitiva, se puede deducir que
cada vez se está mucho más cerca del desarrollo de los grandes hitos relacionados a la
inteligencia artificial.

Muchos estudios consideran la inteligencia artificial en tres categorías diferentes,


Inteligencia Artificial Específica (IAE), Inteligencia Artificial General (IAG), Super
Inteligencia Artificial (SIA), donde hasta los momentos solo se ha desarrollado la más
básica de todas estas tres categorías, la IAE. Ya se considera irrelevante calificar a la
mejor computadora en ajedrez, debido a que está en un desarrollo constante,
superando al mejor jugador humano en la disciplina, pero el tema relevante es que solo
se mantienen en un solo objetivo, y no realizaría otra tarea con la misma agilidad. La IAE
resuelve específicamente para lo que se ha diseñado, ya comprobado mucho mejor que
el ser humano, para dar el paso hacia la Inteligencia Artificial General, es requerido un
gran avance, llevando a un nivel mucho más humanizado desempeñándose en más de
un campo a la vez, calculando este alcance, como para el año 2050. Por otra parte, la
Verdadera Inteligencia artificial se estima que para el 2070 sea alcanzada. Creando el
paradigma que al alcanzar este tipo de inteligencia se mejoraría la rapidez en los
cálculos y resolución de problemas, pero lo que realmente es importante sería la
calidad con que realice este cálculo considerando una inteligencia de calidad.
Comparando con el ser humano lo que los hace mucho más inteligentes respecto a
otras especies no radica en la rapidez de pensamiento, si no la comprensión de ideas
del pensamiento mucho más complejas, como por ejemplo si se toma la inteligencia de
una hormiga y se acelera unas 5000 veces no entendería analogías tan complejas como
la mecánica cuántica, volar a la luna, construir un automóvil, etc.

2.4 Herramientas y diferentes aplicaciones de la inteligencia artificial.


Durante el desarrollo de la inteligencia artificial, se han implementado una serie de
herramientas, que han brindado un porte fundamental para su crecimiento y
fundamentación, entre ellas las más relevantes:
 Lenguajes de programación.
 Aplicaciones en sistemas expertos
 Entornos de Desarrollo.
2.4.1 Lenguajes de Programación.
Se entiende por comunicación, el intercambio de información de manera intencional,
que se lleva a cabo, por medio de la creación y entendimiento de los signos que
pertenecen a un sistema de signos convencionales. Esto es muy frecuente en el reino
animal, debido a que implementan algunos signos para representar diferentes mensajes
que consideren de suma importancia, tales como: el señalamiento donde hay comida,
cuando hay un depredador por los alrededores, compañero en problemas, etc. Los
sistemas de comunicación ayudan a prosperar a las especies debido a que pueden
adquirir información referida por los demás integrantes del grupo. Los humanos tienen
un sistema más estructurado y complejo de mensajes mucho más complicado respecto
a las demás especies del reino animal, lo que hoy en día se conoce como el lenguaje,
este permite comunicación y ayuda a entender gran parte de las cosas que se saben
sobre el mundo, a pesar que, otros mamíferos han demostrado indicios de poder
manejar un vocabulario, solo los seres humanos pueden comunicar una gran cantidad
de mensajes diferentes con el uso del lenguaje. Cabe destacar que hay otras
características que identifican al ser humano, sobre otras especies. Pero cuando Allan
Turing ideó su prueba, se basa en el lenguaje, debido a que está ligado a los
pensamientos.

Un agente dentro de las acciones que puede hacer, la comunicación es una de la más
importantes como forma de producir un lenguaje, también se conoce como el acto del
habla. Se usa en el mismo sentido, pero no estrictamente hablando, debido que algunas
acciones que no están ligadas al habla son consideradas como tal (señales de humo,
correo electrónico, uso del lenguaje).

En el ámbito de la inteligencia artificial intervienen los lenguajes de programación como


parte de la acción comunicativa, los cuales se han implementado para poder establecer
las instrucciones a un computador, en términos generales permite a una persona poder
comunicarse con una máquina, siendo muy provechoso para el desarrollo de
aplicaciones automatizadas, además aprovechando la existencia de esta comunicación,
se han desarrollado herramientas que pueden implementar la inteligencia artificial.
Entre los lenguajes de programación más destacados que emplean IA, se tienen los
siguientes:
 IPL-11: este lenguaje fue desarrolla en 1955 por Hebert Simon, Allen Newell y
J.C. Shaw, se considera como el primer lenguaje que dirigido a la resolución de
problemas de IA. En el año siguiente se desarrolla el antecesor del denominado
GPS, “Logic Theorist”, Teoría de la lógica, capacitado para demostrar una
variedad de teoremas matemáticos con la intención de imitar la manera en
cómo resuelve los problemas el ser humano, luego dando pie para el desarrollo
del GPS. Usado por Simon y Newell, para la creación del (General Solver
Problem) o solucionador general de problemas por su traducción en español.
 Lisp: El nombre de este lenguaje deriva de las siglas LISt Processor, se considera
uno de los lenguajes más antiguos pionero de la IA, fue desarrollado por Jhon
Mc Carthy. Dentro de los grandes aportes a la IA de este lenguaje destaca la
estructuración de datos en forma de árbol. Se considera las listas encadenadas
como la estructura de los datos de Lisp. Pudiendo los programadores poder
manipular el código fuente como una estructura de datos, haciendo posible la
implementación de macrosistemas permitiendo crear una sintaxis de lenguajes
de programación basados en Lisp. Este lenguaje fue el primero en el
procesamiento simbólico.
 Prolog: su nombre se toma de las siglas PROgramming in LOGic (programación
en lógica), se diferencia de los demás lenguajes porque es de implementación
exclusiva para la resolución de problemas de cálculo de los predicados,
basándose como inspiración para Philippe Roussel y Alain Coulmeauer en el
desarrollo de una herramienta que realice deducciones por medio del texto.
 Official Production System 5 (OPS5): este lenguaje se usa para la ingeniería del
conocimiento soportando el conocimiento en forma de regla. A pesar de ser
poco conocido este lenguaje, fue el primero implementarse con éxito en
sistemas especializados.
 Small talk: surge partiendo de la creación de un sistema automatizado para
implementarse en la educación, para poder expandir la creatividad de los
usuarios, ofreciéndoles un entorno donde podían crear, investigar,
experimentar. Este tipo de lenguaje era netamente orientado al trabajo, se le
relaciona mucho con la creación de una computadora personal, o al menos era
su objetivo principal. Este lenguaje introduce por primera vez el uso del
concepto de los objetos, cambiando totalmente algunos paradigmas de la
programación y siendo el pionero de la programación orientada a objetos (POO),
pero unos años después es que se fundamentó este tipo de programación.
 Logo: la peculiaridad de este lenguaje, es de fácil aprendizaje, siendo una de las
herramientas de trabajo preferidas por alguno jóvenes, está basado en Lisp, he
implementa ideas del construccionismo.

2.4.2 Aplicaciones y Sistemas Expertos.


La Inteligencia artificial se mantiene en un estado de cambio constante, desde el punto
de vista económico y científico, debido, a que en algunas ocasiones ha gozado de poco
apoyo financiero para el desarrollo de sus investigaciones, como en algunas
oportunidades si ha logrado el apoyo necesario, también ha tenido altas y bajas en la
credibilidad científica desde la perspectiva de diferentes sectores de la ciencia. Sin
embargo, gracias a personas perseverantes a sus ideales hoy en día ha tenido un gran
alcance, ya que ha comenzado a tener una serie de aplicaciones beneficiosas. Teniendo
como consecuencia un resurgimiento por medio de la implementación en los sistemas
expertos, hoy en día considerados como los resultados de la IA.

Las primeras áreas de éxito de la inteligencia artificial han sido en el lenguaje, un


ejemplo de ello fue el programa Eliza, desarrollado por Joseph Weizenbaum, como
pionero en programas capaces de descifrar el lenguaje natural, tuvo defensores, como
algunos personajes que se opusieron a la IA, el objetivo de su creador era que el
programa pudiera entablar una conversación textual coherente con las personas. La
base de su funcionalidad es basada en el psicólogo Carls Rogers, partícipe en el
desarrollo de un tipo de terapia centrada en la persona.

La IA también se ha aplicado de forma muy exitosa en el área de las ciencias naturales,


estableciendo los principios de almacenamiento y manipulación de los sistemas
expertos. Se puede decir que un sistema experto consiste en una aplicación que puede
resolver problemas difíciles que de una forma u otra implicaría gran capacidad de la
pericia humana. Por medio del uso de la inferencia y el conocimiento los sistemas
expertos pudieran llegar a asemejarse al razonamiento humano. “Dendral”, fue uno de
los primeros sistemas expertos, desarrollado en el Instituto de Tecnología de Carnegie,
por Feigenbaum. Este desarrollo estuvo altamente influenciado, por otros
investigadores como John Von Newman, Herbert Simon y Allen Newell. Feigenbaum, no
quiso abordar el proceso de la toma de decisiones, en su lugar, se dedica al proceso de
la memorización, creando EPAM (Elementary Perceiver and Memorizer). Su principal
aporte al desarrolla de la IA fue la implementación de redes de discriminación, que
luego fueron la base para los estudios de las redes neuronales.

Feigenbaum al inicio de los 60, trabajaba en una aplicación relacionada con un


espectrómetro de masas, surgiendo la necesidad de la construcción de una base de
conocimiento, para que pudieran ser usadas por los programas, obteniendo como
resultado el primer sistema experto ya conocido como el Dendral, mostrando una gran
cualidad y gran poder deductivo de la información sobre las estructuras químicas,
desprendiéndose de su conocimiento sobre la química. Luego Feigenbaum, continuó su
trabajo en otro proyecto, el cual introduce la posibilidad de explicar cómo es el proceso
del razonamiento en una herramienta, usando el lenguaje Lisp. La importancia en el
desarrollo de este sistema se basa en la demostración de lo eficiente que son los
esquemas de representación del conocimiento y sus técnicas de razonamiento, las
cuales ejercen en ese momento una gran influencia en el desarrollo de sistemas basado
en reglas, en el área médica y no médica. Principalmente enfermedades de la sangre.
FECHA AUTOR SISTEMA
1965 Stanford Dendral, deduce información de las estructuras
químicas.
1965 MIT Macsyma, Analisador de matemática compleja
1965 Carnegie - Mellon HearSay, interpretador del lenguaje natural.
1972 Stanford Mycin, Diagnóstico de las enfermedades de la
sangre
1972 Stanford Tieresias, herramienta para transformar el
conocimiento
1972 Stanford Prospector, identificación y exploración de los
minerales
1973 Stanford Age, herramienta para generar otros sistemas
expertos
1974 Carnegie - Mellon OPS5, Herramientas para desarrollo
de Sistemas Expertos
1975 University of Pittsburg Caduceus, diagnóstico de la medicina interna
1978 Rand Rosie, herramienta para generar otros sistemas
expertos
1978 Carnegie - Mellon R1, Configurar equipos para DEC.

Primeros sistemas expertos.


Diferentes Ambientes de Desarrollo.
Por el gran éxito que tuvieron los sistemas expertos en los 80, dan pie al surgimiento de
los conocidos Shell, se conoce como un entorno de desarrollo que brinda una interfaz al
usuario. Dentro de los componentes de un sistema experto posee dos herramientas de
suma importancia, entre ellas:
 Base de conocimiento: no es más que el registro de una serie de reglas que se
codifica sobre el conocimiento relacionado a un problema.
 Motor de Inferencia: utilizando la base de conocimiento crea una relación entre
las preguntas y los hechos, seleccionando solo los pasos y datos relevantes para
poder brindar un resultado.

Las Shells, son herramientas que fueron diseñadas como ayuda para el desarrollo e
implementación de los sistemas expertos. Básicamente es un sistema experto con una
base de conocimiento vacío, sin embargo, brinda las herramientas necesarias para
aportar los conocimientos bases para el desarrollo de una aplicación, a su vez va a dotar
del conocimiento suficiente al desarrollador, una herramienta capacitada para poder
representar el conocimiento, diferentes mecanismos de inferencia, una serie de
elementos que van a facilitar el desarrollo de un procedimiento, hasta algunas veces
una interfaz de usuario.

Estos ambientes de desarrollo fundamentan la creación de los sistemas expertos incluso


sin el conocimiento previo de algún lenguaje de programación, por esta razón se han
popularizado. Se presentarán a continuación una serie ambientes para el desarrollo de
sistemas expertos más populares:
 EMYCIN o Essential Mycin: es una shell desarrollada en la Universidad de
Stanford, partiendo del resultado del desarrollo de MYCIN, además fue la base
para el desarrollo de otros sistemas expertos como PUFF, encargado del
diagnóstico de las enfermedades pulmonares y Sacon trabaja con ingeniería
estructural.
 OPS5- OPS83: son Shell desarrolladas en C, como lenguaje para la inserción de
reglas bases. Este sistema se basa en el algoritmo propietario RETE2. Este
algoritmo es de muy reconocida eficacia para lograr comparar los patrones de
hechos en las reglas eligiendo cuales satisfacen sus objetivos.
 ESDE/VM (Expert System Development Environment): Entorno de Desarrollo de
Sistemas Expertos, por sus siglas en español, esta es una herramienta
desarrollada por IBM para implementarla en sus sistemas operativos MVS y VS.
Incluye el acceso a interfaces gráficas y accesos de base de datos. Implementa
reglas para la representación del conocimiento de los tipos IF x THEN y AND z.
Este tipo de herramienta es de fácil edición y su conjunto de reglas se asemeja al
razonamiento que emplea el ser humano para resolver un problema.
 KEE (Knowledge Engineering Environment): Entorno de Ingeniería del
Conocimiento, esta herramienta pertenece a IntelliCorp, une la programación
orientada a objetos (POO), y la implementación de reglas como representación
del conocimiento. Se conoce como una Shell híbrida por la combinación de estas
dos técnicas, su representación de basa en marcos, con una serie de jerarquías y
diferentes opciones de herencia permitiendo compartir los atributos entre los
diferentes marcos.
 S1: esta herramienta está basada en reglas, mejorando la introducción del
conocimiento, además incluye el idioma inglés, traduciendo pequeños
fragmentos de textos asociados con la base del conocimiento.
 EXSYS: se ha considerado como el resultado de 28 años de perfeccionamiento e
implementación como la herramienta líder para el desarrollo de sistemas
expertos, posee algunas herramientas para el desarrollo de sistemas expertos
que puedan interactuar en la web. Implementa las reglas IF/THEN como
resultantes de los encadenamientos hacia atrás o hacia adelante, dependiendo
del problema al que se le quiera dar solución.

2.5 Diferentes áreas de la inteligencia artificial.


Existen una serie de áreas que se desempeñan bajo el concepto de la inteligencia
artificial, hoy en día son cade vez más las que emplean este concepto para lograr
cumplir sus objetivos.

2.5.1 Minería de Datos (M.D.).


El almacenamiento de datos de las empresas, está en un constante crecimiento, de
manera que, se han presentado algunos problemas por el manejo de grandes
cantidades de información. Para ello destaca hoy en día la minería de datos (Data
Mining). Se considera como un conjunto de técnicas que se usan para la extracción de
información que se considera útil, de grandes bases de datos. Se entiende que minería
de datos conforma una parte del proceso completo de KDD (Knowledge Discovery in
Databases), comúnmente se entiende como si fueran los mismos conceptos, pero una
forma más concreta, el término minería de datos, lo implementan los estadísticos,
analistas y el resto de la comunidad de administradores de sistemas, como proceso de
descubrimiento, en cambio KDD, lo implementan los especialistas en inteligencia
artificial.

Durante una investigación científica es pertinente que los datos recopilados se analicen
de forma manual, pero cuando el manejo de los datos aumenta progresivamente,
básicamente se hace imposible el análisis por los métodos convencionales, aquí es
donde entran las diferentes técnicas de análisis automatizados refiriéndose a minería
de datos o KDD.

De manera directa e indirecta los grandes avances en la minería de datos se deben al


gran desarrollo que han tenido algunas bases de datos, muchos problemas se han
presentado durante la representación del conocimiento por la dificultad del manejo de
los datos, aquí es donde grandes investigadores han presentado su interés por resolver
esta situación. Por ellos se han logrado alcanzar diferentes definiciones del Concepto
Minería de Datos:
 MD, se refiere a la extracción de la información sin trivialidades además
potencialmente útil desde datos PSF91.
 MD, consiste en el proceso de refinamiento y extracción de los datos útiles de
una base de datos SLK96.
 MD, es el proceso de interacción con información potencialmente desconocida,
pero a la vez válida que es procesable desde grandes bases de datos, para luego
poderse utilizar para llegar a la toma de decisiones.
 MD, se encarga de explorar y analizar por medios automatizados un gran
número de datos para poder crear patrones y reglas significativas.
 MD, se basa en el planteamiento de consultas y análisis de información útil para
poder extraer los diferentes patrones de tendencia del comportamiento de los
datos almacenados en una base de datos.

Herramientas de la minería de datos.


Existen dos motivos por los que el estudio de la minería de datos ha tomado la
perspectiva orientada hacia los datos. Inicialmente, porque un gran número de los
trabajadores de MD, se van enfocando hacia data warehouse (almacén de datos), ya
que brinda una estructura y organización a los datos de la minería de datos. Desde hace
mucho tiempo se han estado implementado otro tipo de tecnologías como apoyo a la
MD, permitiendo su gran avance y desarrollo en su utilidad. Las más resaltantes entre
los métodos estadísticos se tiene DEGR86, además el aprendizaje automático MIT97, los
diferentes métodos estadísticos produjeron paquetes como THUR99 con la finalidad de
poder computar sumas, distribuciones, y promedios, integrándose de manera directa
con las bases de datos que se van a explorar. Si bien sabemos que el aprendizaje
automatizado es la adquisición de una serie de reglas del aprendizaje y modelos de
datos, que a menudo necesita la intervención de la estadística, siendo de suma
importancia estos aspectos para la minería de datos, también existen otras tecnologías
como la visualización, procesamiento paralelo el apoyo a la toma de decisiones. Las
técnicas de visualización apoyan en la representación de los datos, el procesamiento
paralelo mejora el rendimiento de la minería de datos y la toma de decisiones. Los
sistemas basados en la toma de decisiones, apoyan en la discriminación de los
resultados brindando los datos esenciales para poder llevar a cabo el direccionamiento.
Entre las diferentes áreas de aplicación de la minería de datos, resalta el marketing, por
el gran crecimiento en el manejo de las transacciones de pago, gestionadas por los
puntos de venta generando gran cantidad de información para poder analizar luego. En
compañía de seguros, para la predicción de los clientes potenciales pudieran adquirir
otro tipo de pólizas, estudio de patrones de comportamiento relacionados al riesgo de
algunos clientes, identificar acciones fraudulentas. En el sector bancario, para identificar
los hábitos crediticios de los clientes y poder determinar sus capacidades de pagos.
Telecomunicaciones, se implementa en el almacenamiento de los registros de llamadas
realizadas, para poder detectar comportamiento fraudulento o estudiar alguna
tendencia sobre alguna zona en cualquier época del año. En el sector salud, se puede
almacenar información referente a los pacientes, para poder determinar tratamientos
respecto a enfermedades, evitar propagaciones durante epidemias.

2.5.2 Computación Evolutiva.


Se entiende por computación evolutiva como la doctrina de la inteligencia artificial, que
usa modelos computacionales, para resolver problemas que se inspiran en la evolución
natural. Para poder implementarla de una manera satisfactoria, hay que basarse en la
heurística, para poder abordar inconvenientes, referentes a la búsqueda de la
información, modelado, optimizar combinaciones, control de los procesos, entre otros.
Fundamentando su funcionamiento en la emulación de procesos naturales, tomando de
muestra una población integrada por un conjunto de posibles soluciones que a su vez
interactúan entre sí, pero en todo momento siguiendo los principios de evolución
natural, para poder proveer mejores soluciones, esto quiere decir, posibles soluciones
que serán evaluadas para adecuarse a la situación a resolver. Los seres vivos
predominantes en los procesos de la naturaleza, son aquellos que han tenido una mejor
adaptación a las condiciones del entorno que lo rodean, pudiendo lograr la
perpetuación de sus genes como individuo más capacitado. Este tipo de proceso
también está presente en la computación, emulando los procesos de adaptación, como
mecanismos de resolución de problemas eligiendo las mejores soluciones, y
seleccionando a los mejores candidatos por medio de técnicas de combinación de
características.

Es muy importante tomar en cuenta los factores a continuación en la computación


evolutiva:
 Selección.
 Combinación o cruce.
 Mutación.
 Representación del problema.
 Función objetivo.

Existen 3 vertientes de la computación evolutiva:

Programación Estrategias Algoritmos


Evolutiva Evolutivas Genéticos

La programación evolutiva, también conocida como algoritmo evolutivo: pudiera


entenderse como funciones de mejora partiendo de un arreglo de datos que muestra
diferentes soluciones de un problema, la programación evolutiva para poder llegar a
este punto utiliza operadores que se basan en la teoría de Charles Darwin como, por
ejemplo: el cruce o crossover, la selección del más apto, mutaciones, Etc.

A continuación, un esquema sobre el funcionamiento de la computación evolutiva.


1. La selección aleatoria de “n” individuos como población inicial.
2. Evaluación de los individuos.
3. Selección de los individuos que serán los padres de la siguiente generación.
4. Implementar los operadores sobre los padres seleccionados.
5. Evaluación de los hijos obtenidos.
6. Regreso al paso 2.

Las estrategias evolutivas, de la misma forma, están es inspiradas en el principio de


evolución de Charles Darwin, donde los individuos que pertenecen a una estrategia
evolutiva tienen la siguiente estructura:
𝐼 =< 𝑥1 , 𝑥2 … , 𝑥𝑛 , 𝜎1 , 𝜎2 … 𝜎𝑛 >

Donde los 𝑥𝑖 hacen referencia a las variables del problema, y los 𝜎𝑖 son los parámetros
que representan a la estrategia evolutiva. Principalmente las estrategias evolutivas se
caracterizan por la capacidad de adaptación, además son técnicas de optimización que
generalmente operan bajo el algoritmo a continuación:
1. Generar la población confirmada por “N” cantidad de individuos.
2. Las variables objeto (Xi) se van a generar de forma aleatoria.
3. Definir las variables de estrategia.
4. Evaluación del desempeño de cada individuo.
5. La selección de los padres se hace por probabilidad, para otorgar a cada
padre igual probabilidad de selección.
6. Realización de la combinación.
7. Se realiza la mutación.
8. Selección de la nueva población.
9. Inicialización de ciclo nuevamente.

Los algoritmos genéticos son definidos como una serie de pasos adaptativos, que se
usan para soluciones complejas, de igual manera se fundamentan en las teorías de
Darwin, tratando de emular los conceptos y procesos naturales. De igual forma que en
los procesos naturales en los algoritmos evolutivos existen los procesos de competencia
y la supervivencia del más apto, esto comúnmente es conocido como proceso de
selección, que por medio del empleo de estas adaptaciones determina los cromosomas
de los nuevos individuos.
Estos algoritmos usan también operadores genéticos como cruce o crossover,
describiéndose de la siguiente forma:
Luego de haber presentado las soluciones se emplean los mecanismos de la selección
para la reproducción, luego se emplean operadores de cruce y mutación, a
continuación, un pseudo código para que pueda apreciarse mejor un algoritmo
genético:

Inicio
t=0
Inicializar P(t) //para la selección de la población
Evaluar P(t) //se evalúa la población de parada
Mientras (no se cumpla la condición de parada)
Hacer
Inicio
t=t+1
Seleccionar P(t) desde P(t-1)
Cruce y Mutación sobre P(t)
Evaluar P(t)
Fin
Fin
Algoritmo Genético.

1. Creación la total de la población inicial de cromosomas, de forma aleatoria.


2. Selección de los individuos (por lo general se selecciona toda la población).
3. Se hacen las respectivas combinaciones entre los individuos más cercanos.
4. Se forman las mutaciones de cada uno de los individuos con una probabilidad de
P(n).
5. Se inicia el proceso nuevamente.
2.5.3 Reconocimiento de Imágenes.
El reconocimiento de imágenes es una de las cualidades más peculiares de la
Inteligencia Artificial, ya que se pueden ordenar imágenes de una forma automatizada y
también poder extraer información o datos importante de ellas. El reconocimiento de
imágenes, se basa principalmente en la identificación de los patrones y características
en las imágenes. Esto se logra por medio de la implementación de una serie de
algoritmos que se encargan de reconocer y analizar estos patrones para poder
identificar un objeto, y poder diferenciarlo del resto. Cabe destacar que, para que
puedan reconocer una imagen, estos algoritmos que se implementen deben ser
entrenados con un gran número de imágenes con la finalidad de mejorar los aciertos en
cuanto al reconocimiento, este proceso se puede llevar a cabo por categorías, donde se
le brindaría una serie de imágenes referente a esta categoría para que el algoritmo
pueda lograr lo que se conoce como aprendizaje supervisado.

El ser humano usa la visión, como cualidad principal con el objetivo de poder llegar a
reconocer su entorno, por lo que, identificar una imagen, sería una herramienta
tecnológica que se usa en el procesamiento, análisis y entendimiento de las imágenes,
en cambio la visión humana interpreta situaciones mucho más complejas.

Actualmente no se necesita tener un tipo de infraestructura un tanto compleja para el


desarrollo de sistemas que puedan reconocer imágenes. Para ello existen una serie de
herramientas como los lenguajes de programación y diferentes de librerías basadas en
Machine Learning que permiten la creación de estos sistemas, los lenguajes de
programación Python y Lenguaje R, son de uso muy común para el desarrollo de estos
sistemas.

Para poder alcanzar un mejor funcionamiento se pueden unir varias tecnologías como:
Deep Learning, Machine Learning y Language Processing, un computador podría llegar a
entender el proceso del reconocimiento de personas, objetos y hasta lugares, pero
implementado a una escala mucho más elevada, reconociendo millones de imágenes al
mismo tiempo, un nivel de detalle muy específico. Si embargo cabe destacar que el
crecimiento y desarrollo de este proceso va a depender del ser humano.
En la actualidad, las empresas que implementen este tipo de tecnología en alguno de
sus procesos lograran un avance significativo en la capacidad de análisis interpretando
imágenes de forma simultánea, mejorarán la toma de decisiones, logrando un
procesamiento preciso y más rápido de la información, aumentando la confianza de la
información ya que estaría la situación capturada al momento de un suceso. Por todo
esto el reconocimiento de imágenes ha logrado abarcar sectores como: urbanismos,
seguridad, medicina, etc. Sin embargo no escapa de algunos inconvenientes que
pudiera tener durante la implementación de esta tecnología debido a que, para poder
lograr su ejecución requiere un alto costo de inversión, debido los costosos que
pudieran ser lo equipos con los que opera, además para lograr un mejor entrenamiento
se necesitan varias fotografías de un mismo objeto a identificar, considerando los
diferentes escenarios y condiciones como la luz, se necesitan grandes cantidades de
almacenamiento y gran procesamiento de cómputo y servidores adecuados.

2.6 Representación del conocimiento.


Casi todos los programas y software que implementan IA, pueden manipular piezas y
símbolos de información del mundo, a partir de los conocimientos que adquiere, por
medio de variedades de fuentes de adquisición de conocimiento. Considerando que una
máquina puede comportarse de forma inteligente si tiene suficiente información en su
base de datos y ser capaz de acceder a ella, no es suficiente con introducir el
conocimiento en la máquina, se le tiene que proveer los mecanismos.

Cuando se alcanza el razonamiento sobre la información almacenada en una base de


datos, surge la necesidad de representarlo de algún modo, pero este debe ser
adecuado al conocimiento que se adquiere. El área de la IA, que se encarga de la
representación del conocimiento adquirido de una computadora, se conoce como
Representación del Conocimiento, y sus formas variadas, estructuras o técnicas, que a
su vez van a permitir representar el esquema conceptual como uno formal se denomina
Formalismos o Técnicas de Representación de Conocimiento.
Proceso de modelización del Mundo Externo hacia una Base de Conocimiento.

2.6.1 Formalismos de la Representación del Conocimiento.


Para que un sistema pueda llegar a representar el conocimiento se necesitan rasgo de
eficiencia y suficiencia tales como:
 La suficiencia de la representación: es la facultad de representar todos los
conocimientos que sean necesarios.
 Suficiencia Deductiva: la capacidad de poder manipular estructuras de
presentación, con el objetivo de generar nuevas estructuras correspondientes
con un nuevo conocimiento deducido del anterior.
 Eficiencia Deductiva: capacidad de incluir nueva información en las estructuras
del conocimiento con el objetivo de que los mecanismos de inferencia sigan las
direcciones prometedoras.
 Eficiencia en la Adquisición: adquirir nueva información muy fácilmente.

Las características anteriores, se consideran deseables, debido a que no existe un


formalismo establecido que las garantice, pero es conveniente que un formalismo si
posea:
 Exactitud: el modelo implementado debe ser fiel a realidad para que no pueda
distorsionarla.
 Adecuación: se refiere a las expresiones y la eficacia del formalismo, la primera
se basa en todo lo que se puede acotar con la notación, en concreto. La eficacia
se refiere a las formaciones concretas que se usan y el tipo de impacto que estos
fundamentos pueden acarrear en el desempeño del sistema.

Estas exigencias facilitan escoger un grupo heterogéneo de formalismos imperfectos,


que podrían adecuarse al conocimiento de lo que se quiere representar.

2.6.2 El conocimiento y sus tipos.


Los diferentes formalismos de representación del conocimiento van a depender del tipo
de conocimiento, los diferentes formalismos hacen posible representar el conocimiento
que sea del mundo exterior, pero en particular, unos formalismos son más adecuados
que otros.

2.6.2.1 Conocimiento procedimental y el declarativo.


El conocimiento declarativo, se considera relacional simple, partiendo de la afirmación
de que se pueden almacenar en estructuras semejantes a las que usan los sistemas de
bases de datos, considerándose simple por el poco nivel deductivo que ofrece.

Persona Fecha Nacimiento Calificación. Preferencia


Francisco 19/11/1986 34 Base de datos
Antonio 22/02/1957 64 Algoritmo
Manuel 04/11/1992 29 Inteligencia Artificial
Conocimiento descriptivo en forma de tabla.

También existe el conocimiento operacional o procedimental, indica lo que se tiene que


hacer ante una situación particular, basándose en la representación del conocimiento
descriptivo.

2.6.2.2 Conocimiento heredable.


Unas de las mejores formas de uso de la inferencia en la herencia de las propiedades,
donde cada elemento perteneciente a una clase, hereda los atributos de las demás
clases generales Padres que interactúan.
2.6.3 Métodos que permiten representar el conocimiento.
Los Métodos de representación del conocimiento se pueden agrupar en tres tipos, en
función de la adecuación del formalismo.

2.6.3.1 Basados en Conceptos.


Equivale a las más importantes entidades del dominio, tal como, los posibles valores
que pueda desencadenar cada propiedad. Los más utilizados son: Objeto-Atributo-Valor
y los Marcos.
 Marcos: es un mecanismo de datos que interpreta situaciones estereotipadas, y
tiene capacidad de representar caracteres semánticos acerca del conocimiento
declarativo del dominio. Los marcos se conforman por un conjunto de
propiedades y definidas como ranuras, o Slots. Cada ranura contiene
propiedades, que obtienen de facetas y estas a su vez, describen los valores que
son capaces de tomar. Estos marcos se relacionan con otros, de manera que
pudieran crear una jerarquía entre ellos. A nivel de práctica los marcos y los
objetos se asemejan según su utilidad, hay algunas herramientas Shell que
tienen el mismo significado.

 Composición de los Marcos: Marcos clases y marcos instanciados. Su estructura


es representada en forma descriptiva de cada una de sus características
(superclase de elementos y subclase e instancia).

Jerarquía de Marcos.
No estándares, (no disyuntivo, fraternal, cualquier otra “ad hoc”).

Relaciones estándares.

Las relaciones pueden plantear las dependencias, permitiendo poder desarrollar


un concepto basado en marcos.

Propiedades: estas son propiedades de clase (propias), de instancia (miembros).


Ranuras: está compuesto por el concepto de propiedad y de la relación.

Facetas por conocimiento: dependen del tipo de conocimiento y son declarativas


(claridad, tipo, multivaluado, valores permitidos), procedimentales (precondición, si
necesito, si añado, si borro).

Relaciones estándares.
Facetas por los tipos de propiedades: de clase y de instancia (carnalidad, tipo, factor de
certeza, multivaluado), de instancia (Valores por omisión, valores permitidos,
precondición).

2.6.4 Formalismos que se basan en las relaciones.


Tienen la capacidad de representar las relaciones que existen entre todos los conceptos
y entidades. Destacando Las redes semánticas, la lógica, las ontologías y Teoría de
dependencia conceptual. Los formalismos puede ser la lógica del predicado o de primer
orden o la lógica proposicional.

La lógica proposicional establece que una proposición se define como un enunciado, o


expresión que tiene un significado y por medio de un criterio de ser calificada como
verdadero falso. A continuación, varios enunciados como ejemplos de proposiciones:
 Brasil es campeón mundial de futbol.
 Marte es un planeta.
 Arabia es un país petrolero.
 Los cuerpos se dilatan por el calor.

No cualquier frase, es considerada una proposición:


 ¡¡¡Estoy Feliz!!!
 ¿Dónde te encuentras?
 No cruces la calle si hay mucho tráfico.

La frase” Brasil es campeón mundial de futbol”, se identifica como una preposición


debido a que se puede considerar como verdadera o falsa, partiendo del caso en que
Brasil ha ganado los mundiales de los años 1958, 1962, 1970, 1994 y 2002, por estas
razones puede ser calificada como verdadera, en cambio la frase ” No cruces la calle si
hay mucho tráfico”, no se considera una proposición debido a que es una oración
imperativa donde está expresando un concejo o sugerencia, por ende no se puede
calificar como falsa o verdadera.
En la lógica de proposiciones, estas se consideran como objetos o elementos básicos, y
se representan con una letra minúscula del alfabeto, p, q, r, s, etc. Considerando cada
letra como el nombre de símbolos proposicionales o átomos. La proposición atómica o
simple consiste en un solo símbolo proposicional. Las que relacionan más de dos
proposiciones por medio de un conector lógico se considera proposiciones compuestas.

Tomando como ejemplo la proposición el número “15 es divisible por 3” y “15 es


divisible por 5”, se unen por el conector lógico “y”. En la lógica de las proposiciones las
fórmulas o sentencias bien formadas son construidas implementando símbolos
proposicionales, conectores lógicos y símbolos auxiliares. En la lógica de proposiciones
los símbolos “p”,” q”,” r”,” s”,” t” se consideran primitivos.

Conectores Lógicos: comprenden los siguientes, conjunción (∧), disyunción (∨),


negación (¬), implicación o condicional (→), bicondicional (↔).
Símbolos auxiliares: “(”,“)”, “[”,“]”, “{”,“}”.

Para que una expresión pueda ser considerada una fórmula bien formada tiene que
cumplir con los siguientes criterios:
 Absolutamente todos los símbolos proposicionales significan una formula bien
formada.
 Si A significa una expresión formada, su negación sería, (¬ A).
 La expresión A y B se considera bien formada porque se encuentra unida por el
conector lógico “y”.
 Se considera que A, es una expresión bien formada, si es el resultado de haber
aplicado todo lo anterior “n” finitas veces.

Considerando las siguientes proposiciones:


 p. La inflación es elevada.
 q. la tasa de desempleo es elevada.
 r. el índice de pobreza aumenta.
Pueden construirse fórmulas bien formadas:
 p ∧ q → r¬(p∧ q) ¬r

Una vez dados los valores de verdad de las proposiciones, es posible obtener el valor de
verdad de una formula o expresión usando la semiología de los conectivos lógicos.
p q p∧q p∨q ¬p p→q p↔q
V V V V F V V
V F F V F F F
F V F V V V F
F F F F V V F

Valores de la verdad.
Es posible determinar los valores de verdad, sin la necesidad de tomar en cuenta la
semántica de las expresiones, solo se tiene que conocer su estructura. Como, por
ejemplo, calcular el valor de la expresión pq pq:
p q p∧q p∨q p∧q→p∨q
V V V V V
V F F V V
F V F V V
F F F F V

Cálculo del valor de la verdad.


Existen argumentos que no pueden ser evaluados en la lógica proposicional, como el
lenguaje natural con argumentos intuitivamente válidos para ello se tiene a la lógica de
los predicados. Debido a la carencia de un mecanismo para poder indagar buscar la
estructura interna de las variables proposicionales, generalizar y también poder
diferenciar un objeto de una propiedad:
 Las ciudades con playas son preferidas por los turistas.
 Algunos niños les gusta dibujar.
 Todo ser humano es masculino o femenino.
En la lógica de los predicados, se puede permitir enunciar algo acerca de los objetos, en
otros términos, se puede especificar los atributos y las relaciones entre los elementos
por medio de los objetos, relaciones y atributos.

Por otra parte, las redes semánticas, se consideran grafos con su respectiva orientación,
conformados por nodos y arcos de una sola dirección, los nodos van a representar los
objetos, conceptos, atributos, situaciones o todas aquellas características, mientras que
los arcos entre los nodos son las relaciones que hay entre los conceptos. Los arcos se
pueden realizar en forma de estructura, independientemente del conocimiento que se
representa.

Red Semántica.

Las ontologías, son especificaciones de índole formal y explícitas de una


conceptualización compartida. Son consideradas formales debido a que son estructuras
teóricas de una serie de términos. Por otra parte, son compartidas debido a la captura
que tiene del conocimiento por consenso aceptado por una comunidad y finalmente
explícitas, por la referencia que hace a los conceptos y restricciones. Por último, es
importante resaltar que una ontología debe estar totalmente libre de ambigüedades y
legible.
2.6.5 Formalismos basados en acciones.
Este tipo de formalismo representan los conocimientos por medio de acciones básicas
los más importantes son: Reglas de Producción y los Guiones

La representación del conocimiento que se basa en reglas, tiene como principio: la


relación lógica que existe entre un conjunto de objetos, se representa por medio de una
regla, las reglas tienen la forma “si P entonces Q”, en donde P significa el antecedente,
condición, premisa o situación de la regla y Q el consecuente, respuesta, conclusión.

2.7 algoritmos de la inteligencia artificial.


Se considera la inteligencia artificial como un lenguaje de máquina que le permite
actuar y pensar lo más parecido a un ser humano ante la resolución de problemas en
particular. El aumento de la implementación de en la economía cada vez es más
considerable, debido al continuo crecimiento de la IA, abarcando cada vez más campos
de aplicación. Entre los tipos de aprendizaje se tienen el aprendizaje supervisado, no
supervisado, reforzado y conjunto. El lenguaje de la IA implementa algunas entradas
con la finalidad de hacer más lógica la matemática para emitir resultados más
manejables a nivel lógico. Si se sabe que el lenguaje de máquina se identifica como un
subcampo de la IA, el algoritmo implementa tanto entradas como salidas con la
finalidad de emitir nuevas salidas luego de haber recibido nuevas entradas.

Cómo función principal del algoritmo de la IA cosiste en la correcta selección de la


técnica de aprendizaje automatizado, para la resolución de problemas. Para ello se han
desarrollado varios algoritmos aplicados para las diferentes áreas y sectores,
obteniendo beneficios de diferentes formas por su implementación.
2.7.1 Algoritmos de Clasificación.
Se seleccionan en la categoría de aprendizaje automatizado supervisado, siendo
necesarias algunas clases para dar inicio al proceso. Su objetivo principal se encarga del
cálculo de la categoría de datos (Clasificación de correos Spam).
 Bayes ingenuos: Se basa en el teorema de bayes, por medio del enfoque
probabilístico. Se consideran de rápida ejecución y comúnmente se utilizan en el
filtrado de spam.
 Árboles de Decisión: Se implementan como diagramas de flujo.
 Bosque al azar: integrado por varios árboles en que la entrada suministrada es
dividida y se alimenta de varios árboles de decisión. Para obtener la solución de
la salida, se deben promediar los árboles de decisión.
 Máquinas de vectores: son las únicas que clasifican los datos a través del
hiperplano de manera que intenta ordenar los datos por medio del máximo
margen entre dos clases.
 Vecinos más cercanos: todos los datos son separados con la finalidad de la
obtención nuevos datos.

2.7.2 Algoritmos de Regresión 2.


Predicen los valores de salida basándose en los datos de entrada que alimentan al
sistema, es uno de los más populares categorizándose en los algoritmos de aprendizaje
automatizado supervisado.
 Regresión Lineal: establece una línea entre los diferentes puntos de los datos, y
por medio de la línea de mejor ajuste es capaz de predecir nuevos resultados.
 Regresión de lazo: Se encarga de obtener el grupo de datos de predicción que
disminuye el error de predicción en una variable de respuesta.
 Regresión Logística: implementa la clasificación binaria, para las predicciones de
vida útil para el cliente, valores de bienes.
 Regresión Multivariante: se caracteriza por el gran número de variables de
predicción.
 Regresión Múltiple: surge de la combinación de regresión lineal y no lineal.
2.7.3 Algoritmos de agrupación.
Se ubican en el área de aprendizaje automático no supervisado. Su proceso se basa en
la organización de los datos basándose en la semejanza que tienen.
 K-medias: se encarga de reunir puntos semejantes para agruparlos donde k va a
representar varios grupos, K-Means Clustering, se considera el algoritmo de
aprendizaje no supervisado más simple.
 C-medias: Realiza sus funciones por medio de la probabilidad.
 Maximización de Expectativas: Se basa en la distribución gaussiana.
 Agrupamiento Jerárquico: para un enfoque de arriba hacia abajo se implementa
el divisivo, y para un enfoque de abajo hacia arriba, agrupamiento aglomerativo.
3. SÍMBOLOS Y MÉTODOS NUMÉRICOS.

3.1 Inteligencia artificial simbólica.


En la era moderna, específicamente en la actualidad, la inteligencia artificial, la
comprende principalmente: redes neuronales y aprendizaje profundo. Pero
inicialmente no era de esa forma. Aproximadamente, durante seis décadas de la
invención de la inteligencia artificial, este campo era dominado por la inteligencia
artificial simbólica o comúnmente conocida como IA clásica, IA basada en regla o IA
pasada de moda.

La IA simbólica, se fundamente en la incorporación de una serie de reglas basadas en el


comportamiento del pensamiento humano pero aplicadas en programas informáticos,
mostrándose muy prometedora desde su invención, pero últimamente con el desenlace
de las redes neuronales, que cada vez ganan más terreno, ha dejado poco a poco en el
camino a la IA simbólica.

3.1.1 Los símbolos en la Inteligencia Artificial Simbólica.


Los símbolos son una serie de imágenes u objetos que usan las personas para lograr la
representación de algo, estos juegan un papel fundamental en el pensamiento y
razonamiento humano, la mayoría de las personas visualiza en su mente todas las cosas
que le dicen. De manera que, constantemente, se implementan los símbolos para
definir los objetos, personas, cosas. Estos pueden representar conceptos abstractos u
objetos que no existen de forma tangible o físicamente, pero a su vez, estos pueden
representar acciones o estados. Los símbolos se pueden estructurar en jerarquías y
también se pueden usar para describir otros símbolos. La comunicación entre las
personas por medio de la implementación de símbolos, es uno de los factores que se
considera que hace inteligente al ser humano, es por ello que la implementación de
símbolos juega un gran papel en el desarrollo de la IA.
Se pueden implementar los símbolos para la transferencia de aprendizaje, en otro
sentido, no directamente de un ser humano a otro, si no entre situaciones a lo largo de
la vida de una sola persona. Se puede decir que un solo símbolo presenta un gran nivel
de abstracción sobre los detalles concretos, de manera que permite la transmisión de lo
que se ha aprendido en una situación, para luego ser implementada en otra situación
diferente. Debido a que las recompensas son pocas, se hace difícil establecer una
conexión con sus causas (las razones por las que una persona no se encuentra a gusto
consigo misma en la actualidad, puede estar relacionado con las decisiones tomadas en
el pasado). Los símbolos pueden definirse como una forma de transmisión de las
señales de recompensa que se aprendieron en otras situaciones. En tal aspecto que la
categoría abstracta para silla, es la afirmación a una analogía entre todos los objetos
llamados sillas transfiriendo el conocimiento de una silla a otra con el empleo de los
símbolos.

Podría llamarse razonamientos a las combinaciones de los símbolos que expresan


interrelaciones, y la manipulación simbólica se refiere a la agrupación de símbolos para
poder expresar el pensamiento.

Los primeros desarrolladores de la IA pensaban que: todos los factores del aprendizaje
u otra característica referente a la inteligencia, inicialmente, se pueden describir de una
forma muy precisa, como para crear una máquina y poder simularlos. Por ello el foco se
centra en la IA simbólica y se convierte en la principal dirección para el desarrollo de
proyectos de investigación, de manera que los investigadores desarrollaron
herramientas para manipular y poder definir los símbolos.

En gran manera, muchas de las herramientas y fundamentos teóricos en la informática


han sido el resultado de estos grandes esfuerzos. Los programas basados en IA
simbólica están conformados de agrupaciones explícitas y reglas de comportamientos.
Como por ejemplo la programación orientada a objetos (POO), los lenguajes de
programación basado en este paradigma, permiten la definición de clases, definir sus
propiedades y establecerlas de forma jerárquica, de manera que se pueden crear
instancias de estas para poder manipular sus propiedades, y realizar acciones
entendidas como: funciones, métodos o procedimientos, donde cada método puede
ejecutar instrucciones basándose en las reglas que pueden leer del objeto.

3.1.2 Métodos de la Inteligencia Artificial Simbólica.


La resolución de problemas de la IA simbólica, es realizada por medio del enfoque de
arriba hacia abajo, un ejemplo de ello es la computadora desarrollada para jugar
ajedrez. Por medio de la afirmación “Busca y encontrarás”, se establece la búsqueda
como técnica simbólica de la inteligencia artificial, donde significa que la máquina
realiza la prueba de todas las soluciones posibles, paso a paso, validando los resultados,
donde si se toma nuevamente como referencia la computadora desarrollada para jugar
ajedrez, representa un gran número de movimientos y cadenas de combinaciones de
jugadas diferentes y por medio del resultado, toma la decisión basándose en la cadena
de movimientos que tengan una mayor probabilidad de ganar. La comparación de esta
analogía respecto a la mente humana es latente, debido a su semejanza de
pensamiento de las personas al jugar este tipo de juegos de estrategia o juegos de
mesas donde visualizan varias jugadas a futuro, desarrollando el camino que mejor le
parezca para obtener la victoria.

Proceso de búsqueda de la información.

Cuando es realizado el proceso de búsqueda, la IA hace la comprobación de todas las


combinaciones posibles de las soluciones, paso a paso, donde la parte que dirige a la
solución más eficaz se almacena en la memoria de la máquina. De forma natural, un
software posee la ventaja en cuanto a la comprobación indefinida de los posibles
movimientos y escenarios por medios de su potencia de cálculo. Se pudiera tomar en
cuenta como ejemplo, la computadora AlphaGo, hace su funcionamiento, con una
variación de esta técnica en su núcleo. Pero la notoria diferencia radica, en cuanto el
poder de computo entre el ser humano y un computador, es que este último va a
realizar hasta las combinaciones que no tienen sentido durante la búsqueda de la
jugada mas adecuada, en cambio el ser humano visualiza las que tienen más posibilidad
de la victoria y de ahí en adelante se basa en su instinto. Generalmente, las personas
toman sus decisiones basándose en su instinto, limitando la cantidad de movimientos
potenciales en las que piensa.

Uno de los grandes defectos del razonamiento simbólico, radica en que la computadora
no tiene conocimiento de los símbolos que está calculando, en pocas palabras, no está
vinculada a diferentes representaciones de una forma que no sea simbólica.

3.1.3 Triunfo de la Inteligencia Artificial Simbólica.


Se sabe, que la IA simbólica conforma numerosos mecanismos en la actualidad, donde
entre ellos destacan:
 Satisfacción de restricciones: se conoce como el proceso de resolución de
diferentes restricciones o un número de condiciones, como por ejemplo al
realizarle la petición de que pinte un mapa solo utilizando los colores amarillo,
rojo y verde con la imposibilidad de usar el mismo color para dos áreas que
estén unidas por sus adyacencias.
 Programación Neurolingüística (PNL): se considera una rama de la inteligencia
artificial, permitiéndole a las máquinas en análisis del lenguaje humano, lo que
facilita la comunicación entre ellas. Dentro de sus aplicaciones más relevantes
están, los asistentes inteligentes (Siri, Alexa), aplicaciones que implementan el
texto predictivo y los resultados en los motores de búsqueda.
 Inferencias lógicas: como la IA simbólica es basada en reglas, tiene mucho
sentido la implementación efectiva de inferencias lógicas, donde las máquinas
pueden crear conclusiones, basándose en reglas y pruebas.
3.1.4 Beneficios de las Inteligencia Artificial Simbólica.
La IA simbólica inicialmente mostró un gran progreso en el desarrollo de la IA y la
informática, visualizando muy fácilmente la lógica de los programas que se basan en
reglas, transmitirlos y solucionarlos.

Diagrama de Flujo.

Los diagramas de flujo, representan la lógica del funcionamiento de ciertas acciones de


los programas basados en IA simbólica con mucha claridad.

La IA simbólica, es adecuada para entornos donde la definición de las reglas es muy


específica, facilitando la obtención de información para poder transformarla en
símbolos. Cabe destacar que los sistemas desarrollados basado en reglas, aún
conforman el gran número de software informáticos de la era moderna, incluyendo los
que se usan para la creación de aplicaciones basadas en aprendizaje profundo. Pero
esta comienza a derrumbarse, con la infinidad de variables que pudieran surgir al
desempeñar una acción en el mundo real. Por ejemplo: Considerando la visión por
medio de la computadora través de la ciencia se le permite dar sentido a las imágenes y
videos. Suponiendo que se tiene una foto de un perro y es requerido crear un programa
con la capacidad de detectar las imágenes que contengan a ese perro, se procede a la
creación de un programa basado en reglas, donde tomando nuevas imágenes como
entrada va a comparar los pixeles con la foto original, respondiendo si el perro aparece
o no en las imágenes que se le brinda. Este programa será funcional, sólo si se le brinda
una copia exacta de la imagen original al programa, debido a que una imagen que tenga
la más mínima variación puede responder de forma negativa en el reconocimiento,
como por ejemplo tomando una foto con un ángulo diferente del mismo perro, el
programa también fallaría. Una de las soluciones serían brindarle más imágenes al
programa sobre el perro, pero en diferentes ángulos y creando nuevas reglas de
reconocimiento.

Por muy numerosa que sea la cantidad de fotos que se brinde al programa y el número
de reglas que se creen, no podría llegar a tener en cuenta todos los casos posibles, una
muy mínima variación en las condiciones de iluminación, o una ligera alteración del
fondo, cambiaría el valor de los pixeles de la imagen haciendo que falle el
reconocimiento.

A pesar de parecer muy simple este ejemplo, la IA simbólica se enfrenta a problemas de


este nivel. Se han manifestado un sin número de esfuerzos en crear sistemas
inteligentes basado en IA simbólica abarcando una gran multitud de reglas diferentes
dominios. Dichos modelos simbólicos se han denominado sistemas expertos.
Implementan conocimientos y reglas codificadas para resolver tareas difíciles, como por
ejemplo en la rama de la medicina para brindar diagnósticos. Estos necesitan un gran
aporte por parte del desarrollador en el dominio del área que se implementa el sistema
y su funcionamiento se limita a pocos casos de usos. Una vez generalizado el problema
surgirán nuevas reglas que se tienen que agregar, requiriendo más carga laboral para
los desarrolladores. Algunos científicos en el área de la IA, establecieron que los
sistemas basados en inteligencia artificial simbólica no son escalables en ciertos
aspectos.
3.1.5 El Estado Actual de la Inteligencia Artificial Simbólica.
Muchos creen que la IA simbólica ha llegado a su fin, pero dicha suposición se
encuentra muy lejos de la realidad en vista de que los sistemas basados en reglas
conforman una gran parte importante en las áreas de aplicación, donde se cree que el
razonamiento simbólico va a seguir siendo un componente importante en la inteligencia
artificial.

En la actualidad la IA simbólica sirve de complemento a las redes neuronales, es por ello


que muchos investigadores piensan que la IA simbólica aún no se le puede eliminar del
lugar que tiene en sus investigaciones sobre IA. Uno de los proyectos que se
implementa actualmente es aprendiz de los conceptos neuro-simbólicos, (NSCL). En
este proyecto están involucradas dos grandes casas de estudio de la IA como lo es el
Instituto de Tecnología de Massachusetts y Corporación de Máquinas de Negocios
Internacionales (IBM), este proyecto es basado en un modelo híbrido, teniendo la
capacidad del aprendizaje de pistas y definiciones visuales sin contar con una
supervisión directa. Su método de aprendizaje es basado en la observación de
imágenes, e interpretación de preguntas. Comparando con los sistemas que solo se
basan en la IA simbólica, este modelo de proyecto híbrido no analiza el contenido de las
imágenes que analiza.

Este es sólo un ejemplo de los tantos proyectos que pudiera haber en desarrollo que
implementan IA simbólica en conjunto con las redes neuronales para realizar el análisis
y comparación de grandes cantidades de datos con la finalidad de hacer el
descubrimiento para hacer los correctivos necesarios para entrenar al sistema.
Teniendo una visión hacia el futuro, yo no será imposible que un sistema tenga la
singularidad de poder aprender y razonar. Por los momentos, solo hay que enfrentar el
hecho que la IA simbólica, es considerado uno de los modelos ideales para abordar
problemas que se le dificulte la representación del conocimiento y procesos lógicos.
3.1.6 Principales Barreras de la Inteligencia artificial Simbólica.
En la era moderna, se espera que las máquinas pensantes desarrollen funciones por los
propietarios demostrando gran destreza y rapidez de análisis similares a las del ser
humano. Muchos investigadores con al pasar del tiempo mantienen un pie firme en sus
creencias y ya han establecido por décadas que el desarrollo de la IA está cada vez más
cerca, sim embargo hay que reconocer la fuerte actividad que desempeña la IA en la
actualidad por la disponibilidad latente de máquinas, computadoras electrónicas, que
desde su creación han sido el sustento perfecto para replicar el intelecto del ser
humano. Replicar el intelecto por medio de las computadoras electrónicas, se puede
manifestar de dos formas: con la creación de modelos informáticos del cerebro humano
o de la mente.

En el área de la inteligencia artificial, la simbólica está orientada a duplicar la mente,


mientras que del cerebro se ocupa la IA subsimbólica. Cabe destacar que existen otras
nomenclaturas, por ejemplo: A la IA simbólica también se le conoce como el nombre del
lenguaje del pensamiento (Haugeland, 1996). Una segunda distinción pertinente para
los intereses de las personas es la que se refiere al alcance de la duplicidad (Searle,
1980), de esta forma se logra diferencia de la IA débil, que se encarga de realizar
simulaciones informáticas por medio de algunos procesos mentales o cerebrales, con la
finalidad de que se implementen en la verificación de hipótesis, generalmente facilitar
el avance del conocimiento científico, en cambio de la IA fuerte, su objetivo va mucho
más allá, ya que aparte de simular ciertos procesos se inspira en el desarrollo de un
autómata verdadero del pensamiento humano, de forma seguida, se pudiera evidenciar
un tercer enfoque, la IA aplicada, se interesa en la creación de sistemas informáticos, no
inteligente de forma humana, pero si pudieran replicar algunas capacidades del
intelecto, entrando en la aplicación comercial como: reconocimiento de patrones
faciales para mejorar la seguridad referente a la videovigilancia.

Habiendo aclarado algunos tópicos importantes, se define las principales barreras con la
que se topa la inteligencia artificial simbólica.
3.1.6.1 Sentido de la situación.
Una de las primeras barreras y quizás una de las fuerte es el sentido común de las cosas,
siendo esta de carácter fundamental para reproducir una conducta como la del ser
humano, hasta los momentos no podido ser reproducida de manera simbólica por una
computadora, se podría definir como el sentido de la situación que se tiene de las cosas
basándose en el conjunto memorias pasadas adecuadas para el perfecto entendimiento
de la situación actual. Como, por ejemplo: para lograr el entendimiento de lo que
significa restaurante de comida rápida, es indicio que se debe tener conocimiento
acerca de los que es un restaurante, pero con la peculiaridad que se tiene que pagar
antes de ingerir los alimentos, de manera que las memorias sobre los restaurantes
conformarían un marco (frame) de conocimientos.

La dificultada de conseguir el marco de memorias que se adecue a la situación, es


conocido como el problema de la pertinencia o problema del marco a seleccionar. Este
problema fue establecido por (Minsky, 1975) en su artículo, A framework for
representing knowledge. Es un problema que aún no tiene solución hasta la fecha. Se
considera que es un problema que deriva de la forma proposicional de representación
del conocimiento referente a las computadoras. Para lograr el reconocimiento sobre un
contexto, es necesario, haber seleccionado solo las características relevantes de la
situación, pero la mejor forma de poder seleccionar esas características es
reconociendo antes el contexto.

Basándose en el ejemplo mencionado, para logra el reconocimiento del restaurante de


comida rápida, previamente se tienen que haber seleccionado las características
resaltantes que distinguen a ese objeto exactamente como un restaurante de comida
rápida, pero para lograr una selección eficaz de las características primero se tuvo que
haber identificado que realmente es de ese tipo, sin un marco que pueda servir como
un esquema para poder lograr discriminar lo básico de lo no tan básico en cualquier
situación, el número de características que surgirían serían casi que infinitas,
presentándose todas como relevantes. Existe una relación circundante de definición
recíproca entre las diferentes partes del conocimiento y las características. El problema
radica en cómo la IA simbólica pudiera encontrar la forma de entrar en este tipo de
relación. Existes dos maneras de hacerlo, una sería usando la información previa como
criterio para lograr encontrar el marco al que pertenece la situación, o sino
encontrando hechos no interpretados, antes de comprender la situación que sean
exactamente exclusivos de cada marco, la primera parte se puede definir como
estrategia temporal, mientras que la segunda como estrategia de correspondencia.

En cuanto a la estructura circular de la comprensión Gadamer se ocupa de este


proceso, refiriéndose a la estrategia temporal del habla de la traducción de un párrafo.
Establece que: durante el proceso del aprendizaje del ser humano y en su desarrollo del
habla, es necesario la construcción de una frase incluso mucho antes de hacer el
intento de comprender lo que significa cada fragmento de esta. Este mecanismo de
construcción ya se encuentra dirigido por una expectativa de lo que se quiere llegar a
hacer referencia de la frase. Cabe destacar que la expectativa debe ser cambiada si el
sentido del significado lo exige. Esto quiere decir que la expectativa está ligada a los
cambios que pudieran tener el texto de referencia. Si durante el proceso del
entendimiento no existe este tipo de congruencia se pudiera decir que la comprensión
fracasa.

Lo más importante es el proceso de construcción de frases para lograr el entendimiento


de su significado se dirige por la expectativa del entendimiento del contexto anterior.
Por medio del ejemplo citado anteriormente del restaurante de comida rápida, se
supone que, si alguien ha invitado a comer a otra persona, seguramente se asume que
se dirigirán aun restaurante y no a una farmacia o ferretería, esta suposición es basada
por los indicios de la información inicial, que se utilizarían como información para la
búsqueda sobre que marco se implementaría al subgrupo de marcos que se señalan con
el indicativo de lugares de restaurante. Partiendo de esto inicia el proceso de ensayo y
error hasta conseguir el marco que se adecua a la situación planteada.
3.1.6.2 Sentido Común.
El sentido común es considerado por muchos el principal obstáculo que se le presenta a
la IA. Por su definición tan amplificada y comprendido por un conjunto de habilidades
que se consideran necesarias para un gran número de tareas ordinarias orientado hacia
su aplicación. Por medio de la regla general, las personas saben cuando es aplicable y
cuando no el sentido común. Se determina que el principal problema de la IA simbólica,
gira en torno que un computador, al carecer de sentido común, aplica la regla de forma
indiscriminada, a menos que le sea proporcionado una lista de las condiciones válidas
para la misma, esto se tornaría en una tarea casi que imposible debido al gran número
de excepciones que surgen, serían casi que infinitas, haciendo imposibles que se logren
listar, todas y cada una.

Este tipo de problema se define como el problema de la cualificación, identificado por


Jhon McCarthy y Patrick Hayes (1969), en su artículo “Some philosophical problems
from the standpoint of artificial intelligence” (Algunos problemas filosóficos desde el
punto de vista de la inteligencia artificial). Al referirse al término de cualificación se
refiere a las excepciones de una regla, McCarthy y Hayes lo definen de la siguiente
forma: el tipo de problema que se requiere interpretar, sabiendo por la imposibilidad
del nombramiento de todo lo que pudiera ir mal, se considera importante para la IA, y
debe ser desarrollado algún tipo de formalismo para poder lidiar con él. Para ello se
expresa con un ejemplo donde, se colocan un conjunto de reglas, para la realización de
una llamada telefónica. Suponiendo que para terminar esta tarea de forma exitosa solo
faltaría ubicar en la lista el número de la persona con la que se quiere hablar y marcar el
número telefónico. Pero existen muchas cosas que pudieran tornarse mal, haciendo
que el desempeño de esta tarea un poco mas dificultosa y las reglas generales no seas
suficientes, como, por ejemplo: que la página donde estaba el número de la persona
haya sido arrancada, la persona que marca pudiera estar ciega, y así un sin número de
excepciones que pudieran desarrollarse durante el desarrollo de la actividad. La
cualificación entonces se definiría como un tipo de problema ontológico, por el que,
recordar todo lo que se considera relevante para que se desarrolle una conducta
inteligente y poder ser formalizado. Los seres humanos pueden llegar a diferenciar la
regla general, cuando es aplicable y cuando no, sin la necesidad de tener un
almacenamiento del listado de todas las proposiciones con todas las condiciones de
validez. El proceso por medio del cual se conoce cuando una regla válida se encuentra
debajo del nivel de la mente, este proceso es sólo subsimbólico (cerebral). El ser
humano tiene el conocimiento sobre algunas cosas prácticamente que sin saberlas
explícitamente de manera oracional o en otra forma de representación, solamente las
sabe y las aplica. De manea que sin que sea necesario el surgimiento del pensamiento
para generar una condición de validez sabe cuáles de las reglas generales son aplicables
y cuáles no. Cabe destacar que no se puede descartar la hipótesis de que el ser humano
tiene un listado de las condiciones de validez en algún lugar de lo más recóndito de la
mente al cuál no se puede tener acceso de forma tan simple. De una forma más
resumida se pudiera definir como hacen los partidarios del supuesto epistemólogo,
donde establece que esos listados pudieran obtenerse, no considerándose necesarios
para la reproducción de una conducta inteligente, son suficientes, este concepto es
defendido por Marvin Minsky, (Semantic Information processing). Donde se refiere a la
cantidad de sentido común que una persona aplica en su vida diaria. Para ello calcula la
porción de cosas que una computadora electrónica necesita saber, definiéndolos como
alrededor de cien mil elementos del conocimiento para lograr comportarse de una
forma razonable en circunstancias ordinarias, y si su argumento no era convincente se
multiplica por diez. Según Douglas Lenat otro investigador de la IA, establece que
Minsky se queda bastante corto al respecto, en 1984, inicia un proyecto sobre la IA
simbólica, el CYC (1990). Esta máquina requería de una un grupo de operadores que
elaborasen una base de datos donde se establecieran los enunciados que representen
los conocimientos del sentido común para llegar a comportarse de una forma sensata.
Al paso de los primeros seis años el número de enunciados que se lograron codificar
ascendió a más de un millón representado apenas el 0,1% de lo establecido en la
realidad consensuada en Occidente. Pero Lenat pensaba que le número de enunciados
necesarios que se necesitaban para lograr un pensamiento sensato eran de unos cien
millones, lo que sería apenas un 10% de la realidad consensuada en Occidente.
3.1.6.3 Habilidades procedimentales.
Se refiere a todas las habilidades relacionadas a procesos y procedimientos que se
necesitan para realizar una tarea. Haciendo referencia sólo a habilidades un tanto más
complejas que permiten el desarrollo de acciones como: conducir, bailar, bajar
escaleras. En comparación con el conocimiento declarativo del “saber qué”, las
habilidades procedimentales implicarían más “el saber cómo” (Kandel, schwartz &
Jessell, 1995). La Dificultad de la IA simbólica radica en que, al considerar sistemas
formales el grupo de expresiones cuasi-lingüísticas, es necesaria la conceptualización de
las conductas de todos los procedimientos y habilidades como si formaran parte de un
discurso mental. El escritor Argentino Julio Cortázar, en su relato “Instrucciones para
subir escaleras”, referencia lo irracional que sería hacer la codificación de una habilidad
procedimental, como lo es subir escaleras, en una cadena de instrucciones explícitas.
Establece lo que imposibilita dejar la observación que frecuentemente el suelo se
plegaría cada vez en un ángulo recto de forma ascendente, donde el tramo siguiente se
coloca en paralelo con el suelo, para dar inicio a un nuevo pliegue, repitiendo el mismo
patrón, para poder subir la escalera, se da inicio con le levantamiento del cuerpo
situado a la izquierda de abajo, que generalmente tiene un tipo de recubrimiento y en
algunas excepciones cabe en el escalón. Una vez reposado en el primer peldaño dicha
parte, de manera abreviada se denominaría pie, desencadena el siguiente movimiento
similar pero hacia la parte derecha del cuerpo (también denominado pie, pero sin
confundirse con el antes mencionado), llevándolo hasta la altura del movimiento del pie
anteriormente movilizado, pero no dejando reposar al paralelo de este, si no,
movilizándolo hasta el siguiente peldaño, luego desencadena el siguiente movimiento
con el pie izquierdo hasta lograr alcanzar la sincronización necesaria y poder seguir el
movimiento consecutivo.

Algunos investigadores de la IA simbólica fuerte se encuentran en la obligación, de creer


que, a pesar de, que no sea así el funcionamiento de la mente humana, como una
secuencia de tareas e instrucciones, debería ser suficiente para que una computadora
pueda llegar a subir una escalera. Cabe destacar que estas secuencias deberían de estar
escritas, en un lenguaje entendible para la máquina y siendo las instrucciones un poco
más complejas, pero sin embargo no se alejaría del ejemplo descrito anteriormente. Es
indispensable pensar que este algoritmo se le puede adicionar el problema de la
cualificación, en vista de que las instrucciones generales, sólo pueden ser aplicables si
se llega a cumplir el listado indefinido de las condiciones válidas. Por ello el problema de
la cualificación, como es derivado de la ausencia de sentido común, y este al ser
necesario para casi todas las tareas y actividades de la vida de una persona, perjudica a
la IA simbólica.

En cuanto a las habilidades procedimentales, dirigido hacia la IA simbólica, se puede


plantear la desigualdad que existe entre un experto y un novato que van a ejecutar una
misma acción. Radica en que, cuando el novato realiza una tarea, como conducir un
vehículo, las reglas las aplica de forma consiente, en cambio el experto, realiza la acción
sin siquiera pensar en ellas. Esta diferencia es tan latente debido a que el novato al
realizar la acción tiene presente todas y cada una de las instrucciones, como hacer el
cambio de velocidad a cierto número de revoluciones del motor, en los pasos de
peatones debe disminuir la velocidad, convirtiendo las instrucciones de alta jerarquía,
muy generalizadas, y por ellos la IA simbólica debe realizarse en una serie de órdenes
de bajo nivel, tales como tensionar los músculos de la última falange del dedo de la
mano izquierda.

Las habilidades procedimentales, se presentan como una de las mayores barreras en el


IA simbólica, ya que hasta los momentos no se ha podido llegar a duplicar de una forma
realista habilidades basadas en procesos cerebrales o neuronales a nivel de médula
espinal, de los que no deriva ningún tipo de correlato mental y las recreación de manera
instrumental no ha sido posible ya que, las proposiciones que tienen que sustituir de
funcionalmente los procesos cerebrales inconscientes no se pueden operar debido a la
dificultad de la cualificación.
3.1.6.4 Abducción de teorías.
Las ciencias naturales o ciencias empírico-analíticas, son la continuación de un proceso
de aprendizaje, que es realizado de manera precientífica en el medio funcional de la
actividad instrumental, esto quiere decir que las teorías científicas se consideran las
mismas que las precientíficas. Para ello Charles Pierce, las distingue de tres formas:
inducción, abducción y deducción. Considerando como la más funcional en el área del
descubrimiento a la abducción. Sin embargo, la inducción y la deducción, también se
consideran como estrategias de creación de teorías. Como idea principal se establece
que, para poder llegar a la creación de una auténtica IA simbólica fuerte, se le tiene que
suministrar de algoritmos para poder producir teorías como lo hacen las personas
continuamente en la vida diaria, pero realmente ni la abducción y la inducción son
formalizables, esto quiere decir, que no hay un camino de manera lógica para la
creación de teorías, ni abductivamente, ni inductivamente.

Basándose en el hecho de la inexistencia de máquinas con la facultad de poder inducir o


abducir de forma genuina, sin instrucciones previa dirigidas por sus creadores. Por
medio de esta afirmación se deduce que las computadoras no son capaces de producir
teorías científicas, ni automatizar su producción. Entendiendo el método científico
como un grupo de procedimientos, que por medio de su aplicación se obtiene y se
garantiza el conocimiento, entonces la IA simbólica sería una realidad latente. De
manera inversa, si la IA simbólica fuerte estuviera dentro de lo posible, los algoritmos
de abducción e inducción de teorías comprenderían al método científico dirigido como
un procedimiento seguro.

Se sabe que ese método no existe. Einstein afirma lo siguiente haciendo referencia a las
leyes del universo, “No existe un camino lógico que rija las leyes fundamentales, hay
que dejarse conducir por la intuición, basándose en una sensación de la experiencia”,
partiendo de esto se puede decir que, el sistema teórico ha sido prácticamente basado
por el universo de las suposiciones, debido a la ausencia de un camino lógico que dirija
estas leyes fundamentales. Einstein, creía que la ciencia inicia el descubrimiento de
nuevas teorías partiendo desde algo tan difuso como las corazonadas, estas son las que
han movido al científico a la realización en cierto aspecto de la inducción y abducción.
3.2 MÉTODOS NUMÉRICOS
Es un conjunto de procedimientos, por medio de los cuales, de manera aproximada,
casi siempre se obtiene la resolución de problemas con la intervención de la aritmética
y la lógica (cálculo de funciones, operaciones aritméticas elementales, consulta de una
tabla de valores). Estos procedimientos consisten en una lista de instrucciones donde se
especifican una secuencia de operaciones, que pudieran producir una aproximación de
la solución de un problema o emitir un mensaje. La eficacia del cálculo de la
aproximación depende en gran medida, de la implementación del algoritmo de
resolución, las características especiales y las limitaciones de los instrumentos de
cálculo.

Los métodos numéricos aportan un mejor entendimiento de los esquemas numéricos


con la finalidad de llegar a la resolución de problemas matemáticos de orden científico y
de ingeniería en un computador, además, se pueden llegar a reducir esquemas
numéricos básicos, escribiéndolos y resolviéndolos en ellos.

Por medio del análisis numérico se pueden crear métodos con la finalidad de hacer una
aproximación a la solución de los problemas expresados por medio de las operaciones
simples o complejas de aritmética. Es necesario implementar una secuencia de las
operaciones algebraicas para llegar a crear la aproximación de la resolución del
problema matemático. Estos métodos pueden ser aplicados en:
 Derivadas.
 Integrales.
 Ecuaciones Diferenciales.
 Operaciones con matrices.
 Interpolación.
 Ajuste de curvas.
 Polinomios.
3.2.1 Características de los métodos numéricos.
 Los métodos numéricos comparten una característica en común, ya que realizan
sus operaciones implementando cálculos aritméticos, para ello la informática
por medio del desarrollo de programas que pueden ejecutar estor cálculos de
una forma más eficaz, se considera, una gran herramienta que facilita dichas
operaciones.
 Casi todos los métodos que se emplean en la ingeniería usan variables de tipo
continuas.
 El objetivo fundamental del análisis numérico es la obtención de un método que
pueda resolver un problema matemático en un ordenador.
 Se implementan cuando la solución a un problema es por medio de valor
numérico, ya que, los procedimientos analíticos no pueden generar este tipo de
respuesta.

Cuando se implementa un computador para la resolución de un problema matemático,


se requieren a seguir los siguientes pasos:
 Describir el problema: se tiene que hacer la especificación del problema y sus
limitaciones, identificar la mayoría posible de las variables que intervienen y
definir los resultados requeridos.
 Analizar el problema: consiste en la creación de la solución del problema, por
medio del desarrollo de un algoritmo, donde se especifiquen los pasos a seguir
para la solución del mismo.
 Programación: se define como la traducción del pseudocódigo del algoritmo de
resolución del problema por medio de una serie de operaciones detalladas.
 Pruebas: son todas aquellas pruebas que se realizan con la finalidad de eliminar
los errores, y verificar que se ha llegado a la solución deseada.
 Documentación: se refiere al registro de las instrucciones de preparación del
programa, de manera que cualquier persona pueda seguirlas y poder usar el
programa.
 Producción: se considera como la etapa final, ya que se le suministran los datos
al programa y se reciben las soluciones.
Cabe destacar que se necesita conocer el problema a fondo y tener conocimientos en el
campo de la matemática relacionados a los métodos numéricos para la resolución de
problemas.

Algunos conceptos como la precisión, incertidumbre, sesgo, cifra significativa, se debe


tener dominio para mejor el entendimiento de los métodos numéricos durante el
desarrollo de soluciones a los problemas.

3.2.2 Precisión y exactitud.


La precisión y exactitud no es equivalente en la industria, ciencia, estadística e
ingeniería. Debido a que durante la automatización de las pruebas o técnicas puede
llegar a ocurrir un aumento significativo en la precisión debido a que con la
automatización lo que se hace es un logro en la disminución de los errores que se
cometen durante la implementación de los métodos manuales. La Precisión significa la
descongestión de las cifras obtenidas de las mediciones realizadas, cuanto menor sea la
descongestión la precisión aumenta. En cuanto a la exactitud, se basa en cuan cercano
del valor real, se encuentra el valor medido, esta relacionado con el sesgo de
estimación, donde menor sea este, mayor será la estimación.

Incertidumbre.
Se refiere a la imprecisión, el valor de alejamiento que existe entre las aproximaciones
de un valor verdadero. Donde se desconocen las probabilidades de ocurrencia que
asocian a los resultados de un evento específico.

Sesgo.
Se puede determinar la existencia de un sesgo debido a que la ocurrencia de una
variación no se manifiesta como un hecho aleatorio, informando que se manifiesta de
forma sistemática. Es un retiro sistemático en torno al valor que se desea calcular.
Cifra Significativa.
Es la que se encarga de suministrar la información de una medida a la que se realizan
estudios, también se consideran cifras significativas los números determinados por un
error. Estas tienen una posición del mismo orden o superior al orden o posición del
error.

Cuando un número es empleado en un cálculo, hay que tener cierto nivel de seguridad
de que puede ser usado con suma confianza. Las cifras significativas tienen dos
enfoques durante el estudio de los métodos numéricos.
 Los resultados obtenidos en los métodos numéricos son aproximaciones que se
hacen, es por ello que se tiene que desarrollar cierto nivel de juicio para poder
determinar el nivel de precisión que tiene los resultados obtenidos.
 Algunos números tienden a representar números específicos, estos no pueden
ser expresados con una cifra finita.

Algunas reglas para operaciones con cifras finitas:


 Los resultados arrojados por el experimento son expresados con una sola cifra
dudosa, se tiene que indicar con signo + o – la incertidumbre presente en la
medida.
 Las cifras significativas se tienen que contar de izquierda a derecha, empezando
por primer dígito, pero diferente de cero hasta el dígito de procedencia dudosa.
 Al hacer la multiplicación o la división entre dos números, el número de cifras
del resultado va a ser igual al del factor que tenga menos cifras.
3.2.3 Manejo de Errores en los Métodos Numéricos.
Los resultados generados cuando se aplican los métodos numéricos para dar solución a
problemas matemáticos, tienen un margen de error que es necesario tomar en cuenta.

En algunas oportunidades no es posible obtener los errores del modo cuantitativo,


mientras que en otras ocasiones el manejo de errores se puede llevar a cabo por medio
de los siguientes análisis:
 A priori: cuando no son usados los resultados en el análisis, ya que pueden ser
muy complejos.
 A posterior: cuando son implementados los resultados en el análisis de los
errores.

Es de suma importancia tomar en cuenta que, en todo momento, hay que determinar
las fuentes que originan los errores, ya que facilita el entendimiento de los problemas
prácticos. Las fuentes de los errores se pueden estar relacionados de la siguiente forma:
 Inherentes: se asocia a la precisión de los datos (usar 0,333333 en vez de 1/3).
Como peculiaridad principal es la propagación que se hace por medio del
output. Dicha propagación se puede estudiar analizando la sensibilidad,
permitiendo localizar hipersensibilidades de los diferentes resultados, de
manera que puedan tomarse las requeridas precauciones en esos casos
puntuales.
 Truncamiento: se relaciona con el remplazo de procesos infinitos con los
procesos finitos, como lo es el truncamiento de series, la implementación de
diferencias finitas para resolver las derivadas, la utilización de sumas limitadas
para el cálculo de integrales. Regularmente los errores originados por
truncamiento van a causar inexactitud en la definición de los datos.
 Redondeo: Relacionado a la precisión con la que son realizadas las operaciones
(cifras negativas).

Generalmente durante la implementación de los métodos numéricos como solución a


algunos problemas matemáticos, existen dos causas de errores en los cálculos
numéricos que son más frecuentes. El truncamiento y el redondeo, el truncamiento se
genera por las aproximaciones que se usan en la fórmula matemática del modelo. Para
ellos la serie de Taylor es el medio mas adecuado que se usa para la obtención de
modelos numéricos con la finalidad de analizar mejor los errores de truncamiento. Se
asocian los errores de redonde con la limitación que tiene los ordenadores en el uso de
los dígitos, con la finalidad de representar un número. Para llegar a comprender cómo
son originados estos errores, se necesitan aprender la manera en que son almacenados
los números y cómo se realizan las sumas y restas en un ordenador.

3.2.4 Series de Taylor


En gran parte las resoluciones numéricas, en la mayoría de los casos son
aproximaciones exactas, que se dan por medio de la implementación de polinomios. Los
algoritmos complejos son construidos partiendo de agrupaciones de algoritmos más
simples, es por ello que cuando un error se manifiesta en un método numérico, se tiene
que verificar la precisión exacta con la que el polinomio se ha aproximado a la función
verdadera.

La serie de Taylor se puede definir como una serie infinita de potencias que representa
de forma exacta una función de un cierto radio de un punto suministrado. Cabe
destacar que, por medio de la comparación de los polinomios de la solución numérica,
aplicando la serie de Taylor, proporciona la solución exacta, con el descubrimiento el
orden donde aparece la variación, es muy posible hacer la evaluación del error como,
por ejemplo, el error de truncamiento. De forma similar, con el uso de la serie de
Taylor, se obtienen los métodos numéricos, ignorando solo unos pocos términos de la
serie de Taylor, se pudiera obtener un polinomio aproximado a la función verdadera,
donde a este polinomio se le denominaría “Serie de Taylor truncada”, usándose como
punto de partida para poder logra la obtención de los métodos numéricos. Pero es
importante resaltar que el error del método numérico es originado durante el
truncamiento.
3.2.4.1 Serie de Taylor para funciones unidimensionales.
Se plantea que una función 𝑓(𝑥) es analítica en 𝑥 = 𝑎 si 𝑓(𝑥) puede ser representada
por una serie de potencias en términos de ℎ = 𝑥 − 𝑎 en un radio de convergencia,
𝐷 > |𝑥 − 𝑎| > 0. Para que una función pueda llegar a ser considerada como analítica,
cada una de sus derivadas deben ser continuas en 𝑥 = 𝑎, como una especie de
vecindad en las adyacencias de ese punto. Es considerado un punto singular un punto
en una función 𝑓(𝑥) no se considera analítica. Si 𝑓(𝑥) llega a ser diferenciable en todas
las fracciones en la vecindad de 𝑥0 menos en 𝑥0 , entonces 𝑥0 se considera un punto
1
singular. Si por ejemplo la tan(𝑥) es analítica exceptuando en 𝑥 = ± ( 𝑛 + 2) 𝜋, 𝑛 =

0, 1, 2 , . . . , ∞, estos serían puntos singulares y los polinomios se definen como


analíticos en todas partes.

Si la función alrededor de 𝑥 = 𝑎 es analítica, puede ser representada 𝑓(𝑥) de manera


exacta dentro de 𝑥 = 𝑎 implementado una serie de Taylor potencialmente dada por:

′ (𝑎)
ℎ2 ′′ ℎ3 ′′′ ℎ4 ′′′′ ℎ5 ′′′′′
𝑓(𝑥) = 𝑓(𝑎) + h𝑓 + 𝑓 (𝑎) + 𝑓 (𝑎) + 𝑓 (𝑎) + 𝑓 (𝑎) + ⋯
2 6 24 5!
ℎ𝑚 𝑚
+ 𝑓 (𝑎) + ⋯
𝑚!
Donde ℎ = 𝑥 − 𝑎 .

Cabe destacar que las series de Taylor son una de las herramientas consideradas de
suma importancia para lograr la obtención de métodos numéricos y lograr analizar
errores.

3.2.5 Interpolación polinomial.


Se considera una función de interpolación polinomial, como la que pasa entre los
puntos suministrados como datos, estos comúnmente son suministrados por una tabla
de valores o directamente tomados de una función dada. Por medio de la
implementación de los polinomios se puede llegar hacerse interpolación de los datos,
también por funciones spline, las raíces de Fourier o una función racional. La
interpolación polinomial, se considera como una de los temas de mayor relevancia en la
aplicación de los métodos numéricos, ya que gran parte de los métodos numéricos son
basados en interpolación polinomial, como por ejemplo los modelos basados en
integración numérica, son obtenidos por medio de la integración de fórmulas de
interpolación polinomial, y los de diferenciación numérica, se obtienen derivando
interpolaciones polinomiales.

3.2.5.1 Interpolación lineal.


Se considera como la base de algunos métodos numéricos fundamentales, cuando se
integra la interpolación lineal, es deducido el modelo de integración denominado regla
del trapecio. El gradiente de la interpolación es una aproximación a la primera derivada
de la función.

La interpolación lineal genera una recta, que se adecua a dos puntos suministrados.

Interpolación Lineal.

𝑏−𝑥 𝑥−𝑎
𝑔(𝑥) = 𝑓(𝑎) + 𝑓(𝑏)
𝑏−𝑎 𝑏−𝑎
3.2.5.2 Representación de la interpolación.
Donde 𝑓(𝑎) y 𝑓(𝑏) son valores conocidos de 𝑓(𝑥) en 𝑥 = 𝑎 y 𝑥 = 𝑏 respectivamente.
El error de la interpolación lineal se puede presentar de la siguiente forma:
1
𝑒(𝑥) = (𝑥 − 𝑎)(𝑥 − 𝑏)𝑓 ′ (𝜉), 𝑎 ≤ 𝜉 ≤ 𝑏
2

Donde 𝜉 (xi) va a depender de 𝑥, se encuentra entre a y b. La ecuación anterior es un


tanto compleja de manejar, ya que no existe una forma de poder evaluar 𝜉 de manera
exacta. Pero si existe la posibilidad de hacer el análisis 𝑥(𝑥) cuando 𝑓 ′ (𝑥) por medio de
una constante se aproxime en 𝑎 ≤ 𝑥 ≤ 𝑏, como se expresa a continuación: si 𝑓 ′′ (𝑥),
tiene poca variación, o si en el intervalo [𝑎, 𝑏] es diminuto, de manera que 𝑓 ′′ varíe un
poco, se puede aproximar 𝑓 ′′ (𝜉) por medio de 𝑓 ′′ (𝑥𝑚 ), donde 𝑥𝑚 será el punto
medio entre 𝑎 y 𝑏: 𝑥𝑚 = (𝑎 + 𝑏)/2. Por medio de la ecuación anterior se indica que:
 Entre el punto medio de los datos dados el error se presenta de forma
aproximada.
 El error es proporcional al crecimiento de 𝑏 − 𝑎
 El error también es proporcional respecto al crecimiento de |𝑓 ′′ |.

Por medio de la interpolación lineal, se puede obtener una recta que se puede ajustar a
los datos suministrados. Si el signo de 𝑓(𝑥), no cambia en 𝑎 ≤ 𝑥 ≤ 𝑏, el máximo error
se manifiesta en el punto medio y la magnitud se determina por medio del cálculo de la
segunda derivada de la función aproximada.

3.2.6 Ecuaciones no lineales.


Se denominan raíces o ceros a las soluciones de las ecuaciones no lineales, a
continuación, algunos ejemplos de las ecuaciones no lineales.
 1 + 4𝑥 − 16𝑥 2 + 3𝑥 3 + 3𝑥 4 = 0.
 𝑓(𝑥)− ∝ = 0, 𝑎 < 𝑥 < 𝑏.
𝑥(2.1−0.5𝑥)1/2
 − 3.69 = 0, 0 < 𝑥 < 1
(1−𝑥)(1.1−0.5𝑥)1/2

 tan(𝑥) = tanh(2𝑥)
En el primer ejemplo es una ecuación polinomial, que pudiera formar parte de una
ecuación diferencial lineal, entre otros. El segundo ejemplo equivale evaluar 𝑓 −1 (𝑎),
donde 𝑓(𝑥) significa cualquier función y 𝑓 −1 corresponde a su función inversa. En
cuanto al tercer ejemplo es considerado un caso especial del inciso y el cuarto es una
ecuación trascendental. Como las ecuaciones lineales carecen de solución exacta. Como
razón principal para la resolución de ecuaciones no lineales a través de procesos
computacionales, se debe a que no tienen una solución exacta, a excepción de algunos
problemas. De manera que solo hasta el orden cuatro se puede llegar a una solución
analítica, a diferencia de los órdenes superiores al cuarto, no tienen una solución
exacta. Por esta razón, las raíces de esas ecuaciones, se resuelven por procesos
computacionales que se basan en procedimientos iterativos. Los métodos números que
se han diseñado para encontrar raíces tienen un gran alcance sin embargo cabe señalar
que cada uno posee limitaciones propias.

Necesidad de Necesidad
especificar un de la Tipos de Características
Nombre
intervalo que continuidad ecuaciones especiales
contenga a la raíz de 𝒇′
Aplicabilidad a
Bisección si no cualquiera funciones no
analíticas
Lenta convergencia
Falsa
si si cualquiera en un intervalo de
posición
gran tamaño
Falsa Más rápido respecto
posición si si cualquiera al método de la falsa
modificada posición
Es rápido, es
necesario el cálculo
Método de
no si cualquiera de 𝑓 ′ y se puede
Newton
aplicar a raíces más
complejas
Es rápido, es no
Método de
no si cualquiera necesario el cálculo
Secante
de 𝑓 ′
Sustitución Puede que no
no si cualquiera
sucesiva converja
Método de Posee factores
no si polinomial
Bairstow cuadráticos
Diferentes esquemas para localizar raíces.
3.2.6.1 Método de la Bisección.
Puede que sea el más simple, pero a su vez, el más robusto y seguro, para el cálculo de
raíces en un intervalo, aplicado donde se sabe de la existencia de una raíz. Sólo tiene
una ventaja, ya que puede funcionar aún para funciones analíticas.

Este método puede conseguir una raíz de una función si se conoce la raíz en el intervalo
suministrado. Este va a encontrar la raíz a pesar de que la función no se considere
analítica. En otro aspecto se puede contener una singularidad como si se tratara de una
raíz, ya que el método no hace distinción si es una raíz o una singularidad. Es de suma
importancia encontrar el intervalo que contiene a la raíz, la búsqueda de las mismas se
lleva a cabo listando una tabla de valores o por medio del gráfico de la función.

3.2.6.2 Método de la falsa posición y falsa posición modificada.


El método de la falsa posición se basa en la interpolación lineal y se considera análogo al
método de la bisección, debido a que el tamaño que contiene a la raíz es reducido por
medio de la iteración. Pero en vez de bisectar de forma monótona al intervalo se usa
interpolación lineal que se ajusta a dos puntos extremos para poder localizar un
acercamiento a la raíz, si la función se encuentra muy próxima mediante la
interpolación lineal, las raíces estimadas van a tener una buena precisión y como
consecuencia, la iteración va a converger más rápido.

Este método es muy similar al de la bisección, exceptuando que se cambia por la


interpolación lineal. Este método no se considera más rápido que el de la bisección ya
que uno de los extremos pudiera permanecer fijo.

3.2.6.3 Método de Newton.


Conocido también como el método de Newton – Raphson, consigue una raíz, sólo, se
conoce una estimación inicial para la raíz que se desea. Usa las tangentes que son
evaluadas de forma analítica, además este método puede implementarse en el dominio
complejo y encontrar raíces complejas.
El método de Newton de manera iterativa, usa las rectas tangentes que pasan por las
cercanías consecutivas de la raíz. Este método necesita una excelente estimación lineal,
debido a que puede divergir o converger a una solución insignificante. Puede hallar
raíces complejas si se le definen las variables como complejas.

3.2.6.4 Método de la secante.


El método de la secante, es parecido al de Newton, pero a su vez se diferencia en que
en el método de Newton 𝑓 ′ se aproxima por el uso de dos valores de iteraciones
sucesivas de 𝑓. Desapareciendo la necesidad de la evaluación de 𝑓 ′ y 𝑓 por cada
repetición. De tal modo. El método de la secante es más efectivo, en particular cuando
𝑓 es una función en la que se le invierte mucho tiempo en su evaluación. Además, se
considera la existencia de una relación con el método de la falsa posición, debido a que
ambos son basados en la fórmula de interpolación lineal.

3.2.6.5 Método de Bairstow.


Son pocos los métodos que se dedican a la búsqueda de las raíces de polinomios casi de
forma automatizada. Entre ellos se encuentra el método de diferencias de cociente, el
Método de Bairstow y el de la aplicación de iteración QR. Sin embargo, el método de
diferencia de cociente, es básico y simple de usar, esta falla continuamente. El método
de Bairstow, a pesar de sus fallas y problemas de exactitud es mucho más confiable al
respecto. Este método se considera como un esquema de repeticiones, con la finalidad
de encontrar un factor cuadrático de un polinomio en cada una de sus aplicaciones sin
la necesidad de tener un conocimiento previo. Cuando se aplica muchas veces este
método a los polinomios reducidos es posible el cálculo de los factores cuadráticos de
un polinomio. Las raíces de gran complejidad de un polinomio, con coeficientes reales
se manifiestan en parejas de complejos conjugados. Cuando un factor cuadrático,
𝑥 2 + 𝑝̅𝑥 + 𝑞̅ tiene una pareja de raíces complejas, puede calcularse con la resolución
de, 𝑥 2 + 𝑝̅𝑥 + 𝑞̅ = 0. Entonces todas las raíces de un polinomio pueden ser calculadas
sin la implementación de variables complejas. Pero una de las desventajas del método
de Bairstow radica en que la precisión de los resultados es reducida, para ello el
resultado de la precisión debe ser verificada o mejorada por algún otro medio, como
por ejemplo el método de Newton. Dado un polinomio de orden N escrito de la
siguiente forma:
𝑦 = 𝑎0 + 𝑎1 𝑥 + 𝑎2 𝑥 2 + ⋯ + 𝑎𝑛 𝑥 𝑛

Es posible escribirse de la siguiente manera:


𝑦 = (𝑥 2 + 𝑝𝑥 + 𝑞)𝐺(𝑥) + 𝑅(𝑥).

3.2.7 Integración numérica.


Estos métodos son usados para integrar funciones dadas, de manera analítica o por
medio de la implementación de una tabla, hasta en el caso que sea necesario la
integración analítica, la integración numérica es capaz de minimizar el esfuerzo humano
y disminuir el tiempo requerido para el cálculo, sólo si es deseado obtener el valor de la
integral.

Método Ventaja Desventaja


Simplicidad, perfecto para Tiene la necesidad de
Regla del Trapecio las integrales impropias. numerosos subintervalos
para mejorar la precisión.
Simplicidad, más preciso Se necesitan un número
Regla de 1/3 de Simpson
que la regla del trapecio. par de los intervalos.
Misma organización en Sólo trabaja con intervalos
Regla de 3/8 de Simpson cuanto a la precisión de la que sean múltiplos de tres.
regla de 1/3.
Usa puntos con la misma Las fórmulas que son de
Fórmulas de Newton-Cotes separación. Tiene fórmulas orden superior no tienen
abiertas y cerradas. que ser exactas.
Más precisas que las Los puntos no se separan
fórmulas de Newton-Cotes. de manera uniforme.
Cuadraturas de Gauss
No son usados los valores
de la función en los bordes.
Excelente precisión en Es requerido un trato
integrales impropias. especial para poder impedir
Transformación exponencial
el desbordamiento o
doble
división por números muy
bajos.
Métodos de Integración Numérica.
3.2.8 Diferenciación Numérica.
También se conoce como aproximación por diferencia, es usada para la evaluación de
las derivadas de una función, por medio de los valores suministrados en una retícula.
Las aproximaciones por diferencia son fundamentales en la resolución de ecuaciones
diferenciales parciales y ordinarias. Para poder ilustrar la diferenciación numérica se
considera la función 𝑓(𝑥) como se muestra a continuación:

Diferenciación Numérica.

En caso que se desea evaluar la primera derivada 𝑓(𝑥) en 𝑥 = 𝑥0 . Si son conocidos los
valores de 𝑓 en 𝑥0 − ℎ, 𝑥0 y 𝑥0 + ℎ, donde ℎ sería el tamaño del intervalo entre los
puntos seguidos en el eje x, de manera que se puede aproximar 𝑓 ′ (𝑥0 ), por medio del
gradiente de la interpolación lineal A, B o C, expresados en la imagen anterior. Estas
aproximaciones anteriormente expresadas pueden llegar a denominarse
aproximaciones por diferencias hacia adelante, central y hacia atrás. Y sus fórmulas
matemáticas se expresan de la siguiente forma:

 Aproximación hacia adelante que usa A.


𝑓(𝑥0 + ℎ) − 𝑓(𝑥0 )
𝑓 ′ (𝑥0 ) ≃

 Aproximación hacia atrás que usa B.


𝑓(𝑥0 ) − 𝑓(𝑥0 − ℎ)
𝑓 ′ (𝑥0 ) ≃

 Aproximación central que usa C.

𝑓(𝑥0 + ℎ) − 𝑓(𝑥0 − ℎ)
𝑓 ′ (𝑥0 ) ≃

Hay tres tipos de enfoques que permiten conseguir aproximaciones por diferencias. Uno
de ellos es basado en el Desarrollo de Taylor de la función alrededor de un punto de la
retícula, el segundo método hace uso de los operadores de diferencia y el último utiliza
los polinomios de interpolación.
Método de Obtención Ventajas Desventajas
Desarrollo de Taylor Los términos de los errores Sólo se puede calcular una
se calculan de forma fórmula a la vez
explícita, se aplican a
retículas no uniformes.
Operador de diferencias Se asemeja a las derivadas Necesita del desarrollo de
y a las aproximaciones por Taylor para poder analizar
diferencia. el error
Derivación de polinomios de De forma sistemática se Complejo de usar en
interpolación pueden calcular un gran retículas no uniformes.
número de fórmulas de
aproximación por
diferencia.
Métodos de Diferenciación numérica.

3.2.9 Álgebra lineal numérica.


Por medio del álgebra lineal numérica, se puede profundizar en el estudio de los
métodos computacionales básicos, para la resolución de conjuntos no homogéneos de
ecuaciones lineales. Es muy importante la implementación del álgebra lineal, para
poder hacer el desarrollo del análisis científico y el numérico, que no es posible hacerlo
sin el conocimiento de la misma. Los que se usan comúnmente son el método de
eliminación de Gauss y Gauss – Jordan, para la resolución de ecuaciones lineales.

Método Ventajas Desventajas


Eliminación de Gauss Posee un algoritmo de Brinda la solución de un
solución mucho más básico solo conjunto de
ecuaciones.
Eliminación de Gauss- Tiene la capacidad de No muy eficiente para un
Jordan resolver un conjunto de solo grupo de ecuaciones.
ecuaciones por el cálculo
de la inversa.
Descomposición LU Eficiente si un grupo de Más complejo que la
ecuaciones lineales es eliminación de Gauss y solo
resuelto con diferentes se implementa una vez.
términos no homogéneos.

3.2.10 Cálculo de una matriz.


Las ecuaciones lineales homogéneas son asociadas comúnmente con sistemas que
pueden presentar oscilaciones armónicas sin la interacción de fuerzas externas. En este
conjunto se puede representar por medio de la vibración de una cuerda, membrana u
otra estructura. A través del estudio de la naturaleza o la estabilidad de estos sistemas,
es necesario su resolución por medio de ecuaciones homogéneas. Estas son de suma
importancia en otros análisis matemáticos. Como, por ejemplo: la resolución de un
sistema de ecuaciones diferenciales, es necesario la determinación de un conjunto de
ecuaciones lineales homogéneas. Otro ejemplo sería, la relación que existe entre los
métodos de solución numérica en ecuaciones diferenciales parciales, con los valores
característicos de las ecuaciones lineales homogéneas. Un conjunto de ecuaciones
líneas que tenga, aunque sea un valor diferente a cero del lado derecho se considera un
conjunto no homogéneo.

3𝑥 − 2𝑦 + 𝑧 = 0
𝑥 + 𝑦 + 2𝑧 = 0
4𝑥 − 𝑦 + 3𝑧 = 0
Conjunto homogéneo.

La solución de esta agrupación homogénea es muy diferente a la forma de las


ecuaciones lineales no homogéneas. Suponiendo que existe una solución al conjunto
dado y se pudiera escribir de la siguiente forma: 𝑥 = 𝑎, 𝑦 = 𝑏, 𝑧 = 𝑐. Donde 𝑥 = 𝑘𝑎,
𝑦 = 𝑘𝑏, 𝑧 = 𝑘𝑐, 𝑘 significa una constante abierta satisfaciendo al conjunto anterior, lo
que quiere decir, que se puede fijar una incógnita en un lugar arbitrario, suponiendo
𝑥 = 𝛽 y se sustituye en las incógnitas del resto del conjunto, fijando 𝑥 en con valores
arbitrarios.
−2𝑦 + 𝑧 = −3𝛽
𝑦 + 2𝑧 = − 𝛽
−𝑦 + 3𝑧 = −4𝛽

De esta forma se ha reducido el conjunto de 3 ecuaciones a dos incógnitas. En una


combinación diferente con dos ecuaciones se tiene una solución diferente, el sistema
no tiene solución. Para que pueda tener solución, una de las tres ecuaciones es igual a
otra, es decir una combinación lineal con las otras. Si por lo menos una ecuación del
conjunto anterior se considera linealmente dependiente de la matriz de coeficientes del
primer conjunto, es anulada. Entonces para que pueda haber una solución de un
conjunto homogéneo de ecuaciones líneas se basa en que su determinante sea igual a
0.
3 −2 1
det(𝐴) = [1 1 2] = 0
4 −1 3

Escribiendo su solución de la siguiente forma:


𝑥=𝛽
𝑦 = 2𝛽
𝑧 = −𝛽

De manera equivalente:
𝑥 1
[𝑦 ] = 𝛽 [ 2 ]
𝑧 −1

Se considera como la constante arbitraria a 𝛽.


3.2.11 Ajustes de Curva.
Los datos obtenidos por mediciones, están en constante variación, debido a los errores
aleatorios ligados al sistema de captación de los datos. Independientemente de la
razón, puede que con frecuencia sea necesario un ajuste a la función de los datos de
medición. Como, por ejemplo: un científico podría tratar de crear una fórmula empírica
para el sistema en observación, o un economista podría hacer un ajuste a la curva de la
tendencia económica actual con la finalidad de predecir el futuro. Considerando que, si
el número de los datos se mantiene igual al orden de un polinomio más uno, se puede
hacer un ajuste de manera exacta dicho polinomio a los datos (interpolación
polinomial), pero cuando se realiza el ajuste de la función a los datos, se debe usar un
número de datos más elevado al orden del polinomio, incluso si se usan más, la
precisión de la curva ajustada será mayor.

Para poder ajustar la función a los puntos datos, se tiene que considerar una función
con pocos parámetros libres y determinarlos para que la desviación de la función sea
mínima.

3.2.11.1 Regresión Lineal.


Suponiéndose que se quiere encontrar una función lineal que se ajuste a la tabla a
continuación, pero con una mínima desviación. La función lineal se denomina recta de
regresión.
i x y
1 0.1 0.61
2 0.4 0.92
3 0.5 0.99
4 0.7 1.52
5 0.7 1.47
6 0.9 2.03
Conjunto de Datos Observados.

La función lineal se expresa de la siguiente forma:


𝑔(𝑥) = 𝑎 + 𝑏𝑥
Donde 𝑎 y 𝑏 son las constantes a determinar. Se define la desviación de la recta de la
siguiente forma:
𝑟𝑖 = 𝑦𝑖 − 𝑔(𝑥𝑖 ) = 𝑦𝑖 − (𝑎 + 𝑏𝑥𝑖 ), 𝑖 = 1,2, … , 𝐿
𝐿 va a ser el número total de datos, seis para este ejemplo y 𝑎 y 𝑏, van a ser las
constantes que se van a determinar.

El cuadrado total de las desviaciones se da por:


𝐿 𝐿

𝑅 = ∑(𝑟𝑖 )2 = ∑(𝑦𝑖 − 𝑎 − 𝑏𝑥𝑖 )2


𝑖=1 𝑖=1

Como 𝑎 y 𝑏,son parámetros arbitrarios, se van a determinar de tal forma que se consiga
minimizar 𝑅 respecto a 𝑎 y 𝑏 se anulan.
𝐿
𝜕𝑅
= −2 ∑(𝑦𝑖 − 𝑎 − 𝑏𝑥𝑖 ) = 0
𝜕𝑎
𝑖=1
𝐿
𝜕𝑅
= −2 ∑ 𝑥𝑖 (𝑦𝑖 − 𝑎 − 𝑏𝑥𝑖 ) = 0
𝜕𝑏
𝑖=1

Luego de haber dividido entre 2 se escribe de la siguiente forma:


𝐴1,1 𝐴1,2 𝑎 𝑍
[ ] [ ] = [ 1]
𝐴2,1 𝐴2,2 𝑏 𝑍2
De manera que:
𝐴1,1 = 𝐿
𝐴1,2 = ∑ 𝑥𝑖
𝑍1 = ∑ 𝑦𝑖
𝐴2,1 = ∑ 𝑥𝑖
𝐴2,2 = ∑(𝑥𝑖 )2
𝑍2 = ∑ 𝑥𝑖 𝑦𝑖

Entonces en las ecuaciones anteriores, la sumatoria es respecto a 𝑖, desde 1 hasta 𝐿. Se


puede observar la igualdad que existe entre 𝐴2,1 y 𝐴1,2 . Para ello la solución se escribe
de la siguiente forma:
𝐴2,2 𝑧1 − 𝐴1,2 𝑧2
𝑎=
𝑑
𝐴1,1 𝑧2 − 𝐴2,1 𝑧1
𝑏=
𝑑
donde,
𝑑 = 𝐴1,1 𝐴2,2 − 𝐴1,2 𝐴2,1

3.2.12 Ecuaciones Diferenciales.


Hay problemas que se pueden resolver por medio de las ecuaciones diferenciales
ordinarias (EDO), estos se clasifican en problemas con condiciones de frontera y
problemas con condiciones iniciales, los basados en condiciones iniciales van a
depender del tiempo, las condiciones de solución vienen dadas principalmente por el
tiempo inicial. Existe una diversidad de métodos numéricos, que se implementan para
la resolución de problemas con condiciones iniciales y no tienen semejanza respecto a
los problemas con condiciones de frontera.

Un problema basado en condiciones iniciales de una EDO de primer orden se escribe de


la siguiente manera:
𝑦 ′ (𝑡) = 𝑓(𝑦, 𝑡), 𝑦(0) = 𝑦0

Se puede definir que 𝑓(𝑦, 𝑡) es una función de 𝑦, 𝑡 y la segunda ecuación se considera


las condiciones iniciales. En la ecuación anterior la primera derivada de 𝑦, es una
función conocida de 𝑦 y 𝑡, y es requerido hacer el cálculo de la función incógnita 𝑦
integrando de forma numérica 𝑓(𝑦, 𝑡). En caso de que 𝑓 sea independiente de 𝑦, se
realiza el cálculo por una integración directa.

La condición inicial, siempre tiene que formar parte de la definición del problema,
porque la solución de un problema con condiciones iniciales, se puede determinar, sólo
si la condición inicial está dada. Algunos ejemplos a continuación sobre problemas con
condiciones iniciales de EDO de primer orden:
 y′(t) = 3y + 5, y(0) = 1
 𝑦 ′ (𝑡)𝑡𝑦 + 1, 𝑦(0) = 0
1
 𝑦 ′ (𝑡) = 1+𝑦 2 , y(0) = 1

 𝑦′ = 𝑧, 𝑧′ = −𝑦, 𝑦(0) = 1, 𝑧(0) = 0


Para las ecuaciones diferenciales ordinarias, las soluciones se calculan en los puntos
𝑡𝑛 = 𝑡𝑛−1 + ℎ, para ello ℎ se considera el intervalo de tiempo. A continuación, los
métodos de forma resumida para los problemas de EDO con condición inicial:

Otras
Nombre de los Error
Fórmula relevante características.
Métodos
Local Global
Ecuaciones no
rígidas
Métodos de Euler

hacia adelante Diferencias hacia adelante 0(ℎ2 ) 0(ℎ) AI, CF


modificado Regla del trapecio 0(ℎ3 ) 0(ℎ2 ) Al, CF, NL
hacia atrás Diferencias hacia atrás 0(ℎ2 ) 0(ℎ) Al, CF, NL
Runge-Kutta
segundo orden Regla del trapecio 0(ℎ3 ) 0(ℎ2 ) Al, CF
tercer orden Regla de 1/3 de Simpson 0(ℎ4 ) 0(ℎ3 ) Al, CF
cuarto orden Regla de 1/3 de Simpson 0 0(ℎ5 ) 0(ℎ4 ) Al, CF
3/8 de Simpson
Predictor-corrector
segundo orden Se aplica igual que en el método Runge-Kutta Al, CF
tercer orden Newton hacia atrás 0(ℎ4 ) 0(ℎ3 ) Al, CF
cuarto orden Newton hacia atrás 0(ℎ5 ) 0(ℎ4 ) Al, CF
Ecuaciones Rígidas
Métodos implícitos Diferencias hacia atrás, Al/NA
Método de Gear
Transformación Transformación Exponencial Al
exponencial
NA: sin capacidad de autoinicialización.
AI: Capacidad de autoinicialización.
CF: El tamaño del intervalo cambia con facilidad a media solución.
CD: Es muy complejo el cambio de tamaño del intervalo.
NL: puede que en cada paso sea necesario la solución por medio de ecuaciones no
lineales.

Métodos aplicables para problemas de EDO, con condición inicial.

Luego de haber aprendido los métodos numéricos para la resolución de ecuaciones


diferenciales de primer orden, fácilmente se pueden aplicar en EDO de orden superior,
debido que, se puede descomponer en un grupo de ecuaciones diferenciales de primer
orden.
3.2.13 Software de Cómputo Numérico.
NAG. Numerical Algorithms Group (Grupo de Algoritmos Numéricos). Desarrollo una
biblioteca basada en el lenguaje fortran con aproximadamente 1000 subrutinas
disponibles para el usuario para poder llevar a cabo la resolución de problemas en las
matemáticas aplicadas, entre ellas: ecuaciones integrales, ecuaciones no lineales,
álgebra lineal, cuadratura, transformación Fourier, ecuaciones diferenciales ordinarias y
parciales.

IMSL. International Mathematics and Statistics Library (Biblioteca Internacional de


Matemáticas y Estadística). Creada por Visual Numerics, Inc. Abarca la mayoría de las
áreas ofrecidas por NAG. Tiene soporte para la presentación y el análisis de los datos
estadístico.

Matlab. MATrix LABoratory (Laboratorio de Matrices). Tiene un lenguaje de


programación propio, y ofrece un IDE o entorno de desarrollo integrado, se encuentra
disponible en la mayoría de los sistemas operativos (Windows, Unix y Mac). Posee
funciones como: la representación de funciones y sus datos, implementa algoritmos, las
matrices son manipulables, se puede comunicar con programas desarrollados en otros
lenguajes y dispositivos de hardware. Este software actualmente es muy usado en
centros de investigación y universidades.
4. FÓRMULAS Y FUNCIONES.

4.1 Regresión lineal.


Es una técnica paramétrica que se usa para el pronóstico de variables continuas
dependientes, partiendo de un conjunto de variables independientes. Es de naturaleza
paramétrica debido a que realiza ciertas suposiciones que se basan en el conjunto de
datos, y si este conjunto sigue las suposiciones la regresión arrojará excelentes
resultados, de lo contrario tendría problemas para generar datos convincentes.
Matemáticamente la regresión lineal implementa la una función lineal para poder
aproximar o pronosticar la variable dependiente dada como:

𝑦 = 𝑎𝑥 + 𝑏
Fórmula de regresión lineal simple

𝒚 = se refiere a la variable dependiente. Se pronostica con el uso de la ecuación de la


recta
𝒂 = es la pendiente o el valor que tiene que ser determinado, se le conoce como
coeficiente y es una especie de magnitud de cambio que pasa por 𝑦 cuando 𝑥 cambia.
𝒃 = constante que debe ser determinada o intersección, poque cuando x = 0, y = b.
𝒙 = se refiere a la variable independiente, o la variable usada para hacer una predicción.
Se le denomina simple porque solo existe una variable independiente involucrada, que
en este caso viene siendo 𝑥. El objetivo con la regresión lineal se basa en eliminar la
distancia vertical entre todos los datos y la línea, para determinar la mejor línea se tiene
que eliminar la distancia entre todos los puntos.

Para poder obtener los valores de la ordenada y de la pendiente, son necesarias las
siguientes ecuaciones:
𝑎 = 𝑦̅ − 𝑏𝑥̅ ∑ 𝑥𝑦 − 𝑛𝑥𝑦
̅̅̅
𝑏=
∑ 𝑥 − 𝑛𝑥̅ 2
2
𝑥 = valores conocidos de la variable independiente.
𝑦 = valores conocidos de la variable dependiente.
𝑥̅ = promedio del valor de las x.
𝑦̅ = promedio del valor de las y.
𝑛 = número de datos puntuales u observaciones.

4.2 Regresión logística.


Este tipo de método es estadístico y se implementa para poder predecir las clases
binarias, los resultados o la variable objetivo, es de naturaleza dicotómica, refiriéndose
a que solo existen dos clases posibles, como, por ejemplo, se puede implementar en los
problemas donde sea requerido la detección del cáncer, o para el cálculo de la
probabilidad de que un evento pueda suscitarse. La regresión logística es uno de los
métodos más implementados en la clasificación de dos clases debido a su simple
implementación y se puede usar como base para cualquier problema donde la
clasificación sea de tipo binaria. La regresión logística puede describir y hacer
estimaciones entre una variable binaria dependiente y las variables independientes.
Generalmente se implementa en la detección de spam, predicción de la diabetes, las
estimaciones de compra de algunos productos por parte de los clientes potenciales, etc.
Particularmente la regresión logística lleva el nombre de la función implementada en el
núcleo del método, la función Logística también se le denomina Función Sigmoide,
representada por una curva en forma de “S”, que pudiera tomar cualquier número del
valor real y asignar a un valor entre cero a uno, si la curva tiende a infinito positivo, la
predicción va a convertirse en uno, en cambio si la curva tiende al infinito negativo la
predicción se convierte a 0, si la salida de la función sigmoide es mayor a 0.5 se pudiera
clasificar el resultado como “1” o ”Sí”, en cambio si esta por debajo de 0.5, se puede
clasificar como “0” o ”NO”, pero si resulta 0.75 se puede definir en términos de
probabilidad como un 75% de que ocurra un evento “x”.
1
𝑝=
1 + 𝑒 −𝑦

Función Sigmoide.
Dentro de los tipos de regresión logística se define la regresión logística binaria, donde
la variable objetivo contiene solo dos posibles resultados, en cambio la regresión
logística multinomial, la variable objetivo contiene más de dos categorías nominales, la
regresión logística ordinal, la variable objetivo tiene más de dos categorías ordinales. La
regresión logística es considerada como uno de los modelos más implementados luego
de la regresión linear, este también se considera un algoritmo simple que puede ser
implementado en tareas de clasificación binarias y multivariadas.

La regresión logística es un modelo que se usa para la predicción de la probabilidad de


cierta clase dado un conjunto de variables independientes, definiéndose
matemáticamente de la siguiente forma:

Fórmula de Regresión Logística.

Para lograr una mejor interpretación se parte de una forma más simple de la fórmula de
regresión logística:
𝑝
𝑙𝑜𝑔 = 𝛽0 + 𝛽1 𝑥
1−𝑝

Donde solo se tiene una variable 𝑥 que multiplica a uno de los parámetros 𝛽1 más un
parámetro de sesgo en 𝛽0 (𝛽0 + 𝛽1 𝑥), dando como resultado la función
𝑙𝑜𝑔𝑖𝑡 desarrollada:
1
𝑝=
1+ 𝑒 −(𝛽0 +𝛽1 𝑥)

Resultando el logaritmo de la probabilidad del evento a desarrollar entre la probabilidad


del evento contra el que se va a desarrollar, de manera que, si se hace el manejo
algebraico de la ecuación, para ciertos valores de 𝛽0 y 𝛽1 se grafica la ecuación
anterior, se obtiene la siguiente gráfica, donde el eje x representa los valores del factor
o la variable independiente 𝑥 (parámetros descriptivos para determinar la predicción),
el eje 𝑦 vertical representa la probabilidad, donde solo se van a manifestar dos
posibilidades para los datos de prueba que se están manejando, donde los datos de los
eventos de la clase 1 o el evento 1, corresponde a todos aquellos donde se cumple lo
que se quiere demostrar (tener la enfermedad), en cambio la clase 2 o el evento 2 sería
todo los contrario (no tener la enfermedad). El objetivo de este problema sería
encontrar la solución de los valores betas 𝛽0 y 𝛽1, de tal forma que se pueda obtener la
probabilidad de tener, en este caso cierta enfermedad en función de la variable 𝑥.

Gráfica de la función.

4.3 Naive bayes.


Considerado también como el Ingenio de Bayes, es uno de los métodos más simples
para la clasificación basado en el Teorema de Bayes con una suposición independiente
entre los predictores, es de fácil construcción y se acopla perfectamente para el manejo
de conjunto de datos muy grandes. Este método asume que el efecto de una
característica particular en una clase es independiente de otras características, como,
por ejemplo: si un solicitante de préstamo es deseable o no dependiendo de sus
ingresos, historial de préstamos, transacciones anteriores, edad y ubicación. Incluso si
estas características son interdependientes, se consideran de forma independiente, esa
suposición simplifica el cómputo de los datos, denominándose independencia
condicional de clase
𝑃(𝐷|ℎ)𝑃(ℎ)
𝑃(ℎ|𝐷) =
𝑃(𝐷)
Fórmula de Naïve Bayes.
 𝑃(ℎ): es la probabilidad de que la hipótesis ℎ sea verdadera
(independientemente de los datos). Esto se conoce como la probabilidad previa
de ℎ
 𝑃(𝐷): es la probabilidad de que la hipótesis ℎ sea verdadera
(Independientemente de los datos). Esto se conoce como la probabilidad previa
de ℎ
 𝑃(ℎ|𝐷): es la probabilidad de la hipótesis ℎ dada los datos 𝐷. Esto se conoce
como la probabilidad posterior.
 𝑃(𝐷|ℎ): es la probabilidad de los datos 𝑑 dado que la hipótesis ℎ era cierta. Esto
se conoce como probabilidad posterior.

En caso de que sólo se tenga una característica, el método de Bayes calcula la


probabilidad de un evento por medio de los siguientes pasos:
 Calcular la probabilidad previa para las etiquetas de clase dadas.
 Determinar la probabilidad con cada atributo para cada clase.
 Colocar estos valores en el teorema de bayes y calcular la probabilidad posterior
 Ver que clase tiene una probabilidad más alta, dado que la variable de entrada
pertenece a la clase de probabilidad más alta.

Ventajas Desventajas

• Es fácil y rápido predecir la clase de • En el caso de que una variable


conjunto de datos de prueba. categórica, tenga una categoría en el
También funciona en la predicción conjunto de datos de prueba, que
multiclase. no se observó en el conjunto de
• Cuando es mantiene la suposición datos de entrenamiento, el modelo
de independencia, un clasificador de asigna una probabilidad de 0 y no
Naive Bayes funciona mejor que podrá hacer una predicción, esto
otros modelos de clasificación. Ya comúnmente se conoce como
que necesita menos datos para su frecuencia 0.
entrenamiento. • Asunción de predictores
• Tiene buen desempeño en el caso independientes ya que realmente es
de las variables de entrada casi imposible obtener un conjunto
categóricas comparadas con de predictores que sean
variables numéricas. completamente independientes.
La fórmula de Naive Bayes se considera como la fórmula de predicción menos compleja
y a la vez muy eficaz, a pesar de los avances en machine learning ha podido demostrar
grandes capacidades, implementándose en muchas aplicaciones, desde análisis de
textos hasta los controles de recomendación.

4.4 Máquinas de vectores de soporte.


Se definen por sus siglas en inglés SVM (Suport Vector Machine), son máquinas de
aprendizaje automatizado que implementan el método de vectores de soporte, a su vez
los vectores de soporte se implementan para la resolución de problemas de
clasificación y regresión. Originalmente fue propuesto por Vladimir Vapnik para
implementarse en el reconocimiento de patrones y resolver problemas de clasificación
binaria con clases linealmente separables.

Teniendo un conjunto 𝑁 de muestras con vectores de 𝑥𝑖 , marcadas en dos clases con


(𝑦𝑖 = +1, 𝑦𝑖 = −1), dentro de un espacio de entrada 𝑛 dimensional, y es necesario
determinar, si una muestra 𝑥 forma parte de alguna de las dos clases, se tiene que
encontrar sólo un hiperplano que brinde el más alto margen de separación entre las
clases, además con el error más bajo generalizado como se muestra a continuación:

Hiperplano para clases linealmente separables.


El grupo de las 𝑁 muestras marcadas, se pueden separar geométricamente, por medio
de la recta o por el hiperplano de separación de la forma:

𝑓(𝑥) = ⃗⃗⃗⃗⃗
(𝑤 ⋅ ⃗⃗⃗⃗
𝑥)

De esta forma el margen de separación (𝑚), se comprende entre las muestras de 𝑥𝑖 de


cada clase que este más cercana al hiperplano de separación de la función 𝑓(𝑥). Las
muestras se conocen como los vectores de soporte y por encima de ellas pasan los
hiperplanos que son paralelos a 𝑓(𝑥), de manera que el espacio de separación (𝑚) es la
distancia perpendicular que hay entre los hiperplanos de los vectores de soporte.

4.5 Árboles de decisión y bosques aleatorios.


Los árboles de decisión son unos de los algoritmos de machine learning más populares,
esto se debe a que puede ser fácilmente visible para que una persona no se le dificulte
la sucesión de los eventos, representado de una forma muy similar a un diagrama de
flujo, donde cada nivel se identifica con una pregunta y una respuesta de si o no, donde
la respuesta desencadena una solución al problema inicial.

Árbol de decisión.
Se puede evidenciar que un árbol de decisión tiene una estructura similar a un diagrama
de flujo donde un nodo interno va a representar una característica o atributo, las ramas
representan una regla de decisión, cada nodo u hoja representa el resultado y el nodo
superior se va a conocer como nodo raíz. La manera en que se seleccionan los atributos
es por medio de la heurística para poder seleccionar el criterio de división que va a
dividir a los datos de la mejor forma. También se le conoce como reglas de partición ya
que ayuda a determinar puntos de ruptura para conjunto en un nodo suministrado. Esta
medida brinda un rango a cada característica, el atributo que tenga la mejor puntuación
se selecciona como atributo de división. En el caso de un atributo de valor continuo
también es necesario la definición de los puntos de división por las ramas, las medidas
de selección son la ganancia de información, la regresión de ganancia y el índice de Gini.

Ganancia de información.
Cuando se une un nodo en un árbol de decisión para dividir las instancias de formación
en subgrupos más reducidos, la entropía cambia y la ganancia de información viene a
ser una medida de este cambio en la entropía. Por su parte la entropía es la medida de
incertidumbre de una variable aleatoria, caracteriza la impureza de una colección de
ejemplos, mientas esta mayor sea, el contenido de la información también aumenta.

Si es requerido la construcción de un árbol partiendo desde la ganancia de información


se debe iniciar con todas las instancias de formación del nodo raíz, usar la ganancia para
seleccionar el atributo a marcar en cada nodo, construir de forma recursiva cada árbol
en el subconjunto de instancias y ninguna ruta debe tener el mismo atributo discreto
dos veces.

Los árboles de decisión requieren menor preprocesamiento de datos por parte del
usuario, sin que sea necesario la normalización de las columnas. Se puede usar en la
ingeniería de características, como la predicción de valores perdidos, ideal para la
selección de variables. Este no tiene suposiciones sobre la distribución debido a la
naturaleza no paramétrica del algoritmo.
Las desventajas de este método de clasificación son los datos sensibles al ruido, de
manera que pudiera aumentar considerablemente los datos, la más mínima variación
de los datos genera un árbol de decisión totalmente diferente, están sesgados con un
conjunto de datos de desequilibrio, por medio de esto se recomienda establecer el
equilibrio entre el grupo de datos antes de crear el árbol.

Los Bosques aleatorios se consideran como un método de ensamblado que es basado


en los árboles de decisión, que se entrenan de forma aleatoria con la finalidad de
disminuir la interrelación, entre los bosques debe existir diferencias por aleatoriedad
debido a que los árboles de decisiones son determinísticos y van a producir el mismo
árbol si el dataset y los hiperparámetros son mantenidos.

La ventaja de los bosques aleatorios radica en que es un método preciso y robusto, por
el número de árboles que interactúan en el proceso. Estos no sufren por problemas de
sobreajuste ya que toma el promedio de todas las predicciones anulando el sesgo,
manejando los valores faltantes. La información relativa se extrae de las características,
ayudando a seleccionar sólo las más importantes.

En cuanto a sus desventajas se puede decir que estos son lentos para realizar las
predicciones ya que contienen múltiples árboles de decisión, cada vez que realiza un
pronóstico, todos los árboles tienen que realizar un pronóstico para la misma entrada y
luego realiza una votación sobre la misma, consumiendo un tiempo considerable
durante la ejecución de este proceso. La interpretación del modelo es compleja en
comparación con el árbol donde se toma una decisión muy fácil a la siguiente ruta.

Durante el entrenamiento de los árboles es requerido la definición de los nodos y sus


condiciones, se tienen que evaluar las divisiones por medio de la entropía y la impureza
Gini y se tienen que definir los criterios para evitar que siga creciendo el árbol.

La entropía se considera como la cantidad de información que se necesita para describir


los datos. Si los datos son similares la entropía será 0, considerándose como pura, pero
si los elementos se dividen por igual la entropía es impura.
𝑛

𝐸𝑛𝑡𝑟𝑜𝑝𝑦 = − ∑ 𝑝 ∗ log(𝑝𝑖 )
𝑖=1

Fórmula de Entropía.

El índice de Gini o la impureza de Gini, se encarga de medir la impureza que hay en el


nodo del árbol y su valor viene dado entre 0 y 1. El índice de Gini con valor 0 se refiere a
que la muestra es homogénea y los elementos son similares, cuando el índice de Gini es
de valor 1, se refiere a la máxima desigualdad que hay entre los elementos, será la suma
del cuadrado de las probabilidades en cada clase y se ilustra de la siguiente forma:
𝑛

𝐺𝑖𝑛𝑖 𝐼𝑛𝑑𝑒𝑥 = 1 − ∑ 𝑝𝑖2


𝑖=1

4.6 K − vecino más próximos (KNN).


KNN se clasifica como un algoritmo de clasificación y predicción, dependiendo del caso
puede ser aplicado para lograr realizar predicciones de eventos y ordenar elementos
varios grupos o clases. Las fórmulas matemáticas que lo fundamentan son las
siguientes:

Distancia Euclidiana.
Es la que más se implementa durante la ejecución del algoritmo, ya que permite hacer
el cálculo entre dos puntos que se encuentran en un plano o en el espacio basándose
en el teorema de Pitágoras.
𝑎2 = 𝑏 2 + 𝑐 2

Teorema de Pitágoras.
a = hipotenusa.
b = cateto.
c = cateto.
En este tipo de contexto, la fórmula de Euclides se implementa para realizar el cálculo
entre dos o más ítems con la finalidad de lograr conocer la agrupación a la que
pertenecen, los ítems pueden ser: canciones, lugares, perfiles, personas, películas, etc.

Distancia Euclidiana.

𝐸𝑢𝑐𝑙𝑖𝑑𝑒𝑎𝑛 𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒 = 𝑑 = √∑(𝑋𝑖 − 𝑌𝑖 )2


𝑖=1

En esta representación X y Y, son los puntos de datos, i corresponde al número de


características o columnas. La principal desventaja de esta fórmula, radica en que la
distancia no va a ser una variante de escala, es decir, que las distancias entre los puntos
que se calculan, pudieran ser segadas dependiendo de las unidades de las entidades.
Generalmente es necesario hacer una normalización antes de implementar las medidas
de distancia. Los datos de las medidas se volverán menos funcionales a medida que
aumente las dimensiones.

Cuando se presentan datos con pequeñas dimensiones, es preciso el uso de la formula


euclidiana, además es de vital importancia realizar el cálculo de la magnitud de los
vectores. A pesar de que existen otras fórmulas que se pueden implementar para
realizar el cálculo de la distancia entre dos puntos, la distancia euclidiana se mantiene
como la mejor opción de implementación ya que es de fácil implementación, muy
intuitiva, y genera excelentes resultados.
Cabe destacar que dependiendo el entorno también se pueden implementar otras
fórmulas para el cálculo de distancia como:

Cálculo de Distancia de Manhattan.


También conocida con el nombre de distancia de taxi o distancia de bloque, realiza el
cálculo de la distancia que existe entre dos vectores solo si pudieran moverse en
ángulos rectos, no involucrando movimientos en diagonal para realizar el cálculo de la
distancia.

Distancia de Manhattan.

𝐷(𝑥, 𝑦) = ∑|𝑥𝑖 − 𝑦𝑖 |
𝑖=1

Fórmula de Distancia de Manhattan.

A pesar de que esta fórmula funciona bien para realizar cálculos de grandes
dimensiones, no es tan intuitiva como la euclidiana. Durante su implementación puede
que arroje resultados mucho más elevados debido a que no es el camino más corto a
seguir para realizar el cálculo, esto no es considerado como un problema, pero no debe
pasar desapercibido. Cuando se presentan atributos binarios o discretos, esta pareciera
ser la mejor opción para realizar los cálculos de distancia, debido a que considera las
rutas de forma realista.
Distancia de Minkowski.
Este tipo de cálculo de distancia es considerada más compleja que las anteriores,
debido a que es una métrica usada en el espacio vectorial ya normado (espacio de n
dimensiones), esto quiere decir que se pudiera implementar en un espacio en el que las
distancias se representan como un vector con magnitud.

Además, tiene los siguientes requisitos:


 Vector: la longitud del vector cero será igual a cero, en cambio los demás
vectores su longitud es positiva. Como, por ejemplo: si se viaja de un lugar a
otro, la distancia es positiva, pero si se viaja de un lugar al mismo la distancia es
cero.
 Factor Escalar: cuando se multiplica el vector por un número positivo, la longitud
va a cambiar, pero va a mantener la dirección. Ejemplo: si se recorre cierta
distancia en una sola dirección y es agregada la misma distancia, la dirección se
mantiene.
 Desigualdad Triangular: la distancia más corta que existe entre dos puntos va a
ser una línea recta.

1
𝑛 𝑝
𝐷(𝑥, 𝑦) = (∑|𝑥𝑖 − 𝑦𝑖 |𝑝 )
𝑖=1

Fórmula de la distancia de Minkowski.

Distancia de Miskowski.
Lo que pudiera ser mucho más atrayente de esta fórmula, es la implementación del
parámetro p, que se usa para manipular las métricas de distancia similares a otras.
 p = 1 – Distancia de Manhattan.
 p = 2 – Distancia Euclidiana.
 p = ∞ - Distancia de Chebyshev.

Esta fórmula conserva las mismas desventajas presentes en las medidas que
representa. El parámetro 𝑝 pudiera ser complejo para su implementación, ya que hallar
su valor correcto pude ser muy ineficiente en el ámbito computacional, esto va a
depender directamente del caso de uso. Por otra parte, la ventaja de este parámetro es
la posibilidad de iterar sobre el mismo, hallando la mejor medida que se acople a su
caso de uso.

4.7 Algoritmo K-means.


Es un método de ordenamiento en clústeres no supervisado, este ordena los datos
mientras trata de separar las muestras en k grupos iguales, minimizando la inercia o la
sumatoria de los cuadrados dentro del grupo. Es necesario que se especifique el
número de clústeres a implementar. Tiene fácil adaptación al manejo de grandes sumas
de datos. Este algoritmo de k-medias separa un grupo de 𝑁 muestras en 𝑘 grupos
diferentes 𝐶, cada uno se describe por la media 𝜇𝑗 de las muestras del grupo.

Dado un grupo de datos (x1, x2,…,xn), donde cada dato es un vector real d-dimensional,
k-medios, el objetivo del agrupamiento es la división de 𝑛 observaciones en 𝑘(≤ 𝑛)
conjuntos 𝑆 = {𝑆1, 𝑆2, … , 𝑆𝑘} para minimizar la sumatoria de los cuadrados en el grupo
WCSS. Esto se define de la siguiente forma:
𝑘

arg min ∑ ∑ ‖𝑥 − 𝜇𝑖 ‖2
𝑖=1 𝑥∈𝑆𝑖

Se considera 𝜇𝑖 como la media de los puntos en el conjunto entre los conglomerados 𝑆𝑖


5. ALGORITMOS.

5.1 Algoritmos.
El machine learning comúnmente conocido como aprendizaje automático conforma
una parte fundamental en la composición de la inteligencia artificial, ya que se encarga
de estudiar la facultad de un computador para aprender y realizar acciones sin la
necesidad de haber sido programado para ello. Los algoritmos de aprendizaje
automático se basan en la perfección de los programas y aplicaciones informáticas, ya
que tienen la capacidad de desarrollarse, cambiar y aprender de forma automatizada.

Un algoritmo es una serie de pasos y reglas definidas que se llevan a cabo con la
finalidad de poder realizar una acción o tarea determinada. A pesar de estar
relacionados con la tecnología, la construcción de una serie de pasos para realizar una
tarea no está estrictamente relacionada con esta, ya que cuando se sigue una receta de
cocina, se indica una dirección, se está siguiendo una secuencia para recibir un
resultado. La IA agrupa un conjunto de procedimientos que capacita a un computador
para realizar acciones que necesiten alto grado de entendimiento y razonamiento. La IA
hace uso de los algoritmos para el procesamiento de datos, a través de ellos, se
resuelven problemas y se realizan procesos complejos, por medio del seguimiento de
instrucciones, que se asemejan a los procesos de inteligencia de las personas, por
medio del aprendizaje, razonamiento y autocorrección. De esta manera se puede
transformar los datos de entrada (input) en resultados (output).

El conjunto de comandos que un computador usa para hacer la predicción de la edad


de una persona por medio de un análisis de su fotografía, son definidos por medio de
los algoritmos. También son definidos como algoritmos, los procesos que anticipan la
respuesta durante la escritura de una pregunta en una caja de búsqueda, las
recomendaciones de sitios web acordes a los intereses de los usuarios. Variedad de
plataformas de uso diario entre las personas poseen los algoritmos de la IA que mejora
la interacción de los usuarios, disminuyen la complejidad de la toma de decisiones para
ofrecerle a las personas por medios de los datos de aprendizaje, datos apegados a los
gustos de los usuarios

Los algoritmos de machine learning tienes sus procesos definidos para ser aplicados en
diferentes áreas de la vida diaria. La definición de algunos algoritmos de la IA, tienen su
basamento en algunas fórmulas matemáticas de estadísticas creadas por especialistas,
que van a integrar el desenvolvimiento del problema a resolver.

La construcción de un modelo analítico encargado de automatizar un proceso de


análisis de datos es el resultado de la implementación de los algoritmos de machine
learning, ya que, generan un modelo capaz poder analizar gran número de datos y
obtener como resultado datos mucho más precisos. Estos resultados se llevan a cabo
por medio de las predicciones que pudieran dirigir a cualquier negocio a mejorar la
toma de decisiones a futuro. También se pudieran experimentar patrones de
comportamiento de los datos que pudieran estar ocultos antes del análisis inteligente.

Los algoritmos de IA tienen como objetivo principal el desarrollo de algoritmos


generalizados, tomando como referencia dos factores: la eficacia del espacio y el
tiempo. El uso de los algoritmos genera datos mucho más precisos que la programación
humana directa. Debido a que los algoritmos pueden efectuar un manejo de grandes
volúmenes de datos que las personas se les haría eterno y casi imposible de analizar sin
el uso de computadoras.
5.2 Tipos de algoritmos.
Durante la creación de inteligencia artificial hay dos factores fundamentales: los
algoritmos y lo datos para su entrenamiento. El algoritmo es el que va a suministrar los
datos e instrucciones para la máquina, que le permitirán aprender a usarlas y mejorar
su implementación.

Durante la toma de decisiones, las personas hacen uso de los algoritmos, ya que cuando
se presentan situaciones o problemas cotidianos, el cerebro siempre está planteando
las opciones causantes del problema, con las posibles soluciones a las mismas. Estos
algoritmos no son basados en fórmulas matemáticas, pero estas son la vía para que los
computadores puedan llegar a resolver dificultades, como lo harían las personas.

En fusión de estos algoritmos se pudieran dividir en los que emplean la lógica,


fundamentándose en los de racionalidad del pensamiento humano, y los que hacen la
combinación de la lógica y la intuición, como las redes neuronales artificiales, basando
su diseño de las neuronas del cerebro humano, implementado un patrón de
funcionalidad similar al de las personas para que las máquinas aprendan cómo lo haría
una persona, desencadenando el concepto de los que sería Deep Learning (Aprendizaje
Profundo).

Dependiendo del tipo de aprendizaje los algoritmos se clasifican en: aprendizaje por
refuerzo, aprendizaje supervisado, aprendizaje no supervisado.

5.2.1 Aprendizaje por refuerzo.


Reinforcement Learning o (RL), está centrado en los procesos de aprendizaje, por medio
del suministro de algoritmos a través de un grupo de parámetros, acciones y valores
finales. La definición de las reglas trata de hacer la exploración de diversas opciones y
posibilidades, evaluando los resultados para poder determinar cuál es el más indicado.
A raíz de esto el sistema enseña a la máquina por medio de experiencias anteriores
adaptando el enfoque de respuesta a la situación para alcanzar la mejor solución
posible.
De esta forma tiene su basamento de interacción constante muy similar al concepto
humano de “ensayo y error”, el computador tiene la capacidad de realizar todo este
proceso en tiempo récord y cumpliendo las reglas y condiciones del entorno dado,
partiendo de la experiencia previa que genera el propio computador durante de la
ejecución de la tarea. Un ejemplo de este tipo de aprendizaje fue el aplicado en la IA
que juega ajedrez, AlphaZero.

Los principales algoritmos aplicado en este tipo de aprendizaje son: programación


dinámica (Dynamic programming), SARSA (State-Action-Reward-State-Action, “Estado-
Acción-Recompensa-Estado-Acción”) y Q-Learning.

Aprendizaje por Refuerzo.

Los problemas de aprendizaje por refuerzo se componen por un agente y un entorno, el


agente tiene que percibir su entorno, aprender del mismo y entrenarse hasta que
pueda alcanzar su objetivo fijado. El entorno del agente se estructura como una
variedad de alternativas, aquí es donde el agente va a recibir toda la información que
necesita para su entrenamiento y aprendizaje. Durante este proceso el agente va a
pasar por diferentes estados, en función al entorno y las acciones realizadas. El agente
cada cierto tiempo tiene acceso a sus acciones, pero estas van a depender del estado
en que se encuentre.

En cuanto a la funcionalidad del aprendizaje por refuerzo, un agente tiene una variedad
de estados finitos y un grupo de acciones que puede hacer. En cada momento el agente
dependiendo al estado en que se encuentre va a seleccionar la siguiente acción a
realizar, recibiendo una respuesta del entorno a la acción realizada por medio de la
recompensa, que en este caso se expresa como un número, estableciendo que:
mientras mayor es el número, mayor será el beneficio.

Inicialmente el agente no tiene el conocimiento sobre qué estado puede alcanzar o que
recompensa va a recibir, estas dependen directamente del estado actual y la acción a
realizar, debido a esto se intenta que el agente obtenga el conocimiento de su entorno
por medio de la acumulación de recompensas, con la finalidad que pueda descifrar una
secuencia de acciones a realizar que le suministre la mayor recompensa acumulada.

Interacción con el entorno.

En la imagen anterior se muestra un ejemplo de cómo una persona tiene que salir de un
edificio en llamas, donde la persona sería el agente, el entorno, las nueve celdas a las
que puede movilizarse, y en cada una de ellas, tiene disponible una serie de acciones.
5.2.1.1 Q-Learning.
Es un algoritmo de aprendizaje por refuerzo, que se fundamenta en valores y se
concentra en la mejora de la función de valor en función al problema o entorno. La letra
“Q”, en el Q-Learning, se refiere a la calidad con que el modelo puede encontrar la
siguiente acción. A continuación, se presenta el proceso de aprendizaje por medio de
un ejemplo de un juego:

 Inicialización.
El agente al comenzar las acciones no tiene ningún tipo de conocimiento, por ello se
define la tabla Q en cero.

 Explotación o Exploración.
A este nivel el agente selecciona un camino posible. Si este colapsa (explota),
absorbe información de la tabla Q, tratará de rehacer nuevos caminos. Cuando el
agente realiza su proceso para un número mayor durante un tiempo determinado
es necesario explotar. Cuando el agente no tiene ningún tipo de experiencia
también es necesario que explote. Tiene la capacidad del manejo de los ajustes
basándose en estas dos condiciones, exploración y explotación agregando una
nueva variable que tiene que ser incluida en la función de valor. Cuando el modelo
es iniciado y no se incluye ninguna información, la exploración gana en cuanto a
prioridad, pero cuando el modelo alcanza una adaptación eficaz al entorno no se
tiene que dejar de lado la explotación, en términos generales, el agente toma
decisiones en el segundo paso y las opciones serán exploración y la explotación.

 Cuantificar la recompensa.
Una vez que el agente ha seleccionado que acción tiene que ser la siguiente, actúa,
llevando al agente al siguiente paso denominándose estado “S”. Todas las acciones
realizadas orientarán al agente a la acumulación del puntaje, ya identificado como la
recompensa. Por ejemplo: cuando el agente selecciona cuatro desde el primer
estado, realizará sus movimientos mucha más allá fundamentándose en la
experiencia que tiene dicho estado, luego el agente podrá elegir pasar al siguiente
estado respecto a la experiencia previa tomando en cuenta el nivel de la
recompensa.

 Restablecimiento de la tabla Q.
A este nivel, el agente hace el cálculo de la recompensa, donde el algoritmo va a
actualizar la ecuación de Bellman para poder cambiar el valor en el estado “S”. es
necesario manejar los términos como la Tasa de Aprendizaje, considerada como una
constante que se encarga de establecer el peso que se tiene que añadir a la tabla Q
para obtener como resultado un nuevo valor pasando del anterior. La Tasa de
Descuento se encarga de realizar el descuento de la recompensa futura,
proporcionando el equilibrio del efecto que tendrán las siguientes recompensas
respecto a los nuevos valores que pudieran tomar.
Luego que el agente hace el recorrido por estos estados, adquiriendo un
aprendizaje significativo, alcanzará valores nuevos valores en la tabla Q. Haciendo
más sencillo su uso para poder mapear los diferentes estados donde el agente
seleccionará la acción que lo dirija hacia al estado con el valor Q más elevado.

Aprendizaje Q Profundo (Deep Q Learning).


Tiene la posibilidad de apoyar al modelo en la actualización directa de la tabla Q con los
valores convenientes y para poder realizar los procesos de una forma más eficaz, pero
es necesario tomar en consideración la dificultad del modelo como un ambiente
complejo que puede minimizar el rendimiento. Desde otro punto de vista, el tiempo y
los recursos van a balancear lo ineficaz del modelo durante su la edición de la tabla Q
con los valores adecuados. El Deep Q Learning aprueba la implementación la estrategia
del algoritmo Q-Learning adicionando las redes neuronales artificiales.

Funcionamiento del Aprendizaje Q profundo.


Pudiera mejorar el rendimiento del modelo tomando en cuenta la función Q,
apoyándose en el aproximador de funciones. Es recomendable el uso de esta técnica en
vez de la implementación de integraciones de valores para realizar directamente los
cálculos de los valores de Q. La mejor forma de realizar este proceso es por medio de la
implementación de las redes neuronales artificiales, debido a que ayuda al agente a
seleccionar el estado cuando recibe las entradas (estados del entorno). Luego que
recibe la entrada, la red de neuronas estima el valor de Q, donde el agente va a tomar
sus decisiones basándose en estos valores.

La pérdida puede ser calculada, por medio de la comprobación del valor objetivo y la
salida que tiene el modelo, cabe destacar que esto se realiza luego de haber elegido el
valor objetivo, para esto se necesita la ecuación de Bellman. 𝑄 ∗ (𝑠, 𝑎) = 𝐸 [𝑅 𝑡 +
1 + 𝛾𝑚𝑎𝑥𝑎′𝑞 ∗ (𝑠′, 𝑎′). Luego se usa el algoritmo de descenso de gradiente
estocástico y de fondo. Si se tiene un espacio de estados reducido es recomendable la
implementación de Q-learning estándar en vez de Q-learning, ya que puede calcular los
valores óptimos de una forma más eficiente con un espacio de estado más reducido.

5.2.1.2 SARSA (State-Action-Reward-State-Action).


Por sus siglas en español “Estado-Acción-Recompensa-Estado-Acción”, es un algoritmo
muy similar al Q-learning, basado en la diferencia temporal para el control de políticas,
donde trata de aprender los valores indicados para Q para los pares estado-acción
(𝑠, 𝑎) (𝑄 ∗ (𝑠, 𝑎)), pero la forma en que trata de aproximarse a los valores de Q* es
totalmente diferente ya que SARSA es un método on-policy, donde la aproximación de
Q* se hace por medio del proceso denominado iteración de políticas generalizada.
Cómo buen método on-policy, constantemente está estimando el valor de 𝑄 𝜋 para la
política de comportamiento 𝜋 que sigue el agente, de forma paralela cambiar el valor
de 𝜋 para poder hacerla más greedy respecto a 𝑄 𝜋 .

Su regla de actualización se basa por medio de la siguiente implementación:


𝑄𝑡+1 (𝑠, 𝑎) = 𝑄𝑡 (𝑠, 𝑎) + 𝛼. [𝑅𝑎 + 𝛾. 𝑄(𝑠 ′ , 𝑎′ ) − 𝑄𝑡 (𝑠, 𝑎)]

𝑆 se define como el estado del ambiente en el tiempo 𝑡, 𝑎 es la acción seleccionada en


el estado actual, 𝑅𝑎 se refiere a la recompensa al ejecutar 𝑎, 𝑠 ′ , en el estado al que
llegó después de haber ejecutado a en 𝑠 y 𝑎′ se refiere a la acción que se selecciona
luego en 𝑠 ′ . Se puede apreciar que dicha regla implementa los elementos de la
quíntupla (𝑠, 𝑎, 𝑅𝑎 , 𝑠 ′ , 𝑎′ ). Originando la definición SARSA.

Inicializa cada entrada 𝑄(𝑠, 𝑎) de manera arbitraria.


Do (para cada episodio)
Establecer el estado inicial 𝑠
While (no termine el episodio)
Elija una acción 𝑎 desde 𝑠 con una política derivada de Q
While (no se alcance un estado terminal)
Ejecutar 𝑎. Analizar la recompensa r y el nuevo estado 𝑠 ′
Elegir acción , 𝑎′ desde 𝑠 ′ con la implementación de una política derivada de 𝑄
(𝜖 − 𝑔𝑟𝑒𝑑𝑑𝑦)
𝑄(𝑠, 𝑎) = 𝑄(𝑠, 𝑎) + 𝛼. [𝑟 + 𝛾. 𝑄(𝑠 ′ , 𝑎′ ) − 𝑄𝑡 (𝑠, 𝑎)]
𝑠 = 𝑠′
𝑎 = 𝑎′
Algoritmo de SARSA.

5.2.1.3 La Programación Dinámica.


Es un método matemático que se usa para determinar la solución de problemas
matemáticos, por medio de la toma de decisiones de una forma secuencial. Con la
implementación de un procedimiento sistemático se pueden definir las combinaciones
de decisiones que optimice la efectividad total, por medio de la composición del
problema en varias etapas, con la finalidad de que estas sean completadas por una o
más formas o estados uniendo cada etapa con el uso de una serie de cálculos
recursivos.

Una etapa va a ser una porción del problema, con las que cuenta un grupo de
alternativas totalmente excluyentes, de las que se va a seleccionar la alternativa más
ideal. En cuanto al estado será el reflejo de la condición o las restricciones que van a
permitir enlazar todas las etapas, las etapas van a estar interrelacionadas entre sí, de tal
forma que, al momento de optimización de una etapa, el resultado directamente pasa a
ser factible para todo el problema.

Esquema de una Etapa.

𝒒𝒋 = se define como la variable de estado en la etapa i.


𝑿𝒊𝒋 = es uno de los valores que puede tomar la variable de decisión Xi en la etapa i
𝑿𝒊 ∗ =Decisión óptima de la etapa i.

La programación dinámica no está compuesta de un sistema de fórmulas matemáticas


estándar, debido a que su enfoque es más generalizado a la hora de llegar a resolver
problemas, y las ecuaciones que se implementan puede que varíen dependiendo del
problema que requiera una solución. De manera común llega a resolver el problema por
medio de la división de las etapas, y en cada etapa tiene la intervención de una variable
de optimización. La optimalidad se define como la teoría principal de la programación
dinámica, ya que establece como puede ser resuelto un problema de la forma correcta
dividiendo en etapas y con el uso de cálculos recursivos. Su política de óptima, tiene la
peculiaridad de: sin importar las decisiones tomadas para lograr alcanzar un estado, en
una etapa determinada, las decisiones que quedan tienen que constituir una política
óptima para dejar ese estado.
Lo necesario con lo que se debe contar para poder resolver un problema con la
programación creativa es lo siguiente:
 Cierto grado de creatividad, para poder dar un enfoque, de la forma que lo necesite
la resolución de un problema.
 Excelentes conocimientos acerca de cómo se estructuran los problemas de
programación dinámica, para poder identificar cuando el problema puede ser
resuelto implementando estos procedimientos y como pueden ser llevados a cabo.

Los problemas de programación dinámica cuentan con las siguientes características:


 Se puede segmentar el problema en varias etapas y cada una requiere una
política de decisión diferente.
 Las etapas en las que se divide el problema van a contener un número de
estados asociados a la misma.
 El efecto que va a tener una política de decisión en una etapa es de cambiar el
estado actual en uno que se asocie al estado de la siguiente etapa.
 El proceso de solución de problemas se diseña con la finalidad de conseguir una
política indicada para el problema completo.
 En un estado actual, la política de optimización para las etapas siguientes no se
relaciona con la política adoptada en las etapas anteriores (principio de
optimalidad).
 El proceso de solución comienza al conseguir la política ideal para la última
etapa.

5.2.2 Aprendizaje Supervisado (Supervised machine learning).


Hace uso de modelos predicción brindándole datos de entrenamiento, donde el sistema
recibe un grupo de datos y un objetivo definido y el modelo cada vez se entrena hasta
alcanzar el objetivo que se le ha definido. Dentro de los algoritmos de Aprendizaje
supervisado se encuentran algoritmos como: árboles de decisión, Naive Bayes,
regresión lineal, regresión logística, SVM (Suport Vector Machines).
Las diferentes técnicas de aprendizaje supervisado requieren que les sea suministrado
un grupo de datos de entrada y de salida que conforman el objetivo del aprendizaje, de
manera que se pueda construir un modelo de predicción. Para ello los algoritmos de
aprendizaje supervisado hacen el ajuste a un grupo de parámetros de los modelos que
operan en las entradas y se ajustan al grupo de las salidas. El objetivo del aprendizaje
supervisado automático se basa en el entrenamiento del modelo de la forma y = f(x)
para poder predecir “y” las salidas basándose en las entradas “x”.

Existen dos tipos de algoritmos supervisado: los de clasificación se encargan de predecir


los resultados categóricos cómo por ejemplo asignar a un objeto correctamente al
grupo al que pertenece, los tipos de transacciones si son o no fraudulentas, etc. El
segundo tipo son las técnicas de regresión, se encargan de la predicción de los valores
continuos, como por ejemplo el número de ventas que pudiera darse la semana
siguiente.

Los datos de entradas en los algoritmos de aprendizaje automatizado se van a


denominar características, estas pueden contener procesos y elementos matemáticos
de datos que serán importantes para la realización de la tarea de aprendizaje, ejemplo:
el total de los valores de las transacciones financieras en la semana o el número mínimo
de las transacciones en el mes pasado, etc.

Luego de haber definidos los datos y características, 𝑥 , 𝑦 se identifican los valores en 𝑦,


el modelo 𝑦 = 𝑓(𝑥) se encuentra listo para entrenarse. En el proceso de
entrenamiento del modelo, al algoritmo va aprendiendo los diferentes parámetros o
pesos. Dichos parámetros o ponderaciones se aplican a las características con la
finalidad de poder crear un modelo entrenado que se pueda ajustar a los resultados.
Entre los ejemplos de los posibles parámetros, pudieran presentarse coeficientes de
regresión lineal o puntos de separación en un árbol de decisión. A continuación, un
esquema sobre este concepto:
Canalización de Aprendizaje automático.

En esta representación de aprendizaje supervisado, se muestra la entrada de los datos


sin procesar, todas las características, las salidas, el modelo de machine learning, los
diferentes parámetros de modelo y las predicciones o salidas; el modelo de aprendizaje
de este ejemplo está capacitado para hacer la clasificación si un cliente se mantiene o
se retira.

Cuando un modelo ha sido entrenado, frecuentemente se evalúa y se prueba un grupo


de datos que se reservan para hacer la validación del rendimiento del modelo. El
proceso de generación de predicciones sobre los datos reservados muestra que, de los
datos reservados, que tan efectivo se desempeña el modelo de datos interactuando con
datos nuevos, con los que se está entrenando. La preparación, las pruebas o
validaciones, frecuentemente son pasos repetitivos que demandan mucho tiempo en el
desarrollo de un proceso de aprendizaje automático.

Los algoritmos supervisados, requieren de gran volumen de datos no tribales para


poder aprender de una forma confiable por medio de las observaciones de los datos
reales en el entorno. Los modelos puede que requieran grandes cantidades de datos
tanto en las entradas, como en las salidas para poder desarrollar un aprendizaje y
funcionamiento efectivo. Los grupos de datos más grandes que contengan mayor
cantidad de datos históricos, van a permitir a los algoritmos que puedan incorporar
diferentes casos y puedan desarrollar modelos que procesen estos casos extremos con
una gran facilidad. Cabe destacar que en relación al área donde se requiera aplicar
dichos algoritmos para la resolución de problemas, es necesario suministrar años de
datos para tomar en cuenta los diferentes períodos y épocas del año y mejorar el
patrón de solución.

Para un modelo de aprendizaje automático, donde su objetivo es clasificar si algo se


considera “verdadero” o “falso”. Puede ser implementado para determinar la deserción
de los clientes: puede dirigir la predicción definiendo si un cliente comercial existente se
mantenga o se vaya. En la siguiente representación se muestra una gráfica sobre un
modelo supervisado, donde los ejes horizontal y vertical representan las características
de entrada, x (ejem: Nivel de participación digital de los clientes y el total de las
compras de los clientes), y los puntos de colores indican los ejemplos etiquetados del
comportamiento que tuvo anteriormente el cliente), azul se refiere al desgaste y el rojo
retención. Los ejemplos enseñan al modelo, como tiene que identificar los patrones que
indican el desgaste. Luego de que se ha entrenado el modelo, se aplica a nuevos datos
para predecir el comportamiento de los clientes nuevos. La línea verde punteada,
representa el límite de decisión que divide el espacio de características. A un lado del
límite de decisión el modelo puede predecir si es verdadero y en el otro lado si es falso.

Aprendizaje Supervisado.

Los modelos de aprendizaje supervisado, se entrenan con los datos que se consideran
verdaderos, con la finalidad que el modelo pueda identificar los patrones que predicen
las etiquetas en los datos nuevos.

En el proceso de entrenamiento del modelo, el algoritmo de aprendizaje supervisado,


obtiene datos de entrada y salidas del modelo. A continuación, se presentará una tabla
con una variedad de descripciones y características con entradas y salidas que pueden
ser usadas para el entrenamiento de un modelo de aprendizaje supervisado y predecir
el desgaste de los clientes, particularmente a los minoristas que dejan de optar por la
subscripción a un servicio determinado. Los datos de preparación se añaden a
intervalos mensuales, un solo registro por cliente el primer día de cada mes, se puede
crear una matriz simple de rasgos similares a intervalos mucho más frecuentes, pero
este ejemplo define muy claro el concepto.

Si es requerido agregar mensualmente, las características se agregan en el período de


tiempo mensual como el total de las compras en el último mes, y el cambio de mes en
mes en el tráfico del sitio web. Los productos o resultados también se registran
mensualmente. En este caso particular si el cliente ha dejado de subscribirse en
cualquier instante durante el último mes, el valor de la salida va a ser igual a uno, de lo
contrario se le asigna cero.

Esta matriz de características va a ser ingresada en el modelo supervisado y los


parámetros de dicho modelo se van a ajustar para lograr el ajuste conjunto del modelo
y lograr los mejores resultados. Durante el aprovechamiento de los datos históricos
para entrenar el modelo, este aprende los patrones que se encargan de predecir la
deserción de los clientes en el pasado. En el momento que se presentan nuevos
clientes, el modelo ya capacitado se usa para pronosticar los clientes potenciales que
pudieran darse de baja en el futuro.
Ejemplo de los datos de entrada y salida para entrenar un algoritmo.

Cuando se desarrolla un modelo nuevo de aprendizaje automático, es necesario


reconocer que tipo de limitaciones pudiera tener y comprender sus potenciales
beneficios. En el ejemplo de deserción de clientes, se aprecia que el modelo no predice
estrategias nuevas para retener a los clientes. En cambio, aprende por medio de los
patrones históricos para luego aplicarlos y pronosticar futuros comportamientos de los
datos.

No obstante, los sistemas de aprendizaje automático se consideran de autoaprendizaje.


A medida que se dispongan de nuevos datos los modelos se capacitan nuevamente para
aprender los nuevos patrones de comportamiento de los datos.

Una de las ecuaciones de aprendizaje automático más simple se define de la siguiente


forma: 𝑌 = 𝑋. 𝜃, la 𝑋 representa las características de una matriz, las columnas se
identifican como las características y las filas como los puntos de datos. Con n puntos de
datos y m características las dimensiones de X serán n X m. Las etiquetas se representan
por un vector Y, las filas pertenecen a cada punto de datos (Medidas n X 1) y el ancho
del modelo o la importancia, de cada característica se representa por el vector θ
(dimensión m X 1).

El objetivo del entrenamiento se basa en encontrar el ancho de la característica, θ, que


minimizan una función de pérdida de entrenamiento

Es necesario tomar en cuenta la dimensionalidad del problema. Las dimensiones del


tamaño de características m en la fórmula expresada por lo general debe ser menor que
el total de los puntos de los datos etiquetados en este caso n en la formulación anterior.

Durante el empleo de los algoritmos de aprendizaje supervisado, frecuentemente se


limitan por el número de datos que se suministran para su aprendizaje, generalmente
mientas mayor sea el número de datos para su aprendizaje, aumenta el porcentaje de
éxito de la implementación de esta técnica de análisis de datos.

En cuanto a los grupos de algoritmos supervisados, destacan los de clasificación y los de


regresión.

5.2.2.1 Algoritmos de Clasificación.


Se encarga de predecir los datos como por ejemplo si un cliente retoma un servicio, si
una transacción presenta un fraude o si una imagen es un automóvil. Estos enfoques se
utilizan particularmente para problemas comerciales que manejan un gran número de
datos históricos, incluyendo datos que definen si se pertenece a un grupo determinado.
Estos algoritmos mapean las entradas (X) y las salidas (Y) donde Y∈ {1,…, C} de manera
que C es el número de clases. Entonces si C=2, se define como clasificación binaria y si
es mayor se define como clasificación multiclase. Como ejemplo de una tarea de este
tipo es la de pronosticar cuando falla un equipo o una máquina. Las tareas de
mantenimiento predictivo es un problema muy frecuente en las empresas de líneas de
fabricación. El mantenimiento predictivo puede lograr ayudar a que se eviten los
eventos donde los equipos fallen ya que cuando se desencadenan estos problemas
pudieran llegar a ser costosos o muy peligrosos.

Si existe el número suficiente de fallas registradas en los datos, incluyendo otros datos
relevantes (datos de sensores, anotaciones técnicas), se puede llegar a entrenar un
algoritmo de clasificación para que pueda pronosticar el funcionamiento del equipo en
el futuro. En los problemas que implique la clasificación supervisada, los ejemplos de
entrenamiento por lo general se definen como etiquetas. A continuación, se hace una
representación de un ejemplo de falla y predicciones de clasificadores.

Serie de tiempo de una etiqueta de clasificador (“Fallida” o “No Fallida”).

Por medio de la implementación de estos datos, se pueden usar para el entrenamiento


de un modelo de aprendizaje automático de mantenimiento predictivo por medio de la
clasificación de las fallas.

Entre los diferentes algoritmos de clasificación se pueden evidenciar los más


destacados: árboles de decisión, bosques aleatorios, redes neuronales y máquinas de
vectores de soporte (SVM).
5.2.2.1.1 Árboles de Decisión.
En machine learning se define como una estructura en forma de árbol muy similar a un
diagrama de flujo, la característica o atributo va a ser representada por su nodo interno,
las reglas de decisión son las ramas y las hojas representarían los resultados. El nodo
principal o superior de un árbol se denomina nodo raíz. Este algoritmo aprende las
divisiones en función al valor del atributo. El árbol es dividido por un proceso
denominado partición recursiva.

La estructura en forma de diagrama de flujo facilita realizar la toma de decisiones, ya


que este enfoque es muy parecido al flujo del pensamiento humano, por ello son
mucho más fáciles de interpretar. Este algoritmo agrupa los ejemplos clasificándolos
por árbol desde la raíz hasta el nodo hoja, este enfoque se denomina, Enfoque de arriba
hacia abajo. Todos los nodos en el árbol actúan como un caso de prueba para un
atributo, y los bordes que nacen de ese nodo van a corresponder a las posibles
respuestas generadas al caso de prueba. Este en un proceso recursivo y se va a repetir
en cada subárbol que este unido a los nuevos nodos.

Árbol De Decisión.

Terminología de Árboles.
 Nodo Raíz: también conocido como nodo de decisión superior, y va a conformar
toda la muestra (población) dividiéndolo en dos o más grupos homogéneos.
 División: se reviere a la separación de un nodo en varios sub-nodos
convirtiéndolos en nodos de decisión.
 Nodo hoja: son todos aquellos nodos que no tienen hijos ya que no tuvieron una
división adicional.
 Poda: se refiere a la reducción del tamaño de los árboles suprimiendo los nodos
en vez de dividirlos.
 Rama: se refiere a la subsección del árbol.
 Nodo padre e hijo: el nodo padre es aquel nodo que desencadena a sub-nodos,
mientras que, los que le pertenecen se les llama nodos hijos.

Funcionamiento del Algoritmo.


La idea fundamental del desarrollo de este algoritmo se clasifica de la siguiente forma:
 Se tiene que seleccionar el mejor atributo, por medio de la implementación
de medias de selección para poder dividir los registros.
 Ese atributo se debe convertir en un nodo de decisión y luego se tiene que
dividir el conjunto de datos en subconjuntos más reducidos.

Creación de un árbol de decisión.


Medidas de selección de atributos.
El proceso de selección va a ser una por medio de la heurística, ya que segmenta los
datos de la mejor forma posible ayudando a establecer los puntos de interrupción en un
nodo dato. Estas medidas suministran un espacio para las características cuando se
explica el conjunto de datos suministrado. La característica de mejor puntuación va a
ser seleccionado como atributo de división. Si hay un atributo de valor continuo se
deben definir los puntos de división para las ramas. Entre las medidas de selección se
tiene la ganancia de información, el índice de Gini y la proporción de ganancia.

Ganancia de información.
Es una característica de estadística que se encarga de hacer los cálculos sobre lo bien
que un atributo suministrado puede dividir los ejemplos de datos para el entrenamiento
conforme con su clasificación objetivo. La siguiente imagen, se pudiera definir muy
fácilmente que el nodo C se describe mucho más fácil ya que no requiere tanta
información debido a que todos los valores son semejantes. En cambio, el B necesita
más información para ser descrito, y el nodo A requiere aún de más información, en
pocas palabas el nodo C es puro, el nodo B es menos impuro y A es mucho menos
impuro.

Selección de los Datos.

Se puede concluir que un nodo no tan impuro no requiere tanta información para hacer
su descripción, y el más impuro requiere de una gran cantidad de información para
hacer su descripción.
En otro ejemplo paralelo se considera que la ganancia de la información en la imagen
siguiente, se puede observar que un atributo con poca ganancia divide los datos de
manera uniforme alejándose de una decisión. En cambio, que un atributo con ganancia
alta de información, va a dividir los atributos en conjuntos con un número disparejo de
positivos y negativos dando como resultado facilitar la separación entre sí.

Distribución de los puntos respecto al tipo de ganancia de información.

Antes de poder calcular la ganancia de información, primero se introduce la entropía de


un conjunto de datos.

Entropía.
El concepto de entropía se encarga de medir el nivel de impureza del conjunto de datos
de entrada, matemáticamente, la entropía se define como la aleatoriedad de los datos
en el sistema, mientras que, en teorías de la información, trata sobre la impureza en un
conjunto de ejemplos. La ganancia de la información se encarga de minimizar la
entropía.

En otras palabras, se refiere a entropía lo siguiente: Si se tiene una rueda de lotería que
tiene cien bolas verdes, este conjunto de bolas que está en la rueda es puro porque sólo
hay de un solo color, lo que es igual a decir que la definición de entropía para este
grupo es igual a cero o impureza cero. Se cambian treinta de estas con treinta de color
rojas y veinte azules.
Conjunto totalmente Puro. Conjunto más impuro.

En esta oportunidad se saca una bola de la rueda, la probabilidad en obtener una verde
se reduce de 1.0 a 0.5, en vista de que la impureza aumenta la pureza disminuye,
entonces la entropía aumenta. Entonces se puede decir que mientas más impuro sea el
conjunto, aumenta la entropía y si es menos impuro el conjunto disminuye la entropía.
Sin embargo, hay que tener en cuenta que la entropía se iguala a cero si los miembros
de S forman parte de una mima clase. Si todos los miembros son positivos, Entropía (S)
= 0. La entropía tiene valor 1 si la muestra tiene la misma cantidad de ejemplos
positivos y negativos. Si la muestra tiene, aunque sea un número desigual entre los
positivos y negativos se define la entropía entre 0 y 1.

La imagen a continuación, representa la forma de la función de la entropía respecto a la


clasificación booleana debido a que varía entre 0 y 1.

Entropía.
Se puede calcular la entropía con la implementación de la siguiente fórmula:
𝐸𝑛𝑡𝑟𝑜𝑝í𝑎 = −𝑝𝑙𝑜𝑔2 𝑝 − 𝑞𝑙𝑜𝑔2 𝑞

Las variables p y q representan la probabilidad de éxito y fracaso que se presenta en el


nodo actual. La entropía se puede implementar también junto con la variable objetivo
categórica. Selecciona la separación más baja de entropía respecto al nodo principal y
otras divisiones, mientras menor es el valor de la entropía será mucho mejor.

La diferencia que tiene la entropía antes de que se realice la división y la diferencia


luego de la división del grupo de datos en función a los atributos suministrados, es
calculada por la ganancia de la información.

𝐺𝑎𝑛𝑎𝑛𝑐𝑖𝑎 𝑑𝑒 𝑖𝑛𝑓𝑜𝑟𝑚𝑎𝑐𝑖ó𝑛
= 𝐸𝑛𝑡𝑟𝑜𝑝í𝑎 (𝑛𝑜𝑑𝑜 𝑝𝑎𝑑𝑟𝑒) – [𝐴𝑣𝑔 𝐸𝑛𝑡𝑟𝑜𝑝𝑖𝑎(𝑛𝑜𝑑𝑜 ℎ𝑖𝑗𝑜)]

Proceso de cálculo de la entropía para una división.


 Hacer el cálculo de entropía en el nodo principal.
 Realizar el cálculo de entropía en cada uno de los nodos individuales y luego
calcular el promedio de los sub-nodos prestos para hacer la división.

Ejemplo: se tiene una muestra de treinta estudiantes universitarios y tres variables,


Género (Hombre/Mujer), Clase (1/2) y estatura (5 y 6 pies), 15 juegan beisbol durante
su tiempo libre. Se requiere la creación de un modelo, para lograr predecir, quien va a
jugar beisbol en tiempo de ocio. Para resolver este problema se necesita separar los
que juegan en su tiempo libre partiendo de los datos de entrada.
Para el nodo principal la entropía corresponde de la siguiente forma:
Entropía = – (15/30) log2 (15/30) – (15 / 30) log2 (15/30) = 1.

El valor resultante del cálculo es igual a 1, lo que quiere decir que es un nodo impuro.
División por género:
o Entropía, nodo femenino = – (2/10) log2 (2/10) – (8/10) log2 (8/10) = 0,72.
o Entropía, nodo masculino = – (13/20) log2 (13/20) – (7/20) log2 (7/20) = 0.93.
o Entropía, división Género = (10/30) * 0.72 + (20/30) * 0.93 = 0.86.
o Ganancia por división de género = 1–0.86 = 0.14.

División por clase:


o Entropía, nodo de clase 1 = – (6/14) log2 (6/14) – (8/14) log2 (8/14) = 0.99.
o Entropía, nodo de clase 2 = – (9/16) log2 (9/16) – (7/16) log2 (7/16) = 0.99.
o Entropía, división Clase = (14/30) * 0.99 + (16/30) * 0.99 = 0,99.
o Ganancia por división de clase = 1– 0.99 = 0.01,

Se puede evidenciar que la ganancia para división por género las supera a todas, esto
quiere decir que el árbol va a ser dividido por géneros.
Gini.
Establece que, si se seleccionan dos elementos de forma arbitraria, estos serán de la
misma clase, la probabilidad es 1 si la población se considera pura.
 Esto es efectivo con la variable objetivo categórica “Fracaso” o “éxito”.
 Sólo hace divisiones binarias.
 A mayor sea el número de Gini aumenta la homogeneidad.

Cálculo de Gini para hacer una división.


 Para hacer el cálculo de Gini en los sub-nodos, se usa la suma de la fórmula del
cuadrado de la probabilidad de éxito y fracaso (𝑝2 + 𝑞 2 ).
 Para la división se usa la puntuación que genera Gini en los nodos de esa
división.

Ejemplo: Manteniendo el ejemplo expresado anteriormente, donde se quiere separar a


los estudiantes partiendo de la variable objetivo (jugar beisbol o no). Ahora se requiere
calcular que división que produce sub-nodos más homogéneos usando Gini.

Por Género.
 Calculo Gini, sub-nodo Femenino = (0.2) * (0.2) + (0.8) * (0.8) = 0.68.
 Calculo Gini, sub-nodo Masculino= (0.65) * (0.65) + (0.35) * (0.35) = 0.55.
 Calculo Gini, División por Género= (10/30) * 0.68+ (20/30) * 0.55 = 0.59.
Por Clase.
 Gini, sub-nodo Clase 1= (0.43) * (0.43) + (0.57) * (0.57) = 0.51.
 Gini, sub-nodo Clase 2 = (0.56) * (0.56) + (0.44) * (0.44) = 0.51.
 Calcular Gini, Clase dividida = (14 /30) *0.51+(16/30) *0.51 = 0.51.

Se puede apreciar que el valor de Gini para la división en género es mayor que dividir en
clase, esto quiere decir que la división por nodos se hace por Género.
Frecuentemente se puede conseguir el término “impureza de Gini”, se determina con la
resta del valor de Gini de 1.
𝐼𝑚𝑝𝑢𝑟𝑒𝑧𝑎 𝑑𝑒 𝐺𝑖𝑛𝑖 = 1 − 𝐺𝑖𝑛𝑖

Gini se considera como el parámetro predeterminado en los árboles de decisión.

5.2.2.1.2 Algoritmos SVM.


Estos algoritmos de máquinas de vectores de soporte, proporcionan una precisión muy
alta respecto a otros algoritmos, principalmente es conocido por su truco de kernel, que
puede manejar espacios de entrada no lineales. Este algoritmo tiene una variedad de
aplicaciones como: identificación de rostros, detección de intrusos, clasificación de
correo electrónicos, etc. Este algoritmo realiza la construcción de un hiperplano en un
espacio de más de dos dimensiones, con el objeto de poder separar las diferentes
clases, genera un hiperplano óptimo de forma iterativa, que se usa para poder
minimizar un error. El objetivo de SVM es, conseguir un hiperplano marginal máximo,
que mejor pueda separar el grupo de datos en clases.

En la imagen siguiente se muestra los vectores de soporte como los puntos de datos
mucho más cercanos al hiperplano, estos puntos definen la línea de separación
calculando los márgenes. Dichos puntos serán relevantes para la creación del
clasificador. El hiperplano se representa como un plano de decisión que va a separar
entre un grupo de objetos que pertenecen a clases diferentes. El margen es el espacio
entre las dos líneas entre los puntos mucho más cercanos de la clase y esta se calcula
como la distancia perpendicular desde la línea hasta los vectores de soporte o los
puntos mucho más cercanos, pero si el margen es mayor entre las clases, se considera
como un buen margen, en el caso contrario se considera como un mal margen.

Representación de un SVM.

El objetivo de este algoritmo es separar el grupo de datos de la mejor forma posible


sabiendo que la distancia entre los puntos más próximos se conoce como el margen, se
tiene que seleccionar un hiperplano con el máximo margen posible entre los vectores
de soporte en el conjunto de datos suministrados. Para lograr esto se tienen que seguir
los pasos a continuación:
 Se tienen que generar hiperplanos que dividan las clases de la mejor forma. En la
siguiente imagen se muestran tres hiperplanos que evidentemente separan los
datos, pero sólo uno de ellos separa la clase correctamente y el resto tienen un
error mayor de clasificación.
Identificación del Hiperplano.

 Se debe seleccionar el hiperplano correcto con mayor separación de los puntos


de datos más próximos.

Hiperplano más adecuado.

Cabe destacar que, no siempre estas soluciones se presentan en planos lineales y no se


podrá resolver de una forma tan simple, en tales casos el algoritmo usa un truco de su
núcleo para transformar el espacio de entrada en un espacio dimensional superior,
donde los puntos de datos se van a graficar en los ejes X y Z, en donde Z va a ser la
suma cuadrada de X y Y, luego de esto se puede separar más fácil al respecto por el uso
de la separación lineal. Este proceso de cambio se le conoce como Kernel, que consiste
en la creación de una nueva dimensión que la que se pueda encontrar un hiperplano
mucho más óptimo para poder separar las clases.

Separación por Kernel.

Ventajas.
 Brindan una excelente precisión y hacen predicciones más rápidas que algunos
algoritmos como el algoritmo de Naive Bayes.
 Emplea menor memoria, ya que usa un subconjunto de puntos de
entrenamiento en la etapa de decisión.
 Funciona correctamente con un margen claro y bien definido y un espacio
dimensional bien elevado.

Desventajas.
 No son los más adecuados para un gran número de datos por el alto tiempo de
formación.
 Tiene mal funcionamiento con clases superpuestas.

Las SVM anteriormente eran muy implementadas en el aprendizaje profundo. Se


preferían más que las redes neuronales, debido a que el desarrollo matemático es más
entendible y para lograr la obtención del margen de separación los métodos eran
menos complejos. Este algoritmo se ha implementado de forma exitosa en el
reconocimiento de caracteres, reconocimientos de rostros, filtros de spam.
Actualmente ya las redes neuronales tienen mayor capacidad de aprendizaje que los
SVM.

5.2.2.2 Algoritmos de regresión.


Estos algoritmos pueden pronosticar totales como el número de clientes probables que
abandonen o el total de ventas para la siguiente semana. Estas técnicas se utilizan para
problemas comerciales con un gran número de datos incluyendo aspectos como ventas,
inventario o total de préstamos.

Reconsiderando el ejemplo del mantenimiento predictivo, con la diferencia que en esta


ocasión es necesario la predicción de la falla del equipo, pero por medio de un modelo
de regresión. En vez de definir etiquetas como fallido o no, se puede entrenar el
modelo para el pronóstico de un valor constante como el tiempo hasta el fallo como se
muestra a continuación:

Serie de Tiempo para el fallo.

El entrenamiento de un algoritmo de regresión es semejante al clasificador. La matriz


de funciones se integra de los datos de entrada como los datos de sensores y órdenes
de trabajo. Este tipo de modelo también requiere de etiquetas, pero en vez de un
indicado binario (0,1), la etiqueta será numérica, (tiempo hasta el fallo).
Los ejemplos de regresión supervisados contienen regresiones lineales que pronostican
la relación lineal entre los atributos de entrada y salida, las regresiones de crestas que
son una variación más compleja de regresión lineal, los bosques aleatorios pronostica
las relaciones del tipo no lineales dadas entre las salidas y las entradas por medio del
uso de árboles de decisión y redes neuronales, que predicen relaciones no lineales con
el uso de procesos mucho más complejos.

La Imagen siguiente representa las técnicas de clasificación donde se puede ver el


resultado del algoritmo y devuelve una estimación de un límite de decisión para dividir
dos clases (se representan con las X y los puntos azules), los ejes del gráfico representan
los datos de entrada. Del lado derecho se muestra la técnica de regresión que
pronostica el total (eje x) como una función de entrada.

5.2.2.2.1 Regresión Lineal.


La Regresión lineal consiste en un modelo matemático basado en una línea recta, que
describe las relaciones que tienen las variables dependiente e independiente a través
de una ecuación lineal (Ecuación de la recta).
𝑌 = 𝑎 + 𝑏𝑥
Y = variable dependiente.
a = ordenada con el eje y.
b = Pendiente de la recta de regresión.
x = Variable independiente.
Para obtener los valores de la ordenada y la pendiente se necesitan las siguientes
ecuaciones:
𝑎 = 𝑦̅ − 𝑏𝑥̅ ∑ 𝑥𝑦 − 𝑛𝑥𝑦
̅̅̅
𝑏=
∑ 𝑥 − 𝑛𝑥̅ 2
2

𝑥 = valores conocidos de la variable independiente.


𝑦 = valores conocidos de la variable dependiente.
𝑥̅ = promedio del valor de las x.
𝑦̅ = promedio del valor de las y.
𝑛 = número de datos puntuales u observaciones.

Ejemplo: Una empresa encargada de la reconstrucción de viviendas en mal estado en


Caracas, Venezuela, con el pasar de los años se percata que su flujo de dinero por
trabajos de reconstrucción depende de la nómina del área Caracas, es decir del ingreso
monetario de los habitantes de la ciudad, a continuación, se enumeran los ingresos de
la empresa y el monto percibido por los trabajadores en Caracas durante los últimos 6
años. Exigen
Venta. (y) Nómina. (x)
(Cientos de miles $) (Cientos de millones $)
2 1
3 3
2.5 4
2 2
2 1
3.5 7
Tabla de valores.

Se puede identificar como variable dependiente a las ventas (y) ya que sin nómina no
podría existir las ventas, y cómo variable independiente a la nómina (x), luego de
identificadas estas variables, hay que verificar si existe una relación en línea recta o
lineal entre las nóminas del área de Caracas y las ventas de la empresa. Para ellos es
necesario graficar los datos en un diagrama de dispersión.
4
3,5
3
2,5

Ventas
2
1,5
1
0,5
0
0 2 4 6 8
Nómina

Diagrama de Dispersión.

Se aprecia en el gráfico el aumento significativo de las ventas ligado en el incremento de


la nómina, a pesar que las ventas disminuyeron a 250.000 cuando la nómina estaba en
400.000.000, sin embargo, se sigue manteniendo sobre el límite inferior, cuando la
variable dependiente aumenta junto con la variable dependiente, se le conoce como
una correlación positiva. Es evidente que por medio del gráfico no se aprecia la recta,
para ello se tiene que determinar la que mejor se ajuste a los puntos graficados, para
ello es necesario implementar la ecuación de la recta 𝑌 = 𝑎 + 𝑏𝑥 donde la ordenada
viene dada por la ecuación 𝑎 = 𝑦̅ − 𝑏𝑥̅ y la pendiente por:
∑ 𝑥𝑦 − 𝑛𝑥𝑦
̅̅̅
𝑏=
∑ 𝑥 − 𝑛𝑥̅ 2
2

Analizando la ecuación de la pendiente, hay que calcular la sumatoria de la x por y (las


nóminas por las ventas, ∑ 𝑥𝑦, menos el número de observaciones 𝑛 = 𝑠𝑒𝑖𝑠 𝑎ñ𝑜𝑠, luego
̅̅̅),
se va a multiplicar por el promedio de las nóminas por el promedio de las ventas (𝑛𝑥𝑦
en la parte inferior de la división se tiene la sumatoria de x al cuadrado (∑ 𝑥 2 ) menos n
por la media de x elevada al cuadrado 𝑛𝑥̅ 2 .
Realizando los cálculos necesarios se construye la tabla a continuación con los
siguientes resultados.

y x 𝒙𝟐 xy
2 1 1 2
3 3 9 9
2.5 4 16 10
2 2 4 4
2 1 1 2
3.5 7 49 24.5
𝑦̅ = 2.5 𝑥̅ = 3 ∑ = 80 ∑ = 51.5
Cálculos de los datos necesarios para la pendiente.

Luego se sustituye los valores en la pendiente:


51,5 − (6)(3)(2,5)
𝑏=
80 − (6)(32 )

6.5
𝑏= = 0.25
26

Sustituyendo el valor de la pendiente 𝑏 = 0,25 en la ordenada,


𝑎 = 𝑦̅ − 𝑏𝑥̅
𝑎 = 2.5 − (0.25)(3)
𝑎 = 1.75

Ya conociendo el valor de la pendiente y el valor de la ordenada se sustituye en la


ecuación de la recta de la siguiente manera:
𝑌 = 𝑎 + 𝑏𝑥
𝑌 = 1.75 + 0.25𝑥

Con la ecuación resultante ya se puede comenzar hacer los pronósticos, como, por
ejemplo: en caso de que la cámara de comercio local predice que la nómina para el área
de Caracas va a ser de 600 millones de dólares, para el año que viene, se estima las
ventas de la empresa por medio de una ecuación de regresión, donde x toma el valor de
600 millones, pero se va a manejar bajo el número 6 quedando de la siguiente forma:
𝑌 = 1.75 + 0.25(6)
𝑌 = 3.25
La predicción sería que las ventas para el próximo año cuando la nómina sean de 600
millones, las ventas equivalen a 3.25, como las ventas se manejan en base a cientos de
miles equivale a $325.000. Luego se tiene graficar el nuevo punto generado en el
gráfico de dispersión donde x=6, y=3.25.

Gráfico de Predicción.

En la ecuación de la recta el primer valor es la ordenada al eje de las y que equivale a


1.75, se grafica el punto en el eje de las y, se traza la línea recta desde el valor de la
ordenada hasta la predicción, la recta resultante será la que mejor se ajusta a los datos
graficados, cabe destacar que si se siguen haciendo predicciones con valores de la
nómina superiores a los 600 millones, la línea recta seguirá creciendo, y no se debe
hacer predicciones con pocos datos y períodos no muy lejanos, ya que el mercado es
muy inestable y las condiciones podrían cambiar muy drásticamente, resultando
predicciones muy lejos de la realidad.

Los puntos alejados de la línea de pronóstico se les conoce como desviación o error,
donde no son considerados como un error, son simplemente la diferencia respecto a la
recta de regresión que se le conoce como error.
Luego se prosigue al cálculo del error estándar de la estimación, donde se le denomina
cálculo de la desviación estándar de la regresión y se encarga de medir el error desde la
variable dependiente y hasta la recta de regresión por medio de la fórmula:

∑ 𝑦 2 − 𝑎 ∑ 𝑦 − 𝑏 ∑ 𝑥𝑦
𝑠𝑥𝑦 = √
𝑛−2

La mayoría de los datos para esta fórmula ya han sido calculados, a excepción de 𝑦 2 ,
para ello se presentan los resultados en la siguiente tabla:

y x 𝒙𝟐 xy 𝒚𝟐
2 1 1 2 4
3 3 9 9 9
2.5 4 16 10 6.25
2 2 4 4 4
2 1 1 2 4
3.5 7 49 24.5 12.25
∑ = 15 ∑ = 18 ∑ = 80 ∑ = 51.5 ∑ = 39.5
Tabla con los valores de Y.

Luego de haber calculado los valores de y, se sustituyen los valores en la fórmula y


queda de la siguiente forma:

39.5 − 1.75(15) − 0.25(51.5)


𝑠𝑥𝑦 = √
6−2

39.5 − 26.25 − 12.875


=√
4

0.375
=√ = 𝑠𝑥𝑦 = √0.09375 = 0.306.
4

El resultado de 0.306 va a corresponder a la desviación estándar de los valores de la


variable dependiente y la recta de regresión, es muy similar a una desviación estándar,
pero la desviación estándar se da respecto a un promedio, y esta se da respecto a la
recta de regresión, multiplicando por 100.000 correspondiente al mejor de cientos, el
error estándar de estimación es igual a $30.600.
Ahora se hace el cálculo del coeficiente de correlación para rectas de regresión. Que
significa el grado o fuerza que tiene la regresión lineal. Generalmente se identifica con r,
y puede ser cualquier número entre +1 y -1.

Correlación Positiva Perfecta r=+1.

El positivo para el caso anterior indica la dirección de la recta, dirigiéndola hacia arriba,
cuando una variable aumenta, la otra también lo va hacer.

Correlación Positiva 0<r<1.

En esta imagen los datos no se ajustan perfectamente a la recta de regresión, sin


embargo, de igual forma la correlación sigue siendo positiva, el valor de r se va a
encontrar entre los valores 0 y 1, mientras más cerca se encuentre la correlación del
número 1, va a significar una fuerte correlación entre las dos variables, de lo contrario si
se aleja del q y se acerca al 0, la correlación tiende a ser más débil.
No Existe Correlación r=0.

Los puntos se encuentran totalmente dispersos, de manera que elimina la posibilidad


de existencia de una correlación, es decir, no hay relación entre una variable y la otra y
el coeficiente de correlación será igual a 0.

Correlación Negativa perfecta r=-1.

Esta imagen representa que, cuando una variable aumenta, la otra disminuye y la recta
tiende a ir hacia abajo, y los datos se ajustarán a la recta denominándose correlación
negativa perfecta y su valor va a ser igual a -1.

Para el cálculo de la correlación, se va hace por medio de la siguiente fórmula:


𝑛 ∑ 𝑥𝑦 − ∑ 𝑥 − ∑ 𝑦
𝑟=
√[𝑛 ∑ 𝑥 2 − (∑ 𝑥)2 )][𝑛 ∑ 𝑦 2 − (∑ 𝑦)2 ]

Ya estos datos han sido calculados en la tabla anterior, ahora solo queda sustituir.
(6)(51.5) − (18)(15)
=
√[(6)(80) − (18)2 ][(6)(39.5) − (15)2 ]

309 − 270 39 39
= = = = 𝟎. 𝟗𝟎
√[156][12] √1872 43.2
La correlación que existe entre las ventas y las nóminas es de 0.90, lo que se puede
observar es que tiene más al número 1, la recta se dirige hacia arriba, lo que significa
que cuando aumentan las nóminas, las ventas también lo hacen, definiéndose como
una correlación positiva muy fuerte.

Luego se tiene que calcular el coeficiente de determinación, definiéndose como el


porcentaje de variación en la variable dependiente y que define la ecuación de
regresión.
𝑟 2 = (0.90)2 = 0.81.

El valor de coeficiente de determinación debe ser manejado en porcentaje 0.81 = 81%.


Lo que va a indicar el porcentaje de predicción que tiene la ecuación de la recta para
este ejemplo. De ser posible hacer predicciones perfectas, el coeficiente de
determinación sería igual a 100%, de manera que se relaciona con el coeficiente de
correlación de +1 o -1. Para nuestro caso, habiendo obtenido un 81%, es evidente que
los datos no van a formar una línea, ya que estarían dispersados a los alrededores de la
recta y se presentará un error en las predicciones.

5.2.2.2.2 Regresión Logística.


También conocida como binaria, es uno de los algoritmos supervisados de común
implementación en las estadísticas, finanzas, ciencias políticas, modelos econométricos,
entre otros. Parte de la función logit, que significa una función alternativa que permite
realizar el cálculo de una variable que se encuentre entre los valores de 0 y 1.
𝑝
𝑙𝑜𝑔𝑖𝑡(𝑝) = ( )
1−𝑝

Sin embargo, esta función logit se encuentra en el eje de las x, para ello se tiene que
calcular la inversa de la fórmula, dando como resultado la función sigmoidal.
Función Sigmoidal.

−1 (𝑥)
1 𝑒𝑥
𝑙𝑜𝑔𝑖𝑡 = =
1 + 𝑒 −𝑥 1 + 𝑒 𝑥
Se define como el inverso de logit del suceso x igual a la exponencial de un número
elevado a la x entre 1 más el exponencial del número elevado a la x.

La variable x exponencial de la ecuación se iguala a la combinación lineal 𝑏0 + 𝑏1 𝑥1


originando la ecuación siguiente.
𝑒 𝛽0+𝛽1 𝑥
𝑃(𝑦 = 1) = 𝑃 =
𝑒𝛽0 +𝛽1 𝑥 + 1

Definiéndose P como la probabilidad de un evento. Y junto con la implementación de la


fórmula de la combinación lineal, ayuda hacer una mejor predicción y tendrá como
resultado un número que va a tener como características, su definición entre 0 y 1.

Función Sigmoidal.
Para poder hacer los cálculos con una función lineal se hace una ligera transformación
de manera que el modelo de regresión logística quedaría de la siguiente manera:
1
𝑙𝑜𝑔 ( ) = 𝑏0 + 𝑏1 𝑥1
1−𝑝

Con el modelo algoritmo de regresión logística, se puede:


 Modelar la probabilidad de que un evento suceda, iniciando desde un grupo de
variables (se hallan los coeficientes y se construye la ecuación).
 Estimar la probabilidad que suceda un evento para una observación arbitraria y
la probabilidad de que no ocurra (Odds).
 Predecir el efecto de un grupo de variables en una variable categórica binaria.
 clasificar las observaciones de las estimaciones de la probabilidad que se
encuentre en un grupo.

Proceso de regresión logística.


5.2.3 Aprendizaje no supervisado.
Se define como una técnica de aprendizaje automático, donde el aprendizaje no se
monitorea durante la implementación de los datos de entrenamiento, no obstante, el
modelo por sí solo, comienza a identificar los patrones en los datos suministrados y los
conocimientos partiendo de este conjunto de datos. Es muy similar con el tipo de
comportamiento que tiene el cerebro humano durante el proceso de aprendizaje. De
manera más generalizada, el aprendizaje no supervisado es un tipo de aprendizaje
donde los modelos son entrenados con un grupo de datos sin etiquetar y se les concede
la participación y el análisis sobre estos sin ningún tipo de supervisión humana.

Este tipo de aprendizaje no se puede implementar directamente al problema de


clasificación o regresión ya que, a diferencia del supervisado, se tienen los datos de
entrada más no las respuestas de salida esperadas. Su objetivo fundamental se basa en
encontrar una estructura que derive del conjunto de datos y agruparlos según sus
relaciones, similitudes y hacer una representación de esos datos en un formato más
resumido.

Suponiendo que un algoritmo de aprendizaje no supervisado, se le suministran un


conjunto de datos, esto quiere decir que no tiene ningún conocimiento de las
características de los mismos, ya que deben ser identificadas por el propio algoritmo,
agrupando los datos de acuerdo por la relación entre sus similitudes.

Integrado por algoritmos que funcionan parecido a los de aprendizaje supervisado.


Estos algoritmos fueron desarrollados con la intención de realizar tareas y procesos
mucho más complejos, por medio de la autonomía que tienen durante búsqueda de
patrones en los datos. Los más destacados en este tipo son: los PCA, SVD y los
algoritmos de agrupación o clustering.
Principales Razones para el uso.
 Se considera de mucha utilidad para encontrar información a partir de los datos.
 Se comporta de manera muy similar al proceso de aprendizaje del cerebro
humano, ya que este aprende por sus propias experiencias, colocando más
cerca de una IA real.
 En la vida diaria, no siempre se van a tener características sobre lo que se espera
en las salidas sobre lo datos de entrada suministrados, para la resolución de
estos casos es necesario el aprendizaje no supervisado.

Trabajo del aprendizaje no supervisado.

Proceso de Selección.

En la imagen anterior se tiene los datos de entrada sin la debida etiqueta, es decir no
tienen ningún tipo de distintivo que lo identifique en un grupo determinado. Luego
estos datos van a ser procesados por el tipo de modelo de aprendizaje no supervisado
para lograr su debido entrenamiento. Primeramente, se encarga de interpretar los
datos que no han sido procesado, para lograr identificar los patrones ocultos, y poder
hacer el debido agrupamiento, partiendo de estos datos.
Tipo de algoritmos no supervisados.
Estos se dividen en agrupación o clustering y asociación.
 Agrupación: Consiste en agrupar los datos en conjuntos por medio de la relación
que existe entre sus similitudes. Por medio del análisis de conglomerados, se
encuentra los puntos comunes entre los datos y se categorizan dependiendo de
la ausencia o presencia de los puntos en común.
 Asociación: es un tipo de regla del método de aprendizaje no supervisado que se
usa para encontrar las relaciones que hay entre las variables en la base de datos.
Identifica un conjunto de elementos que ocurren juntos en el grupo de datos.
Esta regla hace que el marketing sea mucho más eficaz. Como, por ejemplo; las
personas que compran un artículo, tienen la tendencia a comprar otro. un
ejemplo típico de asociación sería la canasta de compras.

Dentro de los algoritmos no supervisados más populares se tienen:


 Agrupación de K-medias.
 KNN (k vecinos más cercanos).
 Agrupación jerárquica.
 Detección de anomalías.
 Redes neuronales.
 Análisis de componentes principales.
 Análisis de componentes independientes.
 Algoritmo a priori.
 Valor singular de descomposición.

Ventajas.
 Los algoritmos de aprendizaje no supervisado son implementados para tareas
un poco más complejas en comparación con los no supervisados, ya que los
datos de entrada no van a estar etiquetados.
 Es mucho más indicado para la implementación debido a que no es necesario el
proceso de etiquetado de los datos de entrada.
Desventajas
 El aprendizaje no supervisado es más complejo que el supervisado debido a que
no tiene un resultado definido.
 El resultado puede que sea menos preciso debido a la ausencia de etiquetado de
los datos de entrada, por ende, no se conoce la salida de antemano.

5.2.3.1 Algoritmo K-Means.


Es un tipo de algoritmo de aprendizaje no supervisado, implementado cuando se tiene
los datos no etiquetados, sin categorías y sin grupos definidos, el objetivo del mismo es
agrupar los datos partiendo de las relaciones existentes entre sus características.

Es muy útil en aplicaciones que requieren hacer la clasificación de los datos, como
identificar células cancerígenas, agrupar palabras que tengan similitudes en su
definición, para mejorar la función de los motores de búsqueda, identificar variables en
los datos del rendimiento académico de los estudiantes, etc.

En este tipo de algoritmo solo se manipulan variables independientes (características


que se usan para hacer las predicciones) para manipular los grupos en los datos y su
funcionamiento se realizas de la siguiente forma:

Grupo de datos.

Para efectos demostrativos se tiene un conjunto de datos que se encuentran en un


mismo plano.
 Se debe seleccionar el número de agrupaciones que se desea identificar en los
datos, para efectos demostrativos se selecciona k= 3. Este será un número
aleatorio que se define al inicio de cada análisis.
 Seleccionar el número de k puntos como centros de grupo, se pueden
seleccionar datos de los suministrados, o colocar nuevos puntos en este caso. En
este ejemplo se van a seleccionar 3 puntos de los suministrados en la imagen
anterior. La ubicación elegida para estos puntos se hace forma aleatoria.

 Luego se tiene que medir la distancia entre el primer punto de los datos y los
que se han seleccionado, asignado el punto que se encuentra más cerca.

 Luego se toma el primer dato y se compara la distancia con cada uno de los
puntos, percatándose de que el que se encuentre más cerca es el de color verde
por lo tanto el primer punto cambia a verde.

 De la misma forma se hace con el siguiente punto y cambia a verde.

 El mismo proceso ocurre con el siguiente punto ya que se encuentra más cerca
del punto verde.

 Ahora se verifica la distancia del quinto punto respecto a los demás


 Como se encuentra más cerca al punto blanco cambia a color blanco.

 Luego se evalúan las distancias del séptimo puntos respecto a los demás y de la
misma forma los puntos 9,10,11,12 están más cerca del punto azul por lo que
cambian al color azul. Se tiene que verificar la distribución de los datos
quedando de la siguiente forma:

 Nuevamente se inicia el proceso con k puntos diferentes hasta que el algoritmo


pueda determinar la clasificación más óptima de la distribución de los puntos,
debido a que comienza a repetirse los patrones resultantes con cada diferencia
de asignación al valor de k.

Características
 Se considera un algoritmo robusto, rápido y simple que suministra resultados
confiables cuando los grupos de los datos son diferentes o tienen cierta
separación lineal entre sí.
 Trabaja mejor cuando el número de centros de clúster se ha suministrado al
inicio. Ya que los resultados finales dependerán de esta inicialización. Cabe
destacar que no existe una métrica para definir la cantidad de clúster necesaria.
 Desde una perspectiva práctica se tiene que comparar los resultados de varias
ejecuciones con k diferentes y elegir la mejor basándose en un criterio definido.
Generalmente un dato k con valor alto disminuye el rango de error, pero puede
aumentar el riesgo de sobreajuste.
 Cuando la agrupación de los datos tiene datos muy superpuestos, puede que la
agrupación no funcione de la forma más óptima.
5.2.3.2 KNN (k vecinos más cercanos).
Se considera como uno de los algoritmos de aprendizaje automático, menos complejos,
basado en técnicas de aprendizaje supervisado. Este asume la semejanza entre un dato
nuevo y los datos con los que dispone, colocando el nuevo dato en una nueva categoría
más similar que las categorías que tiene a disponibilidad. Almacena los datos y agrupa
un nuevo punto de datos basándose en las similitudes de los datos, lo que significa que
cuando han aparecido datos nuevos, se clasifican fácilmente en una categoría de
agrupación. Puede ser implementado tanto en problemas de regresión como en
problemas de clasificación. No se basa en suposiciones debido a que es un algoritmo
paramétrico. En la fase de entrenamiento, este almacena el grupo de datos cuando
recibe datos nuevos, y los clasifica en una categoría semejante, pero de datos nuevos.

Suponiendo que se tiene una imagen similar a un gato y un perro, pero es necesario
identificar si es un gato o un perro, para este tipo de selección se usa este tipo de
algoritmo, debido a que desempeña su funcionamiento basándose en la medida de
semejanza. El algoritmo KNN va a encontrar atributos similares del nuevo grupo de
datos de las nuevas imágenes de perro y gatos, tomando en cuenta las características
más semejantes y las agrupa en la categoría de gato o perro.

Predicción KNN.

A continuación, se muestra el funcionamiento de KNN basándose en los siguientes


pasos:
 Se debe seleccionar el número de k de los vecinos.
 Se tiene que calcular la distancia euclidiana de k número de vecinos.
 Hay que seleccionar los k vecinos más cercanos dependiendo el cálculo de la
distancia euclidiana.
 Contar el total de los datos en cada una de las categorías.
 Asignar los nuevos puntos de datos de esa categoría donde el número de
vecinos es máximo.

De forma particular no hay una manera de poder seleccionar el valor de k, para ello se
deben hacer algunas pruebas con valores arbitrarios, para lograr encontrar el mejor
valor elegido. Comúnmente se inicia por el valor 5. Cuando se ha seleccionado un valor
demasiado bajo para k como por ejemplo 1 o 2, podría arrojar valores atípicos en los
resultados del modelo. Por otro lado, si los valores de k son muy altos podría ocasionar
un sobreajuste en el algoritmo.

En cuanto a sus ventajas este algoritmo es simple de implementar y puede ser muy
eficaz si se manejan grandes cantidades de datos. Por otra parte, sus desventajas se
basan en que: siempre debe ser estimado el valor de k, de manera que en algunos casos
la determinación pudiera ocasionar errores en los cálculos, el costo de cálculo para la
distancia entre los datos es alto, ya que se debe hacer a cada una de las muestras.
6. ALGORITMOS Y APLICACIONES DE NEGOCIO
(CASO GEOLOCALIZACIÓN).

6.1 Algoritmos y aplicaciones de negocio


Con el auge que tiene el machine learning en la actualidad presenta un gran atractivo
para ser empleado en los negocios, ya que se trata de una tecnología muy transversal
junto con el apoyo de los algoritmos que integran el núcleo de su funcionalidad, además
puede ser aplicado casi en cualquier tipo de empresa sin importar que tipo de actividad
desempeñe. Las empresas por lo general generan un conjunto de datos de interés para
luego poder ser procesados por lo algoritmos y extraer patrones para poder generar
conclusiones partiendo de los mismos.

Los algoritmos de machine learning en el mundo han alcanzado un uso masivo, hasta en
la comodidad del hogar, básicamente, desde las compras en línea, presentes en estas
plataformas que ofrecen un conjunto de productos recomendados, apegados a los
intereses de los usuarios, ofertas sobre productos que llegan directamente al usuario de
la persona gracias a este tipo de tecnología. De la misma forma las recomendaciones de
series y películas específicas recomendadas especialmente para el usuario por medio de
las plataformas de streaming. En este tipo de sectores relacionados con la logística, los
algoritmos de la inteligencia artificial tienen la capacidad de poder optimizar las rutas de
reparto y se anticipan a elevadas demandas, debiéndose esto a la gran capacidad
predictiva.

En el área de la salud, los algoritmos de machine learning han aportado grandes


soluciones que ayudan a la continua monitorización de la salud del individuo. Este
desarrollo va de la mano junto con los dispositivos como wearables y robótica
asistencial.
El área industrial como la manufacturación, se ha mantenido a la vanguardia en este
desarrollo, debido a que lo algoritmos de machine learning conforman una pieza clave
del paradigma industrial, con lo que han alcanzado un mantenimiento óptimo y
predictivo de los equipos que ahí operan, y las mejoras notables referentes al control de
calidad y otras infinidades de procesos del negocio.

En el sector público se encuentran bien inmersos en el área de la construcción de


ciudades inteligentes, tomando el control del tráfico, suministros, transporte público,
etc.

Es muy importante hacer destacar la importancia que pudiera tener la inclusión de


algoritmos en el modelo de negocio de las personas, debido a que estos hacen grandes
aportes en lo que se refiere a las predicciones y anticipaciones futuras, descarte de
errores y fallos, la promoción de la automatización genera una gran ganancia en la
agilidad de los procesos, ofrecimiento de productos y bienes personalizados, mejorar
las estrategias, permitir ahorro en costes, aumentar la calidad de servicio a los clientes,
generar mejores oportunidades de negocio.

 Anticipación al futuro: con la invención de la IA, los negocios gozaron con el


privilegio de adelantarse a los sucesos, para que las bajadas y las subidas de la
demanda no los tomen por sorpresa, sin sufrir paradas no planificadas en la
producción por averías, sin contar las demás ventajas.
 Eliminación de errores y fallos: los algoritmos de machine learning se implican
muy profundamente en lo relacionado con la calidad de la producción. Poder
identificar de manera anticipada los errores es de gran importancia en este
aspecto, de manera que pudiera mejorar el control de calidad en los productos
ya finalizados.
 Promoción de la automatización: Junto con la integración de esta tecnología la
realización de algunas tareas manuales que pudieran demandar tiempo, se han
visto beneficiadas debido a la agilización de los procesos de desarrollo, hasta el
punto de vista referente a la inspección visual de algunos elementos.
 Ofrecimiento de bienes y servicios personalizados: con esto se llega a conocer
mejor los gustos de los clientes, y hasta los hábitos de consumo, considerándose
a un gran nivel de detalle gracias a el procesamiento de grandes volúmenes de
datos, brindándole más la posibilidad de éxito al producto.
 Mejorar la estrategia: los algoritmos de machine learning permiten tener una
visión más técnica y aprovechar los patrones que se forman en las grandes
masas de datos, para poder generar una solución orientada hacia la mejora de la
estrategia comercial del negocio, pudiendo ser aplicada casi en cualquier tipo de
negocio.
 Permitir ahorros de inversión: esta ventaja puede estar relacionadas con las
anteriores debido a que una acción errónea pudiera desencadenar un alto costo
y una abrupta detención en la producción.
 Mejorar la calidad de atención al cliente: Es importante hacer hincapié, en que si
el cliente se queda o se va de tu negocio va a depender de la calidad de atención
que se le brinde, el 89% de los consumidores se retiran hacia la competencia
como consecuencia de un mal trato en la atención y están dispuesto a pagar
muchos más por una mejor calidad de atención. Esta necesidad puede ser
cubierta con los algoritmos de machine learning que permiten conocer las
costumbres de los clientes mejor que nunca.
6.2 Diferentes aplicaciones de los algoritmos en los negocios

negocio.

6.2.1 Toma de decisiones en la gestión del negocio.


Los algoritmos aplicados a las grandes cantidades de datos almacenados en las bases de
datos de las empresas, pueden observar los posibles escenarios y hacer las
recomendaciones pertinentes en los ajustes del modelo de negocio de la empresa y con
una gran velocidad de procesamiento de datos que a una persona normal de manera
manual haría que el desarrollo de la tarea pudiera tomarse un tiempo mucho más
extenso.

Con el aumento masivo de los datos puede que sea un poco desalentador para algunas
empresas el uso de los algoritmos de IA para llegar a tomar decisiones, ya que si se
tratan de decisiones de tipo estratégicas como por ejemplo el tipo de influencia como la
decisión de adquisición de una empresa o sobre decisiones diarias como: ¿cuál debería
ser la siguiente acción a tomar cuando se presente una oportunidad de venta? Algunas
empresas en la actualidad implementan sistemas que no tienen la suficiente capacidad
de poder procesar todos estos datos y menos aún poder predecir para poder alcanzar
un mejor posicionamiento competitivo en el mercado.

Se consideraría totalmente aceptable que en el futuro pudiera estar más inmersa la


inteligencia artificial, ya que los algoritmos podrían tomar en consideración todos los
posibles escenarios, resultados potenciales, dando como conclusiones, soluciones que
proporcionen un tipo de acción mucho más óptimo. Cabe destacar que en este
ambiente de toma de decisiones de una forma más optimizada pudiera generar nuevas
ventajas competitivas a las empresas que estén dispuestas a asumir un cambio en su
modelo económico.

 Tomando en cuenta la velocidad de procesamiento de los datos por medio de la


implementación de un poder de cómputo, las decesiones más eficaces se
tomarían mucho más rápido que las personas.
 Disminución del rango de error, en el sentido de la carencia de emociones por
parte de los algoritmos a la hora de llegar a tomar una decisión por impulso y no
por objetividad.
 Aumento de la cantidad de los datos que se consideran, por medio del análisis
cruzado de los datos de mercados, monetarios, económicos, redes sociales,
entre otros.
 Capacidad de poder analizar la línea de tiempo de todos los posibles escenarios
presentes en las cadenas de decisiones.
 No dejar de pasar desapercibidas las oportunidades que genere el mercado
antes que pudieran presentarse, y que siquiera se tomarían en cuenta.

6.2.1.1 Experiencia empresarial humana y los algoritmos de machine learning.


Este tipo de enfoque puede inferir de manera negativa en la perspicacia humana para el
enfoque empresarial en cuanto se refiera a la toma de decisiones, sin embargo, hoy en
día no es más que una interrogante debido a que no del todo una no puede ser
reemplazada por la otra. En lo que se refiere a los dos contextos, puede que los
algoritmos superen a las personas en la administración de ciertos procesos, pero en lo
que se refiere a habilidades de comunicación y relaciones interpersonales que son muy
necesarias para poder cerrar una negociación no pueden ser posibles sin la intervención
humana. Las decisiones basadas en procesos fácilmente pueden ser abordadas por los
algoritmos, pero en lo que se refiere a la contratación de personal es algo que se vincula
muy profundamente a la empatía humana.

Para que una persona adquiera la suficiente experiencia empresarial, es necesaria la


educación durante varios años en los temas referentes al desarrollo personal, oratoria,
experiencia en el trabajo. Esto daría como resultado una persona muy capaz de cumplir
varios estándares donde su reemplazo sería un alto costo a nivel empresarial. Los
motores de toma de decisiones de IA se adaptan y aprenden a un ritmo que un humano
no pudiera igualar. De manera favorable el trabajo en conjunto de ambas partes
mejorará considerablemente la toma de decisiones.
Algunos ejemplos de algoritmos de IA que se pueden usar en la toma de decisiones
cotidianes:
 Predicción de negocios: analizar las ventas, tomar en cuenta los ingresos que han
sido registrados, verificar el histórico de las fluctuaciones monetarias, observar
la volatilidad del mercado y mostrar las predicciones en cuanto al rendimiento
financiero se refiere y las respectivas acciones recomendadas para tener un
resultado favorable.
 Gestión de ventas: implementación de los datos de ventas, verificar la
información de los contactos, históricos de las ventas realizadas, hacer una
comparación sobre las semejanzas y los datos en las redes sociales para los
siguientes pasos que se deben tomar en una oportunidad de venta.
 Optimización del servicio: implementación de chat-bots y analizadores
lingüísticos, para lograr la administración del servicio al cliente a gran escala,
suministrar las rutas óptimas al personal de campo y agilizar la optimización del
personal que se encuentra en el campo.
 Marketing y análisis de imágenes: la implementación del reconocimiento de
imágenes, por medio de la alimentación de la inteligencia artificial para hacer la
toma de decisiones referente a los lanzamientos de los anuncios publicitarios en
las redes sociales.

En la era moderna se está viviendo un momento de adaptación de los algoritmos y de la


IA. Para poder explotar el máximo potencial es necesario el reequipamiento con nuevas
tecnologías que puedan sostener este proceso de cambio y poder sacar el aspecto
positivo.
6.2.1.2 Machine learning como mejora en la toma de decisiones.
EL machine learning o aprendizaje automático es capaz de mejorar el aspecto de la
toma de decisiones en una empresa, pero para que esto ocurra tiene que existir un
cambio de enfoque en la mentalidad de los empresarios para poder darle curso a este
tipo de tecnología aplicado a la economía y así poder aprovechar al máximo el potencial
que pudiera brindarle.

El aprendizaje automático se considera como una rama de la IA, por medio de este se
puede desarrollar una plataforma tecnológica que va a permitir poder aprender de los
datos establecidos, identificando los posibles patrones presentes en estos para luego
poder tomar decisiones con una mayor precisión analítica logrando la menor
intervención humana posible, el objeto principal radica en el aprendizaje que pudieran
tener las computadoras con la menor programación posible de las tareas específicas.

El manejo de los datos históricos es una gran oportunidad que las grandes empresas
aprovechan para su análisis y no tomar decisiones a la ligera, debido que aquí se van a
encontrar toda la información necesaria sobre los hábitos de consumos de las personas.
Los aspectos a continuación se pudieran ver afectados en una empresa una vez que
adopte el machine learning dentro de su estructura de negocio.
 Predicción: con la implementación de la minería de datos muchas empresas ya
están implementando el análisis predictivo para poder realizar la toma de
decesiones con el objeto de poder tomar las decisiones sobre las fluctuaciones
del mercado y evitar las pérdidas. El desarrollo de la IA se basa en el aprendizaje
automático como otra técnica de análisis predictivo, la diferencia radica en que,
con la minería de datos solo se enfoca en identificar los patrones de una gran
cantidad de datos, pero el aprendizaje automático no solo aprende de los
mismo si no que reacciona y presenta los distintos escenarios que pudieran
presentarse cuando un objetivo se le es definido. Con los datos que se le
suministran pudieran hacerse la toma de decisiones relacionadas con: qué tipo
de anuncios se suministrarían y el ROI Potencial, la posibilidad de optimizar el
recorrido que hace el comprador dependiendo de los hábitos del consumidor,
minimiza la perdida de los clientes, la rentabilidad de las metas que se
establecen.
 Multitarea: durante el proceso de la toma de decisiones complejas, los
empresarios necesitan hacer el análisis de un grupo de diferentes factores, lo
que implica si el conjunto de datos necesita una gran cantidad de temas, el
análisis de la toma de decisiones pudiera verse afectado generando como
consecuencias decisiones desastrosas. En cambio, un computador puede hacer
el manejo de múltiples entradas sin que afecte su desempeño evitando el
agotamiento o la confusión, únicamente es necesario un conjunto de datos con
instrucciones definidas que dirijan a la máquina para poder hacer el análisis de
los datos para realizar la decisión más eficaz.

6.2.2 Chatbots.
Es un tipo de tecnología ha sido implementada desde los años 50, sin embargo, en los
últimos años, se han desarrollados y adicionado diferentes procesos laborales que
ayudan a la IA como lo es el aprendizaje automático y el procesamiento del lenguaje
natural (PLN). Humanizando un poco más la interacción que existe entre los seres
humanos y estos. Por esto la unión de la conectividad constante y la rápida respuesta,
hace que sea un modelo mucho más atractivo para integrar en las labores de negocio
de una compañía.

Los servicios relacionados con soporte al usuario necesitan una plataforma informativa,
pero en el transcurso de los cambios tecnológicos se han ido cambiado con la
implementación de chatbots, de manera que han beneficiado tanto a las empresas
como al cliente.

La constante preocupación de las empresas radica en el entendimiento errático que


pudieran tener los chatbots hacia los clientes. Pero posteriormente los bots pasan
primero por un proceso de entrenamiento con datos reales, luego los registros de las
conversaciones se guardan y luego los programadores hace el análisis de estos con la
finalidad de hacer las averiguaciones de las necesidades reales e inquietudes de los
clientes. Apoyados en el aprendizaje automático los programadores fusionan las
diferentes preguntas realizadas por los clientes y seleccionan la respuesta más
adecuada. Ejemplo, cuando un cliente realiza una pregunta “¿Dónde se encuentra mi
recibo de compra?” y “aún no he recibido mi recibo de compra”, obtiene una repuesta
de manera equivalente en el chatbot. La función principal de los desarrolladores es
hacer el entrenamiento de los chatbots para que hagan la conexión entre las dos
preguntas y luego dar la respuesta correspondiente. Cuando no se cuentan con datos
de entrenamiento se pueden usar API para hacer el entrenamiento del chatbots.

6.2.2.1 Funcionamiento de los chatbots.


Su funcionamiento se basa principalmente en tres métodos de clasificación.
 Relación de patrones: Hacen uso de la coincidencia de los patrones para hacer la
clasificación de los textos y dar una respuesta acorde a los clientes. Una de las
estructuras que son de uso más frecuentes para los patrones es el lenguaje de
marcado de inteligencia artificial (AIML). Ejemplo:

<aiml version=1.0.1 encoding = “UTF-8”?>


<catagory>
<pattern>Quien es George Boole</pattern>
<template>George Boole fue un famoso matemático, padre de los
operadores logicos</template>
<catagory>

<catagory>
<pattern> Sabes quién es</pattern>
<template>
<srai>Quien es</star></srai>
</template>
</catagory>
</aiml>

Lo que puede ser traducido de la siguiente forma:


- Humano: ¿Quién es George Boole?
- Robot: George Boole fue un famoso matemático padre de los operadores
lógicos.
El bot tiene la capacidad de emitir este tipo de respuesta por la relación del nombre con
el patrón que tiene definido, sin embargo, se limita a ir más allá del patrón que tiene
relacionado, Pero, no se descarta que la incorporación de ciertos algoritmos pudiera
hacer que el bot sea mucho más avanzado.

 Algoritmos: A cada tipo de pregunta se le debe relacionar un patrón único, con la


finalidad de generar la respuesta adecuada, realizando una serie de combinaciones
se va formando una estructura jerarquizada. Los algoritmos se usan para minimizar
los clasificadores y crear una estructura que sea menos compleja, llamando
reduccionista a este enfoque. El algoritmo de Naive Bayes es el más implementado
para hacer la clasificación de PLN y el texto, organizándose de la siguiente forma:

Ejemplo de grupo de entrenamiento de muestra:


Clase: Saludo.
“Buen día”.
“¿Cómo está?”.
“Hola”.

Ejemplo de las oraciones de entrada:


Entrada: "Hola ¿Cómo está?"
Término: "hola" (sin coincidencias)
Término: "Cómo" (clase: saludo).
Término: "estas" (clase: saludo).
Clasificación: saludo (puntuación = 2).

Implementando la ecuación se consiguen las coincidencias de las palabras en cada


clase, notándose que el puntaje es que identificador de la clase con las coincidencias
más elevadas en el término. Cabe destacar que la puntuación final especifica que no es
una coincidencia perfecta.
Redes neuronales.

Son una manera de hacer el cálculo de la interacción usando las conexiones que se
forman a partir de las repeticiones durante el entrenamiento de los datos. Durante cada
repetición mejora la precisión de los mensajes de salida.

De la misma forma que con el ejemplo anterior, las oraciones se dividen en diferentes
palabras, donde cada palabra se va a usar como entrada para la red. El cálculo de las
conexiones se hace después por medio de varias iteraciones con el uso de los datos de
entrenamiento un gran número de veces, mejorando la capacidad de respuesta del
algoritmo y aumentando su precisión. Este tipo de algoritmo se compara con el de un
código, ejemplo: Cuando la muestra de comparación es muy pequeña, y las oraciones
para el entrenamiento solo tienen 200 palabras diferentes y 20 clases diferentes, se
define como una matriz 200x20. Hay que tener en cuenta que si aumenta el tamaño de
la matriz n veces existe la posibilidad de crear una gran cantidad de errores, por esto
que la capacidad de cómputo tiene que ser muy elevada.
6.2.2.2 Arquitectura de los chatbots.
Sus modelos de arquitectura pertenecen al objetivo principal del desarrollo.
Principalmente existen dos modelos posibles: los que se encargan de generar respuesta
desde cero por medio del aprendizaje automatizado y los que implementan la heurística
para hacer la selección de la respuesta que sea más adecuada de un grupo de
respuestas que ya se le han definido.

Modelos que generan respuestas.


Se consideran un modelo avanzado y se usa muy poco debido a que su implementación
requiere algoritmos muy complejos, por lo que dificultan su desarrollo y construcción.
El entrenamiento consume mucho tiempo y esfuerzo. Es basado en un modelo de
aprendizaje profundo para la creación de las respuestas en una conversación, sin
embargo, nunca se sabe qué tipo de respuesta puede emitir el bot.

Modelos de recuperación.
Este modelo de arquitectura es mucho más fácil de construir y más confiable, tomando
en cuenta que las respuestas no son muy precisas, pero es posible conocer los tipos de
respuestas que puede generar el bot, de manera que permite asegurar que el chatbot
no haga un envío de respuestas sin sentido o inapropiadas. Se considera el modelo más
implementado en la actualidad. Ya existes varios algoritmos y API que están disponibles
para que los programadores desarrollen chatbots bajo este modelo de arquitectura.
Este tipo considera el contexto del mensaje para poder generar la respuesta más
acertada.

Generar la respuesta
Existen dos maneras por la que los chatbots pueden entender el mensaje o la intención
del usuario.
 Heurística que se basa en los patrones: la forma más simple para poder generar
una respuesta es la definición de un grupo de reglas con varios patrones que
actúen bajo las condiciones enmarcadas. El lenguaje de marcado de inteligencia
artificial (AIML), se usa mucho más para la escritura de los patrones y las
respuestas en el proceso de creación de una chatbot ejecutándose de la
siguiente forma:
< category >
<pattern> ¿Cómo te llamas? </pattern
<template> Mi nombre es Luis Alfonso </template>
</category>

Este lenguaje tiene todas las facultades para la creación de un chatbot


inteligente y además una gran definición de patrones y procesamientos del
lenguaje. Estos bots realizan análisis del mensaje, luego buscan palabras y
conceptos similares, y hacen el descubrimiento de la regla que coincida con la
consulta formulada por el usuario. Pero la gran desventaja es que no pueden
aplicar algoritmos que permitan el aprendizaje automático, sólo si se son
pasados por un mecanismo de programación especializado.

 Clasificación con aprendizaje automático: el principal inconveniente con la


heurística es el requerimiento de que los patrones se deben programar de
forma manual, lo que hace que si el chatbot va a definir muchos intentos en
diferentes escenarios un muy complejo. Por otra parte, la clasificación de las
intenciones se fundamenta en la tecnología de aprendizaje automático.
Partiendo de un gran grupo de ejemplos de entrenamiento por los que se pasará
al chatbot, puede ser entrenado para observar patrones y datos para poder
aprender de ellos. Para este proceso ya existen librerías de aprendizaje como
scikit-learn y una variedad de API en la nube como wit.ai, api.ai, etc.

 Creación de las respuestas: Luego que el bot ha entendido la pregunta, se tiene


que seguir con la creación de la respuesta. Existe dos maneras de hacerlo: hacer
la creación de una respuesta simple y recibir la plantilla que se basa en la
intención y colocar algunas variables. Directamente va a depender del tipo de
chatbot para que la empresa decida qué tipo de método de respuesta deba
implementar. Un chatbot de predicción climática usa el API y puede llegar a
responder a todos los usuarios de manera diferente, pero con la misma
información, dependiendo de la intención de la pregunta que se le formule. El
bot hace el estudio y usa las conversaciones anteriores para poder adaptar las
respuestas para el usuario actual.

No es necesario tener en cuenta que para poder crear un chatbot se necesita la


asistencia especializada, por parte de programadores y desarrolladores de
aplicaciones que tengan experiencias en bots, haciendo tener en cuenta que
mientras más humanas sean las respuestas del chatbot, mejor metodología
tendrá en su creación.

6.2.2.3 Funciones de un chatbot en una empresa.


Los chatbot proporcionan funcionalidades extras que favorecen la experiencia que
pudiera tener el usuario, debido a esto se toman los siguientes aspectos:
 Calidad del servicio: va a mejorar la calidad de servicios que se le suministra al
cliente debido a que se erradican las esperas en interacciones online con
personas, ofreciendo respuestas automáticas de una forma mucho más
agilizada.
 Evitan la complejidad en los procesos de compra o conversión debido a que solo
con escribir una serie de palabras el chatbot puede enviar esta información a
quien le corresponda y realizar el proceso necesario. Además, dependiendo de
su diseño pudiera hacer labores de recordatorio de preferencias de cada usuario
para minimizar el camino a futuras conversiones.
 Comunicación personalizada, es un incentivo para cada usuario en particular ya
que se crea una interacción mucho más personal.
Implementación de un chatbot en el negocio.
Específicamente no existe un momento exacto de cuando llegar a implementar un
chatbot en una empresa sin embargo va a depender de las siguientes necesidades:
 Resolución de preguntas sobre los productos que se ofrecen, marcas, o
servicios.
 Dar una reseña sobre el funcionamiento del producto que se ofrece.
 Hacer envíos de emails a los clientes.
 Atención personalizada e inmediata a los clientes.
 Accesibilidad constante para el cliente por medio de una interfaz mucho más
didáctica.
 Acercamiento a los clientes, con el uso de un lenguaje mucho más apegado al
usado en la vida diaria.

El desarrollo actual va dirigido hacia un enfoque automatizado, por lo que las empresas
crecen apegadas al ritmo del desarrollo tecnológico, entonces la implementación de un
chatbot puede que se convierta en una solución para el mejoramiento y ampliación de
los servicios que se le suministran al cliente.

Actualmente se considera tendencia el uso de la mensajería móvil y servicios de redes


sociales, por lo que podrían ser consideradas como una buena oportunidad para la
implementación de aplicaciones que implementen IA, tomando en cuenta los beneficios
que pudieran generar a continuación:
 Minimizar costo, debido a que no es necesaria la presencia física de una persona
a tiempo completo para atender a los clientes, ya que esta necesidad se cubre
por el chatbot y la disponibilidad sería las 24 horas del día.
 Aumento de las ventas, ya que los chatbot pueden ser programados para hacer
el registro de la información importante del usuario y los clientes, para luego
procesarla y orientarla para que el usuario pueda realizar una compra de un
producto o servicio adaptado a sus hábitos personales y características. Esto es
posible gracias a la implementación de los diferentes algoritmos.
 Extraer información, la constante interacción en vivo de los chatbots con un
gran número de usuarios de forma simultánea, ayuda al almacenamiento de la
información para poder registrar patrones de consumo de los productos, y luego
poder ser aprovechados por la empresa para mejorar sus estrategias de
marketing.

6.2.3 Métodos para las recomendaciones de los usuarios.


Un sistema de recomendación es una herramienta importante que facilita al usuario el
conocimiento sobre las diferentes opciones y elementos de interés para poder tener
una experiencia mucho más relacionada con sus costumbres de consumo. Estos se
consideran como herramientas que definen un conjunto de criterios y puntajes sobre la
información del usuario y luego hacer las predicciones respecto a las recomendaciones
de un elemento que pueden ser usados por el usuario. Este tipo de sistemas hacen la
selección de los datos suministrados por el usuario directa e indirectamente y realiza un
análisis de la información partiendo del historial del usuario para poder transformarlos
en datos de recomendación.

Actualmente los sistemas de recomendación son altamente eficientes debido a que


asocian elementos de los perfiles de consumo de los usuarios como por ejemplo su
historial de compras o de búsqueda, hasta las horas, en que permanece en línea para
poder realizar las debidas recomendaciones. Facilitando el descubrimiento de nuevos
elementos muy cercanos a los gustos y necesidades del usuario. El funcionamiento de
este tipo de herramientas evoluciona considerablemente gracias al machine learning,
debido a que anteriormente se basaban en el ranking o listas de popularidad. Hasta
cierto punto eran funcionales y carecían de la personalización correspondiente a cada
usuario.
6.2.3.1 Tipos de herramientas de recomendación.
Actualmente se establecen dos tipos de sistemas de recomendaciones que van a
depender de las diferentes variables que condicionen su funcionamiento.

Sistemas basados en popularidad.


Son de uso más frecuentes en las ventas de productos o sugerencias, tomando como
referencia el nivel de popularidad que tiene el elemento de estudio que pudiera ser
basado en el número de ventas que tiene, una característica peculiar o una oferta, y es
mostrado de manera general a todos los usuarios que investigan el área la que
pertenecen. Suelen ser de fácil implementación y tienen buen nivel de efectividad, pero
su desventaja se basa en la imposibilidad de hacer la personalización de los criterios de
las sugerencias para los usuarios.

Sistemas basados en el contenido.


Se encargan de tomar en cuenta los datos históricos del usuario intentando hacer el
pronóstico que pudiera buscar el usuario y que tipo de sugerencias se le pudieran
mostrar. Es uno de los que tiene más implementaciones en el mercado actualmente ya
que se pueden descubrir opciones que se apegan a las características de los objetos
preferidos por las personas en elecciones anteriores y guiarlos a la adquisición de
nuevos elementos o servicios.

Sistemas basados en colaboraciones.


Se consideran muy novedosos debido a que generan recomendaciones con el análisis
de los datos, identificando perfiles analizando los patrones entre el perfil del usuario
con el de un grupo de usuarios, permitiendo al modelo, hacer la agrupación de los
perfiles semejantes y luego aprender de los datos que recibe de manera general para
poder generar recomendaciones individuales.

Filtrado colaborativo.
Es uno de los más innovadores, debido a que pudiera ayudar hacer la optimización de
los procesos de recomendación. Es una técnica que puede solventar problemas
relacionados con la información por los que pudiera pasar los usuarios cuando
interactúan con las plataformas tecnológicas. La correlación entre los datos y los
usuarios que se generan pueden apoyar en la creación de una especie de IA colectiva
que fundamente la calidad de las recomendaciones, sin tomar en cuenta datos que no
sean relevantes dentro del grupo de los datos.
Este tipo de filtrado hace su función especializada en cuanto a los pronósticos
automatizados acerca de los intereses de un usuario por medio del estudio de las
preferencias de un consumidor y los compara con la información que suministran
personas con patrones semejantes.

6.2.3.2 Algoritmos de recomendaciones.


Según el tipo de funcionamiento de los sistemas de recomendaciones, se debe es a los
algoritmos que potencian el análisis de la información para hacer la construcción de las
recomendaciones. Uno de los que más se usa como núcleo de un sistema de
recomendaciones es el algoritmo de vecinos cercanos. Según los datos suministrados
este puede determinar el patrón de las preferencias de los gustos y usa la información
de un vecino cercano con rasgos semejantes al analizado y parte de estos datos para
poder generar las recomendaciones debidas.

EL patrón de los datos también puede ser detectado por otro tipo de algoritmo como el
de correlación de Pearson, este es un algoritmo de similaridad que recoge la
información de las diferentes preferencias de los usuarios y fija un peso de semejanza y
poder hacer un estímulo en la relación que hay entre dos usuarios y genera
recomendaciones de contenido basándose en esta semejanza.

6.2.3.3 Beneficios del uso de los sistemas de recomendaciones:


Estos sistemas logran hacer un cambio en la manera en que se consumen contenidos
nuevos y se descubren nuevos productos. Como uno de los ejemplos más específicos se
pueden apreciar en las plataformas de compras online como Amazon, Ebay. Con un alto
nivel de precisión estas plataformas con tan solo algunos datos pueden suministrar un
gran catálogo de sugerencias adaptadas a las necesidades de los usuarios. De la misma
forma algunas plataformas como YouTube, Spotify, Netflix, lo preciso que estas
recomendaciones facilitan el descubrimiento del nuevo contenido multimedia con el
análisis de los gustos y preferencias de los usuarios. En pocas palabras eso favorece
considerablemente las necesidades del cliente. Convirtiendo la experiencia del usuario
en una actividad mucho más grata, debido a que estos sistemas actúan como asistentes
personales estimulando a un usuario a continuar con el descubrimiento de nuevos
elementos. De manera adicional estos sistemas hacen un aporte a la eficiencia de las
conversiones de las plataformas web. Aumentando la mejoría de las posibilidades de
que un usuario adquiera o consuma el contenido que se le ha sugerido. Estos sistemas
ayudan a la obtención de información para los reportes de estadística que alimentan los
variados modelos de IA.

6.2.3.4 Software para los sistemas de recomendaciones.


Estos sistemas tienen gran importancia en el área del comercio electrónico debido que
representa una gran oportunidad de aumento en las tasas de ventas. Gran número de
los sistemas para las plataformas de ventas en línea en el núcleo de sus funcionalidades
tienen funciones de recomendaciones, a pesar de que emiten un análisis excelente no
crean gran ventaja a las que usan soluciones especiales basadas en software. Muchas
empresas ofrecen este tipo de soluciones SaaS (Software as a Service), e integran las
relacionadas con las recomendaciones personalizadas, entre estas opciones se tienen
BrainSINS, Barilliance, Certona, etc. La mayoría de estas empresas ofrecen soluciones
que pueden aprender de manera automatizada partiendo de tecnologías
personalizadas. La gran ventaja, además de tener una gran diversidad de
funcionalidades, minimizan la complejidad de la implementación de una manera mucho
más considerable evitando la necesidad de la inversión en equipos de hardware o
software. Dichas soluciones se encargan de tres tópicos fundamentales, bases de datos,
ingeniería de factores y el procesamiento y análisis de la información.
Bases de datos de seguimiento.
Si se requiere analizar los datos, es necesario recolectarlos, por medio el seguimiento se
hace la recopilación de los datos centrales en la localización geográfica, los hábitos de
compras, información del carro de compra, de manera general todos los datos que
pudiera generar el consumidor sobre sus hábitos de compra.

Ingeniería de los factores.


De la información almacenada en una base de datos se filtran las características
relevantes. Pudieran tener una amplitud desde las horas de visitas, hasta los instantes
de tiempo entre las diferentes acciones, aunque para los futuros pronósticos no es
necesario datos tan específicos, en algunos casos. La gran tarea de esta fase radica en la
identificación de los aspectos relevantes, que se consideran que tienen una influencia
directa en los hábitos de compra y las elecciones finales sobre los productos. Las
selecciones de las características varían dependiendo el enfoque y el tipo de negocio.

Análisis y procesamiento de los datos.


Tomando en cuenta los aspectos anteriores, que se han definidos de manera individual
para cada plataforma en línea, el sistema comienza con las previsiones, al crear los
modelos de previsión es necesario un elevado costo computacional y hasta puede
tardar horas, el sistema se encarga del almacenamiento de los modelos, que van a
fundamentar el cálculo de las recomendaciones. De manera que, de esta forma es
como por cada visita por parte de un usuario a la plataforma es como se reciben las
recomendaciones y concejos personalizados.

EL Ecomerce, o comercio digital, se personaliza con el uso de herramientas, que cada


vez más se desarrollan de una forma muy favorable. Esto es debido a la constante
presión que ejercen algunas empresas para poder llegar a diferenciarse de sus rivales,
además de los diferentes cambios relacionados con la percepción que tiene el usuario.
Debido a esto la publicidad se identifica mucho más rápido que tiempos anteriores, de
manera que hasta llega a ser ignorada, pero si después de todo, se capta la atención del
usuario con información personalizada y de interés para él, las oportunidades de
producir una interacción crecen. Conseguir una excelente estrategia y poder despertar
el interés en el cliente proporciona una influencia positiva en las ventas y
definitivamente acerca mucho más el alcance del éxito empresarial.

6.2.4 Análisis de pérdida de los clientes.


El poder retener a los clientes, sobre todo en los momentos de crisis de las empresas,
en algunas oportunidades resulta ser la estrategia elegida por algunas compañías,
sabiendo que el costo que puede tener atraer un nuevo interesado pudiera ser mucho
más alto que poder mantener un cliente existente. Para ello existen técnicas como el
análisis churn y el análisis de atracción, definidas como técnicas de minería de datos
que se aplican a las compañías para poder hacer predicciones de las pérdidas de los
clientes o generar las conclusiones de por qué el cliente termina retirándose de la
compañía. El objetivo principal de este tipo de análisis se centra en la retención de los
clientes, para que no abandone los servicios o se valla con la competencia. Los
concesionarios de planes de ahorro se enfrentan a una gran competencia, por ello
tratan de mantener a la mayoría de los clientes como sea posible, además sin dejar de
tratar de captar a los nuevos. Cómo objetivo principal de análisis se tiene la
identificación de un grupo de clientes que pudieran tener una alta tasa de fuga, con la
finalidad de que la empresa pueda tomar las decisiones y llegar a realizar las acciones
pertinentes y retenga a los que se consideren importantes.

En algunos países, la compra de un vehículo nuevo se puede realizar de diferentes


formas, por una simple venta convencional, por créditos y planes de ahorro. Gran parte
de los planes de ahorro pudieran estar entre las 82 cuotas, sin embargo, si se fracciona
el valor del vehículo es un número mayor de cuotas, mensualmente la inversión se
disminuye para el consumidor, haciéndolo mucho más accesible.

Tomando en cuenta la naturaleza de la empresa, el concepto de “customer churn”


varía, ya que el análisis se relaciona íntimamente con la definición que la empresa le
suministre al Churn. La compañía tiene que tener definido el significado de que un
cliente desista de la empresa, ya que: para el ejemplo de los concesionarios de
vehículos y los planes de ahorro, va a definir el Churn a la anulación del contrato y
finalmente la finalización del plan del servicio.

Generalmente para este tipo de análisis se implementan dos tipos de algoritmos de


aprendizaje automático para hacer el análisis de churn, pero elegir uno sobre el otro y
la aplicación en la construcción del modelo puede que llegue a ser complejo debido a
que cada uno generaría resultados diferentes.

En el área de las telecomunicaciones ha sido caracterizada por el alto costo de inversión


que tienen sus infraestructuras y tecnologías con la finalidad de poder sobrevivir en el
mercado muy competente. La pelea por cada cliente es extrema, llegando al punto de
una alta disminución en los costos de los servicios para que puedan apegarse a las
necesidades de los clientes. Cabe destacar que una de las variables más temidas en una
compañía es la perdida de los clientes hacia la competencia.

Para llegar a conocer el cliente se ha usado algunas reglas de negocio que se basan en el
conocimiento que pudieran tener algunos especialistas en el área para poder predecir
los clientes potenciales a abandonar, usando pocos datos para hacer la clasificación de
los usuarios. Para este proceso se ha definido una terminología que identifican algunos
comportamientos de los clientes: mercenario, constantemente está haciendo cambios
de empresas en pequeños períodos de tiempo, amagador, realiza solicitudes y luego las
cancela, Robinson, no quiere ser molestado con las propuestas comerciales. Con
algunos procesos semi manuales, se puede obtener un listado de clientes que se
consideran más propensos a dejar la compañía, filtrando características como datos de
facturación o la morosidad, y se crean las listas de los clientes a contactar para
brindarles algún modelo de oferta para lograr captar su atención.

Las empresas de telecomunicaciones tienen la ventaja de poder almacenar un gran


número de información perteneciente a los usuarios, originaria de diferentes fuentes
como, por ejemplo:
 Información sobre la movilidad geográfica: gracias a la conexión automatizada de
su teléfono móvil las distintas celdas de radio reflejan la variedad de zonas en los
diferentes horarios por donde ha transitado el usuario, pudiendo hacer
referencia a su zona laboral, su hogar, zonas recreativas, etc.
 Consumo de los datos en el móvil: a qué tipo de información accede en su
teléfono, verificar si navega en los portales informativos de la competencia.
 Información de facturación: el tipo de plan en su tarifa, ofertas actuales,
finalización de su plan de consumo, tiempo de permanencia en la línea
contratada.
 Tipo de equipo.
 Equipos en el hogar: datos sobre los dispositivos que usa en el hogar.
 Las llamadas realizadas.
 Reclamos sobre el servicio.

Todas aquellas tecnologías que se asocian al big data y machine learning suministran
soluciones de procesamiento y análisis en tiempo real de cantidades masivas de los
datos que contienen la información importante del usuario. El big data se usa cuando el
tamaño, la velocidad y la variedad de la información es tan grande que se necesita de
tecnologías y métodos analíticos para hacer la transformación de la información en
datos valiosos.

Soluciones relacionadas con big data:


 Crecimiento y adaptación horizontal: el procesamiento y el almacenamiento
aumentan linealmente integrando más nodos.
 La gran disponibilidad y aceptación de fallos por medio de la replicación
automatizada de los datos.
 Procesamiento masivo en paralelo, pudiendo repartir el procesamiento en miles
de nodos.
 Análisis de un gran flujo de datos en tiempo real (streaming).

El machine learning por otro lado, por medio de su tecnología Apache Spark, tiene
productos que usan algoritmos de aprendizaje automático para ejecutar de manera
paralela los procesos de los servidores, favoreciendo los tiempos de respuestas con el
uso de procedimientos tradicionales.

Caso de Éxito.
Como objetivo principal se requiere minimizar la pérdida de clientes hacia la
competencia. Para ello es necesario hacer el cálculo diario de la probabilidad de fuga
(Churn rate) partiendo de las fuentes de información disponibles, para brindar a los
usuarios que pudieran ser más propensos ofertas (ventas cruzadas, terminales,
descuentos) para tratar de captar su atención.

Modelo Churn en una compañía de telecomunicaciones.

En vez de limitarse a solo pocos parámetros, se pueden usar muchos que puedan
describir a cada usuario, en vez de hacer el cálculo mensual se pueden hacer los
cálculos a diario, las reglas de negocio pueden ser sustituidas por algoritmos de
aprendizaje automático mejorando su eficiencia. El procesamiento en paralelo puede
ser lo suficientemente escalable de manera inmediata.

Como una solución se usan modelos basados en aprendizaje automático, haciendo el


entrenamiento con los datos históricos almacenados.

Modelo de entrenamiento.
Luego de que se construye el modelo se puede implementar todos los días para hacer
los cálculos de las probabilidades para cada uno de los clientes. Esta representación
mucho más detallada muestra paso a paso los procesos agrupándose en tres fases:

Proceso para detección de fugas de los clientes.

 Primera fase o fase inicial: Se compone desde el paso 1 al 4. Aquí es


donde se hace el análisis de los datos, y se agrega los datos de los
usuarios, se hacen las pruebas de varios modelos y se hace la selección
de modelo a implementar.
 Segunda fase o fase de producción: se compone de los pasos 1,2,5 y 6. Se
hace el consumo y preparación de la información del día anterior y luego
se usa el modelo para la obtención de las posibles predicciones diarias.
 Tercera fase o reentrenamiento: cada cierto tiempo, cuando se observa la
decadencia de los resultados, es recomendable hacer un
reentrenamiento del modelo, con datos actualizados, debido a que
puede que cambien las tendencias en ciertos períodos de tiempo. Se
puede tratar de un reentrenamiento suave aplicando las mismas
variables en un espacio de tiempo mucho más reciente (pasos 3 y 4), o se
hace un reentrenamiento donde se analicen y añadan nuevas variables
(pasos 1, 2, 3 y 4).
6.2.5 Fijación de precios dinámicos.
Se trata de una estrategia, que se encarga de hacer el recálculo constante para
determinar los precios de los productos tomando en cuenta diferentes factores como,
demanda, límites de precio y estacionalidad. Cuando se implementa una buena
estrategia de fijación de precios dinámicos se puede hacer reajuste en los precios
rápidamente y a gran escala, sin pasar por alto la comprensión sobre los efectos
durante los cambios. Esta estrategia no es una técnica novedosa, hace algunos años
atrás la fijación de los precios era basada por el regateo, pero luego se pudo evidenciar
que un precio justo acarreaba menos tiempo en los mercados minoritas.

La implementación de un algoritmo de precios dinámicos hace que las empresas capten


la mayor cantidad de ingresos por la venta de sus productos.

La constante negación a aplicar este tipo de modelo de negocio en las empresas, dan
lugar a solo dos estrategias básicas de implementación: fijación de un precio estático
que se base en los costos o fijar un precio apegado a un objetivo deseado.

Con estas estrategias era necesario alcanzar un volumen de ventas fijado para que el
margen benefactor pudiera ser cubierto. Posiblemente grandes marcas opten por el uso
de los precios fijos en lugar de una estrategia dinámica, pero la mayoría de los minoritas
tienen preferencia por los precios fluctuantes ya que les permite tener un mayor
control de las ventas.

En otro orden de ideas, los precios dinámicos al ser cambiantes y personalizados


obtienen puntos de ventajas debido a que van a depender de la demanda del producto,
competencia, hábitos de compra. Pueden generar divisiones en los ingresos que
pudieran aumentar la rentabilidad mucho mayor que con los precios fijos. Las primeras
empresas en adoptar este modelo fueran las Aerolíneas a partir de los años 1980, y hoy
en día es una técnica de marketing muy común entre otras compañías como cines,
hoteles, venta en línea, dichas compañías contienen una correcta estructuración de
precios que han mejorado la rentabilidad con los cambios constantes de la oferta y la
demanda.
Precios estáticos y precios dinámicos.

6.2.5.1 Implementación.
Las compañías implementan los precios dinámicos por las razones siguientes:
 La demanda de los productos pudiera tener picos estacionales en algunos
períodos, y en otros valles que pudieran ser días o hasta meses.
 El precio del producto tiene variación en diferentes partes del mercado, como
demografía, clasificación de los clientes, medios de adquisición para la compra
venta.
 El precio puede ser ajustado de acuerdo al tiempo, a la anticipación de la
compra y a los eventos especiales.
 La adquisición de los productos respecto a los volúmenes de consumo por parte
de los mayoristas.
 Generalmente en el lanzamiento de un producto inicia con un precio bajo y
dependiendo el ciclo de vida del mismo el producto inicia su subida de precio.
 Altas competencias en B2C (Business-to-consumer) y B2B (Business-to-
Business).
 Si el stock del producto es perecedero, o si el servicio a por consumir se requiere
que sea urgente.

La mayoría de las empresas se comprometen con el proceso de levantamiento y


agrupación de la información de manera sistemática, suficientes datos relacionados con
la oferta para poder tener un buen proceso de precios dinámicos, tomando en cuenta
las bases de datos externas e internas y algunas otras fuentes que sumen conocimiento.
Es necesario la recopilación de los datos relacionados con el tipo de servicio que se
recibe, el tiempo que pasa un cliente en una página web, los productos que compra y
cuales ha colocado en su carro de compra, que disposición tiene para pagar. Luego de
tener todo este conocimiento, se requiere una gran capacidad de cómputo (Big Data),
para hacer el procesamiento de los datos y construir el modelo dinámico de precios que
se necesite sin pasar por alto los pilares fundamentales, Demanda, Competidores,
Disponibilidad, Previsión.

6.2.5.2 Output de conocimientos que pudieran arrojar este tipo de modelo:


 Cambio del precio tomando en cuenta la demanda para lograr el aumento de las
ganancias.
 Centrarse en la audiencia de una manera mucho más eficaz.
 Tener el conocimiento sobre la cantidad de la demanda y si hay un exceso.
 Realizar mejores recomendaciones de producto-servicio.

Modelos de los Precios en el ciclo de vida el producto.


Debido a lo complejo que significa el establecimiento de precios dinámicos, se
recomienda el uso de cinco módulos para categorías variadas de diferentes productos y
tipos de mercados, donde representa algunas etapas en el ciclo de vida del producto o
servicio.
 Primera etapa: se centra en el proceso de lanzamiento para establecer el precio
inicial, que se basa en la demanda que se estima, y la permanencia de las
semejanzas en el mercado.
 Segunda etapa: en esta etapa del proceso aparecen los primeros patrones
generados por las ventas, y se ajusta el precio dependiendo de la demanda real
del producto, tomando en cuenta la elasticidad, estacionalidad y canibalización.
 Tercera y cuarta etapa: implementan la percepción que tiene el consumidor
sobre los precios en relación a los precios de la competencia, para luego iniciar
otra fase de reajuste a través del tiempo.
 Quinta etapa: en esta última etapa apoya en la coordinación de los precios en
cada uno de los canales de venta en línea y fuera de línea por medio de la
Omnicanalidad.

Las etapas anteriores demandan un proceso extenso de recopilación de la información,


partiendo de los indicadores macroeconómicos, hasta los datos detallados del mercado
como por ejemplo, la capacidad del hotel, tipo de habitaciones, disponibilidad,
descuentos especializados, precios de los servicios similares que ofrezca la
competencia, tiempo en que se hace la reserva, si es con anticipación, eventos,
pronósticos de la demanda, regulaciones gubernamentales, comentarios realizados en
las reseñas de las redes sociales. Luego toda esta información se tiene que procesar con
el uso de un algoritmo especializado, que varían dependiendo del objeto de la empresa
y el objetivo del análisis al que se quiera llegar, estos tipos son los siguientes:
 Arboles de decisiones tradicionales.
 Regresión.
 Bosques aleatorios.
 Redes Neuronales.
 K-media.
 Filtros Colaborativos.

Dependiendo del enfoque del negocio, se considera enfoque simple:


 Datos transparentes.
 Bajos volúmenes de información.
 Data bien estructurada y completa.
 Algoritmo computacionalmente ligero, pero menos potente.
 Requiere el conocimiento del modelo de relaciones secuencial.
 Asíncrono
 Predice un resultado.

Enfoque avanzado:
 Datos opacos.
 Grandes volúmenes de datos.
 Datos incompletos y desestructurados
 Algoritmos computacionalmente poderosos en intensivos.
 Identidades de las modelos basadas en aprendizaje.
 Datos en tiempo real.
 Acciones prescritas.

Por medio de la aplicación de estas técnicas dinámicas, se puede llegar a conocer las
tendencias que desarrolla el mercado, la oferta y la demanda del producto en tiempo
real para ir ajustando el precio.

Empresas que hacen uso de precios dinámicos.


 Restaurante Alinea en Chicago, hace segmentación de los precios dependiendo
la hora y el día de la semana.
 El hotel Marriot y el Plaza Athenee, el Marriot ha implementado big data con
muy buenos resultados. El Plaza Athenee hace un proceso de consulta hacia un
API, desde la plataforma de reservas.
 Apartamentos turísticos, las plataformas que se encargan de gestionar estas
publicaciones de alquileres a corto plazo, suministrando una gamma de precios
dinámicos que han sido basados en las predicciones relacionadas con la oferta y
las demandas futuras, tendencias del mercado vacacional, histórico de los datos,
haciendo un escaneo automatizado de los datos para poder generar información
sobre los cambios en las tendencias del mercado. Cuando los usuarios no están
conforme con el precio, pueden ser controlados de forma manual estableciendo
los niveles mínimos y máximos, reglas con respecto al tiempo de estadía, y rango
de precios por temporadas. Con el fin de que estos precios se encuentren
apegados a la realidad del mercado se usan herramientas que integran varios
PMS (Property management system) con la finalidad de brindarle soporte a la
continua sincronización de los precios.

Ventajas de la implementación de Precio Dinámicos.


 Excelente calidad en cuanto a la toma de decisiones para fijar los precios.
 Logra ajuste en tiempo real por errores de coste mal establecidos.
 Realizan estimaciones confiables con alto rango de elasticidad.
 Con cada cliente se maximizan las ganancias.
 Optimización de los ingresos.

6.2.6 Investigaciones del mercado.


La realización de investigaciones del mercado para el análisis del marketing, consiste en
hacer un análisis de la información que proviene de la implementación de la big data a
un nivel más globalizado, apoyándose con el uso de las redes sociales, páginas webs,
foros y otra serie de información para poder llegar a entender la situación de las
diferentes industrias, consumidores, mercados y poder lograr una ventaja
considerablemente competitiva.
6.2.6.1 Investigación en las redes sociales.
La naturaleza del ser humano es ser sociable y va a depender de la cooperación como
grupo para su subsistencia y prosperidad. Partiendo de los datos del reporte anual de la
Global of State of digital 2021, el 53% de la población en el mundo hace uso de alguna
red social, lo que es equivalente a más de 4200 millones de personas en la actualidad,
son usuarios de las plataformas Facebook, Instagram, Twitter, YouTube, etc.
Fundamentando el poder que pudieran tener estas redes para lograr obtener
información importante sobre los usuarios. Por medio de las redes sociales, las
personan hacen uso de sus expresiones relacionados con la libre opinión sobre casi
cualquier tema ya sea, religión, deporte, comercio, economía, política.

Dirigiendo el enfoque de la investigación del mercado hacia las redes sociales, con el
monitoreo de la actividad sistemática de las conversaciones, opiniones sobre los temas
de intereses sobre un producto, servicio o temática en general. El entendimiento de los
mercados a este nivel, mejora en panorama de entendimiento que ayudan a crear
vínculos entre el consumidor y las marcas suministrando un acceso directo al usuario o
consumidor sin que un tercero intervenga.

El marketing implementa el uso de técnicas y herramientas tecnológicas para poder


percibir información valiosa acerca del comportamiento del mercado y poder cumplir
con las necesidades cambiantes del consumidor. Los usuarios cada vez son mucho más
exigentes a la hora de tomar una decisión sobre la adquisición de un producto debido a
el acceso a la gran cantidad de información que tiene al alcance de la mano. Un ejemplo
de estas herramientas es la plataforma SurveyMonkey, para la realización de encuestas
personalizadas, SocialMention suministra datos sobre las tendencias más comentadas
en las redes.
6.2.6.2 Ciencia de la información en investigación de mercados.
Esta disciplina hace uso de técnicas de programación, métodos científicos, procesos,
algoritmos para hacer el análisis y extraer los patrones de conocimiento que forman los
datos y poder tomar las mejores decisiones del negocio. Esta ciencia ayuda en el análisis
del históricos de los datos que se tienen.

En la actualidad los usuarios producen y comparten una gran cantidad de datos por
medio del internet en diferentes formatos, alojados en las plataformas web. Un estudio
realizado por la IBM fundamenta que se crean aproximadamente 2.5 quintillones de
bytes de información al día, para lo que el 90% de la información en el mundo se crea a
inicios del año 2010. Apoyándose en los diferentes métodos científicos, la ciencia de los
datos hace la extracción de las diferentes perspectivas de la información y apoya
significativamente a los especialistas en marketing para poder conocer los mercados a
un nivel tan detallado que anteriormente no era posible.

Big data en las ciencias sociales.


EL big data suministra a las empresas la facilidad de tener el acceso a la información
sobre sus usuarios, tendencias, mercados, que por medio del marketing fundamenta la
construcción de un modelo económico basado en el conocimiento de la información
permitiendo suministrarle un contexto humano a la gran cantidad de información que
se tiene de todos, y del mismo modo hacer el estudio del ser humanos por medio de las
presentaciones en línea como una faceta diferente del comportamiento.

Machine learning en la investigación del mercado.


En el proceso de investigación de mercado el machine learning suministra varias formas
efectivas para hacerle frente al mercado de los consumidores, ayudando a hacer la
interpretación de la información, realizar predicciones sobre el desempeño o el posible
éxito que pudiera o va a tener un producto en el mercado, y además que tipo de
receptividad pudiera tener por parte de los consumidores, de esta forma poder hacer el
lanzamiento en un mercado favorable que le corresponda. Este tipo de disciplina ha
tomado gran importancia a medida que los grandes especialistas cada vez hacen la
recopilación de más información.
En términos generales el aprendizaje automático brinda un gran apoyo con la
interpretación de la información por medio de los algoritmos, e identificar los patrones
que estos pudieran encerrar y poder generar conclusiones analíticas. Un equipo en el
(MIT), Instituto de Tecnología de Massachussetts, desarrollaron una metodología que
implementa el aprendizaje automático con la finalidad de obtener información valiosa
acerca del comportamiento que tienen los consumidores en un entorno generado por
ellos mismos. Este algoritmo, por el trabajo constante con contenido que ha sido creado
por los usuarios de la red, procesa e interpreta el lenguaje común usado por los
usuarios, hasta procesa las oraciones de mayor complejidad.

EL mecanismo que implementa el machine learning para poder obtener las perspectivas
del comportamiento de los consumidores se define a continuación:
 Reconoce los orígenes de los datos y hace la extracción de la información más
importante, haciendo la separación en oraciones menos compleja para el
estudio.
 El algoritmo es entrenado y luego se aplica una red neuronal convolucional para
hacer el filtro y hacer la separación de las oraciones que tengan insights y cuáles
no.
 Organizar el equipo para hacer la agrupación de las variedades de oraciones en
clústeres y hacer la producción de una base de datos final con las respectivas
afirmaciones.
 Recibir el reporte final por parte de los algoritmos con lo menos 2000 oraciones
que contengan insights.
 Un especialista hace el análisis de las oraciones y señala un conjunto de insights.

6.2.6.3 Optimizaciones de las campañas de publicidad.


Los algoritmos pueden aprender por mediante la repetición constante de las acciones, y
encuentran patrones para hacer el ponderamiento de los resultados, mejorando cada
vez más con el pasar del tiempo. Un algoritmo puede llegar a aprender de los patrones
que se forman en la base de datos de los emails que envían los usuarios, haciendo las
predicciones sobre los horarios y los días para los envíos, ayudando al crecimiento de la
tasa de respuesta basándose en los patrones observados en los datos. En las redes
sociales más famosas, estos algoritmos hacen el agrupamiento de la información que se
le va a mostrar al usuario en sus noticias, haciendo la sugerencia de lo que se encuentre
más acorde a sus hábitos de navegación e intereses personales. Estos van a tener el
objetivo de hacer la optimización de la campaña por medios de los datos suministrados
a la máquina acerca del objetivo que se tiene sobre la campaña publicitaria y luego este
va a buscar la combinación para generar los mejores resultados. El objetivo principal
para poder hacer dicha optimización es tener claro el objetivo que se quiere controlar
para hacer el ajuste diario y permitir que el algoritmo tenga un aprendizaje significativo
con el tiempo.

6.2.6.4 El marketing.
Por medio de la gran cantidad de información que se tiene almacenada en la actualidad,
se cuenta con el acceso al conocimiento sobre los hábitos, intereses y gustos de las
personas, siendo viables poder clasificarlas de una forma muy específica, con la
finalidad de poder personalizar las acciones de cada uno de ellos y logran un aumento
en las probabilidades de captar su atención. Desde este enfoque se fundamenta la
hipersegmentación, con la previa identificación de individuos únicos y haciendo uso de
la data para poder hacer las predicciones del comportamiento de este, emitiendo las
conclusiones de lo que podría y lo que no importarle, aumentando las probabilidades
de que este tenga una interacción recíproca. Hoy en día están disponibles varias
herramientas para mejorar el marketing de precisión por medio de las IDs y los DCO
(Dynamic Creative Optimization), con sus funcionamientos basados en algoritmos.

6.2.7 Detección de Fraudes.


Se hace referencia de fraude cuando un mecanismo no se usa de la forma en que ha
sido creado, en cambio se usa de una forma malintencionada repercutiendo
negativamente en una organización. Por lo general se asocia a un concepto relacionado
al ámbito económico, desaparición de capital, pero también el fraude existe cuando hay
escape de información o se da un daño a la imagen ocasionando pérdida en la
credibilidad de la organización, debido a esto es el tipo de fraude que cuesta mucho
más detectar. Como necesidad a este tipo de problemas, se desarrollan métodos cada
vez más tecnológicos que puedan detectar este tipo de fraude interno, incluso antes de
que se presente para poner en marcha los planes de prevención. El aprendizaje
automático es la base de los sistemas que se han desarrollado últimamente para
realizar este tipo de análisis avanzado.

6.2.7.1 Detectar el fraude en tiempo real.


De manera tradicional, el fraude interno, ha sido detectado de manera reactiva, como
por ejemplo un robo, luego se investiga a priori después que se ha suscitado el hecho.
La realización de las auditorías construye una aproximación mucho más proactiva, como
mecanismo del análisis con la finalidad de minimizar el período de tiempo que se
produce el hecho y se detecta, para poner en curso las acciones y medidas necesarias.
Lo ideal consistiría en procesar en tiempo real los procesos que son sensibles a este tipo
de hechos. De esta forma es como obtienen el protagonismo los algoritmos de
aprendizaje automático, que son los que se van a basar en el análisis de los datos que
contienen los patrones de comportamientos que se salen de las regulaciones o
considerados sospechosos de fraude.

Es considerado casi imposible, que una persona monitoree la actividad de una


organización en tiempo real, es por esto que es necesario el procesamiento de los datos
disponibles para hacer el entrenamiento de los modelos predictivos que puedan
identificar de forma automatizada los posibles fraudes que estén en la información
almacenada.

Se puede definir la velocidad como el elemento que marca la diferencia de los sistemas
que detectan fraudes y va a ser relevante, dependiendo de los procesos a los que se le
haga el análisis. Actualmente hay actividades que requieren de un sistema que haga sus
funciones en milisegundos, como por ejemplos, las transacciones bancarias y otro tipo
de actividades con un margen mucho más extenso. El objetivo es que el sistema tenga
una adaptación a los procesos, de manera que pueda alertar, cuando se presente una
anomalía lo más rápido posible. He aquí la importancia en la determinación de estos
procesos para poder tener el conocimiento donde iniciar el proceso de búsqueda.
Para poder ubicar los datos, se parte sobre el principio de que todos los procesos de
datos dejan una huella analógica o en algunos casos una huella digital. Los datos
siempre van a estar presentes para que cualquier compañía que se encargue de ese
este tipo de análisis adopte los mecanismos antifraudes por medio de los procesos de
detección.

Cabe destacar que los algoritmos no hacen su funcionamiento con los datos en bruto,
ya que estos tienen que ser transformados por parte del ente encargado de hacer el
análisis de la información y además este debe tener una relación de cooperación con la
organización que es objeto de análisis. Luego que se han seleccionados las fuentes de
extracción de la información, se almacenan los datos en un sistema independizado de
los clientes, es decir se hacen los análisis basándose en una copia de la información
original para luego hacer la integración de los algoritmos, que van a aprender de los
datos suministrados para poder hacer la detección de los casos de fraude. De esta
manera el modelo de predicciones realiza su aprendizaje del problema y genera una
especie de alerta para luego ser integrado con los datos de la organización.

El fraude en las empresas que ha convertido ya en una práctica común, adquiriendo


gran fuerza por motivo de la globalización y el nacimiento de nuevos negocios con
procesos más complejos. Debido a esto las organizaciones han destinado inversiones
para hacerle frente a este tipo de problemática empresarial, que afecta su desarrollo
económico.

6.2.7.2 El fraude en las compañías de seguros.


Un ejemplo muy común de estos sucesos son las compañías de seguros, ya que reciben
gran cantidad de siniestros catalogados como fraudulentos, sobre todos en las
coberturas relacionadas con la responsabilidad civil, daños materiales y daños físicos. Se
produce el fraude cuando el beneficiario hace la simulación de un siniestro con la
finalidad de obtener el beneficio financiero, haciendo el cobro de indemnizaciones
pactadas al momento de cerrar en contrato de la póliza.

Puede que el motivo principal, dependa de las regulaciones de algunos países, donde
este tipo de pólizas deba ser necesaria. Para prevenir estos sucesos, las compañías
aseguradoras han implementado mecanismos que se basan en datos que se permitan
detectar los sucesos de fraudes y poder eliminarlos de manera progresiva.

6.2.7.3 Inteligencia Artificial para detectar el fraude.


Hoy en día el fraude en las empresas es muy común y ha adoptado diferentes formas,
de manera que es necesario la implementación de un plan de análisis para poder tener
un control del mismo. Haciendo que la terea de poder detectar un fraude en una labor
un tanto compleja ya que se requiere de un equipo técnico especializado en el proceso
de grandes bases de datos. La creación de nuevas tecnologías, proporcionan un
conjunto de canales que permiten hacer el diseño de nuevas maneras de actividades
fraudulentas que hacen generar grandes pérdidas económicas a las organizaciones
afectadas, entre las más comunes se encuentran:
 El robo de identidad para tener acceso a los perfiles y robar información de
interés.
 Phishing, es un mecanismo de engaño que se basa en revelar información como
contraseñas, cuentas o tarjetas.
 Clonar tarjetas de crédito.
 Acceso a sistemas informáticos violentando las medidas de seguridad.
 Smishing, considerada como una variante del phishing, pero dirigida a los
usuarios de telefonía móvil.

Cabe destacar que el desarrollo de estas técnicas ha dado como consecuencia la


creación de mecanismo para tratar de erradicar el fraude en las empresas.
Para que la implementación de la IA funcione tiene que suministrársele el acceso a los
orígenes de los datos con la finalidad de poder seleccionar el material relevante, poder
detectar los patrones sospechosos y crear reglas para luego hacer las limitaciones de
una forma más eficaz.

6.2.7.4 Tipos de Fraudes.


Se pueden dividir en dos vertientes, los internos y los externos.
 El fraude interno o fraude laboral se define como el empleo de la ocupación para
hacer enriquecimiento por medio del mal uso de los activos o recursos de la
organización. Este tipo se produce cuanto un empleado realiza un acto en
contra de la organización.
 EL fraude externo, es realizado por medio de una o un grupo de personas para
recibir un beneficio usando fuentes externas.

6.2.7.5 Funcionamiento de los algoritmos para detectar fraudes.


La IA se define como un factor importante para realizar la detección del fraude, sin
embargo, la detección no es posible sin un grupo de especialistas que se encarguen de
dirigir una solución analítica. Estos profesionales, tienen que ser capaces de hacer la
preparación y transformación de los datos con la finalidad de usar un modelo que
permita generar las decisiones mucho más eficaces.

Por otra parte, el aprendizaje automatizado agiliza la automatización de la detección del


fraude manejando dos tipos de estrategias: aprendizaje supervisado y no supervisado.
Por medio del aprendizaje supervisado se recauda la información importante de las
bases de datos de la organización, como, por ejemplo: las transacciones con tarjetas,
que tienen los comportamientos en condiciones normales de compras y los que son
fraudulentos. Cuando una transacción nueva es producida el sistema va a comprobar las
semejanzas con las gestiones anteriores y va a determinar si esta transacción constituye
o no un comportamiento no habitual.

En cuanto al aprendizaje no supervisado, investiga los comportamientos para hacer la


investigación y poder detectar los diferentes patrones de fraude. Para ello se tiene que
investigar las transacciones y es efectuado un análisis minucioso. Son necesarias una
serie de técnicas, como por ejemplo las redes neuronales, para poder hacer la
extracción de los datos importantes de las bases de datos y poder detectar los posibles
fraudes. En general este sistema va absorber el comportamiento considerado normal de
los usuarios y si se presenta un hecho fuera de lo común es generada la alerta.

6.3 Algoritmos de localización.


El nivel de precisión de las métricas para la localización, en las zonas de interiores va a
depender de los dispositivos de localización que se implementen y las condiciones en
que se propague la señal en estas zonas. En vista que las técnicas de localización tienen
una precisión que va a depender directamente con el ancho de banda y la complejidad
que tenga el canal de propagación, el margen de error nunca va desaparecer al 100%,
cuando es necesario obtener una buena precisión y las condiciones no se prestan para
hacer una medición excelente, se tienen que mitigar los errores por medio de los
algoritmos de posicionamiento o técnicas para el reconocimiento de patrones. En el
apartado a continuación se describen algunos de los algoritmos de posicionamiento
más tradicionales que suministran mediciones confiables de los parámetros de
localización y un conjunto de técnicas para el reconocimiento de los patrones, que
ayudan a mejorar los resultados en cuanto al posicionamiento cuando las métricas
presentan fallas.

6.3.1 Técnicas tradicionales.


Dentro del canal de radio “indor”, es muy complejo hacer las mediciones del ángulo de
llegada, fase de llegada e intensidad de la señal recibida, ya que gran parte de los
sistemas de posicionamiento independientes en interiores implementas procesos que
se basan en el tiempo de llegada de la señal. Las medidas que son fiables y basadas en
tiempo de llegada, se le pueden implementar técnicas de triangulación geométrica para
poder conseguir la localización del nodo móvil. Con los errores de las estimaciones de
las distancias que se causan por datos inexactos de los tiempos de llegadas, los
procesos de triangulación obtienen solo una región de incertidumbre y no una única
posición, como un punto estimado del nodo móvil. Para poder recibir una estimación de
un punto de coordenadas de localización a pesar de los errores en la medición, han sido
creado una diversidad de algoritmos de estadística de posicionamientos directos que
pueden llegar a resolver este problema con la implementación de un conjunto de
ecuaciones no lineales.

El objetivo de los sistemas basados en posicionamiento usados en las aplicaciones de


geolocalización en interiores, es suministrar una variedad de posibles localizaciones
móviles en vez de una coordenada de estimación de localización. Por otra parte, la
precisión no será constante en toda la zona de medición, va a depender directamente
de la ubicación de los sensores y el total que se implementen para realizar el cálculo.
Cuando es necesaria la obtención de la estimación de la localización de una zona de
incertidumbre referente a un punto estimado, se implementan los algoritmos de
triangulación geométricos.

Referente a la geolocalización outdoor tradicional, los procesos inteligentes y las


técnicas que se basan en los filtros Kalman que sirven de transporte y fusión de las
métricas, se usan para el mejoramiento del posicionamiento. Generalmente las técnicas
tradicionales se aplican a la localización indoor, pero este medio de aplicación consta de
características únicas, catalogándose poco interesantes, sin embargo, pueden apoyar
en el desarrollo de algoritmos de posicionamiento automatizados que mejoran la
ubicación de un punto.

6.3.1.1 Técnica de reconocimiento de patrones.


Al aplicar geolocalización es espacios interiores, la zona de servicios se restringe al
interior y cualquier obstáculo en las adyacencias del punto, pero en la actualidad el
plano de la planta de un edificio está disponible como un documento digital que puede
mejorar la precisión de la ubicación por medio de la implementación de algoritmos de
geolocalización del punto en la zona. Cuando un nodo móvil se moviliza dentro de un
edificio, con la ayuda de estos planos los obstáculos que interrumpen la señal pueden
no interferir con la ubicación del nodo. Otro aspecto de estos tipos de aplicaciones
radica en que el área de la zona de cobertura se ve minimizado respecto a las zonas de
coberturas en exteriores, haciendo posible una mejor planificación para ubicar los
sensores de medición, con la finalidad de reducir los errores de las métricas de la
localización que provocan las interrupciones de la visión. Los datos estructurales del
grupo de sensores se implementan en los algoritmos de posicionamiento inteligente.
Por lo reducida que pudiera ser una zona de interior, posibilita prevenir todas las
variaciones importantes que pudieran manifestarse. La ubicación que se basa en las
medidas con reconocimiento de patrones, también se conocen con localización con
huella o fingerprinting. Variedades de estas aplicaciones como la localización de un
equipo la ubicación de un paciente en condición crítica, el uso que se le da al nodo
móvil es de tipo cuasi-estacionaria, en estas situaciones el reconocimiento de los
patrones se acopla mucho mejor que los métodos de triangulación tradicionales o
métodos basados en filtros.

La manera en que operan estos algoritmos no es compleja. Los edificios, de manera


individual poseen datos únicos para la propagación del radio de la señal, donde cada
edificio tiene una firma única en término de sindicación realmente simple, tiempos de
llegadas o ángulos de llegada, que se observa desde diferentes puntos donde estén
ubicados los sensores. Los sistemas que reconocen los patrones pueden determinar las
características de estos en la zona de interés y luego esta información se implementa
para el desarrollo de reglas de reconocimiento. Para hacer la construcción de una base
de datos de las firmas, un dispositivo es transportado por toda la zona de cobertura
donde se encuentran ubicados los sensores de ubicación emitiendo señales de rastreo.
Las áreas de servicio van a ser divididas en rejillas y luego los algoritmos usan los
patrones de rastreo que recibieron los sensores y almacena esta información para crear
la firma de cada zona. La tarea de los algoritmos es la distinción entre las zonas con
firmas similares. Cuando las aplicaciones son cuasi-estacionarias la manera menos
compleja para realizar el reconocimiento de los patrones es la implementación del
algoritmo del vecino más cercano. Con este algoritmo, por medio de la medida de la
distancia euclidiana, se hace el cálculo de las métricas basándose en sindicalización
simple, tiempo de llegada o ángulo de llegada, y de esta forma, también se obtiene una
base de datos para la firma de la zona.
Si la zona de cobertura aumenta y una gran cantidad de sensores se encuentran
involucrados, las dimensiones de la base de datos con la firma de localización se ven
afectadas, creciendo severamente, complicando el reconocimiento de los patrones con
el algoritmo. Hoy en día se investigan algoritmos más complejos que usan lógica difusa,
redes neuronales, técnicas basadas en modelos Markov, para poder disminuir el alto
costo de cómputo que tiene el procesamiento de los datos y mejorar la efectividad.

6.3.1.2 Algoritmo de mínimos cuadrados.


Los inconvenientes que generan las estimaciones de señalización entre los nodos han
sido aplicados por los radares. La estimación del tiempo de la llegada de la señal es
obtenida con un filtro modificado o un conjunto de receptores de correlación. El cálculo
de la máxima verosimilitud del tiempo de la llegada de la señal puede ser reducido a la
estimación que se basa en el receptor del filtro modificado una vez que el canal de
comunicación se modela como uno de ruido gaussiano.

La estimación de la máxima verosimilitud del tiempo de llegada se puede reducir a la


que se basa en el receptor del filtro modificado o correlación, una vez que el canal de
comunicación es moldeado por un canal de ruido gaussiano blanco aditivo. Es común
que, de la teoría del radar, la máxima verosimilitud alcance la cota de Cramer de forma
asintótica. Cabe destacar que se ha comprobado que el grupo de tiempo de llegada en
un canal de ruido gaussiano, que son obtenidos de un filtro modificado es suficiente
para la obtención de una estimación de máxima verosimilitud de la ubicación del nodo.
En vista de que el canal de banda ultra ancha no es un canal de ruido gaussiano, existe
un método simple basado en el tiempo de llegada que obtiene la estimación que se
busca de la localización del nodo. Trata de un proceso de mínimos cuadrados, no muy
complejo y es caracterizado por la siguiente ecuación:
𝑁

𝑧̂ = arg min ∑(𝑟𝑖 − ‖𝑧 − 𝑧𝑖 ‖)2


𝑧
𝑖=1
Donde 𝑧̂ , se refiere a la ubicación del nodo móvil, 𝑁 significa el total de número de
nodos que se tienen para el cálculo, estaciones o sensores, ‖𝑧 − 𝑧𝑖 ‖ significa la
distancia entre la posible ubicación de un nodo con las coordenadas 𝑧 = (𝑥, 𝑦), y la
ubicación de un nodo de tipo sensor como 𝑖 y 𝑟𝑖 se define como la distancia del nodo
móvil al sensor, que a su vez se relaciona con 𝜏𝑖 , que va a ser el tiempo en que la señal
viaja de un nodo hacia otro, y se calcula con la fórmula:
𝑟𝑖 = 𝑐𝜏𝑖

6.3.1.3 Algoritmo de los K vecinos más cercanos.


El objetivo principal de las técnicas de mapeo para poder hacer la estimación de una
localización se basa en definir un algoritmo usando un grupo de información conocida
(almacenada en la base de datos) y luego estima las posiciones de un nodo definido
respecto al algoritmo. Los datos conocidos pueden ser expresado de la siguiente forma:
𝑇 = {(𝑚1 , 𝐼1 ), (𝑚2 , 𝐼2 ), … , (𝑚𝑁𝑡 , 𝐼𝑁𝑡 )}

Se define 𝐼𝑖 como el vector de la ubicación del punto conocido 𝑖, que viene dado por
𝐼𝑖 = [𝑥𝑖 , 𝑦𝑖 ]𝑇 posicionándose en dos dimensiones, luego se tiene 𝑚𝑖 que representa el
vector de los parámetros que se miden de la posición 𝑖, y 𝑁𝑡 se define como el número
de los elementos en la base de datos. Dependiendo de los datos de la señal que se use
en el algoritmo de localización, 𝑚𝑖 viene siendo un número de los parámetros de
ubicación relativos a los sensores o nodos, donde cada elemento que constituye 𝑚𝑖 se
puede traducir en una medida de distancia a un sensor cuando el nodo móvil se
encuentra en una posición 𝐼𝑖 .

En otro sentido, los vectores 𝑚𝑖 van a contener los datos de las distancias que hay de
los puntos de las rejillas hacia los nodos sensores que se ubican en la zona de cobertura.
El vector 𝑚 va a representar la distancia que hay del nodo móvil a los sensores. En la
fórmula que representa 𝑇 al inicio de la definición, el método de mapeo determina
primero una regla para hacer la estimación de la localización por medio de una función
de regresión o algoritmo de búsqueda de patrones, después se hace la estimación de la
posición 𝐼 de un nodo móvil definido por un vector 𝑚 que es relativo al nodo. Algunas
de las pocas técnicas de mapeo son empleadas para hacer la estimación de una
localización contienen la estimación de k vecinos mas cercanos (KNN), regresión de un
vector de soporte (SVR) y redes neuronales.

El algoritmo de estimación K-NN, hace estimaciones de la posición del nodo móvil


definiéndolo como un vector de posición en la base de datos 𝑇, que va a tener la
distancia menor al vector de estimación 𝑚. La posición de estimación va a ser 𝐼𝑗 , 𝑗 va a
corresponder lo siguiente:
𝑗 = arg min ‖𝑚 − 𝑚𝑖 ‖
𝑖∈{1,…,𝑁𝑇 }

Se define ‖𝑚 − 𝑚𝑖 ‖ como la distancia euclidiana que hay entre 𝑚 y 𝑚𝑖 . Este esquema


es definido como la técnica de estimación 1-NN, o cálculo de NN. Básicamente el
algoritmo de KNN se encarga de hacer la estimación de la posición de un nodo móvil
para que los vectores 𝑘 en 𝑇 sean los que tengan las distancias menores al vector dado
𝑚. La localización de estimación 𝐼̂ se obtiene como la suma de las posiciones de los
vectores:
𝐼̂=∑𝑘𝑖=1 𝑤𝑖 (𝑚)𝐼 (𝑖)

Se define 𝐼 (1) , … , 𝐼 (𝑘) como las posiciones que pertenecen a los 𝑘 nodos de vecinos más
cercanos, los parámetros de posición serán los siguientes: 𝑚(1) , … , 𝑚(𝑘) y
𝑤1 (𝑚), … , 𝑤𝑘 (𝑚) se va a definir como los factores de ponderación para las posiciones.
Normalmente los pesos se determinan en el vector 𝑚 y los vectores 𝑚(1) , … , 𝑚(𝑘) .

La ventaja más sobresaliente de los métodos para el mapeo radica en que puede
suministrar la estimación de la localización de una forma precisa en ambientes con
multitrayectos y propagación sin línea de visión. En términos generales tienen algo de
robustez en las condiciones no deseadas. Y su desventaja se basa en el requerimiento
que la base de datos tiene que ser lo suficiente robusta para recibir la estimación de la
posición precisa, de otra forma constante mente se tiene que actualizar la base de
datos de manera que la información del canal de estimación de posición no varíe de
forma significativa. Esta constante actualización pudiera ser muy costoso para sistemas
de posicionamiento con medios dinámicos, y para sistemas de posicionamiento en
exteriores.

6.3.1.4 Algoritmos de KNN no uniforme.


Siguiendo el mismo lineamiento del algoritmo en el apartado anterior, donde esta vez el
peso de cada nodo vecino no va a ser el mismo, y va a ser ponderado, lo que quiere
decir que, 𝑤𝑖 (𝑚) va a tener un valor diferente a la unidad de la siguiente forma:
‖𝑚 − 𝑚𝑖 ‖
𝐾( )

𝑤𝑖 (𝑚) =
‖𝑚 − 𝑚𝑖 ‖
∑𝑘𝑖=1 𝐾 ( )

Se representa 𝐾(. ) como la función de Kernel, con la excelente selección de estas
funciones mejora el comportamiento del algoritmo respecto al ponderamiento
uniforme. Lo ideal es que se definan los nodos con un peso mayor que el del vecino en
el espacio de medición y ese peso disminuya a medida que se alejen del nodo objetivo,
si se observa el valor de los pesos definidos en la ecuación anterior, se llega a la
conclusión que la mejoría va a depender de la sección de K(.), la constante 𝑘, el total de
los puntos 𝑘 y la distribución de los 𝑘 puntos.

6.4 Casos de Uso del de los algoritmos de Aprendizaje automatizado.


Las aplicaciones de comercio electrónico pudieran implementar los algoritmos de
machine learning para hacer el rastreo y entender las conversaciones del cliente
relacionadas con un producto específico, además se pudiera predecir qué tipo de
funcionalidad y características espera el consumidor de dicho producto, también una
empresa pudiera usar los algoritmos de machine learning para establecer un mejor
vínculo con sus clientes. El algoritmo, pudiera ser suficientemente capaz de hacer el
análisis de las consultas y luego hacer el envío de las solicitudes acelerando el proceso
de resoluciones de problemas y generando respuestas mucho más rápidas.

Durante la creación de aplicaciones de comercio electrónico, los programadores son


capaces de usar el machine learning para poder permitir a los clientes poder encontrar
productos mucho más rápido y obtener información de calidad en tiempo récord, de la
misma manera solo haciéndolos navegar por los servicios y productos que se
consideren relevantes de acuerdo a los hábitos de consumo que tiene el cliente.

Los algoritmos de IA usados en la optimización de algunas empresas suministran


aspectos mucho más apegados a la personalización de cada cliente de manera que el
enfoque de la compañía se dirige hacia ítems mucho más importantes. Como, por
ejemplo, en este momento Facebook hace la combinación de análisis estadístico y
predictivos para tratar de encontrar los patrones que se encuentran en los datos, de
manera que facilita la personalización de las noticias que se consideran relevantes y
sugerir contenido que pudiera captar la atención del usuario. Por otra parte,
implementa redes neuronales para hacer el escaneo de las imágenes y hacer
sugerencias sobre el etiquetado de las mismas.

De una forma muy similar Netflix usa el aprendizaje automático para hacer el ahorro de
millones haciendo la personalización de contenido especial para los suscriptores.

Además, los algoritmos de machine learning pueden ayudar a detectar spam, que
anteriormente se usaban las técnicas basadas en reglas para solucionar este problema,
pero hoy en día se ha desarrollados otro tipo de reglas implementando redes
neuronales. PayPal hace uso de al menos tres tipos de enfoques de machine learning
para eliminar los riesgos de fraude.
7. SISTEMAS BASADOS EN CONOCIMIENTO.

7.1 Sistemas basados en conocimiento (SBC).


Es un tipo de sistema basado en IA, donde sus presentaciones van a depender, de la
presencia explícita de un grupo de conocimiento y de la posesión de un innovador
proceso computacional. Se caracterizan por la gran cantidad y calidad de conocimiento
que poseen almacenado. Por otra parte, se puede considerar como un programa
encargado de emular el trabajo de expertos en áreas de conocimiento determinadas.

Los sistemas computarizados son capaces de llegar a resolver problemas para los que
han sido creados, las soluciones, específicamente son las que generaría una persona si
confrontara un problema similar, a pesar de no seguir el mismo proceso para poder
determinar una solución. Los sistemas basados en el conocimiento están más
adelantados que los sistemas de información comunes tratando de llegar a la
representación de funciones y procesos cognitivos que solo son capaces de hacer los
seres humanos basados en el aprendizaje y el razonamiento. El objeto de estas
aplicaciones junto con el gran aporte de la IA y la ingeniería del conocimiento es la de
poder llegar a automatizar el proceso analítico del problema, encontrar soluciones,
empleo del conocimiento y la toma de decisiones en un concepto específico. Uno de los
productos de los Sistemas Basados en Conocimiento son los Sistemas Expertos,
encargados de hacer la representación del conocimiento de los especialistas de un
concepto específico para lograr obtener un mayor provecho en su aplicación y emitir
tareas de diagnósticos, control y enseñas.
7.2 Metodologías de los SBC.
El desarrollo de los SBC se ha tratado con una variedad de métodos, a continuación, se
mencionan algunos de ellos:

DENDRAL.
Fue implementado por Buchanan y otros especialistas a finales de los años setenta,
para realizar el análisis de espectrogramas de masas, haciendo uso sobre el
conocimiento heurístico de los especialistas, este se puede considerar como el primer
sistema inteligente desarrollado, y ha realizado un gran aporte en el desarrollo de este
tipo de modelos, este tipo de sistema se ha usado por más de diez años por químicos y
biólogos para hacer evaluaciones de algunos aspectos reales.

MYCIN.
Creado en el año 1984 por Shotliffe y Buchanan para realizar diagnósticos médicos. Se
considera como el primer sistema experto desarrollado para el soporte e investigación
para diagnosticar enfermedades de la sangre.

XCON/R1.
En el año 1989 este sistema fue propuesto por Baker, O’Conner y McDermott, como un
sistema que se basa en reglas, fue implementado por la organización DEC, como una
herramienta de apoyo para seleccionar elementos de los sistemas computacionales que
solicitaban los clientes.

KADS.
Desarrollado por Wielinga en el año 1992. Tiene como consideración desarrollar los SBC
como un proceso de modelado de comportamiento, que pueden ser observado de los
fenómenos que ocurren en el mundo real.

La contribución que han tenido estos modelos ha sido muy importante durante el
desarrollo de los SBC, debido a que son los que han establecido los parámetros para
hacer la formulación y desarrollo de estos sistemas, evidenciando su aplicación en
algunas organizaciones.
Últimamente se han manifestado ciertos modelos fundamentados en metodologías en
espiral que proponen la creación de sistemas en los ciclos donde van a estar contenidas
las etapas siguientes:
 Determinación de los objetivos.
 Evaluar los riesgos.
 Creación del SBC.
 Plan para dar inicio a otro ciclo depurativo.
Tomando en cuente estos tipos de enfoques, surgen otras metodologías que se han
implementado últimamente.

KSM (Knowledge Structure Manager).


Esta metodología surge del grupo ISYS (Intelligent Systems), específicamente, en el
Departamento de IA de la Universidad Politécnica de Madrid, Henao (2001), se basa en
la identificación de modelos de entendimiento que se pueden computar en el problema
a solventarse. Una de sus características es el uso de modelos simples para luego ser
reutilizados muy fácilmente.

CommonKADS, Chávez en el 2015, se basan en la mejora de los KADS, ha sido


desarrollado como parte del proyecto europeo SPRIT. Esta metodología ha sido
diseñada para realizar el análisis y desarrollo de SBC. Toman en cuenta tres niveles, que
van a permitir gestionar el conocimiento y los datos de un sistema en un ambiente
organizacional. Todos los niveles a su vez tienen modelos que implementan formularios
para poder capturar detalladamente los procesos, actividades, conocimiento, datos de
la organización. Cada nivel se caracteriza de la siguiente forma:
 Nivel del contexto. Se hace el análisis de la organización y a su vez contiene tres
modelos:
o OM. Modelo de Organización: va a permitir realizar el análisis de la
organización. Por medio de esta puede ser identificado el problema y los
momentos para alcanzar a mejorar con la implementación de los SBC
que se quieren usar.
o TM. Modelos de Tarea: De una forma muy generalizada va a describir las
tareas que se realizan o las que van a realizarse en la organización donde
se implementa el SBC, siendo como un mecanismo de distribución de
tareas entre los diferentes agentes.
o AM. Modelo de Agentes: Los agentes se definen como las entidades que
se encargan de ejecutar una tarea, estos pueden ser software, personas
u otro elemento. Este tipo de modelo hace descripciones sobre los
detalles, restricciones y competencias de los agentes.

 Nivel de concepto. En este nivel se encarga de la comprensión de la organización


y contiene los siguientes niveles:
o EM. Modelo de experiencia o de conocimiento. Es la parte fundamental
de esta metodología, encargada de modelar el conocimiento para
resolver problemas que luego el agente usa para realizar las tareas.
Cuando se habla de conocimiento es importante diferenciar los tipos que
se manifiestan en una organización. El conocimiento explicito, este
puede ser compartido, documentado y ser transmitido, como, por
ejemplo: un manual, una formula, un programa informático. El
conocimiento implícito o táctico. Se manifiesta de forma desarticulada
siendo algo complejo poder lograr su explicación, como, por ejemplo, la
experiencia o habilidad de una persona.
o CM. Modelo de Comunicación. Es el que se encarga de describir el
intercambio del conocimiento y la información entre la variedad de
agentes que ejecutan las tareas en el TM.

 Nivel de la implementación. En este nivel se realiza el modelado de la


organización y contiene el siguiente modelo:
o DM. Modelo de diseño. Su diferencia de los modelos anteriores
encargados de tratar el análisis de los SBC, es que este realiza el diseño
técnico y la descripción de la arquitectura del SBC.
En cada uno de los nivele, estos modelos actúan de una manera sinérgica con el
objetivo de integrar el SBC.

Niveles considerados en el modelo common kads.

7.3 Clasificación de los sistemas basados en conocimiento.


Pueden ser clasificados en siete tipos principales:

7.3.1 Sistemas Expertos.


Se encargan de englobar los conocimientos organizados acerca de un área relacionada
con la experiencia humana, suficiente para poder actuar como un consultor eficiente, al
menor costo. Para que un sistema experto sea un SBC debe ser capaz de:
 Aprender del conocimiento humano, los programas de uso común por lo general
no tienen aprendizaje alguno, por ello es necesario que este tipo de sistemas
debe desarrollar un aprendizaje partiendo de los datos que ya conoce y luego
pueda ir generando un nuevo conocimiento.
 Tiene que ser capaz de poder mantener los conocimientos como los mantienen
las personas. Las personas lo hacen por medio de la lectura, sería de alguna
forma u otra la carga de los datos,
 Nuevos planteamientos, aprendiendo de sus experiencias, o por la repetición de
casos semejantes.
 Además, debe poder presentar las conclusiones a usuarios humanos. Debe ser
capaz de explicar por qué ha tomado ciertas decisiones o cómo ha llegado a una
conclusión determinada.

7.3.2 Redes Neuronales.


 Se encargan de modelar el cerebro a nivel biológico.
 Este tipo de sistemas son especialistas en el reconocimiento de los patrones, de
la misma forma que el cerebro humano.
 Pueden llegar a desarrollar el aprendizaje para reconocer la cadena de patrones
de experiencias y usarlas para realizar predicciones.
 Las redes neuronales se usan para la clasificación ya que pueden reconocer y
aprender patrones, y reconocerlos mientras hacen nuevos reconocimientos,
para poder llegar a clasificarlos, en un conjunto de categorías que ya las tendría
definidas en su aprendizaje.

7.3.3 Algoritmos Genéticos (AG).


 EL comportamiento de estos algoritmos es muy similar, a los procesos
implicados en la evolución.
 Hace la integración de representaciones genéticas y una manera de generar las
potenciales soluciones a los problemas, las funciones fitness y operadores
genéticos para poder generar los hijos.
 El mecanismo que se efectúa es cíclico de manera que se va a repetir hasta
lograr encontrar la solución más ideal:
 Procesar el fitness de cada uno de los individuos de la población.
 Crear una nueva población por medio de la implementación de nuevos
operadores genéticos.
 Elimina la antigua población y vuelve a realizar nuevas iteraciones.
 Las iteraciones del bucle se denominan generación.
7.3.4 Agentes Inteligentes.
 Son aquellos programas de software, a los que se le va a definir el objetivo o una
tarea, donde el programa pueda tomar sus propias decisiones.
 Gran parte de los agentes inteligente desarrollan sus funciones en segundo
plano, y solo van hacer acto de presencia para emitir los respectivos informes
acerca de los hallazgos.
 Frecuentemente tienen la capacidad de poder aprender y tomar decisiones cada
vez más complejas.
 Los encargados de hacer recuperaciones de la información son catalogados
como los más simples, en cambio lo que desarrollan el aprendizaje e
implementan el razonamiento deductivo para luego hacer el proceso de toma
de decisiones.

7.3.5 Minería de Datos.


 Este término es usado para hacer la descripción sobre el descubrimiento del
conocimiento por medio la identificación de las relaciones desconocidas que
existen entre los datos.
 El objetivo fundamental en estos casos es hacer el descubrimiento de las
relaciones que se encontraban ocultas para luego usar esta información como
ventaja competitiva para las organizaciones.
 Ejemplo: si se almacenan todos los tiques de compra de un supermercado para
luego realizar el análisis de toda esa información, se pudiera detectar que las
personas que realizan la compra de cervezas también realizan la compra de
algún confeti, la medida que pudiera tomar el supermercado sería que en la
ubicación donde coloque las cervezas ubique cerca los confetis.

7.2.6 Sistemas de Tutoría Inteligente.


 El creciente interés por los entornos que apoyan a los procesos educativos,
basados en computadoras ha ido aumentando con la gran demanda por la
educación de calidad a un bajo costo.
 Estos entornos responden de una forma más sofisticada al hacer adaptaciones a
sus estrategias, dependiendo del tipo de aprendizaje de usuario, se torna muy
atractivo.
 Se considera un sistema de tutoría como inteligente, cuando es capaz de tener
reacciones continuas con el transcurso del proceso de aprendizaje de las
personas.

7.4 Propiedades de los sistemas basados en el conocimiento.


 Son aplicados para dominar problemas mucho más complejos que los que trata
la ingeniería del software convencional, estos son heurísticos y declarativos,
manejando otro tipo de conocimientos, mucho más relacionado con la
experiencia
 Poseen una fase para la adquisición del conocimiento bastante extensa.
 Hay que hacer una separación en el conocimiento de los mecanismos de
deducción. Se tiene que tener bien definido, por una parte, el conocimiento, y
por otra los procedimientos con los que se van modificando esos conocimientos
 Justifican y describen las etapas del razonamiento que se van a seguir para
generar una solución o realizar la toma de decisiones.
 Son desarrollados para el desempeño de una tarea orientada a un dominio
definido. Tratando de que el campo de desarrollo no sea muy amplio.
 Los procedimientos realizados no son algorítmicos.
 Realizan el manejo de la incertidumbre.
 Pueden que generen más de una solución o hasta en algunos casos no genere
ningún tipo de solución.
 Contiene un gran conocimiento científico y técnico para poder mantener la
escalabilidad.
 Es orientado a generar siempre la solución más ideal.
 Los procesos se llevan a cabo de manera interactiva.
 Creación de nuevo conocimiento a pesar de que se efectúen fracasos.
 Cuenta con la facultad de poder explicar su razonamiento sobre el camino
tomado para tomar una solución.
 Los SBC pueden ser aplicados a problemas muy complejos que requieren altos
recursos computacionales y temporales.
 Pueden ser usados por cualquier usuario común.
 Tienen un comportamiento similar al razonamiento humano.
 A pesar de lo complejo que es describir el conocimiento, estos pueden
representarlos, y almacenarlo.

7.5 Ventajas y desventajas de los sistemas basados en conocimiento.


A continuación, se presentan las ventajas de los SC en comparación con los seres
humanos.
Personas SBC
La experiencia de las personas Cuando se captura la experiencia por
constantemente no es 100% accesible parte de los sistemas, se considera
debido a que pocas o una sola persona permanente y abierta a evaluaciones,
pudieran consultar a un especialista, en esta experiencia puede seguir
vista de que en una organización el utilizándose.
número de expertos es un tanto limitado
El proceso de transferencia de la El conocimiento que contiene un SBC se
experiencia entre una persona a otra es puede reutilizar de una forma menos
complejo compleja.
Las personas pudieran tender a ser Los SBC tienden a ser coherentes,
impredecibles dejando a un lado la influencia que
pudieran tener las emociones sobre las
personas, a la hora de realizar la toma de
decisiones
El desarrollo de la experiencia humana Los SBC son baratos respecto a otros
pudiera tornarse costosa y tardar muchos aspectos.
años en desarrollarse a su máximo.

A continuación, se presentan las desventajas de los SBC en comparación con los seres
humanos.
Personas SBC
Las personas son adaptables y creativas.No tienen inspiración y son desarrollados
para un propósito fijo.
Su comprensión es muy amplia y poseen Son centrados en una problemática en
gran enfoque. particular y no pueden ser usado para la
resolución de problemas de otro tipo.
Tienen el sentido común como recurso Son limitados al tecnicismo del
para simplificar el entendimiento. conocimiento que se les ha incorporado
Las personas son excelentes en el Pese a que las redes neuronales no
procesamiento de información sensorial. tienen inconvenientes con los datos
sensoriales, los SBC, se limitan a la
información simbólica.

7.6 Arquitectura de los sistemas basados en conocimiento.

7.6.1 Arquitectura de los SBC según Gómez 1997.


Es un esquema menos complejo, donde se presenta por una parte la base del
conocimiento y por otro los motores de inferencia, en este modelo, las interfaces se
agrupan en un solo módulo de entrada y salida, donde se comunica tanto con el usuario
como con el experto, pudiendo agregar la comunicación con los sensores, por medio de
las interfaces se solicita nueva información a la base del conocimiento, para luego
comunicarse con el motor de inferencia y explicar por qué ha tomado esa decisión. A
pesar de que esta arquitectura se considera simple tiene lo básico para considerarse un
SBC.

Arquitectura de Gómez.
7.6.2 Arquitectura de los SBC según Alonso Betanzos 2004.
Presenta una estructura que tiene dos módulos, en el primero se encuentran las bases
del conocimiento y las inferencias, y en el otro módulo se encuentran todas las
interfaces: la interfaz de usuario para establecer la comunicación con el usuario, las
interfaces especiales, como sensores teclados o dispositivos de entrada de la
información, los subsistemas, es donde especifica por qué o que camino ha tomado
para tomar una decisión en específico y el subsistema para la adquisición del
conocimiento, que va a servir para el caso en que se trabaje con un universo amplio
para realizar la adición de un nuevo conocimiento al sistema.
 En la base contiene toda la información que se le ha sustraído al especialista.
 En los Motores de Inferencia se realizan los procesos, tomando el conocimiento
almacenado para poder obtener conocimiento nuevo.

Arquitectura de Alonso Bertanzos.


7.6.3 Arquitectura basada en los SBC según Martínez & Britos 2004.
Este es un sistema un poco más complejo, sin embargo, contiene elementos similares a
los presentados anteriormente, como la base del conocimiento que se encuentra
subdividida y trabaja de manera conjunta con la base de datos y una memoria de
trabajo, para poder contener al conocimiento, el motor de inferencia y los demás
elementos correspondería al apartado de las interfaces.

La Base del Conocimiento.


 Se encarga de contener el conocimiento factual y heurístico.
̵ Conocimiento factual: es aquel conocimiento que es de dominio público.
̵ Conocimiento heurístico: es el que se basa en la experiencia.
 Su función primordial es hacer el suministro de la información acerca del
problema que se va a resolver al motor de inferencia.
 Su diseño es importante para el desarrollo de los sistemas basados en el
conocimiento, donde si un error en el diseño de la base del conocimiento tiene
como consecuencia un mal funcionamiento del SBC.
 La mejor manera de hacer el diseño de la base de conocimientos es por medio
de la unión de los hechos y el grupo de reglas.
 Los conocimientos que integran una base de conocimiento deben ser de
naturaleza declarativa, con un tipo de definición técnica, para facilitar su
reutilización en los demás sistemas, almacenando estos conocimientos de la
siguiente forma:
̵ Definiciones detalladas con términos específicos.
̵ Descripciones individuales del objeto del dominio y sus semejanzas con
otros.
̵ Juicio para la toma de decisiones.
 En las bases de conocimiento tienen que tener conocimientos procedimentales
tales como las descripciones del comportamiento.
La Base de Datos.
 Es una especie de subconjunto de la base del conocimiento.
 Integrada por variedades de datos sobre el problema que el sistema intenta
resolver.
 Su función es suministrar información al motor de inferencia.

Memoria del Trabajo.


 Esta memoria es volátil, temporal, donde el motor de inferencia va dejando toda
la información que logre deducir partiendo de sí misma y de lo que tenga de la
base del conocimiento o de la base de datos.

Motor de Inferencia.
 Se encarga de organizar y controlar los pasos a seguir para resolver el problema.
 Administra la base de conocimiento para lograr la creación de una línea de
razonamiento.
 Suministra al trazador de las explicaciones, las reglas que motivaron una
consulta al usuario.
 Hace la activación de las reglas por medio de la información contenida en la
base de datos y en la memoria del trabajo, el nuevo conocimiento va a ser
almacenado en la memoria del trabajo.
 Su funcionamiento los puede realizar bajo dos principios:
̵ Universo ampliado. En caso de que si el sistema está pensado para que
en caso de no poder dar una respuesta pueda seguir solicitando una
información al usuario con la finalidad de tratar de encontrar una
respuesta
̵ Universo reducido. si no tienen la suficiente información para poder
emitir una respuesta solamente emitirá que no es capaz de resolverlo,
en este tipo no es necesario un trazador de consultas y tampoco un
trazador de explicaciones y la base de datos no puede estar vacía, quiere
decir que, va a necesitar información para poder comenzar a realizar sus
trabajos.
 Las inferencias son realizadas por medio de dos estrategias:
̵ Estrategia que se orienta por el objetivo encadenamiento hacia atrás.
̵ Estrategia que se orienta por los datos o encadenamiento hacia
adelante.

Trazador de Consultas.
 Es el encargado de presentar en una forma semántica y sintácticamente
correcta o aceptable los requerimientos de la información al sistema al usuario,
está conectado con la memoria de trabajo porque las repuestas suministradas
por el usuario va a almacenarse o a guardarse en la memoria del trabajo.

Trazador de Explicaciones.
 Es el que se encarga de hacer las explicaciones al usuario sobre el camino que se
toma o cuales fueron las reglas que generó el motor de inferencia para llegar a
una conclusión específica, en pocas palabras, es el que hace la justificación
sobre el por qué ha emitido una respuesta en específico, usando la información
contenida en el motor de inferencias.

Manejador de comunicaciones.
 Se encarga de derivar la información inicial suministrada por el usuario a la base
de datos por la memoria de trabajo e interpretar los mensajes del usuario, tanto
las respuestas a las preguntas que realiza el sistema o una solicitud de alguna
explicación partiendo de una consulta al sistema
Arquitectura Martínez y Britos.

7.7 Funciones de los sistemas basados en el conocimiento.


Las versatilidades que pudiera tener un sistema basado en el conocimiento se
determinan por la forma en que pudiera estar estructurado. La independencia de los
componentes y diferentes conocimientos que se pueden incorporar, posibilitan la
realización de una variedad de funciones. Las más básicas son presentadas a
continuación:
 Interpretación: analiza la información que puede llegar a determinar su
significado. Para desempeñar una interpretación efectiva es requerido un
análisis de los datos capaces de poder tomar en consideración todas las
interpretaciones posibles eliminando las que se tienen evidencia contraria.
Cuando la información contiene errores, esta distorsionada o simplemente se
encuentra inconclusa va a dificultar la interpretación. Cuando estos casos se
presentan la interpretación debe realizarse de la siguiente forma: 1) desde los
fragmentos de la información, casos de ausencia de datos; 2) Creación de las
hipótesis objetivas acerca de la validez de la información en caso de que estos
presenten contradicciones; 3) los resultados de la interpretación van a tener
poca credibilidad cuando sea basa en datos no fundamentados, incompletos o
dudosos. Para tener un reforzamiento de la interpretación se tiene que
evidenciar la información dudosa e incompleta.

 Diagnóstico: es el mecanismo de búsqueda de los errores de la funcionalidad del


sistema por medio del análisis de sus características. Cuando se quiere iniciar el
proceso de diagnósticos se tiene que conocer la estructura del sistema, las
relaciones, las iteraciones entre los componentes y el objeto de estudio. Es
necesario tener las siguientes consideraciones: 1) algunos errores pueden
presentar síntomas erróneos que el sistema tiene que ser capaz de poder
identificar; 2) los errores se pueden manifestar de manera aleatoria, en
oportunidades se necesita forzar el sistema para que se puedan manifestar los
fallos; 3) el obtener información acerca del sistema en oportunidades pudiera
ser difícil, costosa y peligrosa, durante la creación del diagnóstico se va a decidir
la información que se necesita.

 Previsión: describe un echo anticipado partiendo del modelo que se ha


construido. Esta requiere tomar en cuenta el tiempo durante el proceso que se
efectúa el razonamiento, recolectando la manera en que los datos varían en el
tiempo. La previsión se va a producir sobre los problemas que dirigen hacia la
información inconclusa, una vez que se tiene la disponibilidad de toda la
información, no se llevan a cabo el uso de estos mecanismos de IA.

 Planificación: se trata de la organización de las acciones dirigidas hacia el logro


de una meta, esta requiere de la elaboración de un plan en el que se tiene que
definir las prioridades cuando hay conflicto entre los objetivos, se tiene que
producir poco consumo de recursos, y respetar las limitaciones que se imponen
en el entorno, además, tiene que ser muy flexible como para hacer la
incorporación del conocimiento o cambios. Cuando los problemas son muy
complejos es requerida una buena planificación, en donde se tiene que tener
ejecuciones alternativas.
 Diseño: se tiene que definir las especificaciones que son necesarias para realizar
la construcción de objetos si pasar por alto las restricciones. En esta fase es
necesario de igual forma tener diseños alternativos debido a que en la mayoría
de los casos las consecuencias que generan malos diseños no podrán ser
evidentes. Cuando el problema es complejo la división da la fase del diseño en
partes obliga a tomar en cuenta las interacciones que son producidas.

7.8 Aplicaciones de los sistemas basados en el conocimiento.


Sistemas de interpretación.
Son los que hacen el análisis de la información que es observable para poder llegar a
determinar su significado y poder realizar la inferencia en la descripción de las
situaciones del sistema medido. Como ejemplo de estos sistemas es la interpretación
sobre los datos que se obtienen por medio de un espectrómetro de masas. Al realizar la
interpretación se va a obtener las estructuras químicas. En este tipo de sistemas está
integrado por los sistemas de entendimiento de voces, analizadores de imágenes,
sistemas de vigilancias e interpretación de señales.

Sistemas para la predicción.


Realizan la previsión del curso del futuro por medio de un modelo que se basa en el
presente y el pasado. Ejemplo: los pronósticos del clima que se realizan con los estados
del tiempo. Sistemas para la realización de diagnósticos. Son orientados para identificar
fallas o estados en un sistema que se basa en los datos que son observables, como
poder diagnosticar las enfermedades infecciosas.

Sistemas de diseño.
Hacen el desarrollo de configuraciones de los objetos para satisfacer descripciones o
requerimientos particulares, estos hacen el intento de minimizar la función objetivo que
se encarga de medir las diversas propiedades. Ejemplo: incluyen los diseños referentes
a presupuestos, edificios, circuitos, etc.
Sistemas de planificación.
Se encargan de la creación de los planes que han sido concebidos como un programa
para las acciones que se pueden ejecutar con la finalidad de poder alcanzar las metas
establecidas sin el desperdicio de los recursos. Cuando existen sucesos durante el
alcance de las metas la persona encargada de la planificación debe hacer un
establecimiento de las prioridades y cuando los requerimientos de la aplicación o la
información tomada en cuenta para la decisión no son del todo conocidas o varían con
el tiempo este actúa de forma tentativa.

Sistemas para la monitorización.


Manejan las interpretaciones de las señales de forma continua, emitiendo medidas de
respuesta, como, por ejemplo: alarmas cuando en necesaria algún tipo de acción. En los
sistemas de este tipo es de vital importancia el reconocimiento de las señales de alarma
ya que se debe realizar en tiempo real con la finalidad de evitar falsas alertas y no
disminuir el factor de credibilidad. Estos sistemas se usan en centrales nucleares, y
tráfico aéreo.

Sistemas de reparación.
Su función principal es el desarrollo y ejecución de planes para poder administrar las
soluciones a los problemas que se han identificado. Estos sistemas integran capacidades
de planificación, depuración y ejecución. Se usan en mantenimiento de equipos de
cómputos y redes aeronáuticas.

Sistemas de control.
Realiza controles sobre el comportamiento total de un sistema, donde tiene que
interpretar cíclicamente la situación con la finalidad de poder hacer los respectivos
diagnósticos de las causas del problema, y luego generar un plan para la reparación y el
monitoreo de desempeño para asegurarse del buen funcionamiento. Es implementado
en el control del tráfico aéreo, gestión de negocios.
7.9 Características de los sistemas basados en el conocimiento.
 Realizan representaciones explicitas del conocimiento.
 Tienen una gran capacidad de razonamiento que es independiente de la
aplicación determinada,
 Explican las conclusiones a las que han llegado y el procedimiento del
razonamiento.
 Tienen alto desempeño en un dominio determinado.
 Implementan heurística.
 Hacen uso de las inferencias simbólicas.
 Manifiestan un comportamiento inteligente durante el desarrollo de sus
procedimientos.
 Son capaces de emitir conclusiones sobre relaciones complejas.
 Son capaces de proporcionar conocimientos que han acumulado.
 Son capaces de hacerle frente a la incertidumbre.

7.10 Importancia del conocimiento.


Los SBC van a basar su rendimiento en la excelencia y la cantidad de conocimiento del
que tienen dominio y no en los mecanismos para la solución de problemas. Las
diferencias que van a tener esos sistemas respecto a otras técnicas como, por ejemplo:
 En el área de las matemáticas, computación y teoría de control, se hace el
intento por resolver los problemas por medio del modelado del mismo.
 En cuanto a los sistemas expertos, es abordado el problema por medio de la
construcción de un modelo experto.

7.11 Evolución de los sistemas basados en el conocimiento.


Estos sistemas surgen junto con la IA, e incluso algunos años, mucho antes que la
comunidad científica de las ciencias computacionales concientizase la importancia que
tiene el desarrollo de software. Los SBC, en cierto modo, nacen como una medida de la
lógica de la Ingeniería de Software que se aplica a la IA, y luego de que fuera
considerada como un elemento adicional de las ciencias computacionales. De esta
forma es importante tomar en cuenta la evolución histórica que ha tenido la IA ya que
en ella destacan una serie de etapas que van a sustentar el desarrollo de los SBC.

En la etapa inicial se desarrollan los primeros trabajos acerca de cibernética, se llevan a


cabo estudios sobre la lógica cognitiva, que se van a representar por medio de los
procesos cognitivos descritos a continuación: Los datos del mundo exterior se captan
por medio de los sentidos, actuando como los receptores, percatándose de las
variaciones de los fenómenos naturales. Desde los inicios estos datos son almacenados
en la memoria sensorial a corto plazo. De cierta forma las personas ignoran o atienden
esta información almacenada, dependiendo de las necesidades que tenga, guardándola
en una memoria a corto plazo, en esta la información se mantiene por más tiempo con
respecto a la memoria sensorial, siempre que no sea desplazada por otro tipo de
información. Respecto a la memoria de trabajo, algunos especialistas la consideran
como una extensión de la memoria a corto plazo que también cuenta con una limitada
capacidad de almacenamiento. Dentro de la memoria a largo plazo se almacena gran
cantidad de información, poca o ninguna se va a perder con el pasar del tiempo, a
continuación, estos procesos se muestran en el siguiente esquema:

Procesos Cognoscitivos.

En la fase inicial, los especialistas en IA se centran en el uso de tareas en ambientes


idealizados, como por ejemplos: problemas de juegos, tratar de demostrar teoremas,
etc. Pero a intermedio de los años sesenta inicia el surgimiento de los cambios en los
enfoques de los trabajos. Por una parte, comienza hacerse necesaria cierta inclinación
mucho más aplicada, por medio de la selección de problemas en el entorno real. De
otro modo los problemas sobre la representación del conocimiento, que se había
abordado como una actividad complementaria, comienzan a generar gran importancia.

A pesar de que las primeras publicaciones no aparecieron hasta el año 1968. A partir del
año 1965 inicia el primer punto de inclinación, y se dan inicio los trabajos en el sistema
DENDRAL, como el primer paso hacia el proyecto de la programación heurística, esta
después va a originar el laboratorio de los sistemas del conocimiento en la Universidad
de Stanford. En el año 1978 inicia el segundo punto de inclinación, cuando es publicado
el primer trabajo ya finalizado acerca del DENDRAL, los fundamentos empezaron hacer
repercusiones en la comunidad científica. Desde este punto comienza el
progresivamente avance rápido de los SBC, estos han fomentado una gran cantidad de
métodos progresistas que se han ido mejorando e implementado con el pasar del
tiempo. De este período se definen los primeros sistemas del estratégico o
independiente del predicado, razonamiento no monótono, la representación por medio
de frames, lógica de los predicados, etc. En el ámbito metodológico de la Ingeniería del
conocimiento, muy poco o nada fue desarrollado antes de los inicios de los años
ochenta. Hayes Roth 1983 es el que realiza la primera publicación recogiendo la
dimensión de la metodología para el desarrollo de los SBC. Luego siguieron las
publicaciones de Weiss y Kulikowski 1984, Waterman 1986, Pazos y Maté, 1988, entre
otros. Todos hacen frente al desarrollo de los SBC por medio de los modelos iterativos,
partiendo de un prototipo simple que de forma incremental irá creciendo y mejorando.

Algunos autores afrontan la adquisición del conocimiento como una fracción de un


proceso con su debida estructura. Se tomaron algunas técnicas de adquisición del
conocimiento del área de la psicología y se adaptan a las características de estos,
mejorando el intercambio de conocimiento del especialista humano hasta la
computadora.
Proceso de la Ingeniería del Conocimiento.

Desde un enfoque mucho más específico estos sistemas surgen por medio de la
evolución de los paradigmas de programación durante el desarrollo de la historia de la
informática, donde en los inicios de la computación, cuando a los programas se les
presentaba una petición por parte del usuario, producían una salida por medio del
acceso de los datos que tenían almacenados en sus ficheros con formatos específicos
para cada una de las aplicaciones. En estos tipos de sistemas la base de conocimiento
pasa a ser el aspecto más importante, y el código el que realiza su exploración,
dependiendo del paradigma se generaliza el motor de inferencia. La base del
conocimiento va a ser producida por un usuario especialista en el dominio, los
ingenieros expertos en el conocimiento, diferentes a los desarrolladores de interfaz.

Este tipo de aplicaciones se basan en los avances de la IA y en la Ingeniería del


conocimiento, su objetivo será la automatización en el proceso de análisis de los
problemas, encontrar soluciones, la toma de las decisiones y el uso del conocimiento en
un área específica para su aplicación. Uno de los productos más elaborados de los SBC
se encuentra en los sistemas expertos, encargados de hacer la representación del
conocimiento de los expertos en una rama para lograr sacar el mejor provecho para
realizar los diagnósticos, tener un aprendizaje y desarrollar un mejor control.
7.12 Situación actual de los SBC.
Últimamente se ha desarrollado una bajada en los costos relacionados con los
productos de hardware y a su vez han aumentado la potencia de cómputo. Esto tiende
a facilitar la expansión de muchos instrumentos que se usan para la creación de SBC de
manera que van a incorporar mecanismos de punta para resolver problemas,
representación del conocimiento y métodos de inferencia. La labor del desarrollo se
puede ordenar en trabajos de selección, adquisición del conocimiento, análisis y
construcción de las bases del conocimiento, liberando la carga de trabajo relacionada
con los mecanismos de inferencia y las técnicas para la representación que ya
proporcionan las herramientas. Con un alto porcentaje una herramienta se conforma
por un esquema de representación y método de inferencia, que mayormente son
algoritmos de encadenamiento hacia adelante o hacia atrás, o sistemas de producción,
existen instrumentos que integran los métodos y técnicas modernizados como redes
bayesianas o redes neuronales artificiales, junto con ambientes de mayor potencia,
facultades de integración con demás sistemas, intercambio de datos con otro software.
Las metodologías en la actualidad no contienen criterios para el proceso de selección
con respecto a las técnicas específicas que se consideran adecuadas para realizar una
tarea definida que sea hacer el modelo (plantillas, sistemas de producción, redes
semánticas, lógica de los predicados, redes neuronales, etc.), tampoco tienen
flexibilidad para la adaptación de la metodología a las principales características de la
representación del conocimiento que se va a implementar. Por otra parte, no incluyen
tareas para el desarrollo de un motor de inferencia, haciéndolas deficientes y no
adecuadas cuando no es encontrada la herramienta que pueda cumplir con las
exigencias que demanda la representación del conocimiento y el mecanismo de
inferencia a implementar. Dichas deficiencias han sido superadas por otras
metodologías que implementan métodos orientados a objetos.

Aquellas tecnologías que se basan en el conocimiento son de gran utilidad en


situaciones que se encuentre disponible el conocimiento que está relacionado con un
dominio específico, a pesar de ser complejo y en alguno de los casos tengan la
imposibilidad de codificarse por medio de los algoritmos.
Los SBC están centrados en hacer la representación del conocimiento principal y de
utilidad que ayude en la resolución de problemas. La obligación sobre que conocimiento
es el que se va a implementar para ser usado en la solución de un problema, será
realizada por la computadora, donde esta se encuentra equipada con un programa
específico para ello.

7.13 Análisis del desarrollo de los SBC.


Para alcanzar el éxito durante el desarrollo de un proyecto basado en SBC en
condiciones y períodos de tiempo aceptables y además contando con un buen
presupuesto, se necesita hacerle frente a una variedad de temas como: determinación
de una excelente transferencia en el aspecto tecnológico, aceptación de los
mecanismos adecuados para el desarrollo del sistema, elegir las herramientas más
idóneas, administración de los mantenimientos, integración en el entorno laboral. El
traspaso tecnológico se tiene que realizar en acuerdo con las posibilidades para asimilar
que tienen los usuarios finales (cliente, tutor, alumno). Se necesita poder hacer un
estudio acerca del impacto que tendrá en las labores diarias el uso del SBC. Además, se
tiene que hacer la definición de las expectativas que se quieren alcanzar lo más apegada
a la realidad posible, hacer el análisis de aceptación del usuario y las posibilidades de
éxito.

Cuando se está en la fase de análisis del proceso de desarrollo del SBC, se tiene que
describir la manera sobre la representación del conocimiento que se va a usar, el
mecanismo de inferencia y que clase de búsqueda. Estos son determinados por medio
de los siguientes análisis:
 Epistemológico: se define el tipo de conocimiento que implementan los
especialistas en la resolución de los problemas: sentido común, gráficos, teorías,
leyes, reglas de decisión.
 Cognoscitivo: en este se define la forma en que se aplica el conocimiento para
hacer la tarea.
 Conductista: hay que percibir la respuesta del especialista frente a los
problemas, si llega a la solución por medio de los datos y aplicación de reglas o
intenta observar las condiciones dadas para establecer si el problema tiene o no
solución.

Otro de los factores que pudiera ser limitante del éxito del sistema, sería que tan
disponibles estén las fuentes de información que son necesarias para realizar la
extracción del conocimiento. Igualmente se necesita constatar su capacitación cuando
se hacen las tareas, la disponibilidad en el proceso de desarrollo y la constante
cooperación con el equipo de trabajo.

Por último, es importante realizar buenos enfoques sobre como representar y


administrar el conocimiento. Estudiando los mecanismos y procesos de la IA que sean
adecuados y relacionados con las características del proyecto. Este procedimiento se
puede quedar definido en una metodología formalizada para realizar la selección del
instrumento de desarrollo de SBC que se adapte mejor al sistema a desarrollar.

7.14 Conceptualizaciones para el conocimiento.


Ingeniería del Conocimiento.
La ingeniería del software del conocimiento emerge como una variedad de la ingeniería
del software convencional debido a que se enfoca en el desarrollo y diseño de los SBC.
Se pudiera considerar la ingeniería del conocimiento como la disciplina de la actualidad
que integra la IA y su objetivo se basa en el desarrollo de los Sistemas expertos.

La ingeniería del conocimiento se va a diferenciar con la Ingeniería del software por


medio de lo siguiente:
 El conocimiento humano es incompleto, no tiene consistencia, puede llegar a
tonarse impreciso, incierto y en algunos casos tolerantes.
 Las respuestas y razonamientos del sistema son inseguros.
 El conocimiento está en constante evolución, facilitando el aprendizaje.
 No es aplicable al ciclo de vida en forma de cascada.
 El experto es el que figura en los proyectos de desarrollo como el que posee el
conocimiento suficiente para llegar a la solución de los problemas en un campo
específico o dominio del conocimiento.

En el desarrollo de los SBC también se les ha conocido con el nombre de sistemas


expertos con unas pocas diferencias. Al referirse a los SBC, generalmente se hace
referencia que la importancia del sistema radica en el conocimiento que posee y
administra, de manera que, al referirse a un sistema experto, se hace referencia a un
tipo de sistema que va a imitar las actividades de un especialista para llegar a la
resolución de una tarea.

7.15 Orientación estructural de los SBC (cognoscitiva).


Se encuentran orientados hacia la resolución determinados problemas, basándose en el
saber o en un conocimiento determinado acerca del tipo de problema más que en las
capacidades intelectuales. Otro tipo de orientación se basa en la división del
conocimiento que se codifica en la máquina o base de conocimientos y los mecanismos
deductivos o motores de inferencias.
De esta manera un sistema experto se considera como un tipo de sistema que se basa
en el conocimiento que va a imitar al especialista humano. Existen SBC que no se
consideran sistemas expertos, como, por ejemplo: enciclopedias electrónicas. Un SBC es
una especie de sistema inteligente debido a que puede almacenar, administrar y estar
relacionado con el conocimiento o cualidades humanas.

Diferencia entre sistemas tradicionales y los SBC.


 En los sistemas tradicionales el usuario es el que representa el conocimiento y
también tiene que definir de qué modo interactúa con el conocimiento previo y
debe hacer restablecimiento de la secuencia de instrucciones para la realización
del procesamiento.
 En los SBC el especialista (usuario) es el que define el conocimiento y luego el
sistema se encarga de integrarlos dentro de la aplicación

Intersección de los Sistemas.

El conocimiento.
Es considerado como una disciplina basada en la filosofía que se encarga de investigar la
descripción, fundamento, posibilidad y limites que tiene el conocimiento. Este tipo de
teoría hace referencia a la forma diferente que se puede entender el estado de los
elementos que lo constituye. En el ámbito de la sociología se puede definir el
conocimiento como el entendimiento, la razón, capacidad de distinguir lo bueno de lo
malo, y actuar de acuerdo a ello. Se puede definir como la aprehensión de tipo
intelectual que se tiene sobre un objeto. La capacidad que tiene el hombre para
interactuar con su entorno.

Corrientes del conocimiento.


A continuación, se definen las corrientes del conocimiento que se han determinado
durante la historia.
 Empirismo: se encarga de fundamentar el origen del conocimiento radicado de
la experiencia.
 Racionalismo: se encarga de la afirmación, que la razón es el fundamento del
conocimiento.
 Idealismo: es caracterizado por la afirmación de que un sujeto es el que impone
su propia realidad.

Es de suma importancia establecer que a pesar de que los SBC tiene habilidades y
conocimientos de especialistas humanos, no pueden llegar a dar solución a problemas
que no han sido resueltos por los humanos. De manera que permite realizar
observaciones sobre las asesorías y soluciones que va a inferir el sistema van a
depender del conocimiento que tenga y no de la programación y la inteligencia.

La gran ventaja de estos sistemas, es que al plantear soluciones la transferencia del


conocimiento no es compleja, debido a que es extraída de una base de conocimiento y
además de un método de inferencia que ha sido estructurado. De la misma manera las
respuestas generadas se consideran consientes y parecidas en semejantes condiciones.
Las variedades de áreas de aplicación que pudieran tener los SBC son muy amplias, de
manera que se podrían desarrollar SBC diferentes para cada una de ellas.

7.16 Sistemas expertos (SE).


Son una especie de SBC que hacen lo posible por comportarse en casi todos los
aspectos referentes al conocimiento, como lo haría un ser humano, estos se diseñan
con la intención de alcanzar la solución de problemáticas muy complejas sin la
implementación de mecanismos y procedimientos comunes, como la programación
convencional, estos implementan el razonamiento de la misma forma que lo haría una
persona. El núcleo de estos sistemas es la base del conocimiento, teniendo mucho
cuidado durante su diseño y construcción para que pueda reflejar el dominio del
problema que se analiza, tomando en cuenta la identificación de las relaciones entre los
conceptos claves.
7.16.1 Aplicaciones de los sistemas expertos.
Medicina.
Los expertos constantemente se enfrentan a actividades relacionadas con la resolución
de problemas, razonamiento y aprendizaje automático, es por ello que es frecuente el
estudio en una materia en específico como la medicina. Estos a su vez se clasifican en
los métodos para generar respuestas prefijadas, compuestos por algoritmos
desarrollados bajo un lenguaje de programación procedimental. Y los métodos
bayesianos, discriminantes y secuenciales.

Contabilidad.
Los procesos financieros, administrativos y contables, también son materia de empleo
para los sistemas expertos, debido a que pueden realizar muchas funciones útiles para
esta área, cabe destacar que estas actividades cumplen con los requisitos necesarios el
desarrollo de un experto (estas actividades necesitan de un conocimiento especializado,
donde ya existen expertos para tratar con estos temas donde la mayoría de los casos se
pasa la solución de problemas es necesario el uso de la heurística). Sin embargo, no en
todas las actividades en materia contable es necesario el uso de estos sistemas. En las
actividades de auditoría se encuentran bien estructuradas, son muy mecanizadas y se
pueden expresar a manera de algoritmo (cálculo de ratios, balances), es posible
abordarlas con el uso de la informática convencional (Bases de datos, tratamientos de
textos, programas informáticos normales), en el tipo de actividades que se encuentren
semiestructuradas se pueden implementar sistemas de apoyo a la decisión (sistemas de
representación y análisis de los datos, hojas de cálculo, sistemas para la consulta de
archivos). Los sistemas expertos se reservan para tareas que se encuentran poco o
prácticamente no estructuradas debido a que en este tipo de tareas es necesario el
juicio de un experto y se implementan reglas de las heurísticas para determinar una
rápida solución debido a que pudieran existir una amplia gama de soluciones.

Clasificación de las aplicaciones de los sistemas expertos en la contabilidad:


 Auditoría: realizar análisis de riesgo y materialidad, gestión del control interno,
planes de auditoría, evaluar las evidencias, analizar las cuentas concretas,
creación de matriz de opiniones, generar informes, etc.
 Costes y gestión: Asignar costes y sus cálculos, administración de los recursos
escasos, diseñar sistemas de información para realizar gestiones, etc.
 Contabilidad financiera: regulaciones legales, normas contables, análisis de los
registros contables, creación de los sistemas contables, etc.
 Análisis de los estados financieros: análisis del patrimonio financiero y
económico, estados financieros de la empresa, análisis y cálculo de ratios, etc.

Planificación y servicios financieros.


Se encuentra comprendido entre la planificación financiera de las corporaciones,
Administración de la tesorería, realizar análisis de las inversiones, planificación
financiera del personal. Los SE que se enfocan en la planificación financiera se pueden
aplicar en:
 Estudio de mercados.
 Estudio del riesgo y establecimiento de tasas de seguros.
 Implantaciones de impuestos.
 Asesoramiento jurídico.
 Guiar durante las operaciones bancarias.
 Otorgamiento de préstamos y créditos.
 Gestión del personal.
 Proyectos de uso de capitales.
 Proyectos de pensiones.
 Previsión de los cambios en el mercado.
 Revisión de los estados financieros.
 Inspección de firmas.

Auditoría.
Los cambios que se han producido en las empresas por el desarrollo tecnológico han
afectado el desarrollo del trabajo de auditoría por medio de los siguientes rasgos:
incremento de las normas y procesos de auditoría; las normas y los procesos de
auditoria son cada vez más complejos, los cambios en la normativa de la ética
profesional requieren un control mayor y una mejor calidad en el desempeño de las
actividades de auditoría, aumento de la competencia entre las empresas que realizan
las auditorías, trayendo como resultado descenso de los honorarios y nuevos servicios
(asesoría fiscal, asesoría informática, etc.), nuevos enfoques en el desarrollo de
auditorías, (auditoría informática, medio ambiental, operativa). Este conjunto de
circunstancias se ha encargado que la auditoría es cada vez más competitiva, viéndose
forzadas a implementar nuevas herramientas y técnicas que van a facilitar la tecnología
de la información y la IA, con la finalidad de poder encontrar información oportuna que
agilicen el proceso de la toma de decisiones y mejorar la eficacia en la calidad de la
auditoría.

La auditoría que se encarga de las cuentas se lleva a cabo por un tipo de persona
independiente y cualificada y con un alto grado de consistencia en el análisis por medio
del uso de los métodos de revisión y verificación. La información que se deduce de los
documentos examinados, que tiene como objetivo emitir un nuevo informe orientado a
manifestar la opinión responsable acerca de la fiabilidad de la información citada, con la
finalidad que se pueda llegar a conocer y hacer una valoración de la información por
terceros.

Los subcampos de la auditoría en los que se pueden aplicar los SE son bastante amplios,
y abarca casi todas las actividades que donde es requerido el juicio del auditor
especialista. Debido a esto es necesario establecer una clasificación. El primer nivel de
clasificación sobre las aplicaciones de los SE en auditorías se pudiera tener en cuenta
tres categorías:
 SE en auditoría externa.
 SE en auditoría interna.
 SE en auditoria informática.

Debido a lo amplio que es el campo de la auditoría externa es necesario realizar una


subdivisión de este: una manera práctica de hacer el establecimiento de la clasificación
de los SE en auditoría externa es usando las etapas del proceso de auditoría de la
siguiente forma:
 Orientación. El auditor es quien recibe el conocimiento acerca de las
operaciones realizadas por el cliente y sus adyacencias y realiza una evaluación
preliminar de los riesgos y materialidades.
 Estimación preliminar sobre los controles internos.
 Realizar una buena planificación de la auditoría.
 Selección de un plan de ejecución para la auditoría.
 Realizar las pruebas sobre el cumplimiento de los controles.
 Hacer evaluaciones de los controles internos que se basan en los resultados del
cumplimiento de las pruebas.
 Hacer revisiones de los planes de auditoría preliminares.
 Elegir un plan ya revisado para el desempeño de la auditoría.
 Efectuar pruebas.
 Evaluar los resultados.
 Evaluar la evidencia, con la posibilidad de generar pruebas más minuciosas.
 Elegir una opinión que pueda calificar los estados financieros.
 Informe final.

Militar.
Dentro de las aplicaciones en el área militarizada se tiene lo siguiente:
 Selección de las contramedidas electrónicas con la finalidad de obtener la más
alta efectividad en presencia de recursos limitados.
 Guía automatizada de proyectiles y vehículos.
 Establecimiento de una planificación estratégica.
 Reconocimiento de los blancos.
 Análisis de los planes del enemigo.
 Análisis de las señales recogidas por los sensores.
 Optimización de carga.

Industrial.
 Diagnóstico de los controles de calidad.
 Detectar y actuación en caso de producirse una emergencia o alarma.
 Correcta configuración de los equipos.
 Generar manuales y especificaciones,
 Gestión de los procesos industriales.
 Administración óptima de los recursos.

Área de tecnología (Electrónica, telecomunicaciones, informática).


 Diseño de circuitos integrados.
 Sistemas con la capacidad de autodiagnóstico.
 Hacer configuraciones de dispositivos y sistemas,
 Administrar redes de comunicación.
 Programación automatizada.
 Mejorar los programas de computadoras.

Robótica.
Pueden usarse en los procesos de manufacturación de las industrias, debido a lo
repetitiva que son las tareas, en ambientes que puedan ser potencialmente peligrosos
para las personas, es más fácil el empleo de la robótica para realizar estas tareas, ya
existen robots controlados por un sistema central automatizado programado para la
realización de tareas siguiendo una serie de pasos que han sido definidos. El objetivo de
algunos especialistas en IA es de adicionar técnicas y métodos que permitan realizar
actividades como si tuvieran cierto grado de inteligencia.

Aeronáutica.
La aeronáutica ha tenido un impacto significativo en los SE, debido a que la capacidad
que tienen de ayudar a los pilotos a mejoras sus habilidades por medio de las prácticas
en los simuladores de vuelo y control. Siendo estas prácticas de vital importancia
debido a que estos sistemas permiten hacer mejorar las habilidades de los pilotos bajo
un ambiente controlado, donde un error no ocasionaría una catástrofe.
7.17 Características de los SBC.
 Son capaces de poder llegar a explicar el razonamiento o las sugerencias de las
decisiones.
 Pueden llegar a demostrar un tipo de comportamiento inteligente.
 Son capaces de poder obtener conclusiones sobre relaciones complejas.
 Pueden suministrar el conocimiento que tienen acumulado.
 Hacen frente a la incertidumbre.

Con respecto a los usos de los sistemas expertos, puede que sean complejos y algo
costosos, además de requerir tiempo, es por ello que se debe asegurar que los
beneficios otorgados van a ser suficientes y valer la pena el esfuerzo.

7.18 Proceso de adquisición del conocimiento.


Los mecanismos de deducción van a estar comprendidas entre tres aspectos
principales:
 El incentivo que va a tener el especialista sobre el dominio del conocimiento.
 El tipo de conocimiento que va a tener el experto del conocimiento.
 Mecanismos adecuados.

7.18.1 Adquisición del conocimiento de forma manual.


Para dar inicio a la adquisición del conocimiento se procede con el análisis de los
protocolos, donde se le hace una propuesta al especialista, de la ejecución de una labor
real, con la debida planeación previa y preparación del entorno, luego este debe hacer
una explicación detallada de cómo se va a desencadenar la tarea, fundamentar las
decisiones y detallar la diversidad de alternativas y sus valores. Luego por medio de la
observación de campo se hace el análisis del desempeño que tiene el especialista en el
campo, tomando en cuenta con los elementos que interactúa y de qué manera lo hace,
sin pasar por alto hacia dónde va orientada su atención. Seguidamente da inicio a la
tormenta de ideas donde va a reunir a diversidad de expertos para obtener su opinión
sobre los diferentes aspectos sobre el problema, este paso es importante porque se
pudieran generar nuevas ideas. Luego se da inicio a la creación de prototipos, a pesar
de que son parciales incentivan la estimulación a la crítica de los especialistas para
apoyar en la orientación del desarrollo.

7.18.2 Adquisición del Conocimiento.


Durante la aplicación de los sistemas expertos para la resolución de problemas, el
conocimiento que contiene el sistema es de suma importancia. Las reglas y los hechos
son muy necesarios durante la formulación de una solución, las proporciones y los
hechos sobre un dominio recogen datos concretos del entorno real, o aspectos
abstractos que se entienden como combinaciones de los hechos concretos no
observables, por otra parte, las reglas hacen la descripción de la estructura del
conocimiento o cocimiento estático, que permiten hacer representaciones cuando el
conocimiento es constantemente cambiante, conocimiento dinámico. Las metareglas
contienen el conocimiento acerca de la implementación de reglas.

Cuando las reglas, metareglas y los hechos tienen conocimiento que deriva de la
experiencia son denominados heurísticos. El conocimiento que un especialista tiene
acerca de un dominio es debido en gran parte a la experiencia que ha adquirido durante
la solución de diversos problemas pertenecientes a dominios específicos. Los
mecanismos para el razonamiento que el especialista sigue, se guían mayormente por
su experiencia adquirida en la resolución de problemas similares.

Estos procesos van a ser denominados inferencias, el conocimiento junto a la


inferencia, van a ser los instrumentos del especialista para resolver problemas y se
basan en el conocimiento sobre el ambiente de la tarea a desarrollar: las reglas de
inferencia y los hechos, la habilidad para desempeñar una tarea se puede representar
por medio de las reglas.

El proceso de adquisición del conocimiento es el mecanismo de obtención de


información y conocimiento de uno o más especialistas, hacer el ordenamiento de ese
conocimiento por medio del seguimiento de un criterio y luego se transfiere a un
programa o sistema de una manera que pueda llegar a ser procesado por un
computador. La adquisición del conocimiento y el poder hacer la estructuración del
mismo en una manera mucho más idónea para un programa, son los problemas que
surgen durante la creación de los sistemas expertos. El problema principal se presenta
cuando la información tomada por el especialista se tiene que estructurar para reducirla
a un grupo de reglas que se puedan almacenar e integrar en un computador. De esta
manera es donde se pone de manifiesto el conflicto ante la dificultad del experto para
poder estructurar de una manera formas sus decisiones. Entonces cuando el experto
hace una tarea o resuelve un problema se le dificulta en la mayoría de los casos
formalizar las reglas que va a aplicar para resolverlo.

El proceso de adquirir el conocimiento del especialista para el sistema, usualmente


requiere de la presencia de un ingeniero del conocimiento con la finalidad de hacer el
enlace entre el sistema y el experto. Es necesario el trabajo interactivo entre el
especialista, el ingeniero del conocimiento y el usuario, debido a que el experto aporta
el conocimiento para la resolución de problemas, el usuario describe las necesidades
del sistema y el ingeniero en su papel de intermediario entre la transferencia del
conocimiento hacia el sistema.

Cuando una de las tareas más complejas se le presenta al ingeniero del conocimiento, la
ayuda se le suministra el especialista para poder hacer la estructura del conocimiento
acerca del dominio formalizando e identificando los conceptos. El conocimiento del
sistema se puede adquirir por diversas fuentes diferentes al especialista humano.
Pudieran ser adquirido por datos empíricos o ejemplos sobre resoluciones provenientes
de otras fuentes, tal como lo haría un especialista para poder extraer el conocimiento.
Cuando se presentan estos casos el proceso de transferencia de datos hacia el
programa, puede ser automática o parcialmente automatizada. Esta transferencia
pudiera ser realizada desde grandes bases de datos de manera automatizada, de
manera que el sistema tiene que incorporar el conocimiento y hacer las combinaciones
de forma dinámica para realizar las inferencias. Cuando el conocimiento es obtenido del
especialista directamente, algunos procesos de razonamiento pudieran ser explícitos
por el mismo de manera que va a facilitar la adquisición.

7.18.3 Técnicas, etapas y ayudas para la adquisición del conocimiento


El desarrollo en el mecanismo para la adquisición del conocimiento y el uso en los
programas ha sido considerablemente notable. Entre los años 50 y los 60, el
conocimiento que usaban algunos programas de IA se transformaba en código, donde
se mezclaba el conocimiento con los procesos de razonamiento. El programa
desarrollado iba perdiendo eficacia con las constantes actualizaciones realizadas, las
constantes ediciones impedían el mantenimiento de la consistencia del conocimiento.
el especialista no tenía participación en el proceso del establecimiento del sistema.
Actualmente en los sistemas, el experto tiene interacción con el ingeniero de
conocimiento para hacer la construcción del sistema. El conocimiento del especialista
sobre el dominio es incorporado en forma de estructura de datos que conforman la
base del conocimiento como uno de los elementos del sistema. Las ventajas que se
obtienen de hacer la división en los componentes fueron dos: la transparencia, el
sistema puede ser comprendido para lo que ha sido desarrollado y el que lo usa, la
flexibilidad en la aceptación de las ediciones o ampliaciones que se le hacen al
conocimiento que contiene en su base. Las etapas principales van a ser tres, las que el
ingeniero del conocimiento debe desempeñar para la creación de un sistema experto:
adquisición, análisis e implantación del conocimiento.

En la fase de adquisición, constantemente se necesita que el ingeniero del


conocimiento tenga una entrevista personal con el experto. Esta fase se considera muy
delicada y de mucha importancia para el perfecto desarrollo del sistema. Existen
mecanismos e instrumentos apropiados para realizar la fase de desarrollo. El análisis de
los protocolos, las técnicas multidimensionales, el análisis de las tareas y la entrevista
conforman un ejemplo de estas herramientas.
Proceso de adquisición del Conocimiento.

7.18.3.1 Entrevista como Técnica de adquisición del conocimiento.


Tiene cinco tipos principales:
 Entrevista no estructurada: el ingeniero realiza preguntas al experto sobre
detalles generales sobre el dominio y lleva un registro de las respuestas. La
grabación que se obtiene, luego debe ser transcrita haciendo la extracción de
los hechos y reglas que van a formar parte del sistema experto.

 Entrevista estructurada: es llevada a cabo por medio de etapas. En esta también


se lleva un registro la información recibida, para luego ser transcrita y poder
generar las reglas. Las etapas se pueden estructurar de la siguiente forma:
̵ Primera etapa: le es solicitado al experto un diseño sobre la tarea que se
va a realizar, este incluye detalles sobre algunas soluciones, descripción
sobre las variables que van a afectar la elección de una solución y un
listado de las reglas que conectan a las soluciones y variables.
̵ Segunda etapa: por cada una de las reglas que se obtuvieron en la etapa
anterior, se le hacen preguntas al experto sobre las condiciones
necesarias para activarlas. Poniendo de manifiesto el alcance que va a
tener cada regla, de una vez estableciendo si es requerida la
determinación de nuevas reglas.
̵ Tercera etapa: se repite la segunda etapa, hasta que el experto ya no
tenga más información que aportar.

 Entrevista centrada: se centra en un aspecto del conocimiento, la decisión sobre


qué materia es necesaria comprender va a ser tomada por el ingeniero del
conocimiento enfocando la entrevista a los puntos mucho más precisos. Esta
entrevista puede que sea o no estructurada, y la utilidad de la misma se basa en
la exploración de los aspectos del dominio.

 Estructurada y evaluada luego por el especialista. Luego que se elaboren las


reglas, el ingeniero del conocimiento las muestra al especialista para determinar
su aprobación. Esta técnica permite hacer evaluación del conocimiento acerca
del dominio durante el proceso de entrevista.

 Simular escenarios. Se le solicita al especialista que haga la resolución de un


conjunto de problemas. El especialista tiene que justificar las decisiones y tratar
de transmitir el proceso seguido por la toma de decisiones.

Generalmente la entrevista es un mecanismo apropiado para poder adquirir el


conocimiento, reconociendo el grupo de objetos y las relaciones, para ser organizados
en estructuras como listas o tablas. Aunque cuando se realiza una entrevista que capte
totalmente el conocimiento del especialista no es proceso complejo. En ocasiones el
entrevistador tiene que interrelacionar las preguntas de diferentes formas para así
poder alcanzar una mejor obtención de la información. La propuesta de las preguntas
ideales es sumamente fundamental. Debido a esto tiene que centrarse en la extracción
del conocimiento que posee el especialista acerca de las relaciones, inferencia y los
objetos. A continuación, un ejemplo sobre un conjunto de preguntas:
 ¿Cómo desempeña su tarea?
 ¿Recuerda el caso anterior?
 ¿Cuáles hipótesis hace el intento de establecer cuando resuelve una
problemática?
 ¿Cuáles factores tienen influencia en su razonamiento sobre un problema?
 ¿Qué clase de valores pudiera tener un objeto?
 ¿Cuál es el rango de valores permitidos?
 ¿Si este factor depende de este grupo de factores, diga cuáles son?

Las preguntas que continúan para mantener con el diálogo pudieran ser de diversos
tipos:
 Dirigidas a la obtención de información:
̵ ¿Pudiera hablar más sobre…?
̵ ¿Cómo puede describir lo que trata de decir sobre…?

 Hacia la clasificación de un tema definido:


̵ ¿No comprendo esta definición, puede explicarla?
̵ ¿Qué relación tiene con el tema a estudiar?

 Desarrollo de los puntos que menciona el especialista


̵ ¿Cómo y/o cuándo se hace esto?
̵ ¿Qué se hace luego?

 Con la finalidad de hacer revisión de la información obtenida y hacer la


comprobación de que tan precisa es:
̵ Tratando de resumir, ¿pudiera indicarme los errores?

Hasta cuando se hace el planteamiento de las preguntas adecuadas, en ocasiones


surgen ambigüedades durante el proceso de entrevista verbal. Cuando el especialista
informa acerca de la resolución de un problema, hace uso del lenguaje para poder
transmitir su experiencia. De esta manera el lenguaje es convertido en una herramienta
para la representación de la experiencia que tiene el especialista. El nivel en que el
lenguaje que usa el especialista pueda revelar el conocimiento, varía dependiendo de la
manera empleada y la habilidad del entrevistador para detallar el informe del
especialista. De esta manera las ambigüedades comunes que se pueden manifestar son
las siguientes:
 El lenguaje usado por el especialista, pudiera poner en evidencia aspectos
importantes del proceso de aprendizaje, ejemplo: en caso de que el experto
diga: “Esta va a ser la clave del sistema”. Las preguntas idóneas a realizar serían
las siguientes:
̵ ¿Qué es y qué significa una clave?
̵ ¿Clave para qué?
̵ ¿Cómo se identifica una clave?

 El especialista pudiera hacer comparaciones tales como: “mayor”, “inferior”,


“mejor”, que deben ser clasificadas, ejemplo: “Este es el mejor sistema”, donde
las preguntas a continuación podrían ser:
̵ ¿Por qué medio se sabe que es el mejor?
̵ ¿Mejor con respecto a?
̵ ¿En qué sentido es mejor?

 Algunas veces se usan palabras que generan procesos complejos, ejemplo: “La
incorreción de los resultados genera nuevas revisiones del sistema”. Por medio
del uso de la palabra incorreción genera un proceso cognitivo:
̵ ¿Cómo ha determinado que es incorrecto?
̵ ¿Por medio de qué mecanismos ha determinado que es incorrecto?

 Constantemente las palabras usadas pudieran definir la posibilidad o necesidad


y no estar especificadas claramente al hacer la descripción sobre una relación,
como lo es el caso de: imposible/Posible, Innecesario/Necesario, ejemplo: “El
elemento ABC no se necesita en el proceso”, las preguntas serían las siguientes:
̵ ¿Si es usado qué pasaría?
̵ ¿Por qué no se debe usar?
̵ ¿Cómo determina que no se puede usar?
 Otro conjunto de palabras comunes de manera incorrecta pudiera dar sentido
de universalidad: “Todo”, “Nada”, “Siempre”, “Nunca”, ejemplo: “El proceso
nunca va a funcionar”. En esta ocasión el ingeniero de conocimiento tiene que
conocer:
̵ ¿Cuáles características poseen el método para poder funcionar?
̵ ¿Cómo determina que no funciona?
̵ ¿En otras circunstancias funcionaría?

El proceso de entrevista es algo complejo debido a que requiere de una estricta


atención a todos los detalles por muy mínimos y simples que sean por parte del
ingeniero del conocimiento. A parte de realizar preguntas y gestionar los procesos que
se obtienen, debe tener en cuenta las relaciones sociales entre ambos. Por ello es
recomendado que durante cada entrevista disponer de un medio que permita llevar el
registro de la conversación. Un equipo de grabación sería de gran ayuda para hacer el
registro de voz de la entrevista. Uno de los ejemplos de la aplicación de una regla de
conocimiento que se ha obtenido por medio de una entrevista al especialista se tiene a
continuación:

Formulación de la Regla Texto de la Regla


Frase del experto Cuando una persona que realiza una tarea, tiene a
disposición todos los instrumentos adecuados para
realizarla, entonces la tarea puede ser finalizada.
Representación externa Si las exigencias de los instrumentos para todos los
trabajos que integran una tarea son menores o
iguales que las que tienen a disposición de la persona
que lo realiza, entonces el término del trabajo será
realizado.
Representación externa Si las exigencias de los instrumentos <= instrumentos
disponibles, entonces el término del trabajo se
realiza
Nombre de Regla Terminar el trabajo.

Gran parte de las dificultades que se plantean en la actualidad en el proceso de


adquisición del conocimiento son debido a la realización no concreta de la entrevista al
especialista. La metodología que se emplea cuando es efectuada la fase de entrevista va
a afectar a la calidad de la información de una forma muy negativa en la fase base de
conocimiento, además afecta al tiempo que se ha dedicado durante la recolección de
los datos, prolongando el tiempo de una manera innecesaria esta fase.

7.18.3.2 Otras Técnicas de adquisición de conocimiento.


Las demás técnicas posibles para adquirir el conocimiento del especialista son las
siguientes: realizar el análisis de las tareas, analizar los protocolos, mecanismos de
multidimensionalidad.
 El análisis de las tareas, consiste en separar las tareas en conjuntos minimizados,
llevando una secuencia para realizar su ejecución. Esta técnica es bien aplicada
al conocimiento procedural. Este mecanismo clasifica los factores que actúan
para solucionar el problema, determinando una estructura jerárquica por
importancia lógica de las tareas. De esta manera es creada una estructura lógica
para resolver el problema. Las reglas se van a derivar de la estructura que se ha
creado.
 Al realizar el análisis de los protocolos, se observa al especialista durante el
desempeño de una tarea, haciéndole compañía durante la realización de su
trabajo. Se pueden usar herramienta de apoyo, como la toma de videos, notas
escritas y hasta cintas de audio. Luego de que se registran, se analiza
detenidamente el comportamiento del experto con la finalidad de extraer los
protocolos de solución y poder identificar lo que el especialista ha
implementado. Es necesario que el experto piense, por así decirlo “en voz alta”.
Para que durante la realización de una tarea habitual el especialista responda a
preguntas como: ¿Cuáles objetivos se están buscando?, ¿Qué métodos se
utilizan?. La ventaja principal del análisis de los protocolos es que no se produce
una asincronía entre el pensamiento y la aplicación, minimizando las
distorsiones en los actos de resolución que se llevan a cabo por el especialista.
 El mecanismo de multidimensionalidad, se desarrolla por un conjunto de
psicólogos cognitivos, con la finalidad de modelar los procedimientos del
pensamiento que son complejos para verbalizar. Esta, principalmente se ha
usado para tener el acceso al conocimiento conceptual del especialista y poder
permitir hacer una representación del conocimiento. Esta característica, hace
que este mecanismo no sea costoso cuando se refiere al período de dedicación
del ingeniero del conocimiento y permite recibir una representación del
conocimiento del especialista. La aplicación de este mecanismo requiere de una
serie de etapas:
̵ Identificar los elementos. Se tiene que determinar un grupo de objetos
que representan el problema. Algunas maneras de realizar esta tarea
pudieran ser: hacer una sugerencia de la lista de los elementos, solicitar
al especialista el nombramiento sobre algunos.
̵ Identificar los detalles que pueden ser asignados a los elementos u
objetos.
̵ Hacer una relación entre los detalles y los elementos, y luego hacer un
análisis de los resultados obtenidos.

Generalmente se desea en la mayoría de los casos, mezclar diferentes técnicas de


adquisición de conocimiento, para tener una mejora de los resultados. En todos los
casos se debe hacer una excelente planificación para realizar una buena comunicación
con el experto, de manera técnica realizada por el ingeniero del conocimiento. Este
tiene que tener en consideración, la técnica que se va a usar, sin pasar por alto la
personalidad del especialista y el tiempo con que este disponga. A continuación, se
muestra un cuadro con un resumes de estas técnicas:

Técnica Ventajas Desventajas


Tipo de entrevista Es adecuada para hacer un Se tiene que confiar en la
estructurada y no resumen del conocimiento, memoria del especialista.
estructurada sobre los objetos, acciones, Alto costo de tiempo por
relaciones y la información parte del ingeniero del
conocimiento y por el
especialista.
Análisis de los Capta el conocimiento acerca El uso del tiempo puede
protocolos de los procesos, interferir en la manera que se
comportamientos, haga la tarea.
conocimiento heurístico
Análisis de las tareas Apropiado para los Muy Limitativo
subproblemas
Técnica de la Es excelente para las Se tiene dificultad para hacer
multidimensionalidad primeras fases de adquisición el análisis de los resultados.
del conocimiento. Capta las
acciones, conceptos, valores
y relaciones. También se
pueden captar el
conocimiento ordenado y la
incertidumbre

El ingeniero del conocimiento tiene que encontrar el estado de equilibrio entre el estar
abierto a cualquier tipo de cambio en el planteamiento dependiendo lo que el
entrevistado diga o haga y la planificación de las preguntas al especialista. De la misma
manera va a tener que hacer la evaluación del tiempo respecto a la eficacia al permitirle
al especialista sin ninguna interrupción el proceso de su razonamiento. También se
necesita que el entrevistador le conceda al especialista el tiempo necesario para el
desarrollo de su explicación.

Por otro lado, al adquirir el conocimiento es un proceso que integra individuos y


mecanismos y se realiza personalmente, en parte de los casos es requerido cierto nivel
de sensibilidad y flexibilidad por parte de los integrantes, en particular de parte del
ingeniero del conocimiento para detallar el desarrollo de la entrevista y poder editarla si
es requerido, dependiendo de las reacciones percibidas por el entrevistado. se
imposibilita definir un mecanismo de ejecución debido a que este depende de la
experiencia y las técnicas apropiadas, en situaciones particulares, dependiendo de los
individuos. Tomando en cuenta el tipo de influencia que puede tener la forma en que se
han realizado las preguntas pudieran interferir directa o indirectamente en las
respuestas, se tiene que tener sumamente cuidado con la realización de preguntas muy
largas o complejas, estas deben ser cortas y concisas con un vocabulario adecuado y
muy cercano al que usa el experto. La colaboración que debe existir entre el ingeniero
y el experto debe ser muy básica para mejorar la comprensión del conocimiento acerca
de la adquisición que se quiere tener. El tono y la manera de hacer las preguntas al
experto deben tratar de invitar a su colaboración. EL intento de sistematización sobre el
proceso de adquisición del conocimiento, desencadena un grupo de pasos a seguir por
el ingeniero del conocimiento en el que se incluye una proposición para el desarrollo de
un sistema experto:
1. Comprensión del problema inicial.
2. Hacer una definición del dominio del problema.
3. ¿Es posible enumerar sin complejidad los elementos del dominio? En caso
contrario dirigirse al paso 11.
4. ¿Existe alguna herramienta para la adquisición del conocimiento que se pueda
aplicar? En caso contrario ir al paso 11.
5. Implementar la herramienta anterior para el desarrollo de un prototipo del
sistema.
6. Hacer una evaluación del sistema.
7. Hacer una entrevista al experto con la finalidad de hacer mejoras.
8. Hacer la mejora.
9. Retornar al paso 5, y repetir el procedimiento hasta obtener las reglas.
10. Fin.
11. ¿El experto tiene el conocimiento sobre la técnica de análisis de las tareas? En
caso contrario ir al paso 20.
12. Implementar la técnica del análisis de las tareas.
13. Obtener las reglas.
14. Desarrollar el prototipo.
15. Evaluar el sistema.
16. Hacer entrevista al experto para hacer ajustes al sistema.
17. Refinar el sistema.
18. Regresar al punto 14 y repetir hasta finalizar el proceso de obtención de reglas.
19. Fin.
20. ¿El tiempo es limitado en la fase de obtención de conocimiento? En caso de ser
afirmativo, enseñar al especialista los mecanismos de análisis de tareas, ir al
paso 12.
21. Usar mecanismo de entrevista estructurada.
22. Escribir la entrevista.
23. Obtener las reglas.
24. Hacer un prototipo.
25. Hacer evaluaciones al sistema.
26. Hacer entrevista orientada a realizar mejoras al sistema.
27. Hacer las mejoras.
28. Ir al paso 14 y rehacer el proceso hasta que finalice la obtención de las reglas.
29. Fin.

Gran parte de las herramientas de adquisición del conocimiento, son metodologías que
han sido desarrolladas por una aplicación en particular para determinar un dominio.
Pocas han sido desarrolladas para ser usadas en diversos dominios. Ejemplo de algunas
herramientas: KADS ("Knowledge-Elecitation Techniques), KITTEN (Knowledge Initiation
and Transfer Tools for Experts and Novices).

También se considera posible que, durante el proceso de adquisición del conocimiento,


la tarea de captación que realiza el ingeniero no sea dirigida a uno, si no a un conjunto
de expertos, que a su vez integran un grupo de trabajo capacitado en un dominio
definido. La definición de grupo de personas se refiere a un contenido demasiado
amplio y se puede usar para hacer la designación de conjuntos de personas con detalles
no semejantes. En psicología social es considerado un grupo como un conjunto de
personas que reúnen pocos requisitos: un grupo se basa en más de dos personas que
intercambiar reglas respecto a ciertos detalles, donde sus roles sociales se encuentran
vinculados. Dentro del grupo y los individuos que lo integran, se presentan
interacciones que afectan a las personas y al grupo completo en sí dirigiendo su
comportamiento. En una dinámica de grupo, el estudio sobre el comportamiento del
mismo, es considerado como un criterio restringido que tiene un número pequeño de
miembros, que interactúan personalmente, siendo conscientes de que el grupo existe y
su integración hacia el mismo. Otra manera de definir al grupo sería como una
pluralidad de personas que se mantienen en contacto unos con otros, teniendo
conciencia de un elemento en común. Las características que van a definir a un grupo
son las siguientes:
 Una sociedad que se constituye por más de dos personas.
 La conciencia de pertenencia al grupo se basa en la identificación de manera
consciente de unos con los otros.
 Los miembros tienen objetivos compartidos.
 Apoyo para poder alcanzar los objetivos.
 Buena comunicación entre los integrantes.
 El comportamiento es como una unidad.
 Disponen de una estructura interna.

La interna estructuración del grupo es suministrada por la técnica de grupo empleada.


Entiéndase por técnica de grupo, aquella que se emplea por medios sistematizados para
lograr organizar o desarrollar una actividad, basándose en las propuestas realizadas por
dinámicas de grupo.

Los procesos que integran los mecanismos de grupo se dirigen a la estimulación de las
interacciones del mismo a nivel interno y externo para poder alcanzar las metas que se
proponen. Estos mecanismos van a variar dependiendo a las metas que se definen. Para
lograr seleccionar el mecanismo ideal se deben tomar en cuenta los factores como:
objetivos que se han establecido, el total de individuos pertenecientes al grupo, detalles
particulares de los individuos. El uso de la técnica luego que se ha definido, van a tener
normas que rigen su ejecución que se basan en la dinámica del grupo. Van a requerir:
conocimiento sobre la estructura y los riesgos de la técnica a usar, la definición de un
objetivo preciso y un entorno ideal acompañado de una actitud de cooperación de los
individuos implicados.

La reunión se considera como una técnica cualitativa, que puede ser aplicada en las
siguientes circunstancias: conseguir información acerca de un dominio definido del que
no se ha tenido conocimiento previo alguno, especificar la actitud, hábitos,
motivaciones, etc. Las personas que conforman el grupo alcanzan la información acerca
de un aspecto de un dominio conocido orientado por los estudios anteriores.

La implementación de la reunión de un grupo como una técnica para la adquisición del


conocimiento, demanda lo siguiente: definir claramente los objetivos por el ingeniero
del conocimiento, sin pasar por alto que la dirección de la reunión la van a tomar ellos,
la dimensión apropiada de un grupo facilita el intercambio de ideas, el entorno donde
es desarrollado tiene que ser acorde a los integrantes, bajo un ambiente libre de
tensión, y donde sea posible el uso de las herramientas de registro para su posterior
análisis. Los deberes del ingeniero de conocimiento en este tipo de técnicas van a variar
desde un papel como moderador orientado al inicio del diálogo y redirigirlo en el caso
de que se escape de los objetivos predefinidos, a su vez pudiera desempeñar un rol
mucho más activo, como en el proceso de realización de preguntas u ordenando cada
intervención y moderando los tiempos entre los debates.

7.18.4 Fases durante el desarrollo de un sistema experto.


El proceso para adquirir el conocimiento es un mecanismo realizado por el ingeniero de
conocimiento, por medio del desarrollo de etapas que tienen la finalidad de desarrollar
un sistema experto. Lo primero que tiene que hacer es el proceso de familiarización con
el problema, y, a que dominio pertenece. Incorpora la localización de las fuentes de
información, por medio de publicaciones u otros. Cuando se produce el acercamiento al
problema, el ingeniero debe conversar con el experto para hacer el planteamiento de
las preguntas ideales para lograr identificar el problema y detallarle de una manera
informal, estableciendo las limitaciones. Una vez que se han conocido las restricciones,
el ingeniero del conocimiento en conjunto con el experto define los conceptos básicos
de las relaciones que van a intervenir en la solución del problema. Luego por parte del
ingeniero se decide cuál formalismo se usa para estructurar el conocimiento. En este
nivel, el ingeniero del conocimiento ya tiene la información sobre los conceptos y
mecanismos de solución y a su vez puede optar por usar herramientas que se adecúen
a los detalles del conocimiento que manifiesta el problema a solucionar, de una forma
facilitar el desarrollo del sistema. La adaptación del formalismo de representación de
conocimiento que se va a usar y la herramienta a implementar a la construcción y
desarrollo del sistema se ve evaluada en la última fase, discutiendo con el especialista el
nivel de eficacia que tiene el prototipo desarrollado.

De una forma más objetiva, la construcción de un sistema experto está comprendido


por dos fases. Inicia con la fase de identificación y la conceptualización del problema,
comprendiendo la definición del problema partiendo del conocimiento suministrado
por las fuentes y por el experto. La conceptualización presenta definiciones claves y las
relaciones para poder tener todos los detalles y aspectos del problema. Continuando
con la segunda fase, integrada por la formalización, prueba e implementación de la
estructura ideal para el sistema, que adiciona la renormalización de algunas definiciones
y el rediseño de algunos aspectos de la representación y hacer el rediseño del sistema
implementado. La revisión surge como el resultado de las sugerencias y las críticas que
hace el experto para encontrar una mejora en el desempeño del sistema.

Los detalles de los procesos que pertenecen a cada fase se definen a continuación:
 En la etapa de identificación contiene:
̵ Elección de los individuos que se implican en el proceso de adquisición
de conocimiento. El proceso de comunicación entre el ingeniero del
conocimiento y el experto, es constante en esta etapa. El especialista es
quien aporta su conocimiento y su experiencia y el ingeniero del
conocimiento intenta hacer la comprensión relacionando lo aprendido
con el análisis de las pruebas y las consultas con otros especialistas. Es
posible que en el proceso intervengan más de dos personas debido a que
la consulta se dirige hacia varios especialistas.
̵ Definir el problema. Consiste en la delimitación de los detalles del
problema y la estructura del conocimiento que tolera su solución
adaptándose a los recursos que tienen a su disponibilidad. Como
ejemplo de las preguntas que se tienen que plantear al especialista en
esta etapa se tienen las siguientes:
 ¿Cuáles tipos de problemas se van a resolver con este sistema?
 ¿Cómo estos se pueden definir?
 ¿Cuáles problemas derivan del desarrollo?
 ¿Qué datos se encuentran disponibles?
 ¿Cuáles aspectos son más importantes para la solución?

El ingeniero y el experto trabajan de manera conjunta para poder definir el problema en


esta etapa. El especialista (experto), va a hacer la descripción de los problemas
comunes que pertenecen al dominio y luego explica cómo se resuelven y el respectivo
razonamiento como cada solución. La meta es la identificación y manifestar el
conocimiento importante para alcanzar la solución del problema.

Etapas para la adquisición del conocimiento.

 Definir los recursos para la adquisición del conocimiento, se tiene que


implementar el sistema y realizarle las pruebas necesarias. Los recursos
significan las fuentes del conocimiento, instrumentos para el proceso,
tiempo. Todos estos son de suma importancia pueden ser capaces de
limitar el desarrollo del sistema.
 Conceptualizar el problema: las relaciones y los conceptos claves se va a
incorporar como parte del conocimiento. Las representaciones gráficas de las
relaciones y los conceptos ayudan el trabajo del ingeniero de conocimiento y a
la percepción de la base de los mismos. El trabajo como grupo entre el ingeniero
y el experto es requerido de igual forma en esta etapa. Con el fin de tener un
perfecto análisis del problema antes de implementar el prototipo desarrollado.
Las preguntas que se proponen al experto en esta etapa van a ser del siguiente
tipo:
̵ ¿Cuáles procesos se necesitan para solucionar el problema?
̵ ¿Qué restricciones proyectan esos procesos?
̵ ¿De qué tipo van a ser los datos que se consideren valiosos?
̵ ¿Cómo se describen los elementos del dominio?
̵ ¿Qué subprocesos se diferencian?
̵ ¿cuáles estrategias desencadenan cada una?

De la misma forma que la etapa de identificación, la conceptualización debe


hacer uso de los ejemplos específicos de resolución y en caso de que lo amerite
modificar los conceptos y las relaciones que se han establecidos en el caso de
que no sean consistentes con las soluciones que se han alcanzado en lo
ejemplos que se han usado como pruebas.

 Etapa de formalización: estos procesos son los que estructuran el conocimiento


por medio de los basamentos de los variados esquemas de representación.
Subproblemas, conceptos claves y características de la información, que se han
obtenido de la etapa anterior, ahora se van a representar por medio de un
esquema ideal para representación del conocimiento. Son tres los factores
fundamentales durante la formalización, el área de hipótesis, el modelo de los
procesos y las características que presentan los datos. El área de hipótesis
significa la definición de los conceptos y determinar su relación para formalizar
la hipótesis, Ejemplo sobre las posibles preguntas a realizar en esta fase:
̵ ¿La representación hecha sobre los conceptos está bien relacionado con
el esquema que se ha elegido?
̵ ¿Las relaciones hechas entre los conceptos son espacio-tiempo o
causales?
̵ ¿Estas relaciones son explicitas?

Explicitar el modelo de los procesos que pueda permitir obtener una solución, va
a formar parte de la formalización. De la misma manera el caracterizar los datos
en el dominio. Al responder a las preguntas de tipo que se van a plantear a
continuación va a permitir realizar esa caracterización.
̵ ¿Los datos escasean y están dispersos o de lo contrario se tiene a
disposición un gran número de datos repetidos?
̵ ¿Los datos tienen asociación de incertidumbre?
̵ ¿La interpretación sobre la lógica de los datos va a depender del orden
de las ocurrencias en el tiempo?
̵ ¿Los datos se consideran precisos, correctos fiables o son poco precisos,
incorrectos o imprecisos?
̵ ¿Hay consistencia entre los datos?

 Etapa de la implantación: el conocimiento se pone de manifiesto en la etapa de


formalización, detalla las estructuras de los datos y las reglas de inferencia junto
con las estrategias de administración. Este conocimiento es una estructura de
representación que, junto con un instrumento de resolución compatible, va a
permitir la creación de un prototipo de un sistema experto. El uso de las
herramientas para el desarrollo de una base de conocimiento ayuda al ingeniero
del conocimiento. Si no se dispone de un instrumento adecuado para el
desarrollo, el ingeniero del conocimiento está en la necesidad de desarrollar
una.

 Etapa de prueba: en esta etapa se hace la evaluación del prototipo desarrollado.


Luego debe haber ejecutado el sistema prototipo con dos y hasta tres ejemplos
de prueba, se encuentra en condiciones de ponerse en funcionamiento con una
variedad de ejemplos que pongan de evidencia los posibles problemas en la
base de conocimiento y en las estructuras de inferencia. El ingeniero de
conocimiento hace la solicitud al experto sobre los problemas que puedan hacer
la evolución efectiva sobre el desempeño del sistema. Los elementos que
afectan el desempeño del sistema son: los detalles de entrada y salida, reglas de
inferencia, estrategias para el control, ejemplos de las pruebas. Los detalles de
entrada y salida significan el mecanismo para adquirir el conocimiento. El
mecanismo de adquisición del conocimiento puede poner de manifiesto los
errores en el método que se ha empleado para la captura, ya sea por su
incorrecta realización o por la proposición de preguntas incorrectas, o por
pérdida de información. Las conclusiones que se obtienen del programa pueden
ser inadecuadas o adecuadas, de la misma forma que las conclusiones que se
obtienen pudieran ser o muy pocas o demasiadas. Puede que las conclusiones
no estén organizadas apropiadamente y la salida puede que ofrezca un
inapropiado nivel de detalle. Los errores presentes en el razonamiento tienen un
grupo de reglas de inferencia para su emplazamiento. Puede que las reglas sean
inconsistentes, incorrectas u omitidas. El error puede estar presente en
premisas o en las conclusiones de la regla. En caso de que las premisas de la
regla son incorrectas, la aplicación podría considerarse inapropiada impactando
en la lógica del razonamiento. Y si las conclusiones y premisas fueran correctas
puede que los errores se manifiesten en el enlace. La estrategia de control que
se usa para poder establecer los pasos para la solución del problema puede
ocasionar errores, de manera especial cuando no es ajustada a la secuencia que
el experto ha aconsejado. Finalmente, la elección del test no apropiado para
realizar la prueba puede que haga aparecer fallas en el prototipo cuando se
plantea el problema que se escapa de las delimitaciones del sistema.

En cada fase de la adquisición del conocimiento son requeridas revisiones continuas


que podrían implicar refactorizaciones de metodologías, rediseño de las
representaciones mejoras al sistema que se implanta. El refinamiento del prototipo por
lo general dirige hacia la revisión de las fases de prueba e implantación con la finalidad
de ajustar las estructuras de control y las reglas al comportamiento que se espera del
sistema. Cuando en el proceso de razonamiento se manifiesta una dificultad, el
ingeniero del conocimiento puede hacer un planteamiento sobre la edición de la
estructura de la base del conocimiento regresando a la etapa de la formalización para
definir una representación nueva, tratándose de un rediseño en la representación del
conocimiento, y si los problemas aún son recurrentes, puede que el error se encuentre
en la conceptualización o quizás en la identificación de la problemática, generando
como consecuencia la reformulación de algunas relaciones, procesos, conceptos usado
en el programa sin pasar por alto el recurso de nuevas fuentes en caso de que lo
amerite.
8. MOTORES DE INFERENCIA.

8.1 Motores de inferencia.


Es definido como un sistema de software, que se ha diseñado para la extracción de las
conclusiones por medio del análisis de los problemas, respaldados en una base de datos
de conocimiento experto, que es donde se realizan las consultas. Estos motores son
capaces de emitir resultados lógicos basándose en las premisas que definen los datos.
En algunas oportunidades son capaces de ir mucho más allá del procesamiento lógico y
usan cálculos de probabilidad para determinar conclusiones no respaldadas por la base
de conocimiento, efectuando insinuaciones o implicaciones. Gran parte de los motores
de inferencia creados en el campo de la inteligencia artificial, son basados en la
definición del concepto de los sistemas expertos. Estos sistemas expertos han sido
creados para resolver problemas en un campo determinado, en algunas oportunidades
se han definido de una forma muy limitada, como por ejemplo los sistemas expertos
desarrollados para ciertas especialidades médicas. La estructura de control que genera
una respuesta basándose en los datos actuales en la base de conocimiento va formar
parte como componente del motor de inferencia, también las reglas de programación
que luego van a ser aplicadas al problema de una forma significativa. En vista que las
respuestas del motor de inferencia, son el resultado de la información, pueden cambiar
en el trascurso de la actualización de los datos, también pueden variar durante el
proceso en el que motor de inferencia realiza la búsqueda de los datos de diferentes
formas.

El software implementado por un motor de inferencia, puede definirse como un tipo de


mecanismo selectivo en el que las acciones para llevar a cabo el procesamiento se
dirigen por el estado más actualizado de los datos. Los sistemas expertos manejan de
dos maneras el procesamiento de los datos que se almacenan, denominados
encadenamiento hacia delante y encadenamiento hacia atrás. En el tipo de
encadenamiento hacia delante, las reglas que se define el sistema hacen en el análisis
de la información suministrada por el motor de inferencia y las respuestas van a ser la
retroalimentación para el almacenamiento de la información del sistema como nueva
información, desencadenando cada vez nuevas soluciones, cada vez que los datos son
refinados. En cuanto al encadenamiento hacia atrás se orienta más al modo
probabilístico, la información que ha sido almacenada, y ordenada por su valor desde el
inicio. Las reglas son usadas para realizar la prueba de validez respecto a los datos
suministrados, asignando valores nuevos de probabilidad a la información. El
encadenamiento hacia atrás también es basado en hipótesis, por lo que no realiza
conclusiones estrictas hasta que la prueba de los datos cumpla un nivel mínimo
aprobatorio respecto a la búsqueda de la solución.

La característica principal que distinguen a los sistemas expertos de los demás sistemas,
es su habilidad para hacer el razonamiento. Debido a que la experiencia se almacena en
la base del conocimiento, tiene que realizarse un conjunto de inferencias sobre el
conocimiento para poder generar conclusión alguna. Este razonamiento se lleva a cabo
en lo que se conoce como el motor de inferencia, éste a su vez, contiene los
procedimientos que permiten resolver los problemas. La máquina de inferencia realiza
su trabajo basándose en los hechos almacenados en la memoria del trabajo y en el
dominio del conocimiento de la base del mismo.

La máquina o motor de inferencia como software de computación se encargan de


gestionar la manipulación del conocimiento que contiene la base del conocimiento.
Dicho programa va a dirigir la búsqueda por medio de la base del conocimiento. En este
proceso interviene las reglas de inferencia. El administrador del software toma la
decisión sobre qué regla es la que va a investigar, que opción es la que va a eliminar y el
atributo al cual se le va a hacer la comparación. Hay variadas las maneras en las que el
motor de inferencia hace el razonamiento y administra el proceso del mismo. Los
motores inferencia también se les conoce como el cerebro del sistema experto o como
el encargado de interpretar las reglas. Además, suministra las instrucciones sobre cómo
se va a usar el conocimiento del sistema que se ha desarrollado, y la secuencia de los
pasos a seguir para la resolución de los problemas cuando una consulta se ha realizado.
Los variados mecanismos de inferencia que se usan para la resolución de problemas, se
relacionan a la manera en las que el conocimiento es controlado, manipulado o hace el
razonamiento sobre si puede adicionar las acciones, pasos o caminos que se llevan a
cabo para realizar la movilización de una porción de la base del conocimiento a otra. En
esta parte de los sistemas expertos es donde el razonamiento tomar su lugar
primordial.

Las reglas se usan en la base de los hechos con la finalidad de obtención de nuevos
hechos. Los hechos iniciales y los resultantes cuando se aplica las reglas conforman el
conocimiento en concreto que está contenido en la memoria de trabajo. Se definen
conclusiones simples a las resultantes de la aplicación de una sola regla, y compuestas
las resultantes del encadenamiento de un conjunto de reglas.

8.2 Arquitectura de los motores de inferencia.


La lógica implementada por un motor de inferencia normalmente se representa con las
reglas de Si-Entonces. Antes de la creación de un sistema experto, y los motores de
inferencia, los especialistas en inteligencia artificial, se enfocaron en los entornos de
prueba de teoremas mucho más potentes que suministraban implementaciones a
niveles mucho más complejos de la lógica de primer orden. Como, por ejemplo, las
declaraciones generales, con cuantificación universal (para X las declaraciones
verdaderas), y cuantificación existencial (X tal que declaraciones verdaderas). Los
especialistas descubrieron el potencial de estos entornos de prueba de teoremas, pero
esto a su vez, también se ha convertido en un inconveniente. En el año 1965, era menos
complejo la creación de expresiones lógicas, que tardaban un tiempo indeterminado o
incluso infinito en realizar sus procesos. Como, por ejemplo, es normal en la
cuantificación universal realizar declaraciones sobre un grupo infinito, como el grupo de
los números naturales. Estas declaraciones son razonables y requieren demostraciones
por medio de las matemáticas, con la diferencia que cuando se incluyen en un
demostrador automatizado, puede ocasionar que el computador entre en un bucle sin
fin. Enfocarse en las declaraciones Si-Entonces (conocido como el modus ponens),
todavía les dará a los programadores un mecanismo para poder hacer representaciones
lógicas, además podría implementarse eficientemente con recursos automatizados
como computacionales. Existen investigaciones psicológicas, que establecen, que los
seres humanos favorecen las representaciones SI-entonces, cuando hace el
almacenamiento de los conocimientos complejos.

Un ejemplo muy simple del modus ponens, que se usa normalmente, por algunos
autores, en los libros de la introducción a la lógica es “Si era un ser humano entonces es
un ser mortal”. Esto puede ser representado de la siguiente forma:
𝑅𝑒𝑔𝑙𝑎 1: 𝐻𝑢𝑚𝑎𝑛𝑜 => 𝑀𝑜𝑟𝑡𝑎𝑙 (𝑥).

Un ejemplo particular sobre la implementación de esta regla en un motor de inferencia


sería el siguiente:
En el tipo de encadenamiento hacia delante, el motor de inferencia encontraría
cualquier tipo de hecho alojado en la base de conocimiento, que se relacione con
Humano (x) y por cada relación encontrada en los hechos añade el nuevo dato Mortal
(x) en la base de conocimiento. Si llegara encontrar un objeto que se llame Antonio en
este caso fuera humano, se deduciría que Antonio era mortal. Cuando el
encadenamiento en hacia atrás, el sistema tiene un objetivo, como por ejemplo
responder a la siguiente pregunta ¿Antonio es mortal?. Realizaría una búsqueda en la
base de conocimiento para poder determinar si Antonio era humano, y en caso de serlo
realiza la afirmación que también es mortal. En cambio, en el encadenamiento hacia
atrás una técnica simple consistía en la integración del motor diferencia con una
interfaz para el usuario. De esta forma, el proceso de automatizar el sistema, sería
interactivo. En este ejemplo particular, si el sistema se le asigna el objetivo en el que
tiene que responder a la pregunta, si Antonio era mortal pero aún no tenían
conocimiento si era humano, se generaría una ventana para el planteamiento al usuario
sobre la pregunta y luego simplemente esa información se almacena como
consecuencia.

Este tipo de innovación sobre la integración del motor de inferencia con una interfaz
para el usuario, dirigido hacia un avance de los sistemas expertos aumentando las
capacidades de explicación. El poder representar el conocimiento de manera explícito
como una regla más que código permite que crear explicaciones a los usuarios en
tiempo real y posteriori. De manera que, si el sistema realiza la pregunta al usuario,
¿Antonio es humano?, El usuario pudiera preguntarse, sobre el porqué se le ha
realizado esa pregunta y el sistema implementaría el conjunto de reglas para tratar de
hacer la explicación acerca de que estaba tratando de determinar ese ligero
conocimiento actual, esto quiere decir, que necesita ser la determinación sea Antonio
es mortal, y para poder realizar la tiene que terminar primeros y en un mano. Al inicio
esta explicación no es muy diferente a los datos de depuración estándar con los que los
desarrolladores tratan para depurar los sistemas. Aunque y la de investigación usaba la
tecnología del lenguaje natural con la intención de poder hacer comprender, poder
generar preguntas, y emitir explicaciones usando lenguaje natural, desde el formalismo
informático.

Un motor de inferencia realiza tres pasos secuenciales como lo son: igualación de las
reglas, seleccionamiento de reglas y ejecución de las reglas. La ejecución de las reglas,
normalmente emite el resultado de los que agreguen nuevos hechos u objetos en la
base de conocimientos, que van a generar la repetición del ciclo, luego espera continuar
hasta que no se puedan igualar reglas nuevas.

Como primer paso las reglas de coincidencia, el motor va a buscar todas las reglas que
se han activado con el contenido de la base de conocimiento. En el tipo de
encadenamiento hacia delante, el motor se encarga de hacer la búsqueda de las reglas
que coincidan con los hechos de la base de conocimiento, en el proceso de
encadenamiento hacia atrás el motor se encarga de hacer la búsqueda que satisfacen al
objetivo actual.

Como segundo paso se seleccionan las reglas y el motor de inferencia hace la


priorización de las variadas reglas que sirvieron con el fin de determinar la secuencia en
que van a ser electas. Y como paso final se ejecutan las reglas, el motor de inferencia va
a ejecutar cada regla que coincide con el orden que ha sido determinado en el segundo
paso y luego lo repite nuevamente al paso uno, de manera de que el ciclo continúa su
curso hasta que no se puedan cumplir dar nuevas reglas.
8.3 Implementaciones de los motores de inferencia.
Los primeros motores que se crearon estaban centrados en un encadenamiento
directo, dicho sistema por lo general era implementado en el lenguaje de programación
Lisp. Este lenguaje era una plataforma de uso común en las primeras investigaciones de
la inteligencia artificial, debido a su elevada capacidad para hacer la manipulación
simbólica. Lisp, como un lenguaje interpretado, suministrará información para
desarrollos productivos, para ser depuraciones de programas complejos. Como
consecuencia necesaria que se generó de estos beneficios, es que los programas
basados en este lenguaje de programación eran más lentos y menos robusto, respecto
a los lenguajes complicados en esa época como los de C. Comúnmente en los primeros
días, se enfocaban en tomar una aplicación de un sistema experto para volver a ser el
empaquetado en el motor de inferencia usado como herramienta reutilizable, donde
otro especialistas podía hacer implementaciones para desarrollar otros sistemas
expertos. Como por ejemplo MYCIN, era uno de los sistemas expertos iniciales para
realizar diagnósticos médicos y EMYCIN era un motor de inferencia derivado de MYCIN,
que se puso a disposición de otros especialistas.

A través del avance de los sistemas expertos, fueron pasando desde prototipos hasta los
sistemas ya desplegados, se fortalecieron aspectos tales como la velocidad y solidez. El
primero de los motores de encadenamiento fue OPS5, basando en el lenguaje Rete,
para mejorar la eficiencia en la activación de reglas, otra tecnología que se desarrolló,
muy popular fue PROLOG, centrado principalmente en el proceso de encadenamiento
hacia atrás, este presentó variedades de versiones comerciales. Otro Como Expert
System, generó interés en el ambiente empresarial, creando versiones de motores de
inferencia, como por ejemplo Intellicorp. Estos motores fueron desarrollados bajo Lisp.
Pero por la gran demanda generada por sistemas mucho más asequibles y viables se
hacen presentes las plataformas de las computadoras personales.
8.4 Inferencia.
La inferencia se define como un proceso que consiste en la tensión de la conclusión por
medio de un grupo de premisas. Ejemplos:
 Todos los hombres son mortales, Sócrates es un hombre, luego Sócrates es
mortal.
 Cuando un número es divisible por dos, significa que es un número par, el
número cuatro es divisible por dos entonces el cuatro en número par.
 Si el barco no tiene piratas, quiere decir que el Capitán murió o está de
prisionero, pero el Capitán no murió y tampoco está de prisionero, como
consecuencia del barco trae piratas.

La identificación entre el grupo de premisas y la conclusión va ser determinada por un


grupo de palabras, hubo algunas palabras que van a servir como referencia. En uno de
los ejemplos anteriores este tipo de distensión es dada por la palabra luego, entonces y
como consecuencia. Si ninguno de estos términos u otros semejantes no se
implementarán en esta frase se tendrían expresiones que no representarían ningún tipo
de inferencias.

Todas aquellas expresiones que va a componer el grupo de premisas y la conclusión se


denominan proposiciones, se puede decir que le inferencia es el conjunto de
proposiciones denominadas premisas a otra proposición que va a significar la
conclusión. Cuando el conjunto de premisas está contenido, la conclusión no
necesariamente se deriva del grupo de premisas, la inferencia pasa a ser válida, de esta
forma la conclusión sería una consecuencia lógica del grupo de premisas. Este tipo de
inferencias se van a denominar inferencias deductivas, y únicamente respecto a estas
diferencias se consideran válidas o inválidas. El otro tipo de inferencia se denomina
inductiva, en esta la conclusión únicamente puede ser probable respecto al grupo
premisas. Lógicamente este tipo de premisas van a ser inválidas, la lógica sólo trata de
inferencias deductivas.
En otro orden de ideas, la lógica considera el estudio de las diferencias como tema
central, determinando que cada inferencia es como una estructura de proposiciones,
que a partir de algunas proposiciones llamadas premisas va a surgir otra proposición
denominada conclusión, de manera formal se puede definir de la siguiente forma:
𝑃1 , 𝑃2 , … , 𝑃𝑛 .·. 𝐶

 “P” y su subíndice va a representar cada premisa,


 “.·.” va a significar, por lo tanto, luego, etc.
 “C” finalmente va a representar la conclusión.

El objetivo fundamental de la lógica aplicada a la ciencia, es la crítica y el fundamento


de la inferencia, lo que va a indicar que la lógica tiene que determinar por medio de
técnicas o mecanismos si una proposición sigue o no a otra proposición. Por esto se
determina la relación mucho más importante que será entre el conjunto de premisas y
la conclusión de una inferencia como el concepto de la implicación debido a que si la
conclusión sigue al grupo de premisas, el grupo de estas va a implicar a la conclusión.

8.4.1 Analizar la validez de una inferencia.


Cuando es requerido hacer el análisis de la validez o la invalidez de una inferencia,
inicialmente se tiene que identificar la conclusión del grupo de premisas. En la lengua
ordinaria, la conclusión no siempre se va a manifestar al final del argumento, de manera
que la conclusión se puede manifestar al inicio, en la parte intermedia, o en la parte
final de la inferencia. Se puede dar el caso que el sentido sobre el contexto de la
inferencia suministre una pista para poder identificar la conclusión del grupo de
premisas. El mecanismo de identificación puede ser efectuado con mayor eficiencia si
es conocido la función que realizan algunos términos de enlace para unir el grupo de
premisas y la conclusión. Estos enlaces se usan de referencia para establecer, si la
premisa estaba antes o posterior a la conclusión. Cuando se desarrolla a nivel práctico
es ubicada antes que la conclusión de manera que las proposiciones sobrantes van a ser
premisas. Las diferentes ubicaciones que pudieran ocupar las premisas y la conclusión
en una inferencia de manera esquemática pueden presentarse la siguiente forma.
1. 𝑃1 , 𝑃2 , … , 𝑃𝑛 𝐿𝑢𝑒𝑔𝑜, 𝑞𝑢𝑒 𝐶
2. 𝐶, 𝑝𝑢𝑒𝑠𝑡𝑜 𝑃1 , 𝑃2 𝑦 𝑃𝑛
3. 𝑃1 , 𝑃2 , 𝑙𝑢𝑒𝑔𝑜, 𝐶, 𝑝𝑢𝑒𝑠𝑡𝑜 𝑞𝑢𝑒 𝑃𝑛

 En el primer caso de los representados anteriormente, el término de referencia


es la palabra “luego”, debido a que posterior a esta se manifiesta la conclusión,
lo que a su vez significa que existen otros términos semejantes que hacen
connotar la conclusión, como, por ejemplo: por lo tanto, en consecuencia, por
consiguiente, de ahí que, de modo que, etc.
 En lo referente al caso número dos, la palabra “puesto” se identifica como el
término referencial, lo que significa que la conclusión se manifiesta antes que el
término, para este caso, a los otros términos que van a connotar, que la
conclusión se encuentra antes pudieran ser los siguientes: dado que, en vista de,
ya que, etc.
 En cuanto al tercer caso, la conclusión es manifestada en el intermedio del
argumento, lo que significa que los términos de referencia van a cumplir la
misma función que en el primer y segundo caso.

Independientemente de la inferencia que se quiera simbolizar la conclusión y la


secuencia de las premisas deben ser manifestadas de acuerdo al esquema a
continuación:
𝑃1
𝑃2
.
.
.
𝑃𝑛
.·. 𝐶
En este esquema se representa la secuencia de las premisas y la conclusión, la fórmula y
el inferencial debe ser obtenido por medio del siguiente esquema:
𝑃1 ˄ 𝑃2 ˄ … ˄ 𝑃𝑛 . ⟶. 𝐶

Es importante resaltar que los términos expuestos anteriormente no son una regla, sólo
se indica de tipo referencial. Como por ejemplo en el tercer caso anteriormente
mencionado, contiene una correcta interpretación de la inferencia de manera que la
palabra “puesto que”, se representaba como una forma condicional de la siguiente
forma:
𝑃1 ˄ 𝑃2 . ⟶. 𝑃𝑛 ⟶ 𝐶

Para poder establecer la validez o invalidez tiene que ser evaluada la fórmula de
inferencia por medio de la tabla de valores o el método de las tablas abreviado. A
manera de ejemplo, y para simplificar el proceso, se inicia de una hipótesis verdadera
de cada premisa y falsa de la conclusión, que pudiera expresarse de la siguiente forma:
𝑃1 ˄ 𝑃2 ˄ … ˄ 𝑃𝑛 . 𝐶
⟶.
V V V F

Luego, la implementación de las reglas del método abreviado exactamente son las
mismas:
 Si el barco no tiene piratas, quiere decir que el Capitán murió o esta de
prisionero, pero el Capitán no murió y tampoco está de prisionero, como
consecuencia del barco trae piratas.

Como primer paso se tiene que identificar, con sus respectivos símbolos toda
proposición simple de la inferencia por medio de una variable proposicional, seguido
por la secuencia de premisas y finalmente por la conclusión:
 El barco tiene piratas = p.
 El Capitán murió = q.
 El Capitán es prisionero = r.
~𝑝 . ⟶. 𝑞 ˅ 𝑟
~𝑞 ˄ ~ 𝑟
.·. 𝑝

Se puede evidenciar que la inferencia anterior pertenece al primer caso, debido a que la
conclusión se manifiesta al final del argumento. De manera que sí se unen las premisas
por el operador “˄” y luego éstas se unen con la conclusión por el operador “. ⟶,”, se
va a obtener la fórmula siguiente de inferencia:
(~ 𝑝 . ⟶. 𝑞 ˅ 𝑟) ˄ (~ 𝑞 ˄ ~ 𝑟) . 𝑝
⟶.

Luego la validez y la invalidez se decide por el siguiente método abreviado:

(~ 𝑝 . ⟶. 𝑞 ˅ 𝑟) ˄ (~ 𝑞 ˄ ~ 𝑟) . 𝑝
⟶.
V F V F V V V F V V F F
F F

Se puede evidenciar, que se ha asignado el valor de V directamente a las premisas, y F a


la conclusión correspondiente, luego se deducen los valores por medio de las fórmulas
de las reglas conocidas. Se aprecia que esta inferencia es válida, debido a que la
contradicción en” r” indica la inexistencia de una falsa interpretación en la formulación
de la inferencia, entonces del grupo de premisas implica a la conclusión.

8.4.2 Técnicas de inferencia.


La técnica de inferencia se relaciona a la manera en que el sistema hace su
razonamiento con su conocimiento para poder llegar a resolver un problema. Este
razonamiento es llevado a cabo por medio del uso de las técnicas de inferencia y una
serie de estrategias de control. Estas técnicas dirigen al sistema a medida que combinan
el conocimiento que contiene en su base con los hechos contenidos en la memoria de
trabajo. Es por ello que las estrategias de control final los objetivos para el sistema y
también dirigen su razonamiento.

Los seres humanos llegan a resolver los problemas por medio de la combinación de los
hechos. Seleccionando los hechos de un problema determinado y los usan con su
entendimiento específico del dominio del problema para poder generar el conjunto de
conclusiones lógicas este proceso se denomina razonamiento. Es de suma importancia
llegar a entender cómo se realiza el proceso de razonamiento de los seres humanos,
para poder contar con una base que va a servir como guía durante el procesamiento del
conocimiento que realiza un sistema experto.

Las estrategias del razonamiento más comunes, que se usan en los motores de
inferencia de los sistemas que se basan en el conocimiento se definen a continuación:
 Estrategias generales de búsqueda. Un proceso de búsqueda efectivo se necesita
observar alrededor del entorno, poder escuchar y emitir juicios pertinentes de
los descubrimientos sobre lo que se está tratando de identificar. Las técnicas de
búsqueda que implementan los humanos, casi siempre son de tipo sistemáticas
y tiene un determinado plan de búsqueda. Los computadores se pueden
programar con avanzados mecanismo de búsqueda mundo o un grupo de
algoritmos muy eficientes. En los sistemas expertos los algoritmos de búsqueda
se implementan en la base de conocimiento para poder identificar el
conocimiento, de manera que no permite resolver el problema, pero puede
suministrar los medios que ayudan a encontrar una solución.

Cuando se habla sobre búsquedas a ciegas quiere decir aquellos tipos de


búsqueda donde la situación de las variables y el dominio no influye
directamente en el camino de búsqueda. El tipo de estrategia es la que se
encarga de dar inicio a la búsqueda en el nodo principal o nodo raíz, luego inicia
hacia abajo hacia cada camino que conducen a los nodos hojas. Si el nodo
objetivo se alcanza el proceso de búsqueda finaliza, de lo contrario continúa el
proceso hasta que se ha alcanzado, y recurrido cada uno de los nodos. Tomando
en cuenta otro mecanismo como el que es iniciado en el nodo raíz y se
desarrolla en el primer nivel de los nodos que se sitúan abajo del nodo raíz,
buscando en cada uno de los nodos pertenecientes a ese nivel hasta que él nodo
buscado se encuentra o el recorrido es finalizado.

El proceso denominado búsqueda heurística implementa dominios definidos e


información acerca de la ubicación para poder alcanzar un objetivo. Este
proceso no va a garantizar conseguir una solución al problema cuando el primer
intento se ha realizado, pero sí suministra el apoyo para que los resultados sean
emitidos mucho más rápido. Este proceso de búsqueda en la mayoría de los
casos integra el uso de evaluaciones matemáticas en algunas oportunidades con
la finalidad de poder determinar la manera en que puede movilizarse al nodo
siguiente para encontrar una solución.

Búsqueda desde la raíz hasta los nodos Búsqueda desde la raíz después de los
hojas. niveles inferiores.

A continuación, algunos conceptos sobre razonamiento según Turban.


 Razonamiento Formal: un teorema de manera conceptual se puede representar
como un tipo de instrucción en la que una afirmación pudiera ser que una
premisa tenga que implicar una conclusión. Por ejemplo: si llueve el pasto se
monja. Se puede probar que este tipo de teorema va a ser verdadero o se
asume que la negación del mismo es una verdad, si no se puede probar que la
negación del teorema sea cierta “si llueve el pastor no se moja”, se va a concluir
que el teorema es verdad.
 Razonamiento Deductivo: las personas hacen uso de este tipo de razonamiento
para hacer deducciones sobre información nueva, partiendo de información ya
conocida y que ha sido relacionada de manera lógica, por medio de los hechos
del problema, conocimiento relacionado o los axiomas. El procedimiento es
iniciado cuando los axiomas se comparan con un juego de implicaciones para
poder concluir nuevos axiomas. Es basado en la lógica y uno de los mecanismos
que más se usa para la resolución de problemas por las personas.
 Razonamiento Inductivo. Este tipo de razonamiento es usado por las personas
para poder emitir conclusiones generales partiendo de un conjunto de hechos
por medio del proceso de generalización que se asume que ha aplicado a todos
y cada uno de los casos de un tipo definido. Es tipo de transición de pocos a
todos.
 Razonamiento abductivo. En una manera de deducción que puede permitir una
inferencia plausible, que se refiere a que la conclusión debe partir de la
información que dispone, pero a su vez esta puede ser errónea.
 Razonamiento analógico. Por medio de la experiencia los seres humanos se
forman un método mental sobre algún concepto. Usan este modelo por medio
del razonamiento analógico como apoyo en el entendimiento sobre alguna
situación hecho u objeto. Determinan las analogías de los casos por medio de la
búsqueda de semejanzas y diferencias para poder retirar el razonamiento. Una
trama suministra de una manera muy natural la captura de información que es
estereotipada. Las características comunes de un conjunto de elementos que
tienen similitudes y por medio el razonamiento analógico se obtiene el
entendimiento de un nuevo objeto de manera que este nuevo objeto puede
refinar el entendimiento marcando específicas diferencias.
 Razonamiento por sentido común. Las personas llevan a cabo su proceso de
aprendizaje por medio de la experiencia para poder resolver los problemas de
una forma muy eficiente. Hacen uso de sentido común con la finalidad de
derivar una solución, que se ha basado más en el juicio que en la lógica exacta.
 Inferencia. Los sistemas expertos realizan un modelo del proceso de
razonamiento de lo humanos por medio de una técnica denominada inferencia,
ésta se realiza en los motores de inferencia. Los motores hacen la combinación
de los hechos con el conocimiento con la finalidad de poder inferir una nueva
información o conclusiones. Todas las reglas que componen la base de
conocimiento se tienen que verificar con la finalidad de ver si la conclusión
puede satisfacerse, este mecanismo puede realizarse hacia adelante o hacia
atrás y además de manera continua hasta que ya no pueden ser activadas más
reglas o hasta que el objetivo sea alcanzado. Los dos tipos de aproximaciones
que se usan para ejercer control en el razonamiento de un sistema experto que
ha sido basado en reglas se definen como encadenamiento hacia atrás y hacia
delante.
 Justificación del razonamiento. El sistema experto tiene que dar a conocer su
razonamiento, este proceso se realiza en un módulo adicional que suministra
una explicación al usuario acerca de por qué se ha realizado una pregunta y
como se ha llegado a la conclusión. Recurrentemente los usuarios establecen
que las justificaciones sean dadas con la finalidad de poder hacer soporte a los
resultados, debido a que en algunas oportunidades la validez del
descubrimiento del sistema se cuestiona. La explicación que se ha suministrado
va a seguir el proceso de razonamiento que ha usado el experto, es por esto que
el usuario sentirá más confianza cuando se emita un resultado y pueda llegar a
conocer el razonamiento que éste ha implicado. Respecto al por que, de una
pregunta, en el momento que una persona hace una consulta al experto, por lo
general la conversación se torna de manera interactiva, por lo que en algún
momento dicha persona puede hacer la pregunta al experto acerca del por qué
sigue una línea de razonamiento. La explicación recibida con lleva al
entendimiento sobre lo que el experto ha considerado relevante conocer por
parte del usuario.

Cuando el sistema suministra este tipo de aplicaciones hace que sea mucho más
entendible para el usuario lo que genera más seguridad al usarlo.
8.5 Mecanismos de inferencia.
Como ya se ha mencionado anteriormente los motores de inferencia usan los datos que
se basan en los hechos o las evidencias, y el conocimiento como el conjunto de reglas
que están almacenadas en la base del conocimiento, para poder generar conclusiones
nuevas o hechos. Como por ejemplo si la premisa que tiene una regla es considerada
cierta, entonces la conclusión de dicha regla también es cierta. Los datos iniciales
aumentan con la incorporación de conclusiones nueva. Debido a esto los hechos
iniciales, o datos para el punto de partida como las conclusiones que derivan de ellos,
conforman los hechos o los datos que se van a disponer dado un instante. Para poder
generar conclusiones, lo especialistas usan un conjunto de variedad de tipos de reglas y
mecanismos de inferencia.

Una conclusión es producida por medio de la implementación de las reglas acerca de


los hechos presentes, ejemplo:
 Se defina una regla, si de (p) y (q) entonces (r).
 Se definen los hechos: (p) y (q), son los hechos mencionados en la cláusula “si”
de la regla, o lo que, es decir, las condiciones que se dan para aplicar la regla.
 La aplicación de la regla consiste: en la deducción de los hechos (p) y (q) del
hecho (r).

En los sistemas expertos, un hecho existe sólo porque se está contenido en la base de
los conocimientos. los hechos contenidos en las cláusulas “si”, se denominan premisas,
y el contenido de la cláusula “entonces”, esas denominado como conclusión. Cuando
una regla es aplicada a algunos hechos se puede decir que la regla se ha disparado.
Dicho disparo desencadena la inclusión del nuevo hecho en la base de los
conocimientos.

Mecanismos de Inferencia.
8.6 Reglas de inferencia.
En cuanto a las reglas de inferencia, el motor pueda hacer uso del modus ponens y el
modus tollens.

8.6.1 Modus Ponens.


Es considerada como la regla de inferencia que más se usa, en usada para la obtención
de conclusiones simples, en esta es examinada la premisa de la regla, y si ésta resulta
ser cierta, la conclusión va a pasar a formar parte del conocimiento. Como medida de
ilustración, se va a suponer que se tiene la regla: “Si A es verdadero, entonces B es
verdadero”, sabiendo que A es verdadero. La regla modus ponens, va a concluir que B
es verdadero. Esta regla simple, por muy singular que parezca, hoy en día es la base de
algunos sistemas expertos.

Modus Ponens.

8.6.2 Modus Tollens.


Es usado también para la obtención de conclusiones simples, en esta regla la conclusión
se va a examinar, y si ésta resulta ser falsa, se va a concluir la premisa como falsa. Por
ejemplo, partiendo de la definición de la siguiente regla, “si A es verdadero entonces B
es verdadero”, en cambio se sabe que B falso. Entonces por medio del uso de las reglas
modus ponens, la posible la obtención de ninguna conclusión, en cambio la regla modus
tollens, determina que ya es falso.
Modus Tollens

Funciones del mecanismo de inferencia.


 Se encarga de determinar el conjunto de acciones que van a tener lugar, el
orden en que se ejecutan, y la manera de cómo lo van a ser de las diferentes
partes del sistema.
 Va a poder determinar el cómo y el cuándo se van a procesar las reglas, y
dependiendo del caso también elige las reglas que se tienen que procesar.
 Va a controlar el diálogo que se mantiene con el usuario.
 Determina la decisión sobre los mecanismos para el procesamiento de las
reglas, o lo que es igual, a las estrategias para la búsqueda que se van a
implementar, considerándose muy importante para efectos de efectividad del
sistema.

Ante de una gran variedad de problemas se van estructurar diferentes mecanismos de


inferencia. Dicho mecanismo tiene que estar en cada estado al problema que va a
solucionar. Como por ejemplo si se tiene una imposición de dinero, correspondiente a
una variedad de circunstancias, no se usará la misma estrategia de procesamiento del
conocimiento que se usaría para realizar el diagnóstico de las enfermedades.
Mecanismo de resolución.
Con la finalidad de poder obtener conclusiones compuestas, partiendo de dos reglas
que se encuentran encadenadas, se usan los mecanismos de resolución, definido
mediante lo siguiente paso:
a. Se van intercambiar las reglas con expresiones lógicas que sean equivalentes.
b. Se van a intercambiar entre sí, con la finalidad de generar una expresión lógica
nueva.
c. Luego se va a combinar con la evidencia presente en los hechos.

Para realizarlo, se debe tener en cuenta lo siguiente:


 La regla: si A es verdadero entonces B es verdadero, es equivalente a la
siguiente expresión lógica: A es falso o B es verdadero. Esta equivalencia se
demuestra en la tabla a continuación, en las últimas dos columnas.

Representación del mecanismo de resolución.

 En cuanto a la expresión lógica, “A es falso o B es verdadero” y “B es falso o C es


verdadero”, implican “A es falso o C es verdadero”.
Representación del mecanismo de resolución.

Cabe destacar que, en todas las veces, no siempre tienen que resultar conclusiones del
análisis de una regla o encadenamiento de dos o más, debido a que puede que no se
conozca la verdad o la falsedad sobre las premisas. Ante estos casos el sistema experto,
o para ser más específico el motor de inferencia, puede optar por lo siguiente:
 Abandona la regla en vista de no poder llegar a ningún tipo de conclusión.
 Genera la pregunta por medio de su sistema, acerca de la falsedad o la verdad
sobre las premisas, y continúa el proceso hasta poder generar una conclusión.

Otra manera de hacer la combinación de las reglas encadenadas para generar


conclusiones compuesta por medio de las técnicas de razonamiento incierto, se definen
de la siguiente forma:
La lógica clásica, como la lógica usada hasta la actualidad (modus ponens y modus
tollens), cuando la premisa de una regla verdadera, la conclusión va a ser verdadera a
entonces dada la regla: “si A es verdadero entonces B es verdadero”, se puede expresar
que A implica B por medio de la probabilidad. Pero, este tipo de modelo basado en lo
clásico presenta demasiadas limitaciones, debido a que hay multitudes de casos
prácticos en lo que estas reglas no pueden ser posibles. Ejemplo, la manifestación de
una variedad de síntomas no va a garantizar la presencia de una enfermedad, así estos
síntomas sean un indicio definitivo que esto ocurra. Por esto, es mucho más fácil e
interesante, llegar a generalizar la lógica clásica, por un tipo de lógica incierta. De esta
manera, la regla plasmada anteriormente, visualizada tienda de manera generalizada,
se puede interpretar diciendo que: “A implica B con probabilidad P(B/A)” (la
probabilidad de B que se condiciona por A o la probabilidad de B que supone que A es
cierto). Incluso en el caso de no implicación “A no implica B”, se puede tratar como un
caso de implicación extremo: “A implica B con una probabilidad nula”.

Implicaciones Inciertas.

El problema principal, presente en este tipo de lógica, se refiere a la propagación de


incertidumbre, debido a que en toda afirmación tiene que estar acompañada por una
medida de incertidumbre (factor de certeza, probabilidad, etc.) y al hacer la
combinación de varios hechos inciertos se tiene que suministrar a las conclusiones de
medidas de incertidumbre. El problema se basa en que, una vez que se defina la media
de incertidumbre, que pertenece a las premisas, la incertidumbre de la conclusión por
lo general no es única, además se puede tomar una variedad de valores. Se le añade la
posibilidad de las reglas inciertas, se complican más. Por desgracia los actuales sistemas
expertos, han desarrollado poco los métodos de propagación incertidumbre, siendo
uno de los puntos más débiles de ellos.
8.7 Máquina de inferencia hacia adelante y hacia atrás.

Implementación del Racionamiento hacia adelante.


Máquina de inferencia hacia atrás
Ciclo de Reconocimiento – Acción.

Definición de un ejemplo de un programa compuesto por tres proposiciones que van a


determinar el tratamiento hacia un cliente que no ha cancelado su cuenta.
 Primera regla, bueno: Si no se ha asignado categoría de cuenta al cliente y este
tiene buenos antecedentes de cuenta, entonces, asigne al cliente la categoría
uno (1).
 Segunda regla. Malo: Si no se ha sido asignada la categoría de cuenta al cliente y
el cliente posee malos antecedentes de cuenta, entonces se le asigna una
categoría cero (0).
 Tercera Regla, malo pero antiguo: si no se le ha asignado categoría de cuenta al
cliente, y este posee malos antecedentes de cuenta, y este posee más de 10
años de antigüedad, entonces asigne una categoría uno (1).
 Nota: se nota que, cuando la regla tres es cierta, la regla dos siempre es cierta.
Ejemplo:
Ciclo de Reconocimiento y acción.
 Match: creación del match en la medida que las condiciones de una regla se
satisfacen por algún elemento de la memoria de trabajo.
 Selección: Selecciona una regla. La que más condiciones tenga. Si queda más de
una son elegidas al azar.
 Ejecución: Edita la memoria de trabajo de acuerdo a las indicaciones de la parte
procedural de la regla definida.

Reglas.
 Regla – Bueno:
 Si la categoría cliente = no hay
 Y antecedentes cliente = buenos.
 ⟹ categoría cliente = prioridad.
 Regla – Malo.
 Si categoría cliente = no hay.
 Y antecedentes cliente = malos.
 ⟹ categoría cliente = normal.
 Regla – Malo – Antiguo.
 Si categoría cliente = no hay.
 Y antecedentes cliente = malos.
 Y antigüedad cliente > 10.
 ⟹ categoría cliente = prioridad.

Hechos.
 Cliente = Víctor.  Cliente = José.
Categoría cliente = no hay. Categoría cliente = no hay.
Antecedentes cliente = malos. Antecedentes cliente = malos.
Antigüedad cliente = 22. Antigüedad cliente = 9.
Ciclo de reconocimiento. Acción nº1.
Match: {[Regla2 malo, 1]
[Regla3 malo pero antiguo, 1]
[Regla2 malo, 2]}

Selección: [Regla3 malo pero antiguo, 1]


Ejecución: cliente = Víctor.
Categoría cliente = prioridad.

Ciclo de reconocimiento. Acción nº2.


Match: {[Regla2 malo, 2]}
Selección: [Regla2 malo, 2]
Selección: [Regla2 malo, 2].
Ejecución: cliente José.
Categoría cliente: normal.

Ciclo de reconocimiento. Acción nº3.


Match: {}
Selección: ninguna ⟶ para.

8.9 Encadenamientos.
Se denomina cadena a un grupo de variadas inferencias que enlazan un problema a una
solución. Cuando una cadena recorre otra explora un problema hasta la solución, se le
va a llamar cadena hacia delante. De otra forma se va a llamar encadenamiento hacia
adelante, al razonamiento que va a ir desde los hechos hasta las conclusiones que
derivan de ellos. En otro orden de ideas cuando recorre desde la hipótesis hasta los
hechos que la sustentan, se va a denominar cadena hacia atrás. Otra manera de definir
una cadena hacia atrás, partiendo desde el punto de vista del objeto que puede
alcanzar a satisfacer los sub-objetos.
8.9.1 Encadenamiento hacia delante.
También se conoce como razonamiento de abajo hacia arriba, debido a que se razona
partiendo de la evidencia o los hechos que están desde el nivel más bajo hacia las
conclusiones del nivel más arriba que se fundamentan en estos hechos. Este tipo de
encadenamiento es un proceso inferior al que se le guía por los datos, de manera que
se busca, dependiendo de los datos que tiene, en este caso serían los hechos, conseguir
la activación de las reglas que igualen con los hechos, y luego poder realizarlas. El
encadenamiento hacia delante es dado cuando la información que se introduce en el
sistema desencadena la ejecución de una regla, y si es necesario la conclusión que se
recibe permite que se ejecuten otras reglas. Los hechos van a ser las unidades
principales del paradigma que se basa en el conocimiento, debido a que no pueden
descomponerse en una unidad más reducida como un significado. Este
encadenamiento se realiza cuando el objetivo que se propone al sistema desencadena
la ejecución de una regla y la conclusión recibida desencadena la ejecución de otra, y así
de manera sucesiva hasta obtener una respuesta ya sea negativa o positiva. La parte
final va a ser detectada cuando ya no es posible producir más encadenamientos, como,
por ejemplo, cuando se ha llegado a un axioma.

Ejemplo.
1. Si X es enfermedad entonces X es síntoma.
2. Síntoma: dolor de cabeza.
3. Síntoma: fiebre.
4. Síntoma: dolor de garganta.

Al hacer la evaluación del objetivo “el dolor de cabeza es enfermedad”, da inicio a la


regla (1), que luego va a desencadenar la regla (2), a partir de aquí no es posible
producir más encadenamientos, debido a que la segunda regla en un axioma. Una vez
que se llega a este punto el motor de inferencia va a regresar y emite una respuesta
positiva a la pregunta.
Ejemplo.
Nº . Regla Lógico Programático
1 a:-b Si (b)entonces (a)
2 b:-c Si (c)entonces (b)
3 c:-d Si (d) entonces (c)

Si se parte desde la suposición, que el hecho ingresado es (d). Quiere decir que el paso
siguiente se va a recorrer en la base de reglas para tener conocimiento, sobre cuáles
van a coincidir con el hecho que se ha ingresado, para luego ser activadas. Una vez
culminado este proceso la regla que se va activar es la tercera, debido por ese único. La
regla se va a ejecutar es la que se añade a los hechos. Debido a esta situación la regla
siguiente que se va activar es la segunda, al ser ejecutada se obtiene de (b). Luego se
ejecuta la primera regla, de manera que se obtiene (a). La base de los hechos va a pasar
a estar compuesta por:
𝑏ℎ = < 𝑑, 𝑐, 𝑏, 𝑎 >

En algunas oportunidades en el encadenamiento hacia delante en el denominado


conducido por datos y debido a que el motor de inferencia usa la información
suministrada por el usuario con la finalidad de poder desplazarse por medio de una red
de un ANDs y Ors lógicos hasta que ha encontrado un punto terminal, que vendría
siendo el objeto. Si el motor de inferencia no es capaz de encontrar el objeto por medio
del uso de la información existente, hace la solicitud de más. Los atributos que van a
definir al objeto hacen la creación de un camino que va a dirigir al mismo objeto, la
única manera de poder alcanzar dicho objeto, es dada por el cumplimiento de todas las
reglas. Es por ello que un motor de inferencia con encadenamiento hacia delante inicia
con alguna porción de información y luego trata de conseguir algún objeto que puede
encajar en ella. A manera de referencia se pudiera expresar que, en un sistema,
encadenamiento hacia delante de un árbol es construido desde las hojas hasta la raíz.
De lo anteriormente expresado queda manifestar el ejemplo siguiente, donde se va
alcanzar al objeto “Nervio cubital”, cuando se le suministran al motor de inferencia, los
datos de los atributos.
Encadenamiento hacia adelante.

8.9.2 Encadenamiento hacia atrás.


Este tipo de encadenamiento de Hegel, que se basa en objetivos, y va a consistir en el
establecimiento de una conclusión por medio de la búsqueda de una regla. Si al hacer la
consulta a la base de las afirmaciones, no es posible encontrar una afirmación que vaya
a permitir lo anteriormente planteado, es posible establecer esta con un objetivo
mediador y encontrar una regla que dirija hacia la conclusión y así de manera sucesiva.
En otras palabras, el encadenamiento hacia atrás, por medio de un objeto, va a buscar
una regla que pueda definir dicha conclusión, el proceso va a ser repetitivo hasta poder
enlazar con la regla, que dicha conclusión pueda satisfacer el objetivo que se ha
propuesto, a menos que los identifique que el problema no puede ser resuelto de
manera positiva.

Es importante realizar las preguntas correctas con la finalidad de recibir la evidencia y


poder determinar una respuesta correcta. Como requisito importante para esto,
consiste en que el sistema experto, tiene que formular las preguntas, que estén
relacionadas a la hipótesis, la cual se esté intentando probar. En condiciones normales
el sistema pudiera permitir al usuario presentar de manera voluntaria la evidencia, sin
que el sistema no lo haya solicitado. Al permitirle al usuario presentar dicha evidencia,
sin agilizar el proceso de encadenamiento hacia atrás, haciendo que el sistema sea
mucho más conveniente. La principal desventaja radica, en que una programación más
compleja es requerida para el sistema experto, debido a que éste puede que no siga
una cadena de relación.
Esta forma de encadenamiento, es un proceso que es dirigido por los objetivos, debido
a esto se tiene que preguntar al sistema acerca de un objetivo en concreto, entonces el
sistema intenta hacer la verificación para este, de manera que sólo va adicionar la
información que sea importante para ser verificada durante el proceso de inferencia.

Ejemplo.
Si se quiere conocer sí “dolor de cabeza es un síntoma”, se buscaba una regla que
contenga esta afirmación en sus consecuencias.

Haciendo el análisis de las siguientes reglas:


1. Si x enfermedad entonces x en un síntoma.
2. Síntoma dolor de cabeza.
3. Síntoma fiebre.
4. Síntoma dolor de garganta.
5. Si X es síntoma entonces X es dolencia.

La quinta regla es la que satisface esta condición, con el seguimiento de esta regla hacia
atrás hay que buscar otra que pueda validar sí “dolor de cabeza” es una enfermedad,
esto se hace con el axioma dos.
Ejemplo.

Nº. Regla Lógico Programático


1 a:-b Si (b)entonces (a)
2 b:-c Si (c)entonces (b)
3 c:-d Si (d) entonces (c)

Partiendo desde la suposición que para este ejemplo no hay ningún hecho ingresado, el
sistema va a preguntar el objetivo que se quiere verificar, para este caso se introduce
(a) como el hecho que se va a verificar.
El sistema tiene como objetivo hacer el intento de emparejar, como alguna regla de la
base de los hechos. Para este caso sólo se empareja la regla número uno con el
objetivo, siendo la única que se va activar. Al hacer la verificación de la regla, el sistema
tiene el conocimiento que tiene que hacer la verificación del precedente de la regla “b”
y activa la segunda regla, debido a que esta permite hacer la verificación de (b). Cuando
esta regla finalice, se tiene que hacer la confirmación (b) y (c) y se tiene que verificar.
Ahora el objetivo es (c), por lo que la única regla que va a permitir su verificación es la
tercera, de manera que (d) debe ser confirmada. El sistema implementa el tipo de
estrategia que consiste en mirar primero en la base de los hechos, encontrar luego una
regla que pueda demostrar el hecho, en el caso de que ninguna de las opciones sea
viable, se pregunta al usuario si (d) es cierto o no. Dependiendo de la respuesta dada
por el usuario, (c), (b) y el objetivo, (a) se incluye a la base de los hechos y la inferencia
se termina, o (a)termina debido a que no hay posibilidad de confirmar (a), por lo que
(a), se considera falso.

Encadenamiento hacia atrás.


8.9.3 Características del encadenamiento hacia delante y hacia atrás.
Encadenamiento hacia adelante
 Planifica, supervisa, controla.
 Del presente al futuro.
 Desde el antecedente a la consecuencia.
 Es controlado por los datos y el razonamiento y de abajo hacia arriba.
 Las labores se realizan hacia adelante con la finalidad de encontrar las
soluciones que se desprenden de los hechos.
 Los antecedentes son los que determinan a la búsqueda.
 La explicación no es facilitada.

Encadenamiento hacia atrás en.


 Diagnóstico.
 Del presente al pasado.
 De la consecuencia al antecedente.
 Es controlado por los objetos y el racionamiento es de arriba hacia abajo.
 Accesos a las labores hacia atrás con la finalidad encontrar los hechos que van a
sustentar la hipótesis.
 Las consecuencias son la que determinan la búsqueda.
 La explicación si está facilitada.

En el proceso de encadenamiento hacia delante se hace el análisis de las reglas


partiendo desde la condición, en cambio que en el proceso de encadenamiento hacia
atrás seas el análisis de las reglas partiendo desde la conclusión.
8.9.4 Cuando hacer uso del encadenamiento.
Encadenamiento hacia delante.
 Una de las razones para la implementación de encadenamiento hacia delante
consiste en el hecho de la disponibilidad de todos los datos que se necesitan
para poder encontrar una solución al problema desde el inicio de la consulta.
 En este tipo de sistema la red la hace uso del conocimiento que heurístico, para
ir dirigiendo la búsqueda en el ambiente del problema.
 Las reglas tienen definido gran cantidad de conocimiento acerca del proceso
para resolver el problema.
 Un buen caso para ser uso del encadenamiento hacia delante es cuando el árbol
es ancho y poco profundo, debido a que el encadenamiento hacia delante va a
facilitar la búsqueda primero a lo ancho, lo que consiste en que este
encadenamiento la búsqueda de conclusiones avanza nivel a nivel.
 Hace uso de sólo los datos con los que dispones, en cambio el encadenamiento
hacia atrás solicita al usuario afirmaciones que no ha podido deducir.

Encadenamiento hacia atrás.


 Se implementan cuando sólo hay un estado final y muchos estados iniciales
posibles.
 Cuando se presentan problemas en el diagnóstico se pueden tratar con
encadenamiento hacia atrás, debido a que normalmente sólo existe un
diagnóstico correcto, y un gran número de datos iniciales “a priori ”, que son
importantes como para ser tratados y considerados suficientes para poder
resolver el problema.
 En conjunto a los sistemas de encadenamiento hacia delante, las reglas de
encadenamiento hacia atrás sólo, contienen conocimiento acerca del dominio.
 El proceso de encadenamiento hacia delante no es muy específico, debido a que
al inicio ejecutar todas las reglas, de toda la información que se ha introducido,
por otra parte, el encadenamiento hacia atrás tiene implícito el proceso de
búsqueda, considerándose mucho más específico y eficaz.
 El encadenamiento hacia atrás hace la búsqueda primero a fondo del árbol, para
esta clase de búsqueda es profundo y estrecho.

Ejemplo de Encadenamiento hacia atrás


Reglas:
1. Si A y C entonces E.
2. Si F y C entonces H.
3. Si B y E entonces H.
4. Si B entonces C.
5. Si H Entonces X.

Hechos: A y B.
X es una de las soluciones al Problema
X es una Hipótesis.

X no es un hecho
X se concluye solo por 5.
H hipótesis nueva

H no es un hecho
H se concluye solo por 2 y 3
Suponiendo orden (2, 3)
Inicia por 2
F hipótesis nueva

F no se considera un hecho
F no la concluye ninguna regla
F no se puede preguntarle
H no es probada por 2
Bactracking a 3
B nueva hipótesis
B es un hecho
B es verdadera
E hipótesis nueva

E concluida por 1
A nueva hipótesis

A es un hecho
A verdadera
C hipótesis nueva

C concluida por 4
B hipótesis nueva
B es un hecho
B verdadera
C es verdadera
H es verdadera
X es verdadera

8.9 Encadenamiento de reglas.


Este uno de los mecanismos de inferencia que más se usa para la obtención de
conclusiones compuesta. Este puedo ser usado cuando las premisas de algunas reglas
van a coincidir con las conclusiones de otras. Una vez que se desencadena las reglas, los
hechos pueden ser usados, con la finalidad de generar nuevos hechos. Repitiéndose de
manera sucesiva hasta que se obtienen más conclusiones. El tiempo que tarda este
mecanismo va a depender de los hechos conocidos y de las reglas que se han activado,
a continuación, un algoritmo para la estrategia encadenamiento de regla:
 Datos: base de conocimiento, hechos iniciales.
 Resultados: hechos que derivan de ellos.
 Se asigna a los objetos, los valores, como han sido suministrados por los
hechos y la evidencia.
 Se ejecuta cada regla y se concluye hechos nuevos de ser posible.
 Repetir el paso anterior hasta que se obtengan nuevo hecho.

Este algoritmo se puede usar de varias maneras, una de estas inicia con las reglas,
donde las premisas van a tener valores conocidos. Dichas reglas tienen que concluir, y
por medio de sus conclusiones generan nuevos hechos. Donde estos hechos son
añadidos al grupo de hechos conocidos, el proceso va seguir hasta que no se obtengan
hechos nuevos, a continuación, este proceso se puede percibir con dos ejemplos.
Ejemplo: en la siguiente imagen se ilustra un ejemplo de seis reglas que van a relacionar
a trece objetos, de la A la M.

Conjunto de seis reglas relacionadas a trece objetos.

Las relaciones entre ellos están implicadas por las seis reglas, y pueden ser
representadas de la siguiente forma:

Relación entre las 6 reglas.


Cada objeto es representado por un nodo, las aristas se encargan de hacer la
representación de la conexión entre los objetos y las premisas y el objeto dado en una
conclusión. Se puede ver que algunas premisas coinciden con las conclusiones de otras
reglas, como las conclusiones de la regla uno y dos que son los objetos C y G, van a ser
las premisas de la regla 4.

 La regla uno va a concluir que C es verdadero.


 La regla dos va a concluir que G es verdadero.
 La regla tres va a concluir que J es verdadero.
 La regla cuatro va a concluir que K es verdadero.
 La regla cinco va a concluir que L es verdadero.
 La regla seis va a concluir que M es verdadero.

Ejemplo: nuevamente se consideran las seis reglas, mostradas en la figura de reglas del
ejemplo anterior, pero ahora se supone que los hechos serán de la siguiente forma: H
es verdadero, I es verdadero, K es verdadero y M es falso. Como se muestra a
continuación:

Estrategia de encadenamiento de reglas.


Los nodos sombreados son los valores conocidos y los números que poseen en su
interior, significan el orden de conclusión de los hechos.

Lo valores conocidos o hechos y el objetivo, se representa rodeada con un círculo.


Suponiendo que el motor de inferencia implementa dos reglas de inferencia Modus
ponens y Tollens, se aplica el algoritmo de encadenamiento descrito anteriormente y se
obtiene lo siguiente:
 Regla 3 ha concluido que J es verdadero. “Modus ponens”.
 Regla 6 ha concluido “Modus Tollens” que K es falso o L es falso, sin embargo, K
es verdadero, L deberá ser falso.
 Regla 5 ha concluido que G es falso o J es falso, pero J es verdadero, G deberá
ser falso.

Como consecuencia, se genera la conclusión G es falso, pero si el motor de inferencia,


solo implementa el modus Ponens, el algoritmo se va a detener en la primera etapa, y
no emitirá ninguna conclusión hacia el objeto G.

Se evidencia que el método de encadenamiento de reglas claramente diferencia entre


la base del conocimiento y la memoria de trabajo. La memoria de trabajo, tiene los
datos que surgen en el proceso de consulta. Las premisas pertenecientes a las reglas se
van a comparar con los contenidos almacenados en la memoria de trabajo y luego que
se obtengan conclusiones nuevas se pasan a la memoria de trabajo.

8.10 Terminología de motores de inferencia.


EL mecanismo de control o también conocidos como motores de inferencia, se
componen de dos elementos:
 El intérprete de las reglas o mecanismo de inferencia, como el mecanismo que
se encarga de hacer la determinación de las reglas de la Base del conocimiento
que pueden ser usadas para determinar la resolución de un problema.
 Estrategia de resolución o estrategia de control de los conflictos.
Dentro de las funciones de los motores de inferencia se encuentra que: son con
encargados de hacer la ejecución de las acciones que determinan la resolución de un
problema partiendo de un grupo inicial de hechos y eventos por medio de una
interacción con el usuario, la ejecución de estas acciones puede desencadenar la
deducción de nuevo hechos.

Fases del ciclo básico de los motores de inferencia.


 Fase detección (filtro): en esta fase se encuentran las reglas pertinentes, que se
obtienen de la base del conocimiento, del grupo de reglas que son aplicables a
un hecho definido (estado) de la base de los hechos, para luego formar el grupo
de conflictos (interpretación de reglas). En esta fase se lleva a cabo la
construcción del grupo de reglas que son aplicables, el intérprete de estas hace
los cálculos pertinentes con la finalidad de recibir las instanciaciones que
pueden ser posibles en cada uno de los estados de resolución del conflicto
(matching o comparación). Una regla puede ser estancia de más de una a la vez,
en caso de que existan variables que pudieran permitirlo.
 Fase de selección: se realiza la selección de la regla que se va a usar durante la
estrategia de control. Dependiendo las estrategias de control se determinan si
las reglas son o no son aplicadas, según una estrategia que desviaba por meta-
reglas, una estrategia que es dinámica y prefijada. Algunos ejemplos acerca de la
estrategia de control se presentan a continuación:
 Primera regla por el orden establecido en la base de conocimiento.
 La regla que es más o menos utilizada.
 Reglas específicas o generales.
 Las reglas que contengan un grado de certeza elevado.
 El distanciamiento que pueda satisfacer los hechos: prioritarios, antiguos
que los nuevos.
 Implementación de todas y cada una de las reglas.
 Fase de aplicación: la implementación de la regla en una instancia acción de las
variables: edición de la memoria del trabajo. Durante la ejecución de la regla se
efectúa a la edición de la base de los hechos o razonamiento hacia delante, se
hacen los cálculos nuevos, acciones nuevas, preguntas al usuario, sus objetivos
nuevos o razonamiento hacia atrás, se realizará la propagación de las
instanciaciones y el grado de certeza. El proceso de aplicación finaliza una vez
que encontrada la solución al objetivo planteado y cuando no queda ninguna
regla para ser aplicada, en este caso no se puede determinar si se ha realizado
un éxito o fracaso del proceso.
9. PATRONES.

9.1 Reconocimiento de patrones.


Se le conoce como clasificación de patrones. Desde el punto de vista natural del
problema y su proceso de resolución, el reconocimiento de los patrones se divide en
dos tipos, clasificación supervisada y la no supervisada. Estos patrones también pueden
ser divididos en dos formas: concreta y abstracta. Aspectos como la discusión, el
pensamiento y la conciencia, van a conformar la categoría de investigación de
reconocimiento de los conceptos, que se definen como otra rama de la inteligencia
artificial. El reconocimiento de patrones descrito anteriormente se refiere no más que a
la identificación de una serie de patrones específicos de objetos como: ondas
producidas por el habla, onda producida por sismos, electroencefalograma,
electrocardiogramas, sensores biológicos, símbolos, texto, fotos, e imágenes.

El proceso de investigación referente al reconocimiento de patrones, se fundamenta


principalmente en dos aspectos:
 El primero es como las personas logran percibir los objetos y hasta a las mismas
personas como tal, pertenecientes a un conjunto de ciencias del conocimiento.
 El segundo aspecto, como las computadoras, para la creación de teorías y
procedimientos de reconocimiento de patrones dirigido hacia una tarea
específica.

El primer aspecto se define como el contenido de investigación de neurofisiólogos,


biólogos y fisiólogos, y en cuanto al segundo aspecto ha producido resultados de
investigación por medio de los esfuerzos en la matemática, informática, y expertos en
computación de los últimos tiempos.

El computador implementa un proceso de identificación y clasificación de grupos de


eventos. El proceso o evento que es reconocido puede integrar otros objetos en
concreto como imágenes, sonido o texto. O también objetos de tipo abstractos como el
estado y grado, distinguiendo esta información de manera digital llamándose
información de nodo. Las variedades de las categorías agrupadas por el reconocimiento
de los patrones, serán determinadas por el tipo de problema específico. A menudo el
número de categorías no es conocido al inicio, para ello se necesita de la observación
continua por parte del sistema sobre los objetos, luego ser determinados.

Normalmente el reconocimiento de patrones se relaciona con la cibernética, biología,


informática, lingüística y psicología. Estas mantienen una relación de tipo cruzada con la
inteligencia artificial y el procesado de imágenes. Como, por ejemplo, los sistemas
adaptados de reconocimiento de patrones contienen mecanismos para el aprendizaje
de la inteligencia artificial, la comprensión del ambiente y el lenguaje durante la
investigación de inteligencia artificial contiene problemas de reconocimiento de
patrones.

El reconocimiento de patrones comienza su desarrollo desde al año 1920. con la llegada


de las computadoras en 1940 y el desarrollo del IA a partir del 1950, el reconocimiento
de patrones ágilmente se transforma en una disciplina desde el año 1960. En términos
generales el proceso que realiza es basándose en análisis de la alineación de la
información observada con la finalidad de obtener las características. Los Humanos de
forma recurrente han desarrollado sistemas neuronales muy complejos por medio de la
cognición y el entendimiento de un sin fin de cosas en los últimos tiempos para poder
lograr desarrollar la capacidad del reconocimiento de los patrones. Como, por ejemplo:
los seres humanos son capaces de distinguir la llave correspondiente a una cerradura,
diferenciar entre una motocicleta y una bicicleta, a simple vista pareciera procesos muy
simples. Pero en segundo plano son ejecutados mecanismos ocultos para el
procesamiento de datos muy complejos. La tarea principal del reconocimiento es la
comprensión del mecanismo de estos procedimientos. Es importante mencionar que
los patrones de objetos observables que tienen existencia en el espacio y en él tiempo,
de manera que puede ser distinguidos según su igualdad y similitud, esta información
percibida es la que pudiera ser denominada como patrones. Con la finalidad de
acentuar la comprensión de cosas objetivas, las personas conforman un grupo de
categorías basándose en las similitudes de los objetos observados y su papel que
cumple, una de las funciones principales del reconocimiento de patrones es la
clasificación de un objeto en una categoría.

A continuación, se presentan una serie de ejemplos acerca del uso del reconocimiento
de patrones:
 La clasificación de bolígrafos, lápices, bolígrafo de colores, pinceles, se
clasificarían como bolígrafos para escribir.
 El médico es capaz de determinar si el paciente padece una enfermedad
cardíaca por medio de del análisis realizado a los resultados de la prueba del
electrocardiograma.
 Un agente policial confirma la identidad de una persona basándose en su huella
digital.
 El uso de computadoras para reconocer caracteres.
 Identificación de las personas a través del iris del usuario.
 Reconocimiento de caracteres por medio de la voz del usuario.
 Determinar si en una imagen existe la presencia de personas o vehículos.
 Reconocimiento de identidad a través del análisis de una imagen.
 Reconocimiento del tipo de vehículo de una fotografía.
 Encontrar imágenes similares en una base de almacenamiento de imagen.

9.2 Comprensión del reconocimiento de patrones.


El reconocimiento de patrones es considerado como una representación de la sabiduría
de los humanos, éstos cuentan con una gran capacidad para el reconocimiento de los
patrones presentes en el entorno, pudiendo reconocer variedades de millones de
sustancias, algunos patrones luego de una atracción de alto nivel de las cosas. Este
proceso de aprendizaje inicia desde muy temprana edad, clasificando desde las flores
en suelo, hasta las nubes el cielo, es decir todo el medio ambiente que lo rodea, por
muy simple que parezca el proceso para los humanos, la definición de este proceso es
verdaderamente complejo. Un patrón puede ser definido como una regla, que se usa
para hacer la descripción acerca de los atributos y característica de una cosa como, por
ejemplo, una flor, el sonido producido en una corteza, etc. Las personas hacen las a
abstracciones basándose en las experiencias que han adquirido durante toda su vida,
una vez que se han adquirido estos conocimientos básicos, se adquiere la capacidad
para juzgar casi cualquier tipo cosa, en poco las palabras, las personas durante toda su
vida están en un continuo aprendizaje obteniendo el conocimiento para la abstracción
de las cosas.

Si cuando una persona aprecia una imagen, como la que se muestra continuación, esta,
defina la imagen como un paisaje de la costa, reconociendo el lugar, y los atributos
presentes como la playa, el cielo azul, las nubes, la arena y las palmeras. El
reconocimiento del mar no necesariamente se tiene deber a la información almacenada
respecto a su forma, si no a las características como el color, que previamente ya se ha
apreciado en el pasado, las adyacencias que tiene con el cielo de la playa, reconociendo
como tal lo que es el mar. Por otra parte, el reconocimiento que hacen las personas, es
basado en las clasificaciones de las características de lo observado, como, por ejemplo:
si se aprecian a un grupo de flores diferentes, al observar otra que no pertenezca a este
grupo, de inmediato la persona sabrá que se trataba de una flor, así no reconozca su
nombre, lo mismo pasa con otros objetos como árboles, automóviles y hasta personas.

Por otra parte, el reconocimiento de patrones de las personas tiene variedades de


clasificación abstractas, basadas en algunos atributos propios de la personalidad de una
persona, como su coeficiente intelectual, si es agradablemente sociable o incluso si
goza de buena salud, estas categorías deben ser definida dependiendo de sus
estándares, entrando también en el proceso de reconocimiento de patrones.

El reconocimiento de patrones, principalmente pudiera ser dividido en dos categorías,


como los métodos basados en los datos, y los métodos basados en el conocimiento.
 El método que se base de conocimiento, tiene mucha similitud con el concepto
de los sistemas expertos, está basado en el estudio de los objetos o patrones
por expertos, resumiendo los detalles de ciertas categorías definiendo en las
muestras que se basan en dichas características. En este modelo puede ser
establecido una explicación clara sobre los resultados arrojados por la
clasificación.
 El método que se basa en datos, permite que el modelo realice la abstracción de
un modelo de los datos, sin embargo, es necesario la predeterminación de un
conjunto de características, éste no es basado en el conocimiento de los
especialistas en ciertas áreas. Estos métodos se basan principalmente en las
estadísticas, dependiendo de la muestra, si obtienen los detalles para poder
definir el clasificador. El proceso no necesariamente tiene que ir ligado al
conocimiento del experto. Sólo algunos detalles se relacionan a los resultados
clasificatorios, sin necesidad que se tenga el conocimiento de esta relación, de
manera que, puede ser definido como una deficiencia. En oportunidades se
requiere saber con exactitud la conexión entre la clasificación y las
características, pero en la actualidad, no se goza con un mecanismo certero
debido a que el mecanismo del modelo que se basa en métodos de datos, no
será investigado a profundidad estableciendo diferentes incertidumbres del
problema.

9.3 Definiciones y conceptos.


Los términos como patrones, señales, reconocimiento y análisis, poseen una definición
muy amplia, y tienen un alto grado de interpretación, es por ello que es necesario tener
en cuenta la definición de estos conceptos y algunas metodologías que facilitan su
interpretación.

9.3.1 La señal digital.


Es un grupo de magnitudes físicas que pueden ser medidas en un punto específico y en
un intervalo establecido en tiempo y espacio. Dichas magnitudes pueden ser
representadas en un computador u otro instrumento digital para poder mejorar el
análisis de su entendimiento. Como, por ejemplo, la corriente eléctrica, la presión, la
temperatura, entre otros, éstos pueden ser representados como señales digitales. Las
tomografías, radiografías, termografías y fotografías pueden ser representadas también
como señales de más de una dimensión (imágenes digitales). El origen de las señales
pudiera ser físico, similares como los fenómenos electromagnéticos o mecánicos,
también, pudiera tener un origen social, como los demográficos o económicos. Existen
señales que son resultado de un proceso biológico tales como: la expresión genética, las
secuencias de ADN, la actividad cerebral, presión arterial y la voz. El objetivo principal
del análisis de estos procesos es el entendimiento de los detalles contenidos en estas
señales, con el objeto de poder llegar aprovechar, corregir, y llegar a estudiar más a
fondo el fenómeno, evento, o proceso.

9.3.2 El patrón.
Este está representado, por medio de la relación estocástica que existe entre señales, y
se recibe por medio de los análisis matemáticos, de las señales previamente adquiridas.
Un patrón se encarga de representar un tipo de señal, que a su vez éste representa la
clase de entidad como un proceso, un evento, una acción u objetos. Generalmente es
asociada una etiqueta para identificar el nombre de la clase de cada patrón. Los
patrones se consiguen desde la extracción de atributos distintivos de las entidades del
entorno. Los patrones pueden ser usados para desempeñar tareas clasificatorias,
explicativas o predictiva. Dichas tareas se desempeñan como el uso de los algoritmos
definidos como los clasificadores. En el área de la matemática, los clasificadores se
definen a partir de un espacio de n-dimensiones, estableciendo una dimensión para
cada atributo considerado relevante.

9.3.3 El reconocimiento.
Ese proceso clasificatorio de más de una señal desconocida en una clase determinada.
Como, por ejemplo: la señal que se encarga de representar a una radiografía, y
propiamente en la radiografía pueden representarse patologías médicas.

La construcción de un sistema de reconocimiento de patrones partiendo el análisis de


manipulación de las instancias y ejemplos es conocido como adaptativo. El desarrollo de
estos sistemas se lleva a cabo en dos etapas, como el diseño y evaluación.
 En la primera etapa, en el diseño se van a generar las reglas de decisión para
realizar la clasificación de las instancias del problema.
 En la segunda etapa de manera intensiva, se van a verificar estas reglas definidas
si son apropiadas para realizar la toma de decisiones.

El desarrollo de un clasificador a su vez contiene una variedad de tapas. Inicialmente se


necesita la determinación de los mecanismos que deben ser empleados para hacer la
limpieza de las señales, esto consiste en la eliminación del ruido o componentes
irrelevantes para la aplicación. Este proceso se define como el preprocesamiento de la
señal. Después se realiza la selección de los artificios matemáticos para poder abstraer
aquellas características representativas a la señal y en conjunto los objetivos y escenas
que esta representa, de manera que aumente la posibilidad de ejercer una clasificación
exitosa. Como proceso final se elige el método que clasificación apropiada. Por lo
General la elección de las estrategias para definir las características y el proceso de
clasificación se encuentran mínimamente relacionados y está influenciado
mutuamente, esta representación puede verificarse en la siguiente ilustración.

Etapas en el diseño de un clasificador.


Al diseñar un clasificador es necesario hacer la prueba y llegar a modificar una variedad
de veces las transformaciones hasta que se puede encontrar las que arrojan mejoras
resultado. Dicho proceso depende de cuanta experiencia posean los diseñadores, pero
últimamente el proceso investigación ha aumentado y mejorado los métodos en que se
basa inteligencia artificial para realizar de forma automatizada algunos aspectos en el
diseño. El aprendizaje de profundo es considerado como uno de los métodos que más
éxito ha tenido en el diseño automatizado de los clasificadores, obteniendo resultados
satisfactorios principalmente en el área de reconocimiento visual y voz. Por otra parte,
la implementación de sistemas de reconocimientos requiere de traspasos: adquisición y
procesamiento de señales, implementación de las transformaciones parás abstraer las
mejores características, uso de las de decisión y reconocimiento del clasificador, este
proceso puede mostrarse en la siguiente imagen.

Procesos de un clasificador.

La interpretación de señales reúne una variedad de algoritmos y teorías matemáticas


con la finalidad de permitir la definición de las secuencias de las transformaciones que
se orientan la de extracción de los datos contenidos en las señales, para poder realizar
el reconocimiento. Este proceso inicia por medio de la observación, que se encarga de
hacer el registro por medio de los sensores que captan y generan los datos. Se han
definido una variedad de transformaciones que puede implementarse a una señal
digital, tales como multi-resolución, funciones de transformación de tiempo-frecuencia,
el submuestreo, el filtrado a las frecuencias y la convolución, etc.

De una forma muy resumida el objetivo en el área del de reconocimiento de patrones


se basa en desarrollar transformaciones nuevas y algoritmos, además, la comprensión
de sus procesos matemáticos respecto a la asignación de las clases a objetos.
Las transformaciones pudieran ser útiles, además de la resolución de problemas de
clasificación, en los procesos referente al ordenamiento, regularización, problemas de
regresión, entre otros, como se evidencia a continuación:
 Proceso de clasificación-regresión. Es cuando se ha asignado una señal a una
clase que está representada por un modelo matemático partiendo de la métrica
apropiada.
 Proceso de inferencia. Es cuando se hacen las predicciones a corto, mediano o
largo plazo y es llevado a cabo luego de la regresión.
 Proceso de indexación de los conjuntos un ordenamiento. Es realizado como una
parte integrante del proceso de la toma de decisiones luego de la inferencia.
 Proceso de regularización. Se realiza con la finalidad del apoyo al diseño de los
modelos de clasificación cuando se presentan pocas muestras o se encuentran
desbalanceadas.
 Proceso de Asociación. Compara las características de la muestra dada con las de
un patrón o clase conocida.

El reconocimiento de patrones se encuentra relacionado de una forma muy íntima a


otras ciencias, tales como la matemática, la física, la topología, una variedad de ramas
de la ingeniería, debido a esto, los investigadores sobre este ambiente, son
provenientes de una diversidad de áreas multidisciplinaria. En vista que el
reconocimiento de patrones implementa procedimientos y modelos pertenecientes a
otras disciplinas, es considerado en sí mismo como una especialidad. Por ejemplo, el
proceso de transformación de Fourier, en usado comúnmente por el reconocimiento de
patrones, éste surge del área de las matemáticas. Es por ello que el reconocimiento de
patrones puede ser aplicado casi que, en todas las ramas de las ciencias naturales,
exactas o pertenecientes a la ingeniería, ejerciendo una gran influencia para la creación
de soluciones que permitan promover el desarrollo de un trabajo conjunto entre
disciplinas diferentes, a pesar de haber generado algunos problemas, tales como la
duplicidad metodológica de algunas ambigüedades en los vocabularios. Cabe resaltar
que el reconocimiento de patrones es considerado una subdisciplina de las ciencias de
la computación, y los expertos que se dedican a su investigación implementan
metodologías que se desenvuelven mucho más allá de la programación simple o el uso
de paquetería de software.

9.3.4 Crecimiento del reconocimiento de patrones


Esta experimentado un desarrollo constante en su investigación en los últimos tiempos,
gracias a las mejoras que se han experimentado en el poder de cómputo que tienen los
dispositivos de hardware, aumentando el área de investigación sobre los
procesamientos entre los especialistas de disciplinas diferentes ha generado los
siguientes desarrollos:

Especialización por sub-áreas.


Los problemas a simples a los que se ha enfrentado el reconocimiento de patrones, han
sido estudiados desde hace mucho tiempo atrás consiguiendo grandes avances en la
proposición de sus soluciones, generando variedades de especializaciones por lo que es
muy común conseguir especialistas dedicados a un área metodológica específica.

Especialización por el enfoque de investigación.


Puede que se encuentren dos variedades importantes en los dominios de aplicación,
 La búsqueda de nuevos dominios para la implementación de metodologías
existentes con la finalidad de la apertura de nuevos caminos o prestarle
atención algún requerimiento que aún no ha sido cubierto.
 El desarrollo de alternativas metodológicas innovadoras que apoyen el
desarrollo de las opciones actualmente existentes.
Producción de herramientas especializadas y genéricas.
Actualmente se pueden usar una variedad de herramientas genéricas que suministran
el servicio de dominio de la aplicación como, por ejemplo: LabView, Matlab, software
estadísticos R. Dichas herramientas suministran un conjunto de librerías, y módulos lo
suficientemente robustos que usan los algoritmos y métodos más usados para crear
soluciones de las aplicaciones del reconocimiento de patrones. Además, existen
herramientas con contenido audiovisual, que detallan una serie de tutoriales que
fundamentan a los desarrolladores para el proceso de creación de soluciones. En otro
orden de ideas, se han desarrollado herramientas mucho más especializadas tales como
Hércules, que es usada en el desarrollo de aplicaciones de visión computacional, Weka,
que se implementa en los procesos de aprendizaje en la minería de datos. Así como se
implementan un gran conjunto de aplicaciones, que implementan lenguaje de
programación como objetivos generales el, tales como Java, Python, C++. Es importante
resaltar que, durante el desarrollo de sistemas, la implementación de las técnicas de
programación e ingeniería del software es de gran importancia para poder lograr una
ejecución robusta, eficiente y concisa que pueda realizar el máximo aprovechamiento
de los avances que han tenido los sistemas de hardware.

Investigación con un enfoque analítico y empírico.


En el ámbito de los reconocimientos de patrones, se beneficia y requiere del
conocimiento empírico y experimental, además el analítico o demostrativo. De manera
que poder localizar una óptima solución desde la reducción del centro del problema, no
significa haber finalizado el proceso de la investigación. Otras maneras de optimización,
tales como a la minimización en los procesos de cómputo durante la ejecución en el
proceso de almacenamiento. La creación de procedimientos capaces de generar
soluciones no aptas, pero si eficientes, dirigen a que el área se mantenga en una
constante revisión propiciando desarrollos constantes en el avance del conocimiento.
9.4 Reconocimiento de formas.
En el medio ambiente existe una gran variedad información que nuestros sentidos
pueden ser capaz de procesar. De esta manera que se puede definir una forma o un
patrón como un objeto de interés, identificable sobre lo demás objetos. En ocasiones
dichas formas puede estar difusas o no definidas del todo, aumentando su nivel de
complejidad a la hora de identificarlas. De otra manera, no necesariamente los patrones
tienen que ser objetos visibles o tangibles, como por ejemplo en las ciencias
económicas que habla sobre el producto interno bruto, se pueden captar patrones de
análisis respecto la capacidad de producción de una economía nacional. En el mismo
orden de ideas el reconocimiento de formas o reconocimiento de patrones, forma parte
de una rama del conocimiento de la inteligencia artificial que trata de hacer modelos de
los procesos de percepción y razonamientos con la finalidad de desarrollar sistemas
informáticos que traten de imitar este proceso realizado por los humanos. Es
interesante poder destacar las capas que una persona puede y distinguir los patrones
presentes en el ambiente que lo rodea, estos los agrupa en concordancia de sus
características que tienen en común y luego cada grupo se le es asignado un hombre o
una etiqueta de identificación. En los últimos 50 años en esta área se han personificado
grandes avances, permitiendo la posibilidad de construcción de sistemas cada vez más
capacitados en el procesamiento y análisis, apoyando cada vez más a fundamentar el
conocimiento adquirido.

Desde los inicios del estudio de esta área, muchas aplicaciones que han tenido éxito en
el reconocimiento de formas que fundamentan la aceptación y eficiencia dentro de la
comunidad científica, y como ejemplo de esto pudieran ser nombradas las siguientes: el
detección de patrones en los fraudes ocasionados por cheques o tarjetas de crédito,
reconocimiento de identidad por medio de rasgos característicos físicos, análisis visual
automatizada con la finalidad de detectar fallas de fabricación de las piezas industriales,
reconocimiento del habla, para luego poder ser traducida a texto, el lenguaje hablado,
entre otras aplicaciones.
Diagrama de bloques.

9.5 Modelo de Trabajo.


En términos generales un sistema ya desarrollado que se encarga de la captura de
reconocimiento de patrones se puede dividir entre lo que modelos que fueron
representados en imagen anterior.

Bloque A, adquisición.
En este bloque se suministra la muestra que se va analizar, ésta se ingresa al
sistema por medio de dispositivos de captura, que están compuestos por filtros
que se encargan de hacer la transformación de las variables físicas a señales
digitales. Al salir de este bloque el patrón se encontrará en buen estado para su
procesamiento.

Bloque B, procesamiento.
El patrón que se ha ingresado se condiciona de forma digital para poder llegar a
solucionar los conflictos de traducción y posterior se analiza con la finalidad de
obtener su descripción de las características que van a conformar sus detalles.

Bloque C, clasificación.
En este bloque final se realiza el proceso de la toma de decisión acerca de la
clase o categoría que se le asigna al patrón que ha sido analizado dependiendo
del modelo o el mecanismo de clasificación implementado.
Como el objetivo de poder fundamentar este contenido se toma en cuenta el ejemplo a
continuación:
 un sistema de reconocimiento de forma que está compuesto por los bloques b y
c, de manera que se divide en dos fases para su diferenciación; fase aprendizaje
y fase de reconocimiento como se muestra a continuación:

Diagrama de reconocimiento de formas.

En el esquema anterior se pueden percibir en las líneas, la secuencia que tienen los
bloques de los sistemas de reconocimientos de forma cuando están en funcionamiento,
respecto a la fase de clasificación. En lo referente la fase de preprocesamiento, el
patrón de entrada, en donde se van aplicar los mecanismos de realce y restauración con
el objetivo de mejorar el patrón y poder facilitar la tarea de la siguiente etapa. Luego el
patrón que ha sido preprocesado, pasa a ser analizado y se obtiene una representación
alterna partiendo de la extracción de las características. Aquí es donde se hace el
proceso de medición acerca de los rasgos del patrón recibiendo con salida, la
descripción pudiera ser simbólica o numérica. En la última parte se obtiene la
descripción y pasa a ser procesada por el clasificador, en donde éste le asigna una
etiqueta dependiendo del conocimiento que tenga sobre las diferentes clases y sus
características relevantes para llegar a tomar la decisión.

Para un gran número de aplicaciones, la fase de clasificación se lleva a cabo a altas


velocidades de ejecución, en todas tiene la fase de entrenamiento, que ésta es de alto
costo en cuanto al tiempo y en recurso de cómputo necesario. Este proceso costoso se
fundamenta en los ajustes de pruebas que tienen que hacerse en cada uno de los
bloques, tomando en consideración el desempeño individual respecto a los otros
bloques, con la finalidad de alcanzar el mejor desempeño durante la clasificación.

En el proceso de entrenamiento las técnicas deben ser ajustadas junto con los
parámetros del preprocesamiento, la cual va influir en la capacidad que tenga el bloque
para la extracción de los detalles y realizar la descripción del patrón. Si este trabaja con
los patrones de las imágenes, como, por ejemplo: en el bloque de la fase de
preprocesamiento puede ser incluida una mejora de contraste y otra que se encarga de
reducir el ruido Gaussiano: en las señales del habla pues era fluido un filtro de
preénfasis, en los electrocardiogramas puede ser aplicado filtro de ruido de la línea,
mecanismos de operaciones que no puedan modificar el dominio de representación del
patrón original.

El bloque de extracción de las características permite la obtención de una


representación del patrón en un ambiente, en donde su dimensión por lo General es
menor que la dimensión original. Con la finalidad de poder lograr que la descripción que
resulta se considere favorable respecto a la clasificación, con la finalidad de evitar
redundancia de información que pudiera confundir las clases, en el proceso de
entrenamiento se tiene que aplicar un ajuste con la finalidad de poder determinar las
características que se tienen que medir, y permitir identificar, las que son
discriminativas de las clases de, cómo se genera la descripción basándose en las
características que se han seleccionado. En esta fase y en la siguiente se puede decir
que es de experimentación numérica. Los ejemplos en esta etapa se pueden encontrar
en el reconocimiento del habla, en el que los tramos de la señal de 1024 muestras se
representan por sectores con 16 valores en el que contienen pistas de frecuencia,
respecto a reconocimiento facial la imagen se normaliza en un cuadro de 20 x 20
pixeles, que después se va a representar por medio de quince características.

En la última etapa en la base de entrenamiento, se basa en conformar el clasificador, se


diseñan y se hacen las pruebas de los modelos capaces de poder efectuar asignaciones
satisfactorias de las etiquetas de clase a las descripciones de la entrada. Al denominarse
satisfactoriamente, se refiere al margen de capacidad que tiene clasificador de poder
tener éxito en su desempeño y se tiene que evaluar por medio de objetivas o subjetivas
mediciones que puedan permitir al operador poder introducir modificaciones dentro
del clasificador para optimizar el desempeño como consecuencia.

Cabe destacar que la definición de un sistema de reconocimiento de formas es de vital


importancia ya que se debe manejar definiciones sobre “a priori” de la tarea que se va a
resolver, permitiendo encaminar la resolución de los conflictos en los bloques finales
del sistema. El proceso de retroalimentación desde que se diseña el clasificador en los
primeros bloques del entrenamiento para simbolizar la no independencia que tienen los
subsistemas entre sí, en cambio a veces es necesario hacer cambios en cualquier bloque
desencadenado por el ajuste en otro, como, por ejemplo: si se hace alguna
modificación en la técnica de clasificación las características a extraer deben ser
modificadas. Esto significa que para poder enfrentar tareas más complejas se aconseja
tener una visión más amplia y globalizada del sistema.

9.6 Métodos para el reconocimiento de patrones.


En la actualidad hay una gran variedad de técnicas que permiten construir los
clasificadores, modelos de clases, variedad del origen de constitución, algoritmos de
aprendizaje, entre otros. Básicamente el tipo de modelo que se tiene que aplicar tiene
que concordar con el tipo de representación que se ha elegido para los patrones, este a
su vez se divide en dos grupos.
 Numérica no estructurada. En este los patrones se definen por medio de un
grupo de valores numéricos que no poseen alguna relación morfológica. Como
ejemplo de estos patrones que se constituyen por las mediciones de ancho y
longitud de pétalos y sépalo para hacer la clasificación de plantas de iris.
 Estructurada: en esta, los patrones se consideran objetos que se pueden
representar por medio de un grupo de sus patrones conocidos como primitivas,
guardando diferentes clases de relaciones entre sí, y además jerárquicamente
construyen objetos más complejos. Como ejemplo de estos patrones se
encuentran en el reconocimiento del ADN, que contienen cadena de genes, que
están conformadas por otra sus cadenas de aminoácidos.

De la misma forma estos conjuntos representativos de los patrones originan otros dos
conjuntos primordiales en los que pueden ser definidos los métodos de clasificación:
 Estadísticos o geométricos: estos métodos se basan en la teoría estadística de
decisión tratando los patrones como vectores constituyentes de puntos de un
espacio de n dimensiones, agrupándose en regiones que son determinadas en el
espacio. Los clasificadores tratan de identificar estos conjuntos por medio de los
patrones prototipo y las medidas de distancia que existen entre ellos,
produciendo fronteras entre estos grupos y permitiendo la asignación de clases.
 Estructurales o sintácticos: se basa en la teoría de lenguajes, tratando a los
patrones como una cadena de símbolos. En este método los clasificadores
contienen autómatas capaces de aplicar reglas a la sintaxis que determina la
pertenencia del patrón al lenguaje que acepta el sistema.

Durante el reconocimiento de forma estadístico se pueden considerar variedades de


aproximaciones en el aprendizaje dependiendo de la disposición de las etiquetas,
durante este proceso que puede servir como ejemplos durante el ajuste del clasificador.
Esta dicotomía origina la separación de los métodos:
 Aprendiza es supervisado: es basado en la búsqueda de las zonas de decisión que
hay entre grupos de puntos, por ejemplo: se tiene una recta de un espacio de dos
dimensiones para un conflicto lineal separable, de acuerdo a la tarea, puede que sea
posible la posesión de algún conocimiento, o puede que no sobre la estructura
estadísticas de las clases, que va a permitir la subdivisión de los métodos en:
̵ Aproximaciones para métricas: las fronteras de decisión son definidas
dependiendo de las distribuciones de probabilidad que se asumen para cada
una de las clases. El teorema de decisión de bayes se encarga de
fundamentar el método que se aplica en este caso, el clasificador Gaussiano
con el que es posible hacer la estimación de los parámetros que las
funciones de densidad de probabilidad (fdp) aun no conocen.
̵ Aproximación no para métrica: los patrones que ya poseen su etiqueta,
apoyan como guía a los métodos que generan las fronteras de decisión, en
esta no se asume ninguna fdp para las clases, en cambio el enterramiento se
encarga de dividir el espacio dependiendo de los patrones que se dispongan
como ejemplo. Alguno de los métodos que se pueden aplicar en esta
aproximación: árboles de decisión, clasificación por distancia (k-vecinos),
entre otros.

 Aprendizaje no supervisado: en algunas ocasiones es posible que no se disponga del


conocimiento de un especialista para hacer el etiquetado de los patrones, en vista de
esto, estos métodos hacen el agrupamiento basándose en los criterios de
homogeneidad de los grupos. Entre ellos puede ser aplicados algoritmo de un total de
clases que es fijado a priori (Isodata, k-medias), total de clases desconocidas, métodos
que se basa en grafos, etc. Existen inconvenientes en los que las señales no son
conocida con anterioridad, debido a esto no es posible poder etiquetarlas, de esta
manera la creación de clasificadores y fundamentada en el algoritmo que encuentren,
estructura los datos sin la ayuda de un experto, como por lo general pasa con en el
aprendizaje supervisado, con la finalidad de agrupar instancias del problema o clúster
perteneciente a las clases. Luego de haber determinado estos grupos se les puede
asignar las etiquetas correspondientes. El agrupamiento es basado en la relación que las
instancias de las clases son semejantes entre ellas y no tan semejantes con las de las
demás clases, debido a esto depende en del tipo de métricas y distancias que se usan.
El aprendizaje no supervisado y el agrupamiento, son usados mayormente en la minería
de datos, los métodos más comunes son: mapas autoorganizados, modelos de análisis
de componentes, mecanismos basados en grafos, agrupamiento jerárquico.

La principal función del reconocimiento de los patrones, consiste en la determinación


de los mecanismos de decisión, para clasificar las características. Existe una variedad de
mecanismos para realizar el proceso de decisión y algunos de los más implementado
actualmente son los siguientes:
 La estimación paramétrica: es basada en la estimación de la probabilidad
condicional de la ocurrencia de una clase, por medio de un grupo de ejemplos
para k clases definidas. Esta probabilidad condicional no es conocida, de manera
que se asume y se realizan los cálculos de los parámetros que hacen su
descripción. Esto es un conflicto muy común de estadística, que puede ser
enfrentado de dos formas: por medio de la estimación de Bayes o por medio de
la estimación de la máxima probabilidad. En la estimación de Bayes los
parámetros son considerados como variables aleatorias que contienen
distribuciones de probabilidad conocida, en cambio en la máxima estimación lo
considera como una cantidad fija que se desconoce.
 La estimación no para métricas: estas no necesitan que les sea suministrado el
número de clases, y pueden ser usados sin la suposición de la forma en las
funciones. Se ha implementado en variedades de reconocedores, como por
ejemplo la técnica estimación de K de los vecinos más cercanos, las ventanas de
Parzen o la estimación de las funciones de la densidad.
 Funciones de discriminación lineal: se encargan de asumir que las funciones que
dividen a las clases son lineales y conocidas con anterioridad, hacen un solo de
los ejemplos o instancias del problema para la estimación de sus parámetros.
Estos mecanismos incluyen el perceptrón, el procedimiento de Widrow-Hoff y
las máquinas de soporte vectorial.
 Funciones de discriminación no lineal: van incluir a las redes neuronales y las
redes con funciones de base radial.
 Mecanismos estocásticos: hacen uso del azar, con la finalidad de poder
encontrar los parámetros que se encargan de definir a los modelos decisiones
complejas; éstos han implementado cuando el espacio del problema es muy
amplio cuando se tienen pocos datos para el entrenamiento. Los modelos que
son más implementados incluyen el modelo de Boltzamann, que insistirá en la
mecánica estadística y los mecanismos evolutivos que se inspiran en la biología.
Por lo General este tipo de métodos necesitan de gran capacidad de cómputo.
 Métodos numéricos: son usados cuando los detalles de la instancia del problema
contienen valores nominales, debido a esto no son aplicadas las medidas de
similitud tales como las distancias métricas y además no van a presentar ningún
tipo de orden, por esto, los detalles se realizan con lista de atributos y sus
valores que corresponda. Los métodos usados contienen árboles de decisiones,
árboles de clasificación y regresión.

9.7 Herramientas y metodologías.


En este apartado se hace la descripción de algunas herramientas y métodos más
comunes para la resolución de los tres problemas principales con los que se enfrenta el
desarrollo de sistemas de reconocimiento de patrones.
 La adecuada representación de los datos de entrada.
 La sustracción de la información.
 La selección del procedimiento de decisión más idóneo para ser la estimación de
los parámetros de clasificación del conjunto de características.

9.7.1 Análisis de las señales.


La variedad de definiciones que se deben tener presentes durante la descripción de la
técnica de procesamiento de señales y su extracción de las características son los
siguientes:
 Convolución: en un procedimiento que acciona la superposición de una función
de referencia con la inversa de otra, que genera una nueva función. A su vez
estas funciones van a ser discretas, lo que quiere decir, que sólo van a tener
asignación de valores en momentos específicos y por poco tiempo. Esta se usa
para hacer el filtrado de las señales y generar promedios durante el tiempo,
como para realizar el cálculo del eco que producen los sonidos.
 Transformación de Fourier: considerado como uno de los algoritmos que más se
implementa en el reconocimiento de patrones, éste es basado en la serie a
matemáticas que ha sido definida por el matemático Jean-Baptiste Joseph
Fourier, éste fue capaz de demostrar que cualquier función puede ser
demostrada por un conjunto infinito en funciones trigonométricas sinusoidales.
Logrando definir esta teoría como base para generar otras, pero
particularmente para los algoritmos que representan una función discreta como
un conjunto de señales sinusoidales de variedades de frecuencias. Cada
coeficiente de la serie va a representar la contribución que ha tenido cada
frecuencia en la señal de origen. Hay una gran variedad de algoritmos, que son
capaces de realizar esta transformación, entre ellos el que más destaca es el de
“La transformada Rápida de Fourier”.
 Filtrado de señales: se basa en la transformación de una señal en otra, para
modificarla por medio de operaciones de multiplicación o convolución. Este
puede realizarse durante el dominio de frecuencia o dominio espacial. En el
primero se hacen restricciones de los valores de frecuencia, por medio de la
eliminación de un rango inferior, y el segundo son realizando operaciones con
los píxeles de una imagen y una matriz conocida como kernel. Este tipo de
filtrado tiene variedades de aplicaciones como para la eliminación del ruido
detectar fenómenos, suavizar señales, etc.
 Transformada de Wavelets y análisis multi-resolución. Los resultados que genera
el proceso de análisis de Fourier, tienen información acerca de los componentes
espectrales de una señal, pero no detalla el momento exacto en que se
manifiestan las frecuencias. La resolución en las frecuencias obtenidas depende
del tiempo de resolución y la medida de la ventana que se use. El proceso de
análisis de Wavelet puede solventar las limitaciones presentadas anteriormente,
debido a que puede manejar variedades de tiempos y escalas de resolución al
mismo tiempo. Las wavelets o “ondeletas”, se definen como funciones
matemáticas capaces de poder satisfacer ciertos requerimientos. Las
características de esta función van a permitir que sean usadas como funciones
base, lo que es igual a decir que una función puede ser representada como una
combinación lineal de las wavelets.
 Transformación de bitmaps, escala de grises y de colores. Los pixeles de un
imagen pueden ser representados de una variedad de maneras: como valores
enteros, en el que cada uno va a representar un componente del color, como un
número entero encargado de hacer la representación de un nivel de gris, y
como un número binario que representan si es blanco o negro, durante la
resolución de problemas, pues se realiza las transformaciones de otros formatos
como por ejemplo, hacer representaciones binarias de los colores o la escala de
grises, asignación de un color específico con valores booleanos, con la finalidad
de poder hacer resaltar algún atributo.
 Optimización de imágenes: por medio de la implementación de operaciones
matriciales se puede alterar el aspecto de la imagen con la finalidad de poder
apreciarla de una manera más óptima sus características.
 Compresión de imágenes: en vista de que la representación de las imágenes por
medio de los píxeles pudiera ser muy grande, en oportunidades se necesite
reducir su tamaño, pero sin que se pierdan detalles.
 Segmentación: se refiere a la separación de los objetos que integran una
imagen, con la finalidad de agruparlos y luego analizarlos.

9.8 Algunos procesos de investigación realizados en el área de


reconocimientos de patrones.

9.8.1 Reconocimiento de patrones en bases de datos.


La constante evolución en el desarrollo tecnológico para la adquisición de los datos y su
almacenamiento han traído como consecuencia la imposibilidad de poder analizarlos
por medio de las herramientas comunes, por lo que ha generado un nuevo camino para
hacer el análisis de la información y realizar la toma de decisiones denominado como
Big Data. Este se refiere a los activos contenidos en los amplios volúmenes de
información que pueden ser generados por una diversidad de fuentes tales como: los
sistemas de GPS, redes sociales, sensores digitales, dispositivos móviles etc. Las
unidades de medida encargadas de poder medir los grandes volúmenes de información
se expresan en el Gigabytes, GB =109, Terabytes, TB =1012, Petabytes, PB = 1015,
Exabytes, EB=1018 o Zettabytes ZB =1021. El Gen Banck del (NCBI) es uno de los ejemplos
de bases de datos capaces de manejar estos grandes niveles de información, este
contenía 1.67 TB de bases apenas en el 2016. En otro de los escenarios en los que el
que big data puede incurrir es el análisis y hacer el seguimiento a las preferencias de los
usuarios, el procesado de la información captada por los sensores, el análisis de los
accesos realizados a los servidores, análisis semántico sobre el internet, análisis de los
gastos médicos, seguridad en los dispositivos móviles.
9.8.2 Redes neuronales artificiales.
Estas son definidas como modelos computacionales que puede ser capaces de adaptar
su funcionamiento como respuesta a los datos obtenidos de su entorno. Dichos
modelos son inspirados en la anatomía de una neurona real, sin embargo, se encuentra
aún muy lejos para alcanzar su representación exacta. Estas tienen características
relevantes, convirtiéndolas en las indicadas para resolver algunos inconvenientes
asociados al reconocimiento de patrones. Como ocurre en otros métodos de
inteligencia artificial gran parte de los modelos artificiales de las redes neuronales, no se
basan en tratar de ser una copia de las originales, en cambio trata de hacer
simulaciones para el procesamiento autónomo de las neuronas. Estas pueden
almacenar y usar el conocimiento, requieren de la experiencia, este conocimiento es
representado por números reales que se encarga de modelar la fuerza simétrica que
existe entre las neuronas biológicas. En una red neuronal, el aprendizaje, va a significar,
modificar valores referentes y a los pesos por medio de un algoritmo de aprendizaje
que por lo general es supervisado.

9.8.3 Aprendizaje profundo.


En el área de la IA, el aprendizaje profundo o Deep Learning, se basa en la adquisición
del conocimiento por medio de máquinas que poseen variados niveles para hacer la
abstracción, al término profundo significa a la manera en que es adquirido el
conocimiento y no en si al mismo, su mayor desventaja, radica en el no requerimiento
de la necesidad de definir los detalles que van a identificar a los patrones, de manera
que van a generar de forma automatizada por medio de la manipulación de los datos
crudos. Este proceso es conocido como aprendizaje de representación, que se encarga
de la construcción de los detalles de alto nivel de manera automatizada, porque usa
variedades de niveles jerárquicos como extractores.
9.8.4 Control de interfaces y clasificación.
El tipo de interfaz cerebro-computador, tiene el objetivo de permitir que un ser
humano pueda control voluntariamente un dispositivo, como una prótesis y manejar un
vehículo por medio de las señales emitidas por el cerebro. Su funcionamiento se basa
en la asociación de una señal que es producida por el cerebro, cuando se tiene algún
pensamiento o se fija la atención en algo arbitrario. El usuario para poder emitir esta
señal, puede hacerlo por medio de la implementación de varias estrategias como
imaginación motora o atención selectiva.

Este proceso implementa un algoritmo de aprendizaje de máquina supervisado, donde


las entradas van a ser las características de la señal del cerebro y respecto a las salidas
van a ser las acciones determinadas. En el proceso de entrenamiento el individuo
piensa en el objetivo que se le ha relacionado la acción, al momento que se efectúa y la
señal cerebral es clasificada. Este procedimiento es realizado para las acciones que
controlan la interfaz cerebral. En la etapa de implementación, luego de haberse
encontrado con el clasificador y la señal se envía, el siguiente proceso consistiría en la
activación o desactivación del dispositivo.

La señal al ser recibida, puede que sea de tipo invasiva por medio de implantes
cerebrales o no invasiva con el uso de dispositivos externos que se le colocan al usuario
como, por ejemplo: los sistemas de adquisición por medio de diademas o
electroencefalogramas. Estos dispositivos no van a ser los que hagan la lectura de los
contenidos mentales o controlen el movimiento, estos solo van a asociar la señal con un
mecanismo mental y una acción correspondiente.

El desarrollo de estas interfaces, requieren funciones complejas de reconocimientos de


patrones y procesamientos de señales avanzado. Estos sistemas contienen mecanismos
de adquisición de las señales, un preprocesamiento, extraer las características, clasificar
y ejecutar la acción que se desea.
9.8.5 Predicciones y Análisis de las series de tiempo.
Se encarga de hacer las predicciones de los valores que toman las variables encargadas
de definir un comportamiento o fenómeno de un sistema basándose en los valores
tomados en el pasado. Este proceso es complejo, especialmente durante los intentos de
aplicación a los sistemas no lineales o caóticos, que son frecuentemente
implementados en el reconocimiento de patrones, en vista de su gran número de
aplicaciones, el objetivo de las series de tiempo es de gran interés en la actualidad.
Existen dos tipos básicos de predicciones a corto y a largo plazo, siendo la segunda
mucho más compleja que la primera e imposible de resolver, sin embargo, se necesitan
las estimaciones de las posibilidades que pudieran tomar los valores a futuro.

9.8.6 Visión Computacional.


Esta es un área que tiene un gran tamaño en el ámbito de la investigación. Se encarga
del estudio sobre el análisis del procesamiento de la información visual que se ha
captado en formato digital, que se ha generado por cámaras de videos, fotográficas,
imágenes contenidas en la web, entre otros. Desde sus estudios iniciales ha tenido que
lidiar con tres problemas dada una imagen como dato de entrada:
 La construcción de la representación de los elementos que integran la imagen,
tales como las intersecciones o las esquinas que se forman en los pisos, puertas,
ventanas o a su vez en las líneas que se generan de las formas geométricas que
contiene la escena.
 Descripción de las propiedades presentes en la escena como rigurosidad,
textura, luminosidad.
 Introducción de la representación en tres dimensiones de los objetos presentes
en la escena de la imagen.

El objetivo de la visión computacional no se basa en la imitación del proceso de la visión


natural, si no en el desarrollo de algoritmos que puedan resolver tareas que una
persona pueda resolver de forma natural, como el reconocimiento facial, el seguimiento
con la mirada de un objeto, hacer el cálculo de las distancias por medio de la
observación, hacer análisis de videos, comprensión del lenguaje de señas etc. Puede
que estas tareas sean consideradas poco complejas a simple vista para el ser humano,
sin embargo, estas necesitan grandes recursos de cómputo cuando son ejecutadas por
sistemas artificiales.

9.8.7 Audición artificial o robótica.


Se considera como una su especialidad en lo que se refiere al análisis de escenas de
audio. Igualmente, que las escenas visuales, estas están constituidas por individuos con
características y semejanzas especiales, en cambio las escenas auditivas contienen
individuos que pertenecen a las fuentes, con respectivas características y relaciones
acústicas. El objetivo de la audición robótica se basa en la construcción de una imagen,
que surge de la escena acústica, de tipo análoga, al mecanismo de visión computacional
que se basa en la construcción de la representación de una escena visual. El paso inicial
consiste en la separación de las fuentes de sonido, que consiste en la identificación de
los individuos que integran la escena visual, luego se hace el reconocimiento de voz. Al
término robótica es mencionado debido a que, normalmente las funciones son
desempeñadas por robots, sin embargo, es posible implementar dispositivos más
pequeños como los de ayuda auditiva hasta incluso teléfonos móviles.

9.8.8 Vehículos autónomos.


El rápido crecimiento de las grandes ciudades, y la necesidad de movilización que tienen
los habitantes, han dirigido a los especialistas en materia de reconocimiento de
patrones y demás áreas al desarrollo de vehículos autónomos para el transporte público
y urbano, que puedan desplazarse libremente sin personas que los tripulen, este tipo de
retos son a los que se enfrentan los especialistas en esta área, debido a que los
vehículos autónomos tienen que poder hacer el procesamiento de las señales y luego
clasificarlas en tiempo real, con la finalidad de que puedan mantenerse en la vía o carril
que se le ha sido asignado, al mismo tiempo evitar violar las reglas de tránsito,
identificar a las personas que transiten y además los demás obstáculos que pudieran
presentarse le en el camino. Desde el año 2006 el departamento de matemáticas y
computación de la universidad libre de Berlín está desarrollando un vehículo VW Passat
con cámaras video, sistema de escaneo, unidades de gps. Los datos obtenidos por los
sensores se procesan por diferentes computadoras que contiene, y luego son
retransmitidas a una principal. Estas computadoras de control, contienen un mapa de la
ciudad e identificado con las direcciones de posicionamiento global como uno de sus
componentes, usado para enmarcar la ruta del vehículo.

9.9 Reconocimiento de patrones por medio de la visión artificial.


Por medio de la visión artificial, intenta suministrarle la capacidad de poder percibir el
entorno que rodea a las máquinas mediante el desarrollo de algoritmos que puedan
permitir hacer el análisis sobre lo que contiene la imagen, que luego va a poder
describir los objetos presentes en la escena. Cuando se recibe una variable de entrada
que contiene la imagen que ha sido capturada, la salida devuelve la información
contenida en la misma. En este proceso se implementan diferentes mecanismos
capaces de permitir llegar a mejorar la calidad la imagen, enfocarse en los puntos de
intereses con la finalidad de poder extraer los atributos necesarios que puedan describir
la imagen de la forma más adecuada. Existen variedades de aplicaciones y usos, entre
ellas: aplicaciones de reconocimiento facial, analizar imágenes en la medicina para
elaborar diagnósticos, lecturas de datos entre otros. Este proceso puede ser ordenado
en cinco etapas:

Etapas de la Visión Artificial.


 Adquisición y obtención de imágenes: se basa en el mecanismo por medio del
cual se adquieren las imágenes.
 Preprocesamiento: consiste en la implementación de métodos en la imagen,
como el realce de los detalles, ajuste de luminosidad para lograr alcanzar una
mejor calidad de la imagen.
 Proceso de segmentación: en este proceso se divide la imagen, en varios
segmentos, dependiente del patrón por el objetivo que se va analizar. Es por ello
se van agrupar en píxeles por medio de algún criterio específico, luego es
dividida en regiones, para extraer los datos de interés.
 Descripción y representación: desde simplemente detectar con el objetivo de
representar los atributos de características que están la imagen, se encargan de
describir en los pixeles en relación a sus vecinos: esquinas, contornos, regiones,
etc.
 Reconocimiento de interpretación: en esta fase se implementa el descriptor que
integra el entorno que representa las características encontradas en la etapa
anterior. Estas características deben cumplir diversas propiedades para que se
puede escoger y ser usadas adecuadamente como clasificadoras y luego asociar
el significado a los objetos que sean reconocidos. Los objetos tienen que ser
cuantificados, y van a formar parte de los datos de entrada para el sistema de
clasificación asignándole una etiqueta cualitativa que se presente en la imagen.

9.9.1 Detector.
Este permite conseguir y extraer aquellas características de interés en la imagen que se
encargan de describir los atributos de un pixel respecto a sus adyacentes. Estos deben
permanecer constantes a nivel local con la finalidad de que se puedan detectar así se
encuentran en rotación o sea cambiada la escala, la herramienta Matlab tiene
variedades de detectores que son suministrados por la librería del computador, estas
varían dependiendo de los detalles y requerimientos que necesite la aplicación.
Detector Característica Función Escala
independiente
FAST Esquina detectFASTFeatures No
Minimun Esquina detectMinEigenFeatures No
Eigenvalue
algorithm
Corner detector Esquina detectHarrisFeatures No
SURF Gota detectSURFFeatures Si
BRISK Esquina detectBriskFeatures Si
MSER Región con detectMSERFeatures Si
intensidad
uniforme
Tipos de detectores en Matlab.

9.10 Redes neuronales en el reconocimiento de patrones.


Con la finalidad de poder hacer el estudio de reconocimiento de patrones,
implementando redes neuronales es de vital importancia, antes que todo, tener una
noción sobre el significado de las redes neuronales artificiales debido a que son las más
adecuadas para el reconocimiento de patrones.

9.10.1 Redes neuronales artificiales.


Consisten en modelos matemáticos, que se han desarrolladas, fundamentado en el
funcionamiento que tiene una red neuronal biológica, lo que significa que las redes
neuronales artificiales van a ser las unidades de procesamiento fundamental. Esta red
puede ser definida como un grupo de unidades de procesamiento definida como nodos,
células, hasta incluso neuronas, que se encuentran interconectadas por medio de
ligaduras que establecen la comunicación directa denominadas conexiones, con el
objetivo de recibir las señales de entradas, procesarlas y después poder emitir las
señales correspondientes de salida. Todas las conexiones tienen asociadas un peso, lo
que significa la información que usa la neurona para llegar a resolver las dificultades,
como puede apreciarse en la figura a continuación.
Comparativa entre una red neuronal artificial y una natural.

Los datos de entradas que recibe una neurona, puede que provengan de agentes
externos, o de otras neuronas que se encuentra interconectadas. Del mismo modo la
salida que emite una neurona puede ser enviada a otra neurona. El conocimiento de
una red de neuronas se encuentra distribuido por todo el sistema, en vista de que se
usan gran número de conexiones para llegar a solucionar una dificultad.

Modelo de la Red Neuronal Artificial.

Características de una red neuronal artificial.


 Su aprendizaje se da por medio de ejemplos.
 Tienen inferencia estadística.
 Posee una gran adaptabilidad a los cambios de la información.
 Son tolerantes a las fallas.
 Tienen una rápida implantación.
 Tienen capacidades para generalizar.

Aplicaciones de las redes neuronales artificiales.


Entre las principales aplicaciones, se pueden tomar en cuenta en la clasificación de
patrones, agrupación de categorías, aproximar funciones, la memoria puede ser
direccionable dependiendo el contenido.

Proceso de funcionamiento de la neurona artificial.


De la misma manera que las neuronas biológicas, una artificial, posee de una variedad
de entradas, pero una sola salida, que esta a su vez puede ser aplicada a otras
neuronas, el ejemplo a continuación es una presentación de ello:

Esquematización de la neurona artificial.


Sí se hace una comparación de las neuronas artificiales del gráfico anterior con una
natural, se puede definir que, (x1, … xi, … xn) se definen como los impulsos de entrada
que recibe la neurona j, provienen de las demás neuronas (1, …i, …n). La definición de
los pesos (w1j, … wij, …wnj) van a representar el potencial de inhibidor de las
conexiones. Todos los elementos que intervienen en el procesamiento reciben un valor
de entrada que se basa en las conexiones de entrada. La manera más común y hacer el
cálculo del Valor de entrada, es realizando la sumatoria de todos los valores
multiplicados con sus respectivos pesos. La entrada del j-esimo se escribe de la
siguiente forma.

𝑁𝑒𝑡𝑜 𝑗 = ∑ 𝑠 𝑥𝑖𝑗 ∗ 𝑤𝑖𝑗

Clasificación de las redes neuronales artificiales dependiendo su conexión.

Estas son organizadas en diferentes niveles o camadas, estratos o capas. En función a


las conexiones que se encargan de unir las capas, las redes neuronales artificiales
pueden ser clasificadas en, no recurrentes o Feedforward y en recurrentes y feedback.

Modelos de redes neuronales artificiales (los más usados).


 Perceptrón: éste se conforma de varias neuronas lineales con la finalidad de
recibir varias entradas, y una sola neurona para la salida, éste puede llegar a
diferenciar si una entrada dada es perteneciente a las clases que puede
reconocer. La imagen a continuación representa la arquitectura del
perceptrón.

Arquitectura de un Perceptrón.
La neurona del Perceptrón se encarga de las salidas, hace la suma de las entradas,
realiza la resta del umbral y transfiere el resultado a una función de escalón. La regla
para emitir la decisión consiste en responder +1 en caso de que el patrón que se
presenta pertenece a la clase A, y responde con -1 en caso de que el patrón presentado
pertenezca a la clase B. los valores de salida va a depender de la entrada o suma de
estas Xi, pero ponderadas y el umbral 0. Este modelo solo puede hacer discriminaciones
de patrones simples y separables linealmente. Esta limitación a las redes que tienen
únicamente dos capas para resolver conflictos en que el grupo de puntos se separen de
manera geométrica. Si dos entradas se presentan se lleva a cabo la separación por
medio una línea recta, como se muestra en la imagen a continuación. Si hay tres
entradas se hace la separación por medio de un plano en un espacio de tres
dimensiones, hasta n entradas, aumentando de la misma forma el espacio entre las n
dimensiones.

Conflicto separable linealmente por medio de la función OR.


La función XOR es un conflicto que no es posible resolver por medio de un perceptrón
debido a que linealmente no se separable. Pero si se puede resolver por medio de la
implementación de un multiperceptrón (red de perceptrón), como se muestra en la
siguiente imagen:

Xor con un Multiperceptrón.

Retropropagación.
Rumelhart en el año 1986 oficializa una forma en el que una red neuronal artificial
pudiera aprender la asociación presente entre los patrones de entrada y sus clases.
Dicho método se denomina backpropagation (retroprogramación), basado en una regla
menos compleja de aprendizaje que solo puede ser aplicada en modelos multicapas. La
representación interna del conocimiento de dicho algoritmo, puede ser capaz de
estructurar las capas intermedias, con la finalidad de conseguir cualquier semejanza
entre la entrada y la salida.

Retropropagación.
Es importante mencionar que en una red de retropropagación, la capacidad de
autoadaptación de los pesos de las neuronas de los niveles intermedio con la finalidad
de aprender la relación que hay en el grupo de patrones, luego de usar esta relación en
vectores nuevos de entradas suministra una salida activa si la entrada nueva es
semejante a las que se presentan en el aprendizaje.

9.10.2 Proceso de aprendizaje de las redes neuronales artificiales.


El principal conflicto que se presenta al realizar trabajos con redes neuronales
artificiales, se presenta al programar el aprendizaje, debido a que no se tiene el
conocimiento acerca de cómo se tiene que escoger los pesos para las conexiones, con la
finalidad de que la red pueda realizar la tarea determinada. En ocasiones se puede
encontrar inconvenientes en que los pesos se tienen de manera a priori, y estos datos
son tomados en cuenta por el diseño de la red, sin embargo, en estos inconvenientes,
son poco frecuentes debido a que gran parte de los casos se tiene que enseñar a la red
para que pueda ejecutar los cálculos por ajustes de los pesos wij. Para ello puede que se
tome dos vías.

Aprendizaje no supervisado.
Cuando la finalidad del aprendizaje consiste en no definir algunos términos de los
ejemplos correctos ya que en los datos disponibles sólo están en correlación de señales
de entrada y sólo es requerido que en base a esta de la red cree categorías de las
relaciones y que de una señal de salida que corresponda a las categorías de entrada.
Ésta se caracteriza debido a que la salida no necesita ser contrastada con algo de su
conocimiento. El aprendizaje supervisado puede llevarse a cabo por la forma
hebbieano, y por la forma competitivo y cooperativo.

Aprendizaje supervisado.
Este modelo se implementa por medio de la comparación directa de las salidas que
emite la red con las respuestas acertadas que ya se conoce. Es basado en el
reforzamiento constante del aprendizaje, ya que la retroalimentación es realizada por
medios a la diferencia de salida con la salida que se espera. Algunos de los aprendizajes
supervisados son los que se dan por corrección de error, por refuerzo y estocástico.
 Aprendizaje por corrección de error. El entrenamiento se basa en la
presentación al sistema, de un grupo de pares de datos donde se presenta la
entrada deseada y la salida deseada. Este grupo se denomina conjunto de
entrenamiento en donde el objetivo se basa minimizar el error de las salidas
que se desea y la salida actual.

Aprendizaje por corrección de error.

 Algoritmos para aprendizaje por corrección de errores. Los pesos se van


ajustando dependiendo de la diferencia que existe los valores que se
obtienen en la salida y los valores deseados.
∆𝒘𝒊𝒋 = 𝒂 𝒙𝒊 (𝒅𝒋 − 𝒙𝒋 )
Dónde:
∆𝒘𝒊𝒋 variación del peso de conexión entre i-ésimo y el j-ésimo nodo.
𝒂 umbral que tiene el aprendizaje que se encarga de la regulación de velocidad y
precisión.
𝒙𝒊 Salida i-ésimo nodo.
𝒙𝒋 Salida j-ésimo nodo.
𝒅𝒋 Salida deseada de j-ésima unidad procesamiento.
 Regla del mínimo error. Se implementa una función definida por Widrow y
Hoff, podía permitir hacer la cuantificación del error global que se comete en
cualquier momento durante el proceso de entrenamiento agilizándolo.
𝑛
1 (𝑘) (𝑘)
∑(𝑥𝑖 − 𝑑𝑖 )2
2𝑝
𝑖=1

La fórmula se encarga de calcular:


n=cantidad de nodos de la salida.
p= cantidad de tramas para entrenamiento.
Durante el error cometido durante el aprendizaje de la k-ésima trama, se
busca la forma de modificar los pesos, con la finalidad de que las conexiones
de la red puedan minimizar la función de error, puede ser realizada por
medio de la variación relativa del error:
∆𝑤𝑖𝑗 = 𝑘(𝛿𝐸𝑟𝑟𝑜𝑟𝑔𝑙𝑜𝑏𝑎𝑙 /𝛿𝑤𝑖𝑗 )

Apegado a la estructura interna de las redes neuronales, para poder hacer tareas
referentes al reconocimiento de patrones, inicialmente se tiene que establecer el
número de neuronas en el nivel de las entradas y la cantidad en el nivel de las salidas.
Tomando en cuenta que la red neuronal como una especie de caja, su integración
funcional se puede representar de la siguiente forma:

Estructura funcional.

Se puede llegar a la conclusión, que los datos de entrada se reciben por las neuronas
que manejan los datos de entrada, que a su vez van a ser procesadas por la red
neuronal y luego se entregan los resultados a los datos de salida por medio de las
neuronas de salida.

Debido a esto los datos de entrada mantienen una relación biunívoca con las de
neuronas de entrada y los datos de salida mantendrán la relación con las neuronas de
salida lo que va a significar que una red neuronal N cantidad de neuronas en el nivel de
entrada y M neuronas en el nivel de la salida va a corresponder como los datos de
entrada un vector denominado X de tamaño n [X1, X2, …, Xn] y como la salida un vector
denominado Y con un tamaño m [Y1, Y2, … ,Ym], presentándose entre ellos un tipo de
dependencia a nivel funcional que puede ser denominado RN, y puede ser expresado de
la siguiente forma:
[𝑌1, 𝑌2, … . 𝑌𝑚] = 𝑅𝑁 ([𝑋1, 𝑋2, … . 𝑋𝑛])

Dependencia Funcional de los datos.

9.10.3 Representación de caracteres como datos de entrada.


Para hacer trabajos en el área de reconocimiento de patrones debe ser encontrada una
estructura única de los datos que pueda representar cada uno de los elementos que se
decidan reconocer, para ello se tomará como referencia los caracteres “3”, “4”, “5”,
para este caso se han seguido los pasos a continuación.

Representación de patrones en la matriz.


Un método muy común para la representación de las letras (A-Z, a-z) y números (0-9) el
uso de una matriz 7x6 como se muestra a continuación:

Matriz 7x6 para la representación de patrones.


Este artificio para representación de un número en la matriz, es colocar el número “1”
dentro de las celdas por donde pasa la marca de este número, y se va a colocar el valor
“0” cuando sea el caso contrario, como, por ejemplo: el número “3”, puede ser
representado como se muestra continuación:

Representación de los patrones en una matriz.

Representación simple de los patrones.

Conversión de la matriz en un vector lineal.


Luego de que ya se han conocido los datos de entrada se tiene que representar en un
vector lineal, para ello, se convierte la matriz 7x6 en un vector lineal X con 42
posiciones, donde los elementos se identifican por la secuencia de X1, X2, …, X42, como
se muestra en la figura.

Antes de Sustituir los datos.


Sustitución de los valores en la matriz con el vector lineal.

Tomando en cuenta que la sustitución de las cuarenta y dos posiciones del vector X, se
representan ahora de la siguiente forma lineal por los valores correspondientes de cada
posición.

Representación lineal del número 3 en el vector.

Representación de los caracteres por medio de las estructuras de datos.


Posteriormente, se va a representar por medio de la implementación de una variedad
de presentaciones los valores 3, 4 y 5, sin embargo, solo se podrán evidenciar dos
modeles para cada carácter, es necesario, aunque sea 7 modelos diferentes por
carácter para aumentar el reconocimiento.

Representación en patrones del número 3.


Representación en patrones del número 4.

Representación en patrones del número 4.

Representación de caracteres como datos de salida.


La representación de los datos de salida, van a permitir saber si un elemento de entrada
en específico ha sido reconocido o no por la red neuronal artificial. Entonces como para
este caso solo se desea conocer tres valores numéricos “3, 4, 5”, solo se necesita un
vector de tres dimensiones, el cual se va a representar con la siguiente formula.
𝑌 = [ 𝑌1, 𝑌2, 𝑌3]

Modelo de una red neuronal para reconocer los caracteres “3,4,5”.


De acuerdo a lo establecido a las definiciones de una red neuronal, para reconocer los
caracteres ya mencionados, se representa en la figura a continuación, en donde el
vector X = [X1, X2, …. X42], va a representar a los datos de entrada, y el vector (Y = [Y1,
Y2, Y3]) los datos de salida.
Datos de entrada y salido en reconocimiento de patrones.

Partiendo de la representación del número “3” anteriormente mostrado , una


representación mucho más completa de los datos se muestra en la siguiente imagen
continuación, de manera que puede ser apreciado el almacenamiento del vector X de la
representación gráfica en dos dimensiones del número 3 que se introdujo en una matriz
7x6, entonces el vector Y tendría el valor [1, 0, 0], lo que india que la imagen se ha
reconocido por la red neuronal, correspondiendo el numero 1 como el primer elemento
reconocido.

Mecanismo de entrenamiento para la red neuronal e identificación de los


caracteres “3,4,5”, por medio del uso de un software.
Preparación de la Base de Conocimiento para entrenar la red neuronal.
En la base del conocimiento es donde se almacena la experiencia, (datos de
entrenamiento) de la red neuronal artificial, esta va a contener todos los posibles
valores que pudiera dar los suministrar los vectores X o Y, de manera que representa
variedades de modelos de los objetos que se desean reconocer, por ejemplo en el
conjunto de representaciones a continuación, se consideraron dos modelos para cada
uno de los números, que se desea reconocer, usando estos ejemplos, la tabla que
almacena los datos de X y los datos de Y se muestra a continuación, de manera que
puede ser apreciado claramente, que en cada línea X representa la forma del número
que se intenta reconocer. Y luego este archivo se puede almacenar en uno tipo texto
para ser usado después con una mejor facilidad.
Reconocimiento de patrones en entrada y salida para el número 3.

Datos de entrenamiento, Base de Conocimiento.

Datos para los números 3,4,5.

Entrenamiento de la red neuronal.


Para realizar el proceso de entrenamiento a la red neuronal es necesario, el uso de
software, para realizar este proceso, en este caso se implementa NEUROTRAIN-
PATTERN. M que fue desarrollado en MatLab, y a continuación se muestran un ejemplo
entrenamiento, con el uso de este software.

 Primer entrenamiento.
El software de entrenamientos debe ser implementado en el entorno Matlab.
 Se introduce el nombre del archivo con los datos: Bconocimiento.txt
 Se presentan los resultados de la lectura del archivo.
 Cantidad entradas: 42
 Cantidades Salidas: 11.
 Cantidad de paquetes de entrada y salida: 21
 Elegir de la nueva ventana: se van a generar automáticamente dos (sinapsis).
 Insertar la neurona en el nivel intermedio:100.
 Elegir en la ventana generada: se considera neurona días; se marca si
 Se introduce ratio de aprendizaje: 05.
 Momento = 0.
 Ratio de exponente a = 0.
 Ratio del centro c = 0.
 % del máximo error =10.
 Número máximo de etapas de aprendizaje = 200.
 Erretotal : 1.9644.
 Erretotal : 0.0948.
 Introduzca el nombre del archivo donde se almacenan los resultados:
Entrenamiento1.prn.

Margen de error (43 iteraciones al 10%).

En la imagen anterior se aprecia en la curva de aprendizaje que el proceso de


entrenamiento alcanzó el objetivo en caso de un margen de error del 10% en las
cuarenta y cuatro repeticiones. En caso de querer reducir el margen se debe continuar
con el reentrenamiento.
 Segundo entrenamiento.
 Se introduce el nombre del archivo con los datos: Entrenamiento.prn.
 Resultados del archivo con data.
 Cantidad de entradas: 42
 Cantidad de salidas: 11
 Paquetes entrada y salida: 21.
 En la ventana nueva elegir que se van a leer desde el archivo (sinapsis).
 Se introduce el nombre del archivo que tiene la información de la red:
Entrenamiento1.prn.
 Neuronas de nivel intermedio: 100.
 Neurona bias en nivel de entrada: (1:si) (0:no):1
 Ratio de aprendizaje: 02.
 Momento: 0.
 Ratio de exponente a: 0
 Ratios del centro c: 0.
 % máximo de error: 3
 Máximo de etapas para aprendizaje: 200.
 Erretotal: 0.0961.
 Erretotal: 0.0297.
 Nombre del archivo donde se almacena la información de la red:
entrenamiento2.prn.

Margen de error (44 iteraciones al 3%).


En la imagen anterior se aprecia una curva de aprendizaje, en la que se puede concluir,
que el proceso alcanzó el objetivo con un margen de error de 3%, es por ello que se
puede decir que la red se encuentra ya bien entrenada.

Preparación de la Base de Conocimiento para el reentrenamiento con los números


“3,4,5”.
En este caso se usa una tabla parecida a la implementada durante el entrenamiento,
como puede apreciarse en la imagen a continuación, en donde los valores en X, se
generan desde una imagen nueva para cada imagen que se desea reconocer, y con los
valores en Y son iguales a cero, y finalizar el proceso se mostrará el número que ha sido
reconocido.

Ejemplo de datos de entrada para la red neuronal.


Base de conocimientos para los números “3,4,5”.

Reconocimiento de caracteres.
Se implementa el mismo software anterior, y se siguen los pasos a continuación:
 Reconocimiento. En el programa Matlab, se ejecuta Neurontrainpattern.
 Se escribe el nombre del archivo que contiene los datos: recon.prn
 Resultados de la lectura con data.
 Entradas: 43.
 Salidas: 11.
 Paquetes de entrada-salida: 31.
 En la nueva ventana: se van a leer desde un archivo sinapsis.
 Se introduce el nombre del archivo que contiene la información de la red:
entrenamiento2.prn.
 Neuronas en el nivel intermedio: 100
 Neurona bias en nivel de entrada; (1:si) (0:no): 1
 Ratio de aprendizaje: 0
 Momento: 0
 Ratio exponente a: 0
 Ratio del centro c: 0
 % error máximo: 5
 Máximo de etapas de aprendizaje: 1
 Nombre donde se va a almacenar la información de la red: x.
 Análisis de la matriz resultante.
Al terminar el proceso, el software arroja un matriz que se interpreta de la siguiente
forma:

Datos resultantes.

En la matriz de salida que se muestra en la figura anterior, se aprecian las filas de los
patrones de entrada, que se quieren reconocer, en cambio las columnas con los
resultados, en este caso se desarrollan de la siguiente forma:
 En la fila 1 de Y1 está el número 1, lo que quiere decir que el contenido en el
vector X se ha reconocido, es decir el número 3.
 En la fila siguiente en la columna Y2 se encuentra el número 1, lo que significa
que el contenido en el vector X se ha reconocido, es decir el número 4.
 En la fila 3 en la columna Y3, se encuentra el número 1, lo que significa que el
contenido en el vector X se ha reconocido, es decir un 5.
 Los valores negativos y nulos no deben ser tomados en cuenta.

El uso de las redes neuronales es una alternativa excelente en cuanto al reconocimiento


de patrones, partiendo como base de los datos resultantes, se pudieran llegar a resolver
problemas más complejos, como los patrones en la conducta del ser humano,
enfermedades, etc.
10. REGLAS Y RESTRICCIONES.

10.1 Reglas de producción.


Una regla es una proposición de tipo lógica que puede llegar a relacionar más de dos
objetos, incluyendo 2 partes, como la premisa y la conclusión. Dichas partes son una
expresión lógica con más de una afirmación que se conectan por medio de operadores
lógicos como “y”, “o”. Una regla de producción se define como un procedimiento que
se encarga de representar el conocimiento poniendo énfasis en el soporte de las
relaciones entre las inferencias del algoritmo, contraponiéndose a los hechos.

Su estructura viene dada por lo siguiente:


 SI (antecedentes).
 Entonces (consecuentes).

Se define como antecedente a las condiciones y consecuentes vienen siendo las


conclusiones, hipótesis o acciones. Por si misma cada regla constituye una porción del
conocimiento.

En los sistemas basados en reglas, la inferencia se lleva a cabo por medio del
emparejamiento, en donde existen dos tipos dependiendo de su sentido:
 En los sistemas con encadenamiento hacia adelante, la regla se activa si los
antecedentes llegan a emparejar con los hechos del sistema (solo con algunos).
 En sistemas de encadenamiento hacia atrás, la regla se activa si los
consecuentes llegan a emparejar con algunos de los hechos.

Inicialmente, los formalismos con el que se puede expresar el conocimiento sobre el


dominio de un conflicto, se pueden considerar para ser implementado en un sistema
experto, pero la implementación de las reglas si-entonces o reglas de producción, es el
formalismo más común para hacer las representaciones del conocimiento en un
sistema. Como ya se ha mostrado, estas reglas se basan en enunciados condicionales
que pueden tener interpretaciones variadas. De manera que estas reglas, se definen de
una forma natural para hacer la representación del conocimiento, teniendo las
siguientes características deseables:
 Respecto al modularidad, las reglas expresan una porción de independencia de
la información.
 En lo que se refiere a la agregación, nuevas reglas pueden ser agregadas al
sistema, de manera relativa e independiente a las demás reglas.
 En cuanto a la flexibilidad, como resultado del modularidad, las reglas se pueden
modificar independientemente de las demás reglas.
 Transparencia, ayudan a explicar las decisiones que toma el sistema.
particularmente, se puede automatizar el resultado a las preguntas del tipo:
¿Cómo se determinó la conclusión?, ¿Por qué te interesa esta información?

A menudo las reglas de producción establecen conexiones lógicas con los conceptos del
dominio del conflicto. El conjunto de relaciones lógicas se caracteriza como
conocimiento categórico, de manera que siempre van a ser verdaderas. En algunas
áreas como la medicina, prevalece el conocimiento de las probabilidades. Sin embargo,
no siempre en este caso las relaciones se consideran ciertas, y son establecidas
basándose en las regularidades empíricas, por medio del uso de grados de
incertidumbre. Las reglas de producción se pueden ejecutar con la finalidad de detener
condiciones de tipo: Si < condición > A < entonces > conclusión C con cierto grado de
certeza F.

Al querer desarrollar un sistema experto, es requerido consultar a un especialista


humano, que tenga domino del área a realizar el estudio. El mecanismo para la
extracción del conocimiento de los especialistas y la literatura de un área dada, con la
finalidad de engranarlos con un formalismo para su representación de denomina
ingeniería del conocimiento.
Plano de una casa a la que se le tiene que detectar las fugas de agua.

La imagen anterior representa un plano de una casa en donde se tiene que localizar las
fugas de agua. Una vez que se ha consultado con un plomero y ciertos manuales sobre
plomería, se determina que las fuga sólo se puede presentar en la cocina o en el baño.
En cualquiera de los casos. La fuga trae como consecuencia la presencia de agua en el
piso de la sala. Se asume que la fuga solo se puede presentar en un lugar y no en ambos
de manera simultánea. Entonces puede ser representado como una red de inferencia
como se muestra a continuación:

Red de inferencia sobre el conocimiento en fugas.


Los nodos presentes en la imagen anterior se encargan de hacer las representaciones
de proposiciones y las flechas, serían las reglas en la base de conocimiento, los arcos
que las conectan son la naturaleza de la conjunción entre las proposiciones
correspondientes

10.1.1Sintaxis de las reglas de producción.

Procedimientos para la representación del conocimiento.


Si (condiciones).
Entonces (hipótesis, acciones, conclusiones).
Las reglas del tipo Si-Entonces pueden establecer una porción del conocimiento.

Las reglas formadas por conectivos y clausulas como AND, OR, NOT.
Su representación tiene que poder corresponder con el conocimiento del dominio.
Dentro de sus parámetros se tiene lo siguiente:
 En tu típico formato: (parámetro, relación, valor), en donde el parámetro va a
ser la característica que se considere más importante del dominio, la relación es
la existente entre el valor y el parámetro, puede ser de tipo numérico, literal o
simbólico, en forma de predicados lógicos.

Acciones, conclusiones, hipótesis. (consecuentes).


 Conclusiones: referentes al conocimiento declarativo.
 Acciones: es de tipo procedimental y se encarga de actualizar el conocimiento
por medio de la interacción con el entorno.

Las Reglas especiales.


 Reglas IF ALL: estas son equivalentes a las reglas que tienen clausulas, en donde
las condiciones se conectan por medio de “AND”.
 Reglas IF ANY, IF SOME: estas reglas tienen cláusulas de las condiciones que se
conectan por medio del “OR”. Ejemplo:
IF: temperatura = elevada.
AND: transpiración = presente.
AND: dolorMmuscular =presente.
THEN: diagnosticoInicial = gripe.
IF: diagnosticoInicial = gripe.
AND: descOrganosInternor = presente.
THEN: diagnosticoInicial = ebola.

10.2 Sistemas basados en reglas de producción.


Estos sistemas se basan en las reglas operadores que realizan las búsquedas en áreas de
estados con inferencias semejantes al MP (Modus Ponens) pero con restricciones. En
cuanto al tipo de sintaxis permiten realizar acciones en los consecuentes a través de los
procedimientos de control que son los que van a poder determinar las inferencias que
pueden ser realizadas.

Sistemas con encadenamiento hacia adelante.


La regla se activa si los antecedentes logran emparejar con solo algunos de los hechos.
En la regla IF ALL: todos los antecedentes logran emparejar con los hechos, en la regla IF
ANY, aunque sea un anteceden logra emparejar con los hechos. Se inicia luego de que
los hechos han sido confirmados en el sistema. Se hace el razonamiento hacia adelante
tratando de realizar la búsqueda de los antecedentes que logren emparejar.

Sistemas con encadenamiento hacia atrás.


La regla se activa sólo si los consecuentes pueden emparejar con algunos de los hechos
del sistema. Se da inicio con una hipótesis. Se hace el razonamiento hacia atrás en la
búsqueda de los consecuentes que puedan emparejar.
Motores de Inferencia.
Pueden elegir de las reglas que se encuentren activadas, cuáles son las que se van a
ejecutar denominando este mecanismo como resolución de conflictos. Los
antecedentes y los consecuentes pueden ser vistos como unas submétases que se
verifican partiendo de las hipótesis o los hechos.

Características.
En cuanto a su modularidad, las reglas son pequeñas porciones de conocimiento,
relativamente independiente, respecto al incremento y modificabilidad, pueden añadir
y cambiar las reglas que sean independientes. Por su naturalidad y transparencia la
representación del conocimiento es de fácil comprensión para las personas pudiendo
tener la capacidad de poder llegar a generar explicaciones, por medio de la posibilidad
de definir por qué se genera una conclusión, de manera que puede devolver al usuario
el conjunto de reglas que se han implementado y maximizar la aceptación de los
resultados.

10.3 SIGNIFICADO DE LAS REGLAS DE PRODUCCIÓN


Son representaciones formales de una relación, una acción condicionada o una
información semántica. Estas reglas generalmente tienen el tipo de estructura Si
premisa ENTONCES consecuente. Minimizan la complejidad durante el proceso de
edición y creación de la base del conocimiento. Es posible la introducción de los
coeficientes de verosimilitud con el objeto de ponderar el conocimiento (los
coeficientes se programan en el proceso de razonamiento por medio de las fórmulas
establecidas para el cálculo), teóricamente este método permite asegurar que, mientras
más reglas se tengan definidas, va a ser más potente. Pero cuanto ya existe un número
elevado de reglas se presenta una mayor dificultad en la verificación de las posibilidades
y se tiene el riesgo hasta de poder perder coherencia lógica en la base del
conocimiento. Por lo general las reglas y los hechos asociados a la base del
conocimiento no se consideran exactos debido a que se tiene la incertidumbre acerca
del grado de certeza sobre algunos hechos y sobre la validez que pudieran tener
algunas reglas. Con el objeto de poder manejar la incertidumbre se han usados varios
mecanismos en los sistemas basados en reglas, entre ellos los más conocidos son los
Factores de certeza, La lógica de Dempster y la lógica difusa. La manera de poder tratar
la incertidumbre es uno de los detalles más relevantes, en la actualidad se discute la
veracidad de dichas lógicas con el objeto de tratar la incertidumbre de esta manera se
proponen las redes Bayesianas que poseen bases matemáticas sólidas, sin embargo,
este campo de investigación aún no se ha cerrado en la actualidad.

Conocimiento Causal.
Es el tipo de relación que establece el vínculo entre dos ideas por medio de una unión
que supuestamente se necesita. Este se considera como uno de los principios en la
asociación. No se considera necesaria la casualidad cuando es aplicada a las cuestiones
de los hechos, sin embargo, esta se fundamenta en la costumbre donde la repetición
(constante conjunción) se considera solo como una creencia, de algo que se espera que
suceda, mas no, algo que tenga que suceder, si no, que se tenga que evaluar en lo que
se refiere a la posibilidad. Cuando la definición de casualidad no se pueda aplicar a los
hechos que aún no suceden, debido a que no se tiene la evidencia, la ausencia de una
definición de casualidad va a dirigir hacia el escepticismo.

Conocimiento Diagnóstico.
Desde el inicio, el diagnóstico ha sido un gran problema para la IA, como unos de los
que más ha sido estudiado y en donde los especialistas han establecidos sus fracasos,
pero también sus éxitos, en el campo de la medicina, sin duda es donde se podría decir
que pudiera aprovecharse a la máxima expresión. Como uno de los detalles más
comunes durante la resolución de problemas referentes al diagnóstico en dominios
verdaderos es la necesidad de tratar con las dimensiones del tiempo. Luego que se
propone el modelo teórico, es más habitual una tendencia al momento del desarrollo
de sistemas, ya que es necesario afrontar el conflicto del diagnóstico temporal,
partiendo de enfoques diferentes, para poder hacer la selección sobre la aproximación
ideal en cada conflicto, con la finalidad de que el modelo inicial pueda ser aplicable.
Arquitectura de los sistemas de producción.
Existen una gran variedad de aplicaciones para los sistemas basados en reglas difusas,
sin embargo, son usados principalmente en:

Modelado de sistemas.
Se usan para la representación de los escenarios de actividad junto con variables
complejas, donde no es suficiente el uso de realidades absolutas como verdadero o
falso. Se pueden usar en las aplicaciones de control, y en la agrupación de los elementos
para detectar los patrones. También se pueden usar como agentes de usuarios, para
suministrar un conjunto de ayudas a los especialistas con la finalidad de apoyarlos en la
toma de decisiones que se consideren oportunas, cabe destacar que dicho apoyo se
toma en cuenta solo como ayuda, pero la decisión final recae sobre el experto. Un
ejemplo de esto pudiera presentarse en el área financiera. El descubrimiento de la
información y la minería se basan en hallar el conocimiento alojado en una base de
datos, que no pudiera estar presente a simple vista, sin embargo, por medio de la
aplicación de estos sistemas pudiera encontrarse.

Reglas de los sistemas de producción.


Los sistemas basados en reglas son regidos por un conjunto de reglas que establecen su
configuración. Una regla se define como una forma de representación, apropiada
cuando el conocimiento con el que se desea realizar el trabajo deriva de la experiencia
o intuición, por esta razón no tiene una demostración matemática o física.

Tipos de proposiciones y reglas.


Estas proporciones pueden ser clasificadas en los siguientes conjuntos:
 Cualificadas: se encargan de introducir un atributo con la finalidad de poder
cualificar a la proposición que se constituye una regla, dicho atributo pertenece
al grado que la regla determina: grados de sucesos probables y grados de
sucesos poco probables.
 Cuantificadas: señalan las cantidades difusas en las reglas. Ejemplo: Si la mayoría
de los estudiantes no aprueban entonces la explicación fue deficiente.

En esta clasificación se puede decir que las proposiciones no tienen calificadores y ni


cuantificadores, debido a que son proposiciones de tipo categóricas, pero las no
categóricas no siempre deben ser ciertas en todo momento. Las reglas puede que
tengan variaciones, entre estas se encuentran las siguientes:
 Con excepciones: Si la temperatura es baja entonces tendré frío excepto que
salga el sol.
 Graduales: Mientras más partidos se ganen, será más fácil ganar el torneo.
 Conflictivas: Son el tipo de reglas que dentro de un sistema la información se
contradice, lo que puede que desencadene muchos conflictos como resultados
deficientes. En estas reglas para un mismo antecedente tienen:
 Consecuentes Diferentes:
R1. Si tengo sed entonces tomo agua.
R2. Si tengo sed entonces no tomo agua.

Otro ejemplo de reglas que se contradicen sería aquellas, que a pesar de estar
encadenadas en los dos sentidos niegan al consecuente.
R1: Si he anotado un punto entonces estoy feliz.
R2: Si estoy feliz entonces no he anotado un punto.
10.4 Definiciones adicionales.

Recursos.
Estos son necesarios para la ejecución de la acción que una regla describe, ejemplo:
cuando se ejecuten reglas en paralelo, puede que algunas necesiten más recursos de lo
esperado (se puede bloquear el uso de estos por parte de otras). Estos datos se pueden
necesitar durante las definiciones de los mecanismos de control con el objetivo de
resolver los potenciales conflictos.

Condiciones Excluyentes.
Se encarga de suministrar información, acerca del momento en que no se puede usar la
incertidumbre de la regla. En relación al hecho que, condiciones previas sean definidas
de forma explícita, se puede introducir información repetida. Pero en algunos casos
puede ser de utilidad para desestimarlas de una forma simple, debido a que, en
ocasiones, conseguir una regla que no pueda ser aplicada puede que se considere más
rápido. Este caso sería las reglas de uso poco común, en donde pueden ser excluidas
por una condición.

Retractar resultados.
Cuando los sistemas son modificados de manera dinámica, puede que se necesite
adicionar cambios directos en la memoria del sistema, esta porción, define los hechos
que no son ciertos luego de aplicar reglas que se tienen que anular de la base de
conocimiento.

Afirmar Resultados.
Luego que una regla se aplica, los hechos nuevos puede que se vuelvan verdaderos, en
este segmento de la regla se definen los hechos que se tienen que afirmar en la base de
conocimiento luego de la exitosa aplicación de la regla.
Acciones.
En cuanto a las reglas de control, este segmento define las operaciones y las acciones
que se tienen que realizar.

Informes.
Cuando los sistemas son de monitorización o supervisión, junto a operadores humanos,
puede que sea de gran importancia la definición de una porción en donde contenga
definiciones para estos. La información que se suministra al archivo o a una consola,
debería de estar parametrizada en donde contenga conocimientos sobre el proceso en
ejecución.

10.5 Mecanismo para la ejecución de reglas.


En la esquematización de las reglas de producción, un segmento de las condiciones se
define por medio de una fórmula lógica, expresión que representa el conocimiento
atributivo, formulación lingüística o incluso expresión cualitativa. Sin tomar en cuenta el
tipo de lenguaje, las condiciones iniciales definen las condiciones que se necesitan para
que la regla sea aplicada. Al mismo tiempo son definidos los estados, en que la regla de
producción se pueda aplicar. Todos los componentes de la regla contienen parámetros
y variables para hacer el ajuste de la regla y objetivos. Las definiciones de las variables
se pueden encontrar por medio del proceso de emparejamiento durante el mecanismo
de comprobación en el que se establece si la regla se puede aplicar o no, o se pueden
dar por un proceso de control mucho más superior, como, por ejemplo, el objetivo que
define el usuario. En el ámbito lógico se pueden tomar en cuenta todas y cada una de
las variables definidas de una regla universal cuantificada, como, por ejemplo, en el
caso del lenguaje Prolog. Pero las variables definen los parámetros que se van a
instanciar, previo al proceso de aplicación de la regla. Lo que significa, que todas las
reglas que tengan variables definidas, establecen un conjunto de reglas aplicables. Las
definiciones precisas pueden ser elegidas por el usuario para demostrar las condiciones
previas. Este tipo enfoque en el más común, debido que se encuentran las definiciones
de las variables con la finalidad de que las condiciones iniciales puede ser cumplidas
durante la demostración de estas, como un efecto producido por el proceso de
emparejamiento.

Si se asume que una regla dada posee una forma básica: si <antecedente> entonces
consecuente, el <antecedente> equivale a una formula simple. Suponiendo que el
estado actual de la base del conocimiento he descrito por medio de fórmulas (lógicas)
simples, suministrando un grupo de hechos verdaderos. Definiendo ℎ como la fórmula
que define el consecuente. Cada uno de los componentes se pueden parametrizar con
variables, el algoritmo para la ejecución de la regla es el siguiente:
 Verificar si las condiciones iniciales de la regla se satisfacen, de ser cierto este
caso, se buscan los valores ideales para los parámetros de la regla. En el
ambiente lógico esta verificación es igual a encontrar sustitución para 𝛿 tal que
𝛷 AE 𝛷𝜗, las condiciones iniciales, lógicamente provienen del estado actual de
la base de conocimiento. En el caso negativo de que se pueda proceder, no es
posible aplicar la regla.
 Determinadas la conclusión ℎ 𝜎 (aplicar el control que se necesite). Sustituyendo
𝜎 se tienen los valores de los parámetros en el caso de que sea necesario.
 Regresar la administración al proceso de control de inferencia (motor de
inferencia).

Si la regla llegara a tener una amplia estructura, las extensiones definidas se tienen que
interpretar apropiadamente, pero estas son muy directas. El único inconveniente en la
práctica es aplicar adecuadamente la sustitución que se encuentra en cualquiera de las
fases. La sustitución se puede realizar por cualquier proceso de emparejamiento, los
menos complejos se pueden basar en un esquema de confusión lógica.
10.6 Reglas de inferencia.
Se entiende por inferencia la manera de obtener las conclusiones en declaraciones que
han sido establecidas y en bases de datos. En la lógica matemática, se entiende por
regla de inferencia un mecanismo que permite la construcción de inferencias
consideradas válidas, dichos mecanismos permiten el establecimiento de relaciones
sintácticas entre un grupo de fórmulas denominadas premisas y una aserción que se
denomina conclusión. Las inferencias pueden ser consideradas, deductivas, inductivas,
abductiva, transducida.

Inferencia Inductiva.
Este tipo de inferencia, de manera general se desprende de las observaciones, en tal
sentido de que, no se puede estar seguro de la verdad una vez llegada a la conclusión,
como, por ejemplo: si en la semana inicial, la niñera llega 30 minutos tarde, se puede
determinar la conclusión que, todo el mes, ella se va a retrasar, esta conclusión no
necesariamente debe ser determinada como verdadera, debido a que puede que la
niñera algunos días si pueda llegar temprano. Otro ejemplo de esto sería: un chico le
hace una observación a su amigo diciéndole, que todos los días este dice mentiras, a lo
que este le contesta, que esto no es verdadero, debido a que el día anterior no dijo una
sola mentira.

De manera resumida una inferencia inductiva es la regla resultante de la observación de


varios casos, sin poder asegurar que la conclusión resultante signifique verdad
generalmente.

Inferencia Deductiva.
Esta va de los general a lo particular, a medida que se tiene el conocimiento de una ley
general y es aplicada a un caso en particular, ejemplo: siempre que llueve hay fuertes
agrupaciones de nubes en el cielo, se concluye que como en el día de hoy, como está
lloviendo, hay nubes. Por otra parte, cuando se presenta un caso en donde se analizan
cada uno de los posibles resultados, pero por las premisas, solo existe una situación
posible, en donde dicha situación, será la conclusión única. De manera que, si las
premisas se consideran ciertas, la conclusión también lo será. Particularmente en este
caso se tiene el Modus Ponendo Ponens y Modus Tollendo Tollens, son dos formas de
poder establecer una inferencia válida. La inferencia deductiva es la única que acepta
las matemáticas y la computación como válidas para realizar comprobaciones y poder
determinar conclusiones.

Inferencia Abductiva.
Tiene relación de semejanza con la inferencia deductiva, de la misma forma implementa
la estrategia de análisis de todas las posibilidades, sin embargo en esta inferencia se
puede presentar varios casos adicionales, por ejemplo: teniendo el conocimiento de
que, siempre que está lloviendo hay fuertes agrupaciones de nubes por lo que, si se
sabe que hay nubes, se puede llegar a la conclusión que está lloviendo, pero sin tener la
certeza, de la misma forma que el caso inductivo y transductivo, no es la manera válida
de producir conclusiones lógicas o matemáticas y se necesite contar con más
información para poder hacer la verificación de la validez.

10.7 Principales reglas de inferencia

Modus Ponendo Ponens. (MPP).


𝐴 ⟶𝐵
𝐴
𝐵

En latín modo que afirmando afirma. En la lógica también conocido con el nombre de
modus ponens, y se abrevia con MP o MPP. Esta regla de inferencia expresa lo
siguiente:
 Si A, entonces B,
 A, por lo tanto B.

Un ejemplo de razonamiento que se rige por el MPP pudiera ser:


 Si esta oscuro, entonces es de noche.
 Está oscuro.
 Por lo tanto, es de noche.

Otro ejemplo que pudiera presentarse:


 Si Luis tiene dolor, es policía.
 Luis tiene dolor.
 Por lo tanto, Luis es policía.

Otra forma de presentarlo es por medio de la notación del cálculo de secuentes con
condicional:
(𝐴 ⟶ 𝐵), 𝐴 ⟝ 𝐵

En el proceso de axiomatizado de la lógica proposicional, que fue propuesta por Jan


Lukasiewicz, el MPP, sería la única regla de inferencia que es primitiva, por lo que esta
propuesta ha sido objeto de discusión por el inconveniente de la justificación de la
deducción se centre en la justificación del MP.

La implicación o condicional, se define como la operación que define: entre dos


enunciados es establecida una relación de causa – efecto. El significado de la regla
ponendo ponens, significa “afirmando afirmo”, y en uno de sus condicionales en la que
establece que: si el antecedente (término que se define como p) se afirma, el
consecuente necesariamente es afirmado, (término que se define como q).
Modus Tollendo Tollens. (MTT).
𝐴 ⟶𝐵
¬𝐵
¬𝐴
Por su significado en latín, “negando niego”, se refiere a una propiedad inversa de los
condicionales, de manera que:

Cuando se presenta un condicional como premisa, se niega el consecuente (el efecto),


lo que dirige a la negación del antecedente (la causa), debido a que, si el efecto no es
dado, no puede darse su causa. Esta produce la formulación de una regla combinada
con las reglas anteriores, como consecuencia de estas de una propiedad de la
implicación; la regla del ponendo ponens permite afirmar en el caso de afirmación del
antecedente (el primer término implicado), en cambio el tollendo tollens permite solo
hacer la negación desde el consecuente (segundo término implicado), las dos
consecuencias derivan de que la implicación es una flecha que apunta hacia un solo
sentido permitiendo que solo se pueda afirmar desde el antecedente y hacer
negaciones desde el consecuente únicamente.

Doble Negación. (DN)


¬¬𝑝 ⟷ 𝑝
Anteriormente se define p con doble negación equivalente a p, tomando en cuenta el
esquema de la inferencia por pasos se representa de la siguiente forma:

La doble negación como regla, establece que, si un enunciado tiene una doble
negación, es considerado un enunciado afirmado.
Simplificación y Adjunción:

Adjunción. (A).
Cuando se tienen dos enunciados como premisas por separado, por medio de la
adjunción pueden ser unidas en una sola premisa usando el operador "˄” (conjunción).

Simplificación. (S).
Se refiere a la inversa de la adjunción, en donde; si se tiene un enunciado conformado
por dos miembros que se encuentran unidos por una conjunción, se pueden separar
estos miembros como dos enunciados por separado.

Modus Tollendo Ponens. (TP).


La forma correcta en que una disyunción se simboliza, es por medio del operador “˅”,
de manera que se encarga de hacer la representación de la elección entre dos
enunciados. En dicha elección conforma las posibilidades de elección entre estos, lo que
significa la certeza de ambos no tienen incompatibilidad, entonces ambos no pueden
ser falsos. Partiendo de la definición anterior se puede deducir la regla tollendo ponens
“negando afirmo”, en el que, si uno de los integrantes de la disyunción se niega, el otro
se afirma de forma automatizada, debido a que se descarta uno de los términos de la
selección:
Silogismo Disyuntivo. (Silogismo Disyuntivo).
𝐴˅𝐵
¬𝐴
¬𝐵
Al momento de tener tres premisas, dos de las cuales son implicaciones, y la restante es
una disyunción en la que sus miembros son los antecedentes de los condicionales, se
puede concluir en una premisa nueva en forma de disyunción, en la que sus miembros
son los consecuentes de las implicaciones. De manera lógica si una lección se plantea
entre dos causas, puede ser planteada una elección de la misma forma, entre los dos
posibles efectos, que sería el sentido de esta regla.

Silogismo Hipotético. (Silogismo Hipotético).


𝐴 ⟶𝐵
𝐵 ⟶𝐶
𝐴 ⟶𝐶
Cuando se presentan dos implicaciones, en las que, el antecedente de una se considere
el consecuente de la otra, se puede construir una implicación nueva en donde el
antecedente se define por medio de la implicación en la que la consecuencia signifique
el antecedente de la otra y el consecuente sea el de la última en donde el antecedente
primero era la consecuencia. Visto de otra forma, si la causa sigue la consecuencia y
esta es causa de una segunda consecuencia, esa primera causa, es causa de la segunda
consecuencia, tal como: si en un juego de billar una bola amarilla golpea a la azul, y esta
golpea a una bola verde, la bola amarilla inicial es causa de la bola verde. En forma de
inferencia lógica se expresa de la siguiente forma:
Ley de Simplificación Disyuntiva. (SD).
Cuando se tienen dos premisas que pertenecen a dos implicaciones que tienen el
mismo consecuente, y los antecedentes son correspondidos con los miembros de la
disyunción, puede ser incluido el consecuente de las dos implicaciones.

Ley de la Adición. (LA) .


𝐴
𝐴˅𝐵
Cuando se da un enunciado cualquiera, puede ser expresado como una elección
acompañada por otro enunciado cualquiera.

Ley Conmutativa.
Esta no aplica a la implicación, pero si a la conjunción y disyunción. La conjunción afirma
que dos cosas se dan a la vez, de manera que le orden de estos elementos no cambia el
hecho. De igual forma la disyunción presenta una elección entre dos elementos, sin
tomar en cuenta el orden de esta elección:
Leyes de Morgan. (DM).
Con esta ley se puede transformar la disyunción en una conjunción, y viceversa, lo que
quiere decir que una conjunción es una disyunción. Cuando se transforma de una a la
otra, los valores de afirmación y negación de los términos de estas cambian, de igual
forma la operación propia:

Contrapositiva.
𝐴 ⟶𝐵
¬𝐵 ⟶ ¬𝐴

Ejemplos de las reglas de inferencia:


Por medio de las condiciones escritas antes de la línea divisoria, ¿qué se puede
concluir?

En el caso de que se aplique este experimento a un grupo de personas, en el caso


inicial, la gran mayoría, o hasta todos contestarían que no se puede saber si va a llover o
no, pero en el segundo caso, la mayoría pueden coincidir en que existe una conclusión y
este pudo realizar la tarea. Analizando de manera simbólica el primer caso se tiene los
siguiente:
p: llueve.
q: hay nubes.
expresado en símbolos queda de la siguiente forma.
En cuanto al segundo caso:
p: realizar la tarea.
q: llevarlo al cine.
con símbolos queda de la siguiente forma:

Se puede observar que, en los dos casos es la misma estructuración respecto al


argumento, lo que quiere decir que, en ambos casos puede originar una conclusión
válida o puede que en ninguno. Sim embargo no existe la posibilidad de que a uno si y al
otro no. A manera de respuesta correcta, se puede decir que, en estos casos, en
ninguno puede ser obtenida una conclusión válida.

10.8 Inferencias en los sistemas basados en reglas.


La inferencia estos sistemas se basa en la lógica. Esencialmente, el gráfico de las reglas,
se asemeja a la implicación en la sintaxis y en la semántica. El uso de cualquier regla,
como paso principal en el paradigma de razonamiento, es análoga al modus ponens. La
verificación de la satisfacción de las condiciones iniciales es un caso de emparejamiento,
como también es considerado un emparejamiento de condiciones previas o de los
términos.

Considerando un sistema dinámico con 𝑁 cantidad de reglas. El conflicto para resolver


problemas puede definirse como: en un conjunto de 𝑁 cantidad de reglas, si más de
una regla es aplicable, se selecciona sólo una regla para aplicar en el estado actual del
sistema bajo supervisión. El inconveniente de la resolución de problemas, no está
presente en los sistemas de tipo determinísticos, para que una sola regla se aplique en
cualquiera de los estados. El inconveniente se presenta, si en algún estado se puede
aplicar más de una regla; la gran mayoría de los sistemas en la selección de una regla
dependiendo del criterio, diferente para que pueda satisfacer las condiciones iniciales.
Depende de la dificultad de estructuración del proceso de control de inferencia
posibilita dos tipos de formulación: la avanzada y la básica.

La formulación básica: se consigue un sistema de control, que se basen reglas


conteniendo 𝑁 cantidades reglas. Suponiendo que, estas, se encuentran ordenadas, de
manera lineal dependiendo de un índice. El inconveniente de la resolución de
problemas, ahora se basa en la selección exacta de una regla que pueda ser aplicable al
estado actual. La regla que se selecciona se tiene que aplicar y el procedimiento se
repite desde el inicio.

Los mecanismos básicos para afrontar el problema anteriormente definido, puede que
varíe por las especificaciones del sistema y el tipo de aplicación, pero sin embargo
existen dos posibilidades:
 Se puede seleccionar de forma inicial una regla 𝑟𝑖 que sea adecuada, para
alcanzar el objetivo y luego se puede intentar la satisfacción de sus condiciones.
Este proceso principalmente es aplicado en sistemas de planificación.
 Se pueden hacer pruebas secuenciales a las reglas por medio de la satisfacción
de sus condiciones iniciales, en donde estas condiciones sean ideales, se
selección y luego se ejecutan.

En cuanto al control y supervisión se implemente el segundo enfoque. Basándose a la


organización del intérprete de reglas, se terminan trae procedimientos básicos para
afrontar el problema:
 Cuando las reglas se organizan de forma lineal y la satisfacción de sus
condiciones iniciales es probada de forma secuencial, luego de la regla 𝑖, se
tiene que probar la regla 𝑖 + 1 comprendiendo la posibilidad de ser ejecutada, y
luego de la regla 𝑁 se hace la prueba de la regla 1. Este considerado una
ejecución lineal.
 Se toma en cuenta una estructura jerárquica entre las reglas, éstas se podan, de
forma secuencial dependiendo de su estructura hasta que se consiguen unas, en
la que las condiciones iniciales sean satisfechas, luego la regla es ejecutada
reanudando el proceso en la regla 1. Este proceso se considera como una
ejecución jerárquica.
 Basándose en la preselección de un subgrupo del conjunto inicial de reglas, y
nuevamente se ordenan tomando en cuenta algunas prioridades, se
inspeccionan las reglas respecto a los dos esquemas definido anteriormente.

Cabe destacar que los enfoques pueden ser modificados y se pueden extender
implementando mecanismo de control de razonamiento, reglas, herramientas para la
preselección de reglas, etc. Ejemplo: un mecanismo, que ha sido considerado como útil,
contiene una modificación que se base en el uso de un proceso para el cambio de la
jerarquía de valores basándose en el contexto por medio del uso de una pila de
memoria.

La manera superior para declarar problemas contiene la selección de un grupo de


conflictos y la elección ejecución de las reglas, por medio del paso del control a otros
procedimientos. Nuevamente se considera un sistema que contiene N cantidad de
reglas, 𝑅 = (𝑟1 , 𝑟2 , … 𝑟𝑛 ). El desarrollo avanzado de la tarea de resolución de problemas
se basa en la selección 𝑅 ′ ⊆ 𝑅 de reglas que puedan satisfacer condiciones, de haber
dos o más reglas, se selecciona una que pueda satisfacer algún criterio. Este enfoque se
basa en dos fases: la fase 1, eliminación de las reglas que no se puede aplicar, la fase 2,
se selecciona la mejor regla, o la más apropiada para llevar a cabo la tarea del control
del proceso. Para un caso avanzado, pueden ser establecidas varias agrupaciones de
estrategias de resolución de problemas.
 Estáticas vs Dinámicas: las estrategias de tipo estáticas son basadas en criterios
de tiempo constante, en cambio que las dinámicas tienen en cuenta el
contexto, tiempo, el total de las repeticiones satisfactorias de la regla.
 Sintácticas vs Semánticas: las sintácticas son basadas en la forma de las
condiciones iniciales de la regla, en cambio las semánticas, toman en cuenta el
contexto actual, el objetivo, y evaluar los detalles que el usuario ha
especificado.
 Directas vs Indirectas: las primeras son basada bajo la semejanza de las reglas
simples y la asignación de los factores, propiedades, y en cambio que las
segundas, se lleva a cabo por medio de sistemas que se basan en conocimiento
auxiliar, meta-reglas y estructuras complejas de inferencia.
 La que se basa en criterios simple especificados Vs Modificables que se basan
en mecanismos de aprendizaje.

Tomando en cuenta el tipo de problema, sus especificaciones y los recursos con los que
se disponen se pueden aplicar variedades de estrategias, no se pueden dar criterios
generalizados. La unión de un grupo de estrategias puede que sea útil.

10.8.1 Estrategias para resolver conflictos.


A continuación, se describen algunas estrategias para resolver conflictos. Se presentan
los enfoques más comunes para los sistemas de control.
 Ordenamiento de las reglas, la primera regla que se manifiesta es la que va a
conservar la pérdida más alta.
 Ordenamiento de los datos, la regla en la que tenga asignada la prioridad más
alta, tendrá la prioridad de ejecución más elevada.
 Ordenamiento del tamaño, la regla cuya lista de condiciones restrictiva sea la
más larga tendrá la prioridad más elevada.
 Ordenamiento de la especificidad, se organizan las reglas que tengan
condiciones provenientes de otras reglas.
 Delimitación de contexto, se basa en la activación o desactivación de un
conjunto de reglas en cualquier instante para minimizar el desenlace de
problema.

Los primeros dos enfoques, van dirigidos hacia estrategias de clasificación directas,
estáticas, el tercero de estos y también el cuarto, se han referidos a casos detallados de
clasificación de las posibilidades por medio de los procesos de evaluación de prioridades
tomando en cuenta la sintaxis. En cuanto al quinto, se base la semántica sobre el
proceso, sin embargo, se implementa con la finalidad de reducir la cantidad de reglas en
los conflictos y no con la finalidad de elegir una regla única.
Por ejemplo, en el sistema basado en reglas OPS5, se pueden implementar dos
estrategias mucho más complejas, MEA y LEX. Esta estrategia se realiza por medio del
cuarto paso: la refracción, anula las intersecciones previamente ejecutadas, la
clasificación parcial se basa en la actualidad reciente, se toma en cuenta la etiqueta de
tiempo que corresponden a los elementos de la memoria, clasificación parcial por
medio de especificidad, se toma en cuenta las reglas con el mayor número de las
pruebas, y para finalizar la selección arbitral. El tipo estrategia MEA toma en cuenta la
importancia actual de la condición primaria de las reglas. Este tipo de estrategia puede
ser muy útiles en la programación basada en regla, sin embargo, puede que sean poco
satisfactoria a la hora de controlar los sistemas dinámicos, hasta incluso inadmisibles.
Como, por ejemplo: la estrategia de refracción puede ser capaz de eliminar cualquier
instancia de acción que se ha ejecutado inicialmente, sin embargo, la repetición de la
misma regla se necesita para alcanzar el objetivo por medio de procedimientos
similares.

10.8.2 Inferencias hacia adelante y hacia atrás.


Este tipo de direcciones básicas de inferencia teóricamente son posibles por medio del
encadenamiento hacia delante o lo que se conoce como inferencia dirigida por los
datos y el encadenamiento hacia atrás o la inferencia dirigida por los objetivos.
Tomando en cuenta un conflicto, sus detalles y la clase de reglas que se ha aplicado, el
usuario pueda ser la selección de la dirección del razonamiento tomando en cuenta el
objetivo definido de la inferencia. El encadenamiento hacia delante prácticamente
puede ser aplicado a todos los casos y considerado útil si existen pocos hechos, es
necesario la producción de nuevos hechos, el objetivo especificado poco o simplemente
no especificado en su totalidad. Este encadenamiento por lo general produce hechos
definidos.

En cuanto el encadenamiento hacia atrás es mucho más complejo y nos explica en


cualquier tipo de sistema. Si las reglas contienen mucha más variables en las
condiciones iniciales que en las conclusiones, existe la probabilidad de que se generen
hechos no especificados en su totalidad. Se considera que la estrategia no es tan
compleja, debido a que se necesitan cumplir los hechos en su totalidad en cualquier
fase con la finalidad de demostrar el objetivo. Sin embargo, esta inferencia es mucho
más eficaz cuando se tiene un sentido exactamente definido y existen muchos hechos
de entrada. Este mecanismo de aplicado a ciertos sistemas como Prolog.

10.8.3 Intérpretes de reglas


En lo referente a los intérpretes simplificados se hace la selección de una sola regla y se
ejecuta de forma simultánea existiendo la posibilidad de clasificar el trabajo. Asumiendo
una línea de sucesión de reglas se define la fórmula (𝑟1 , 𝑟2 , … 𝑟𝑛 ). Los esquemas para su
interpretación pueden proceder de la siguiente forma:
 La elección consecutiva con la ejecución lineal de cada una de las reglas
implementadas que son ejecutada sucesivamente, luego de encontrar e
implementar una sola regla, son examinadas y luego ejecutadas las siguientes
reglas de manera sucesiva. Únicamente luego de que se ha alcanzado la última
recta, el sistema regresa al inicio. En el sistema Prolog, dicho esquema puede
corresponder al formato (repetir, encontrar, ejecutar, fallo), repeat-find-
execute-fail. En los conjuntos decisión esta modalidad pertenece a una
clasificación lineal de la lista. Las interpretaciones de este tipo se llevan a cabo
en las tablas de decisión.
 La interpretación jerarquizada desde el inicio a la primera regla factible, luego de
satisfacer las condiciones iniciales; el sistema inmediatamente regresa al inicio y
hace la repetición del ciclo. En el sistema Prolog, sería (correr, encontrar,
ejecutar, correr) run-find-execute-run. Es interpretación es semejante al que se
le suministra al analista de decisión jerarquizada.
 La interpretación lineal, pero con reglas cambiadas. Desde el inicio a la primera
regla factible luego de satisfacer las condiciones iniciales, el sistema da un salto
a las reglas seleccionadas a la regla ejecutada recientemente. Este esquema
equivale al intercambio de las reglas en la base de reglas. Existen variedades
posibles de interpretaciones posterior, las nuevas reglas pudieran dirigir el
sistema hacia otras reglas o luego de haberlas ejecutado, el sistema puede dar
un salto de regreso cual distante de donde inició. Puede que desista de la opción
para el regreso y el sistema siga realizando interpretaciones lineales luego de
haber ejecutado la regla uno, a la que hizo el salto.
 Test lineal con variación de contexto. Estos pueden ser combinados, lo que
significa, que luego de que, aunque sea una regla es ejecutada, evaluará la
situación del sistema, se hace la determinación del contexto, y un proceso de
decisión hace el cambio a un grupo diferente de reglas dirigidas a dicho
contexto.

La imagen a continuación muestra el esquema de los intérpretes anteriormente


mencionado:
10.8.4 Aplicaciones de las reglas de inferencia.
Se pueden presentar tras problemas, que puede ser enfocados hacia el uso de los tipos
de reglas de inferencia, de los que se presentaron anteriormente. Dichos problemas se
basan en el modelado sobre el comportamiento que tiene el sistema (simulación del
comportamiento), administración del sistema (meta - control), desarrollo de planes
(simplificar el control). Estos problemas pueden desarrollarse a gran escala en los
siguientes aspectos:
 Simulación: considerando un sistema dinámico relacional. Se presenta un grupo
de reglas 𝑇 de producción que expresan los cambios para el modelado de todas
las variaciones posibles en los estados. Por medio de un estado inicial 𝑆𝐼 , se
tiene que encontrar la posibilidad de comportamiento que va a tener el sistema
para una cantidad limitada de fases de variación. Puede que en el caso de la
simulación se necesite la obtención de cualquier comportamiento posible
(cualquier sucesión de parámetros y reglas de variación), una de las trayectorias
posibles que son generadas con una porción de los datos iniciales que integran,
reglas y los parámetros que se tienen que considerar en cualquiera de las fases.
Este acercamiento es denominado, simulación basada en conocimiento y se le
aplica un formalismo cualitativo, simulación cualitativa activa.
 Control: suponiendo que un sistema dinámico relacional era observado en un
instante de tiempo. La fórmula del estado del sistema puede ser conocida en
cualquier instante, de la misma forma que el objetivo de control, sólo si se ha
especificado de manera explícita. A nivel de práctica la fórmula que se encarga
de definir el objetivo actual puede ser una porción de la fórmula del estado. El
objetivo en la construcción de un sistema que se base en conocimiento, el
diseño de un grupo de reglas 𝑇 para aplicarse en un instante de tiempo y
establecer el comportamiento que se desea del sistema. El grupo de reglas a ser
implementadas de manera que, aunque sea para cualquier estado se tiene que
aplicar una acción, sin pasar por alto cuando la acción implica no hacer nada. Si
un estado tiene más de dos acciones aplicables, o una se pueda aplicar de
diferentes formas, se debe suministrar un procedimiento para el control de
razonamiento, que permita resolver los conflictos. Estos sistemas que se basan
en reglas, se pueden usar para ejercer control directo (control que se basa en
reglas o reactivo), o se puede aplicar en un nivel de control, como por ejemplo
para la elección de parámetros, elegir algoritmo de control, ajustar el modelo,
etc. La implementación a la monitorización de procedimientos, reconocer
situaciones, hacer supervisiones, como detectar fallos, hacer diagnósticos y
hacer soporte a las decisiones, pueden implementarse dentro de este tipo de
uso.
 Planificación: similar al caso de simulación, se consideró sistema dinámico
relacional. Un conjunto finito de reglas 𝑇 suministrado para ser el modelo de las
transformaciones de estado que pueden presentarse. Partiendo de un estado
inicial 𝑆𝐼 y un objetivo 𝑆𝑔 , lograr encontrar la sucesión de las acciones que
puedan transformar el estado inicial en otro que pueda satisfacer las
características definidas del objetivo, éste puede definirse de una forma
generalizada, se pueden presentar requisitos de una forma explícita, y de esta
forma puede haber más de un estado capaz de satisfacer las condiciones
definidas del objetivo.

A pesar de que principalmente se han tratado los problemas de monitorización,


supervisión y control basados en conocimiento, algunos resultados se pueden aplicar a
los casos de planificación y simulación. El formalismo se puede aplicar en otro tipo de
problemas resueltos por medio de enfoques basados en ingeniería del conocimiento,
tales como diagnóstico automatizado, asistencia y el diseño por parte de ordenadores y
fundamentar las decisiones.
10.9 Restricciones. Constraint satisfaction problems. (CSP).
Las restricciones son implementadas en la programación de sistemas como una
metodología de software que se usa para describir y resolver efectivamente los
conflictos, de índole combinatorios y hasta de optimización. Estos inconvenientes
pueden pertenecer a diversas áreas, entre ellas la más influyente la inteligencia
artificial, también la investigación, en las bases de datos y en los sistemas
implementados para la recuperación de datos, contiene diversas aplicaciones lo que se
refiere a: sheduling, razonamiento temporal, en torno a la planificación, ingeniería de
diseño, inconveniente durante el empaquetamiento, diagnósticos, criptografía, toma
decisiones, entre otros. Estas conveniencias pueden ser modeladas como problemas
para satisfacción de restricciones (Constraint Satisfaction Problems. CSP), y pueden ser
resueltos con la implementación de los procedimientos o técnicas de satisfacción de
restricción. Las principales etapas por las que pasa el proceso para llegar a resolver un
problema de CSP, inician con la modelización, y su resolución por medio del uso de las
técnicas de CSP, que integran procesos de búsqueda que se apoyan con mecanismo
heurísticos y procedimientos de inferencia.

Gran parte de las decisiones que toman las personas, cuando es necesario la resolución
de conflictos del día a día son basadas en las restricciones. Decisiones tan simples como
agendar una cita, planificar las vacaciones, comprar un inmueble, preparar un plato de
comida, puede que dependa de varios factores dependientes entre sí, cada problema
puede que esté sujeto a un grupo de restricciones, las cuales tienen que satisfacerse,
para que la decisión se considere válida. Una vez que se obtiene una solución que
pueda satisfacer algunos criterios, puede que otros criterios sean pasados por altos y no
alcancen a satisfacerse, en vista de estos, cuando se requiere la obtención de una
solución eficaz, es suficientes con sólo alcanzar una sola. Los primeros trabajos que
implementaron las restricciones de la programación inicial, fue entre los años sesenta y
los setenta, en el área de la inteligencia artificial. Últimamente el desarrollo de
restricciones en la programación ha tenido un crecimiento en sus estudios por parte de
los especialistas de diferentes áreas, esto se debe al gran potencial que poseen para
darles solución a problemas complejos de la vida real. Cabe destacar, que a su vez las
restricciones, que consideran como una de las tecnologías que no están comprendidas y
menos conocida. El proceso de programación de las restricciones es definido como el
desarrollo de sistemas computacionales que se apoya en las restricciones (basados en
restricciones). El objetivo de la programación de las restricciones, consiste en la
resolución de los problemas por medio de la declaración de estas acerca del dominio
del problema con la finalidad de encontrar las soluciones a las instancias de los mismos
en dichos dominios que pueda satisfacer cada una de las restricciones, y al mismo
tiempo alcancen la optimización de los criterios que se han determinado.

10.9.1 Conceptualizaciones.
Durante el proceso de programación de restricciones fue clasificado en dos partes:
satisfacción de restricciones, y resolución de restricciones. Estas partes tienen la misma
terminología, sin embargo, sus técnicas de resolución y orígenes son diferentes. En la
satisfacción de las restricciones hacen frente a problemas finitos, en cambio la
resolución de restricciones se orienta hacia los problemas infinitos o más complejo. La
conceptualización es clave para este tipo de metodología, y se presentan estos aspectos
a continuación:
 Modelado del problema. Este permite la representación de un problema por
medio de un conjunto de variables, un conjunto de valores finitos, con la
finalidad que cada una de las variables y un grupo de restricciones que
enmarcan las relaciones válidas de los valores que las puedan recibir. En el
modelado de CSP, es necesario una buena capacidad expresiva, para que se
puede captar cada uno de los aspectos importantes del problema que se va a
modelar.
 Mecanismos diferenciales. Van a permitir hacer la deducción de la información
acerca del problema partiendo de las representaciones de la información. Estos
mecanismos permiten también hacer acotaciones y hacer que el proceso sea
más eficiente para la búsqueda de soluciones.
 Mecanismo para la búsqueda de soluciones. Son fundamentadas por los
criterios heurísticos, serán dependiente o independientes del dominio. La
finalidad es poder encontrar la definición de un valor para todas las variables del
problema, para que pueda satisfacer todas las restricciones de este.
Generalmente el proceso de obtención de las soluciones en el CSP, es un NP-
completo, en cambio obtener soluciones de manera optimizada es un NP-duro,
sin que exista la manera de verificación de la optimalidad de la solución
encontrada en un instante polinomial. En vista de estos se requiere el desarrollo
del proceso de búsqueda eficiente.

10.9.2 Definir un problema para satisfacer restricciones.


Se puede representar por medio de la terna (𝑋, 𝐷, 𝐶) en donde:
 𝑋 se define como un conjunto de 𝑁 cantidad de variables {𝑥1 , … , 𝑥𝑛 }. El
 𝐷 =< 𝐷1 , … 𝐷𝑛 > se define como una tupla finita, en donde son interpretadas
las variables 𝑋, de manera que 𝑖 − é𝑠𝑖𝑚𝑎 componente 𝐷𝑖 se entiende como el
dominio que tiene los valores posibles que pueden ser asignados a la variable
𝑥1 . Como la cardinalidad de los dominios se expresa por medio de 𝑑𝑖 = |𝐷𝑖 |.
 𝐶 = {𝑐1 , 𝑐2 , … , 𝑐𝑝 } se define como un conjunto de restricciones finitas. Cada una
de las restricciones 𝑘 − 𝑎𝑟𝑖𝑎 𝑐𝑖 se encuentra definida en un conjunto de k
variables 𝑣𝑎𝑟(𝑐𝑖 ) ⊆ 𝑋, llamando a su ámbito y haciendo restricciones a los
valores que las variables pudieran tomar. Una restricción es considerada binaria
cuando únicamente se relación se relacionan las dos variables 𝑥𝑖 𝑦 𝑥𝑗 , y se
denota con 𝑐𝑖𝑗 . Cada una de las restricciones que se definen en un CSP se
consideran, ya que una solución tiene que poder satisfacerlas a todas.

El instanciamiento de una variable se lleva a cabo como un par de variables (𝑥, 𝑎), que
se encargan de representar, la definición del valor 𝑎 a la variable 𝑥 (𝑥 = 𝑎). El
instanciamiento del grupo de variables se define como una tupla de pares ordenados,
en el que cada uno (𝑥𝑖 , 𝑎𝑖 ) se encarga de asignar el valor {𝑎𝑖 ∈ 𝐷𝑖 } a la variable 𝑥𝑖 . Una
tupla representada por ((𝑥𝑖 , 𝑎𝑖 ), … , (𝑥𝑖 , 𝑎𝑖 )), es consistente si logra satisfacer todas las
restricciones a que han sido formadas por las variables {𝑥1 , … , 𝑥𝑛 } definidas en la tupla.
Con el objeto de minimizar la notación se sustituye la tupla ((𝑥𝑖 , 𝑎𝑖 ), … , (𝑥𝑖 , 𝑎𝑖 )) por
(𝑎1 , … , 𝑎𝑖 ). El valor 𝑎𝑖 ∈ 𝐷𝑖 es consistente para 𝑥𝑖 en caso de que exista, aunque sea
una solución para el CSP en el que 𝑥𝑖 = 𝑎𝑖 . La definición mínima de una variable 𝑥𝑖 va a
ser el conjunto de los valores que sean consistentes para esa variable, quedando en
exclusión los valores que no pertenezcan a ninguna solución ∀𝑥𝑖 ∈ 𝑋, ∀𝑎 ∈ 𝐷𝑖 , 𝑥𝑖 = 𝑎
pertenece a una de las de las soluciones del CSP.

La solución a un CSP es una definición (𝑎1 , 𝑎2 , … , 𝑎𝑛 ) de valores a cada una de sus


variables, de tal forma que puedan satisfacer a las restricciones en su totalidad. Lo que
quiere decir que una solución se considera una tupla que tiene las variables del
conflicto. Una solución temporal, se define como una tupla que tiene una sola o algunas
variables del sistema. Un CSP se considera consistente, si llega a tener, aunque sea una
solución. Si dos CSP pueden representar al mismo grupo de soluciones son
considerados equivalentes. Ejemplo: En lo que se refiere al problema de la reina en
donde tiene que ser resuelto colocando las piezas de ajedrez de cuatro reinas en un
tablero de dimensiones 4 x 4 sin ningún tipo de problema, para este solo existen dos
soluciones, que se muestran en la siguiente imagen. Si se asume que las variables
{𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 } se encargan de representar a las columnas, en donde sus dominios
posibles van a ser las filas {1,4} en donde se van a colocar dichas reinas, se tiene (𝑥1 , 3)
como un instanciamiento de la variable 𝑥1 y ((𝑥1 , 2), (𝑥2 , 4), (𝑥3 , 1), (𝑥4 , 3)) como una
solución al CSP, en visto de esto el CSP va a ser consistente. El valor 3 es consistente
para 𝑥1 , en cambio el valor 1 no puede serlo. 𝑥2 tiene un dominio en {1,4}.

Posibles soluciones al conflicto de las cuatro reinas.

Luego que se ha modelado el problema por medio de un CSP. Lo objetivos del CSP, se
basan en la satisfacción del mismo, consiste en la obtención de más de una solución sin
tener alguna preferencia, o alcanzar la solución más eficaz, aunque sea una solución
excelente, basándose a la función objetivo ya definida en términos de todas las
variables, o sólo algunas. Este tipo de conflicto se define como un problema de
satisfacción y optimización de las restricciones o por su definición en inglés CSOP
(Constraint Satisfaction and Optimization Problem).

10.9.3 Tipos de restricciones.


Éstas se caracterizan principalmente por su aridad, que se define como el número de
variables que integran la restricción. Se considera una restricción unaria, aquella que
tiene restricción únicamente sobre una variable. En cuanto a una restricción binaria,
ésta tiene dos variables como lo expresa su nombre. En cuanto una restricción no
binaria o 𝑛 − 𝑎𝑟𝑖𝑎, se define como una restricción en la que se ven involucradas más de
dos variables. Ejemplo:
 Una restricción definida como 𝑥 ≤ 5, considerada un tipo de restricción unaria
sobre la variable 𝑥.
 Una restricción definida como 𝑥4 − 𝑥3 ≠ 3, es considerada una restricción
binaria.
 Una restricción definida como 2𝑥1 − 𝑥2 + 4𝑥3 ≥ 4, es considerada una
restricción ternaria.
 Para llegar a definir una restricción de tipo 𝑛 − 𝑎𝑟𝑖𝑎, sería 𝑥1 − 2𝑥2 + 𝑥3 +
5𝑥4 ≤ 9.

De un conjunto de variables, una restricción puede ser definida de manera extensional


por medio de un grupo de tuplas, sean válidas o no válidas, también pueden ser
definidas de manera intencional por medio de una función aritmética. La forma
extensional de una restricción 𝑘 − 𝑎𝑟𝑖𝑎 se forma por un grupo de tuplas, en la que cada
una posee 𝑘 elementos, encargándose de expresar el grupo de valores en la que las k
variables las tomen de manera simultánea. Específicamente en el caso de CSP
continuos, no es posible hacer las representaciones de las restricciones extensionales
debido a que por lo general existe un número infinito de tuplas que son válidas.
Ejemplo: tomando en cuenta un tipo de restricción en donde se involucren las variables
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , con sus dominios {1,2}, en el que la suma de las variables 𝑥1 y 𝑥2 , va a ser
menor o igual que la suma de 𝑥3 y 𝑥4 . Dicha restricción puede ser representada de
forma intencional según la expresión: 𝑥1 + 𝑥2 ≤ 𝑥3 + 𝑥4 . Y de la manera extensional se
puede representar por medio del grupo de tuplas permitidas {(1; 1; 1; 1), (1; 1; 1; 2), (1;
1; 2; 1), (1; 1; 2; 2), (2; 1; 2; 2), (1; 2; 2; 2), (1; 2; 1; 2), (1; 2; 2; 1), (2; 1; 1;2), (2; 1; 2; 1),
(2; 2; 2; 2)}.

Cuando se presenta una definición intencional, se pueden tener restricciones del tipo
disyuntivas o no-disyuntivas, dependiendo, si expresan sólo una regla o más de una
relación disyuntiva en las variables. Como, por ejemplo: un modelo con relaciones
elementales del tipo {<; =; >}, (𝑥1 < 𝑥2 ), esta es una restricción no-disyuntiva, en
cambio (𝑥1 < 𝑥2 ∨ 𝑥1 > 𝑥2 ), a lo que es equivalente a 𝑥1 ≠ 𝑥2 , se consideraría como
una restricción del tipo disyuntiva. En otro orden de ideas, las restricciones pueden ser
consideradas como cualitativas una vez que expresan la relación de orden entre las
variables (𝑥1 < 𝑥2 ), o las métricas que expresan las distancias entre ellas (𝑥1 < 𝑥2 + 7).
Este tipo de restricciones necesitan una métrica definida para poder interpretar las
variables.

Las restricciones lineales son de un tipo especial, la relación lineal sobre 𝑋 = {𝑥1 , … 𝑥𝑘 }
es un tipo de expresión:
𝑘

∑ 𝑝𝑖 𝑥 {<, ≤, ≠, ≥>}𝑏
𝑖=1

En la que 𝑝𝑖 van a ser los coeficientes y 𝑏 ∈ ℝ. Basándose en las combinaciones lógicas


de desigualdades (≠) e inigualdad (≤), pueden ser expresadas todas las relaciones en
{<, ≤, ≠, ≥>}.

10.9.4 Ejemplos de CSP y su modelado.


Lo primero que se tiene que hacer para resolver un CSP, es un modelado, lo que
significa su representación en cuanto sus variables en relación a los dominios y
restricciones. De la misma forma que el lenguaje natural el modelado de un conflicto o
problema puede ser realizado de varias formas diferentes. En lo que se refiere al
modelado de un problema CSP existen dos aspectos básicos:
 La potencia que expresa las restricciones, o la capacidad de modelización de las
restricciones va a ser el resultado con un poco de eficiencia.
 La eficiencia de la representación, en vista de su dependencia del modelado
CSP, se va a resolver el problema con un poco de deficiencia.

10.9.5 Ejemplo de la coloración del mapa.


Este tipo de problema posee un grupo de colores, que se implementan para poder
colorear cada área del mapa. De manera que las regiones adyacentes deben tener
colores diferentes. Durante la formulación del CSP, se define una variable por cada área
del mapa, y su dominio en el grupo de colores con los que se dispone. En cada par de
regiones contiguas tiene una restricción acerca de las variables correspondientes que
no van a permitir la asignación de valores iguales a las variables. Partiendo de la imagen
a continuación, se presentó un mapa con cuatro regiones: w, x, y, z, para que sean
coloreadas con los colores, verde, azul, y rojo. La formulación del CSP sería de la
siguiente manera:
 Variables: {𝑤, 𝑥, 𝑦, 𝑧}.
 Dominio {𝑉𝑒𝑟𝑑𝑒, 𝐴𝑧𝑢𝑙, 𝑅𝑜𝑗𝑜}.
 Restricciones: (definición forzada): el {𝑥 ≠ 𝑦, 𝑥 ≠ 𝑤, 𝑥 ≠ 𝑧, 𝑦 ≠ 𝑤, 𝑤 ≠ 𝑧}.

Problema de colores del mapa.


Un control de satisfacciones binario, se puede representar por medio de una red de
restricciones, en donde cada uno de los nodos se en carga de representar las variables,
los arcos a las restricciones. En la imagen anterior, específicamente en la de la derecha,
se encarga de la representación de la red del problema, en donde las variables forman
parte del problema del ejemplo expuesto, las variables representan a las regiones de los
alrededores, conectadas por medio de las aristas. Existen cinco restricciones en el
problema, a lo que equivale a cinco aristas que integran la red. Una de las soluciones
para el problema, sería la asignación: (𝑥, 𝑟), (𝑦, 𝑣), (𝑧, 𝑣), (𝑤, 𝑎). Durante la asignación
se han definido las variables de las adyacencias, con valores distintos.

10.9.6 Criptografía.
El problema más común en la criptografía “𝑠𝑒𝑛𝑑 + 𝑚𝑜𝑟𝑒 + 𝑚𝑜𝑛𝑒𝑦”, este se basa en la
asignación a cada una de las letras {𝑠, 𝑒, 𝑛, 𝑑, 𝑜, 𝑟, 𝑦} un número diferente entro del
conjunto {0, … ,9}, de manera que pueda satisfacer: 𝑠𝑒𝑛𝑑 + 𝑚𝑜𝑟𝑒 = 𝑚𝑜𝑛𝑒𝑦.

La forma menos compleja de poder hacer el modelo de este problema es por medio de
la asignación de una variable a cada una de las letras, dentro del dominio (0 − 9), y con
el conjunto de restricciones que se encarguen de obligar a que las variables tengan
valores diferentes, y con la restricción que se en encargue de satisfacer send + more =
money, siendo las restricciones las siguientes:
 103 (𝑠 + 𝑚) + 102 (𝑒 + 𝑜) + 10(𝑛 + 𝑟) + 𝑑 + 𝑒 = 104 𝑚 + 103 𝑜 + 102 𝑛 +
10𝑒 + 𝑦;
 Restricción en donde todas deben ser diferentes: ≠ (𝑠, 𝑒, 𝑛, 𝑑, 𝑚, 𝑜, 𝑟, 𝑦);

La restricción donde define “todas diferentes” se puede reemplazar por un conjunto de


restricciones, de tipo binarias, {𝑠 ≠ 𝑒, 𝑠 ≠ 𝑛, … , 𝑟 ≠ 𝑦},en donde (𝑥𝑖 ≠ 𝑥𝑗 ) se define
como la relación disyuntiva 𝑥𝑖 {<, >}𝑥𝑗 . Este modelo no es tan eficiente, debido a que
cada una de las variables, deben ser instanciadas antes de hacer la comprobación de las
restricciones definidas anteriormente. De esta forma, no puede ser podado el área de
búsqueda en el proceso con la finalidad de poder agilizar la búsqueda. La primera
restricción que se define se basa en una igualdad que forma parte de las variables del
problema, puede ser conocida como una restricción global, esta hace el proceso de
consistencia que sea más complejo. En el desarrollo de un modelo más eficiente se
puede implementar los bits de acarreo, para poder lograr la descomposición de la
ecuación en un grupo de restricciones más reducido. Para ello se necesita la inclusión
de tres variables adicionales portadoras, 𝑐1, 𝑐2 , 𝑐3 con un dominio de {0,1}:
 𝑒 + 𝑑 = 𝑦 + 10𝑐1;
 𝑐1 + 𝑛 + 𝑟 = 𝑒 + 10𝑐2;
 𝑐3 + 𝑠 + 𝑚 = 10𝑚 + 𝑜;
 Restricción donde todas son diferentes ≠ (𝑠, 𝑒, 𝑛, 𝑑, 𝑚, 𝑜, 𝑟, 𝑦).

Este modelo tiene una ventaja, debido que las restricciones tienen menos aridad, y
pueden ser comprobadas antes de hacer la búsqueda de backtracking, y luego poder
hacer la poda de las inconsistencias.

10.9.7 Problema de las N-Reinas.


Consiste en la distribución de las 𝑛 reinas dispuestas en un tablero de ajedrez con
dimensiones 𝑁𝑥𝑁, de manera que ninguna de las reinas se encuentre amenazada. De
manera que no puede existir dos reinas en una misma fila, columna o diagonal. Si se
hace la asociación de cada una de las columnas a una variable en donde su valor va a
representar la fila en donde se ubica una reina, se puede formular el problema de la
siguiente forma:
 Variables: {𝑥𝑖 }, 𝑖 = 1 … 𝑁.
 Dominio: {1,2,3, … , 𝑁}, para las variables.
 Restricciones: (∀𝑥𝑖 , 𝑥𝑗 , 𝑖 ≠ 𝑗):
 𝑥𝑖 ≠ 𝑥𝑗 , en la misma fila no.
 𝑥𝑖 − 𝑥𝑗 ≠ 𝑖 − 𝑗, en la misma fila no SE.
 𝑥𝑗 − 𝑥𝑖 ≠ 𝑖 − 𝑗, en la misma diagonal no SO.

Teniendo como resultado para el caso de 𝑁 = 4 de la imagen siguiente:


 |𝑥1 − 𝑥2 | ≠ 1;
 |𝑥1 − 𝑥3 | ≠ 2;
 |𝑥1 − 𝑥4 | ≠ 3;
 |𝑥2 − 𝑥3 | ≠ 1;
 |𝑥2 − 𝑥4 | ≠ 2;
 |𝑥3 − 𝑥4 | ≠ 1;
 ≠ (𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 );

Tablero para hacer el modelo del problema de las Reinas.

10.9.8 Técnicas de CSP.


Las técnicas más comunes que se ejecutan para el manejo de un CSP, pueden ser
agrupadas de tres formas: Búsqueda sistemática, mecanismos inferenciales y técnicas
híbridas.

Mecanismos de búsqueda.
Estos se centran en la exploración del espacio de los estados por los que atraviesa el
problema, dichos mecanismo pueden ser completos, haciendo la exploración de toda el
área de los estados con la finalidad de encontrar una solución, incompletos, solo si
hacen la exploración de una porción del área de los estados. Los mecanismos que
logran explorar toda el área de búsqueda, pueden garantizar localizar la solución eficaz,
en caso de que exista, o puedan demostrar que el conflicto no puede ser resuelto. Estos
algoritmos tienen como desventaja, en cuanto a sus elevados costos. Los métodos
completos más comunes son los siguientes:
 Generar y Testear (GT). Este mecanismo puede generar las tuplas posibles de las
variables de una forma sistemática, y luego hacer el testeo secuencial a cada
instanciación si puede satisfacer cada una de las restricciones del problema. La
combinación que pueda satisfacer cada una de las restricciones, se definirá
como la solución del problema. por medio de este mecanismo, el total de
combinaciones que se generan, será el producto cartesiano de cardinalidad de
la definición de las variables: ∏𝑖=1,𝑛 𝑑𝑖. Esto ocasiona un conflicto, debido a que
se hacen demasiadas instanciaciones con errores de los valores definidos a las
variables que luego se rechazan en la fase de testeo. Ejemplo: en el caso del
conflicto de las 4 reinas, se generan 44 = 256 tuplas para su testeo. El proceso
para generarlas, va a requerir 256 * 4 = 1024 asignaciones de variables.
 Backtracking o Retroceso Cronológico (BC). Este mecanismo hace una
exploración en la profundidad del área de búsqueda, haciendo el
instanciamiento sucesivo de las variables y haciendo la comprobación a cada
instanciación nueva, si las ya realizadas son consistentes. En caso afirmativo, va
a seguir haciendo el instanciamiento de una variable nueva. En el caso de que se
presente algún conflicto, se hace el intento por asignar un valor nuevo a la
variable instanciada últimamente, de ser posible, en el caso contrario se hace el
retroceso de la variable asignada anteriormente.

El algoritmo que se expresa a continuación logra hacer la descripción de un proceso de


Backtracking Cronológico, que se aplica a la solución de CSP, donde 𝑉[𝑛], se encarga de
representar al vector de las asignaciones de las variables (𝑥1 , 𝑥2 , … , 𝑥𝑛 ) del problema,
organizadas dependiendo un criterio determinado. La función 𝐶𝑜𝑚𝑝𝑟𝑜𝑏𝑎𝑟(𝐾, 𝑉[𝑛]),
hace la comprobación de la validez de las k instanciaciones que ya se realizaron
{𝑉[1], 𝑉[2], … , 𝑉[𝑘]}, lo que significa que, si las restricciones se satisfacen que se
encuentran en las variables (𝑥1 , 𝑥2 , … , 𝑥𝑘 ), como se indica en la expresión siguiente:
𝐶𝑜𝑚𝑝𝑟𝑜𝑏𝑎𝑟(𝐾, 𝑉[𝑛]) = 𝑇𝑠𝑖𝑖: ∀𝑖(1 ≤ 𝑘) ∶ (𝑉[𝑘], 𝑉[𝑖]) ∈ 𝑐𝑘𝑖

Si el algoritmo logra finalizar con éxito, el vector 𝑉[𝑛] se encarga de representa la tupla
de los valores de solución. En la imagen a continuación se representa una simple
implementación del algoritmo, en el que se indican los puntos backtracking y luego se
encuentra la solución. Los algoritmos de tipo Backtracking Cronológico, solo hacen una
comprobación hacia atrás en todas las instanciaciones, debido a esto pertenece a la
categoría de algoritmos de Look-Backward (mirar hacia atrás).

Backtracking Cronológico.

Algoritmo de Backtracking Cronológico.


Procedimiento 𝐵𝑎𝑐𝑘𝑡𝑟𝑎𝑐𝑘𝑖𝑛𝑔(𝑘, 𝑉 [𝑛]); Primera llamada Backtracking (1, V [n])
Inicio
𝑉 [𝑘] = 𝑠𝑒𝑙𝑒𝑐𝑐𝑖ó𝑛 (𝑑𝑘 ); Se hace la selección de un valor perteneciente a 𝑑𝑘 para hacer la
asignación 𝑥𝑘
Si 𝐶𝑜𝑚𝑝𝑟𝑜𝑏𝑎𝑟(𝑘, 𝑉[𝑛]) entonces
Si 𝑘 = 𝑛 entonces
retornar 𝑉[𝑛]; una de las soluciones
Si no
𝐵𝑎𝑐𝑘𝑡𝑟𝑎𝑘𝑖𝑛𝑔(𝑘 + 1, 𝑉 [𝑛])
Fin si
Si no
Si ℎ𝑎𝑦_𝑣𝑎𝑙𝑜𝑟𝑒𝑠(𝑑𝑘 ) entonces
𝐵𝑎𝑐𝑘𝑡𝑟𝑎𝑘𝑖𝑛𝑔(𝑘 , 𝑉 [𝑛])
Si no
Si 𝑘 = 1 entonces
retornar ∅; indica fallo
Si no
𝐵𝑎𝑐𝑘𝑡𝑟𝑎𝑘𝑖𝑛𝑔(𝑘 + 1, 𝑉 [𝑛])
fin si
fin si
fin si
fin 𝐵𝑎𝑐𝑘𝑡𝑟𝑎𝑘𝑖𝑛𝑔
La imagen siguiente muestra el uso del algoritmo Backtracking Cronológico, al problema
de las reinas, con un orden lexicográfico de los valores y las variables. Los nodos
identificados con una X, hacen la representación, que la asignación hecha no mantiene
consistencia con las asignaciones anteriores, y como tal serán puntos de backtracking.
Backtracking Cronológico no realiza varias búsquedas como el algoritmo de generar y
testear, cuando detecta las inconsistencias, sin embargo, para un problema simple de
este tipo se tienen que poder generar 26 asignaciones. El algoritmo Backtracking
Cronológico, no es complejo, sin embargo, tiene cierto grado de ineficiencia. Su
problema radica en que tiene una visión local del conflicto, de manera que, solo puede
comprobar las restricciones en las variables que ya se han instanciado e ignora sus
relaciones entre ellas (𝑥1 , 𝑥2 , … , 𝑥𝑘 ) y las que faltan por instanciar (𝑥𝑘+1 , … , 𝑥𝑛 ). El
mejoramiento de este algoritmo tiene dos cambios importantes:
 Actualiza la función 𝐶𝑜𝑚𝑝𝑟𝑜𝑏𝑎𝑟 de manera que puede comprobar la validez del
instanciamiento parcial que se efectúa al respecto a las variables que aún no se
han asignado. Esto permite poder detectar más rápido si la solución temporal
realizada de las 𝑘 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒𝑠 conforma o no parte de la solución globalizada,
evitando adentrarse en la secuencia de las asignaciones que no terminen de
dirigir hacia una solución. Esto es realizado por medio de un mecanismo de
propagación de las instanciaciones parciales que ya se han realizado.
 Definir el orden de las intenciones de las variables.

Backtracking Cronológico al problema de las 4-Reinas.


10.9.9 Técnicas de Inferencia.
El objetivo de los CSP en los procesos de inferencia, la deducción de las restricciones
nuevas, que derivan de las conocidas explícitamente del problema. De forma concreta
estos mecanismos eliminan valores de las inconsistencias de los dominios de las
variables induciendo a las restricciones implícitas en las variables, para lograr obtener
un nuevo CSP, en el que se han hecho explícitas las restricciones nuevas de manera
implícita. Estas nuevas restricciones permiten:
 Percibir respuestas a las preguntas sobre el problema, que se refieren a las
restricciones existentes implícitamente en las variables.
 Hacer acotaciones en lo que se refiere a las soluciones, al eliminar los valores de
inconsistencia, mejorando el proceso de búsqueda.

Los algoritmos definidos anteriormente en los métodos de búsqueda para resolver CSP,
se basan en la búsqueda del backtracking. Pero dicha búsqueda tiene frecuentemente
una sobrecarga combinatoria en el área de la búsqueda, y por ello no es un método
eficiente para la resolución de CSP. Uno de los problemas principales son las
inconsistencias locales que se van manifestado continuamente. Estas inconsistencias
son los valores individuales de las variables que no interactúan en la solución. Por
ejemplo: si el valor de 𝑎 en 𝑥 tiene incompatibilidad con los demás valores de la
variable y la pendiente de asignación, unida a 𝑥 por medio de una restricción, implica
que 𝑎 no es consistente y no va a formar parte de ninguna solución. Entonces si es
forzada alguna propiedad de consistencia local se pueden eliminar todos los valores
inconsistentes respecto a esta propiedad. Lo que no significa que cada uno de los
valores que no pueda interactuar en la solución se eliminen. Pudieran existir valores
que son consistentes respecto a un nivel determinado de consistencia local, sin
embargo, serán inconsistentes respecto a todos los niveles de consistencia local. De
esta forma la consistencia local puede asegurar que cada uno de los valores de los
dominios de las variables que no participen en una solución se eliminan. En cuanto a las
restricciones explicitas en un CSP, que coinciden con las que se llegan a conocer
explícitamente sobre el problema, desarrollan restricciones implícitas cuando estas se
combinan, que pudieran causar varias diferencias locales. Cuando un algoritmo de
búsqueda no puede almacenar las restricciones implícitas, redescubre repetidamente la
inconsistencia causada por estas y derrocha esfuerzo en la búsqueda intentando hacer
las instanciaciones que ya se han probado. Ejemplo:
Si un problema de tres variables 𝑥, 𝑦, 𝑧, que tienen los dominios {0,1}, {1,3}, {1,2}
respectivos. Existen dos restricciones: 𝑦 < 𝑧, 𝑥 ≠ 𝑦. Asumiendo que la búsqueda por
medio de backtraking instancia las variables en el orden dado (𝑥, 𝑦, 𝑧) se harán las
pruebas de las 23 posibles combinaciones de valores antes de hacer el descubrimiento
de la inexistencia de alguna solución. Si se observan las restricciones entre 𝑦 y 𝑧 se
puede observar que no existen combinaciones de los valores para dichas variables que
puedan satisfacer la restricción. Si el algoritmo es capaz de identificar la inconsistencia
mucho antes se evita un esfuerzo durante la búsqueda.

Los procesos de inferencias están relacionados al tipo de consistencia. El proceso


inferencial puede deducir la información que contiene el CSP y está compuesto por el
nivel de consistencia global. Pero esto tiene un coste exponencialmente. A
continuación, los diferentes niveles de consistencia en un CSP.

Consistencia de Nodo (1 consistencia).


Es la más simple de las consistencias. Una variable 𝑥𝑖 es considerada un nodo
consistente, sí y sólo si, cada uno de sus valores 𝐷𝑖 , tienen consistencias respecto a las
restricciones unarias en la variable. Un CSP se considera del nodo consistente sí y sólo si
cada uno de sus variables son de nodo consistentes:
∀𝑥𝑖 ∈ 𝑋, ∀𝑐𝑖 ∈ 𝐶, ∃𝑎 ∈ 𝐷𝑖 : (𝑎) ∈ 𝑐𝑖

Ejemplo: en la siguiente imagen, se ha considerado una variable 𝑥, en un conflicto que


tiene un dominio {2,15} y una restricción unaria 𝑥 ≤ 7. Esta consistencia de nodo va
eliminar el intervalo {8,15} De la variable 𝑥. En el algoritmo que puede garantizar un
CSP de nodo consistente, será tribal y va a tener un coste lineal dependiendo del
tamaño del conflicto que se asocia por el número de las variables 𝑛.
Consistencia de nodo.

Consistencia de arco (2 consistencia).


Dadas dos variables (𝑥𝑖 , 𝑥𝑗 ) de arco consistentes si cada uno de los valores 𝑎 en 𝐷𝑖 , por
lo menos existe un valor 𝑏 en 𝐷𝑗 de manera que puede satisfacer la restricción que
existen entre las dos variables mencionadas, se debe tener en cuenta: una restricción
𝑐𝑗𝑖 tiene una asimétrica 𝑐𝑗𝑖′ . Se considera un CSP arco consistente si los pares de las
variables de este son arcos consistentes.

∀𝑐𝑖𝑗 ∈ 𝐶, ∀𝑎 ∈ 𝐷𝑖 , ∃𝑏 ∈ 𝐷𝑗 : (𝑎, 𝑏) ∈ 𝑐𝑖𝑗

Cualquiera de los valores en el dominio 𝐷𝑖 de la variable 𝑥𝑖 que no se considere arco


consistente se elimina de 𝐷𝑖 , debido a que ya no forma parte de alguna solución. En
pocas palabras una solución temporal de una variable del conflicto se puede extender a
una solución temporal con cualquiera de las otras variables del inconveniente. Estos
algoritmos hacen el recorrido de todos los arcos de la red, lo que significa, que tienen
un coste cuadrático en lo referente a la cantidad de variables de 𝑛. El algoritmo que se
expresa a continuación hace la descripción de un algoritmo eficiente, capaz de poder
garantizar la arco consistencia de un CSP, suministrando los dominios de las variables
para que dicha propiedad pueda ser cumplida. Luego del algoritmo se muestra una
imagen en la que se puede visualizar la definición de un problema arco consistente,
debido a que para cada valor de 𝑎 ∈ [3,6], existe, aunque sea un valor en 𝑏 ∈ [8,10],
para que pueda satisfacer la restricción 𝑥𝑖 < 𝑥𝑗 . En cambio, sí la restricción estuviera
definida 𝑥𝑖 = 𝑥𝑗 No fuera considerada arco consistente.
El los mecanismos de 𝑘 𝑐𝑜𝑛𝑠𝑖𝑠𝑡𝑒𝑛𝑐𝑖𝑎𝑠, se aplican ante de los mecanismos de búsqueda
de la solución con la finalidad de suministrar las restricciones de la red y los dominios,
con esto restringe el espacio de la búsqueda. Esto puede ser apreciado en la imagen
que representa el arco consistencia, correspondiendo a un caso determinado del
coloreado de los mapas, se puede ver que dicho proceso de arco consistencia puede
eliminar los valores suficientes de los dominios de las variables para que la solución se
obtenga directamente en los valores restantes. El arco consistencia dirigida en un caso
particular del arco consistencia. Donde sólo se exige que para cualquiera de los valores
𝑎 ∈ 𝐷𝑖 independientemente de la variable 𝑥𝑖 , y para todos los arcos 𝑐𝑖𝑗 hay un valor 𝑏
en el dominio 𝐷𝑗 Que puede satisfacer la restricción (𝑥𝑖 𝑐𝑖𝑗 𝑥𝑗 ).

Algoritmos de Arco Consistencia.


Procedimiento 𝐴𝐶(𝑋, 𝑛, 𝐷, 𝐶); se encarga de devolver el CSP arco consistente
Inicio
𝑄 ← 𝐶; cola de arcos, iniciales.
mientras 𝑄 ≠ ∅ hacer
𝑐𝑖𝑗 ← 𝑅𝐸𝑀𝑂𝑉𝐸_𝐹𝐼𝑅𝑆𝑇(𝑄); 𝑐𝑖𝑗 es la restricción entre 𝑥𝑖 , 𝑥𝑗
si 𝑅𝑒𝑣𝑖𝑠𝑎𝑟 (𝑐𝑖𝑗 )entonces
para todo 𝑥𝑘 ∈ 𝑁𝐸𝐼𝐺𝐻𝐵𝑂𝑅𝑆[𝑥𝑖 ] hacer
añadir 𝑐𝑘𝑖 a 𝑄
fin para
fin si
Fin mientras
Fin AC;

Función 𝑅𝑒𝑣𝑖𝑠𝑎𝑟(𝑐𝑖𝑗 ); se encarga de retornar T si se eliminan valores de 𝐷𝑖


Inicio
𝑟𝑒𝑚𝑜𝑣𝑒𝑑 ← 𝑓𝑎𝑙𝑠𝑒;
para todo 𝑥 ∈ 𝐷𝑂𝑀𝐴𝐼𝑁[𝑥𝑖 ] hacer
si 𝑛𝑖𝑛𝑔ú𝑛_𝑣𝑎𝑙𝑜𝑟 𝑦 ∈ 𝐷𝑂𝑀𝐴𝐼𝑁[𝑥𝑗 ] satisface 𝑐𝑖𝑗 entonces
eliminar 𝑥 de 𝐷𝑂𝑀𝐴𝐼𝑁[𝑥𝑗 ];
𝑟𝑒𝑚𝑜𝑣𝑒𝑑 ← 𝑡𝑟𝑢𝑒
fin si
fin para
retornar 𝑟𝑒𝑚𝑜𝑣𝑒𝑑
fin 𝑅𝑒𝑣𝑖𝑠𝑎𝑟
Arco Consistencia.

Consistencia de caminos (3 consistencia).


Este tipo de consistencia también se conoce con el nombre de senda consistencia, está
ubicada en el más alto nivel de las consistencias local. Esta requiere, que para asignar
dos variables (𝑥𝑖 , 𝑎), (𝑥𝑗 , 𝑏), de tipo consistente respecto a la restricción que se defina
entre ellas 𝑐𝑖𝑗 , también haya un valor para todas las variables entre todas ellas de
manera que cada una las restricciones se pueda satisfacer.

Senda Consistencia.
Montanari pudo demostrar que un CSP puede satisfacer la consistencia de caminos si
cada uno de ellos, dos de ellos, su longitud cumple con la consistencia de caminos,
quiere decir que si y solo sí, cualquiera de las soluciones locales entre dos de las
variables, lo que significa consistente con la restricción que hay entre estas, puede ser
extensible a cualquiera de las terceras variables
∀(𝑎, 𝑏) ∈ 𝑐𝑖𝑗 , ∀𝑥𝑘 ∈ 𝑋, ∃𝑐 ∈ 𝐷𝑘 , (𝑎, 𝑐) ∈ 𝑐𝑖𝑘 ⋀(𝑏, 𝑐) ∈ 𝑐𝑗𝑘

Basándose en esta propiedad, el algoritmo PC que se presenta más adelante obtiene un


CSP de tipo senda consistente para CSP binarios. Este puede acotar las restricciones del
CSP origen, de manera que el CSP final pueda cumplir con la consistencia de caminos. El
algoritmo PC hace el recorrido de las subredes de 3 nodos (𝐶𝑜𝑛𝑗𝑢𝑛𝑡𝑜 𝑄), para forzar la
consistencia de caminos de todas las restricciones 𝑐𝑖𝑗 , por medio de la función 𝑅𝑒𝑣𝑖𝑠𝑎𝑟
definida en el algoritmo anterior. Cuando la restricción 𝑐𝑖𝑗 se modifique a su forma
extensional, se tratan nuevamente todas las subredes de tres nodos que tengan a 𝑥𝑖 , 𝑥𝑗
para hacer la comprobación si se mantienen consistentes. De esta manera todas las
subredes que tenga 3 nodos, todas las sendas de longitud 2, va a resultar localmente
consistente. Entonces el CSP final va a ser senda consistente. Cuando se modifique la
restricción 𝑐𝑖𝑗 y esta queda vacía, 𝑐𝑖𝑗 = ∅, va a ser un CSP no consistente.

Como ejemplo de senda consistente se puede evidenciar en la imagen siguiente,


partiendo de la red de origen de restricciones 𝑅, este algoritmo recibe la red de senda
consistente 𝑅’: algún camino entre algún par de nodos.

Una restricción 𝑐𝑖 se considera consistente si tiene una solución en la que esta pueda
ser cumplida. Se considera esta restricción como mínima si tiene solo tuplas
consistentes, lo que significa que conforma alguna solución. Un CSP se considera como
mínimo si cada una de sus restricciones y dominios son mínimos. En la imagen a
continuación se puede ver que la red 𝑅’ es de tipo senda consistente, sin embargo, no
es mínima, debido a que no existe solución en donde B = 𝐶.
Red Inicial R, Red Senda Consistente R’, Red Mínima R”.

Algoritmo de senda de Consistencia. Algoritmo PC.


procedimiento 𝑃𝐶(𝑋, 𝑛, 𝐷, 𝑐)
inicio
𝑄: = {(𝑖, 𝑗, 𝑘)|1 = 𝑖 < 𝑗 = 𝑛, 1 ≤ 𝑘 ≤ 𝑛, 𝑖 ≠ 𝑘, 𝑗 ≠ 𝑘}; todas las subredes de 3
nodos.
Mientras 𝑄 ≠ ∅ hacer
𝑆𝑒𝑙𝑒𝑐𝑡(𝑖, 𝑗, 𝑘) 𝑓𝑟𝑜𝑚 𝑄;
si 𝑅𝑒𝑣𝑖𝑠𝑎𝑟(𝑖, 𝑗, 𝑘) entonces
𝑄: = 𝑄 ∪ {(𝑙, 𝑖, 𝑗), (𝑙, 𝑗, 𝑖) | 1 ≤ 𝑙 ≤ 𝑛, 𝑙 ≠ 𝑗, 𝑙 ≠ 𝑖}
fin si
fin mientras
fin PC

función 𝑅𝑒𝑣𝑖𝑠𝑎𝑟(𝑖, 𝑗, 𝑘)
inicio
𝑐𝑎𝑚𝑏𝑖𝑎𝑑𝑜: = 𝑓𝑎𝑙𝑠𝑒;
para todo (𝑎, 𝑏) ∈ 𝑐𝑖𝑗 hacer
si ¬∃𝑐 ∈ 𝑑𝑘 /(𝑎, 𝑏) ∈ 𝑐𝑖𝑘 ⋀(𝑐, 𝑏) ∈ 𝑐𝑘𝑗 entonces
𝑐𝑖𝑗 : = 𝑐𝑖𝑗 − (𝑎, 𝑏); Acota la restricción 𝑐𝑖𝑗 pero cambia : = 𝑡𝑟𝑢𝑒 si resulta 𝑐𝑖𝑗 = ∅
fin si; CSP no consistente
fin para
retornar 𝑐𝑎𝑚𝑏𝑖𝑎𝑑𝑜;
fin 𝑅𝑒𝑣𝑖𝑠𝑎𝑟
K-consistencia.
Una red puede ser definida como 𝐾 − 𝑐𝑜𝑛𝑠𝑖𝑠𝑡𝑒𝑛𝑐𝑖𝑎 si por medio de cualquier
instanciación de 𝐾 − 1 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒𝑠, que puedan satisfacer las restricciones, al menos hay
una instanciación de una 𝑘 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒, de manera que puedan satisfacer las restricciones
de la variable 𝐾. En términos generales, cualquier tipo de solución que se de en una
subred de tamaño 𝑘 − 1, se puede extender a una solución en una subred que sea de
tamaño 𝐾, y esta debe contener a la anterior. Como consecuencia, de 𝑘 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒𝑠, es
consistente localmente.

Si un CSP al menos tiene una solución, este es consistente. Se considera globalmente


consistente cuando sea 𝑖 − 𝑐𝑜𝑛𝑠𝑖𝑠𝑡𝑒𝑛𝑡𝑒 ∀𝑖, 𝑖 ≤ 𝑛, lo que significa que todas las
instanciaciones locales consistente entre 𝑖 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒𝑠 (1 ≤ 𝑖 ≤ 𝑛), podrá formar parte
de una solución general. Entonces un CSP que es globalmente consistente, solo va a
tener las combinaciones de los valores que conforman, aunque sea una solución, como
una representación comprimida conservando las soluciones de un CSP. Correctamente
la red no va a admitir la combinación de los valores que no derive en una solución.
Todas las soluciones son representadas completamente en todos los sentidos. Un CSP
mínimo se define como uno globalmente consistente. Cuando una red de consistencias
globales, la búsqueda puede llevarse a cabo, sin la necesidad del backtracking.

En resumen, el marcado de una red globalmente consistente, tiene que representar de


manera explícita, las restricciones para cada una de las variables en el problema, lo que
significa, que debe desarrollar las etiquetas 𝑛 − 1 − 𝑑𝑖𝑚𝑒𝑛𝑠𝑖𝑜𝑛𝑎𝑙𝑒𝑠 para el problema
de tamaño 𝑛 tratando de forzar el número de consistencias.

Este tipo de tarea contiene una exponencial complejidad. Para los problemas
especiales, bajos niveles de consistencia, equivalen a la consistencia del CSP. Dichos
resultados van a permitir a los algoritmos que son polinómicos desarrollar etiquetas que
sean consistentes, resumiéndose de la siguiente forma:
 Una vez que la red de restricciones en un árbol la consistencia global
equivalente al arco consistencia.
 La consistencia global equivalente a la consistencia de senda, cuando el CSP es
binario y convexo, entendiéndose por convexo, cuyas restricciones van a
determinar un área de soluciones este tipo.

El inconveniente para reconocer si un CSP es consistente (con al menos una solución),


se define como el problema de satisfabilidad. Dicho problema y el equivalente puede
encontrar una solución. Hay variedades de aproximaciones que permiten identificar las
clases de CSP, que corresponden a las dos partes fundamentales:
 Descubrimiento por la organización de la red de restricciones, sin importar las
relaciones que éstas tengan. En esta parte es interesante conseguir estructuras
de búsqueda parecida a los árboles.
 Descubrimiento por la relación en las variables, por medio de la propiedad
especiales de estas relaciones. De manera particular el inconveniente para la
obtención de la consistencia (o conseguir soluciones) en una red binaria no
disyuntiva es 𝑛3 . De la misma forma una red binaria cuando las relaciones
{<, =, >} , el inconveniente para la obtención de la consistencia va a tener un
coste de 𝑛4 .

Técnicas combinadas (híbridas).


En apartados anteriores ya se ha hablado sobre las técnicas búsqueda para las
soluciones en un CSP, que por lo general son exponenciales al tamaño del problema, de
otra forma se han definido en temas anteriores las técnica inferenciales que pueden
eliminar los valores inconsistentes en las definiciones de las variables o van a inducir a
restricciones implícitas nuevas en las variables limitando las anteriores, de manera que
van obtener un nuevo CSP, aún mucho más restringido pero equivalente al de origen,
éste puede suministrar el aumento del área de búsqueda.

Es por ello que las técnicas inferenciales son usadas como fases del proceso inicial, en
las que se detecta y se suprimen las inconsistencias previo al inicio de la búsqueda, con
la finalidad de poder reducir el árbol de la búsqueda. Dependiendo del grado de
consistencia que tenga el proceso, se va a suministrar un espacio de búsqueda,
basándose desde el mayor al menor esfuerzo de cómputo durante proceso de
inferencia inicial. De otra forma estas técnicas inferenciales se pueden incluir durante el
proceso de búsqueda, generando algoritmos de búsqueda híbridos, que se definen a
continuación.

Algoritmos Look-Backward (Mirar atrás).


Estos hacen el intento de aprovechar la información del problema para desarrollar un
comportamiento eficiente en los casos que no tiene salida. De la misma forma que el
backtracking, estos algoritmos hacen la comprobación de la consistencia hacia atrás lo
que significa que entre la variable la distanciada y las anteriores, a continuación, algunas
ramificaciones de este algoritmo.
 Backjumping (BJ), Salto atrás. Este es similar al backtracking, pero hace sus
procesos de una forma más inteligente, cuando afronta situaciones en las que
no tiene salida. Este no retrocede a la variable que se instanció anteriormente,
sino que hace su salto a la variable 𝑥𝑗 que se encuentre más profunda, cerca de
la variable actual, que se encuentra en conflicto con la variable 𝑥𝑖 en donde
𝑗 < 𝑖. Se dice que una variable ya instanciada 𝑥𝑗 Se encuentra en conflicto con
una 𝑥𝑖 , por la restricción entre ambas. Si se cambia la restricción de la variable
instanciada 𝑥𝑗 Se puede encontrar una instanciación consistente.
 CBJ. Conflict-directed Backjumping, Conflicto-dirigido salta hacia atrás: su
comportamiento se basa en el salto hacia atrás, mucho más eficaz que BJ. Todas
las variables 𝑥𝑖 , va a tener un conjunto conflicto conformado por las variables
anteriores que se encuentran en conflicto con esta. En el instante en que la
comprobación de la consistencia de la variable 𝑥𝑖 y una anterior 𝑥𝑗 presenta
fallos, esta es añadida al grupo de conflicto 𝑥𝑖 . Cuando se afronta una situación
en la que no se tiene salida, este algoritmo se dirige hacia la variable más
profunda del grupo de conflicto, ejemplo, 𝑥𝑘 , en el que 𝑘 < 𝑖. De forma paralela
se agrega al grupo de conflicto de 𝑥𝑖 al de 𝑥𝑘 , esto permite evitar la pérdida de
la Información acerca de los conflictos. Es importante mencionar que este
algoritmo requiere estructuras de datos más complejas para almacenar los
grupos de conflictos.
 Learning, aprendizaje. Este mecanismo se encarga de almacenar las restricciones
implícitas derivadas en el proceso de búsqueda y las implementa para realizar la
poda del área de búsqueda. Ejemplo: cuando se presenta un caso sin salida en la
variable 𝑥𝑖 , se va a saber que la tupla de las asignaciones
((𝑥1 , 𝑎1 ), … , (𝑥𝑖−1 , 𝑎𝑖−1 )) dirige hacia una situación en la que no hay salida. De
esta manera se puede aprender que la combinación de las asignaciones para las
variables 𝑥1 , 𝑥𝑖−𝑖 , es permitida.

Algoritmo Look-Ahead (Mirar hacia el futuro).


En el apartado anterior, se indica que los algoritmos de look-backward, tratan de forzar
el comportamiento del backtracking por medio de uno mucho más inteligente, al estar
presente en situaciones en la que no tienen salida, pero estos, aún realizan
comprobaciones de las consistencias solo hacia atrás, estos detectan las inconsistencias
cuando no se manifiestan, ignorando las consecuencias que tienen las instanciaciones
temporales que ya se han realizado en las restricciones existentes, y en los dominios en
las variables que se van a instanciar. Los algoritmos de Look-Ahead, realizan
comprobaciones inferenciales hacia adelante en todas las instanciaciones, agregando
un procedimiento inferencial en el proceso de búsqueda, pudiendo ser llamadas
técnicas híbridas. También conocido como la propagación de los efectos de las
instanciaciones nuevas al resto de la red, esto permite, suministrar al dominio de las
variables a las restricciones a instanciar, minimizando el área de búsqueda que hace
falta, permite encontrar inconsistencias antes que se manifiesten, si se descubren
inconsistencias durante las instanciaciones temporales con las demás variables. En
conclusión, tratan de encontrar si la asignación actual de las 𝑘 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒𝑠 se puede
extender a solo una solución.
Forward checking (FC), Comprobar hacia adelante.
Este algoritmo de look-forward (mirar hacia adelante), es mucho más implementado
que el forward checking. Esta en todas las etapas de la búsqueda BT, hace la
comprobación hacia adelante de la asignación de la actual variable con cada uno de los
valores de las variables que se van a restringir respecto a la variable actual. Los valores
de las variables futuras que sean inconsistentes respecto al asignación actual se
eliminan temporalmente de los dominios. Si este dominio de la variable futura, termina
vacío, el distanciamiento de la variable actual se elimina hace la prueba, con un valor
nuevo. Si ninguno de los valores resulta consistente entonces se realiza el backtracking
cronológico.

De esta forma el algoritmo FC resulta similar al algoritmo BT por medio de la función


𝐶𝑜𝑚𝑝𝑟𝑜𝑏𝑎𝑟 realizara las siguientes comprobaciones:
 ∀𝑖(1 ≤ 𝑖 ≤ 𝑘): (𝑉[𝑘], 𝑉[𝑖]) ∈ 𝑐𝑘𝑓 , Standard Backtracking.
 ∀𝑓(𝑘 < 𝑓 ≤ 𝑛), ∃𝑉𝑓 ∈ 𝐷𝑓 : (𝑉[𝑘], 𝑉[𝑓]) ∈ 𝑐𝑘𝑓 , Forward Chaining.

Cabe destacar que el primer paso, no se considera necesario debido a que el proceso FC
(paso dos), constantemente, las veces que una variable de asignada, se sabe que los
valores pertenecientes a su dominio se definen como consistentes a los valores de las
variables asignadas anteriormente. Es por esto que no se necesita la comprobación de
cada designación nueva con las variables asignadas anteriormente (paso uno). Este
algoritmo en cada etapa garantiza una solución temporal consistente con los valores de
las futuras variables. También al momento de la asignación del valor a la variable sólo se
hace la comprobación hacia delante con las futuras variables que se encuentran
involucradas. De esta manera con la comprobación hacia delante, este algoritmo es
capaz identificar con anterioridad la situación que no tenga salida y reducir el área de
búsqueda. El mecanismo de forward checking, puede ser visto como la aplicación de un
paso no tan complejo de arco consistencia entre la variable que se ha instanciado y
todas las variables restantes por hacerlo. A continuación, se presenta el algoritmo FC.
1. Se selecciona 𝑥𝑖 .
2. Se instancia 𝑥𝑖 ← 𝑎𝑖 : 𝑎𝑖 ∈ 𝐷𝑖 .
3. Se hace el razonamiento hacia delante. Forward check.
 Se eliminan los dominios en las variables 𝑥𝑖+1 , … , 𝑥𝑛 que aún no se han
instanciado, los valores inconsistentes respecto a la instanciación
(𝑥𝑖 , 𝑎𝑖 ), junto con el grupo de las restricciones.
4. Si aún existen valores posibles en los dominios de cada una de las variables
restantes por instanciamiento entonces:
 Si 𝑖 < 𝑛 se incrementa 𝑖, 𝑒, regresar al paso uno,
 Si 𝑖 = 𝑛, terminar con la solución.
5. En caso de que exista una variable en fin que aún no se ha instanciado, y sin
valores posibles de dominio, entonces se retractan y los efectos de la asignación
de la restricción 𝑥𝑖 ← 𝑎𝑖 . Hacer.
 Si quedan valores que no se han intentado en 𝐷𝑖 , regresar al paso 2.
 Si los valores se terminaron

En la imagen a continuación se puede ver el uso hacia atrás del algoritmo FC acerca del
ejemplo de CSP que corresponde a las cuatro reinas anteriormente descrito, se hizo la
comprobación de la mejora con el algoritmo BT, debido a que para usar FC se necesitan
desarrollar 8 asignaciones. Durante la primera asignación 𝑥1 = 1 se hace la reducción,
del (tercer paso) de los dominios de las variables 𝑥2 , 𝑥3 , 𝑥4 en conjunto con las
restricciones que hay entre ellas y la primera variable, luego de la asignación 𝑥2 = 3, se
comprueba (quinto paso) que la variable 𝑥4 no tenga valor en el dominio, lo que
significa que el instanciamiento local se basa en {(𝑥1 = 1), (𝑥2 = 3)}, y no es capaz de
formar parte de ninguna de las soluciones. Esto provoca un punto de backtracking sin
requerir continuar la exploración de esta rama. De la misma manera se hace la
comprobación de todas las asignaciones que permiten limitar el dominio de las
variables que no se han asignado, presentando de esta manera el área de búsqueda que
no se ha usado. Ejemplo: si se asigna 𝑥1 = 2 va a permitir crear limitaciones a los
dominios al origen {1,2,3,4} de las variables que están pendientes a 𝑑2 = {4},
𝑑3 = {1,3} y 𝑑4 = {1,3,4}.

El algoritmo FC se ha relacionado con otros algoritmos look backward con la finalidad de


generar algoritmos combinados. Ejemplo: forward-checking combinado con conflicto-
directed back-jumping, FC-CBJ relaciona el desenlace hacia delante de FC y hacia atrás
de CBJ siendo la ventaja de estos algoritmos de ambas formas.

Uso del FC al problema de las cuatro reinas.

Minimal Forward Checking. (MFC). Chequeo mínimo hacia adelante


Es basado en una versión de FC, en donde se hace retraso del desarrollo de la
comprobación de la consistencia del mismo, sólo hasta que sea estrictamente
necesario. Desde hacer las comprobaciones hacia delante a la actual asignación en
contra de los valedores de las futuras variables, MFC únicamente hace la comprobación
con los valores de todas las variables futuras hasta que consigue un Valor que sea
consistente. Luego si éste regresa llevaría a cabo las comprobaciones con los valores
que aún no se comprueban. Este algoritmo siempre realiza la misma cantidad de
comprobaciones que hace FC. Algunos experimentos pudieron demostrar que la
ganancia no es capaz de superar al 10%. Diferentes versiones de FC, son basadas en la
idea del desarrollo de un proceso de reducción de dominio que se encarga eliminar
valores, tanto en el nivel actual de búsqueda, como también en los otros niveles.
Extended forward checking (EFC), verificación extendida hacia adelante, tiene la
capacidad de hacer tal reducción de los valores futuros considerados inconsistentes.
Con las asignaciones realizadas antes de la actual asignación pero que aún no se habían
descubierto. Algunos algoritmos como Conflicto Based forward checking (CFFC),
conflicto basado en el chequeo hacia adelante, están basados en la idea de los
conflictos de igual forma que los algoritmos CBJ y los learning, definidos en los
apartados anteriores, para poder forzar a FC. CFFC guarda el grupo de conflictos y luego
los implementa para hacer la reducción de los valores en los niveles anteriores de
búsqueda. Se diferencia con el algoritmo CBJ, debido a que el grupo de conflictos es
almacenado en un valor y no una variable, lo que significa que todos los valores de las
variables van a tener su grupo propio de conflictos. Lo que permite hacer un salto
mucho más alejado de CBJ.

Full look – Ahead (FLA).


Como ya se ha analizado, FC solamente hacía las comprobaciones de las restricciones
en las variables que se acaban de instanciar con el resto de las que no se han
instanciado, es por esto que mantiene un arco consistencia únicamente entre la
variable asignada y las demás, este algoritmo trata de mantener la arco consistencia con
las demás variables por lo que también es conocido como el nombre de Maintaining Arc
Consistency (MAC), mantener arco consistencia. De esta forma el algoritmo FLA, hace
como si BT en la función definida como 𝐶𝑜𝑚𝑝𝑟𝑜𝑏𝑎𝑟, realizará las siguientes
comprobaciones, a pesar de tener en cuenta que el primer paso ya no es necesario.
1. ∀𝑖(1 ≤ 𝑖 ≤ 𝑘): (𝑉[𝑘], 𝑉[𝑖]) ∈ 𝑐𝑘𝑖 . Standard Backtracking.
2. ∀𝑓(𝑘 < 𝑓 ≤ 𝑛), ∃𝑉𝑓 ∈ 𝐷𝑓 : (𝑉[𝑘], 𝑉[𝑓]) ∈ 𝑐𝑘𝑗 . Forward Checking.

3. ∀𝑝(𝑘 < 𝑝 ≤ 𝑛), ∀𝑞(𝑘 < 𝑞 ≤ 𝑛), 𝑝 ≠ 𝑞, ∃𝑉𝑝 ∈ 𝐷𝑝 , ∃𝑉𝑞 ∈ 𝐷𝑞 : (𝑉𝑝 , 𝑉𝑞 ) ∈


𝑐𝑝,𝑞
El tercer punto hace la comprobación, que luego de la reducción en los dominios de las
variables que faltan por instanciar que se han realizado en FC (segundo paso), los
padres de 𝑉𝑝 , 𝑉𝑞 Faltan por instanciar deben tener, aunque sea un valor de sus
dominios, los cuales sean consistentes respecto a la restricción que esté definida en
estas.

La ventaja de este algoritmo respecto al FC, se basa en que este hace la detección de los
conflictos de las futuras variables. Es por esto que el algoritmo FLA permite hacer la
reducción de muchos más dominios de las variables que no se han distanciado,
conseguir antes los puntos de backtracking en las situaciones que no tenga salida. Esto
pone en evidencia un coste mayor del esfuerzo para la propagación de los efectos de
cada asignación nueva. Generalmente sólo es necesario realizar el proceso de FC
respecto al proceso FLA debido que es más costoso. Pero cabe destacar que, para
conflictos como un alto nivel de restricción, el proceso de FLA tiende a convenir al hacer
la reducción del espacio de búsqueda. En la siguiente imagen se puede apreciar el uso
del proceso FLA sobre el ejemplo de las cuatro reinas, las líneas con puntos se refieren
al mecanismo de propagación, se hizo la comprobación de la mejora con el algoritmo
FC, en el ejemplo anterior, en vista de que actualmente sólo se necesita desarrollar
cinco asignaciones.
10.10 Heurística de la búsqueda.
Los algoritmos te búsqueda, con la finalidad de poder satisfacer las restricciones, se le
tiene que definir el orden en que las variables van a ser estudiadas, también el orden en
que van a ser instanciados los valores de los dominios de todas las variantes. La elección
del orden de estas variables y de sus valores son capaces de influir en la eficiencia de
resolución. En el mecanismo general de la búsqueda por medio de Backtracking,
definido en los apartados anteriores, el ordenamiento de las variables para
corresponder al ordenamiento que le sea realizado al vector 𝑉[𝑛], en cambio los
criterios de selección de valores se van a incluir en la función 𝑆𝑒𝑙𝑒𝑐𝑐𝑖ó𝑛 definida en el
algoritmo de backtracking cronológico. De igual forma es importante hacer la correcta
ordenación de las restricciones del conflicto cuando sea aplicada la función
𝐶𝑜𝑚𝑝𝑟𝑜𝑏𝑎𝑟, a pesar de que se ha realizado un menor esfuerzo la investigación de la
heurística a continuación se expresan las más importantes.

10.10.1 Heurísticas de Ordenación de Variables.


El orden en el que se asignan las variables en el proceso de búsqueda puede que genere
un impacto en el área de búsqueda que se ha explorado. De manera que se puede
contrastar analíticamente y empíricamente. Por lo general las heurísticas de ordenación
de variables intentan hacer la selección de las variables que van a restringir a las demás
lo antes posible. Como instrucción se puede hacer el intento de la asignación lo antes
posible de las variables que se encuentren más restringidas para identificar las
circunstancias que no tengan salida con anterioridad para reducir el número de bucles
hacia atrás. A su vez el ordenamiento de las variables puede ser dinámica y estática.

10.10.1.1 Ordenamiento de variables estática.


Se encargan de generar un ordenamiento fijo para las variables previamente a la
búsqueda, basándose en la información global que ha sido derivada del aumento de la
red de restricciones iniciales que se encargan de representar el CSP. Tomando en
cuenta las primeras ideas: una red de restricciones que se ha ordenado, se considera
una red de restricciones en donde sus nodos se han ordenado linealmente, en la
imagen a continuación se pueda apreciar los distintos órdenes lineales de arriba hacia
abajo, que puede tener una red inicial con tres variables (𝑎, 𝑏, 𝑐), (𝑎, 𝑐, 𝑏), (𝑏, 𝑎, 𝑐), y así
sucesivamente. La amplitud de una variable en la red de restricciones ordenada se va a
definir como el número de arcos que limitan dicha variable con las superiores
denominándose padres, en el orden ya establecido, la amplitud de toda la red de
restricciones que se han ordenado se define como el ancho máximo de interés de todas
sus variables. De manera que la amplitud de una red de restricciones se define como la
mínima amplitud de la ordenación lineal, de esta forma la amplitud de la red de
restricciones inicial de la siguiente imagen es 1. Debido a que el ancho de la red de
restricciones va a depender de su estructura.

Restricciones ordenadas.

Si un conjunto de restricciones es 𝑘 − 𝑐𝑜𝑛𝑠𝑖𝑠𝑡𝑒𝑛𝑡𝑒, en donde 𝑘 es mayor que el ancho


de la red, quiere decir que hay una secuencia en la asignación de las variables, de
manera que no permite regresar atrás durante la búsqueda. Cuando se presenta una
red con estructura de árbol, en donde su ancho es igual a 1, se puede efectuar la
búsqueda sin retorno, caso de que la red fuera arco consistente. De una forma más
concreta, solo sería suficiente mantener el arco consistencia direccional, que cueste
menos respecto a la arco-consistencia. En la imagen anterior se muestra en la red una
secuencia en la asignación de las variables pertenecientes al ordenamiento de la red
con un ancho de 1 no va a provocar su retorno. Generalmente, el objetivo es conseguir
el orden de la secuencia más eficiente para realizar la asignación de las variables. A
continuación, se presentan las heurísticas más comunes:
 Minimun Width. MW, ancho mínimo: se basa en el ordenamiento de las
variables que pertenecen a la secuencia lineal de la red que proporcione su
mayor amplitud (ancho de la red). Por medio de esta secuencia, se tiene como
objetivo que, durante la asignación de una variable, ya sus Padres se encuentren
asignados, de manera que en los casos en donde no se encuentren salidas, se
puedan identificar con anterioridad y se minimice el número de ciclos hacia
atrás. Ejemplo, la imagen a continuación se puede ver que permite 7 y, lo que
significa 5400 secuencias lineales perteneciente a las variables. La amplitud esta
red es igual a 1. El ordenamiento de las variables, en una secuencia lineal, desde
arriba hasta bajo resulta de la siguiente forma (𝑎, 𝑏, 𝑐, 𝑓, 𝑔, 𝑑, 𝑒) esta secuencia
es obtenida partiendo del criterio MW. Se hace visible que, al tener la estructura
inicial de la red de un árbol, su ordenamiento más eficiente, se basa en la
asignación del total de las variables lo antes posible, seguidamente la 𝑏 o 𝑐, y de
último 𝑑 o 𝑒, o pudiera ser 𝑓 o 𝑔. El algoritmo que logra percibir este orden
basándose en este método, hace la selección partiendo de la red inicial, la
variable que tenga el número menor de variables conectadas, luego la ubica al
final de la secuencia. Esta variable junto con sus arcos adyacentes es eliminada
de la red inicial. Luego se hace la selección de la variable siguiente para
continuar el proceso de manera recursiva.

Ordenamiento de una red de amplitud mínima.


 Máximum Degree (MD), Grado Máximo. Se basa en el ordenamiento de las
variables en una secuencia decreciente por medio del grado de red de
restricciones, el grado se define como el total de variables que mantiene una
conexión. De esta manera dicha heurísticas, hace la selección de: las variables
que tienen mayor grado, o lo que es igual decir las que tiene más conexiones. A
continuación, se muestra una imagen en donde la secuencia de selección va a
ser: (𝐷, 𝐴, {𝐵, 𝐶, 𝐸, 𝐹}, 𝐺). Este tipo de heurísticas trata de mantener la
secuencia de las variables de mínima amplitud de MW. Como un mínimo coste a
nivel de cómputo, para realizar el cálculo del orden, sin embargo, no puede
garantizarlo.

Heurística Minimum Width.

 Minimum Domain Variable (MDV), Variable de Dominio Mínima. Dichas


heurísticas, se encarga de hacer la selección de las variables dependiendo de la
menor cardinalidad, que tenga su dominio. Las que tengan el dominio menor
son las primeras que se eligen, pero dependiendo de su uso, está heurísticas es
mejor en su implementación dinámica (heurística remaining width values,
valores de anchos restantes).
Variedad de estudios acerca de la heurística de ordenamiento de variables estáticas
usando CSP que se generan de forma aleatoria, puede concluir que todas estas no son
mejores que lado heurísticas MRV heurística minimum remaining values. A su vez esta
es una heurística de ordenamiento de variables dinámicas que se define a continuación.

10.10.1.2 Ordenamiento de variables dinámicas.


El inconveniente de estos algoritmos de ordenamiento de variables estáticos radica en
que no toman en cuenta las transformaciones en los dominios o las conexiones de las
variables que han sido causados por la dispersión de las restricciones en el proceso de
búsqueda. Es por esto que este tipo de heurísticas se usan en los algoritmos que hacen
comprobación hacia atrás o look backward, donde no se hace la propagación de la
instancia de acciones que han sido realizadas.

Este tipo de ordenamiento puede llegar a cambiar la secuencia de la elección de las


variables de una manera dinámica en el proceso de búsqueda, las veces que la instancia
requiera de una variable. Este ordenamiento se fundamenta en las instancias que ya se
han realizado y el estado de la red en todos los instantes en la búsqueda. Las heurísticas
de ordenamiento más comunes son basadas en el principio de primer fallo, en la que
sugiere que “sí al deseo es tener éxito se debe intentar primero en donde exista una
mayor probabilidad para el fallo”. De esta forma en las circunstancias que no existan
salidas se puede identificar previamente para permitir un ahorro durante el espacio de
búsqueda. En concordancia con este principio, en cada uno de los pasos se hace la
selección de la variable que esté más restringida. Entre las más comunes pueden ser
citadas las siguientes:
 Minimun Remaining Values (MRV), Valores mínimos restantes. En esta heurística
se hace la selección en cada uno de los pasos, la variable que tenga el dominio
menor. Se basa por medio de la intuición, que si una variable tiene escasos
valores para elegir como dominio, será mucho más fácil conseguir un valor
consistente. Cuando se usa esta heurística con los algoritmos que comprueban
hacia atrás, se convierte en una heurística estática que realiza el ordenamiento
de las variables de una manera ascendente junto a la talla del dominio mucho
antes de realizar la búsqueda, de manera que va a resultar similar a la heurística
MDV. A la vez que MRV se implementa con los algoritmos look-ahead, el
ordenamiento a se hace dinámico. De esta forma todas las instancias de
acciones de las variables nuevas se propagan por toda la red y puede aportar
dominios de variables que aún no se han instanciado. De manera que todos los
pasos en la búsqueda, la siguiente variable que se va a asignar será la variable
con el dominio menor.
 Maximun Cardinality (MC), Cardinalidad Máxima. Dicha heurística elije la primera
variable aleatoriamente y luego en todos los pasos, hace la selección de la
variable que se relacione con el número más elevado de las variables que ya se
encuentren instanciadas. La intuición va a ser la más restringida, ya que se
relaciona con el número más elevado de las variables que ya han sido
instanciadas. Esta heurística es muy similar al tipo de heurísticas MD definida en
los apartados anteriores, sin embargo y en el caso dinámico. Como la variante
de esta se puede seleccionar de forma dinámica los pasos de la variable que
contenga el grado máximo sin tomar en cuenta las que ya se han instanciado.

10.11 EXTENCIONES DE CSP.


A continuación, se definen, variedades de extensiones, más importantes referentes a la
metodología de CSP, que se orientan a los tipos de problemas más complejos o que
hacen el planteamiento de las requisiciones adicionales.

10.11.1 CSP no binarios.


Un gran número de las técnicas para satisfacción de restricciones son centradas en
conflictos binarios, en el caso de los CSP discretos, en conflictos ternarios, CSP
continuos. El objetivo se centra interactuar con las restricciones binarias y las ternarias
por lo simple que suponen en comparación con las restricciones 𝑛 − 𝑎𝑟𝑖𝑎𝑠 y además
por el hecho en que los problemas de satisfacción de restricciones 𝑛 − 𝑎𝑟𝑖𝑎𝑠 se pueden
transformar en binarios basándose en la definición equivalente de red.
Existen dos técnicas para la conversión de restricciones no binarias a binarias en los CSP
discretos.
 Codificación dual: se introduce por Dechter y Pearls, en donde las restricciones del
conflicto original, son transformadas en las variables del conflicto nuevo y viceversa.
Las variables que se han generado de las primeras restricciones se llaman variables
globales y las del problema original son denominadas variables originales. El
dominio de todas las variables duales del grupo de tuplas que se encarga de
satisfacer la restricción inicial que la genera. Las restricciones binarias nuevas son
denominadas duales y van a prohibir los pares de tuplas en la que las variables
compartidas tengan valores diferentes.

Codificación Dual de CSP no binario.

Considerando el ejemplo a continuación, en donde se definen variables con dominio


{0,1} y además se definen las siguientes cuatro restricciones: 𝑥1 + 𝑥2 + 𝑥6 = 1,
𝑥1 − 𝑥3 + 𝑥4 = 1, 𝑥4 + 𝑥5 − 𝑥6 ≥ 1 y 𝑥2 + 𝑥5 − 𝑥6 = 0. En cuanto a la codificación
dual se encarga de representar este problema, con cuatro variables globales en donde
cada una pertenece a cada restricción. Los dominios de estas van a ser las tuplas, que se
encarga de satisfacer las restricciones, ejemplo: se tiene una variable dual 𝑣3 , que se
encuentra asociada a la restricción número tres, va a tener el dominio siguiente
(0; 1; 0); (1; 0; 0); (1; 1; 0); (1; 1; 1), debido a que se definen como las tuplas
para (𝑥4 , 𝑥5 , 𝑥6 ) que se encargan de satisfacer a la restricción. Respecto a la
codificación dual del conflicto se muestra en la imagen anterior. 𝑅 𝑖𝑗 se defien como la
restricción binaria en un par de tuplas que es igual a 𝑗 − é𝑠𝑖𝑚𝑜 en la segunda. Entre 𝑣3
y 𝑣4 , existe una restricción compatible para tratar de asegurar que las variables iniciales
similares 𝑥5 y 𝑥6 comparten el mismo valor. Dicha restricción solamente permite los
pares de tuplas que puedan concordar con los segundos y terceros elementos, los que
significa (1,0,0) para 𝑣3 y (0,0,0) para la variable 𝑣4 .

 Codificación de variables ocultas: procedente de Pierce, quien probó de manera


formal en el área de la filosofía lógica, las relaciones binarias ordinarias comparten
un similar poder de expresividad. Su mecanismo de representación para una
relación no binaria por medio de un conjunto de restricciones binarias fundamento
de las bases del mecanismo de las variables ocultas. Durante la codificación de estas
variables, este grupo se conforma por todas las variables del CSP no binario inicial
adicionando un conjunto nuevo de variables globales que se denominan variables
ocultas. De la misma forma que la codificación dual, las variables ocultas van a
corresponder a una restricción en el conflicto inicial. Nuevamente el dominio de
todas las variables ocultas está conformado por las tuplas que van a satisfacer la
restricción inicial. Para todas las variables ocultas 𝑣𝑐 , existe una restricción binaria
entre la variable 𝑣𝑐 y todas las variables originales 𝑥𝑖 que se encuentran
involucradas con la restricción inicial 𝑐. Todas las restricciones especifican: las tuplas
que sea asignado a 𝑣𝑐 Se define consistente como el Valor que sea asignado a 𝑥𝑖 .

Codificación de variables ocultas, CSP no binario.


Tomando en cuenta el ejemplo anterior, en el problema tiene seis variables y cuatro
restricciones no binarias. Durante la codificación de las variables ocultas, existen,
además de los seis originales que tienen dominios {0,1}, cuatro que son duales con los
dominios similares que la condición dual, ejemplo: la variable dual que se asocia con la
tercera restricción 𝑥4 + 𝑥5 − 𝑥6 ≥ 1, conforman un dominio
(0; 1; 0); (1; 0; 0); (1; 1; 0); (1; 1; 1). También existen restricciones compatibles
entre 𝑣3 y 𝑣4 , 𝑣3 y 𝑣5 , 𝑣3 y 𝑣6 , debido a que estas son las variables que se encuentran
involucradas en esta restricción. En la imagen anterior se presenta la codificación de
estas variables ocultas. Referente a la restricción binaria 𝑟𝑖 va actuar en una tupla y en
un valor, suministrando el verdadero, solo si el elemento 𝑖 − é𝑠𝑖𝑚𝑜 en la tupla es
equivalente al del valor. Ejemplo: en la restricción que tiene la compatibilidad 𝑟1 en 𝑣3 y
𝑣4 se considera verdadera, sí y sólo si el elemento inicial de la tupla asignada a 𝑣3
equivale al valor de 𝑣4 .

Cuando se presentan CSP numéricos o continuos, se pueden cambiar las restricciones


𝑛 − 𝑎𝑟𝑖𝑎𝑠, en ternarias, basándose en el método que describe Lottaz, de manera que
aumenta la eficiencia de los algoritmos de consistencia. Este cambio, puede ser dado si
es permitida el ingreso de variables auxiliares.

El cambio de los CSP 𝑛 − 𝑎𝑟𝑖𝑜𝑠 en CSP binarios, va a permitir la implementación de


variedades de técnicas que se conocen para CSP binarios. Pero, se obtiene una pérdida
en la legibilidad de las restricciones 𝑛 − 𝑎𝑟𝑖𝑎𝑠. De otra forma, dificultad más el uso de
heurísticas de búsqueda que se orientan al dominio, al perder las variables y las
restricciones la igualdad con el problema inicial. Es por esto que se tiene el interés en el
desarrollo de trabajos con CSP 𝑛 − 𝑎𝑟𝑖𝑜𝑠.

También podría gustarte