942 resultados para Teoria : Ciência : Computação
Resumo:
O conceito de parcialidade e importante em diversas áreas como a Matemática e a Ciência da Computação; ele pode ser utilizado, por exemplo, para expressar computações que não terminam e para definir funções recursivas parciais. Com rela cão a grafos, categorias de homomorfismos parciais são comuns (por exemplo, em gramáticas de grafos com a técnica de single-pushout). Este trabalho propõe uma abordagem diferente: a parcialidade é usada na estrutura interna dos objetos (não nos morfismos).Istoéfeito utilizando uma extensão do conceito de Categoria das Setas, chamada de Categoria das Setas Parciais. E definida entãoa categoria Grp de grafos parciais(tais que arcos podem possuir ou não vértices de origem e/ou destino) e homomorfismos totais.A generalização deste modelo resulta em categorias de grafos parciais internos.Émostrado que Grp é bicompleta e, se C é um topos, a categoria dos grafos parciais internos a C é cocompleta. Grafos parciais podem ser utilizados para definir modelos computacionais tais como autômatos. Uma categoria de Autômatos Parciais, denominada Autp, é construída a partir da categoria de Grafos Parciais. Usando uma extensão de composição de spans de grafos para autômatos, chamada de Composição de Transições, e possível definir as computações de autômatos. Brevemente, uma composição de transi cões de dois autômatos parciais resulta em um autômato parcial onde cada transição representa um caminho de tamanho dois (entre vértices), tal que a primeira metade é uma transição do primeiro autômato e a segunda metade é uma transição do segundo. É possível compor um autômato consigo mesmo diversas vezes; no caso de n sucessivas composições de transições, pode-se obter as palavras da linguagem aceita pelo autômato que necessitam de n+1 passos de computação nos arcos que não possuem origem e nem destino definidos do autômato parcial resultante.
Resumo:
Teoria das Categorias é uma ramificação da Matemática Pura com campo científico aparentemente distinto daquele que é objeto de estudo e pesquisa para a Ciência da Computação. Entretanto, algumas características dessa teoria matemática demonstram sua utilidade na pesquisa computacional. Dentre essas características podemos citar independência de implementação, dualidade, herança de resultados, possibilidade de comparação da expressividade de formalismos, notação gráfica e, sobretudo, expressividade das construções categoriais. Sua expressividade é explicitamente destacada pelo MEC nas Diretrizes Curriculares de Cursos da Área de Computação e Informática, onde afirma-se que “Teoria das Categorias possui construções cujo poder de expressão não possui, em geral, paralelo em outras teorias”. Entretanto, Teoria das Categorias tem encontrado obstáculos para ser efetivamente aplicada na Ciência da Computação. A baixa oferta de bibliografia - predominantemente de língua inglesa - e a falta de uniformidade na exposição do que sejam os tópicos introdutórios convergem e potencializam outro grande empecilho à sua propagação: a baixa oferta de cursos com enfoque em Teoria das Categorias. A fim de transpor essas dificuldades, Fábio Victor Pfeiff desenvolveu o CaTLeT, um aplicativo de interface visual que tinha como objetivo facilitar o acesso aos conceitos introdutórios de Teoria das Categorias Com inspiração fortemente educacional, CaTLeT somente é capaz de representar objetos e morfismos atômicos, o que o limita a servir somente aos conceitos iniciais. Em 2003, o CaTLeT foi ampliado e os objetos e morfismos, antes atômicos, passaram a representar conjuntos e relações, respectivamente. Este projeto consiste em uma ampliação tanto do CaTLeT quanto dos objetivos que justificaram sua criação. Esta dissertação trata de um projeto de simulador categorial e de sua respectiva implementação as quais visam fornecer suporte computacional a fim de facilitar o acesso a conceitos intermediários de Teoria das Categorias e servir como suporte à pesquisa na área. A construção desse simulador possui três critérios de avaliação como parâmetro: boa acessibilidade, alta relevância das estruturas implementadas e alta cobertura. A nova ferramenta - denominada CaTReS - deve manter a acessibilidade a usuários leigos que sua predecessora possui e ampliar significativamente as estruturas suportadas, além de incluir tratamento à conceitos funtoriais. Dessa maneira, este projeto vem para auxiliar na superação dos obstáculos anteriormente mencionados.
Resumo:
Os algoritmos baseados no paradigma Simulated Annealing e suas variações são atualmente usados de forma ampla na resolução de problemas de otimização de larga escala. Esta popularidade é resultado da estrutura extremamente simples e aparentemente universal dos algoritmos, da aplicabilidade geral e da habilidade de fornecer soluções bastante próximas da ótima. No início da década de 80, Kirkpatrick e outros apresentaram uma proposta de utilização dos conceitos de annealing (resfriamento lento e controlado de sólidos) em otimização combinatória. Esta proposta considera a forte analogia entre o processo físico de annealing e a resolução de problemas grandes de otimização combinatória. Simulated Annealing (SA) é um denominação genérica para os algoritmos desenvolvidos com base nesta proposta. Estes algoritmos combinam técnicas de busca local e de randomização. O objetivo do presente trabalho é proporcionar um entendimento das características do Simulated Annealing e facilitar o desenvolvimento de algoritmos com estas características. Assim, é apresentado como Simulated Annealing e suas variações estão sendo utilizados na resolução de problemas de otimização combinatória, proposta uma formalização através de um método de desenvolvimento de algoritmos e analisados aspectos de complexidade. O método de desenvolvimento especifica um programa abstrato para um algoritmo Simulated Annealing seqüencial, identifica funções e predicados que constituem os procedimentos deste programa abstrato e estabelece axiomas que permitem a visualização das propriedades que estes procedimentos devem satisfazer. A complexidade do Simulated Annealing é analisada a partir do programa abstrato desenvolvido e de seus principais procedimentos, permitindo o estabelecimento de uma equação genérica para a complexidade. Esta equação genérica é aplicável aos algoritmos desenvolvidos com base no método proposto. Uma prova de correção é apresentada para o programa abstrato e um código exemplo é analisado com relação aos axiomas estabelecidos. O estabelecimento de axiomas tem como propósito definir uma semântica para o algoritmo, o que permite a um desenvolvedor analisar a correção do código especificado para um algoritmo levando em consideração estes axiomas. O trabalho foi realizado a partir de um estudo introdutório de otimização combinatória, de técnicas de resolução de problemas, de um levantamento histórico do uso do Simulated Annealing, das variações em torno do modelo e de embasamentos matemáticos documentados. Isto permitiu identificar as características essenciais dos algoritmos baseados no paradigma, analisar os aspectos relacionados com estas características, como as diferentes formas de realizar uma prescrição de resfriamento e percorrer um espaço de soluções, e construir a fundamentação teórica genérica proposta.
Resumo:
A análise de um algoritmo tem por finalidade melhorar, quando possível, seu desempenho e dar condições de poder optar pelo melhor, dentre os algoritmos existentes, para resolver o mesmo problema. O cálculo da complexidade de algoritmos é muito dependente da classe dos algoritmos analisados. O cálculo depende da função tamanho e das operações fundamentais. Alguns aspectos do cálculo da complexidade, entretanto, não dependem do tipo de problema que o algoritmo resolve, mas somente das estruturas que o compõem, podendo, desta maneira, ser generalizados. Com base neste princípio, surgiu um método para o cálculo da complexidade de algoritmos no pior caso. Neste método foi definido que cada estrutura algorítmica possui uma equação de complexidade associada. Esse método propiciou a análise automática da complexidade de algoritmos. A análise automática de algoritmos tem como principal objetivo tornar o processo de cálculo da complexidade mais acessível. A união da metodologia para o pior caso, associada com a idéia da análise automática de programas, serviu de motivação para o desenvolvimento do protótipo de sistema ANAC, que é uma ferramenta para análise automática da complexidade de algoritmos não recursivos. O objetivo deste trabalho é implementar esta metodologia de cálculo de complexidade de algoritmos no pior caso, com a utilização de técnicas de construção de compiladores para que este sistema possa analisar algoritmos gerando como resultado final a complexidade do algoritmo dada em ordens assintóticas.
Resumo:
Nos últimos 70 anos têm sido apresentadas várias propostas para caracteriza ção da noção intuitiva de computabilidade. O modelo de Computação mais conhecido para expressar a noção intuitiva de algoritmo é a Máquina de Turing. Esse trabalho apresenta máquinas abstratas que representam diferentes formas de comportamento computacional, sendo possível abordar a diversidade entre a Teoria da Computação Clássica (Máquina de Turing) e a Teoria da Computa- ção Interativa (Máquina de Turing Persistente). Com a evolução dos sistemas de computação, surgiu a necessidade de estender a de nição de Máquina de Turing para tratar uma diversidade de novas situações, esses problemas conduziram a uma mudança de paradigma. Neste contexto foi desenvolvido a Máquina de Turing Persistente, que é capaz de fundamentar a Teoria da Computação Interativa. Máquinas de Turing Persistentes (PeTM) são modelos que expressam comportamento interativo, esse modelo é uma extensão da Máquina de Turing. O presente trabalho tem como objetivo explorar paralelismo na Máquina de Turing Persistente, através da formalização de uma extensão paralela da PeTM e o estudo dos efeitos sobre essa extensão, variando o número de tas de trabalho. Contribui- ções desse trabalho incluem a de nição de uma máquina de Turing Persistente Paralela para modelar computação interativa e uma exposição de conceitos fundamentais e necessários para o entendimento desse novo paradigma. Os métodos e conceitos apresentados para formalização da computação na Máquina de Turing Persistente Paralela desenvolvidos nessa dissertação, podem servir como base para uma melhor compreensão da Teoria da Computação Interativa e da forma como o paralelismo pode ser especi cado em modelos teóricos.
Resumo:
Com o objetivo de desenvolver uma fundamentação teórica para o estudo formal de problemas de otimização NP-difíceis, focalizando sobre as propriedades estruturais desses problemas relacionadas à questão da aproximabilidade, este trabalho apresenta uma abordagem semântica para tratar algumas questões originalmente estudadas dentro da Teoria da Complexidade Computacional, especificamente no contexto da Complexidade Estrutural. Procede-se a uma investigação de interesse essencialmente teórico, buscando obter uma formalização para a teoria dos algoritmos aproximativos em dois sentidos. Por um lado, considera-se um algoritmo aproximativo para um problema de otimização genérico como o principal objeto de estudo, estruturando-se matematicamente o conjunto de algoritmos aproximativos para tal problema como uma ordem parcial, no enfoque da Teoria dos Domínios de Scott. Por outro lado, focaliza-se sobre as reduções entre problemas de otimização, consideradas como morfismos numa abordagem dentro da Teoria das Categorias, onde problemas de otimização e problemas aproximáveis são os objetos das novas categorias introduzidas. Dentro de cada abordagem, procura-se identificar aqueles elementos universais, tais como elementos finitos, objetos totais, problemas completos para uma classe, apresentando ainda um sistema que modela a hierarquia de aproximação para um problema de otimização NP-difícil, com base na teoria categorial da forma. Cada uma destas estruturas matemáticas fornecem fundamentação teórica em aspectos que se complementam. A primeira providencia uma estruturação interna para os objetos, caracterizando as classes de problemas em relação às propriedades de aproximabilidade de seus membros, no sentido da Teoria dos Domínios, enquanto que a segunda caracteriza-se por relacionar os objetos entre si, em termos de reduções preservando aproximação entre problemas, num ponto de vista externo, essencialmente categorial.
Resumo:
O aumento da escala e funcionalidade dos sistemas de computação e sua crescente complexidade envolvem um aumento significante de custos e exigem recursos humanos altamente qualificados para o desenvolvimento de software. Integrando-se o uso de métodos formais ao desenvolvimento de sistemas complexos, permite-se realizar análises e verificações destes sistemas, garantindo assim sua correção. Existem diversos formalismos que permitem descrever sistemas, cada qual com diferentes níveis de abstração. Quando consideramos sistemas complexos, surge a necessidade de um modelo que forneça construções abstratas que facilitem o entendimento e a especificação destes sistemas. Um modelo baseado em objetos fornece um nível de abstração que tem sido muito aplicado na prática, onde os dados e os processos que os manipulam são descritos juntos em um objeto. Gramática de Grafos Baseada em Objetos (GGBO) é um modelo baseado em objetos, que além de ser uma linguagem visual, apresenta a vantagem de as especificações adquirirem um estilo baseado em objetos, que é bastante familiar à maioria dos desenvolvedores. Porém, as GGBOs não possuem ainda ferramentas para verificação automática de propriedades desejadas nos sistemas modelados. Uma alternativa para resolver isso é definir uma tradução (que preserve a semântica) desta linguagem para outra, para a qual existam verificadores automáticos. Um formalismo bastante conhecido e estabelecido para descrição de sistemas concorrentes, para o qual existem verificadores automáticos, é o cálculo-π. Porém, sob o aspecto de especificação de sistemas complexos, GGBOs parecem ser mais adequadas como linguagem de especificação que o cálculo-π, pois são visuais, mais intuitivas e possuem um estilo baseado em objetos. Neste trabalho foi definido um formalismo (baseado nas GGBOs), denominado Gramática de Hipergrafos Baseada em Objetos e uma tradução deste formalismo para o cálculo-π, aliando assim as vantagens desses dois métodos. Além disso, para validar a tradução definida, foram feitas provas de que a semântica das gramáticas de hipergrafos baseadas em objetos é preservada na tradução.
Resumo:
Este trabalho versa sobre a avaliação da compressão de dados e da qualidade de imagens e animações usando-se complexidade de Kolmogorov, simulação de máquinas e distância de informação. Complexidade de Kolmogorov é uma teoria da informação e da aleatoriedade baseada na máquina de Turing. No trabalho é proposto um método para avaliar a compressão de dados de modelos de animação gráfica usando-se simulação de máquinas. Também definimos formalmente compressão de dados com perdas e propomos a aplicação da distância de informação como uma métrica de qualidade de imagem. O desenvolvimento de uma metodologia para avaliar a compressão de dados de modelos de animação gráfica para web é útil, a medida que as páginas na web estão sendo cada vez mais enriquecidas com animações, som e vídeo, e a economia de banda de canal tornase importante, pois os arquivos envolvidos são geralmente grandes. Boa parte do apelo e das vantagens da web em aplicações como, por exemplo, educação à distância ou publicidade, reside exatamente na existência de elementos multimídia, que apoiam a idéia que está sendo apresentada na página. Como estudo de caso, o método de comparação e avaliação de modelos de animação gráfica foi aplicado na comparação de dois modelos: GIF (Graphics Interchange Format) e AGA (Animação Gráfica baseada em Autômatos finitos), provando formalmente que AGA é melhor que GIF (“melhor” significa que AGA comprime mais as animações que GIF). Foi desenvolvida também uma definição formal de compressão de dados com perdas com o objetivo de estender a metodologia de avalição apresentada Distância de informação é proposta como uma nova métrica de qualidade de imagem, e tem como grande vantagem ser uma medida universal, ou seja, capaz de incorporar toda e qualquer medida computável concebível. A métrica proposta foi testada em uma série de experimentos e comparada com a distância euclidiana (medida tradicionalmente usada nestes casos). Os resultados dos testes são uma evidência prática que a distância proposta é efetiva neste novo contexto de aplicação, e que apresenta, em alguns casos, resultados superiores ao da distância euclidiana. Isto também é uma evidência que a distância de informação é uma métrica mais fina que a distância euclidiana. Também mostramos que há casos em que podemos aplicar a distância de informação, mas não podemos aplicar a distância euclidiana. A métrica proposta foi aplicada também na avaliação de animações gráficas baseadas em frames, onde apresentou resultados melhores que os obtidos com imagens puras. Este tipo de avaliação de animações é inédita na literatura, segundo revisão bibliográfica feita. Finalmente, neste trabalho é apresentado um refinamento à medida proposta que apresentou resultados melhores que a aplicação simples e direta da distância de informação.
Resumo:
Na última década muitos esforços têm sido feitos em verificação formal de propriedades de agentes do cálculo-π. Uma dessas propriedades é a equivalência observacional, que serve para determinar se um processo é equivalente a sua especificação. Contudo, a verificação de equivalência observacional não é um problema trivial. A maioria dos algoritmos destinados a verificação de equivalência são baseados na construção de sistemas de transições rotuladas (π-autômatos). O principal problema com essa abordagem é o grande número de estados envolvidos podendo chegar a um número infinito. Montanari e Pistore mostram que é possível gerar π-autômatos finitos para agentes-π e é possível reduzir a quantidade de estados desses π-autômatos, através da identificação dos nomes ativos. Um nome é semanticamente ativo em um agente se ele pode ser executado de forma observável por ele. Este é um trabalho de análise estática, que tem por objetivo coletar os possíveis nomes ativos contidos em expressões-π, utilizando para isso um sistema de tipos. A vantagem da utilização de sistemas de tipos em relação a outras formas de análise estática é que sistemas de tipos são sistemas lógicos, logo as técnicas de prova da lógica podem ser aproveitadas no estudo de propriedades de sistemas de tipos. Além disso sistemas de tipos são definidos através da estrutura sintática de expressões, facilitando assim as provas por indução estrutural. Assim a principal contribuição deste trabalho é a elaboração do Active-Base-π, um sistema de tipos para a coleta de nomes ativos de expressões-π.
Resumo:
Lógicas modais têm sido amplamente utilizadas em Ciência da Computação e inteligência artificial. Além disso, aplicações de lógicas modais na representação do conhecimento em sistemas distribuídos e, mais recentemente, em sistemas multiagentes, têm apresentado resultados promissores. No entanto, outros sistemas de prova para estas lógicas que não os sistemas axiomáticos à la Hilbert são raros na literatura. Este trabalho tem como objetivo principal preencher esta lacuna existente na literatura, ao propor um sistema de prova por dedução natural rotulada para lógicas do conhecimento.
Resumo:
This undergraduate thesis aims formally define aspects of Quantum Turing Machine using as a basis quantum finite automata. We introduce the basic concepts of quantum mechanics and quantum computing through principles such as superposition, entanglement of quantum states, quantum bits and algorithms. We demonstrate the Bell's teleportation theorem, enunciated in the form of Deutsch-Jozsa definition for quantum algorithms. The way as the overall text were written omits formal aspects of quantum mechanics, encouraging computer scientists to understand the framework of quantum computation. We conclude our thesis by listing the Quantum Turing Machine's main limitations regarding the well-known Classical Turing Machines
Resumo:
This undergraduate thesis aims formally define aspects of Quantum Turing Machine using as a basis quantum finite automata. We introduce the basic concepts of quantum mechanics and quantum computing through principles such as superposition, entanglement of quantum states, quantum bits and algorithms. We demonstrate the Bell's teleportation theorem, enunciated in the form of Deutsch-Jozsa definition for quantum algorithms. The way as the overall text were written omits formal aspects of quantum mechanics, encouraging computer scientists to understand the framework of quantum computation. We conclude our thesis by listing the Quantum Turing Machine's main limitations regarding the well-known Classical Turing Machines
Resumo:
Este trabalho tem por objetivo relatar os resultados preliminares de uma experiência de integração curricular, em andamento na Escola de Informática da UCPel, na área de fundamentos matemáticos da Ciência da Computação. A concepção curricular da experiência está baseada nas idéias de Basil Bernstein sobre currículos de coleção e/ou integração, na idéia de desenvolvimento autônomo do aluno e na organização do ensino em forma semi-presencial (com apoio da Internet) e cooperativa (com apoio de softwares matemáticos).
Resumo:
An adaptive device is made up of an underlying mechanism, for instance, an automaton, a grammar, a decision tree, etc., to which is added an adaptive mechanism, responsible for allowing a dynamic modification in the structure of the underlying mechanism. This article aims to investigate if a programming language can be used as an underlying mechanism of an adaptive device, resulting in an adaptive language.