martes, 9 de septiembre de 2014
jueves, 5 de noviembre de 2009
Data Mining
Las bases para el data mining son la inteligencia artificial y la estadística. A continuación las técnicas mas utilizadas para DM.
• Redes neuronales: se basa en el aprendizaje y procesamiento automático, trata de simular el sistema nervioso.
• Regresión Lineal: es una técnica estadística que busca relaciones de datos. Es rápida y eficaz pero cuando se desea trabajar en modelos con mas de 2 dimensiones resulta ineficiente.
• Modelos estadísticos: es una ecuación que se emplea en diseños experimentales y en la regresión para indicar los diferentes factores que modifican la variable de respuesta.
• Clustering: en esta técnica se agrupan una serie de vectores según criterios de distancia y se trata de disponer los vectores de entrada de forma que estén mas cercanos los que tienen características comunes.
• Árboles de Decisión: este es un modelo de predicción utilizado en el ámbito de la IA. Sirven para encontrar una solución en un problema con una serie de condiciones que se dan en forma sucesiva.
El data mining se puede utilizar para encontrar patrones en las ventas, encontrar la razón por la cual los clientes deserten de seguir comprando en una compañía, haciendo predicciones de clientes y también para hacer proyecciones para el futuro basadas en datos históricos en los Data Warehouse.
martes, 13 de octubre de 2009
MPLS (Multi Protocol Label Switching)
A continuación se presentan las partes mas importantes de una red MPLS:
Label Switch Router (LSR)
Un Label Switch Router (LSR) es un router que soporta MPLS. Es capaz de entender las etiquetas de MPLS y de recibir y transmitir un paquete etiquetado en un enlace de datos. Existen tres tipos de LSR en una red MPLS:
Ingress LSR:
Estos reciben un paquete que no está etiquetado aun, insertan una etiqueta (pila de etiquetas) en frente del paquete y lo envían en un enlace de datos.
Egress LSR:
Estos reciben paquetes etiquetados, remueven las etiquetas y los envían a un enlace de datos. Los Ingress LSR y los Egress LSR son edge LSR.
Intermediate LSR
Estos reciben un paquete etiquetado, ejecutan una operación sobre él, conmutar el paquete, y lo envían en el correcto enlace de datos.
Label Switched Path(LSP)
Un Label Switched Path (LSP) es una secuencia de LSR que conmutan un paquete etiquetado a través de una red MPLS o una parte de una red MPLS. Básicamente, el LSP es el camino o parte de este que los paquetes toman en una red MPLS. El primer LSR de un LSP es el Ingress LSR para ese LSP, y el último LSR de un LSP es el Egress LSR. Todos los LSR que están entre el Ingress y el Egress LSR son LSR intermedios.
Distribución de etiquetas
La primera etiqueta es impuesta en el Ingress LSR y la etiqueta pertenece a un único LSP. El camino del paquete a través de la red MPLS está atado a ese único LSP. Todo lo que cambia es que la etiqueta tope en la pila de etiquetas es cambiada en cada salto. El Ingress LSR impone una o más etiquetas al paquete. Los LSR intermedios cambian la etiqueta tope (la etiqueta de entrada) del paquete recibido con otra etiqueta (la etiqueta de salida) y transmiten el paquete al enlace de datos de salida. El Egress LSR del LSP quita las etiquetas de este LSP y envía el paquete.
En la siguiente imagen se presentan todos estos conceptos:
sábado, 5 de septiembre de 2009
Función de un compilador
En el mundo actual de la informática, existen 2 formas de ejecutar programas: programas compilados y programas interpretados. Los programas interpretados son aquellos que se ejecutan en tiempo real por medio de un intérprete, por ejemplo HTML; mientras que, los programas compilados son aquellos que por medio de un compilador se traduce a código objeto, y puede ser ejecutado cuantas veces se desee sin compilarlo cada vez. Para entender la función de un compilador; se debe definir el término, describir las partes de un compilador y diferenciar los tipos de compiladores.
Un compilador es una aplicación que traduce el código fuente escrito en un lenguaje de programación conocido y entendible por los humanos, a código objeto, conocido como código máquina, es decir un código que lo entienden las computadoras.
Para que el proceso de compilación sea posible, existen varias partes, pasos o fases de compilación, las cuales son:
· Análisis o Front End
En esta parte se genera el árbol de derivación y se rellena la tabla de símbolos.
o Análisis Léxico
Consiste en evaluar si el token es o no parte del lenguaje, y si sí, lo relaciona con el lexema correspondiente.
o Análisis Sintáctico
Consiste en evaluar si el token viene o no en el lugar correcto, el análisis realizado es jerárquico.
o Análisis Semántico
Consiste en evaluar si el o los tokens tienen lógica al unificarse.
· Síntesis o Back End
o Generación de Código intermedio
Es una representación de código en base a 3 elementos (código 3 direcciones), que facilita el análisis del código.
o Optimización de código
Es realizar una mejora al código intermedio con el fin de realizar una ejecución más rápida.
o Generación de código
En esta parte es donde se genera el código que será entendible para la computadora.
Existen varios tipos de compiladores, para clasificarlos se toman en cuenta sus características y su manera de generar el código. Dichos tipos no son excluyentes, es decir que un compilador puede tener varios tipos.
· Compiladores cruzados
Generan código para un sistema distinto al que pertenecen
· Compiladores optimizadores
Son capaces de realizar cambios en el código para mejorar en eficiencia sin quitarle la funcionalidad al programa.
· Compiladores de una pasada
Realizan una única lectura del código fuente para generar el código máquina.
· Compiladores de varias pasadas
Realizan varias lecturas al código fuente para generar el código máquina.
· Compiladores Just In Time –JIT-
Forman parte de un intérprete y compilan las partes del código que necesiten.
· Optimación
Lee el código fuente, lo analiza y descubre los errores sin ejecutar el programa.
· Compiladores Incrementales
Generan el código objeto instrucción por instrucción, cada vez que el usuario ingresa cada orden de forma individual.
· Compilador con montador
Compila los módulos por aparte y luego los enlaza.
· Autocompilador
Está escrito en el mismo lenguaje que va a compilar, sirve para ampliar el lenguaje o hacer mejoras. No puede ser ejecutado la primera vez.
· Metacompilador
Compilador de compiladores, es un programa que recibe en la entrada, las especificaciones del lenguaje para el que quiere tener un compilador y genera como salida el compilador de dicho lenguaje.
Tomando en cuenta lo anterior, se puede percibir claramente que la función principal de un compilador es transformar código “humano” en código de computadora, detectando los errores encontrados. Por tanto concluimos que para comprender la función de un compilador debemos de definir bien el término, conocer las partes del compilador y saber los distintos tipos de compiladores.
martes, 25 de agosto de 2009
Motivo del Blog
El presente blog es para la entrega de las tareas del curso:Inteligencia Artificial de la Universidad de San Carlos de Guatemala,
Facultad de Ingeniería, escuela de Ciencias y Sistemas.
Los autores de este blog somos:
Carlos Sandoval
Julio Morales
Ivina Acuña
Esperamos que los temas aqui posteados sean de su agrado.