Qué es la informática aplicada a las ciencias del deporte?
←
→
Transcripción del contenido de la página
Si su navegador no muestra la página correctamente, lea el contenido de la página a continuación
Lecturas: Educación Física y Deportes, Revista Digital Página 1 de 6 ¿Qué es la informática aplicada a las ciencias del deporte? *Depto. Psicología Social. Universidad de Málaga Antonio Hernández Mendo* * CERN - European Laboratory for Particle Physics. Raúl Ramos Pollán** Information Technology Division mendo@uma.es (España) http://www.efdeportes.com/ Revista Digital - Buenos Aires - Año 6 - N° 33 - Marzo de 2001 1/8 1. Introducción La informática ha supuesto una revolución técnica y conceptual que ha impactado en prácticamente todas las áreas de conocimiento. Consideramos que es una revolución técnica en cuanto que ha afectado la implementación y el análisis de las tareas más diversas. De la misma manera, consideramos que es una revolución conceptual porque ha provocado -con la generación de sistemas expertos, algoritmos genéticos, etc.- la desaparición y reducción de incertidumbre de las teorías y modelos conceptuales de las disciplinas donde se ha implantado. Evidentemente estas implicaciones son pertinentes en las ciencias de la actividad física y el deporte, en todas y cada una de sus áreas de conocimiento e investigación. Este trabajo pretende simplemente dotar al lector de unos criterios mínimos en algunas de las tecnologías usadas actualmente en el tratamiento de problemas científicos. Para cada paradigma aquí presentado damos unos conceptos generales sobre el mismo y unos principios básicos de funcionamiento. Con esto esperamos ofrecer criterios acerca del tipo de aspectos que se pueden abordar con cada uno de ellos, así como el coste y conocimiento que esto supone. Se recomienda acudir a las referencias para más detalles sobre el funcionamiento y conveniencia de cada paradigma. 2. Ordenadores, programas y lenguajes Un ordenador es una máquina de propósito general que almacena, procesa y transmite información, según se le especifica. Al contrario que cualquier otra máquina que podamos encontrar en nuestro entorno (una televisión, un coche, una radio, etc.), un ordenador no está diseñado a priori para realizar ninguna tarea en particular. Para que un ordenador realice cualquier tarea es necesario especificársela y ordenarle que la ejecute. La especificación de la tarea determina la funcionalidad que se obtiene cuando el ordenador la ejecuta. Las tareas se especifican por medio de programas, por tanto un ordenador es una máquina que ejecuta programas para obtener una cierta funcionalidad. Por ejemplo, un procesador de texto es un programa que, al ejecutarlo, dirige al ordenador sobre cómo debe de obtener información del teclado, cómo mostrarla en pantalla dándole forma de documento, cómo mandarlo a impresora, como almacenarla y recuperarla del disco, etc. Un programa es una lista de instrucciones que un ordenador debe seguir para procesar datos y convertirlos en información (esto es, para realizar una tarea). Los datos pueden venir de muchas fuentes (el teclado, el disco duro, la red, etc.) y pueden ser transformados en distintos tipos de información (un documento, una base de datos, una página Web, etc.). El tipo de datos y de información, así como la naturaleza de esa transformación determinan la funcionalidad final http://www.efdeportes.com/efd33a/informa.htm 22/02/2005
Lecturas: Educación Física y Deportes, Revista Digital Página 2 de 6 de un programa (procesador de texto, gestor de bases de datos, navegador de la Web, etc.). Las instrucciones de las que consta un programa se describen en un lenguaje de programación determinado. Un ordenador desnudo (en el que no se ha introducido ningún programa) sólo entiende un lenguaje de programación que se llama código máquina. Cada tipo de ordenador tiene un código máquina distinto. Este lenguaje es complicado y sus instrucciones son muy crípticas (por ejemplo, 0011010101011010111 puede ser la instrucción para escribir un caracter en el disco duro) con lo que desarrollar programas es este lenguaje es una tarea difícil. Afortunadamente, se han desarrollado programas llamados compiladores, que entienden instrucciones más cercanas al lenguaje humano (por ejemplo, write (‘A’, hd) sería la instrucción para escribir el caracter ‘A’ en el disco duro). En este sentido, existen muchos lenguajes. En general a estos lenguajes se les denomina lenguajes de alto nivel. Un traductor se encarga de traducir programas e instrucciones en algún lenguaje de alto nivel (entendibles por el programador) en instrucciones en código máquina (entendibles por el ordenador). Normalmente para poder realizar un programa de ordenador, el programador debe de conocer el lenguaje de alto nivel adecuado y debe saber manejar el traductor correspondiente. Los lenguajes de programación han evolucionado a lo largo de la historia de los ordenadores. Los primeros ordenadores que existieron fueron máquinas muy complejas para su época, que se programaban únicamente en código máquina y muy poca gente sabía como realizar programas para ellos. Según la tecnología de los ordenadores evolucionó también evolucionaron las técnicas de traducción y surgieron otros lenguajes, haciendo la tarea de programar más asequible. Los lenguajes de programación han evolucionado en lo que se denomina generaciones de lenguajes. Existen cinco generaciones en las que se clasifican los lenguajes de programación utilizados. Las primeras generaciones contienen lenguajes próximos al código máquina. Las últimas contienen lenguajes próximos al lenguaje natural (humano): z Primera Generación, Código Máquina: Es el nivel más bajo de los lenguajes de programación y está compuesta por los códigos máquina aceptados por los ordenadores. Como cada ordenador tiene un código máquina distinto, los programas escritos en código máquina sólo funcionan en el ordenador específico para el cual están escritos. z Segunda Generación, Lenguaje Ensamblador: Son lenguajes de programación de bajo nivel que permiten usar abreviaciones o mnemónicos para las instrucciones de código máquina. Aunque así es más fácil realizar programas que en código máquina directamente aún es una tarea complicada. Ya que un ordenador sólo entiende código máquina se necesita un traductor simple para convertir el lenguaje ensamblador en código máquina. z Tercera Generación, Lenguajes de Alto Nivel: Es un lenguaje con construcciones similares al lenguaje natural (típicamente al inglés) que permite crear programas (aplicaciones) complejas y relativamente sencillas de mantener y modificar. Un programa en un lenguaje de alto nivel no es entendible directamente por el ordenador. Un compilador es un programa traductor que acepta un programa en un lenguaje de alto nivel (típicamente en uno o varios archivos de disco) y produce el código máquina entendible por un ordenador específico en otro archivo de disco. Posteriormente el ordenador ya es capaz de ejecutar el archivo producido por el proceso de compilación tantas veces como se quiera. Un intérprete es un programa que acepta un programa en un lenguaje de alto nivel, lo compila y lo ejecuta inmediatamente sin generar un archivo con el programa en código máquina. Posteriores ejecuciones del programa requieren que todo el proceso se repita. Los compiladores e intérpretes son más complejos que los traductores simples ya que una instrucción de un lenguaje de alto nivel suele generar varias (a veces cientos) de instrucciones de código máquina. Los lenguajes de tercera generación son los más usados actualmente y se les denomina en muchos entornos lenguajes procedimentales, ya que se suelen agrupar conjuntos de instrucciones en procedimientos o funciones. z Cuarta Generación, Lenguajes de Muy Alto Nivel: también denominados 4GL (4th http://www.efdeportes.com/efd33a/informa.htm 22/02/2005
Lecturas: Educación Física y Deportes, Revista Digital Página 3 de 6 Generation Languages). Los lenguajes 4GL son mucho más orientados al usuario que los lenguajes de generaciones anteriores, y los programas se desarrollan especificando instrucciones muy próximas al lenguaje humano. Típicamente los lenguajes 4GL también se denominan lenguajes no procedimentales, ya que los programadores simplemente especifican qué es lo que quieren que el ordenador realice y no cómo. Estos lenguajes se utilizan en ámbitos altamente especializados o de investigación. z Quinta Generación, Lenguajes Naturales: Existen lenguajes naturales de dos tipos. Por un lado están los lenguajes humanos: el español, inglés, etc. Por otro lado están los lenguajes de programación de quinta generación que usan un lenguaje humano para ofrecer una relación con el ordenador más intuitiva. Los lenguajes naturales de quinta generación están todavía en su infancia, y actualmente puede considerarse que están más cerca de los lenguajes 4GL que de los lenguajes humanos. Como se puede observar, los compiladores (intérpretes, traductores) son una pieza fundamental para el trabajo del programador, ya que son los que permiten obtener código máquina directamente ejecutable de un programa escrito en un lenguaje de más alto nivel. Las tecnologías de compilación constituyen una parte muy importante de la evolución de los lenguajes de programación. Según los lenguajes pertenecen a generaciones más avanzadas, se requieren compilados más complejos. Un aspecto muy importante de los compiladores es la idea de portabilidad, que permite producir programas para distintos tipos de ordenadores a partir de un mismo programa en algún lenguaje de alto nivel. Por ejemplo, si tenemos un programa en el lenguaje C, y utilizamos el compilador de C para PC, entonces podremos generar el programa en código máquina para PC con Windows y por tanto ejecutar el programa en un PC. Si, con el mismo programa en C, utilizamos el compilador para un ordenador UNIX de HP entonces obtendremos un ejecutable para esa máquina. Para que esto sea posible es necesario que nuestros programas no utilicen funciones particulares a ninguna máquina. En muchas ocasiones es imposible evitar usar este tipo de funciones. 2.1. Paradigmas de Programación Un paradigma es un conjunto de principios generales que un programador ha de seguir para desarrollar un programa. Cada lenguaje de programación permite al programador seguir un paradigma determinado, por tanto los lenguajes de programación se pueden también clasificar según el paradigma que siguen. Los paradigmas de programación definen cómo se organizan los diferentes elementos de un programa, como esos elementos interactúan entre ellos, etc. Actualmente, los paradigmas de programación más comúnmente usados son los siguientes: 1. Programación Estructurada: Postula el principio de división de un programa en unidades algorítmicas más pequeñas llamadas funciones o procedimientos. Una vez definidos, el programador puede invocar a un procedimiento desde otro. Típicamente un programa estructurado se realiza diseñando primeramente un conjunto de estructuras de datos, y posteriormente un conjunto de algoritmos (procedimientos) que actúan sobre esas estructuras de datos. Por ejemplo, si queremos desarrollar un programa para calcular la media de diversos conjuntos de variables, el programador desarrolla un procedimiento al que llama media donde implementa el algoritmo mediante el cual se calcula la media para cualquier conjunto de variables. Posteriormente invoca a ese procedimiento por cada conjunto de variables de los cuales quiera calcular la media. Algunos lenguajes que siguen el paradigma de la programación estructurada son el C, Pascal, Basic, Fortran, Cobol, etc. 2. Programación Orientada a Objeto: Aunque la programación estructurada es un paradigma que se ha usado durante mucho tiempo y aún se usa en la actualidad, existe un límite en la complejidad de los programas que se pueden realizar manteniendo los costes de mantenimiento y modificación de los programas razonablemente bajos. Es otras palabras, modificar un programa complejo en Pascal o COBOL puede ser una tarea altamente costosa en términos de tiempo. Para sobrepasar estos problemas se creó el http://www.efdeportes.com/efd33a/informa.htm 22/02/2005
Lecturas: Educación Física y Deportes, Revista Digital Página 4 de 6 paradigma de la programación orientada a objetos, que postula la división de un programa en unidades autocontenidas llamadas objetos. A diferencia de los procedimientos que contienen sólo algoritmos y los datos sobre los que actúan están aparte, un objeto contiene un conjunto de algoritmos junto con los datos sobre los que actúan. De esta manera cuando un programador invoca algoritmos en un objeto, no necesita saber qué tipo de datos el objeto maneja de forma interna. Además los objetos pueden ser organizados en jerarquías, de forma unos objetos pueden heredar datos y algoritmos de otros objetos. Con esto lo que se consigue es que la organización de un programa orientado a objetos sea más modular y rica que la organización de un programa estructurado, con lo que la arquitectura de los programas complejos puede ser acomodada a cambios más fácilmente. 2.2. Principales Lenguajes de Programación Como mencionamos, actualmente la mayoría de los programas realizados actualmente son implementados usando lenguajes de programación de tercera generación. La utilidad y utilización de estos lenguajes no depende sólo de su diseño sino también del tipo de aplicaciones que se pueden crear con ellos, las herramientas disponibles (librerías, herramientas de programación, etc.) Actualmente los lenguajes más utilizados son el C y Java, por distintas razones. La siguiente lista también contiene lenguajes que fueron utilizados muy extensamente en el pasado y que aún se siguen utilizando por motivos educaciones, o bien porque las aplicaciones creadas con ellos aún están en funcionamiento. Diferentes lenguajes están orientados para diferentes entornos y finalidades, aunque cualquiera de ellos es lo suficientemente general para ser utilizado en un amplio espectro de aplicaciones. 1. C: Desarrollado por los Laboratorios Bell, C es un lenguaje estructurado compilado de propósito general que funciona en una gran variedad de computadores y por tanto es portable entre ellos. Es decir, existen compiladores de C para casi todos los tipos de maquinas existentes en la actualidad. El lenguaje C es muy adecuado para escribir multitud de tipos de programas: gestores de bases de datos, procesadores de texto, software comercial, juegos, robótica, gráficos, etc. y de hecho la mayoría del software disponible actualmente está realizado en C. Sus ventajas principales son: { Los compiladores de C han sido altamente probados y desarrollados para casi todos los tipos de ordenadores. { Tiene un alto grado de portabilidad. Los programas en C pueden ser compilados en una gran variedad de ordenadores haciendo muy pocos cambios. { Es muy rápido y eficiente. Los compiladores de C suelen estar muy bien optimizados y producen código máquina muy rápido. Por otro lado, C suele ser difícil de aprender y no suele ser el primer lenguaje que se enseña a quien entra en el mundo de la programación. Además, es muy conciso, lo que a veces dificulta seguir y entender los programas hechos por otros. 2. BASIC: Es un lenguaje simple que fue diseñado con motivos educacionales más que prácticos. Es muy sencillo e intuitivo y algunas extensiones actuales son muy populares y utilizadas (por ejemplo, Visual Basic de Microsoft). 3. Pascal: Al igual que el BASIC es un lenguaje estructurado sencillo pero permite la creación de programas relativamente complejos ya que contiene (sin necesidad de ampliaciones) las estructuras básicas para organizar el código. 4. FORTRAN: Desarrollado en 1954 por IBM, fue prácticamente el primer lenguaje estructurado de alto nivel. Originalmente fue diseñado para implementar fórmulas y cálculos matemáticos complejos y actualmente aún está en uso en entornos científicos, matemáticos o de ingenierías. http://www.efdeportes.com/efd33a/informa.htm 22/02/2005
Lecturas: Educación Física y Deportes, Revista Digital Página 5 de 6 5. COBOL: Adoptado formalmente en 1960 como resultado de un esfuerzo conjunto de diferentes organizaciones públicas y privadas, ha sido el lenguaje estructurado más usado en aplicaciones comerciales hasta la aparición de los ordenadores personales. Actualmente, aún hay una gran cantidad de aplicaciones programadas en COBOL. 6. LISP: Es un lenguaje usado principalmente para realizar programas en el ámbito de la inteligencia artificial. Fue desarrollado en 1958 en el MIT y suele ser usado en la implementación de sistemas expertos. 7. DBASE: Es un lenguaje similar al Pascal, pero con funciones para manipular directamente las bases de datos creadas con el sistema de base de datos conocido como DBASE. 8. Java: Es un lenguaje de programación orientado a objetos creado recientemente por Sun Microsystems. Su estructura es parecida a la del C pero evitando sus desventajas. Es relativamente sencillo de aprender y además es un lenguaje que puede ser interpretado por los navegadores de Internet, con lo que un programador puede publicar su programa en un URL convenido y cualquier usuario de Internet puede ejecutarlo en su ordenador a través del navegador. 9. C++: Es la evolución del C en un lenguaje orientado a objetos. Comparte las ventajas y desventajas del C, pero sigue los principios de la programación orientada a objetos. Este trabajo pretende simplemente dotar al lector de unos criterios mínimos en algunas de las tecnologías usadas actualmente en el tratamiento de problemas científicos. Para cada paradigma aquí presentado damos unos conceptos generales sobre el mismo y unos principios básicos de funcionamiento. Con esto esperamos dar a conocer distintos aspectos que se pueden abordar con cada uno de ellos, así como el coste y conocimiento que esto supone. Se recomienda acudir a las referencias para más detalles sobre el funcionamiento y conveniencia de cada paradigma. 2.3. Algunas Tecnologías Adicionales En principio, con un lenguaje de programación de propósito general (como C o Java) y su correspondiente compilador o intérprete un programador puede desarrollar cualquier tipo de aplicación. No obstante, aplicaciones de un mismo tipo suelen tener las mismas necesidades, restricciones y requerimientos. Por ejemplo, cualquier aplicación gráfica abrirá ventanas, construirá botones, cuadros de texto, gráficos, etc. con lo que es deseable extender el lenguaje utilizado con procedimientos u objetos primitivos que permiten realizar esas funciones, evitando que el programador las programe cada vez que se crea una aplicación gráfica. De esta manera existen extensiones y aplicaciones que sistematizan la creación de programas y sistemas en general para determinados dominios. En cierta manera, estas aplicaciones aíslan al usuario final de los detalles de la implementación de los mismos. A continuación se exponen algunas de estas tecnologías: 2.3.1. Sistemas Expertos ¿Qué es un Sistema Experto? Un sistema experto es un programa de ordenador que le permite a éste realizar o aconsejar acerca de la toma de decisiones no estructuradas o semiestructuradas que son propias de humanos con conocimientos y experiencia en un dominio específico. Los sistemas expertos operan normalmente como consultores expertos que ofrecen su consejo a humanos en áreas específicas. Algunos ejemplos de decisiones basadas en los sistemas expertos son los diagnósticos de enfermedades bacteriológicas en pacientes, detección de fallos en el funcionamiento eléctrico en locomotoras diesel, configuraciones de sistemas y redes de ordenadores basados en las estimaciones de trabajo y necesidades de los usuarios, etc.. Como podemos observar los sistemas expertos explotan el conocimiento específico acerca de un http://www.efdeportes.com/efd33a/informa.htm 22/02/2005
Lecturas: Educación Física y Deportes, Revista Digital Página 6 de 6 dominio para realizar inferencias complejas que ayudan al humano en el análisis y proceso de una situación concreta. Arquitectura de un Sistema Experto La arquitectura de un sistema experto evoca en cierta manera las estructuras y procesos cognitivos en el comportamiento humano. El primer componente de un experto humano es una memoria a largo plazo de hechos, estructuras y reglas que representan el conocimiento del experto en un dominio concreto. La estructura análoga en un sistema experto se denomina base de conocimiento. Luego, un experto humano, posee unos métodos de razonamientos apropiados a su dominio de forma que puede extraer de su conocimiento la información adecuada para aplicarla en la resolución de un problema dado. Lecturas: Educación Física y Deportes · http://www.efdeportes.com · Año 6 · Nº 33 sigue  Recomienda este sitio http://www.efdeportes.com/efd33a/informa.htm 22/02/2005
Lecturas: Educación Física y Deportes, Revista Digital Página 1 de 6 ¿Qué es la informática aplicada a las ciencias del deporte? Antonio Hernández Mendo y Raúl Ramos Pollán http://www.efdeportes.com/ Revista Digital - Buenos Aires - Año 6 - N° 33 - Marzo de 2001 2/8 Análogamente, un sistema experto posee un motor de inferencia que es el que se encarga de implementar las funciones de razonamiento. En esta analogía el proceso realizado por el motor de inferencia imita ciertos aspectos del pensamiento, mientras que el conocimiento es almacenado en ultima instancia en la base de conocimientos. En cierta manera la diferencia entre el motor de inferencia y la base de conocimiento en un sistema experto es la misma que la distinción entre los métodos de razonamiento de propósito general y el conocimiento específico a cada dominio que se ha construído en el campo de la inteligencia artificial. El conocimiento general sobre la manera de resolver los problemas se refleja en la manera de operar del motor de inferencia. De esta manera un motor de inferencia puede ser usado para razonar sobre distintas bases de conocimiento, siempre que el conocimiento esté codificado según las mismas reglas. Además de estos dos elementos, el entorno de un sistema experto incluye varias herramientas para asistir a las personas que construyen o utilizan el sistema experto. A la hora de construir, el desarrollador utiliza herramientas para adquirir, codificar y limpiar el conocimiento con el que se alimenta a la base de conocimientos. Una vez que el sistema experto ha sido desarrollado los usuarios se valen de una serie de herramientas e interfaces para interactuar, consultar y actualizar el sistema experto. En muchas ocasiones los sistemas expertos pueden ser integrados en entornos de tiempo real, grandes bases de datos o ser parte de aplicaciones más grandes. El interfaz de usuario de un sistema experto permite que los usuarios pregunten al sistema, le proporcionen información, reciban consejo, etc. Dentro de las limitaciones de los computadores, este interfaz busca en alguna manera suministrar el mismo conjunto de facilidades de comunicación que un experto humano. Del mismo modo que un experto humano explica sus decisiones y recomendaciones, los sistemas expertos también necesitan justificar y explicar sus acciones. La parte de un sistema experto que genera estas justificaciones se denomina herramienta de explicación. Esta herramienta no sólo satisface la necesidad social de reasegurar la confianza del usuario final en el sistema, sino que también, desde el punto de vista técnico, le sirve al desarrollador para realizar un seguimiento del sistema experto y conocer la validez del conocimiento introducido en la base del conocimiento. 2.3.2. Algoritmos Genéticos ¿Qué son los algoritmos genéticos? Los algoritmos genéticos (GAs) fueron inventados para imitar algunos procesos observados en los mecanismos de evolución natural. Mucha gente, incluidos biólogos, se sorprenden del hecho de que la vida y su complejidad podrían haber evolucionado en un periodo de tiempo relativamente corto según los registros fósiles. La idea de los GAs es utilizar los principios del concepto de evolución para resolver problemas de optimización. El padre de los GAs es John Holland que los inventó al principio de los 70. http://www.efdeportes.com/efd33a/informa1.htm 22/02/2005
Lecturas: Educación Física y Deportes, Revista Digital Página 2 de 6 Los GAs son algoritmos adaptativos de búsqueda heurística basados en los principios evolutivos. Como tales representan un aprovechamiento inteligente de las búsquedas aleatorias usadas para resolver problemas de optimización. Aunque tienen un componente aleatorio, los GAs no tienen un comportamiento aleatorio, sino que explotan la información histórica (evolutiva) para dirigir un proceso de búsqueda hacia regiones del espacio de búsqueda con más posibilidades de optimizar un problema. Los principios básicos de funcionamiento de los GAs se basan en la creación de una población de individuos (soluciones a un problema), selección de los más adaptados (soluciones más cercanas al óptimo) y recombinación de los individuos más adaptados para crear una nueva población (integración de soluciones). En muchos casos, los algoritmos genéticos ofrecen resultados más satisfactorios que otras técnicas usadas en Inteligencia Artificial. Esto es debido a que son mucho más robustos (mayor tolerancia en los datos de entrada o ruido), y ofrecen un método generalmente eficaz en la exploración de espacios de búsqueda complejos (alta dimensionalidad). ¿Cómo funcionan? Los GAs simulan el proceso de supervivencia de los individuos mejor adaptados en generaciones consecutivas para resolver un problema. Cada generación consiste en una población de cadenas de caracteres o de bits que representan una solución (numérica o codificada) a un problema dado y que evocan a las cadenas de DNA que observamos en los cromosomas. Cada individuo (cadena de bits) representa un punto en un espacio de búsqueda y por tanto una posible solución. Cada población es sometida al proceso de evolución. Los principios evolutivos que se pretenden simular son los siguientes: z Los individuos en una población compiten por los recursos disponibles y se reproducen. z Los individuos más adaptados en cada competición producen más descendientes que los individuos menos adaptados. z La información genética de los individuos mejor adaptados se propaga en generaciones sucesivas de forma que dos padres "buenos" producirán en algunas casos descendientes que son mejor adaptados que ellos mismos. z De esta manera cada generación sucesiva estará mejor adaptada a su entorno. En términos generales, el espacio de búsqueda de un problema consiste en el conjunto de todas las posibles soluciones al problema. De todas esas posibles soluciones solo una, o unas pocas son las que optimizan el problema según algún criterio dado. En GAs se empieza por tanto por obtener un método de codificación de las posibles soluciones en cadenas de caracteres sobre un determinado alfabeto (suele ser el alfabeto binario). Luego se define una función de evaluación que a cada individuo (posible solución) asigna un valor de eficacia o adaptación, de forma que se pueden comparar distintos individuos para saber cual esta mejor adaptado. Esta función, representa el entorno en al cual los individuos han de adaptarse. Una vez definido esto, se comienza por una población de posibles soluciones (normalmente generada de manera aleatoria) y se repite el siguiente proceso: z Se le aplica la función de evaluación a cada individuo, de manera que se obtiene una medida objetiva de la capacidad de adaptación de cada individuo a esa función. z Se selecciona una porción de la población basada en la medida anterior. Por ejemplo, a cada individuo se le asigna una probabilidad proporcional a su medida de adaptación y se seleccionan individuos según esa probabilidad. De esta manera se seleccionarán los individuos que estén mejor adaptados y ocasionalmente también se seleccionará algún individuo con una adaptación menor. Esto se suele hacer para no perder la opción de evitar máximos locales en la función de evaluación. z Los individuos seleccionados se reproducen entre ellos para generar una nueva http://www.efdeportes.com/efd33a/informa1.htm 22/02/2005
Lecturas: Educación Física y Deportes, Revista Digital Página 3 de 6 población. Hay muchos tipos de operadores para realizar este paso. Entre ellos los más comunes son: el cruce, en el que las cadenas de bits se intercambian porciones y la mutación, en el que de forma aleatoria se cambian de valor algunos bits de algunos individuos. Como se puede observar, el cruce corresponde a la recombinación de información de las posibles soluciones, y la mutación corresponde a la introducción de nueva información en la población. De esta manera se producen nuevas generaciones de soluciones que contienen, por lo general, más genes buenos que una solución típica de la generación anterior. Cada generación contendrá más y mejores soluciones parciales que las generaciones previas. En algún momento el proceso alcanza el máximo deseado o algún valor que hace que las sucesivas generaciones no mejoren las anteriores. Como se puede observar, los GAs son un buen método para buscar las soluciones a un problema cuando no se tiene mucha información acerca del dominio o cuando no se conoce un método eficaz de exploración del espacio de soluciones. Por supuesto los GAs no son métodos infalibles para la resolución de problemas, ni los más eficaces en muchos casos, pero son muy válidos en entornos en los que los espacios de búsquedas son complejos. También, es importante observar que no existe ningún teorema de convergencia de los GAs y por tanto no es posible saber a priori si encontrarán una solución en un caso específico. Ni siquiera, es posible asegurar en muchos casos si la solución que proporcionan son máximos globales o simplemente máximos locales. 2.3.3. Análisis y clasificación automática de datos ¿Qué es el aprendizaje automático y la minería de datos? En las últimas décadas investigadores provenientes de distintas disciplinas, desde la Psicología hasta la inteligencia artificial, han intentado desarrollar modelos generales de muchos de los procesos cognitivos que realizan los humanos, especialmente el aprendizaje. Muchos de estos esfuerzos generaron ideas y aplicaciones interesantes no sólo desde el punto de vista teórico sino también desde las perspectivas tecnológicas y prácticas. En particular, los avances en la representación del conocimiento y las nociones y técnicas de aprendizaje automático abren muchas posibilidades en el campo de la representación y análisis de datos. Basados en estos conceptos y sin olvidar los métodos estadísticos tradicionales de análisis de datos, en la última década han surgido nuevos métodos alternativos aplicables en estos campos. Muchos de estos métodos comparten un uso intensivo de los recursos computacionales disponibles hoy en día. Evidentemente, esto no era posible hace algunas décadas. El planteamiento general del problema que se aborda en esta sección es el siguiente: partiendo de un conjunto (amplio) de datos, las metodologías automáticas permiten desarrollar representaciones convenientes de las estructuras de los datos. El conocimiento adquirido puede ser entonces aplicado en otros conjuntos de datos bajo la hipótesis que comparten características (por ejemplo, el origen) similares. En muchas ocasiones (y más aún con la ayuda de las computadoras) las metodologías de adquisición de datos proporcionan grandes cantidades de datos (que no información) generadas por muchas clases de eventos que se monitorizan. Desde el punto de vista del investigador esos datos son imprescindibles porque son el origen último de su tarea, pero en sí son inútiles si no es posible extraer informaciones de ellos (tales como correlaciones escondidas, particiones, determinación de variables significativas, etc.). De esta forma el investigador ha de tener los medios para transformar los datos brutos en conocimiento. La siguiente figura representa este proceso automático: Con los medios actuales, la cantidad de datos abruman en muchas ocasiones al investigador e inutilizan los métodos manuales tradicionales de extracción de información. Ejemplo de esto lo dan la física de partículas (experimentos que general mas de 1 Megabyte de información por http://www.efdeportes.com/efd33a/informa1.htm 22/02/2005
Lecturas: Educación Física y Deportes, Revista Digital Página 4 de 6 segundo), el análisis de mercados comerciales (cantidad de empresas, valores y sectores comerciales), etc. Dentro de las técnicas de aprendizaje automático, se denomina minería de datos a las técnicas que permiten obtener las mejores representaciones de los datos, dados unos criterios específicos. En cierta parte, la idea es similar a los procesos de descubrimiento que se realizan en el ámbito del método científico. Por eso, estas técnicas reciben a veces el nombre de descubrimiento automático. ¿Cómo funciona? En sí la minería de datos no es más que una metodología de resolución de problemas que trata de encontrar descripciones matemáticas o lógicas de patrones y regularidades de una cierta complejidad en conjuntos de datos. Hay dos maneras principales de realizar este proceso. 1. Por un lado el aprendizaje supervisado, las regularidades en los datos se encuentran explorando casos conocidos que se presume que contienen o implican los patrones bien definidos. Una vez se realiza esta exploración inicial y se establecen los patrones relevantes, se realiza un proceso de generalización para su aplicabilidad con cualquier conjunto de datos. Por otro lado, el aprendizaje no supervisado encuentra regularidades en los datos en base a algunos caracterizaciones lógicas de carácter general. Podemos, por tanto, representar la minería de datos como un proceso que puede ser bien sintético (generalizando a partir de algunos casos conocidos) o analítico (generando descripciones de alto nivel). La minería de datos permite producir conocimiento científico en áreas que aún no son propicias para las aproximaciones tradicionales. De esta forma los algoritmos de optimización y aprendizaje se pueden usar para producir modelos de datos experimentales en áreas en las que no existen explicaciones ni modelos teóricos previos. La noción básica del aprendizaje supervisado es la de un clasificador, que es un algoritmo o sistema capaz de discriminar datos entre un conjunto de posibles categorías. Los clasificadores se entrenan y se prueba con un conjunto de casos conocidos y crean sus propias estructuras y reglas internas a medida que se les presentan los casos conocidos. De esta manera, y con un número suficiente de casos conocidos, el clasificador se convierte en un generalizador y es capaz de clasificar correctamente datos provenientes de casos desconocidos. Por tanto la utilización del aprendizaje supervisado se basa en dos pasos: { La creación de un conjunto determinado de categorías en las cuales clasificar los datos { La presentación de pares [dato, clasificación] que corresponden a los casos conocidos. Durante este proceso el clasificador va formándose sus criterios internos de clasificación. Esto es el entrenamiento. { La presentación de datos ya generalizados proporciona la clasificación automática en base a los criterios internos adquiridos en la fase anterior. Esto es la operación. 2. Por el contrario, el aprendizaje no supervisado no parte de criterios específicos preestablecidos (como lo son el conjunto de categorías en las que se dividen los casos conocidos), sino que parte de descripciones generales del tipo de patrones que reconocer en los datos. Por ejemplo, mientras que en el aprendizaje supervisado lo que el investigador determina a priori es: existen las categorías A, B y C, con este significado; en el aprendizaje no supervisado el investigador únicamente dice: existirán entre 4 y 6 categorías y el clasificador se encarga de agrupar los datos. http://www.efdeportes.com/efd33a/informa1.htm 22/02/2005
Lecturas: Educación Física y Deportes, Revista Digital Página 5 de 6 La implementación final de los clasificadores se basa en muchas ocasiones en redes de neuronas artificiales. Las redes de neuronas artificiales están compuestas por elementos que siguen los principios de funcionamiento de las neuronas naturales: reciben varios valores de entrada y en base a esos valores ofrecen un único valor de salida (encendido o apagado). De esta forma se construyen redes de neuronas conectando la salida de unas neuronas a las entradas de otras. La redes pueden adquirir diversas configuraciones, pero generalmente un conjunto de neuronas de la forma siguiente: En donde hay una serie de neuronas que reciben los datos de entrada y otras neuronas cuyo estado de activación conforma el dato de salida. En algunas configuraciones existen capas organizadas de neuronas (aparte de la capa de entrada y de salida), en otras existen ciclos, etc. Cada conexión entre dos neuronas tiene unas características específicas que determinan la influencia en la neurona a la que llega la conexión. Un aprendizaje supervisado proporciona valores de entrada, calcula el error en la salida y mediante un algoritmo corrector cambia las características de las conexiones con cada par [dato, clasificación] que se le presenta. Un aprendizaje no supervisado cambia las características de las conexiones según se va usando la red, por ejemplo, reforzando las conexiones mas usadas. Es importante observar que el origen de las redes neuronales es imitar el funcionamiento básico de las neuronas naturales, y se desconoce bastante el porqué fundamental del comportamiento de las mismas. Experimentando con ellas se ha descubierto que funcionan muy bien como discriminadoras de información, pero sin saber exactamente cómo deducir ese comportamiento global del funcionamiento particular de cada neurona del conjunto. Desde el punto de vista práctico y dependiendo de la envergadura de cada problema, con unos pocos conocimientos de programación es posible construir redes neuronales relativamente sencillas y probar su funcionamiento directamente. También existen herramientas con diversos grados de sofisticación para diseñar, entrenar y explotar redes neuronales. También existen herramientas sofisticadas que implementan un contexto entero de aprendizaje automático, con los conceptos de clasificadores y generalizadores, y en los que las redes neuronales no son más que una parte específica de su diseño. En cualquier caso, es importante saber ser consciente de la base de estas ideas, para poder adquirir criterios válidos en cuanto a sus limitaciones y posibilidades. 2.3.4. Simulaciones y Realidad Virtual ¿Qué es la realidad virtual? El término Realidad Virtual es usado por mucha gente con distintos significados. Para algunos no es más que un casco con una pantalla, un guante sensible y sonido estéreo y para algunos otros son los efectos especiales que se ven en una película. Una definición más objetiva sin embargo, es la que se ofrece en [5] y es la siguiente: La Realidad Virtual es un modo para que los humanos podamos ver, manipular e interactuar con datos extremadamente complejos y con los ordenadores. En seguida vemos la conexión con el resto de los conceptos que hemos estado tratando en este capítulo. La parte de la definición que habla de la visualización se refiere al ordenador que genera información visual, auditiva o en algunos otros sentidos sobre un mundo dentro del ordenador. Este mundo puede ser un modelo arquitectónico, una simulación científica, una vista en una base de datos, etc. El usuario puede interactuar con el mundo y manipular los objetos de los que está compuesto ese mundo. Estos objetos pueden ser representaciones de entidades http://www.efdeportes.com/efd33a/informa1.htm 22/02/2005
Lecturas: Educación Física y Deportes, Revista Digital Página 6 de 6 físicas (por ejemplo, un corredor en acción o una simulación de vuelo) o entidades abstractas (conceptos y relaciones científicas, tendencias de mercados, etc.) Lo importante es que conforma un medio por el cual se facilita la interacción con conjuntos de datos cuyas relaciones son complejas y no del todo entendibles de manera inmediata Componentes de un sistema de realidad virtual Según los requerimientos y el entorno en el que funciona un sistema de realidad virtual cambian las exigencias de eficacia de cada una de las partes que a continuación describimos. Por ejemplo, si creamos una simulación para estudiar la aerodinámica de una posición determinada de un ciclista lo importante es la exactitud del modelo y la adaptación de la simulación a las variables que tomamos como criterios. La velocidad de la simulación, aunque muy conveniente, no es una característica fundamental del estudio. Pero si por ejemplo, creamos una simulación para entrenar a un corredor a adquirir un cierto reflejo, lo importante es que la simulación sea en tiempo real. Con esto en mente, las principales partes de un sistema de realidad virtual son: Lecturas: Educación Física y Deportes · http://www.efdeportes.com · Año 6 · Nº 33 sigue  Recomienda este sitio http://www.efdeportes.com/efd33a/informa1.htm 22/02/2005
Lecturas: Educación Física y Deportes, Revista Digital Página 1 de 8 ¿Qué es la informática aplicada a las ciencias del deporte? Antonio Hernández Mendo y Raúl Ramos Pollán http://www.efdeportes.com/ Revista Digital - Buenos Aires - Año 6 - N° 33 - Marzo de 2001 3/8 1. Procesos de entrada de datos: que se encargan de hacer llegar la información pertinente al ordenador. Algunos ejemplo son el guante sensible, sensores de posicionamiento del cuerpo, sistemas de reconocimiento de voz, etc. 2. Procesos de simulación. La parte más importante de un sistema de realidad virtual son los procesos de simulación. Estos son los procesos que implementan el modelo del mundo (virtual o simulado) y procesan los datos de entrada acorde a ese modelo del mundo. Por ejemplo, en la simulación de un corredor, los procesos de simulación han de implementar una cierta parte de las leyes físicas que rigen el movimiento del corredor entre las que se encuentran las leyes de la gravedad, leyes de apoyo, etc. En general el proceso de simulación divide el tiempo en instantes discretos. En cada instante se genera una simulación (visual y auditiva en la mayor parte de los casos) sobre el estado del mundo virtual en ese instante y se actualiza ese estado que generará la simulación del siguiente instante de tiempo. [6] y [7] muestran importantes ejemplos de procesos de simulación en este contexto. 3. Procesos de salida de datos. Como resultado de cada simulación se suelen generan una serie de estímulos de salida que se proyectan en los dispositivos adecuados: pantalla, casco 3D, aparatos mecánicos, etc. Es importante observar, que aunque popularmente se asocia el concepto de realidad virtual a aplicaciones espectaculares y complejas, el concepto de simulación es más general y seguramente más aplicable en los dominios que nos interesan. Los procesos descritos anteriormente se aplican a cualquier proceso de simulación, sea proyectado imágenes casi reales sea controlando la temperatura de la habitación en la que un atleta está corriendo. El concepto principal es el de la representación física y familiar de datos para su asimilación por parte de algún receptor. En algunas ocasiones ese receptor puede ser el científico que manipula una molécula virtual en 3D, en otras puede ser un piloto en su simulación, etc. Pero en todas esas ocasiones el computador construye una representación adecuada de los datos que se muestran una situación determinada en un entorno concreto. 3. La revolución técnica Esta revolución técnica, que hemos sintetizado anteriormente, ha afectado, entre otras, a una de las funciones fundamentales y básicas de la ciencia como es la compartición de los resultados y las experiencias. Para poder darle la relevancia que esto tiene baste decir que autores como Karl Pribam o Popper consideran que los resultados del científico no tienen validez hasta que no se demuestra su capacidad de ser replicados. En este sentido, es de vital importancia el que los resultados se hagan públicos y que la comunidad científica tenga acceso a ellos. Conocer el trabajo de la investigación en nuestro país y en el resto del mundo es una de las labores de los investigadores y de los estudiosos en general. Si el valor científico de los http://www.efdeportes.com/efd33a/informa2.htm 22/02/2005
Lecturas: Educación Física y Deportes, Revista Digital Página 2 de 8 datos está condicionado a que se hagan públicos en fuentes de credibilidad para la comunidad científica, no hace falta señalar el valor de las fuentes de documentación. De hecho, el dinamismo y universalización de las fuentes de documentación científica puede ser una de las características del avance científico en las últimas décadas. Por un lado, la literatura científica se duplica en un plazo 10-15 años, y por otro lado, los nuevos sistemas informáticos de almacenamiento, búsqueda y recopilación de documentación científica hacen que sea cada vez más fácil acceder a esa información. Todo esto es esencial, ya que el avance científico depende en gran parte de una buena comunicación entre los investigadores de todo el mundo. Además, hace menos importantes las diferencias entre universidades grandes y universidades humildes, ya que no hace falta poseer una costosa biblioteca para tener acceso básico a la información de interés. El hecho es que las ventajas citadas tiene como contrapartida el que un investigador se puede encontrar con un exceso de información y con dificultades en la selección cualitativa de la misma. Las bases informatizadas de datos proporcionan la posibilidad de realizar búsquedas con referencias cruzadas y descriptores muy específicos, no obstante, hay un aspecto cualitativo que depende en gran medida de la formación especializada de cada investigador. A continuación indicamos en diferentes apartados algunas de las principales fuentes de documentación e información documental que pueden ser de utilidad. Hay fuentes documentales primarias, como las revistas, textos, etc., y fuentes secundarias, revisiones, índices de citas, sistemas de búsqueda, etc. 3.1. Revistas sobre informática en relación a las ciencias sociales y del deporte Constituyen probablemente el principal medio de información y comunicación científica. A pesar del retraso que en algunos casos se produce en la publicación de trabajos de investigación, suele ser la fuente que proporciona información más actualizada. A continuación presentamos una relación de revistas que pretende ser una guía general que se aleje de las revistas de divulgación. Pretendemos recoger, sin carácter de exhaustividad, todas aquellas revistas de impacto que están dedicadas en su totalidad o parcialmente a la relación entre informática y las ciencias sociales: 1. Behavior Research Methods, Instruments and Computers 2. Biometrics 3. British Journal of Mathematical and Statistical Psychology 4. Computers and Human Behavior 5. Computer Language 6. Estadística Española 7. Journal of Mathematical Psychology 8. Psicothema 9. Psychometrika 10. Quality and Quantity: European-American Journal of Metodology 11. Educational Technology http://www.efdeportes.com/efd33a/informa2.htm 22/02/2005
Lecturas: Educación Física y Deportes, Revista Digital Página 3 de 8 12. Applied Psychological Measurement 13. Educational and Psychological Measurement 14. Journal of Educational Measurement 15. Psicológica De igual manera con aquellas guías e índices, muchos de ellos informatizados, donde se encuentran con cierta frecuencia referencias sobre informática aplicada a las Ciencias Sociales y especialmente a las Ciencias del Deporte. 1. Boletín de Información y Documentación de Unisport 2. Boletín de Sumarios. Facultad de Educación Física de Las Palmas. 3. Boletín de Sumarios. Instituto Nacional de Educación Física de Valencia. 4. Bolleti de Sumaris. INEF-Cataluña. 5. Catalog of Selected Documents in Psychology. American Psychologist Association. Washington, USA. 6. Current Contents: Life Sciencies. Institute for Scientific Information. Philadelphia, USA. 7. Current Contents: Clinical Medicine. Institute for Scientific Information. Philadelphia, USA. 8. Current Contents: Social and Behavioral Sciencies. Institute for Scientific Information. Philadelphia, USA. 9. Current Index Journal Education. Institute for Scientific Information. Philadelphia, USA. 10. Index to Scientific Reviews. Institute for Scientific Information. Philadelphia, USA. 11. Journals in Psychology. A Resources Listing for Authors. 40 ed. en 1993, American Psychological Association. Washington, USA. 12. Psychological Abstracts. American Psychological Association . Washington, USA. 13. Psychological Reader's Guide. Institute de Documentation Scientifique. Suiza. 14. Psychological Record. Graneville.Ohio, USA. 15. Science Citation Index. Institute for Scientific Information. Philadelphia, USA. 16. Social Science Citation Index. Institute for Scientific Information. Philadelphia, USA. 17. Thesaurus of Psychological Index Terms. American Psychological Association. Washington, USA. Para más información se pueden consultar los trabajos de Blanco (1983), Borchardt (1984), Fernández-Dols y Ortega (1980), Herring, (1987), Mcinnis,R.G. (1982) http://www.efdeportes.com/efd33a/informa2.htm 22/02/2005
Lecturas: Educación Física y Deportes, Revista Digital Página 4 de 8 Un aspecto importante a tener en cuenta son los Centros de documentación y bases de datos. En este apartado se relacionara los centros de producción de sistemas informatizados de datos bibliográficos que permiten búsquedas rápidas y selectivas de la información almacenada en soporte CD-ROM u "on-line". Con respecto a Centros Nacionales, podemos mencionar: 1. ICYT. Instituto de Información y Documentación de Ciencia y Tecnología, Madrid. 2. ISOC. Instituto de Información y Documentación de las Ciencias Sociales y Humanidades, Madrid. 3. IIDB. Instituto de Información y Documentación de Biomedicina, Valencia. 4. INCA. Fundación para el Desarrollo de la Función Social de las Comunicaciones, Madrid. 5. CID. Consorcio de Información y Documentación, Barcelona. 6. CNIDC. Centro Nacional de Información y Documentación Científica, Madrid. Con respecto a los centros internacionales, podemos citar las siguientes: 1. COMSERVE/CIOS. Communication Institute for Online Scholarchip, New York, USA. 2. CNRS. Centre National de la Recherche Scientifique, París, USA. 3. ISI/ISTB. Institute for Scientific Information, Philadelphia, USA. 4. NTIS. National Technical Information Service, Washintong, USA. 5. Oxford Medical Data Base, London, UK. 6. PsycINFO. Base de datos de la American Psychological Association, Washington, USA. 7. PsycLIT. Base de datos de la Psychological Abstracts Information Service, APA, Washington, USA. 8. SCISEARCH (Science Citation Index). Producido por el Institute for Scientific Information, Philadelphia, USA. 9. SPORTdiscus. SIRC (Sport Information Resource Centre), Ottawa, Canadá 10. University Microfilms International, Michigan, USA Direcciones web donde encontrar información sobre documentación deportiva y otras informaciones diversas relacionadas con el ámbito deportivo son: z http://www.cpd.us.es./sadus/ z http://www.uida.es/ z www.deportes.rcanaria.es/ z http://www.iusport.es/intro.htm z http://www.efdeportes.com http://www.efdeportes.com/efd33a/informa2.htm 22/02/2005
También puede leer