Www.gisela-grid.eu Grid Initiatives for e-Science virtual communities in Europe and Latin America Algoritmo Genético para la solución del problema SAT.

Slides:



Advertisements
Presentaciones similares
Introduction to Microprocessors (Conference 2) From: Wikipedia, the free encyclopedia.
Advertisements

Lenguajes de programación
Grupo 4 Matías Melgar Pablo Carbonell
“Impulsando la Sociedad
COMPONENTIZACIÓN DE ALGORITMOS GENETICOS Y SU IMPLEMENTACIÓN EN UNA PLATAFORMA ABIERTA PARA APRENDIZAJE COMPUTACIONAL.
Programación 1 Introducción
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
PARADIGMA Es un esquema de pensamiento que nos lleva a concebir las cosas de una manera determinada. el término paradigma puede indicar el concepto de esquema.
Sistemas Inteligentes Algoritmos Geneticos
UML Diagramas. Diagramas de Interacción Muestran como los objetos de la aplicación cooperan e interactúan para cumplir con los requisitos. Suele construirse.
Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez Faltan autores y bibliografía.
Archivos y Búsqueda Secuencial
Programación en Matlab
Material de apoyo Unidad 4 Estructura de datos
F o r m u l a r i o s. Introducción. En los sistemas informáticos basados en la Web es muy común encontrar formularios para recopilar información. HTML.
ALGORITMOS GEN É TICOS: DETECCI Ó N DE BORDES EN IM Á GENES Daniel Mej í as Pinto Luis Manuel Merino Su á rez.
“A hybrid VNS/Tabu search Algorithm for apportioning the European Parliament” Villa, Lozano, Racero, Canca, LNCS 3906, Problema: Como distribuir.
Visual basic CLASE III. Dimensionar – Crear Variables Tipos de Variables: - Integer: Números Enteros - Double: Números con punto flotante - String: Cadena.
Metodología para la construcción de programas
Mary C. Jarur M. ww.udec.cl/~mjarur
Algorit moAlgorit mo An á lisisAn á lisis Argumen toArgumen to Asignación Asociación Cometar ioCometar io Compilación Constan teConstan te Definición.
E-science grid facility for Europe and Latin America Portal de Porticos (PdP) Gridification Jovanny Suescun and Celido Guerrero Universidad.
Entendiendo las partes
Elaboración de algoritmos usando lógica de programación
Es un ambiente gráfico de desarrollo de aplicaciones para el sistema operativo Microsoft Windows. Las aplicaciones creadas con Visual Basic están basadas.
¿Cómo programar un Botón para agregar registros a una base de datos?
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
Expositor Lic. José Aragón Tapia. Introducción a la programación. Datos y expresiones, Operadores. Algoritmos, concepto, características. Definición de.
“Sistemas Lineales. El método de Gauss” Cecilia Loreto Pérez Pavez.
Page 1 Ciclo de Estructuras de Repetición Carlos Bautista García Unidad VI PROG 2270L.
Estructuras de Decisión en Visual Basic 6.0
Jose A Chirino. Unidad 6. Ciclos condicionales dinámicos: Do-While Do-Until.
FORMULARIOS DE ACCESS Realizado Por: Alexander Mendoza Jessica Moya.
Representación de la Información en el Computador Material Recopilado por el Prof. Manuel Sánchez.
DIAGRAMA DE FLUJO.
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
TRABAJO DE INVESTIGACIÓN LA ADMINISTRACIÓN VS LA DIRECCIÓN.
1 Control de Flujo Introducción a la Informática Departamento de Sistemas Universidad del Cauca 2006.
 El máximo común divisor de dos o más números, es el mayor número que divide a todos exactamente.
Máximo Común Divisor y mínimo común múltiplo
UNIVERSIDAD NACIONAL DE CHIMBORAZO TEMA: LINEAR OPTIMIZATION (ANDROID). Créditos Autores: José Chapalbay, Fausto Morocho. Asignatura: Modelación y Simulación.
Clase II Estructuras dinámicas (TAD) Listas Enlazadas. ¿A que llamamos estructuras dinámicas? ¿Por qué son necesarias? Ventajas y Desventajas que tendremos.
Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento.
Universidad Autónoma del Estado de México Centro Universitario UAEM Valle de México Ingeniería en Computación Unidad de Aprendizaje Programación Estructurada.
Tipos de Modelos en Investigación de Operaciones
Cadenas de Valor con Enfoque de Género. Antecedentes Agenda de armonización de acciones sobre género y cadenas de valor Julio “ Reunión de Intercambio.
DLM Transact SQL Sesión II Recuperación de información.
Una base de datos, a fin de ordenar la información de manera lógica, posee un orden que debe ser cumplido para acceder a la información de manera coherente.
Clase 1.  Un programador es aquella persona que escribe, depura y mantiene el código fuente de un programa informático, es decir, del conjunto de instrucciones.
Ing. Albino Goncalves. Mayo 2007 Algoritmo Definiciones: – Consiste en una secuencia de pasos que hay que seguir para obtener resultados. – Consiste en.
OPTIMANDO FOIL: EXTRACCIÓN DE INFORMACIÓN. Índice  Introducción  Estrategias  FOIL  Optimizaciones  Resultados  Conclusiones.
TRABAJO FINAL DE GRADO BPM APLICADO A UN PROCESO DE PEDIDOS OSCAR F. MONTENEGRO OSCAR F. MONTENEGRO.
Entrada y Salida en C++, Estructuras de Control Prof. Manuel B. Sánchez.
METODOS DE PROGRAMACION I Ing. Vania Flores Pinto.
INSTITUTO DE ESTUDIOS SUPERIORES DE CHIHUAHUA COMPUTACION Ciclo: Tercer cuatrimestre Lic. Roberto Servando Roque Corona.
Algoritmo Genético para la solución del problema SAT René Clemente Juárez Angel Felipe Lara Valladares Junio 2012.
Representación en espacio de estado
Optimización de Consultas Distribuidas. ÍNDICE Definiciones básicas Modelo de costo Estadísticas de la base de datos Optimización centralizada de consultas.
G ESTIÓN DE LA MEMORIA Paginación y segmentación.
Melissa Victoria Mendiola Peralta.  Los algoritmos son las series de pasos por los cuales se resuelven los problemas.
Calificación de Ejercicios Plataforma EducativaTZALOA.
Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3.
Mercados financieros artificiales CÓMPUTO EVOLUTIVO Y BIOINSPIRADO Y SU CAMPO DE APLICACIÓN, IIMAS. DANYA ANAHID ESQUIVEL MORALES 20 DE MARZO DE 2015.
PROYECTO PYTHON INTEGRANTES DEL EQUIPO: NAVA CASTILLO CYNTHIA PAOLA VÁZQUEZ ORTEGA FELYBIER.
PRESENTACIÓN PROGRAMA DE MANTENIMIENTO TOTAL PRODUCTIVO TRABAJO FINAL DEL PROYECTO PARA LA UNAD. Presentado por WILMER EDIXON ANGARITA GARCIA MARIA YOLIMA.
APLICACIONES TAI EN TELEFORMACIÓN. ¿Qué es la teleformación? La Teleformación o el e-learning permite realizar acciones formativas a través de Internet.
LOGO Muestreo Pedro Godoy G.. LOGO Inferencia estadística La Inferencia Estadística es aquella rama de la Estadística mediante la cual se trata de sacar.
The Science Citation Index. Science Citation Index.
Escuela Superior Politécnica de Chimborazo Facultad de Administración de Empresas Escuela de Ingeniería en Marketing Carrera de Ingeniería Comercial Nombre:
Expositores: María Gracia León Nelson Arol Ruiz
Transcripción de la presentación:

Grid Initiatives for e-Science virtual communities in Europe and Latin America Algoritmo Genético para la solución del problema SAT Angel Felipe Lara Valladares. René Clemente Juárez UPEMOR Joint School for Application Porting to Science Gateways Mexico City

Name of event - Date – Town (Country) 2 Agenda El problema de Satisfacibilidad (SAT). Algoritmos Genéticos. Objetivo. miagp-portlet. Interfaz grafica de miagp-portlet. Conclusiones. Trabajos futuros.

Name of event - Date – Town (Country) 3 El problema de Satisfacibilidad La Satisfacibilidad (SAT) es un problema fundamental en Lógica Matemática y Teoría de la Computación. SAT tiene múltiples aplicaciones en diversos campos.

Name of event - Date – Town (Country) 4 SAT: Definición Tres componentes: –Un conjunto de n variables: x 1, x 2, …, x. –Un conjunto de literales, una literal es una variable (Q = x) o una negación de una variable (Q = x ). –Un conjunto de m cláusulas distintas: C 1, C 2, …, C m.Cada cláusula se forma por la combinación de literales conectadas a través de la cláusula “o” (  ):

Name of event - Date – Town (Country) 5 FNC: Forma Normal Conjuntiva El problema SAT normalmente se representa en Forma Normal Conjuntiva (FNC). La cual consiste de un conjunto de cláusulas unidas mediante conectores lógicos “y” ( ∧ ): Ejemplo: El objetivo del problema SAT consiste en encontrar alguna asignación de valores de verdad que logren satisfacer el máximo número de cláusulas en Forma Normal Conjuntiva.

Name of event - Date – Town (Country) 6 Formato de archivo de entrada.cnf Las instancias del problema de Satisfacibilidad, normalmente se almacenan en archivos de texto que siguen la siguiente representación: c Ejemplo de un archivo CNF c Este es un comentario p cnf (x 1 ⋁ ¬x 3 ⋁ x 4 ) ∧ (¬x 2 ⋁ x 3 ⋁ ¬x 4 ) ∧ (x 1 ⋁ x 2 ⋁ ¬x 4 )

Name of event - Date – Town (Country) 7 Algoritmos genéticos Los AG son algoritmos de optimización, es decir, tratan de encontrar la mejor solución a un problema dado entre un conjunto de soluciones posibles. Los AG son métodos adaptivos que pueden usarse para resolver problemas de búsqueda y optimización.

Name of event - Date – Town (Country) 8 Elementos de un AG Representación: Forma de representar una solución del problema como un cromosoma. Tamaño de la población: Cantidad de individuos (soluciones) en la población (conjunto de soluciones. Población inicial: Forma en que se genera la primera generación de individuos. Función objetivo: Número de cláusulas satisfechas por una solución (asignación de valores de verdad). Criterio de selección:Forma en que se eligen los padres de un nuevo individuo. Operadores genéticos: Forma en que se “combinan” los padres para obtener nuevos individuos: cruzamiento y mutación.

Name of event - Date – Town (Country) 9 Pseudocódigo de un AG general Inicio AG t  0 Inicializa P(t) evalúa P(t) Mientras (no se cumpla condición de paro) entonces t  t + 1 selecciona P(t) a partir de P(t - l) cruce sobre P(t) mutación sobre P(t) evalúa P(t) Fin Mientras Fin AG

Name of event - Date – Town (Country) 10 Objetivo Desarrollar un algoritmo genético que se ejecute en un ambiente GRID para la resolución del problema SAT.

Name of event - Date – Town (Country) 11 miagp-portlet.java // Job details String executable="/bin/sh"; // Application executable //String arguments =appPreferences.getPilotScript(); // executable' arguments String arguments="mpi-start-wrapper.sh AGP_MPI OPENMPI " + appInput.inputSandbox_inputFile; String outputPath="/tmp/"; // Output Path String outputFile="agp-Output.txt"; // Distributed application standard output String errorFile ="agp-Error.txt"; // Distrubuted application standard error String appFile ="agp-Files.tar.gz"; // Hostname output files (created by the pilot script) String cpunumber=appInput.cpuNumber;//cpunumber(4 by default) esta linea fue agregada // InputSandbox (string with comma separated list of file names) String inputSandbox= appServerPath+"WEB-INF/job/AGP_MPI.cpp" // application script +","+appServerPath+"WEB-INF/job/mpi-start-wrapper.sh" +","+appServerPath+"WEB-INF/job/mpi-hooks.sh" +","+appInput.inputSandbox_inputFile;// input file // OutputSandbox (string with comma separated list of file names) String outputSandbox=appFile; // Output file

Name of event - Date – Town (Country) 12 Input.jsp " method="post"> CPU Numero archivo.cnf escribir el archivo.cnf aqu � o elegir el archivo.cnf de entrada con Input File !-- JOB DESCRIPTION --> Poner el Job Descripci � n "/>

Name of event - Date – Town (Country) 13 Interfaz de miagp-portlet

Name of event - Date – Town (Country) 14 Interfaz de miagp-portlet

Name of event - Date – Town (Country) 15 Conclusiones Se utilizo un AG para la resolución de SAT ya que son algoritmos fáciles de paralelizar. La portabilidad del AG no se cuncluyo al 100% ya que no se pudieron mostrar los resultados finales de los trabajos que se lanzaron. Se presentaron problemas para ejecutar la aplicación con MPICH. Es necesario conocer la tecnologia para poder portar la aplicación.

Name of event - Date – Town (Country) 16 Trabajos Futuros Portar la aplicación al 100%. Resolver los problemas con MPICH. Modificar el codigo fuente del algoritmo genético para poder trabajar con los datos de entrada de manera dinámica. Portar la aplicación a GISELA con las modificaciones necesarias en el portlet y así trabajar con los datos de entrada del algoritmo de manera dinámica.