Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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).
Alfred Binet.
Jean Piaget
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
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.
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.
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
Jhon McCarthy.
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.
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.
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.
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.
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.
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.
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.).
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
Jerarquía de Marcos.
No estándares, (no disyuntivo, fraternal, cualquier otra “ad hoc”).
Relaciones estándares.
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).
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.
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
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.
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.
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.
Diagrama de Flujo.
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.
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.
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.
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.
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.
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.
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).
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) 𝜋, 𝑛 =
′ (𝑎)
ℎ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.
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
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.
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.
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:
𝑓(𝑥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𝑦 + 𝑧 = 0
𝑥 + 𝑦 + 2𝑧 = 0
4𝑥 − 𝑦 + 3𝑧 = 0
Conjunto homogéneo.
De manera equivalente:
𝑥 1
[𝑦 ] = 𝛽 [ 2 ]
𝑧 −1
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.
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
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
Otras
Nombre de los Error
Fórmula relevante características.
Métodos
Local Global
Ecuaciones no
rígidas
Métodos de Euler
𝑦 = 𝑎𝑥 + 𝑏
Fórmula de regresión lineal simple
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.
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.
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 𝑥)
Gráfica de la función.
Ventajas Desventajas
𝑓(𝑥) = ⃗⃗⃗⃗⃗
(𝑤 ⋅ ⃗⃗⃗⃗
𝑥)
Á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.
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.
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.
𝐸𝑛𝑡𝑟𝑜𝑝𝑦 = − ∑ 𝑝 ∗ log(𝑝𝑖 )
𝑖=1
Fórmula de Entropía.
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.
Distancia de Manhattan.
𝐷(𝑥, 𝑦) = ∑|𝑥𝑖 − 𝑦𝑖 |
𝑖=1
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.
1
𝑛 𝑝
𝐷(𝑥, 𝑦) = (∑|𝑥𝑖 − 𝑦𝑖 |𝑝 )
𝑖=1
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.
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 𝑥∈𝑆𝑖
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).
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.
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.
Dependiendo del tipo de aprendizaje los algoritmos se clasifican en: aprendizaje por
refuerzo, aprendizaje supervisado, aprendizaje no supervisado.
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.
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.
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.
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.
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.
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.
Á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.
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.
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í.
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.
Entropía.
Se puede calcular la entropía con la implementación de la siguiente fórmula:
𝐸𝑛𝑡𝑟𝑜𝑝í𝑎 = −𝑝𝑙𝑜𝑔2 𝑝 − 𝑞𝑙𝑜𝑔2 𝑞
𝐺𝑎𝑛𝑎𝑛𝑐𝑖𝑎 𝑑𝑒 𝑖𝑛𝑓𝑜𝑟𝑚𝑎𝑐𝑖ó𝑛
= 𝐸𝑛𝑡𝑟𝑜𝑝í𝑎 (𝑛𝑜𝑑𝑜 𝑝𝑎𝑑𝑟𝑒) – [𝐴𝑣𝑔 𝐸𝑛𝑡𝑟𝑜𝑝𝑖𝑎(𝑛𝑜𝑑𝑜 ℎ𝑖𝑗𝑜)]
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.
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.
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 − 𝐺𝑖𝑛𝑖
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.
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.
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.
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.
6.5
𝑏= = 0.25
26
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.
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.
0.375
=√ = 𝑠𝑥𝑦 = √0.09375 = 0.306.
4
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.
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.
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.
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.
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−𝑝
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.
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.
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.
Grupo de datos.
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.
El mismo proceso ocurre con el siguiente punto ya que se encuentra más cerca
del punto verde.
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:
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.
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).
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.
negocio.
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.
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.
<catagory>
<pattern> Sabes quién es</pattern>
<template>
<srai>Quien es</star></srai>
</template>
</catagory>
</aiml>
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 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>
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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.
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.
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.
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.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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 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.
Procesos Cognoscitivos.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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…?
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?
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.
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).
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.
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?
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?
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.
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.
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: 𝐻𝑢𝑚𝑎𝑛𝑜 => 𝑀𝑜𝑟𝑡𝑎𝑙 (𝑥).
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.
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.
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:
(~ 𝑝 . ⟶. 𝑞 ˅ 𝑟) ˄ (~ 𝑞 ˄ ~ 𝑟) . 𝑝
⟶.
(~ 𝑝 . ⟶. 𝑞 ˅ 𝑟) ˄ (~ 𝑞 ˄ ~ 𝑟) . 𝑝
⟶.
V F V F V V V F V V F F
F F
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.
Búsqueda desde la raíz hasta los nodos Búsqueda desde la raíz después de los
hojas. niveles inferiores.
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.
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.
Modus Ponens.
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.
Implicaciones Inciertas.
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]}
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.
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:
𝑏ℎ = < 𝑑, 𝑐, 𝑏, 𝑎 >
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.
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.
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.
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
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.
Las relaciones entre ellos están implicadas por las seis reglas, y pueden ser
representadas de la siguiente forma:
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:
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.
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.
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.
Procesos de un clasificador.
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.
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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, … . 𝑋𝑛])
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.
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.
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.
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.
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.
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:
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.
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.
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.
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.
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.
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.
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.
Otra forma de presentarlo es por medio de la notación del cálculo de secuentes con
condicional:
(𝐴 ⟶ 𝐵), 𝐴 ⟝ 𝐵
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.
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.
𝐴 ⟶𝐵
¬𝐵 ⟶ ¬𝐴
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.
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.
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.
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.
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.
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.
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).
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
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: ≠ (𝑠, 𝑒, 𝑛, 𝑑, 𝑚, 𝑜, 𝑟, 𝑦);
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.
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.
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.
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.
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
∀(𝑎, 𝑏) ∈ 𝑐𝑖𝑗 , ∀𝑥𝑘 ∈ 𝑋, ∃𝑐 ∈ 𝐷𝑘 , (𝑎, 𝑐) ∈ 𝑐𝑖𝑘 ⋀(𝑏, 𝑐) ∈ 𝑐𝑗𝑘
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”.
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.
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.
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.
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}.
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.
Restricciones ordenadas.