viernes, 21 de marzo de 2014

teoria de colas (modelos de linea de espera )







Diagrama que muestra dos colas y múltiples nodos servidores. La teoría de colas estudia los tiempos de espera y capacidad del sistema.

La teoría de colas es el estudio matemático de las colas o líneas de espera dentro de un sistema. Ésta teoría estudia factores como el tiempo de espera medio en las colas o la capacidad de trabajo del sistema sin que llegue a colapsarse. Dentro de las matemáticas, la teoría de colas se engloba en la investigación de operaciones y es un complemento muy importante a la teoría de sistemas y la teoría de control. Se trata así de una teoría que encuentra aplicación en una amplia variedad de situaciones como negocios, comercio, industria, ingenierías, transporte y logística o telecomunicaciones.
Los modelos de línea de espera consisten en fórmulas y relaciones matemáticas que pueden usarse para determinar las características operativas (medidas de desempeño) para una cola. 
Las características operativas de interés incluyen las siguientes:
Probabilidad de que no haya unidades o clientes en el sistema
Cantidad promedio de unidades en la línea de espera
Cantidad promedio de unidades en el sistema (la cantidad de unidades en la línea de espera más la cantidad de unidades que se están atendiendo)
Tiempo promedio que pasa una unidad en la línea de espera
Tiempo promedio que pasa una unidad en el sistema (el tiempo de espera más el tiempo de servicio)
Probabilidad que tiene una unidad que llega de esperar por el servicio.

Los gerentes que tienen dicha información son más capaces de tomar decisiones que equilibren los niveles de servicio deseables con el costo de proporcionar dicho servicio.

DISTRIBUCIÓN DE LLEGADAS
Para determinar la distribución de probabilidad para la cantidad de llegadas en un período dado, se puede utilizar la distribución de Poisson.

/= Media o cantidad promedio de ocurrencia en un intervalo
e= 2.17828
X= cantidad de ocurrencias en el intervalo
imagen
DISTRIBUCIÓN DE TIEMPO DE SERVICIO
El tiempo de servicio es el tiempo que pasa un cliente en la instalación una vez el servicio ha iniciado.
Se puede utilizar la distribución de probabilidad exponencial para encontrar la probabilidad de que el tiempo de servicio sea menor o igual que un tiempo t.

e= 2.17828
μ= cantidad media de unidades que pueden servirse por período
imagen
DISCIPLINA DE LA LINEA DE ESPERA
Manera en la que las unidades que esperan el servicio se ordenan para recibirlo.
El primero que llega, primero al que se le sirve
Último en entrar, primero en salir
Atención primero a la prioridad más alta
OPERACIÓN DE ESTADO ESTABLE
Generalmente la actividad se incrementa gradualmente hasta un estado normal o estable. El período de comienzo o principio se conoce como período transitorio, mismo que termina cuando el sistema alcanza la operación de estado estable o normal.
MODELOS DE LÍNEA DE ESPERA DE UN SOLO CANAL CON LLEGADAS DE POISSON Y TIEMPOS DE SERVICIO EXPONENCIALES
A continuación, las fórmulas que pueden usarse para determinar las características operativas de estado estable para una línea de espera de un solo canal.

El objetivo de las fórmulas es mostrar cómo se puede dar información acerca de las características operativas de la línea de espera.
imagen
¿COMO SE PUEDE MEJORAR LA OPERACION DE LINEA DE ESPERA?
Características operativas para el sistema con la tasa media de servicio aumentada a μ=1.25 clientes por minuto.
imagen
imagen
imagen


imagen


Las limitaciones del acercamiento matemático


La teoría de formación de una cola es a menudo demasiado restrictiva matemáticamente para ser capaz de modelar todas las situaciones verdaderas a nivel mundial. Por ejemplo; los modelos matemáticos a menudo asumen el número de clientes, o la capacidad de la cola infinitos, cuando es evidente que deben estar limitados. Los medios alternativos del análisis de la teoría de colas consisten generalmente en simulaciones de ordenador y/o en el análisis de datos experimentales.
Aplicación a la telefonía

Las redes telefónicas se diseñan para acomodar la intensidad ofrecida del tráfico con solamente una pequeña pérdida. El funcionamiento de los sistemas depende de si la llamada es rechazada, de si está perdida, etc. Normalmente los sistemas de desbordamiento hacen uso de rutas alternativas e incluso estos sistemas tienen una capacidad de carga finita o máxima de tráfico. Sin embargo, el uso de las colas permite que los sistemas esperen por las peticiones de su cliente hasta que los recursos libres estén disponibles. Esto significa que si los niveles de la intensidad del tráfico exceden de la capacidad disponible, las llamadas del cliente se perderían. La disciplina de colas determina la manera de cómo manejar las llamadas de los clientes. Define la manera en que les servirán, la orden de las cuales se sirven, y la manera en la que los recursos se dividen entre los 

clientes.http://metodoscuantitativo2.galeon.com/enlaces2219625.html

jueves, 13 de marzo de 2014

perceptron simple

El Perceptrón dentro del campo de las redes neuronales tiene dos acepciones. Puede referirse a un tipo de red neuronal artificial desarrollado porFrank Rosenblatt.Y dentro de la misma teoría de Frank Rosenblatt. También puede entenderse como la neurona artificial y unidad básica de inferencia en forma de discriminador lineal, es decir, un algoritmo capaz de generar un criterio para seleccionar un sub-grupo, de un grupo de componentes más grande. La limitación de este algoritmo es que si dibujamos en un plot estos elementos, se deben poder separar con un hiperplano los elementos "deseados" de los "no deseados". El perceptrón puede utilizarse con otros perceptrones u otro tipo de neurona artificial, para formar redes neuronales más complicadas.

El modelo biológico más simple de un perceptrón es una neurona y viceversa. Es decir, el modelo matemático más simple de una neurona es un perceptrón. La neurona es una célula especializada y caracterizada por poseer una cantidad indefinida de canales de entrada llamados dendritas y un canal de salida llamado axón. Las dendritas operan como sensores que recogen información de la región donde se hallan y la derivan hacia el cuerpo de la neurona que reacciona mediante una sinapsis que envía una respuesta hacia el cerebro, esto en el caso de los seres vivos.

Una neurona sola y aislada carece de razón de ser. Su labor especializada se torna valiosa en la medida en que se asocia a otras neuronas, formando una red. Normalmente, el axón de una neurona entrega su información como "señal de entrada" a una dendrita de otra neurona y así sucesivamente. El perceptrón que capta la señal en adelante se entiende formando una red de neuronas, sean éstas biológicas o de sustrato semiconductor (compuertas lógicas).
El perceptrón usa una matriz para representar las redes neuronales y es un discriminador terciario que traza su entrada x  (un vector binario) a un único valor de salida f(x) (un solo valor binario) a través de dicha matriz.

f(x) = \begin{cases}1 & \text{si }w \cdot x - u > 0\\0 & \text{en otro caso}\end{cases}
Donde w  es un vector de pesos reales y w \cdot x  es el producto punto (que computa una suma ponderada). u es el 'umbral', el cual representa el grado de inhibición de la neurona, es un término constante que no depende del valor que tome la entrada.
El valor de f(x) (0 o 1) se usa para clasificar x como un caso positivo o un caso negativo, en el caso de un problema de clasificación binario. El umbral puede pensarse de como compensar la función de activación, o dando un nivel bajo de actividad a la neurona del rendimiento. La suma ponderada de las entradas debe producir un valor mayor que u para cambiar la neurona de estado 0 a 1.

En el perceptrón, existen dos tipos de aprendizaje, el primero utiliza una tasa de aprendizaje mientras que el segundo no la utiliza. Esta tasa de aprendizaje amortigua el cambio de los valores de los pesos.1
El algoritmo de aprendizaje es el mismo para todas las neuronas, todo lo que sigue se aplica a una sola neurona en el aislamiento. Se definen algunas variables primero:
  • el x(j) denota el elemento en la posición j en el vector de la entrada
  • el w(j) el elemento en la posición j en el vector de peso
  • el y denota la salida de la neurona
  • el \delta denota la salida esperada
  • el \alpha es una constante tal que 0<\alpha<1
Los dos tipos de aprendizaje difieren en este paso. Para el primer tipo de aprendizaje, utilizando tasa de aprendizaje, utilizaremos la siguiente regla de actualización de los pesos:
w(j)' = w(j) + \alpha(\delta-y)x(j)\,
Para el segundo tipo de aprendizaje, sin utilizar tasa de aprendizaje, la regla de actualización de los pesos será la siguiente:
 w(j)' = w(j) + (\delta)x(j)
Por lo cual, el aprendizaje es modelado como la actualización del vector de peso después de cada iteración, lo cual sólo tendrá lugar si la salida y difiere de la salida deseada \delta. Para considerar una neurona al interactuar en múltiples iteraciones debemos definir algunas variables más:
  • x_i denota el vector de entrada para la iteración i
  • w_i denota el vector de peso para la iteración i
  • y_i denota la salida para la iteración i
  • D_m = \{(x_1,y_1),\dots,(x_m,y_m)\} denota un periodo de aprendizaje de m iteraciones
En cada iteración el vector de peso es actualizado como sigue:
  • Para cada pareja ordenada (x,y) en D_m = \{(x_1,y_1),\dots,(x_m,y_m)\}
  • Pasar (x_i, y_i, w_i) a la regla de actualización w(j)' = w(j) + \alpha(\delta-y)x(j)
El periodo de aprendizaje D_m se dice que es separable linealmente si existe un valor positivo \gamma  y un vector de peso w tal que: y_i \cdot\left( \langle w, x_i \rangle +u \right) > \gamma  para todos los i.
Novikoff (1962) probo que el algoritmo de aprendizaje converge después de un número finito de iteraciones si los datos son separables linealmente y el número de errores está limitado a: \left(\frac{2R}{\gamma}\right)^2.
Sin embargo si los datos no son separables linealmente, la línea de algoritmo anterior no se garantiza que converja.

Ejemplo


Considere las funciones AND y OR, estas funciones son linealmente separables y por lo tanto pueden ser aprendidas por un perceptrón.
AND, las salidas de valor alto se representan en verdeOR, las salidas de valor alto se representan en verde
La función XOR no puede ser aprendida por un único perceptrón puesto que requiere al menos de dos líneas para separar las clases (0 y 1). Debe utilizarse al menos una capa adicional de perceptrones para permitir su aprendizaje.
XOR, las salidas de valor alto se representan en verde

http://es.wikipedia.org/wiki/Perceptr%C3%B3n 

redes neuronales

Las Redes Neuronales son un campo muy importante dentro de la Inteligencia Artificial. Inspirándose en el comportamiento conocido del cerebro humano (principalmente el referido a las neuronas y sus conexiones), trata de crear modelos artificiales que solucionen problemas difíciles de resolver mediante técnicas algorítmicas convencionales. 
      En esta página web trataremos de acercar al visitante a este tema, mostrando las bases neurológicas y matemáticas, los principales modelos vigentes y ejemplos interactivos que solucionan algunos problemas de forma eficaz.

LA NEURONA BIOLÓGICA

        Fue Ramón y Cajal (1888) quién descubrió la estructura celular (neurona) del sistema nervioso. Defendió la teoría de que las neuronas se interconectaban entre sí de forma paralela, y no formando un circuito cerrado como el sistema sanguíneo.
         Una neurona consta de un cuerpo celular (soma) de entre 10 y 80 mm, del que surge un denso árbol de ramificaciones (dendritas) y una fibra tubular (axón) de entre 100 mm y un metro.
De alguna forma, una neurona es un procesador de información muy simple:
·        Canal de entrada: dendritas.
·        Procesador: soma.
·        Canal de salida: axón.
         Una neurona cerebral puede recibir unas 10.000 entradas y enviar a su vez su salida a varios cientos de neuronas.
 La conexión entre neuronas se llama sinapsis. No es una conexión física, si no que hay unos 2 mm de separación. Son conexiones unidireccionales, en la que la transmisión de la información se hace de forma eléctrica en el interior de la neurona y de forma química entre neuronas; gracias a unas sustancias específicas llamadas neurotransmisores.
 No todas las neuronas son iguales, existen muchos tipos diferentes según el número de ramificaciones de sus dendritas, la longitud del axón y otros detalles estructurales. Sin embargo, como hemos visto, todas ellas operan con los mismos principios básicos.

 

MODELO DE NEURONA ARTIFICIAL

         El modelo de Rumelhart y McClelland (1986) define un elemento de proceso (EP), o neurona artificial, como un dispositivo que a partir de un conjunto de entradas, xi (i=1...n) o vector x, genera una única salida y.
Esta neurona artificial consta de los siguientes elementos:
    ·        Conjunto de entradas o vector de entradas x, de n componentes
·        Conjunto de pesos sinápticos wij. Representan la interacción entre la neurona presináptica j y la postsináptica i.
·        Regla de propagación d(wij,xj(t)): proporciona el potencial postsináptico, hi(t).
·        Función de activación ai(t)=f(ai(t-1), hi(t)): proporciona el estado de activación de la neurona en función del estado anterior y del valor postsináptico.
·        Función de salida Fi(t): proporciona la salida yi(t), en función del estado de activación.
         Las señales de entrada y salida pueden ser señales binarias (0,1 – neuronas de McCulloch y Pitts), bipolares (-1,1), números enteros o continuos, variables borrosas, etc.
La regla de propagación suele ser una suma ponderada del producto escalar del vector de entrada y el vector de pesos:
 También se usa a menudo la distancia euclídea entre ambos vectores:
         Existen otro tipo de reglas menos conocidas como la distancia de Voronoi, de Mahalanobis, etc.
La función de activación no suele tener en cuenta el estado anterior de la neurona, sino sólo el potencial hi(t). Suele ser una función determinista y, casi siempre, continua y monótona creciente. Las más comunes son la función signo (+1 si hi(t)>0, -1 en caso contrario), la función semilineal y las funciones sigmoides:
   
        La función de salida suele ser la identidad. En algunos casos es un valor umbral (la neurona no se activa hasta que su estado supera un determinado valor).
        Con todo esto, el modelo de neurona queda bastante simplificado:


RED NEURONAL ARTIFICIAL

         Una red neuronal artificial (RNA) se puede definir (Hecht – Nielssen 93) como un grafo dirigido con las siguientes restricciones:
  1. Los nodos se llaman elementos de proceso (EP).
  2. Los enlaces se llaman conexiones y funcionan como caminos unidireccionales instantáneos
  3. Cada EP puede tener cualquier número de conexiones.
  4. Todas las conexiones que salgan de un EP deben tener la misma señal.
  5. Los EP pueden tener memoria local.
  6. Cada EP posee una función de transferencia que, en función de las entradas y la memoria local produce una señal de salida y / o altera la memoria local.
  7. Las entradas a la RNA llegan del mundo exterior, mientras que sus salidas son conexiones que abandonan la RNA.

ARQUITECTURA DE LAS RNA

      La arquitectura de una RNA es la estructura o patrón de conexiones de la red. Es conveniente recordar que las conexiones sinápticas son direccionales, es decir, la información sólo se transmite en un sentido.
En general, las neuronas suelen agruparse en unidades estructurales llamadas capas. Dentro de una capa, las neuronas suelen ser del mismo tipo. Se pueden distinguir tres tipos de capas:
·        De entrada: reciben datos o señales procedentes del entorno.
·        De salida: proporcionan la respuesta de la red a los estímulos de la entrada.
·        Ocultas: no reciben ni suministran información al entorno (procesamiento interno de la red).
Generalmente las conexiones se realizan entre neuronas de distintas capas, pero puede haber conexiones intracapa o laterales y conexiones de realimentación que siguen un sentido contrario al de entrada-salida.



APRENDIZAJE DE LAS RNA

 Es el proceso por el que una RNA actualiza los pesos (y, en algunos casos, la arquitectura) con el propósito de que la red pueda llevar a cabo de forma efectiva una tarea determinada.
 Hay tres conceptos fundamentales en el aprendizaje:
 Paradigma de aprendizaje: información de la que dispone la red.
Regla de aprendizaje: principios que gobiernan el aprendizaje.
Algoritmo de aprendizaje: procedimiento numérico de ajuste de los pesos.
         Existen dos paradigmas fundamentales de aprendizaje:
Supervisado: la red trata de minimizar un error entre la salida que calcula y la salida deseada (conocida), de modo que la salida calculada termine siendo la deseada.
No supervisado o autoorganizado: la red conoce un conjunto de patrones sin conocer la respuesta deseada. Debe extraer rasgos o agrupar patrones similares.
        En cuanto a los algoritmos de aprendizaje, tenemos cuatro tipos:
            Minimización del error: reducción del gradiente, retropropagación, etc. La modificación de pesos está orientada a que el error cometido sea mínimo.
 Boltzmann: para redes estocásticas, donde se contemplan parámetros aleatorios.
 Hebb: cuando el disparo de una célula activa otra, el peso de la conexión entre ambas tiende a reforzarse (Ley de Hebb).
 Competitivo: sólo aprenden las neuronas que se acercan más a la salida deseada.