Archivos de la categoría Tareas

Especificaciones técnicas e internas del proyecto.
¿Qué tecnología utiliza?
¿Qué tipo de procesos maneja PIE?
¿Cómo se puede contribuir como programador?

Trabajo con etiquetas: relaciones al poder y algoritmos evolutivos de búsqueda

Gracias a un sistema de etiquetas bien diseñado y que puede ser compartido entre dominios, i.e., que funciona bien… si lo diseñamos bien XD podemos aplicar un verdadero enfoque práctico de algoritmos evolutivos de búsqueda.

Quiero mencionar “La Programación Evolutiva” [KOZ94, KOZ02]: se hace evolucionar una población de “programas” para resolver un problema en general. Los programas que evolucionan pueden adoptar distintas formas, aunque lo más usual es un árbol. 

Las estructuras de datos de las búsquedas que se utilizan en los sistemas de etiquetas son de tamaño variable, como el ejemplo mencionado anteriormente, los algoritmos que buscan en ellos no intentan dar solución a una instancia concreta del problema , sería como dar sólo la opción de buscar lámparas en un todo a 1€uro chino (el corte chino XD) sino de proporcionar una estrategia capaz de resolver cualquier instancia de una búsqueda: generalizar un algoritmo de búsqueda que comparte datos de distintos dominios-> etiquetas ,como no! jiasss

Sigue leyendo Trabajo con etiquetas: relaciones al poder y algoritmos evolutivos de búsqueda

Clasificación avanzada: métodos kernel y SVM ,un ejemplo práctico

Puesto que las máquinas de vectores soporte funcionan bien con conjuntos de datos de altas dimensiones, se aplican más a menudo a problemas científicos con muchos datos y otros problemas que tratan con conjuntos de datos muy complejos. Algunos ejemplos incluyen:

  1. Clasificar expresiones faciales
  2. Detectar intrusos utilizando conjuntos de datos
  3. Predecir la estructura de colaboración entre dos planes de estudios
  4. Reconocimiento de escritura
  5. Determinar el potencial de un alumno en función de sus ejercicios

El problema de estos algoritmos es que necesitan un entrenamiento para conseguir unos resultados fiables, y esto implica conceptos matemáticos que requieren muchos recursos de la máquina…

Una librería que ayuda en el proceso se llama LIBSVM , se puede descargar en http://www.csie.ntu.edu.tw/~cjlin/libsvm/, está escrito en C++ e incluye una versión en Java, sin embargo el paquete incluye un evoltorio para Python llamado svm.py, se necesita la versión compilada para la plataforma usada.

Ahora veremos un ejemplo para el caso 3 propuesto antes: predecir la estructura de colaboración entre dos planes de estudios utilizando los datos de la red social de facebook, probablemente sea una buena idea combinar datos dentro de la plataforma, provinientes de varias redes sociales, aunque nos encargaremos sólo de una para que no se nos escape de las manos.

Sigue leyendo Clasificación avanzada: métodos kernel y SVM ,un ejemplo práctico

Solucionando problemas de SVN de forma sencilla

Acabo de subir lo que llevo hecho, lo tenía en otro servidor, para solucionar el problema de tener que añadir un montón de ficheros y directorios que estaban dentro de antigüos directorios que ya fueron subidos por SVN, es decir, para hacer un “svn add” pero de forma recursiva ,podeis utilizar el siguiente comando:

svn add $(svn status | cut -s -d? -f2)

esta línea tan simple es un poco frágil pero funciona perfectamente para no tener que recorrernos todo el árbol de nuestra nueva estructura e ir haciendo los “svn add” pertinentes… :)

Primera revisión del diagrama de entidad/relación de PIE

Se ha creado con la herramienta MySQL Workbench 5.0 OSS el siguiente diagrama de Entidad/Relación, aporto además los comandos SQL para que sea compatible con cualquier servidor con mySQL 5.0.

Es una primera aproximación para guardar todos los datos necesarios.

Se puede descargar el código para MySQL aquí.

Bastante sencillo, funcional.

Cuando creamos aplicaciones web, el diagrama es bastante cambiante, no rendirse! :)

Esquema de paginación dinámica

Además de mostrar los contenidos de la plataforma mediante paginación dinámica de la Figura, que proporcionan los estándares HTML actuales, las páginas del gestor de contenidos utilizan la tecnología AJAX por lo que el lenguaje tipo script debe de estar habilitado para poder generar una correcta visualización que es cargada en segundo plano asíncronamente…

Tras el análisis de la paginación y con el diseño de la interfaz terminado gracias a los usuarios que respondieron la encuesta, el proceso es mucho más cómodo :) gracias.

Cómo entran los contribuyentes de PIE a escena

En la web del pasado eran las organizaciones las que colgaban la mayoría de los datos. En la web de hoy cada vez somo más los que modificamos la web, ya sea en forma de comentario de un blog o una entrada del muro de Facebook o un video-mensaje a un amigo,profesor,etc., i.e., la mayoría de los datos ,alrededor del 60% lo cuelgan los usuarios y según Mark Zuckerberg, el 25% del tráfico que se realiza a través de las redes sociales, unos espacios privilegiados de intercambios y de participación.

Nosotros utilizábamos la Web 1.0 como un soporte que permitía navegar de un documento a otro con una fluidez imposible en otros medios de comunicación y sin embargo la interacción no eran del todo completa, hoy en día, todos formamos parte del nuevo juego llamado Web 2.0, rompiendo todo tipo de límites o barreras internacionales, programadores de todo el mundo contribuyen en todo tipo de proyectos con nuevos módulos usando las “API” de las aplicaciones web,i.e., la máxima expresión de la interoperabilidad y la participación.

El diseño de las herramientas modulares del proyecto PIE sigue un esquema sencillo que viene detallado así:

 

Sigue leyendo Cómo entran los contribuyentes de PIE a escena

Modelo de gestión del sistema

Siempre debe de existir un claro entendimiento de la particular representación que pertenece a un sistema, gracias al servicio de control de versiones de la Forja de Rediris puede verse gráficamente a modo de línea temporal, la evolución del código, finalmente ,el sistema es consistente si se parece al siguiente diagrama.

Un esquema multidimensional como es el de una aplicación masiva de información sobre asignaturas que mantiene constancia de las similitudes entre sus rasgos es una compleja herramienta que aplica el reconocimiento mientras se está cambiando a sí misma, es decir, tiene muchas caras, debido a las complejidades colectivas, al menos en términos generales en cuanto a identificar los niveles jerárquicos de los elementos principales que han de ser analizados y reducidos antes de realizar cualquier cambio.

Múltiples elementos han de poder solaparse juntos siguiendo un patrón, un filtro, para definir la complejidad organizativa del cambio, el punto principal a tener en cuenta es que todo se sintetiza gracias al framework zenphp: cambios entre diferentes estados de la aplicación, la naturaleza de los modelos, etc.

Implementando el sistema con soporte de correcciones

Éste es el sistema de correcciones sabrá “mantenerse” por sí mismo gracias al sencillo mecanismo de interacción entre usuarios de todos los confines.

Para medir una actividad disponemos como unidades la triada: objeto,usuario y una situación, los datos son los elementos a representar y expresar gráficamente, tanto como los profesores enseñan y corrigen así los alumnos participan de actividades, aquí tienes una representación gráfica del patrón del sistema de clases asociado a la base de datos.

Mientras se termina la implementación veamos un ejemplo de un sistema de corrección.

El proceso por pasos va como sigue:

  • Identificar y articular un problema de un examen para ser resuelto
  • Identificar soluciones alternativas
  • Elegir el criterio de solución
  • Juzgar alternativas y dar a elegir al usuario en función de sus privilegios
  • Plan de contingencias 
  • Evaluar
La matriz de correcciones provee de una estructura para organizar las diversas actividades de decisión gestionadas por los distintos usuarios y es particularmente útil cuando se necesitan planes de contingencia competitivos. Por ello se incluyen campos que denotarán los planes de contingencia (que pueden ser guardados en en el panel de control de una asignatura o en otro tipo de relación de la base de datos) y se van rellenando usando etiquetas.

Diagramas de información de la arquitectura

Estos diagramas sirven para organizar el contenido que tenemos de una web en grupos de forma que sean autoexplicativos y guarden una lógica entre ellos tanto para ti como para tus usuarios. A veces, pensar en la navegación o en las categorías nos lleva demasiado lejos del aspecto final de un sitio. La información de arquitectura nos ayuda a pararse un poco y echar un vistazo a lo que tenemos que presentar, una lista de pros y contras para clasificar un apartado dentro de un grupo es útil si lo diseñamos a modo de tarjetas usaremos colores distintos para categorías y apartados, cuando encontramos que hay apartados que no tienen padre ,debemos preguntarnos si son realmente necesarios para la web y de esta forma reordenamos la jerarquía de forma visual.

Los Diagramas de Información del proyecto PIE son un conjunto de tarjetas ordenadas sobre el papel.

Ver un boceto de un diagrama no esencial pero si buen ayudante.

Ojo!: no se trata de hacer un mapa del sitio, el orden de la jerarquía se establece por importancia, no son diagramas de vínculos entre páginas sino relaciones entre secciones y subsecciones de contenido.