Capitulo 1 introduccion a la inteligencia artificial aux
1. INTELIGENCIA ARTIFICIAL 1
INTRODUCCION
La Inteligencia Artificial trata de conseguir que los ordenadores simulen en
cierta manera la inteligencia humana. Se acude a sus técnicas cuando es
necesario incorporar en un sistema informático, conocimiento o características
propias del ser humano.
La lección presenta las principales ramas y aplicaciones de la Inteligencia
Artificial
Podemos interrogar a algunas bases de datos de Internet en lenguaje
natural, o incluso charlar con ellas nuestro idioma, porque por detrás se está
ejecutando un programa de Inteligencia Artificial.
Y los sistemas expertos: ¿Qué son? Nuestro programa de contabilidad puede
incluir uno de ellos para asesorarnos en los asientos contables.
Otras herramientas inteligentes pueden utilizarse para escrutar entre los
millones de datos que se generan en un banco en busca de patrones de
comportamiento de sus clientes o para detectar tendencias en los mercados de
valores.
Pero ¡ojo!, aunque es un término que suena -y vende- bien, es difícil poner
una ralla entre lo que es Inteligencia Artificial e informática convencional, ya
que al fin y al cabo todo son programas de ordenador.
OBJETIVOS
Estudiar las principales ramas de la Inteligencia Artificial
Conocer las principales aplicaciones de la Inteligencia Artificial
en la gestión contable y financiera de la empresa
Utilizar en clase de prácticas uno o varios programas de
Inteligencia Artificial
2. CONTENIDO
1. Informática convencional
2. Ramas de la Inteligencia Artificial
3. Los Sistemas Expertos
4. Resumen y conclusiones
1. Informática Convencional
1.1 Gran avance de la informática
El desarrollo de los ordenadores ha sido espectacular en los últimos años. Del
mismo se han beneficiado muchos campos del saber, siendo uno más de ellos
la administración y dirección de empresas. Los programas informáticos como
hojas de cálculo, bases de datos, tratamientos de estos, etc., suelen
estar basados en programación algorítmica convencional, en la que se indica al
ordenador paso a paso lo que debe hacer.
Estos programas se ejecutan en ordenadores convencionales con un único
microprocesador o unidad central de proceso que opera secuencialmente. Todo
ello constituye lo que se denomina informática convencional, representada en
la figura siguiente.
Informática convencional
3. La informática convencional ha desarrollado con éxito un número considerable
de aplicaciones para mejorar la gestión empresarial y ha producido una
indudable revolución en todas las actividades de la Contabilidad y otras ramas.
1.2 Introducir conocimiento en un sistema informático
Sin embargo, a pesar de la importancia de las aplicaciones informáticas
convencionales en la empresa, en la medida en que necesitamos incorporar
conocimiento a un sistema informático se utilizan otro tipo de
herramientas, como son las procedentes de la Inteligencia Artificial.
La informática convencional aplicada al análisis de la solvencia de una
empresa.
Análisis contable
Vamos a suponer que trabajamos en el departamento de concesión de
créditos de una entidad financiera y nuestro trabajo consiste en analizar
la información contable de las empresas, valorar si la empresa es solvente o
presenta problemas y, a partir de ahí, decidir si merece un crédito o no. Es un
problema típico de análisis contable.
Queremos un programa de ordenador
Pensamos que el ordenador nos puede ayudar a manejar los datos para lo que
queremos una aplicación informática que nos ayude a dicha tarea. Aunque
somos algo novatos en nuestro nuevo trabajo, contamos con lo aprendido en
la facultad y el apoyo de nuestro compañero de trabajo, especialista en ese
campo -aunque no muy ducho en los temas de informática-, a quien pensamos
sustituir porque se acerca la fecha de su jubilación.
Por ejemplo, una hoja de cálculo
Una herramienta de informática convencional que podríamos utilizar es la hoja
de cálculo. Allí podríamos introducir los balances y cuentas de resultados de
los clientes y calcular ratios financieros sobre liquidez, endeudamiento,
rentabilidad, etc., y otras magnitudes como el fondo de maniobra.
4. Muy útil la función condicional
Siguiendo las recetas de algún manual de análisis contable, sobre esos ratios
podemos realizar algunos cálculos adicionales. Seguro que una de las
funciones que más utilizaríamos de la hoja de cálculo es la función
condicional, de forma que nos avise cuando la empresa en cuestión tenga
valores anormalmente bajos para alguno de los ratios analizados.
Y la capacidad de simulación
La capacidad de la hoja de cálculo para realizar simulaciones es también muy
notable. Con algo de programación adicional podemos incluir unas macros que
enciendan un semáforo rojo en cada uno de los puntos débiles de la empresa,
vamos, un sistema de alerta temprana.
... pero se queda pequeño
Orgullosos por haber dotado a nuestra hoja de cálculo de cierta inteligencia, la
mostramos a nuestro compañero, pidiendo su consejo. "No está mal,
ayudará mucho a facilitar los cálculos que con mi calculadora se hacían
muy pesados", exclama, "Aunque es algo sencillo". Por ejemplo, deberías
haber tenido en cuenta que para ese sector en concreto es normal que el fondo
de maniobra sea negativo. Además, no nos interesa tanto la rentabilidad como
su capacidad para devolver el préstamo. Es más, no nos importa que la
empresa quiebre, con tal de que pueda devolverlo. Me gustaría charlar contigo
para poder mejorar tu programa".
Ineficiente para representar conocimiento
En seguida nos damos cuenta de que la hoja de cálculo no es la herramienta
más adecuada para representar el conocimiento complejo. En cuanto
queramos que las condicionales estén anidadas al estilo: "si esto Y aquello O
eso Y...entonces" la programación se complica y no es eficiente.
5. 2. Ramas de la Inteligencia Artificial
2.1 Origen
El nacimiento de la Inteligencia Artificial se sitúa en una reunión celebrada en
el Dartmouth College (Hanover, EEUU) en 1956, en la que se planteó la
posibilidad de construir máquinas inteligentes. Llama la atención que en esa
fecha la informática apenas se había desarrollado, y ya se planteaba la
posibilidad de diseñar mecanismos inteligentes. En aquella reunión se
encontraban entre otros, Claude Shannon, padre de la Teoría de la
Información; Marvin Minsky, que más tarde demostraría las limitaciones de
ciertos modelos de redes neuronales; Herbert Simon, premio Nobel de
Economía quien además desarrolló el primer programa de Inteligencia Artificial
y un largo etcétera de investigadores.
2.2 Tronco común con varias ramas
Desde entonces son muchas las ramas que surgen del tronco común de la
Inteligencia Artificial. Las Ciencias de la Computación han asistido
continuamente al nacimiento de nuevas ramas y se habla de:
Espacio de Estados
Búsquedas informadas y no informadas
Teoría de Juegos
Sistemas expertos
Computación Evolutiva ó Vida Artificial
Algoritmos genéticos
Computación molecular ó Redes neuronales
Lógica Difusa
Fractales
Lenguaje natural
En algunas de estas ramas los resultados teóricos van muy por encima de las
realizaciones prácticas y en otras ramas solo se ha quedado en papeles.
Los sistemas expertos
Los sistemas expertos son la rama más conocida. Parten de la premisa de
que los expertos humanos utilizan gran cantidad de conocimientos específicos
de un campo que deben ser incorporados en el sistema experto. Para los
defensores más radicales de este paradigma, la inteligencia es un
6. programa que debe funcionar independientemente del lugar donde se
ejecute: ordenador o cerebro.
La forma deductiva en que representan el conocimiento, habitualmente
mediante símbolos y reglas, es apropiada cuando es posible extraer un
conjunto de reglas y normas. En la Contabilidad existen subdominios en los
que es fácil o al menos posible extraer una serie de reglas y otros en los que
es menos factible.
Las redes neuronales artificiales
Las redes neuronales artificiales tratan de representar el conocimiento
replicando la estructura neuronal del cerebro humano. En ellas lo fundamental
es el aprendizaje mediante patrones o ejemplos.
Las redes neuronales artificiales tratan de resolver tareas como el
reconocimiento de patrones, problemas de optimización o clasificación que la
computación algorítmica tradicional e Inteligencia Artificial convencional no han
resuelto de un modo suficientemente satisfactorio.
En las redes neuronales artificiales el conocimiento no se programa de forma
directa en la red sino que se adquiere mediante ejemplos por medio de una
regla de aprendizaje que va ajustando parámetros. Como vemos es un
método inductivo muy diferente al que siguen los sistemas expertos.
Diversas parcelas de la Contabilidad utilizan frecuentemente el método
inductivo por lo que se justifica conocer qué nos pueden ofrecer las redes
neuronales.
La Vida Artificial
La Vida Artificial puede considerarse un paradigma emergente de la
Inteligencia Artificial: se simulan realidades virtuales que evolucionan en
entornos mutantes. Los algoritmos genéticos son los representantes más
conocidos de la Vida Artificial.
Aplicaciones en la empresa
De entre todos los paradigmas y estrategias de la Inteligencia Artificial,
actualmente dos tienen el mayor interés para las aplicaciones en la empresa:
los sistemas expertos y las redes neuronales artificiales. Estos sistemas
se pueden combinar, por lo que una solución práctica es utilizar sistemas
7. mixtos que incorporan un módulo de sistema experto con sus reglas junto a
otros módulos neuronales y estadísticos.
2.3 Un Ejemplo para aclarar las diferencias: los
programas de ajedrez
Un sencillo ejemplo basado en el diseño de un programa de ajedrez puede
ayudarnos a entender las diferencias entre estos paradigmas.
Un sistema experto trata de incorporar la sabiduría de algún maestro del
ajedrez mediante reglas.
Una red neuronal es entrenada con ejemplos de partidas célebres,
tratando de extraer de ahí el conocimiento.
Finalmente, mediante algoritmos genéticos se diseñan programas que
compiten entre sí de forma que por selección natural quedan los mejores.
3. Los Sistemas Expertos
Son la rama de la Inteligencia Artificial más empleada en la gestión
empresarial
Su origen se sitúa a mediados de los años setenta, aunque es a partir de la
década de los ochenta cuando se desarrollan aplicaciones en toda su plenitud.
Su objetivo es modelizar el conocimiento, representándolo en forma de
símbolos.
A continuación estudiaremos:
Concepto
Desarrollo
Aplicaciones
Ventajas
Limitaciones
3.1 Definición
8. El Grupo Especialista en Sistemas Expertos de la Sociedad Británica de
Ordenadores
Los define de la siguiente manera:
"La incorporación dentro de un sistema de ordenador de un
componente basado en el conocimiento, correspondiente a una habilidad
experta, de tal forma que el sistema pueda ofrecer asesoramiento
inteligente o tomar una decisión inteligente sobre una función del proceso.
Una característica adicional deseable, que muchos consideran fundamental, es
la capacidad del sistema, si se le solicita, de justificar su propia línea de
razonamiento de un modo directamente inteligible para el interrogador. El
estilo adoptado para alcanzar estas características es la programación
basada en reglas."
Recopilan en un programa informático el conocimiento de
especialistas en una materia.
Sus dos componentes principales son la base de conocimientos y un
programa de inferencia. El conocimiento se representa mediante el uso de
símbolos, y así se crea una base de conocimiento. Una vez creada la base de
conocimiento, se debe diseñar un método para utilizarla, que es el programa
de inferencia. El programa de inferencia manipula la información simbólica
almacenada en la base de conocimiento mediante un proceso de búsqueda.
Estructura de un sistema experto
9. 3.2 Desarrollo
Podemos desarrollar un sistema experto de dos maneras:
a) A medida, programando en un lenguaje convencional (C, Pascal, etc.) o en
un lenguaje específico para el manejo de símbolos (Lisp, Prolog, etc.).
b) Utilizando una concha de sistema experto, también llamadas shell. Son
programas comerciales con todos los elementos del sistema experto pero con
la base de conocimientos vacía.
La tarea de adquisición del conocimiento es una tarea
compleja que precisa de varios actores:
a) el ingeniero del conocimiento, especialista informático que extrae el
conocimiento del especialista humano y lo plasma en el programa informático
b) el especialista humano, que es quien posee el conocimiento
c) el usuario del sistema, encargado de utilizar el sistema experto.
Hay muchas formas de representar el conocimiento en un
sistema experto. El método más utilizado son las reglas
de producción.
Una regla de producción toma la siguiente forma general:
SI <son ciertos determinados hechos>
ENTONCES <se consideran ciertos otros hechos>
Estas reglas residen en la base de conocimientos, en una especie de fichero de
texto. El programa de inferencia, verdadero motor del sistema experto se
encarga de combinar estas reglas, interactuando con el usuario a través del
interfaz del usuario.
10. Un sistema experto para analizar la solvencia de una
empresa
Parece una actividad ideal para un sistema experto
Siguiendo con el ejemplo del apartado anterior, podemos animarnos a realizar
un sistema experto para analizar la solvencia de una empresa. Al fin y al cabo,
contamos con la ayuda de un especialista humano y no es caro adquirir
una concha con la que podemos introducir cientos de reglas.
¿Por dónde empezar?
El procedimiento de trabajo es laborioso, pues se trata de extraer el
conocimiento de nuestro colega, que conforme pasa el tiempo nos damos
cuenta de que no tiene las cosas tan claras. Muchas reglas parecen
confusas, no son blancas o negras, por lo que hemos tenido que incorporar
lógica fuzzy. Avanzamos despacio, aunque por lo menos está sirviendo para
replantearnos todo el proceso de la toma de decisiones de préstamo en el
banco. Nos hemos dado cuenta de muchas decisiones se tomaban a ojo.
Van surgiendo problemas
Autores como Hartvigsen (1992), que ha elaborado un sistema experto para el
análisis de la solvencia de las empresas reconoce las limitaciones y dificultades
que plantea la construcción de los sistemas expertos para el análisis financiero.
No hay una teoría formal y perfectamente estructurada para examinar la
información contable de las empresas, aunque tampoco hay un
desconocimiento total del procedimiento a seguir.
Podemos combinarlos con otras técnicas
Para abordar este tipo de problemas difícilmente resolubles mediante los
métodos convencionales o mediante sistemas expertos hemos propuesto
combinarlos con otras herramientas de Inteligencia Artificial, como las redes
neuronales.
11. 3.3 Aplicaciones
Un sistema experto contable
Es un sistema informatizado que modeliza la experiencia de un contable.
La gestión empresarial cuenta con gran número de
sistemas expertos
Ello es debido a dos razones fundamentales:
a) casi todas las empresas disponen de un ordenador que realiza las funciones
básicas de tratamiento de la información: contabilidad general, decisiones
financieras, gestión de la tesorería, planificación, etc,
b) este trabajo implica manejar grandes volúmenes de información y realizar
operaciones numéricas para después tomar decisiones. Esto supone un terreno
ideal para la implantación de los sistemas expertos.
Podemos clasificar las aplicaciones en la Contabilidad en
varios apartados:
a) Auditoría
De entre todas las posibles áreas de trabajo en la contabilidad, según Fortuna,
Busto y Sastre (1991) la auditoría es el campo en el que más aplicaciones de
sistemas expertos se están desarrollando. Pueden servir para ayudar en el
proceso de auditoría, decidiendo los programas a seguir, determinando los
tipos de muestra y los tamaños, calculando los errores en la revisión de
cuentas, analizando grandes volúmenes de transacciones contables,
desarrollando una revisión analítica y formulando juicios en la materia.
b) Fiscalidad
La interpretación de las reglas impositivas para tratar de adaptarlas en
términos ventajosos para la empresa también resulta un campo adecuado para
la utilización de los sistemas expertos.
12. c) Planificación
Los sistemas expertos en la planificación ayudan en la toma de decisiones,
asesorando en temas de planificación financiera, control, análisis de
desviaciones, etc.
d) Análisis financiero
También son útiles para examinar las cuentas anuales de las empresas, los
balances, resultados y en general la información económica.
e) Contabilidad financiera
También la contabilidad financiera puede beneficiarse, al proporcionar el
sistema experto una base normativa amplia para la preparación de las cuentas
anuales o su revisión.
3.4 Ventajas
Proporcionan una forma de controlar gran cantidad de
datos
Uno de los grandes problemas a los que se enfrenta el analista es el gran
caudal de información a manejar, que puede afectar negativamente a la
toma de decisiones. Ante tal circunstancia los sistemas expertos pueden ser
unos valiosos aliados.
Los sistemas expertos recopilan los datos, los analizan y asimilan. Convierten
grandes volúmenes de datos en información útil. En este sentido conviene
distinguir un sistema experto de los simples programas de ordenador: también
las hojas de cálculo, bases de datos y programas convencionales manejan
habitualmente información y alivian la pesada tarea de realizar cálculos
numéricos pero no incluyen procedimientos de representación del
conocimiento.
13. ¿Pueden superar al experto humano?
a) cuando se requiere analizar un gran volumen de datos en un corto
espacio de tiempo. El experto humano se verá obligado a despreciar parte de
la información desechando la que no considere relevante; sin embargo, el
sistema experto, dada su mayor velocidad de proceso, puede analizar toda la
información, sin que aparezca fatiga u otros efectos propios del ser humano
que empeoran los resultados.
b) cuando la decisión exige aplicar conocimientos de varios campos.
3.5 Limitaciones
Programación
Difícil de elaborar
Precisan mantenimiento complejo
El elevado coste
En tiempo y dinero para extraer el conocimiento de los especialistas humanos
Poca flexibilidad a cambios
Hay que reprogramar el sistema
Dificultad para manipular información no estructurada
Especialmente la información incompleta, inconsistente o errónea.
14. Desacuerdo entre los especialistas humanos
En la elaboración del sistema experto, los especialistas humanos pueden estar
en desacuerdo entre ellos mismos a la hora de tomar las mejores decisiones
para la solución de los problemas particulares.
Problemas que no son resolubles mediante un sistema
experto
Para abordar este tipo de problemas difícilmente resolubles mediante los
métodos convencionales o mediante sistemas expertos, que por otra parte no
son exclusivos del análisis contable se ha propuesto su combinación con otras
herramientas de Inteligencia Artificial, como las redes neuronales.
4. Resumen y conclusiones
Es una disciplina en constante evolución
El nacimiento de la Inteligencia Artificial se sitúa en los años cincuenta; en esa
fecha la informática apenas se había desarrollado, y ya se planteaba la
posibilidad de diseñar máquinas inteligentes. Hoy en día se habla de vida
artificial, algoritmos genéticos, computación molecular o redes
neuronales. En algunas de estas ramas los resultados teóricos van muy por
encima de las realizaciones prácticas.
Sistemas expertos y redes neuronales
Los sistemas expertos son la rama más conocida de la Inteligencia Artificial. La
forma en que representan el conocimiento, habitualmente mediante
símbolos, es apropiada cuando es posible extraer un conjunto de
reglas y normas. En la vasta ciencia empresarial, existen subdominios en los
que es fácil o al menos posible extraer una serie de reglas y otros en los que
es menos factible.
Las redes neuronales artificiales son eficientes en tareas tales como el
reconocimiento de patrones, problemas de optimización o clasificación.
Las redes neuronales se puede integrar en un sistema de ayuda a la toma de
decisiones, pero no son una panacea capaz de resolver todos los problemas:
15. todo lo contrario, son modelos muy especializados que pueden aplicarse en
dominios muy concretos.
¿Cómo elegir la herramienta adecuada?
La elección entre los diferentes sistemas de ayuda a la toma de decisiones
depende entre otros factores del tipo de tarea a realizar.
3a) Tipo de decisión
Simon (1960) ha clasificado las decisiones en estructuradas y no
estructuradas: las decisiones estructuradas son repetitivas, rutinarias y existe
un procedimiento definido para abordarlas; por el contrario, en las decisiones
no estructuradas el decisor debe proporcionar juicios y aportar su propia
evaluación.
3b) Nivel al que se toman las decisiones
También el nivel al que se toman las decisiones afecta la elección del tipo de
sistema más apropiado. Gorry y Scott-Morton (1971) han propuesto un
esquema que relaciona el tipo de decisión (estructurada, semiestructurada y
no estructurada) y el nivel organizacional (control operativo, de gestión y
estratégico) con la herramienta a utilizar. Lógicamente en el nivel operativo
dominan las decisiones estructuradas, en el nivel de gestión las
semiestructuradas y en el estratégico las no estructuradas, formando una
diagonal.
En la figura siguiente hemos actualizado este esquema incorporando las
herramientas informáticas más novedosas, e incluso anticipando lo que puede
ser un futuro próximo.
16. Las herramientas a utilizar según el tipo de decisión y el nivel organizativo
Nivel operativo y decisiones estructuradas
Como podemos apreciar en el gráfico, en el nivel operativo y toma de
decisiones estructurada dominan los sistemas informatizados convencionales
como los programas de contabilidad financiera y de costes, los de
elaboración de nóminas, y que en general realizan tareas mecánicas. Son los
llamados Sistemas de Proceso de Transacciones (TPS) basados en
programación algorítmica convencional.
Nivel operativo y decisiones no estructuradas
El nivel operativo, pero con decisiones semiestructuradas, todavía está
dominado por los programas convencionales, en lo que habría que incluir
programas de control de tesorería, control de existencias y también las hojas
de cálculo y sistemas gestores de bases de datos.
Conforme las decisiones son menos estructuradas, empiezan a ser aplicables
sistemas expertos y sistemas de ayuda a la toma de decisiones. Así, para la
gestión financiera más básica, en la que además de realizar cálculos
mecánicos: tipos de interés efectivo, cuotas de amortización de préstamos,
etc., también hay que tomar decisiones que manejan información incompleta o
17. precisan incorporar el conocimiento de un especialista humano. Finalmente, en
el nivel de de toma de decisiones menos estructurada pueden incorporarse
modelos neuronales: por ejemplo, asesorando en la concesión de las tarjetas
de crédito de unos grandes almacenes o a qué clientes se les envía catálogos
por correo.
Nivel de gestión y decisiones estructuradas
Conforme el nivel organizativo avanza en el eje de las x, las decisiones se
hacen más complejas. Si las decisiones son estructuradas, como en el análisis
de presupuestos y control, contabilidad analítica, análisis contable, etc,
dominan los programas convencionales, quizá incorporando algún módulo
experto. Este tipo de programas se denominan Sistemas de Gestión de
Información o Management Information Systems (MIS).
Nivel de gestión y decisiones no estructuradas
Conforme las decisiones se hacen menos estructuradas se hacen más
necesarios los sistemas expertos. En temas puntuales como la elaboración
de presupuestos, la predicción de variables financieras como el beneficio, el
cash-flow, podrían incorporarse modelos neuronales. Nótese como en este
esquema descrito hemos situado el análisis de la información contable en las
decisiones semiestructuradas. No hay una teoría general que pueda ser
aplicada paso a paso pero tampoco encaja en las decisiones completamente
intuitivas o no estructuradas.
Nivel estratégico
En el nivel estratégico son barridos los programas convencionales
manteniéndose únicamente las hojas de cálculo, por su capacidad de
simulación. Los llamados Executive Information Systems (EIS), o Sistemas
Informativos para Ejecutivos dominan las decisiones menos estructuradas, con
tareas como la planificación estratégica y de contabilidad directiva. Las redes
neuronales pueden cubrir un hueco importante en las decisiones no
estructuradas, debido a esa capacidad de encontrar relaciones complejas entre
los patrones de entrada.