ESCUELA DE POSTGRADO
MAESTRÍA EN INFÓRMATICA
PROYECTO DE TESIS
PRESENTADO POR:
MARCO ANTONIO AGUILAR ESPINOZA
APURÍMAC – PERÚ
C.U. 2013
0
ÍNDICE
RESUMEN……………………………………………………………………………………..3
I. PLANTEAMIENTO DEL PROBLEMA………………………………………………..…4
1.1. DESCRIPCIÓN DEL PROBLEMA……………………………………………………..4
1.2. ENUNCIADO DEL PROBLEMA………………………………………………………..5
II. JUSTIFICACIÓN…………………………………………………………………………..5
III. MARCO TEÓRICO……………………………………………………………………….5
3.1. SISTEMA DE BASE DE DATOS………………………………………………………..5
3.2. ARQUITECTURA DE LOS SISTEMAS DE BASES DE DATOS…………………….6
3.3. EL SISTEMA DE ADMINISTRACIÓN DE BASE DE DATOS………………………7
3.4. ENFOQUES DE LOS SGBD……………………………………………………………..7
3.5. HISTORIA DE LOS SISTEMAS DE BASE DE DATOS………………………………8
3.6. CLASIFICACIÓN DE LOS SGBD………………………………………………………9
3.7. LENGUAJES DE BASES DE DATOS……………………………………………….…11
3.8. EL MODELO RELACIONAL…………………………………………………………..12
3.9. AGENTE RACIONAL…………………………………………………………………...20
3.10. AGENTES Y SU ENTORNO…………………………………………………………..20
3.11. ESTRUCTURA DE LOS AGENTES………………………………………………….21
3.12. AGENTE INTELIGENTE……………………………………………………………..21
3.13. PROPIEDADES DE LOS AGENTES INTELIGENTES……………………………21
3.14. CLASIFICACIÓN DE LOS AGENTES INTELIGENTES………………………….22
3.15. TAXONOMÍA DE LOS AGENTES……………………………………………………22
3.16. METODOLOGÍA PROMETHEUS……………………………………………………24
IV. ANTECEDENTES………………………………………………………………………..33
4.1. A NIVEL INTERNACIONAL…………………………………………………………..33
4.2. A NIVEL NACIONAL…………………………………………………………………...34
V. HIPÓTESIS………………………………………………………………………………...34
5.1. HIPÓTESIS PRINCIPAL……………………………………………………………….34
5.2. HIPÓTESIS ESPECÍFICAS…………………………………………………………….34
VI. OBJETIVOS………………………………………………………………………………35
6.1. OBJETIVO GENERAL………………………………………………………………….35
6.2. OBJETIVOS ESPECÍFICOS..………………………………………………………….35
VII. MATERIALES Y MÉTODOS…………………………………………………………35
7.1. ÁMBITO Y LUGAR DE ESTUDIO……………………………………………………35
1
7.2. POBLACIÓN Y MUESTRA…………………………………………………………..35
7.3. DESCRIPCIÓN DEL MÉTODO POR OBJETIVOS ESPECÍFICOS…………….35
7.4. OPERACIONALIZACIÓN DE VARIABLES……………………………………….38
VIII. CRONOGRAMA DE ACTIVIDADES……………………………………………...40
IX. PRESUPUESTO…………………………………………………………………………41
BIBLIOGRAFÍA…………………………………………………………………………….42
2
RESUMEN
Actualmente todas las empresas y personas almacenan volúmenes grandes y pequeños de información
en Sistemas Gestores de Base de Datos (SGBD), y recuperan la información en función de peticiones.
En la Dirección de Servicios Académicos de la Universidad Nacional Micaela Bastidas de Apurímac se
maneja la información académica, almacenada en un SGBD. La inadecuada declaración de tipos de
datos y tamaño en las tablas de las Base de Datos (BD) genera un incremento en el tamaño, asimismo
para el proceso de recuperación de información se construye consultas que según la cantidad de tablas
utilizadas se requiere de muchas relaciones o utilizar vistas, que muchas veces no se estructura
correctamente generando exceso e tiempos.
Se espera como resultado que el efecto del uso de agentes inteligentes sea significativo y por lo tanto
se pueda reducir el tiempo en la recuperación de información y el tamaño de las tablas.
3
I. PLANTEAMIENTO DEL PROBLEMA
4
consultas de recuperación de información reflejado en la disminución de tiempo de respuesta. Por
lo que se plantea las siguientes interrogantes:
II. JUSTIFICACIÓN
Una base de datos es una biblioteca de información organizada, que nos permite almacenar grandes
volúmenes de información y recuperarla en función de peticiones. La información puede ser
cualquiera, que sea de gran importancia para un individuo o una organización.
Esta propuesta sería un gran aporte a los administradores de Bases de datos, para reducir el tamaño
de la BD, asimismo a los que tienen problemas durante la implementación de operaciones de
recuperación de datos, modificaciones, inserciones e eliminaciones de datos; brindándoles un
Gestor de Base de Datos que les apoyará en la administración de sus Bases de Datos.
La Dirección de Servicios Académicos de la Universidad Nacional Micaela Bastidas de Apurímac,
mejorará su servicio a los alumnos, docentes y público en general, emitiendo reportes y constancias
más rápidamente, o cualquier pedido de información, por contar con una BD inteligente.
5
peticiones. La información en cuestión puede ser cualquier cosa que sea de importancia para el
individuo u organización; en otras palabras, todo lo que sea necesario para auxiliarle en el proceso
general de su administración.
La figura 1 es una imagen simplificada de un sistema de base de datos. Pretende mostrar
que un sistema de base de datos comprende cuatro componentes principales: datos, hardware,
software y usuarios.
6
Figura 2: Los tres niveles de la arquitectura
Gonzalez (2000).Una clasificación primaria de los SGBD, nos permite establecer los tipos básicos
según el tipo de estructura de datos que soporta:
Enfoque jerárquico. Parte de una estructura de datos basada en un conjunto de registros
diferentes guardados en un único archivo y jerarquizados entre sí mediante ligas. Su estructura
de árbol, impone que un elemento padre puede tener varios elementos hijo, pero no su inverso.
Precisa de punteros físicos.
Enfoque de Red (Codasyl). Similar al enfoque jerárquico en tanto al uso de registros y ligas,
pero dentro del esquema jerárquico un elemento de inferior jerarquía puede tener varios
7
elementos situados a un nivel superior del mismo. Las bases de datos gestionadas bajo este
enfoque implementan registros conectores (estructuras de datos que sirven para asociar a otras
dentro de un fichero). Precisa de punteros físicos
Enfoque relacional. Se caracteriza por la representación de datos en forma de tablas, en las
que los conjuntos de registros tienen un formato fijo e idéntica estructura. El enfoque
relacional en bases de datos parte del modelo relacional en matemáticas y, por tanto, son
susceptibles de aplicar al mismo todas las formulaciones teóricas que éste presenta; en
objetivos posteriores desarrollamos una descripción exhaustiva de este enfoque, puesto que el
prototipo BDI, de nuestro estudio utiliza un SGBD relacional (Microsoft Jet).
Orientado a objetos. Basada en el encapsulamiento de código y datos en unidades
denominadas objetos, que interactúan con el sistema a través de mensajes. El agrupamiento de
objetos con métodos y variables comunes se estructura en clases jerárquicas.
Enfoque Lógico. No es esencialmente distinto al enfoque relacional, pero se sustenta en la
lógica de predicados de primer orden para representar y manipular los datos, con lo que se
obtiene un modelo relaciona1 flexible con capacidades para la deducción automática, a éste
pertenecen los SGBD deductivos.
Silberschatz, & Korth & Sudarshan. (2002) La historia de las bases de datos inicia a
mediados de los años cincuenta, en el momento en que comenzaron a introducirse los ordenadores
para automatizar la gestión de las empresas, fundamentalmente con desarrollos en COBOL, y se
han caracterizado por el uso de tecnologías orientadas a la estructuración de datos mediante
modelos jerárquicos y Codasyl (p.ej. IMS de IBM; IDMS de Cullinet) de lógica procedimental,
que obligan al programador a desplazarse registro a registro, hecho que implica una escasa
flexibilidad.
En 1970 se propuso el modelo relacional, basado en los trabajos del Dr. Codd, básicamente el
modelo matemático que dio fundamentos a la segunda eneración de SGBD, caracterizada por una
mayor independencia físico-lógica, dado que actúan sobre conjuntos de registros; entre ellas
destacan ORACLE, DB2, INGRES, INFORMIX, SYBASE, etc. Codd propuso un modelo simple
de datos en el que todos ellos se representarían en tablas constituidas por filas y columnas. A
dichas tablas se les dio en nombre matemático de relaciones, denominándose así el sistema como
relacional.
Codd también propuso dos lenguajes para manipular los datos en las tablas: álgebra y cálculo
relacional, que soportan la manipulación de los datos sobre la base de operadores lógicos en lugar
8
de los punteros físicos utilizados en los modelos jerárquicos y de red. El resultado fue la aparición
de sistemas relacionales durante la última mitad de los setenta que soportaban lenguajes como el
Structured Query Language (SQL), el Query Language (Quel) y el Query-by-Example(QBE): los
trabajos de investigación que se realizaron durante la década de los ochenta se centraron en la
optimización de consultas, lenguajes de alto nivel, teoría de la normalización, organizaciones
físicas para el almacenamiento de las relaciones, algoritmos para la gestión de memorias
intermedias (bufen), técnicas de indexación para un acceso asociativo más rápido (distintas
variaciones de los árboles), sistemas distribuidos, diccionarios de datos, gestión de transacciones,
etc. Estas investigaciones han tenido como consecuencia la elevada tasa de transacciones de
muchos de los productos actuales que permiten asegurar entornos transaccionales en línea (OLTP)
muy eficientes y seguros. También cabe recordar que durante la primera mitad de los ochenta se
estandariza el lenguaje SQL (el SQUANSI se aprueba en 1986), ofreciendo, al cabo de poco
tiempo, prácticamente todos los productos una interfaz SQL, aún los no relacionales (sistemas
“renacidos”).
El enfoque relacional permite a los programadores la manipulación de tuplas procedentes de
distintos ficheros y tablas en una misma base de datos mediante consultas estructuradas,
habilitando acciones múltiples sobre los registros. La aparición y estandarización de SQL, permitió
una mayor integración, multiplicó las tareas asignadas a las bases de datos e implicó el desarrollo
de sistemas de uso transparente, cuya facilidad de manejo derivó en una excepcional productividad
e impresionante impacto económico.
La tercera generación de SGBD, tiene como principal característica la optimización relacional de
los sistemas en entornos multiusuario, la gestión de objetos que permite tipos de datos complejos
(texto, imagen, audio...), el encapsulamiento de la semántica de datos que proporciona un soporte
robusto para la recuperación automática de la información y mantenimiento de las restricciones de
integridad entre datos.
Sistemas Orientados al proceso y SGBD clásicos.- Sistemas que operan sobre conjuntos de
registros agrupados en “ficheros”, cuya naturaleza reside en la recuperación y almacenamiento
simple, dado que no almacenan ningún tipo de información para el procesamiento de datos, las
restricciones, procesos y el control se distribuye en los programas que acceden a los ficheros.
Estos sistemas “clásicos” enfrentan graves problemas de redundancia al encontrarse dispersa la
semántica de los datos en los programas. Se distinguen por el acceso secuencial a cadenas de
caracteres, interpretadas por los programas.
9
SGBD semánticos
En la medida en que evolucionaron los componentes físicos de los ordenadores y se hizo
posible el uso de mayor memoria para operaciones lógicas, los SGBD incorporaron mayor
número de información sobre los datos en el propio catálogo de la base de datos, habilitando
restricciones de diferentes tipos (CHECK), aserciones e incluso dominios, así, en un SGBD
semántico la base de datos incluye información sobre restricciones, información sobre datos y
los datos en sí.
SGBD activos
En este tipo de sistemas, los desarrolladores incorporan acciones que el sistema ejecuta sin la
intervención del usuario, a través de disparadores, reglas, demonios, etc. Tecnología basada en
procedimientos que se activan de forma automática, y que han sido previamente especificados
en la fase de definición intensión- de la base de datos. De hecho, representan patrones
invocados donde las condiciones para invocar se revisan en cada paso, frente a los SGBD
semánticos, encontramos además, en la base de datos información de control.
SGBD deductivos
La programación lógica ha ido evolucionando desde mediados de Ia década pasada hasta
nuestros días ampliando sus horizontes en el desarrollo de sistemas gestores de bases de datos,
la programación lógica, en forma similar a los primeros desarrollos de bases de datos. Centra
su acción en el núcleo de los programas que acceden a los datos, de hecho, la programación
lógica se utiliza principalmente como lenguaje de consulta, mientras que la tecnología de base
de datos se emplea para asegurar un almacenamiento eficiente y fiable. Los SGBD deductivos
se puede implementar añadiendo al SGBD facilidades para almacenar y gestionar reglas,
extendiendo el procesador de consultas del SGBD o acoplando un SGBD con un sistema
Prolog. Aunque, normalmente, en lugar de utilizar un lenguaje como Prolog (que procesa una
tupla a la vez) se suele emplear un lenguaje relaciona1 declarativo denominado DATALOG,
que es poco procedimental y orientado a conjuntos, lo que lo hace más adecuado para bases de
datos. Sintácticamente el DATALOG es muy parecido al Prolog, existiendo en la actualidad
diferentes versiones. Este tipo de lenguajes resulta muy útil para hacer consultas de tipo
recursivo, siendo clásica la de los ancestros de una persona (conociendo que los padres de una
persona son sus ancestros, así como los padres de los ancestros). Sin embargo, todavía no
existen productos comerciales que puedan incluirse en esta categoría, aunque algunas de sus
nociones se van incorporando en la nueva generación de SGBD relacionales-activos”
10
SGBD orientadas al objeto
Conocidos también como SGBO, aunque podríamos considerarlos como la tendencia a
extender los SGBD relacionales mediante la incorporación de la programación orientada a
objetos, en esta tendencia destacan: interfaces de POO sobre motores relacionales (Visual
Basic, VC++, J++, etc.), herramientas de conversión de esquemas relacionales a esquemas OO
y viceversa, herramientas de migración de esquemas, interoperabilidad de BDR y BDO, etc.
SGBD multidimensionales
Los sistemas de base relacional han sido diseñado específicamente para soportar el
procesamiento analítico de los datos: On Line Analytical Processing (OLAP), representan los
datos mediante matrices de n dimensiones d.enominadas “hipercubos” asignando a cada
dimensión un dominio específico jerarquizado, cada casilla del hipercubo contiene datos
agregados (infor-kación de...) que relacionan los elementos entre las distintas dimensiones, de
hecho, éstas actúan como apuntadores para identificar los valores dentro de la matriz.
Es importante destacar que el modelo de matriz de datos que aplica la lógica multidimensional
no está asociado a una representación física de los datos, ni utiliza LDD particulares, sus
principales diferencias frente al modelo de tablas relacionadas, reside en que todos los
dominios pueden encontrase relacionados, en contraparte dentro del esquema de tablas, las
relaciones afectan sólo campos clave o campos con naturaleza idéntica-asociativa.
11
o La inserción de información nueva en la base de datos.
o El borrado de información de la base de datos.
o La modificación de la información almacenada en la base de datos.
Un lenguaje de manipulación de datos (LMD) es un lenguaje que permite a los usuarios
acceder o manipular los datos organizados mediante el modelo de datos apropiado. Existen dos
tipos:
o LMDs Procedimentales. Requieren que el usuario especifique qué datos se necesitan y
cómo obtener esos datos.
o LMDs Declarativos (también conocidos comos LMDs no procedimentales). Requieren
que el usuario especifique qué datos se necesitan sin especificar cómo obtener esos
datos.
R. Stanek (2001) Es un modelo de datos basado en la teoría de las relaciones, en donde los datos se
estructuran lógicamente en forma de relaciones-tablas, siendo un objetivo fundamental del modelo
mantener la independencia de esta estructura lógica respecto al modo de almacenamiento y a otras
características de tipo físico.
3.8.1 OBJETIVOS
12
3.8.2 ESTRUCTURA DEL MODELO RELACIONAL
Nombre
Atributo 1 Atributo 2 ..................... Atributo n
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX Tupla 1
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX Tupla 2
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX .
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX .
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX Tupla n
AUTOR
Nombre Nacionalidad Institucion
Pepe España O.N.U.
John EE.UU. O.M.S.
Pierre Francia N.A.S.A.
Una relación se puede representar en forma de tabla, pero va a tener una serie de elementos
característicos:
No puede haber filas duplicadas, es decir, todas las tuplas tienen que ser distintas.
El orden de las filas es irrelevante.
La tabla es plana, es decir, en el cruce de una fila y una columna sólo puede haber un
valor.
Dominio y Atributo
Un dominio D es un conjunto finito de valores homogéneos (porque son todos del mismo tipo)
caracterizados por un nombre.
13
Todo dominio ha de tener un nombre por el cual nos podamos referir a él y un tipo de datos;
así el tipo de datos del dominio "nacionalidades" es una tira de caracteres de longitud 10.
Ejemplos de dominios serían:
Colores: Es el conjunto de los colores D={rojo, verde, azul,}
Números de DNI: Es conjunto de números del DNI válidos, formados por ocho dígitos.
Edad: Edades posibles de los empleados entre 18 y 80 años.
Atributos
Describen propiedades que posee cada miembro de un conjunto de entidades. Cada entidad
puede tener su propio valor para cada atributo.
Claves
Una clave candidata de una relación es un conjunto no vacío de atributos que identifican cada
tupla. Por la propia definición de relación, siempre hay al menos una clave candidata, ya que al
ser la relación un conjunto no existen tuplas repetidas y por tanto, el conjunto de todos los
atributos identificará unívocamente a las tuplas. Una relación puede tener más de una clave
candidata, entre las cuales se debe distinguir:
Clave primaria: es aquella clave candidata que el usuario escogerá, por
consideraciones ajenas al modelo relacional, para identificar a las tuplas de una
relación.
Clave alternativa: son aquellas claves candidatas que no han sido elegidas.
Relación
Una relación es una asociación entre diferentes entidades.
14
b. La claúsula FROM
La cláusula from corresponde a la operación producto cartesiano del álgebra relacional.
Lista las relaciones que deben ser analizadas en la evaluación de la expresión.
c. La claúsula WHERE
La cláusula where corresponde al predicado selección del álgebra relacional. Es un
predicado que engloba a los atributos de las relaciones que aparecen en la cláusula from.
SQL usa las conectivas lógicas and, or y not en la cláusula where. Los operandos de las
conectivas lógicas pueden ser expresiones que contengan los operadores de comparación
<, <=, >, >=, = y <>. SQL permite usar los operadores de comparación para comparar
cadenas y expresiones aritméticas, así como tipos especiales, tales como el tipo fecha. SQL
incluye un operador de comparación between para simplificar las cláusulas where que
especifica que un valor sea menor o igual que un valor y mayor o igual que otro valor.
d. La operación renombramiento
SQL proporciona un mecanismo para renombrar tanto relaciones como atributos. Para ello
utiliza la cláusula as. la cláusula as puede aparecer tanto en select como en from.
e. Variables tupla
La cláusula as es particularmente útil en la definición del concepto de variables tupla. Una
variable tupla en SQL se debe asociar con una relación concreta. Las variables tupla se
definen en la cláusula from, se puede utilizar la cláusula as (es opcional).
15
• ‘%cer%’ encaja con cualquier cadena que contenga “uli” como subcadena, por ejemplo
‘julio’.
• ‘_ _ _’ encaja con cualquier cadena de tres caracteres.
• ‘_ _ _%’ encaja con cualquier cadena de al menos tres caracteres.
h. FUNCIONES DE AGREGACION
Las funciones de agregación son funciones que toman una colección (un conjunto o
ulticonjunto) de valores como entrada y producen un único valor como salida. SQL
proporciona cinco funciones de agregación primitivas:
• Media: avg
• Mínimo: min
• Máximo: max
• Total: sum
• Cuenta: count
Existen situaciones en las cuales se debe aplicar las funciones de agregación no sólo a un
único conjunto de tuplas sino también a un grupo de conjuntos de tuplas; esto se especifica
en SQL usando la cláusula group by. El atributo o atributos especificados en la cláusula
group by se usan para formar grupos. Las tuplas con el mismo valor en todos los atributos
especificados en la cláusula group by se colocan en un grupo.
16
También se puede establecer condiciónes a los grupos. Esta condición no es aplicable a
una única tupla; se aplica a cada grupo construido por la cláusula group by. Para expresar
este tipo de consultas se utiliza la cláusula having de SQL.
select nombre-sucursal, avg (saldo)
from cuenta
group by nombre-sucursal
having avg (saldo) > 1200
i. VALORES NULOS
SQL permite el uso de valores nulos para indicar la ausencia de información sobre el valor
de un atributos. Se usa la palabra clave null para comprobar si un valor es nulo. Se usa is
not null para verificar valores no nulos
La operación intersección
Select nombre_cliente from cliente INTERSECT
Select nombre_cliente from prestatario
La operación interseccion elimina los duplicados automáticamente; pero si se desea conservar
los duplicados se debe usar INTERSECT ALL.
La operación excepto
Select nombre_cliente from cliente EXCEPT
Select nombre_cliente from prestatario
La operación except (resta) elimina los duplicados automáticamente; pero si se desea conservar
los duplicados se debe usar EXCEPT ALL.
17
Pertenencia a conjuntos
SQL utiliza el cálculo relacional para las operaciones que permiten comprobar la pertenencia
de una tupla a una relación. La conectiva in comprueba la pertenencia a un conjunto, donde el
conjunto es la colección de valores resultado de una cláusula select.
select m.idestudiante from matricula m where m.idsemestre='2010-1' and m.
idestudiante='092188' and m.idestudiante in (select idestudiante from estudiante)
También es posible utilizar NOT IN.
Comparación de conjuntos
Compara un valor escalar con un conjunto de valores de una sola columna
Puede ser utilizando la constructora SOME, y realizar las siguientes comparaciones: <some,
<= some, >= some, = some y <> some.
Un borrado se expresa de igual modo que una consulta. Se pueden borrar sólo tuplas
completas, es decir, no se pueden borrar valores de atributos concretos. La estructura de la
operación eliminar es:
Insertar
Para insertar datos en una relación, o bien se especifica la tupla que se desea insertar o se
formula una consulta cuyo resultado sea el conjunto de tuplas que se desean insertar.
Obviamente, los valores de los atributos de la tuplas que se inserten deben pertenecer al
dominio de los atributos. Se utiliza la instrucción insert.
Ejm:
18
insert into cuenta values (‘C-9732’, ‘Navacerrada’, 1200)
Actualizar
Sql permite cambiar un valor dentro de una tupla, sin cambiar todos los valores de la misma.
Para este tipo de situaciones se utiliza la instrucción update.
update cuenta set saldo = saldo * 1.05
l. VISTAS
Una vista es una tabla derivada de otras tablas (básicas o virtuales). Una vista se caracteriza
porque:
– Se considera que forma parte del esquema externo.
– Una vista es una tabla virtual (no tiene una correspondencia a nivel físico)
– Se puede consultar como cualquier tabla básica.
– Las actualizaciones se transfieren a la/s tabla/s original/es.
Una vista en SQL se define utilizando la orden create view. Para definir una vista se le debe
dar un nombre y se debe construir la consulta que genere dicha vista. La forma de la orden
create view es la siguiente:
create view v as <expresión de consulta>
m. DESENCADENADORES
Un desencadenador (Trigger) es un tipo especial de procedimiento almacenado que se activa
de forma controlada por sucesos antes que por llamadas directas. Los desencadenadores
(Triggers) están asociados a tablas. Son una gran herramienta para controlar las reglas de
negocio más complejas que una simple integridad referencial, los desencadenadores (Triggers)
y las sentencias que desencadenan su ejecución trabajan unidas como una transacción.
19
Desencadenador para actualización se generan ambas tablas INSERTED con los nuevos datos
y DELETED con la información que será reemplazada
La sintaxis para la creación de triggers es la siguiente:
CREATE TRIGGER <trigger name>
FOR <INSERT|DELETE|UPDATE>
ON <relation name>
EXECUTE PROCEDURE <procedure name> (<function args>);
Russell & Norvig(2004) Un agente racional es aquel que actúa con la intención de alcanzar el
mejor resultado o, cuando hay incertidumbre el mejor resultado esperado. En cada posible
secuencia de percepciones, un agente racional deberá emprender aquella acción que supuestamente
maximice su medida de rendimiento, basándose en las evidencias aportadas por la secuencia de
percepciones y en el conocimiento que el agente mantiene almacenado.
Russell & Norvig(2004) Un agente es algo que razona, es cualquier cosa capaz de percibir su
medioambiente con la ayuda de sensores y actuar en ese medio utilizando actuadores. La Figura 1,
muestra esta idea.
Figura 3. Los agentes interactúan con el medio ambiente mediante sensores y efectores.
20
3.11 ESTRUCTURA DE LOS AGENTES
El programa que se elija tiene que ser apropiado para la arquitectura. Si el programa tiene que
recomendar acciones como Caminar, la arquitectura tiene que tener piernas. La arquitectura
puede ser un PC común, o puede ser un coche robotizado con varios computadores, cámaras, y
otros sensores a bordo. En general, la arquitectura hace que las percepciones de los sensores
estén disponibles para el programa, ejecuta los programas, y se encarga de que los actuadores
pongan en marcha las acciones generadas.
El concepto de racionalidad se puede aplicar a una amplia variedad de agentes que operan en
cualquier medio imaginable. La idea es utilizar este concepto para desarrollar un pequeño
conjunto de principios de diseño que sirvan para construir agentes útiles, sistemas que se
puedan llamar razonablemente inteligentes. Stuart(2004)
21
Adaptatividad: Se adapta con facilidad a las indicaciones de los usuarios y a los cambios
en el entorno en base de su experiencia.
22
Asistente Información, de Servicios sobre
de Automatización de Problemas. demanda de
Consejo. procesos. Mercado
Electrónico.
Agentes locales.- Los agentes de esta clase acceden sólo a recursos locales. El objetivo de
dichos agentes es colaborar con el usuario, por eso el énfasis en la investigación es el
campo de interacción usuario/agente. Por otro lado, este tipo de agente se ha llamado
también Agente de Interaz o Interfaz Inteligente.
Los agentes locales podrán asistir al usuario de diferentes formas: ejecutan tares en nombre
del usuario, oculta la complejidad de tareas difíciles, actúa asincrónicamente o aprende y
enseña al usuario. La cantidad de tareas que el usuario podría asistir es virtualmente
ilimitada
Agentes de Red.-Los agentes de red pueden acceder no sólo a recursos locales sino
también a los remotos, y que tienen un conocimiento de la estructura de la red y también de
los servicios disponibles dentro de la red. La principal diferencia que hay entre esta clase
de agente y los sistemas multiagentes, está en que los agentes de red no asumen la
cooperación con otros agentes.
Agentes basados en DAI(Inteligencia Artificial Distribuida).- La preocupación
principal en los sistemas multiagente que se basan en DAI es la coordinación entre un
conjunto de agentes autónomos inteligentes, como por ejemplo, como coordinan ellos sus
objetivos, habilidades, conocimiento, como planifican la realización de tareas o como
solucionan problemas. Estos agentes se implementan a través de técnicas de IA, como
sistemas que se basan en reglas, ejemplos que se basan en razonamiento. Las
representaciones aplicadas al conocimiento así como los mecanismos de inferencia son
iguales a los usados en los sistemas basados en conocimiento (no-distribuidos). En los
sistemas multi-agente que se basan en DAI un agente se puede comunicar con el usuario,
los recursos del sistema y con otros agentes y cooperar en la realización de tareas, dicha
cooperación se hace por medio de un protocolo de contratación que garantiza la
negociación entre agentes.
Agentes móviles.- Los agentes móviles se encuentran orientados a brindar gran número de
servicios sofisticados dentro de grandes redes de computadoras. Los agentes de esta clase
se implementan con lenguajes scripting: TLC, Java, Telescript.
23
3.16 METODOLOGÍA PROMETHEUS
Padgham & Winikoff (2004) La metodología Prometheus define un proceso detallado para la
especificación, diseño, implementación y prueba / depuración de sistemas de software
orientado a agentes. Además define una serie de artefactos que se producen a lo largo del
camino. Algunos de estos artefactos se mantienen, y algunos sólo se utilizan como "puentes".
Algunos de los artefactos son gráfica, mientras que otros son de texto estructurado (por
ejemplo, las formas). La metodología Prometheus consta de tres fases, representadas en la
Figura 4.
24
I. Fase de especificación
a. La identificación de los objetivos del sistema.
Las razones para la construcción del sistema debe ser siempre el centro del
pensamiento cuando especificamos el sistema. El uso de la fase de especificación del
sistema facilita una correspondencia en el diseño detallado más adelante y la ejecución,
así como proporcionar un mecanismo adecuado para los requisitos de especificación.
Identificar las metas iniciales
La breve descripción inicial del sistema por lo general contiene algunas
indicaciones implícitas del sistema objetivo, qué es lo que se supone que el
sistema debe hacer. Estos proporcionan un punto de partida para la
construcción de una lista inicial de los objetivos del sistema.
Meta Perfeccionamiento
Ahora refinar estos objetivos con la técnica de preguntar ¿cómo?
Consideramos cada meta y preguntar "¿cómo podría esta meta lograr ";? las
respuestas dan los sub-objetivos de la meta en cuestión. Sería posible utilizar
también las técnicas de extracción de preguntar "¿por qué? ', para construir un
árbol meta mucho más completa. Sin embargo, tenemos optado por limitar el
conjunto de metas a las que se derivan más directamente. A medida que
refinamos los objetivos originales para ser un poco más específico, es a
menudo el caso de que nos encontramos con sub-metas similares que surjan en
diferentes objetivos iniciales.
25
desarrollan escenarios, es común para identificar objetivos adicionales que son
necesarios.
PERCEPCIONES Y ACCIONES
Las percepciones a menudo requieren algún tipo de procesamiento con el fin de extraer
la información que es de valor para el sistema de agente. Por ejemplo, marcos de visión
de una cámara robot no son en ellos mismos lo que el sistema de agente tiene que
razonar, primero deben ser procesados tanto para extraer los datos simbólicos, tales
como 'bola en 15, 10; robot en 25, 70' y para extraer información relevante a partir de
estos datos simbólicos. Si hay un flujo de datos entrantes, el sistema de agente puede
querer reaccionar sólo cuando hay un evento de cierta importancia, a menudo
determinado por el cambio de la situación anterior. En la planificación y el diseño del
sistema de agentes en torno a las percepciones, el diseñador debe tener en cuenta cómo
se obtienen los datos, no sólo llegar, así como la naturaleza exacta de los datos, y en
26
qué medida pueden ser procesados para proporcionar información de interés. Es
extremadamente importante para investigar y el experimento desde el principio con la
naturaleza exacta de las percepciones disponibles para el sistema. En sistemas en los
que se originan a partir de las percepciones recibidas de dispositivos de detección
físicas de algún tipo, los datos a menudo contienen cantidades significativas de ruido,
que puede requerir el uso de técnicas para filtrar y limpiar los datos. Esto se puede
hacer fuera del sistema de agente, sin embargo, estas cuestiones deben ser consideradas
cuidadosamente en la fase de diseño y el desarrollador debe establecer exactamente lo
que es posible proporcionar como percepciones en el sistema.
Las acciones también pueden ser complejas, lo que requiere el diseño y un desarrollo
exterior al ámbito del sistema, posiblemente incluyendo el monitoreo de fracaso o
continuo bucle de retroalimentación.
DATOS
A medida que se desarrollaron escenarios y funcionalidades, también es importante
tener en cuenta los datos que son parte de estos. Durante el desarrollo de las funciones
y los escenarios se observa tanto en los datos que se producen y datos que se utiliza. En
la fase de especificación del sistema, tenemos que tener en cuenta sobre todo los datos
externos del sistema de agente, ya que esto forma parte de la interfaz y se debe
especificar en esta etapa. Otra parte de la interfaz de sistema que puede ser necesario es
especificar la interacción con cualquier otro software.
27
Dada una colección de funcionalidades, es evidente que hay muchas maneras en
las que pueden estar agrupados los agentes. En un extremo, cada funcionalidad
podría corresponder a un diferente agente. Esto no es deseable, los agentes llegan a
tener funcionalidades estrechamente relacionados, lo que conduciría a un alto
grado de dependencia, o de acoplamiento, entre los agentes. En el otro extremo,
todas las funcionalidades que se podrían agrupar en un solo agente. Esto no es
deseable poque agrupa las funciones no relacionadas.
2. Revisión de acoplamiento
Uno de los criterios de diseño es apuntar a un sistema que se acopla tan libremente
como sea posible. No queremos que todos los agentes tienen que saber sobre todos
los demás agentes.
Con el fin de evaluar una agrupación potencial para el acoplamiento, se utiliza un
conocido agente diagrama. Este diagrama representa cada uno de los tipos de
agente. Información sobre el agente interacción se extrae de los descriptores de la
funcionalidad y cada agente está vinculado con los otros agentes que interactúa.
28
Una vez que se deciden los tipos de agentes, el siguiente aspecto del diseño
arquitectónico es especificar la interacción entre los agentes, la captura de las
dinámicas de los aspectos del sistema. Esto construye en ambos los tipos de agente y
también en los descriptores de escenario de la especificación del sistema.
29
• Nombre
• Descripción - breve descripción en lenguaje natural
• Escenarios - Listas de los escenarios que se incluyen en este protocolo
• Agentes - listas de los agentes implicados en el protocolo
• Mensajes - Listas de los mensajes implicados en el protocolo
• Notas - y otros datos diversos
Durante el desarrollo del protocolo, se han identificado una serie de mensajes, que
son los mensajes entre agentes en el sistema. En algunos casos, no son mensajes
entre agentes que no requieren de un protocolo. En el diseño detallado, también
habrá otros mensajes internos añadido al diseño.
Los descriptores para mensajes necesitan claramente contener información sobre el
mensaje. También es útil para indicar el fin del mensaje, que puede ser, por
ejemplo, para transferir el control a otro agente o funcionalidad, para solicitar un
servicio, o para actualizar la información.
Los campos en nuestra plantilla descriptor para los mensajes son los siguientes:
• Nombre - breve identificador
• Descripción - descripción del lenguaje natural que contiene toda la
información relevante
• Desde agente
• Para agente
• Propósito - por ejemplo, actualización de datos, servicio de petición, de
control de transferencia, y así sucesivamente
• Información realizó - lo que los campos de información transmitirán este
mensaje.
30
a. Identificar los límites del sistema de agentes y las interacciones con otros
subsistemas
Los sistemas de agentes siempre están operando dentro de algún medio ambiente, y por
lo tanto la especificación de las interfaces con el medio ambiente son muy importantes.
Los límites del sistema agente puede ser el entorno físico, pero también son muy
propensos a ser los límites software donde el sistema de agente forma parte de una
aplicación más grande.
Una parte de la interfaz es la información acerca del medio ambiente, que hemos
denominado percepciones . Dependiendo de la aplicación, los datos brutos desde el
entorno puede requerir un procesamiento significativo con el fin de ser de cualquier
uso a los agentes del sistema. Puede ser más apropiado para este procesamiento que se
lleve a cabo
en un sub-sistema de no-agente, que se incorporan dentro de un agente.
31
otros). Debe prestarse atención en cuanto si esto puede resultar potencialmente en
estados de datos incoherentes que contiene partes de dos versiones diferentes. Esto
dependerá en parte de detalles del entorno de ejecución. Pueden utilizar formas
simples de bloqueo. No discutimos más bloqueo aquí ya que es un tema estándar de
programación concurrente. Sin embargo, es importante asegurarse de que los bloqueos
son liberados tanto en el éxito y fracaso.
32
En esencia, progresivamente refinar cada agente mediante la definición de las capacidades
(módulos en el agente), eventos internos, planes y estructuras de datos detallados.
• El perfeccionamiento de los agentes en términos de capacidades, dando la visión agente de dia-
gramo y los descriptores de capacidades; y
• El desarrollo de las especificaciones del proceso
IV. ANTENCEDENTES
33
Base de Datos Inteligentes, permiten una serie de ventajas de gran interés, sobre todo en el proceso
de toma de decisiones, al transformar la información en conocimiento al proveer mecanismos
automáticos para el análisis, organización y síntesis de información.
V. HIPÓTESIS
5.1 HIPÓTESIS PRINCIPAL
Si aplicamos el modelo Relacional usando un agente inteligente entonces se minimiza el tiempo de
recuperación de datos, en las bases de datos de la UNAMBA.
34
VI. OBJETIVOS
6.1 OBJETIVO GENERAL
Reducir el tiempo de recuperación de información en las consultas usando un agente
inteligente en el modelo relacional en la BD de la dirección de Servicios académicos de la
UNAMBA.
35
Se recupera mediante consultas la información de los dos tipos de BD.
Se comparará los resultados registrados en los instrumentos aplicados para verificar la
reducción de tiempo en la recuperación de información.
Prueba Estadística
Formulación de la Hipótesis
̅𝟐 = 𝑿
𝑯𝟎 : 𝑿 ̅ 𝟏 [La media del tiempo de recuperación de información en las consultas
usando un agente inteligente es igual al gestor de BD que no usa agentes inteligentes]
̅𝟐 < 𝑿
𝑯𝟎 : 𝑿 ̅ 𝟏 [La media del tiempo de recuperación de información en las consultas
usando un agente inteligente es menor al gestor de BD que no usa agentes inteligentes]
Prueba estadística
Prueba de medias de dos grupos dependientes.
̅ − 𝒖𝟎
𝒙
𝒁= 𝝈
√𝒏
Nivel de Significancia
5%=0.05
Región Crítica
Si Z C(0) > Z T(0) entonces se rechaza la hipótesis nula, caso contrario se acepta la hipótesis
nula.
36
Se utilizará un cuaderno de registro durante el proceso de manipulación de datos para los
dos tipos de base de datos: el que usa un agente inteligente y el que no utiliza un agente
inteligente.
Se crean las tablas en los dos tipos de BD.
Se ingresa datos en los dos tipos de BD.
Se comparará los resultados registrados en los instrumentos aplicados para verificar la
reducción del tamaño en kb de la tablas.
Prueba Estadística
Formulación de la Hipótesis
̅𝟐 = 𝑿
𝑯𝟎 : 𝑿 ̅ 𝟏 [La media del tamaño de las tablas del gestor de BD usando un agente
inteligente es igual al gestor de BD que no usa agentes inteligentes]
̅𝟐 < 𝑿
𝑯𝟎 : 𝑿 ̅ 𝟏 [La media del tamaño de las tablas del gestor de BD usando un agente
inteligente es menor al gestor de BD que no usa agentes inteligentes]
Prueba estadística
Prueba de medias de dos grupos dependientes.
̅ − 𝒖𝟎
𝒙
𝒁= 𝝈
√𝒏
Nivel de Significancia
5%=0.05
Región Crítica
Si Z C(0) > Z T(0) entonces se rechaza la hipótesis nula, caso contrario se acepta la
hipótesis nula.
37
c. Para eliminar los errores de actualización de datos usando un agente inteligente en la BD.
Prueba Estadística
Formulación de la Hipótesis
̅𝟐 = 𝑿
𝑯𝟎 : 𝑿 ̅ 𝟏 [La media de la cantidad de errores encontrados usando agentes
inteligentes es igual al gestor de BD que no usa agentes inteligentes]
̅𝟐 < 𝑿
𝑯𝟎 : 𝑿 ̅ 𝟏 [La media de la cantidad de errores encontrados usando agentes
inteligentes es menor al gestor de BD que no usa agentes inteligentes]
Prueba estadística
Prueba de medias de dos grupos dependientes.
̅ − 𝒖𝟎
𝒙
𝒁= 𝝈
√𝒏
Nivel de Significancia
5%=0.05
Región Crítica
38
Si Z C(0) > Z T(0) entonces se rechaza la hipótesis nula, caso contrario se acepta la hipótesis
nula.
Cantidad de Número de
Errores de errores errores
actualización
39
VIII. CRONOGRAMA DE ACTIVIDADES
8.1 PROGRAMACIÓN DE ACTIVIDADES
Actividades Meses
Set Oct Nov Dic Ene Feb Mar Ab May
Fase de especificación X X
Fase de diseño X X
arquitectónico
Diseñar la estructura X X
general del sistema
Diseño Detallado X X
Análisis de resultados X
Desarrollo de Informe X
Final
40
IX. PRESUPUESTO
Rubro Cantidad Unidad de medida Costo Unitario S/. Costo Total S/.
Material de escritorio
Bienes
Servicios
41
X. BIBLIOGRAFÍA
Silberschatz, Abraham. F. Korth, Henry. Sudarshan. 2002. “FUNDAMENTOS DE BASES
DE DATOS”4ta edición. Editorial McGRAW-HILL, Madrid, España
Elmasri, Ramez. Navathe Shamkant. 1994. “SISTEMAS DE BASE DE DATOS” 2da edición.
Editorial Addison-Wesley, Mexico.
Date, C.J. 2001. “INTRODUCCIÓN A LOS SISTEMAS DE BASES DE DATOS” 7ma
edición. Editorial Pearson.
Rob, Peter. Coronel, Carlos. 2006. “SISTEMAS DE BASES DE DATOS” 5ta edición.
Editorial Thomson.
Wesley Longman, Addiso. 2001. “INTRODUCCIÓN A LOS SISTEMAS DE BASE DE
DATOS”, 7ma edición. Editorial Pearson.
Delaney, Kalen. (2001) “A FONDO MICROSOFT SQL SERVER” 1era Edición. Editorial
Mc Graw Hill.
R. Stanek, William (2001) “SQL SERVER 2000 MANUAL DEL ADMINISTRADOR”
Editorial Mc Graw Hill.
Crovetto Huerta, Chirstian (2005) “INTELIGENCIA ARTIFICIAL E INTRODUCCIÓN A
LA ROBÓTICA” Editorial Megabyte.
J. Russell, Stuart. Norvig, Peter.(2004) “INTELIGENCIA ARTIFICIAL UN ENFOUE
MODERNO” 2da edición. Editorial Pearson.Editorial Pearson.
Padgham, Lin. Winikoff, Michael. (2004) “Developing Intelligent Agent Systems” Editorial
John Wiley & Sons.
Ruiz Gonzalez, Francisco. 2000. “ARQUITECTURA DE SISTEMAS DE BASE DE
DATOS”. UNIVERSIDAD DE CASTILLA LA MANCHA.
Enriquez, Erica Isabel. 2007. “SQL Server 2000”. Universidad Nacional del Nordeste.
42