RCAAP Repository
Detecção de obstáculos usando fusão de dados de percepção 3D e radar em veículos automotivos
Este projeto de mestrado visa a pesquisa e o desenvolvimento de métodos e algoritmos, relacionados ao uso de radares, visão computacional, calibração e fusão de sensores em veículos autônomos/inteligentes para fazer a detecção de obstáculos. O processo de detecção de obstáculos se divide em três etapas, a primeira é a leitura de sinais de Radar, do LiDAR e a captura de dados da câmera estéreo devidamente calibrados, a segunda etapa é a fusão de dados obtidos na etapa anterior (Radar+câmera, Radar+LIDAR 3D), a terceira etapa é a extração de características das informações obtidas, identificando e diferenciando o plano de suporte (chão) dos obstáculos, e finalmente realizando a detecção dos obstáculos resultantes da fusão dos dados. Assim é possível diferenciar os diversos tipos de elementos identificados pelo Radar e que são confirmados e unidos aos dados obtidos por visão computacional ou LIDAR (nuvens de pontos), obtendo uma descrição mais precisa do contorno, formato, tamanho e posicionamento destes. Na tarefa de detecção é importante localizar e segmentar os obstáculos para posteriormente tomar decisões referentes ao controle do veículo autônomo/inteligente. É importante destacar que o Radar opera em condições adversas (pouca ou nenhuma iluminação, com poeira ou neblina), porém permite obter apenas pontos isolados representando os obstáculos (esparsos). Por outro lado, a câmera estéreo e o LIDAR 3D permitem definir os contornos dos objetos representando mais adequadamente seu volume, porém no caso da câmera esta é mais suscetível a variações na iluminação e a condições restritas ambientais e de visibilidade (p.ex. poeira, neblina, chuva). Também devemos destacar que antes do processo de fusão é importante alinhar espacialmente os dados dos sensores, isto e calibrar adequadamente os sensores para poder transladar dados fornecidos por um sensor referenciado no próprio sistema de coordenadas para um outro sistema de coordenadas de outro sensor ou para um sistema de coordenadas global. Este projeto foi desenvolvido usando a plataforma CaRINA II desenvolvida junto ao Laboratório LRM do ICMC/USP São Carlos. Por fim, o projeto foi implementado usando o ambiente ROS, OpenCV e PCL, permitindo a realização de experimentos com dados reais de Radar, LIDAR e câmera estéreo, bem como realizando uma avaliação da qualidade da fusão dos dados e detecção de obstáculos comestes sensores.
2017
Luis Alberto Rosero Rosero
SEQUENCIAMENTO DA PRODUÇÃO COM RESTRIÇÕES DISJUNTIVAS
O problema do sequenciamento da produção consiste em determinar a sequência de operações a processar em cada uma das máquinas disponíveis na fabrica de modo que a duração total de sequenciamento seja mínima. As peças são processadas de acordo com roteiros de fabricação fixados e as durações operatórias são conhecidas. Nesta dissertação estudamos o problema do sequenciamento da produção com restrições disjuntivas através de duas abordagens: programação inteira e teoria dos grafos. Três programas computacionais baseados em teoria dos grafos foram desenvolvidos e testados. Estes programas permitiram a resolução eficiente de vários exemplos apesar do caráter não-polinomial do problema estudado.
1995
Adriana Backx Noronha Viana
FERRAMENTAS PARA ANALISE DE DESEMPENHO DE SISTEMAS COMPUTACIONAIS DISTRIBUIDOS
Neste trabalho são apresentadas diversas ferramentas disponíveis para análise de desempenho de sistemas computacionais. Aspectos como adequabilidade das ferramentas para uma dada proposta de análise, facilidade de utilização, dificuldades envolvidas nas alterações do modelo do sistema, tempo necessário para efetuar a análise, custo da implementação e a precisão dos resultados obtidos, são considerados e discutidos nesta dissertação. As ferramentas e metodologias abordadas nesta dissertação, aplicam-se a sistemas computacionais em geral, embora o interesse deste trabalho é direcionado para a análise de desempenho em sistema computacionais distribuídos. Os conceitos envolvidos com sistemas computacionais distribuídos são apresentados e discutidos com o objetivo de se formar uma base para o desenvolvimento desse trabalho. Quatro modelos distintos são propostos para o estudo do desempenho de um servidor de arquivos, com o objetivo de verificar o comportamento das ferramentas de simulação e modelos analíticos. Análises estatísticas são realizadas, visando qualificar e quantificar a precisão dos dados fornecidos pela solução de cada um dos modelos, para cada uma das técnicas utilizadas. O trabalho discute a possibilidade de se obter dados significativos a respeito do comportamento de um sistema, dependendo do objetivo da análise, utilizando-se técnicas simples. Cálculo de assíntotas e modelos simplificados como M/M/1, são utilizados para estudar a relação entre o grau de complexidade de um modelo e o grau de precisão fornecido pela solução obtida. O trabalho aborda também a implementação de um sistema de simulação através de uma extensão funcional da linguagem C, em ambiente UNIX; discute-se também uma implementação em ambiente DOS.
1995
Regina Celia Ghislotti de Sousa
"O problema de corte de estoque com reaproveitamento das sobras de material"
Os problemas de corte de estoque unidimensional consistem em cortar um conjunto de peças disponíveis em estoque para produzir um conjunto de itens em quantidades especificadas, em que apenas uma dimensão é relevante. Tais problemas têm inúmeras aplicações industriais e são bastante estudados na literatura. Tipicamente, esses problemas de corte apresentam uma característica comum - a minimização das perdas -entretanto, neste trabalho, consideramos que se uma perda é suficientemente grande para ser reaproveitada no futuro, não deve ser contabilizada como perda. Isto introduz uma postura diferente frente ao problema de corte: até que ponto a solução de perda mínima é a mais interessante, já que sobras podem ser reaproveitadas? Algumas características para considerar se uma solução é desejável são definidas e alterações em métodos heurísticos clássicos são propostas, de modo que os padrões de corte com perdas indesejáveis (nem tão grande, nem tão pequena) sejam alterados. As análises das soluções heurísticas são realizadas com base na resolução de um conjunto de classes de exemplos geradas aleatoriamente.
2006
Adriana Cristina Cherri
Metaheurísticas para o problema de agrupamento de dados em grafo
O problema de agrupamento de dados em grafos consiste em encontrar clusters de nós em um dado grafo, ou seja, encontrar subgrafos com alta conectividade. Esse problema pode receber outras nomenclaturas, algumas delas são: problema de particionamento de grafos e problema de detecção de comunidades. Para modelar esse problema, existem diversas formulações matemáticas, cada qual com suas vantagens e desvantagens. A maioria dessas formulações tem como desvantagem a necessidade da definição prévia do número de grupos que se deseja obter. Entretanto, esse tipo de informação não está contida em dados para agrupamento, ou seja, em dados não rotulados. Esse foi um dos motivos da popularização nas últimas décadas da medida conhecida como modularidade, que tem sido maximizada para encontrar partições em grafos. Essa formulação, além de não exigir a definição prévia do número de clusters, se destaca pela qualidade das partições que ela fornece. Nesta Tese, metaheurísticas Greedy Randomized Search Procedures para dois modelos existentes para agrupamento em grafos foram propostas: uma para o problema de maximização da modularidade e a outra para o problema de maximização da similaridade intra-cluster. Os resultados obtidos por essas metaheurísticas foram melhores quando comparadas àqueles de outras heurísticas encontradas na literatura. Entretanto, o custo computacional foi alto, principalmente o da metaheurística para o modelo de maximização da modularidade. Com o passar dos anos, estudos revelaram que a formulação que maximiza a modularidade das partições possui algumas limitações. A fim de promover uma alternativa à altura do modelo de maximização da modularidade, esta Tese propõe novas formulações matemáticas de agrupamento em grafos com e sem pesos que visam encontrar partições cujos clusters apresentem alta conectividade. Além disso, as formulações propostas são capazes de prover partições sem a necessidade de definição prévia do número de clusters. Testes com centenas de grafos com pesos comprovaram a eficiência dos modelos propostos. Comparando as partições provenientes de todos os modelos estudados nesta Tese, foram observados melhores resultados em uma das novas formulações propostas, que encontrou partições bastante satisfatórias, superiores às outras existentes, até mesmo para a de maximização de modularidade. Os resultados apresentaram alta correlação com a classificação real dos dados simulados e reais, sendo esses últimos, em sua maioria, de origem biológica
2010
Mariá Cristina Vasconcelos Nascimento
Operação de busca exata aos K-vizinhos mais próximos reversos em espaços métricos
A complexidade dos dados armazenados em grandes bases de dados aumenta cada vez mais, criando a necessidade de novas operações de consulta. Uma classe de operações que tem apresentado interesse crescente são as chamadas Consultas por Similaridade, sendo as mais conhecidas as consultas por Abrangência (\'R IND. q\') e por k-Vizinhos mais Proximos (kNN), sendo que esta ultima obtem quais são os k elementos armazenados mais similares a um dado elemento de referência. Outra consulta que é interessante tanto para consultas diretas quanto como parte de operações de análises mais complexas e a operação de consulta aos k-Vizinhos mais Próximos Reversos (RkNN). Seu objetivo e obter todos os elementos armazenados que têm um dado elemento de referência como um dos seus k elementos mais similares. Devido a complexidade de execução da operação de RkNN, a grande maioria das soluções existentes restringem-se a dados representados em espaços multidimensionais euclidianos (nos quais estão denidas tambem operações cardinais e topológicas, além de se considerar a similaridade como sendo a distância Euclidiana entre dois elementos), ou então obtém apenas respostas aproximadas, sujeitas a existência de falsos negativos. Várias aplicações de análise de dados científicos, médicos, de engenharia, financeiros, etc. requerem soluções eficientes para o problema da operação de RkNN sobre dados representados em espaços métricos, onde os elementos não podem ser considerados estar em um espaço nem Euclidiano nem multidimensional. Num espaço métrico, além dos próprios elementos armazenados existe apenas uma função de comparação métrica entre pares de objetos. Neste trabalho, são propostas novas podas de espaço de busca e o algoritmo RkNN-MG que utiliza essas novas podas para solucionar o problema de consultas RkNN exatas em espaços métricos sem limitações. Toda a proposta supõe que o conjunto de dados esta em um espaço métrico imerso isometricamente em espaço euclidiano e utiliza propriedades da geometria métrica válida neste espaço para realizar podas eficientes por lei dos cossenos combinada com as podas tradicionais por desigualdade triangular. Os experimentos demonstram comparativamente que as novas podas são mais eficientes que as tradicionais podas por desigualdade triangular, tendo desempenhos equivalente quando comparadas em conjuntos de alta dimensionalidade ou com dimensão fractal alta. Assim, os resultados confirmam as novas podas propostas como soluções alternativas eficientes para o problema de consultas RkNN
2010
Willian Dener de Oliveira
Gerenciamento de tags na arquitetura ChipCflow - uma máquina a fluxo de dados dinâmica
Nos últimos anos, percebeu-se uma crescente busca por softwares e arquiteturas alternativas. Essa busca acontece porque houve avanços na tecnologia do hardware e estes avanços devem ser complementados por inovações nas metodologias de projetos, testes e verificação para que haja um uso eficaz da tecnologia. Muitos dos softwares e arquiteturas alternativas, geralmente partem para modelos que exploram o paralelismo das aplicações, ao contrário do modelo de von Neumann. Dentre as arquiteturas alternativas de alto desempenho, tem-se a arquitetura a fluxo de dados. Nesse tipo de arquitetura, o processo de execução de programas é determinado pela disponibilidade dos dados. Logo, o paralelismo está embutido na própria natureza do sistema. O modelo a fluxo de dados possui a vantagem de expressar o paralelismo de maneira intrínseca, eliminando a necessidade de o programador explicitar em seu código os trechos onde deve haver paralelismo. As arquiteturas a fluxo de dados voltaram a ser um tema de pesquisa devido aos avanços do hardware, em particular, os avanços da Computação Reconfigurável e os FPGAs (Field-Programmable Gate Arrays). O projeto ChipCflow é uma ferramenta para execução de algoritmos usando o modelo a fluxo de dados dinâmico em FPGA. Este trabalho apresenta o formato para os tagged-tokens do ChipCflow, os operadores de manipulação das tags dos tokens e suas implementações a fim de que se tenha a PROVA-DE-CONCEITOS para tais operadores na arquitetura ChipCflow
Novos métodos incrementais para otimização convexa não-diferenciável em dois níveis com aplicações em reconstrução de imagens em tomografia por emissão
Apresentamos dois novos métodos para a solução de problemas de otimização convexa em dois níveis não necessariamente diferenciáveis, i.e., mostramos que as sequências geradas por ambos os métodos convergem para o conjunto ótimo de uma função não suave sujeito a um conjunto que também envolve a minimização de uma função não diferenciável. Ambos os algoritmos dispensam qualquer tipo de resolução de subproblemas ou busca linear durante suas iterações. Ao final, para demonstrar que os métodos são viáveis, resolvemos um problema de reconstrução de imagens tomográficas
2013
Lucas Eduardo Azevedo Simões
MidHPC: Um suporte para a execução transparente de aplicações em grids computacionais
Pesquisas em sistemas paralelos e distribuídos de alto desempenho apresentam limitações no que se refere a análise, projeto, implementação e execução automática e transparente de aplicações. Essas limitações motivaram o projeto do MidHPC (do inglês Middleware for High Performance Computing, ou seja, Middleware para Computação de Alto Desempenho), que balanceia transparente e automaticamente cargas de trabalho considerando a capacidade dos recursos computacionais e o comportamento das aplicações envolvendo: processamento, acesso a disco, memória e rede. Para utilizar todo o potencial do MidHPC, aplicações devem ser escritas utilizando o modelo de programação concorrente, tal como o padrão POSIX de threads (pthreads). Aplicações desenvolvidas seguindo esse modelo de programação podem ser executadas em ambientes de Grid sem alteração de código fonte ou recompilação. Durante a execução, tarefas de uma mesma aplicação paralela comunicam-se, transparentemente, por meio de um sistema de memória compartilhada distribuída. O objetivo deste trabalho foi desenvolver alguns dos módulos do projeto MidHPC e integrar demais ferramentas que haviam sido previamente desenvolvidas pelo grupo. Este trabalho permite aplicar, em ambientes reais, todos os conceitos de escalonamento de processos estudados e desenvolvidos durante o projeto MidHPC
2008
José Augusto Andrade Filho
Estrutura de dados Mate Face e aplicações em geração e movimento de malhas
Estruturas de dados (ED) topológicas oferecem diversas vantagens quando se deseja executarumadeformação sobreumamalha. Essas EDs permitem movimentar os nós da malha sem modificar sua topologia, são relativamente simples de seremimplementadas e também são passíveis de serem incorporadas a um ciclo simulação/deformação de forma completamente automática e eficiente. O primeiro objetivo deste trabalho é a concepção de uma ED topológica para representação de malhas elásticas. Tais malhas podem ser do tipo superficial ou volumétrica, e ainda simples ou mista. Para melhor desempenho, confiabilidade e menor consumo de memória, deseja-se que a ED seja implícita quanto à representação de componentes incidentes e adjacentes dos elementos presentes na malha. Outro objetivo deste trabalho é abordar o problema de geração de malhas em domínios arbitrários definidos por uma função implícita. O método proposto é uma extensão do algoritmo de Partição da Unidade Implícita (PUI). Para isso, o método proposto é baseado numa abordagem de preenchimento de superfícies. Este método proposto gera adaptativamente tetraedros em diferentes níveis de refinamento de acordo com o nível de detalhe presente na região do domínio. Diferentemente de trabalhos anteriores, esta característica é feita naturalmente sem necessitar de uma estrutura auxiliar. Para este fim, usa-se uma estrutura algébrica chamada de triangulação Ja1 que é capaz de lidar com tais refinamentos. Além do mais, a triangulação Ja1 permite que se percorra a estrutura simplesmente através de regras algébricas que é uma outra vantagem do método proposto
2009
Ícaro Lins Leitão da Cunha
Avaliação dos protocolos VoIP SIP e IAX utilizando simulação e parâmetros de qualidade de voz
Recentemente, as tecnologias de telecomunicações esão convergindo para a concepção da Next Generation Network, onde propõe-se que todas as informações trocadas sejam classificadas por prioridade e segurança. Porém, como as redes atuais ainda não promovem tais práticas, protocolos VoIP, em conjunto a outras soluçõoes, buscam a melhoria da qualidade das ligações. Como o protocolo VoIP IAX vem ganhando credibilidade na comunidade open source nos úlltimos anos, torna-se relevante compará-lo ao protocolo SIP, o qual é bastante investigado pela literatura. Desta forma, o objetivo deste trabalho é o estudo e avaliação dos protocolos SIP e IAX, através de verificações de qualidade do áudio em ligações VoIP. Para a realização dos experimentos foi desenvolvida uma estrutura que representasse chamadas VoIP no simulador Network Simulator e, para tais ligações, empregou-se método de avaliação de qualidade PESQ. Assim, foi possível a verficação das semelhanças compreendidas entre os protocolos SIP e IAX diante dos problemas de perda de pacotes, atraso, limitação da taxa de dados e jitter
Heurísticas e guidelines para apresentação de hiperdocumentos multimídia na Web
A literatura apresenta regras de usabilidade para orientar o projeto de interfaces de sistemas de software. No entanto, essas regras geralmente estão relacionadas a aspectos de apresentação de mídias de informação isoladas, mostrando-se limitadas quando analisadas sob a perspectiva de diferentes mídias. Propõe-se, a partir de regras de usabilidade propostas na literatura e da avaliação de usabilidade de hiperdocumentos multimídia de um sistema Web, um conjunto de regras que se aplica ao projeto de hiperdocumentos multimídia voltados para o contexto da World Wide Web. As novas regras foram utilizadas para orientar a implementação de uma nova versão de hiperdocumentos para o sistema originariamente avaliado. No contexto do mesmo sistema, as regras propostas foram comparadas com um conjunto clássico de regras de usabilidade. Finalmente, as novas regras foram investigadas em termos de sua adequação à avaliação de hiperdocumentos multimídia de outros dois sistemas Web.
2002
Otávio A Martins Netto
Projeto e desenvolvimento de uma base de dados lexicais do português
O desenvolvimento de recursos computacionais para PLN é, na maioria das vezes, uma tarefa árdua e demorada, principalmente na fase inicial, de aquisição de conhecimento. Esta tarefa pode ser simplificada com a centralização dos dados em um repositório que armazene todas as informações lexicais disponíveis de uma determinada língua. Este trabalho documenta o desenvolvimento da DlADORIM, uma base relacional de dados lexicais para a língua portuguesa, com cerca de 1.5 milhão de entradas. Os desafios linguísticos e computacionais encontrados durante todo o processo são discutidos. Várias interfaces de acesso e edição foram implementadas e avaliadas.
2002
Juliana Galvani Greghi
Preâmbulo ao aconselhamento ortográfico para o português do Brasil - uma releitura baseada em utilidade e conhecimento lingüístico
Neste trabalho, fazemos uma releitura crítica do problema do aconselhamento ortográfico para o português do Brasil, entendido como a correção interativa de erros ortográficos ortográficos em palavras isoladas, e reagimos. Em primeiro lugar, identificamos um parâmetro de qualidade importante - utilidade - e argumentamos que as soluções correntes o negligenciam. Procuramos meios de maximizar esse parâmetro, um dos quais justificamos ser o embasamento linguístico e daí propomos uma arquitetura genérica de sistema corretor interativo centrado em utilidade. Continuamos o trabalho levantando conhecimentos linguísticos relevantes e fazendo considerações úteis ao desenvolvimento de um conselheiro ortográfico segundo o modelo proposto.
2002
Jorge Marques Pelizzoni
Uma ferramenta acessível de apoio à modelagem de software na Web
Com o aumento do uso das atividades de modelagem em processos de desenvolvimento de software, a participação de pessoas com deficiência visual em tais processos requer esforços dedicados para que os modelos sejam passíveis de entendimento, caso contrário essa participação fica comprometida. Os modelos são em sua maioria visuais e, portanto, seu processo de construção requer o posicionamento de elementos no espaço do documento por meio de um dispositivo de apontar, como o mouse, e sua leitura requer o uso da visão, uma vez que os diagramas são compostos não apenas por textos, mas também por elementos visuais como retângulos e arcos conectando-os. Neste contexto, o objetivo deste projeto foi desenvolver uma técnica textual para representação e interação com diagramas que possibilite que pessoas com deficiência visual sejam capazes de colaborar em projetos de software, tanto utilizando uma abordagem de desenvolvimento orientado a modelos, quanto em uma abordagem de desenvolvimento tradicional. Para atingir o objetivo proposto foi desenvolvido um protótipo de uma ferramenta Web, a AWMo (lê-se letra a letra: A-W-M-O), a partir da qual a edição de modelos pode ser realizada por meio de duas visões equivalentes: uma visão gráfica, na qual o engenheiro de software poderá inserir novos elementos no diagrama, posicioná-los e definir suas propriedades de modo visual; e uma visão textual, na qual o engenheiro de software pode inserir novos elementos, propriedades e relacioná-los utilizando uma gramática textual. Um estudo de caso foi conduzido para avaliar sua eficácia e os resultados mostraram que a linguagem textual desenvolvida não representa uma barreira para a utilização da abordagem proposta pela AWMo. Os resultados sugerem que a AWMo é uma opção viável para facilitar o acesso de deficientes visuais a modelos de software, ajudando a promover a colaboração e comunicação efetiva e de maneira independente entre usuários com e sem visão para atividades de modelagem de software
2014
Filipe Del Nero Grillo
Proposta de uma arquitetura base para integração de VANT
O presente documento tem por objetivo apresentar a dissertação desenvolvida no Programa de Mestrado em Ciência da Computação e Matemática Computacional do ICMC/USP. A presente pesquisa propõe uma arquitetura base que integra Veículos Aéreos Não Tripulados ({VANTs}) com uma plataforma web. No contexto de arquitetura de software, essa dissertação descreve uma arquitetura base modularizada capaz de se adaptar as exigências de cada aplicação. Os VANTs estão sendo utilizados em aplicações em áreas como agricultura, segurança, monitoramento ambiental, coleta de dados, cidades inteligentes, entre outras. A plataforma web aqui descrita agrega diferentes módulos que satisfaçam a necessidade de diferentes áreas de aplicações. Dados gerados por estas aeronaves como imagens, vídeos ou informações do próprio voos são de extrema importância. Elas devem ser acessíveis e armazenados de forma organizadas e segura. Muitos trabalhos são encontrados na literatura sobre VANT, mas poucos tratam o problema de acesso a informações de voos e dados coletados a partir de uma arquitetura base geral. Neste trabalho, a elaboração da arquitetura é feita a partir de entrevistas e questionários que permitam levantar similaridades a partir das diferentes demandas apontadas por usuários de VANTs. Para validar a arquitetura base proposta, um protótipo do sistema foi desenvolvido e validado através de um estudo de caso realizado em uma fazenda com cultivos de mangas. Os resultados obtidos atestam a viabilidade do uso da arquitetura base aqui introduzida no desenvolvimento de plataformas web capazes de processar dados coletados por VANTs e gerar informações relevantes para os seus usuários.
2019
Fernanda Pereira Guidoti
Compreendendo e prevendo o processo legislativo via ciência de dados
Apenas 10% dos cerca de 1.6 mil novos Projetos de Lei Ordinária apresentados anualmente na Câmara dos Deputados são aprovados. Uma grande quantidade de tempo e de recursos são investidos em análises qualitativas para entender e identificar quais projetos possuem ou não a chance de serem aprovados. Porém, as análises qualitativas manuais são tarefas difíceis e caras devido ao grande volume de projetos e a complexidade do Processo Legislativo. Neste trabalho desenvolvemos um artefato de software capaz de identificar as características que influenciam na aprovação ou arquivamento dos projetos visando automatizar a tarefa de análise. O artefato foi desenvolvido em três etapas. Na primeira etapa foi criado um banco de dados de projetos de lei apresentados entre 2003 e 2016 e com 72 variáveis. A base de dados foi dividida em 7 conjuntos, estes submetidos a análises de mineração de dados. Na segunda etapa, por meio do LASSO, selecionamos as 20 características de maior poder preditivo. Na terceira etapa, submetemos essas variáveis a três análises de Aprendizado de Máquina: Regressão Logística, LASSO e Floresta Aleatória. O cruzamento dos resultados das análises de Aprendizado de Máquina, identificou 7 características do Processo Legislativo estatisticamente relevantes para a aprovação ou para o arquivamento de um projeto. Finalmente, analisamos a própria base de dados de projetos de lei para testar a capacidade preditiva do artefato. Por meio da Floresta Aleatória, obtivemos uma performance preditiva média de F1-Score de 0.861 com uma precisão positiva de 0.778. Nossos resultados indicam que é possível utilizar inteligência artificial para prever em parte o comportamento do processo legislativo. O uso do artefato desenvolvido ajudará diferentes grupos sociais e econômicos a se anteciparem a mudanças legislativas.
2019
Danilo Amaral de Oliveira
Orientação a objeto: definição, implementação e análise de recursos de teste e validação
O desenvolvimento de software baseado no paradigma Orientado a Objetos (OO) e baseado em componentes é uma realidade. Este trabalho trata de teste e validação dentro desse contexto. Observa-se que diversos trabalhos relacionados ao teste de programas OO vêm sendo desenvolvidos. Apesar de ser um ponto controverso, alguns pesquisadores consideram que critérios de teste desenvolvidos para o teste de programas procedimentais podem ser facilmente estendidos para o teste de programas OO, pelo menos para o teste de métodos. Ainda são poucas as iniciativas de estender critérios de fluxo de dados e critérios baseados em mutação, tradicionalmente utilizados no teste de programas procedimentais, para o teste de programas OO. O presente trabalho visa a contribuir na identificação e definição de recursos de teste e validação que possam ser utilizados no teste de programas OO, com ênfase nos critérios de teste baseados em fluxo de dados e em mutação, cobrindo as fases do teste de unidade e de integração. Além disso, para apoiar a aplicação desses critérios, é de fundamental importância o desenvolvimento de ferramentas automatizadas que permitam a realização de estudos comparativos e a transferência tecnológica para a indústria. Em suma, o presente trabalho traz contribuições teóricas, com a definição de critérios de teste; empírica, com a realização de estudos empíricos; e de automatização, com a definição e implementação de um ambiente integrado de teste e validação para programas OO. Exemplos são utilizados para ilustrar as idéias e ferramentas apresentadas neste trabalho.
2004
Auri Marcelo Rizzo Vincenzi
Sistemas classificadores evolutivos para problemas multirrótulo
Classificação é, provavelmente, a tarefa mais estudada na área de Aprendizado de Máquina, possuindo aplicação em uma grande quantidade de problemas reais, como categorização de textos, diagnóstico médico, problemas de bioinformática, além de aplicações comerciais e industriais. De um modo geral, os problemas de classificação podem ser categorizados quanto ao número de rótulos de classe que podem ser associados à cada exemplo de entrada. A abordagem mais investigada pela comunidade de Aprendizado de Máquina é a de classes mutuamente exclusivas. Entretanto, existe uma grande variedade de problemas importantes em que cada exemplo de entrada pode ser associado a mais de um rótulo ou classe. Esses problemas são denominados problemas de classificação multirrótulo. Os Learning Classifier Systems(LCS) constituem uma técnica de Indução de Regras de Classificação que tem como principal mecanismo de busca um Algoritmo Genético. Essa técnica busca encontrar um conjunto de regras que tenha alta precisão de classificação, que seja compreensível e que possua regras consideradas interessantes sob o ponto de vista de classificação. Apesar de existirem na literatura diversos trabalhos sobre os LCS para problemas de classificação com classes mutuamente exclusivas, pouco se tem conhecimento sobre um LCS que seja capaz de lidar com problemas multirrótulo. Dessa maneira, o objetivo desta monografia é apresentar uma proposta de LCS para problemas multirrótulo, que pretende induzir um conjunto de regras de classificação que produza um resultado eficaz e comparável com outras técnicas de classificação. De acordo com esse objetivo, apresenta-se também uma revisão bibliográfica dos temas envolvidos na proposta, que são: Sistemas Classificadores Evolutivos e Classificação Multirrótulo
2009
Rosane Maria Maffei Vallim
Descoberta de regras de conhecimento utilizando computação evolutiva multiobjetivo
Na área de inteligência artificial existem algoritmos de aprendizado, notavelmente aqueles pertencentes à área de aprendizado de máquina AM , capazes de automatizar a extração do conhecimento implícito de um conjunto de dados. Dentre estes, os algoritmos de AM simbólico são aqueles que extraem um modelo de conhecimento inteligível, isto é, que pode ser facilmente interpretado pelo usuário. A utilização de AM simbólico é comum no contexto de classificação, no qual o modelo de conhecimento extraído é tal que descreve uma correlação entre um conjunto de atributos denominados premissas e um atributo particular denominado classe. Uma característica dos algoritmos de classificação é que, em geral, estes são utilizados visando principalmente a maximização das medidas de cobertura e precisão, focando a construção de um classificador genérico e preciso. Embora essa seja uma boa abordagem para automatizar processos de tomada de decisão, pode deixar a desejar quando o usuário tem o desejo de extrair um modelo de conhecimento que possa ser estudado e que possa ser útil para uma melhor compreensão do domínio. Tendo-se em vista esse cenário, o principal objetivo deste trabalho é pesquisar métodos de computação evolutiva multiobjetivo para a construção de regras de conhecimento individuais com base em critérios definidos pelo usuário. Para isso utiliza-se a biblioteca de classes e ambiente de construção de regras de conhecimento ECLE, cujo desenvolvimento remete a projetos anteriores. Outro objetivo deste trabalho consiste comparar os métodos de computação evolutiva pesquisados com métodos baseado em composição de rankings previamente existentes na ECLE. É mostrado que os métodos de computação evolutiva multiobjetivo apresentam melhores resultados que os métodos baseados em composição de rankings, tanto em termos de dominância e proximidade das soluções construídas com aquelas da fronteira Pareto-ótima quanto em termos de diversidade na fronteira de Pareto. Em otimização multiobjetivo, ambos os critérios são importantes, uma vez que o propósito da otimização multiobjetivo é fornecer não apenas uma, mas uma gama de soluções eficientes para o problema, das quais o usuário pode escolher uma ou mais soluções que apresentem os melhores compromissos entre os objetivos