Nube de Etiquetas
(Ah?)
Mostrando las entradas con la etiqueta systems engineering. Mostrar todas las entradas
Mostrando las entradas con la etiqueta systems engineering. Mostrar todas las entradas

martes, marzo 31, 2015

Las herramientas que manejas no definen lo que eres

Con frecuencia, las personas que han incursionado en el área de minería de datos, análisis de sistemas, e investigación de operaciones, vienen de áreas muy distintas a las que los empleadores (y el público en general) creen que los expertos en estas áreas deben venir.

Los cursos de optimización en la Universidad Simón Bolívar, durante algún tiempo fueron dictadas por profesores, cuya carrera base era reflejo de esto que acabo de mencionar:

  • Una profesora egresada de Licenciatura en computación.
  • Un profesor egresado de Matemáticas Aplicadas.
  • Un profesor egresado de Ingeniería Civil.
  • Un profesor egresado de Ingeniería Eléctrica.
  • Un profesor egresado de Ingeniería de Producción.
A pesar de la diversidad de orígenes, ha habido una convergencia (en estos profesores, al menos) hacia el área de investigación de operaciones, a un nivel suficiente como para ser docentes, y en la mayoría de los casos, realizar aportes al estado del arte mediante publicaciones en revistas y conferencias científicas arbitradas.

Sin embargo, las personas que interactuan con quienes hemos hecho "vida" en el área de investigación de operaciones, minería de datos, análisis de sistemas, y máquinas de aprendizaje, suelen suponer que la carrera base es Ingeniería de Computación, o Matemáticas.

El trasfondo que implica la formación de un egresado de Computación, está lleno de una serie de herramientas y lenguajes que raras veces son dominados por especialistas de investigación de operaciones / machine learning / análisis de sistemas. Por ejemplo:
  • Lenguajes de bajo nivel (C++, por ejemplo).
  • Bases de datos (SQL, por ejemplo).
  • Arquitectura de Redes.
  • Programación de páginas web.
  • ...etc.
Sin embargo, estas no son destrezas necesariamente requeridas para que una persona sea un especialista en las áreas de las que he venido hablando.

Quienes asumen que quienes son especialistas en optimización y patrones, son necesariamente matemáticos, pues están dejando de considerar que la optimización utiliza las matemáticas como fundamento base, pero constituye más bien un uso práctico de los aspectos teóricos de las matemáticas. En muchos casos de la vida real, la investigación de operaciones está fundamentada en heurísticas, que pueden estar más fundamentadas en el sentido común, y emulación de ciertos aspectos de la naturaleza (como las colonias de hormigas, las neuronas, o los enjambres de abejas) que en teoremas fuertes matemáticos asociados a la optimalidad.

Es importante para quienes desean encontrar un profesional que resuelva un problema, con un enfoque de investigación de operaciones / análisis de sistemas / machine learning (aprendizaje artificial), deben entender que para este tipo de proyectos y problemas, es muchísimo más importante la manera de pensar (capacidad de abstracción, capacidad de análisis y síntesis, capacidad de comunicar ideas complejas, capacidad de volver cuantitativas variables subjetivas), que el manejar un lenguaje o herramienta particular.

Las herramientas y tecnologías que una persona utiliza, y la forma en que se enmarca el pensamiento, son un subproducto de los intentos que se han realizado para resolver problemas. Hay que tomar en cuenta, que para resolver un problema particular, por lo general, son válidas muchas alternativas de herramientas y tecnologías.

Ejemplo: Se necesita hacer "agrupamiento" (clustering). Esto puede hacerse en Matlab, R, Python, Lenguaje C++, Fortran, SPSS, SAS,... e incluso en Excel, programando con Visual Basic para Aplicaciones. Más importante que la herramienta a usar, es que el profesional que consigamos tenga la capacidad de analizar el problema, identificar los aspectos relevantes a considerar, e implemente la solución de forma eficiente, cumpliendo con los requerimientos exigidos. Quien sepa programar en cualquiera de estos lenguajes y herramientas, podría fácilmente aprender otro. En estos casos, lo más difícil de la programación, no es saber cómo se escribe una instrucción, sino tener claro en la cabeza qué es lo que se quiere hacer.

Es importante entonces buscar las personas con el cerebro entrenado para el tipo de problema, y no personas que sepan usar un conjunto de herramientas. El que tiene la capacidad de analizar y resolver el problema, aprenderá fácilmente la herramienta que necesite utilizar.

viernes, mayo 04, 2012

Enfoques basados en optimización convexa para clasificación de patrones

Tal y como lo comenté anteriormente, el próximo martes 8 de mayo de 2012, en la Sala Carlos Aragone, Edf. FEI-256 (segundo piso), de la Universidad Simón Bolívar (USB), a las 2:30pm se dictará un seminario titulado:

ENFOQUES BASADOS EN OPTIMIZACION CONVEXA
PARA LA CLASIFICACION DE PATRONES

El expositor, el Prof. Orestes Manzanilla (del Dpto. Procesos y Sistemas de la USB)

Resumen

En este seminario se mostrará un enfoque novedoso para resolver un problema específico dentro de las áreas de minería de datos, aprendizaje artificial y reconocimiento de patrones: el de la clasificación de patrones. Este es un problema con diversas aplicaciones, entre las cuales se puede mencionar el apoyo en
prognosis médica, otorgamiento de créditos, categorización de textos, prospección petrolera, detección de patrones de fraude, detección de patrones físicos (sonoros, visuales, etc), análisis de perfiles de expresión genética, ADN y proteínas diversas. Se hará un breve repaso de las técnicas más comunes para la resolución de este problema,  nacidas de la estadística, y de distintos campos de “máquinas de aprendizaje”, algunos de ellos bio-inspirados, indicando brevemente las ventajas y desventajas de cada método.
Se expondrá un grupo de heurísticas basadas en optimización lineal, y lineal entera-mixta para la generación de clasificadores de patrones de tipo no-lineal (pero lineal por partes), que puede representarse tanto como redes neurales artificiales, como árboles de clasificación, explicando las ventajas y  desventajas que comparativamente se observan respecto a los métodos mencionados anteriormente.
Los métodos están orientados hacia la búsqueda de (1) la minimización de la dependencia del “éxito” de la implementación, de la experticia del implementador, cerrando la brecha "tecnológica" que actualmente mantiene a los no-expertos alejados de este tipo de problemas, y (2) la escalabilidad de la técnica, para garantizar su aplicabilidad en bases de datos masivas. Por último, se esboza el posible uso de las  estructuras no-lineales generadas en el espacio multi-dimensional, ya no tanto para la predicción de la categoría o patrón de un nuevo
indivíduo de clase desconocida, sino para la visualización de los patrones en el espacio multi-dimensional.

Palabras claves: Programación lineal, Redes neurales artificiales, Máquinas de Soporte Vectorial, Clasificadores de patrones, Máquinas de aprendizaje.

martes, diciembre 07, 2010

Búsqueda Directa no monótona para optimización con restricciones lineales

Tengo el agrado de invitarlos a la defensa de la Tesis Doctoral denominada

     "MÉTODO DE BÚSQUEDA DIRECTA NO MONÓTONA
             PARA OPTIMIZAR UNA FUNCIÓN OBJETIVO
                SUJETA A RESTRICCIONES LINEALES"

presentada por el estudiante ILDEMARO JOSÉ GARCÍA URREA
como requisito parcial para optar al título de DOCTOR EN INGENIERÍA.

Fecha: viernes 10 de diciembre del 2010
Hora: 2:00 pm
Sitio: sala 133 del edificio Ciclo Básico 1.

Trabajo realizado bajo la tutoría del Prof. Ubaldo García Palomares

Jurado examinador:
     Prof. Bernardo Feijoo (USB),
     Prof. Marcos Raydán(UCV),
     Prof. Ubaldo García Palomares(USB),
     Prof. Ebert Brea (suplente UCV),
     Prof. Débora Cores (suplente USB)

lunes, junio 01, 2009

Charla: Clasificadores multi-superficie con minimización asimétrica de errores


En el contexto del Primer Ciclo de Charlas de los Postgrados en Estadística a realizarse los días jueves de las semanas impares de este trimestre, este jueves 4 de junio de 2009 dictaré esta charla, a las 11:30 am en el edificio MyS oficina 108. Específicamente, se realizará en la sala de seminarios del CESMa-USB.

Las charlas están pensadas para que estudiantes o egresados de nuestros programas compartan resultados o avances de sus trabajos de grado, estimulando el intercambio de ideas entre los participantes.

El tema de mi ponencia, en esta ocasión, versará sobre el uso de heurísticas de optimización, para la generación de un clasificador de patrones (reconocedor de patrones) multi-superficie. Se hablará sobre las Redes Neurales Artificiales de Clasificación Binaria (perceptrones de una capa oculta), Máquinas de Vectores de Soporte (SVMs), y sobre enfoques innovadores en el tratamiento asimétrico de errores de clasificación.

miércoles, marzo 18, 2009

Optimización por "enjambres"

Todos hemos escuchado de los algoritmos genéticos.

Básicamente, se usan para ver, dentro de un espacio matemático, qué punto es el "mejor". Para saber cuando un punto es mejor que otro, simplemente se evalúa cierta función en ese punto, y se ve cuanto vale. Por lo general, se busca que sea lo mayor posible, o lo menor posible (problemas de maximización y minimización, respectivamente). Esa función la podemos llamar "Aptitud", o como se le nombra clásicamente en Investigación de Operaciones: Función Objetivo (puede ser minimizar costos, riesgos, distancias, o maximizar ganancias, flexibilidad, robustez, etc).

(NOTA: si tienen flojera de leer, pasen al final del post, que hay un video EXCELENTE!)

Subiendo (o bajando) montañas...

Esa solución es un vector "x". Usualmente en optimización, uno se busca un "x-inicial", y evalúa la "aptitud"de los puntos que están en los alrededores de ese lugar, y se sigue alguna estrategia para suponer hacia dónde hay que moverse para encontrar un mejor valor de la función. Una vez se determina hacia dónde se busca una mejor solución, se "avanza" un poco (una distancia a escoger juiciosamente), y tenemos una nueva "x". El proceso se repite, hasta que  uno ve que en los alrededores no hay nada mejor, y supone que llegó al "mejor" lugar (el que tiene menor valor o mayor valor en la función objetivo). Puede ocurrir que se llegó a un óptimo local (había otro máximo mejor, pero éste se encontró más rápido).

La competencia para "sobrevivir"...

En Algoritmos Genéticos, no se hace esto. Los pasos son más o menos los siguientes:

  1. Generar a los competidores. Aleatoriamente creamos una cantidad grande de posibles soluciones, es decir, no una "x", sino (pongamos un número) 100 diferentes soluciones, x1, x2,..., x100. Estos serán nuestra "población".
  2. Selección "natural". Ahora toca jugar a la madre naturaleza, y determinar cuáles son los mejores de ellos, es decir los más aptos. Pongamos un número: seleccionamos a los 20 mejores (se evalúa la función objetivo en cada uno y tomamos los que tienen los 20 valores más pequeños o más altos de esa función). A los que no entren en este grupo, los "matamos" (eliminamos esas variables).
  3. Sexo libre, 100% de fertilidad, y la aparición de mutantes.  Cada uno de estos 20 ganadores, es apareado con los otros 19 (aunque pueden seguirse estrategias menos promíscuas ;D ), con un 100% de posibilidad de embarazo. Es decir, siempre se genera uno o más hijos en cada apareamiento. Puede haber apareamiento entre más de dos de los competidores, cosa que en la biología no ocurre! (aquí si tendría sentido la serie de televisión "Mis dos papás"). Cada hijo es una "x" nueva, cuyas características genéticas (valores de cada posición del vector "x"), son una mezcla de las de sus padres. Adicionalmente, aleatoriamente algunos de los hijos producidos en esta etapa tienen alguna característica genética cambiada aleatoriamente, lo que corresponde a una mutación. La población crece hasta tener 100 indivíduos nuevamente, donde están los 20 padres, y los demás son los hijos.
  4. Ahora se repite el proceso, porque se vuelve a ver cuáles son los 20 más aptos, y el resto se muere, y se produce nuevamente un apareamiento... Esto se repite hasta que las diferencias de aptitud entre los miembros de la población son muy pequeñas, y están todos muy cerca (tienen genes casi iguales). En ese momento se supone que el promedio de los genes de la población es la solución al problema (el mejor valor de "x" en el espacio matemático, según esa función objetivo fijada).
Importante es notar que en este método, hay dos componentes del comportamiento del algoritmo: la exploración (generando aleatoriamente "x" por todo el espacio, y aleatoriamente generando indivíduos mutantes, de forma ciega), y la explotación (siempre matando a los peores, y dejando a los mejores, hace que se aglomeren cada vez más arriba en las "montañas" de la función objetivo). Esto hace que sea menos probable que la solucion encontrada sea un óptimo local, y en eso puede resultar mejor que la optimización clásica.


Vuelen, hijos míos, exploren, ayúdense y destruyan al enemigo!

Ahora entonces tenemos a las técnicas de Optimización por "enjambres". Estas no son una población en la que se mueren los menos aptos. Por el contrario, siguen vivos, y el que no mueran agrega ese componente de "exploración" del que hablamos en los algoritmos genéticos, pero el que compartan información, hace que busquen las partes altas del espacio matemático, lo que equivale a un comportamiento de explotación. Dicen que nadie aprende de la experiencia ajena, lo cuál es verdad en el genético, pero acá se rompe esa regla!

  1. Enjambre en caos. Cada "x" nace, inicialmente, en una posición aleatoria, con una velocidad aleatoria, volando hacia una dirección aleatoria. Es decir, la locura y el caos total!
  2. Corran la voz!... la versión matemática de un chisme. Cada indivíduo (que es una posible solución "x" al problema), se entera de en qué posición está el que, dentro de toda la población, ha conseguido un mejor espacio para explorar (el que tenga mejor valor para la función objetivo). También se entera, de entre los que estén más cerca de él, cuál es el que mejor posicionado está.
  3. La información es de quién la usa!. Cada uno de los indivíduos de la población ahora decide cómo usa la información que tiene, y la pondera respecto a lo que él ya venía haciendo (por algo venía en esta dirección, no?). Aleatoriamente le da más o menos importancia al chisme de dónde está el mejor de toda la población, dondé está el mejor de sus vecinos, y hacia dónde iba cuando se enteró de estos dos chismes. Según la información, elige una nueva dirección, y camina por ahí, llegando a una nueva posición. Allí vuelven a llegarle los chismes actualizados, y se repite el proceso.
  4. Cuando todos más o menos están en el mismo sitio, el promedio de los lugares en los que están se asume como la respuesta al problema.
Interesante, no?

Ahora vean un video de unos robots que tienen la tarea de arrimar un objeto hacia su base. Ninguno de ellos logra ver más allá de unos centímetros de su naríz, pero se comunican perfectamente entre ellos, y trabajan bajo la optimización de enjambres. Poco a poco ubican el objeto, y logran llevarlo hacia su objetivo. Realmente alucinante!!
(gracias Gregorio por comentarme sobre este tema y pasarme el video!)







miércoles, mayo 21, 2008

Psicología aplicada en Máquinas de Aprendizaje: los seres humanos no son números

Creo que ya que les hablé del Premio Netflix, es bueno que les comente este excelente post en el que hacen reseña de un hecho curioso: una persona que originalmente viene del área de Psicología, llamada Gavin Potter, logró un marcado avance en este concurso. Hasta el momento en que esa persona entró, ninguno de los grupos concursantes no habían logrado hacer avances significativos desde hacía algún tiempo.... ¡y estoy hablando de personas que han probado ya múltiples ideas para resolver el problema!

Esta persona oriunda del área de Psicología, ya desde su primer intento, logró un avance mucho mayor que todos los avances recientes de los demás equipos. No pienso hacer una paráfrasis del post acá, pero si resumir en pocas palabras lo importante, y que debemos tener en cuenta al enfrentarnos a problemas reales:


Los especialistas en cómputo, estadística e inteligencia artificial pueden desarrollar algoritmos muy elaborados, y entonarlos para que trabajen muy bien ante los datos disponibles para el problema de Netflix. En ellos los números representan a los cinéfilos, y a sus gustos, y las fórmulas tratan de "predecir" el gusto que tendrán por la próxima película.

Esto está bien... salvo por el hecho de que....

¡Las personas no son números... ...ni miran las películas como si éstas lo fuesen!

Potter consideró a las personas como personas, e interpretó las calificaciones de las personas, tomando en cuenta cosas ya conocidas del comportamiento humano al momento de asignar calificaciones. El hecho de que esos números fueran asignados por un ser humano, es una información que, de alguna forma, había que incluír en el modelo.

Tomar en cuenta el factor humano, es algo que se díce más fácil de lo que se hace. ¿Cómo valernos de la psicología para estudiar personas sobre las cuáles no sabemos nada, excepto cuánto "dicen" que les gustó una película.

En corto, la forma en que Potter lo hizo, fue la siguiente:
  • Consideró que los gustos de las personas pueden cambiar a medida que pasa el tiempo. Uno puede darle más "peso" a las calificaciones más recientes que a las muy viejas.
  • Consideró el efecto "anclaje", que se refiere a la inercia que nos invade cuando asignamos calificaciones numéricas a algo (me ha pasado en mi experiencia como profesor universitario!). Si una persona ve tres películas seguidas que merecen 4 estrellas, y luego ve una que es un poco mejor, muy probablemente le asignará un 5. Sin embargo, si empezó viendo un par de películas a las que les dió sólo una estrella, esa misma película, que en otra circunstancia hubiese calificado con un 5, recibiría posiblemente sólo un 4 o incluso un 3. Potter se ocupó de medir este efecto en la data proporcionada por Netflix, y tomó en cuenta este efecto en las fórmulas, para determinar más precisamente los gustos de los cinéfilos.
La moraleja detrás de esto es muy importante:

sin importar que tan buenos modeladores seamos, al enfrentar un problema real, tener en el equipo una persona que sepa de la parte de la realidad que está tratando de modelarse. Es posible que a un especialista en computación, optimización o estadística se le ocurra algo de este estilo, pero, como sugiere el post en cuestión: incluír al especialista de la parte de la realidad que estamos estudiando puede ahorrar trabajo en modelos infructuosos.

Para cerrar, les paso el link al post es éste:
http://www.wired.com/techbiz/media/magazine/16-03/mf_netflix?currentPage=all

martes, marzo 25, 2008

Usando creyones para entrenar máquinas

Tuve la fortuna de toparme con un post del blog de Greg Linden, en el que se nos muestra un excelente ejemplo de lo que es el Aprendizaje Interactivo aplicado al procesamiento/reconocimiento de imágenes, mostrado por Dan Olsen de la Brigham Young University.

Se trata del uso de una interfaz para el usuario, en la que éste usa herramientas tipo creyón. En uno de los videos, se muestran imágenes donde una mano está sobre un escritorio. Un creyón es utilizado para marcar áreas de la imágen que el usuario quiere indicar que corresponden a piel. Otro es utilizado para marcar áreas de la imágen que el usuario quiere indicar que corresponden al "fondo" (cualquier cosa menos piel).

Una vez la máquina recibe esa información, la analiza, y en base a las características que tenían las áreas marcadas con ambos creyones clasifica el resto de la imágen como "piel" o "fondo". El usuario tiene entonces la oportunidad de usar los creyones para "corregir" los errores que cometió el software, marcando con el creyón "piel" aquellos puntos que la máquina clasificó como "fondo" pero eran "piel". Obviamente también se marca con el creyón ""fondo" aquellos puntos que la máquina clasificó como "piel" pero eran "fondo".

Luego de 4 minutos, el clasificador obtuvo excelentes resultados en otras imágenes donde aparece la mano, en diferentes posiciones, y una última en la que no aparece mano alguna. Siempre con alguno que otro pixel mal clasificado, pero realmente asombroso, a mi modo de ver.

Otro de los videos muestra un uso genial de este tipo de herramientas, para enseñar a un robot a manejar. Se muestran dos imágenes tomadas de la cámara que tiene el robot. En una se usan dos creyones: uno para marcar terreno "seguro", y uno para marcar terreno "inseguro". En esa misma imágen, luego de usar los creyones, se colorea la imágen según la máquina clasifica cada pixel como "seguro" o "inseguro". La otra imágen se usa para manejar al robot, indicándole hacia dónde debe ir.

El usuario, luego de marcar como "inseguro" aquellos lugares que se desea que el robot esquive, y como "seguro" aquellos lugares por los cuales el robot puede andar, le da la instrucción de caminar. En "tiempo real", las imágenes van actualizándose por la entrada de video, y el clasificador las va coloreando, y en base a ello, ajusta la trayectoria del robot. Si en algún lugar del camino, el usuario detecta que el clasificador ha cometido errores, detiene el robot y usa los creyones para corregir, y luego puede continuar.

¿Será que pronto usaremos esto para un rover en la Luna o Marte?

Si es así, ¡ojalá que algún día uno de los modelos matemáticos de clasificación que manden de viaje sea uno mío! Soñar no cuesta nada... ¿eh?

Visíten el post. Está en este URL:
http://glinden.blogspot.com/2007/12/interactive-machine-learning-talk.html

viernes, junio 01, 2007

Comienzo de divulgación de mis aportes durante la Maestría

Recientemente culminé una Maestría, y no he tenido oportunidad de compartir mis aportes sino con pocas personas. Esto es porque mi ex-tutor y yo aún estamos en gestiones para publicar un paper en una revista arbitrada, y porque las circunstancias y mis decisiones han tenido como efecto que yo haya estado trabajando en la empresa privada, como analista, y no cómo educador ni investigador. Eso, aunado al hecho de que, desde que empezaron a surgir aportes sentí una impetuosa necesidad de comunicarlos al mundo, para que fuesen aprovechados, y para entusiasmar a las personas a conocer un poco más sobre esta área del conocimiento que tuve la oportunidad de conocer más durante mis estudios de postgrado. Por ello, en este blog empezaré la labor de comentar, amenizar y enseñar, los conceptos básicos de los aportes que hice en mi Trabajo de Grado para la Maestría.

Empiezo, en este post, por aclarar sobre qué era la Maestría. El nombre oficial es "Ingeniería de Sistemas"... ese es el nombre oficial, repito, pero en realidad es un conglomerado de tres postgrados que son mutuamente excluyentes (al menos en pensum), con la excepción 2 materias obligatorias llamadas "tronco común", y algunas electivas. Las tres áreas son:

- Sistemas de Información
- Sistemas de Control
- Investigación de Operaciones

Las explico un poco:

Sistemas de Información: es la disciplina que se ocupa del desarrollo, análisis, y uso de las tecnologías de la información. También se preocupa por la influencia que puede tener la tecnología de la información en los diferentes aspectos de la actividad humana. Como las otras 2 ramas, parte de premisas de la Teoría General de Sistemas de Bertalanfy, para tomar esta perspectiva para estudiar los sistemas de información. Un sistema de información es un medio implementado de forma tecnológica, utilizado para recoger, almacenar, y diseminar expresiones lingüísticas, así como inferir conclusiones a partir de esas expresiones. Esto que he colocado está basado en la explicación que da Wikipedia sobre la entrada "Information Systems". Uno de los mejores profesores que yo he tenido el honor de conocer, decía que los inscritos en esta rama son la mayoria de los de la maestría, y además son los más frívolos, pues en definitiva esta es la rama mejor remunerada y más demandada en la industria y la empresa privada. También opina que es mucho más filosófica que las otras dos ramas, y menos técnica,... lo cual, añade con sorna, confirma las sospechas de frivolidad.

Sistemas de Control: el sistema objeto de estudio, para la rama de "Sistemas de Control", son todos aquellos dispositivos (o conjunto de ellos), que administran, comandan, dirigen, o regulan el comportamiento de otros dispositivos o sistemas. Para cumplir con estas funciones, por lo general los sistemas de control cuentan con:
  • "sensores" para conocer el estado actual de la parte de la realidad que se quiere controlar.
  • "referencia", que es la pauta del estado en el cual se desea que esté la realidad que se desea controlar.
  • "controlador", que es la parte del sistema de control que determina las correcciones que deben llevarse a cabo para que la realidad alcance el estado deseado.
  • "actuadores", que son las partes del sistema de control que afectan la realidad, alterando su estado.
Mi estimado profesor opinaba que los inscritos en esta rama eran unos desadaptados sociales... ;o) ya que se internan tanto en los modelos, que simplifican los modelos, que a su vez representan los sistemas para controlar otro sistema, que ya se olvidan de la realidad que estaban tratando de controlar.





Investigación de Operaciones:
Otro profesor mío decía que esta era la disciplina de matar más gente, lo más rápido posible, perdiendo la menor cantidad de recursos. Esta definición alude a que es una ciencia que surge sobre la base de requerimientos por parte de la milicia, de técnicas que permitieran ganar una ventaja sobre el enemigo, en el manejo de las operaciones. Sin embargo, llegados los tiempos de paz, la Investigación de Operaciones se tornó en una ciencia sumamente útil (bien utilizada), para casi cualquier ámbito en el que uno desee tomar decisiones sobre problemas complejos de la vida real, con una base científica para apoyar esas decisiones. Mi jocoso y admirado profesor opinaba que esta especie de "ingenieros de sistmas" (a la cuál pertence él), son una gente que no tiene nada claro en la vida. Si les preguntas hoy en qué trabajan, pueden responderte que en inversiones de la bolsa, mañana pueden responderte que en un estudio de dinámica de poblaciones de tortugas marinas, y pasado mañana en el diseño de rutas de circuitos en tarjetas impresas miniaturizadas, componente de la computadora de navegación de un satélite geoestacionario. Entonces... ¿A qué se dedican? eh... pues... no pueden responder!

Por ahora dejo esto acá... en el próximo post, hablaré más sobre qué trata el área de Investigación de Operaciones, y me internaré en el tema de las máquinas de aprendizaje.