18 resultados para Lógica concreta


Relevância:

20.00% 20.00%

Publicador:

Resumo:

La computación molecular es una disciplina que se ocupa del diseño e implementación de dispositivos para el procesamiento de información sobre un sustrato biológico, como el ácido desoxirribonucleico (ADN), el ácido ribonucleico (ARN) o las proteínas. Desde que Watson y Crick descubrieron en los años cincuenta la estructura molecular del ADN en forma de doble hélice, se desencadenaron otros descubrimientos como las enzimas que cortan el ADN o la reacción en cadena de la polimerasa (PCR), contribuyendo más que signi�cativamente a la irrupción de la tecnología del ADN recombinante. Gracias a esta tecnología y al descenso vertiginoso de los precios de secuenciación y síntesis del ADN, la computación biomolecular pudo abandonar su concepción puramente teórica. En 1994, Leonard Adleman logró resolver un problema de computación NP-completo (El Problema del Camino de Hamilton Dirigido) utilizando únicamente moléculas de ADN. La gran capacidad de procesamiento en paralelo ofrecida por las técnicas del ADN recombinante permitió a Adleman ser capaz de resolver dicho problema en tiempo polinómico, aunque a costa de un consumo exponencial de moléculas de ADN. Utilizando algoritmos similares al de �fuerza bruta� utilizado por Adleman se logró resolver otros problemas NP-completos (por ejemplo, el de Satisfacibilidad de Fórmulas Lógicas / SAT). Pronto se comprendió que la computación con biomolecular no podía competir en velocidad ni precisión con los ordenadores de silicio, por lo que su enfoque y objetivos se centraron en la resolución de problemas biológicos con aplicación biomédica, dejando de lado la resolución de problemas clásicos de computación. Desde entonces se han propuesto diversos modelos de dispositivos biomoleculares que, de forma autónoma (sin necesidad de un bio-ingeniero realizando operaciones de laboratorio), son capaces de procesar como entrada un sustrato biológico y proporcionar una salida también en formato biológico: procesadores que aprovechan la extensión de la Polimerasa, autómatas que funcionan con enzimas de restricción o con deoxiribozimas, circuitos de hibridación competitiva. Esta tesis presenta un conjunto de modelos de dispositivos de ácidos nucleicos escalables, sensibles al tiempo y energéticamente e�cientes, capaces de implementar diversas operaciones de computación lógica aprovechando el fenómeno de la hibridación competitiva del ADN. La capacidad implícita de estos dispositivos para aplicar reglas de inferencia como modus ponens, modus tollens, resolución o el silogismo hipotético tiene un gran potencial. Entre otras funciones, permiten representar implicaciones lógicas (o reglas del tipo SI/ENTONCES), como por ejemplo, �si se da el síntoma 1 y el síntoma 2, entonces estamos ante la enfermedad A�, o �si estamos ante la enfermedad B, entonces deben manifestarse los síntomas 2 y 3�. Utilizando estos módulos lógicos como bloques básicos de construcción, se pretende desarrollar sistemas in vitro basados en sensores de ADN, capaces de trabajar de manera conjunta para detectar un conjunto de síntomas de entrada y producir un diagnóstico de salida. La reciente publicación en la revista Science de un autómata biomolecular de diagnóstico, capaz de tratar las células cancerígenas sin afectar a las células sanas, es un buen ejemplo de la relevancia cientí�ca que este tipo de autómatas tienen en la actualidad. Además de las recién mencionadas aplicaciones en el diagnóstico in vitro, los modelos presentados también tienen utilidad en el diseño de biosensores inteligentes y la construcción de bases de datos con registros en formato biomolecular que faciliten el análisis genómico. El estudio sobre el estado de la cuestión en computación biomolecular que se presenta en esta tesis está basado en un artículo recientemente publicado en la revista Current Bioinformatics. Los nuevos dispositivos presentados en la tesis forman parte de una solicitud de patente de la que la UPM es titular, y han sido presentados en congresos internacionales como Unconventional Computation 2010 en Tokio o Synthetic Biology 2010 en París.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Se utiliza la lógica borrosa como herramienta para el desarrollo sostenible

Relevância:

20.00% 20.00%

Publicador:

Resumo:

A Le Corbusier le hubiera gustado que le recordaran también como pintor. Igual que su compatriota E. L. Boullée, devoto como él de las formas más puras de la geometría, hubiera escrito gustoso, bajo el título de cualquiera de sus libros de Arquitectura, aquella frase: “Yo también soy pintor”. Para él, como para el ilustrado, la Arquitectura comparte una dimensión artística con la Pintura (y con la Escultura, la Música, la Poesía...etc.) que se pone de manifiesto en el proceso creativo y que está encaminada a emocionar al espectador que participa y se involucra en la obra. Arquitectura y Pintura se convierten de este modo en caminos diferentes para llegar a los mismos objetivos. Esta Tesis trata sobre el proceso de creación en la arquitectura de Le Corbusier y de cómo en él se producen continuas incursiones en el mundo de la pintura cubista. Asumiendo que es un tema sobre el que ya se ha escrito mucho ( las bibliografías de Le Corbusier y de Picasso son sin duda las más numerosas entre los artistas de sus respectivos campos) creemos que es posible ofrecer una nueva visión sobre los mecanismos que, tanto el arquitecto como el pintor, utilizaban en su trabajo. Lo que buscamos es desvelar un modo de creación, común entre ambas disciplinas, basado en el análisis de ciertos componentes artísticos capaces de ser ensamblados en composiciones sintéticas siempre nuevas, que inviten al espectador a participar del hecho creativo en una continua actividad cognoscitiva. El proyecto cubista, tanto para Le Corbusier como para Picasso, se alcanza al final de un largo camino como resultado de un profundo estudio de la realidad (en la Arquitectura, social, cultural y económica, y en la Pintura la realidad cotidiana), en el que el motivo, ya sea objeto, espacio ó luz, intenta ser “conocido” en su totalidad a través del filtro personal del artista. Es por lo tanto, algo a lo que se llega, y cuyo resultado, a priori, es desconocido. En cualquier caso, forma parte de una investigación, de un proceso continuo que intencionadamente supera la circunstancia concreta de cada ocasión. Es la coincidencia en los procesos de proyecto lo que unificará arquitecturas en principio tan dispares como la Capilla de Ronchamp, el Tribunal de Justicia de Chandigarh, o el Hospital de Venecia, y son esos procesos los que aquí, a través de varias obras concretas vamos a intentar desvelar. Es cierto que el proyecto presentado al concurso del Palacio de los Soviets de Moscú es un ejercicio brillante de Constructivismo, pero este resultado no se anunciaba al principio. Si analizamos el proceso de proyecto encontramos que inicialmente la propuesta no era muy diferente a la del Centorsoyuz, o incluso a la de la Cité de Refuge o a la del Pavillon Suisse de París. La solución final sólo se alcanzaría después de mover muchísimas veces, las piezas preseleccionadas en el solar. Cuando entendemos el Convento de la Tourette como una versión actualizada del monasterio dominico tradicional estamos haciendo una lectura parcial y engañosa de la idea de proyecto del arquitecto. En los croquis previos del archivo de la Fondation Le Corbusier encontramos otra vez las mismas ideas que en la vieja Cité de Refuge, ahora actualizadas y adaptadas al nuevo fin. Con la Asamblea de Chandigarh las similitudes son obvias e incluso aparece el mismo cubo al que se superpone una pirámide como techo, avanzando hacia el espacio central pero aquí aparece un gran hiperboloide en un interior cerrado. Este hiperboloide fue en el inicio del proyecto un cubo, y después un cilindro. Sólo al final encontró su forma óptima en un volumen de geometría reglada que en su idoneidad podría también valer para otros edificios, por ejemplo para una Iglesia. La comparación que se ha hecho de este volumen con las torres de refrigeración de Ahmedabad es puramente anecdótica pues, como veremos, esta forma se alcanza desde la lógica proyectual que sigue el pensamiento plástico de Le Corbusier, en este caso, en la adaptación del espacio cilíndrico a la luz, pero no como inspiración en las preexistencias. En todas sus obras los mecanismos que se despliegan son, en muchas ocasiones pictóricos (fragmentación analítica del objeto y del espacio, ensamblaje multidimensional, tramas subyacentes de soporte, escenografía intencionada ...etc.) y el programa en cada caso, como el motivo de los cubistas, no es más que una ocasión más para investigar una nueva forma de hacer y de entender, la Arquitectura. Cualquier proyecto del pintor-arquitecto cubista es en realidad un trabajo continuo desarrollado a lo largo de toda su vida, en el que se utilizan, una y otra vez, las mismas palabras de su vocabulario particular y personal. aunque con diferente protagonismo en cada ocasión. Se trata de alcanzar, desde ellas mismas, una perfección que las valide universalmente. Los mismos objetos, los mismos mecanismos, las mismas constantes manipulaciones del espacio y de la luz, se desplegarán, como ingredientes previos con los que trabajar, sobre el tablero de dibujo coincidiendo con el inicio de cada proyecto, para desde aquí hacer que el motivo que se trata de construir emerja, aunque a veces sea de manera incierta e inesperada, como resultado alcanzado al final. Con muchas dudas, a partir de la primera hipótesis planteada, se confirma, se añade o se elimina cada elemento según van apareciendo en el tiempo los condicionantes del solar, del programa o incluso a veces de obsesiones propias del arquitecto. El trabajo que presentamos utiliza un método inductivo que va desde los ejemplos hasta los conceptos. Empezaremos por investigar el proceso de proyecto en una obra concreta y con los mecanismos que en él se utilizan plantearemos una síntesis que los generalice y nos permitan extenderlos al entendimiento de la totalidad de su obra. Se trata en realidad de un método que en sí mismo es cubista: desde la fragmentación del objeto-proyecto procedemos a su análisis desde diversos puntos de vista, para alcanzar después su recomposición en una nueva estructura sintética. Cada mecanismo se analiza de forma independiente siguiendo un cierto orden que correspondería, supuestamente, al trabajo del arquitecto: manipulación del objeto, método compositivo, entendimiento del soporte (lienzo o espacio) y de su geometría implícita, relación con el observador, concepto y materialidad del espacio y de la luz ..etc. recurriendo a la teoría sólo en la medida en que necesitemos de ella para aclarar el exacto sentido con el que son utilizados. En nuestra incursión en el mundo de la pintura, hemos decidido acotar el Cubismo a lo que fue en realidad su periodo heroico y original, que discurrió entre 1907 y 1914, periodo en el que desarrollado casi exclusivamente por los que habían sido sus creadores, Picasso y Braque. Solo en alguna ocasión entraremos en la pintura del “tercer cubista”, Juan Gris para entender el tránsito de los mecanismos de los primeros hasta la pintura purista, pero no es nuestra intención desviar las cuestiones planteadas de un ámbito puramente arquitectónico Resulta difícil hablar del cubismo de Pablo Picasso sin hacerlo comparativamente con el de Georges Braque (para algunos especialistas es éste incluso el auténtico creador de la Vanguardia), siendo necesario enfrentar los mecanismos de ambos pintores para obtener un exacto entendimiento de lo que supuso la Vanguardia. Por eso nos parece interesante estudiar la obra de Le Corbusier en paralelo con la de otro arquitecto de tal manera que los conceptos aparezcan como polaridades entre las que situar los posibles estados intermedios. En este sentido hemos recurrido a James Stirling. Su deuda es clara con Le Corbusier, y sobre todo con el Cubismo, y como vamos a ver, los mecanismos que utiliza en su obra, siendo similares, difieren significativamente. La Tesis adquiere un sentido comparativo y aparecen así atractivas comparaciones Picasso-Le Corbusier, Braque-Stirling que se suman a las ya establecidas Picasso-Braque y Le Corbusier-Stirling. Desde ellas podemos entender mejor lo que supone trabajar con mecanismos cubistas en Arquitectura. Por último, en relación a los dibujos creados expresamente para esta Tesis, hemos de indicar que las manipulaciones que se han hecho de los originales les convierten en elementos analíticos añadidos que aclaran determinadas ideas expresadas en los croquis de sus autores. Algunos están basados en croquis del archivo de la Fondation Le Corbusier (se indican con el número del plano) y otros se han hecho nuevos para explicar gráficamente determinadas ideas. Se completa la parte gráfica con las fotografías de las obras pictóricas, los planos originales e imágenes de los edificios construidos, extraídos de los documentos de la bibliografía citada al final. Nos disponemos pues, a indagar en las obras del Cubismo, en una búsqueda de los mecanismos con los que hacía su arquitectura Le Corbusier.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

La tesis doctoral CONTRIBUCIÓN AL ESTUDIO DE DOS CONCEPTOS BÁSICOS DE LA LÓGICA FUZZY constituye un conjunto de nuevas aportaciones al análisis de dos elementos básicos de la lógica fuzzy: los mecanismos de inferencia y la representación de predicados vagos. La memoria se encuentra dividida en dos partes que corresponden a los dos aspectos señalados. En la Parte I se estudia el concepto básico de «estado lógico borroso». Un estado lógico borroso es un punto fijo de la aplicación generada a partir de la regla de inferencia conocida como modus ponens generalizado. Además, un preorden borroso puede ser representado mediante los preórdenes elementales generados por el conjunto de sus estados lógicos borrosos. El Capítulo 1 está dedicado a caracterizar cuándo dos estados lógicos dan lugar al mismo preorden elemental, obteniéndose también un representante de la clase de todos los estados lógicos que generan el mismo preorden elemental. El Capítulo finaliza con la caracterización del conjunto de estados lógicos borrosos de un preorden elemental. En el Capítulo 2 se obtiene un subconjunto borroso trapezoidal como una clase de una relación de indistinguibilidad. Finalmente, el Capítulo 3 se dedica a estudiar dos tipos de estados lógicos clásicos: los irreducibles y los minimales. En el Capítulo 4, que inicia la Parte II de la memoria, se aborda el problema de obtener la función de compatibilidad de un predicado vago. Se propone un método, basado en el conocimiento del uso del predicado mediante un conjunto de reglas y de ciertos elementos distinguidos, que permite obtener una expresión general de la función de pertenencia generalizada de un subconjunto borroso que realice la función de extensión del predicado borroso. Dicho método permite, en ciertos casos, definir un conjunto de conectivas multivaluadas asociadas al predicado. En el último capítulo se estudia la representación de antónimos y sinónimos en lógica fuzzy a través de auto-morfismos. Se caracterizan los automorfismos sobre el intervalo unidad cuando sobre él se consideran dos operaciones: una t-norma y una t-conorma ambas arquimedianas. The PhD Thesis CONTRIBUCIÓN AL ESTUDIO DE DOS CONCEPTOS BÁSICOS DE LA LÓGICA FUZZY is a contribution to two basic concepts of the Fuzzy Logic. It is divided in two parts, the first is devoted to a mechanism of inference in Fuzzy Logic, and the second to the representation of vague predicates. «Fuzzy Logic State» is the basic concept in Part I. A Fuzzy Logic State is a fixed-point for the mapping giving the Generalized Modus Ponens Rule of inference. Moreover, a fuzzy preordering can be represented by the elementary preorderings generated by its Fuzzy Logic States. Chapter 1 contemplates the identity of elementary preorderings and the selection of representatives for the classes modulo this identity. This chapter finishes with the characterization of the set of Fuzzy Logic States of an elementary preordering. In Chapter 2 a Trapezoidal Fuzzy Set as a class of a relation of Indistinguishability is obtained. Finally, Chapter 3 is devoted to study two types of Classical Logic States: irreducible and minimal. Part II begins with Chapter 4 dealing with the problem of obtaining a Compa¬tibility Function for a vague predicate. When the use of a predicate is known by means of a set of rules and some distinguished elements, a method to obtain the general expression of the Membership Function is presented. This method allows, in some cases, to reach a set of multivalued connectives associated to the predicate. Last Chapter is devoted to the representation of antonyms and synonyms in Fuzzy Logic. When the unit interval [0,1] is endowed with both an archimedean t-norm and a an archi-medean t-conorm, it is showed that the automorphisms' group is just reduced to the identity function.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

En este se estudia diseños y e implementaciones de paradigmas visuales para observar la ejecución de programas lógicos con restricciones, enfocados hacia la depuración, optimización y enseñanza. Nos centraremos en la representación de datos en ejecuciones CLP, donde perseguimos la representación de variables con restricciones y de las restricciones en sí mismas. Se han implementado dos herramientas, VIFID y TRIFID, que utilizan dichas representaciones y que se usan para mostrar la utilidad de las visualizaciones desarrolladas.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Resumen La investigación descrita en esta memoria se enmarca en el campo de la lógica borro¬sa. Más concretamente, en el estudio de la incompatibilidad, de la compatibilidad y de la suplementaridad en los conjuntos borrosos y en los de Atanassov. En este orden de ideas, en el primer capítulo, se construyen, tanto de forma directa como indirecta, funciones apropiadas para medir la incompatibilidad entre dos conjuntos borro-sos. Se formulan algunos axiomas para modelizar la continuidad de dichas funciones, y se determina si las medidas propuestas, y otras nuevas que se introducen, verifican algún tipo de continuidad. Finalmente, se establece la noción de conjuntos borrosos compatibles, se introducen axiomas para medir esta propiedad y se construyen algunas medidas de compa¬tibilidad. El segundo capítulo se dedica al estudio de la incompatibilidad y de la compatibilidad en el campo de los conjuntos de Atanassov. Así, en primer lugar, se presenta una definición axiomática de medida de incompatibilidad en este contexto. Después, se construyen medidas de incompatibilidad por medio de los mismos métodos usados en el caso borroso. Además, se formulan axiomas de continuidad y se determina el tipo de continuidad de las medidas propuestas. Finalmente, se sigue un camino similar al caso borroso para el estudio de la compatibilidad. En el tercer capítulo, después de abordar la antonimia de conjuntos borrosos y de conjuntos de Atanassov, se formalizan las nociones de conjuntos suplementarios en estos dos entornos y se presenta, en ambos casos, un método para obtener medidas de suplementaridad a partir de medidas de incompatibilidad vía antónimos. The research described in this report pertains to the field of fuzzy logic and specifically studies incompatibility, compatibility and supplementarity in fuzzy sets and Atanassov's fuzzy sets. As such is the case, Chapter 1 describes both the direct and indirect construction of appropriate functions for measuring incompatibility between two fuzzy sets. We formulate some axioms for modelling the continuity of functions and determine whether the proposed and other measures introduced satisfy any type of continuity. Chapter 2 focuses on the study of incompatibility and compatibility in the field of Ata¬nassov's fuzzy sets. First, we present an axiomatic definition of incompatibility measure in this field. Then, we use the same methods to construct incompatibility measures as in the fuzzy case. Additionally, we formulate continuity axioms and determine the type of conti¬nuity of the proposed measures. Finally, we take a similar approach as in the fuzzy case to the study of compatibility. After examining the antonymy of fuzzy sets and Atanassov's sets, Chapter 3 formalizes the notions of supplementary sets in these two domains, and, in both cases, presents a method for obtaining supplementarity measures from incompatibility measures via antonyms.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

La sostenibilidad constituye un criterio esencial para evaluar la calidad de un proyecto. En este sentido este trabajo presenta el desarrollo de una metodología y un programa para la evaluación de la sostenibilidad social, económica y medio-ambiental de proyectos para llegar a conseguir una evaluación global de sostenibilidad de dichos proyectos. Tradicionalmente los estudios y evaluación de proyectos se realizan sólo desde el punto de vista económico. Se aplica la lógica borrosa a cada uno de los cálculos que se realizan en el análisis global de la sostenibilidad: valoración de indicadores, la evaluación cuantitativa y cualitativa del impacto que produce un proyecto en los diferentes factores medioambientales, sociales y económicos. Cabe destacar que dependiendo del tipo de proyecto se tendrá un peso de cada indicador y de cada factor distinto. Se ha tomado como base la normativa existente para la evaluación del impacto ambiental

Relevância:

20.00% 20.00%

Publicador:

Resumo:

La computación basada en servicios (Service-Oriented Computing, SOC) se estableció como un paradigma ampliamente aceptado para el desarollo de sistemas de software flexibles, distribuidos y adaptables, donde las composiciones de los servicios realizan las tareas más complejas o de nivel más alto, frecuentemente tareas inter-organizativas usando los servicios atómicos u otras composiciones de servicios. En tales sistemas, las propriedades de la calidad de servicio (Quality of Service, QoS), como la rapídez de procesamiento, coste, disponibilidad o seguridad, son críticas para la usabilidad de los servicios o sus composiciones en cualquier aplicación concreta. El análisis de estas propriedades se puede realizarse de una forma más precisa y rica en información si se utilizan las técnicas de análisis de programas, como el análisis de complejidad o de compartición de datos, que son capables de analizar simultáneamente tanto las estructuras de control como las de datos, dependencias y operaciones en una composición. El análisis de coste computacional para la composicion de servicios puede ayudar a una monitorización predictiva así como a una adaptación proactiva a través de una inferencia automática de coste computacional, usando los limites altos y bajos como funciones del valor o del tamaño de los mensajes de entrada. Tales funciones de coste se pueden usar para adaptación en la forma de selección de los candidatos entre los servicios que minimizan el coste total de la composición, basado en los datos reales que se pasan al servicio. Las funciones de coste también pueden ser combinadas con los parámetros extraídos empíricamente desde la infraestructura, para producir las funciones de los límites de QoS sobre los datos de entrada, cuales se pueden usar para previsar, en el momento de invocación, las violaciones de los compromisos al nivel de servicios (Service Level Agreements, SLA) potenciales or inminentes. En las composiciones críticas, una previsión continua de QoS bastante eficaz y precisa se puede basar en el modelado con restricciones de QoS desde la estructura de la composition, datos empiricos en tiempo de ejecución y (cuando estén disponibles) los resultados del análisis de complejidad. Este enfoque se puede aplicar a las orquestaciones de servicios con un control centralizado del flujo, así como a las coreografías con participantes multiples, siguiendo unas interacciones complejas que modifican su estado. El análisis del compartición de datos puede servir de apoyo para acciones de adaptación, como la paralelización, fragmentación y selección de los componentes, las cuales son basadas en dependencias funcionales y en el contenido de información en los mensajes, datos internos y las actividades de la composición, cuando se usan construcciones de control complejas, como bucles, bifurcaciones y flujos anidados. Tanto las dependencias funcionales como el contenido de información (descrito a través de algunos atributos definidos por el usuario) se pueden expresar usando una representación basada en la lógica de primer orden (claúsulas de Horn), y los resultados del análisis se pueden interpretar como modelos conceptuales basados en retículos. ABSTRACT Service-Oriented Computing (SOC) is a widely accepted paradigm for development of flexible, distributed and adaptable software systems, in which service compositions perform more complex, higher-level, often cross-organizational tasks using atomic services or other service compositions. In such systems, Quality of Service (QoS) properties, such as the performance, cost, availability or security, are critical for the usability of services and their compositions in concrete applications. Analysis of these properties can become more precise and richer in information, if it employs program analysis techniques, such as the complexity and sharing analyses, which are able to simultaneously take into account both the control and the data structures, dependencies, and operations in a composition. Computation cost analysis for service composition can support predictive monitoring and proactive adaptation by automatically inferring computation cost using the upper and lower bound functions of value or size of input messages. These cost functions can be used for adaptation by selecting service candidates that minimize total cost of the composition, based on the actual data that is passed to them. The cost functions can also be combined with the empirically collected infrastructural parameters to produce QoS bounds functions of input data that can be used to predict potential or imminent Service Level Agreement (SLA) violations at the moment of invocation. In mission-critical applications, an effective and accurate continuous QoS prediction, based on continuations, can be achieved by constraint modeling of composition QoS based on its structure, known data at runtime, and (when available) the results of complexity analysis. This approach can be applied to service orchestrations with centralized flow control, and choreographies with multiple participants with complex stateful interactions. Sharing analysis can support adaptation actions, such as parallelization, fragmentation, and component selection, which are based on functional dependencies and information content of the composition messages, internal data, and activities, in presence of complex control constructs, such as loops, branches, and sub-workflows. Both the functional dependencies and the information content (described using user-defined attributes) can be expressed using a first-order logic (Horn clause) representation, and the analysis results can be interpreted as a lattice-based conceptual models.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Un método habitual de formarse una idea del futuro de la tecnología es leer a un reducido grupo de personajes, tales como Gates o Negroponte. Estos también confunden sus deseos con la realidad, tienden a ver el mundo en colorines y yerran, pero tienen sobre nosotros la ventaja de que sus palabras son las palabras de un selecto y denso colectivo de superespecialistas a sus órdenes. En parte, ellos son los dueños del futuro, lo están diseñando, construyendo o comprando en sus laboratorios o empresas. Tienen poder.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

La seguridad verificada es una metodología para demostrar propiedades de seguridad de los sistemas informáticos que se destaca por las altas garantías de corrección que provee. Los sistemas informáticos se modelan como programas probabilísticos y para probar que verifican una determinada propiedad de seguridad se utilizan técnicas rigurosas basadas en modelos matemáticos de los programas. En particular, la seguridad verificada promueve el uso de demostradores de teoremas interactivos o automáticos para construir demostraciones completamente formales cuya corrección es certificada mecánicamente (por ordenador). La seguridad verificada demostró ser una técnica muy efectiva para razonar sobre diversas nociones de seguridad en el área de criptografía. Sin embargo, no ha podido cubrir un importante conjunto de nociones de seguridad “aproximada”. La característica distintiva de estas nociones de seguridad es que se expresan como una condición de “similitud” entre las distribuciones de salida de dos programas probabilísticos y esta similitud se cuantifica usando alguna noción de distancia entre distribuciones de probabilidad. Este conjunto incluye destacadas nociones de seguridad de diversas áreas como la minería de datos privados, el análisis de flujo de información y la criptografía. Ejemplos representativos de estas nociones de seguridad son la indiferenciabilidad, que permite reemplazar un componente idealizado de un sistema por una implementación concreta (sin alterar significativamente sus propiedades de seguridad), o la privacidad diferencial, una noción de privacidad que ha recibido mucha atención en los últimos años y tiene como objetivo evitar la publicación datos confidenciales en la minería de datos. La falta de técnicas rigurosas que permitan verificar formalmente este tipo de propiedades constituye un notable problema abierto que tiene que ser abordado. En esta tesis introducimos varias lógicas de programa quantitativas para razonar sobre esta clase de propiedades de seguridad. Nuestra principal contribución teórica es una versión quantitativa de una lógica de Hoare relacional para programas probabilísticos. Las pruebas de correción de estas lógicas son completamente formalizadas en el asistente de pruebas Coq. Desarrollamos, además, una herramienta para razonar sobre propiedades de programas a través de estas lógicas extendiendo CertiCrypt, un framework para verificar pruebas de criptografía en Coq. Confirmamos la efectividad y aplicabilidad de nuestra metodología construyendo pruebas certificadas por ordendor de varios sistemas cuyo análisis estaba fuera del alcance de la seguridad verificada. Esto incluye, entre otros, una meta-construcción para diseñar funciones de hash “seguras” sobre curvas elípticas y algoritmos diferencialmente privados para varios problemas de optimización combinatoria de la literatura reciente. ABSTRACT The verified security methodology is an emerging approach to build high assurance proofs about security properties of computer systems. Computer systems are modeled as probabilistic programs and one relies on rigorous program semantics techniques to prove that they comply with a given security goal. In particular, it advocates the use of interactive theorem provers or automated provers to build fully formal machine-checked versions of these security proofs. The verified security methodology has proved successful in modeling and reasoning about several standard security notions in the area of cryptography. However, it has fallen short of covering an important class of approximate, quantitative security notions. The distinguishing characteristic of this class of security notions is that they are stated as a “similarity” condition between the output distributions of two probabilistic programs, and this similarity is quantified using some notion of distance between probability distributions. This class comprises prominent security notions from multiple areas such as private data analysis, information flow analysis and cryptography. These include, for instance, indifferentiability, which enables securely replacing an idealized component of system with a concrete implementation, and differential privacy, a notion of privacy-preserving data mining that has received a great deal of attention in the last few years. The lack of rigorous techniques for verifying these properties is thus an important problem that needs to be addressed. In this dissertation we introduce several quantitative program logics to reason about this class of security notions. Our main theoretical contribution is, in particular, a quantitative variant of a full-fledged relational Hoare logic for probabilistic programs. The soundness of these logics is fully formalized in the Coq proof-assistant and tool support is also available through an extension of CertiCrypt, a framework to verify cryptographic proofs in Coq. We validate the applicability of our approach by building fully machine-checked proofs for several systems that were out of the reach of the verified security methodology. These comprise, among others, a construction to build “safe” hash functions into elliptic curves and differentially private algorithms for several combinatorial optimization problems from the recent literature.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Los lenguajes de programación son el idioma que los programadores usamos para comunicar a los computadores qué queremos que hagan. Desde el lenguaje ensamblador, que traduce una a una las instrucciones que interpreta un computador hasta lenguajes de alto nivel, se ha buscado desarrollar lenguajes más cercanos a la forma de pensar y expresarse de los humanos. Los lenguajes de programación lógicos como Prolog utilizan a su vez el lenguaje de la lógica de 1er orden de modo que el programador puede expresar las premisas del problema que se quiere resolver sin preocuparse del cómo se va a resolver dicho problema. La resolución del problema se equipara a encontrar una deducción del objetivo a alcanzar a partir de las premisas y equivale a lo que entendemos por la ejecución de un programa. Ciao es una implementación de Prolog (http://www.ciao-lang.org) y utiliza el método de resolución SLD, que realiza el recorrido de los árboles de decisión en profundidad(depth-first) lo que puede derivar en la ejecución de una rama de busqueda infinita (en un bucle infinito) sin llegar a dar respuestas. Ciao, al ser un sistema modular, permite la utilización de extensiones para implementar estrategias de resolución alternativas como la tabulación (OLDT). La tabulación es un método alternativo que se basa en memorizar las llamadas realizadas y sus respuestas para no repetir llamadas y poder usar las respuestas sin recomputar las llamadas. Algunos programas que con SLD entran en un bucle infinito, gracias a la tabulación dán todas las respuestas y termina. El modulo tabling es una implementación de tabulación mediante el algoritmo CHAT. Esta implementación es una versión beta que no tiene implementado un manejador de memoria. Entendemos que la gestión de memoria en el módulo de tabling tiene gran importancia, dado que la resolución con tabulación permite reducir el tiempo de computación (al no repetir llamadas), aumentando los requerimientos de memoria (para guardar las llamadas y las respuestas). Por lo tanto, el objetivo de este trabajo es implementar un mecanismo de gestión de la memoria en Ciao con el módulo tabling cargado. Para ello se ha realizado la implementación de: Un mecanismo de captura de errores que: detecta cuando el computador se queda sin memoria y activa la reinicialización del sitema. Un procedimiento que ajusta los punteros del modulo de tabling que apuntan a la WAM tras un proceso de realojo de algunas de las áreas de memoria de la WAM. Un gestor de memoria del modulo de tabling que detecta c realizar una ampliación de las áreas de memoria del modulo de tabling, realiza la solicitud de más memoria y realiza el ajuste de los punteros. Para ayudar al lector no familiarizado con este tema, describimos los datos que Ciao y el módulo de tabling alojan en las áreas de memoria dinámicas que queremos gestionar. Los casos de pruebas desarrollados para evaluar la implementación del gestor de memoria, ponen de manifiesto que: Disponer de un gestor de memoria dinámica permite la ejecución de programas en un mayor número de casos. La política de gestión de memoria incide en la velocidad de ejecución de los programas. ---ABSTRACT---Programming languages are the language that programmers use in order to communicate to computers what we want them to do. Starting from the assembly language, which translates one by one the instructions to the computer, and arriving to highly complex languages, programmers have tried to develop programming languages that resemble more closely the way of thinking and communicating of human beings. Logical programming languages, such as Prolog, use the language of logic of the first order so that programmers can express the premise of the problem that they want to solve without having to solve the problem itself. The solution to the problem is equal to finding a deduction of the objective to reach starting from the premises and corresponds to what is usually meant as the execution of a program. Ciao is an implementation of Prolog (http://www.ciao-lang.org) and uses the method of resolution SLD that carries out the path of the decision trees in depth (depth-frist). This can cause the execution of an infinite searching branch (an infinite loop) without getting to an answer. Since Ciao is a modular system, it allows the use of extensions to implement alternative resolution strategies, such as tabulation (OLDT). Tabulation is an alternative method that is based on the memorization of executions and their answers, in order to avoid the repetition of executions and to be able to use the answers without reexecutions. Some programs that get into an infinite loop with SLD are able to give all the answers and to finish thanks to tabulation. The tabling package is an implementation of tabulation through the algorithm CHAT. This implementation is a beta version which does not present a memory handler. The management of memory in the tabling package is highly important, since the solution with tabulation allows to reduce the system time (because it does not repeat executions) and increases the memory requirements (in order to save executions and answers). Therefore, the objective of this work is to implement a memory management mechanism in Ciao with the tabling package loaded. To achieve this goal, the following implementation were made: An error detection system that reveals when the computer is left without memory and activate the reinizialitation of the system. A procedure that adjusts the pointers of the tabling package which points to the WAM after a process of realloc of some of the WAM memory stacks. A memory manager of the tabling package that detects when it is necessary to expand the memory stacks of the tabling package, requests more memory, and adjusts the pointers. In order to help the readers who are not familiar with this topic, we described the data which Ciao and the tabling package host in the dynamic memory stacks that we want to manage. The test cases developed to evaluate the implementation of the memory manager show that: A manager for the dynamic memory allows the execution of programs in a larger number of cases. Memory management policy influences the program execution speed.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Este trabajo trata de la aplicación de los códigos detectores y correctores de error al diseño de los Computadores Tolerantes a Fallos, planteando varias estrategias óptimas de detección y corrección para algunos subsistemas. En primer lugar,"se justifica la necesidad de aplicar técnicas de Tolerancia a Fallos. A continuación se hacen previsiones de evolución de la tecnología de Integración, así como una tipificación de los fallos en circuitos Integrados. Partiendo de una recopilación y revisión de la teoría de códigos, se hace un desarrollo teórico cuya aplicación permite obligar a que algunos de estos códigos sean cerrados respecto de las operaciones elementales que se ejecutan en un computador. Se plantean estrategias óptimas de detección y corrección de error para sus subsistemas mas Importantes, culminando en el diseño, realización y prueba de una unidad de memoria y una unidad de proceso de datos con amplias posibilidades de detección y corrección de errores.---ABSTRACT---The present work deals with the application of error detecting and correctíng codes to the désign of Fault Tolerant Computers. Several óptimo» detection and correction strategies are presented to be applied in some subsystems. First of all, the necessity of applying Fault Tolerant techniques is explained. Later, a study on íntegration technology evolution and typification of Integrated circuit faults 1s developed. Based on a compilation and revisión of Coding Theory, a theoretical study is carried out. It allows us to force some of these codes to be closed over elementary operations. Optimum detection and correction techniques are presented for the raost important subsystems. Flnally, the design, building and testing of a memory unit and a processing unit provided with wlde error detection and correction posibilities 1s shown.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Uno de los campos de investigación más activos hoy en dia dentro del terreno de la inteligencia artificial (I.A.) es el de la representación del conocimiento. Actualmente es usual el clasificar los esquemas de representación del conocimiento en tres grandes grupos [Mylos 82]: Lógicos, de redes semánticas y procedimentales. Ponemos en primer lugar las representaciones lógicas porque es precisamente dentro de ellas donde el presente trabajo se puede encuadrar.