Scielo RSS <![CDATA[Revista Cubana de Ciencias Informáticas]]> http://scielo.sld.cu/rss.php?pid=2227-189920150001&lang=en vol. 9 num. 1 lang. en <![CDATA[SciELO Logo]]> http://scielo.sld.cu/img/en/fbpelogp.gif http://scielo.sld.cu <![CDATA[<strong>A Nectar of Frequent Approximate Subgraph Mining for Image Classification</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992015000100001&lng=en&nrm=iso&tlng=en Frequent approximate subgraph mining has emerged as an important research topic where graphs are used for modeling entities and their relations including some distortions in the data. In the last years, there has been a considerable growth in the application of this kind of mining on image classification; achieving competitive results against other approaches. In this nectar, a review of recent contributions on image classification based on frequent approximate subgraph mining is presented. We highlight the usefulness of this type of mining, as well as the improvements achieved in terms of efficiency and efficacy of the proposed frameworks.<hr/>La minería de subgrafos frecuentes aproximados ha emergido como un importante tópico de investigación donde los grafos son usados para modelar entidades y sus relaciones incluyendo distorsiones en los datos. En los últimos años, se ha observado un considerable crecimiento en la aplicación de este tipo de minería en clasificación de imágenes, donde se han alcanzado resultados competitivos comparados con otros enfoques. En este néctar se presenta una revisión de las contribuciones más recientes en clasificación de imágenes basada en la minería de subgrafos frecuentes aproximados. Se resalta la utilidad de este tipo de minería, así como las mejoras alcanzadas en términos de eficiencia y eficacia del esquema propuesto. <![CDATA[<strong>GUI in MATLAB to evaluation the eolic potential to based system GNU/Linux</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992015000100002&lng=en&nrm=iso&tlng=en Dentro de las fases fundamentales para el desarrollo del proyecto de un parque eólico conectado a la red eléctrica se encuentra la evaluación del recurso eólico. En el mercado existen varios software especializados que ejecutan esta tarea con gran calidad. Sin embargo, sólo se encuentran disponibles para los sistemas operativos propietarios. En este trabajo se presenta una alternativa para evaluar el potencial eólico en sistemas construidos sobre la plataforma GNU/Linux. Para ello se utilizó la potente herramienta matemática MATLAB v8.1.0.604 (R2013a) sobre el sistema operativo Linux Mint 17 “Quiana”. Con ayuda del Toolbox GUIDE (Graphical User Interface Development Environment) se diseñó un GUI que permite procesar la información de las mediciones de los vientos. Se escogió como caso de estudio la región noroeste de Moa, donde se realizaron mediciones de velocidad y dirección del viento durante el año 2007 a la altura de 50, 30 y 10 metros. Finalmente, utilizando MATLAB Compiler™ v4.18.1 se obtuvo una aplicación autónoma capaz de ejecutarse en cualquier computadora que tenga una distribución de GNU/Linux. Los resultados obtenidos muestran que la evaluación del potencial eólico, empleando los métodos de cálculo implementados, son coherentes con respecto a lo mostrado por el mapa eólico de Cuba y otros estudios realizados en esta región. Por tanto, se puede afirmar que constituye una alternativa adecuada para este fin.<hr/>The evaluation of the wind resource constitutes one of the fundamental stages in the development of a project of a wind farm connected to the electric net. Nowadays there are several specialized software products that execute this task with great quality. However, they are only available for the proprietary operating systems. An alternative for the evaluation of the wind power in GNU/Linux platform built-in systems is presented in this investigation. For it the powerful mathematical tool MATLAB v8.1.0.604 (R2013a) was used on the Linux Mint 17 “Quiana” operating system. In order to process the information of the winds measurements a GUI was designed using the Toolbox GUIDE (Graphical User Interface Development Environment). Finally, using MATLAB Compiler™ v4.18.1 an autonomous application able to be executed in any computer that has a GNU/Linux distribution was obtained. The achieved results show that the wind power evaluation, using the implemented calculation methods, are consistent with the wind map of Cuba and other studies carried out in this region. Therefore, can be asserted that the obtained product constitutes a suitable alternative for the wind power evaluation. <![CDATA[<strong>PosNeg opinion: A tool for managing comments from the web</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992015000100003&lng=en&nrm=iso&tlng=en Una de las principales tareas de la minería de opinión es la clasificación de la polaridad de la opinión, que consiste en determinar si la opinión es positiva o negativa con respecto a la entidad a la que se esté refiriendo. En este trabajo se propone la aplicación PosNeg Opinion que detecta de manera no supervisada la polaridad de opiniones siguiendo un esquema compuesto por cinco etapas: identificar tokens, desambiguar léxicamente cada token, obtener las acepciones de cada palabra, clasificar los tokens en positivo o negativo y evaluar la opinión. PosNeg Opinion detecta la polaridad de opiniones en español. El sistema propuesto mostró un buen desempeño al clasificar la polaridad de 200 opiniones provenientes de foros de discusión en Yahoo.es, obteniéndose una exactitud de 0.965 y una precisión de 0.970.<hr/>One of the primary tasks of opinion mining is the classification of the polarity of the opinion, that consists in determining whether the opinion is positive or negative with respect to the entity to which it is referring. This work seeks design a general scheme consists in five stages that enable the polarity detection of opinions in an unsupervised manner. The five considered stages are: token identification, lexical disambiguation, get all meanings of each word, classify each token in positive or negative, and evaluate the opinion. PosNeg Opinion detects the polarity of the opinions in Spanish language. The proposed system showed good performance in classifying the polarity of 200 opinions from discussion forums Yahoo.es, yielding an accuracy of 0.965 and a precision of 0.970. <![CDATA[<strong>Analysis of the use of gsl and lapack libraries in building phylogenetic trees</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992015000100004&lng=en&nrm=iso&tlng=en Un árbol filogenético o árbol de la evolución es un diagrama de ramificación o "árbol" que muestra las relaciones evolutivas entre las diferentes especies biológicas sobre la base de similitudes y diferencias en sus características físicas o genéticas. En el estudio del proceso evolutivo se emplean, entre otros, los métodos para construir árboles filogenéticos basados en la distancia genética entre parejas de secuencias de ADN o proteínas, que requieren un alineamiento múltiple como información de entrada. En estos, los datos utilizados se presentan en una matriz de distancias obtenida a partir del alineamiento de las secuencias, de acuerdo a algún modelo biológico. Algunos de estos métodos se basan en el criterio de mínima evolución, donde el mejor árbol es aquel que minimiza la longitud de las ramas internas. Para encontrar este árbol se puede emplear un método de ajuste basado en los mínimos cuadrados (LS). Este ajuste se emplea para estimar las longitudes de las ramas entre todas las topologías posibles, seleccionando aquella que minimice tanto como sea posible la diferencia entre la distancia dada y la pronosticada. Su solución es analítica, y puede obtenerse a partir de un sistema de ecuaciones lineales. Para resolver estos sistemas existen múltiples bibliotecas matemáticas. Entre ellas, la biblioteca GSL brinda una interfaz más confortable, mientras que la biblioteca LAPACK presenta un rendimiento superior. En este trabajo se comparan los resultados obtenidos al emplear ambas bibliotecas en la implementación del método LS para la construcción de árboles filogenéticos.<hr/>A phylogenetic tree or evolutionary tree is a branching diagram or "tree” showing the evolutionary relationships among various biological species based on similarities and differences in their physical or genetic characteristics. In the study of the evolutionary process, several methods are used to construct phylogenetic trees, including those based on the genetic distance between pairs of DNA sequences or proteins, which require a multiple alignment as input. In such methods, the data used are presented in a distance matrix obtained from the alignment of the sequences according to a biological model. The criterion of minimum evolution is one of these methods, where the best tree is one that minimizes the length of the internal branches. To find this tree can be used an adjustment method based on least squares (LS). This adjustment is used to estimate the lengths of the branches between all possible topologies, selecting the one that minimizes as much as possible, the difference between the given and the predicted distance. Their solution is analytic and can be obtained from a system of linear equations. To solve these systems there are several math libraries. Between them, the GSL library provides a more comfortable interface, while the LAPACK library has a superior performance. In this paper, are compared the results obtained by using both libraries, in the implementation of the LS method for constructing phylogenetic trees. <![CDATA[<strong>Research and proposal of features selection for Facial Expression Recognition</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992015000100005&lng=en&nrm=iso&tlng=en En este artículo se presentó un estudio de trabajos existentes en la temática de Reconocimiento de Expresiones Faciales, específicamente en la etapa de la selección de rasgos para la clasificación. Se abordó la línea de estudios de P. Ekman como uno de las más aceptadas y continuadas, así como algunas propuestas alternativas. Se tuvieron en cuenta los aportes positivos y los principales inconvenientes de las diferentes soluciones revisadas y finalmente se presentó una propuesta de sistema para el reconocimiento de emociones. Se diseñó un experimento para probar la propuesta de rasgos realizada en la que se obtuvieron resultados positivos.<hr/>In this paper was presented a study of existing works on the subject of Face Expression Recognition, specifically in the sub problem of features selection for the classification. The line of studies of P. Ekman was approached as one of the most accepted and developed, as well as some alternative proposals. Both positive contributions and main drawbacks were taken into account from the different researched solutions, and finally a proposal of a system for emotions recognition was presented. An experiment was designed to test the efficiency of the proposed set of patterns with positive results obtained. <![CDATA[<strong>Implementation of electronic contract languages in Oracle Service Bus</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992015000100006&lng=en&nrm=iso&tlng=en En el desarrollo e implementación de escenarios de integración han intervenido servicios que provienen de fuentes diversas, donde la atención se ha centrado en las operaciones que brindan y pocas veces se han tenido en cuenta sus requisitos no funcionales que incluyen aspectos como el tiempo de respuesta y la disponibilidad. Esto ha provocado la necesidad de establecer políticas automáticas de negociación entre las partes que interactúan con el servicio para tener en cuenta los aspectos anteriores. Para solucionar este problema se han utilizado los Acuerdos de Nivel de Servicio que son especificaciones no formales de los acuerdos entre las partes relativos a los requisitos no funcionales del servicio. Los lenguajes de contrato electrónico para la gestión de calidad de servicio se especificaron con el objetivo de formalizar estos acuerdos utilizando especificaciones estándares. Por otra parte, la herramienta Oracle Service Bus implementa la tecnología Bus de Servicios Empresariales que actúa como mediadora en la comunicación entre aplicaciones y tiene soporte para la definición de Acuerdos de Nivel de Servicio, para los servicios web que se conectan a esta. Este artículo tiene como objetivo principal verificar el soporte explícito de los lenguajes en Oracle Service Bus y se llegó a la conclusión de que no lo hace pero se propone una estrategia para implementar los aspectos fundamentales de los lenguajes utilizando componentes de la herramienta.<hr/>In the development and implementation of integration scenarios have involved services from various sources, where attention has focused on the operations they provide and have rarely been taken into account its non-functional requirements which include aspects such as response time and availability. This has caused the need for automated policy negotiation between the parties that interact with the service to consider those aspects. To solve this problem we have used the Service Level Agreements that are not formal specification of the agreements between the parties relating to the non-functional service requirements. Electronic contract languages for quality of service management were specified in order to formalize these agreements using standard specifications. Oracle Service Bus implements the Enterprise Service Bus technology that mediates communication between applications technology and has support for defining Service Level Agreements for Web Services that connect to it. This article has the main objective of verifying the explicit support of the languages ​​in Oracle Service Bus and concluded that it does not, but a strategy is proposed to implement the fundamental aspects of the languages ​​used tool components. <![CDATA[<strong>Selecting frameworks for multi-agent systems development for the oil industry</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992015000100007&lng=en&nrm=iso&tlng=en Throughout the years, the development of multi-agent systems (MAS) has evolved and many frameworks to support such development were proposed in the literature. Some frameworks did not advance; others have evolved according to the type of usage in either academy or industry. Given the large number of frameworks for developing multi-agent systems, it is important to evaluate these frameworks in order to select which one best suits the development project at hand. There seems to be scanty information and recommendations in the specialized bibliography on development frameworks for MAS to be used in support of supply chain management (SCM) by the petroleum industry in particular. We present in this work a methodology for comparing and choosing frameworks to be used for developing MAS for the oil industry. The methodology includes theoretical and practical aspects. Application of the methodology is carried out in a real case, supply chain management scenario offered by Petrobrás, the Brazilian petroleum company, in automating its planning for draining petroleum products.<hr/>A lo largo de los años, el desarrollo de sistemas multiagente (MAS) ha evolucionado y se han propuesto muchos frameworks para apoyar ese desarrollo en la literatura. Algunos frameworks no avanzaron; otros han evolucionado de acuerdo con el tipo de uso, ya sea en la academia o la industria. Dado el gran número de frameworks para el desarrollo de sistemas multi-agente es importante evaluar estos con el fin de seleccionar el que mejor se adapte al proyecto de desarrollo en cuestión. No parece haber información y recomendaciones escasas en la bibliografía especializada sobre los frameworks de desarrollo para el MAS que se utilizará para apoyar la Gestión de la Cadena de Suministro (SCM) por la industria del petróleo en particular. Se presenta en este trabajo una metodología para comparar y elegir los frameworks que se utilizarán para el desarrollo de MAS para la industria petrolera. La metodología incluye aspectos teóricos y prácticos. La aplicación de la metodología se lleva a cabo en un escenario de gestión de la cadena de suministro de caso real ofrecido por Petrobrás, la empresa petrolera brasileña, en la automatización de la planificación para el drenaje de los productos del petróleo. <![CDATA[<strong>JPEG encoder hardware software partitioning using stochastic hill climbing optimization technique</strong>]]> http://scielo.sld.cu/scielo.php?script=sci_arttext&pid=S2227-18992015000100008&lng=en&nrm=iso&tlng=en La partición hardware/software es una etapa clave dentro del proceso de co-diseño de los sistemas embebidos. En esta etapa se decide qué componentes serán implementados como co-procesadores de hardware y qué componentes serán implementados en un procesador de propósito general. La decisión es tomada a partir de la exploración del espacio de diseño, evaluando un conjunto de posibles soluciones para establecer cuál de estas es la que mejor balance logra entre todas las métricas de diseño. Para explorar el espacio de soluciones, la mayoría de las propuestas, utilizan algoritmos metaheurísticos; destacándose los Algoritmos Genéticos, Recocido Simulado. Esta decisión, en muchos casos, no es tomada a partir de análisis comparativos que involucren a varios algoritmos sobre un mismo problema. En este trabajo se presenta la aplicación de los algoritmos: Escalador de Colinas Estocástico y Escalador de Colinas Estocástico con Reinicio, para resolver el problema de la partición hardware/software. Para validar el empleo de estos algoritmos se presenta la aplicación de este algoritmo sobre un caso de estudio, en particular la partición hardware/software de un codificador JPEG. En todos los experimentos es posible apreciar que ambos algoritmos alcanzan soluciones comparables con las obtenidas por los algoritmos utilizados con más frecuencia.<hr/>Hardware/software partitioning is a key task for embedded system co-design. The goal of this task is to decide which components of an application will be executed in a general purpose processor (software) and which ones on a specific hardware. To support this decision a design space exploration is executed, by the evaluation of several solutions to establish the best trade-off reached. To accomplish this task, metaheuristics algorithms are used by the most proposals; highlighting Genetic Algorithms and Simulated Annealing. Many times this decision is not taken by a comparative study over several algorithms. In this article the application of Stochastic Hill Climbing and Restart Stochastic Hill Climbing for solving the hardware/software partitioning problem is presented. A case study of JPEG encoder is presented. The results show that comparable solutions are reached by those algorithms.