Utilização de Técnicas de Data Mining para o Reconhecimento de Caracteres Manuscritos

Tamanho: px
Começar a partir da página:

Download "Utilização de Técnicas de Data Mining para o Reconhecimento de Caracteres Manuscritos"

Transcrição

1 Utilização de Técnicas de Data Mining para o Reconhecimento de Caracteres Manuscritos Juliano Varella de Carvalho Marcus Costa Sampaio Giuseppe Mongiovi Departamento de Sistemas e Computação Centro de Ciências e Tecnologia Universidade Federal da Paraíba {varella, sampaio, giuseppe}@dsc.ufpb.br Abstract In spite of the growing spread of information technologies based on electronic media, hand-printed information, such as forms, memoranda, letters, requirements, etc. is still abound. The conversion process of these stored forms to electronic media has been onerous and unproductive, mainly due to the involvement of unprepared personnel. This paper presents the results of a pioneer application of data mining technology known as associative rules, for the automatic recognition of hand-printed characters. 1 Introdução Apesar da crescente difusão das tecnologias de informação baseadas em mídias eletrônicas, ainda pode-se constatar a existência de uma quantidade incomensurável de informações "em papel", como formulários, memorandos, cartas, requerimentos, etc. O processo de conversão destas formas de armazenamento para a mídia eletrônica tem sido pouco produtivo e custoso, pois envolve a participação de pessoas, muitas vezes pouco preparadas para o uso de software especializado, como os editores/processadores de texto. Uma solução para este problema seria dotar os computadores da capacidade de "ler" documentos, desta forma tornando mais produtivo e menos oneroso o processo de alimentação dos bancos de dados eletrônicos. O interesse pela área de reconhecimento de manuscritos não é recente, vindo desde a origem dos computadores [21]. Atualmente, devido à evolução tecnológica, novas tecnologias com este fim estão surgindo. Congressos científicos, conferências, simpósios, workshops, livros e outros meios de divulgação estão dando muita atenção ao processamento de manuscritos. Centros de pesquisa, como o CENPARMI [6] e o CEDAR [5] vêm se aprofundando no estudo de novas tecnologias de reconhecimento de manuscritos [21]. O processamento de textos manuscritos não é uma tarefa trivial, e isto devido principalmente à diversidade de maneiras e formas com que os caracteres podem ser escritos: pessoas diferentes escrevem diferente! Para uma mesma pessoa, a diversidade da escrita também é um fato. Entre os fatores dessa diversidade, destacamos: o tipo de caneta e papel utilizado, habilidade, estilo, nível social, educação, origem e o estado psicológico da pessoa. 1.1 Contribuição do Artigo Existem sistemas que fazem o reconhecimento de caracteres manuscritos utilizando tecnologias como redes neurais e análise sintática [21], entre outras. Destacamos: leitoras - Aluno do Mestrado em Informática da UFPB, e bolsista da CAPES.

2 automáticas de cheques bancários, máquinas automáticas de processamento de códigos postais para auxiliar as agências de correio, máquinas automáticas para processar todo e qualquer tipo de formulário preenchido manualmente, etc. A contribuição do artigo reside na exploração de uma classe de algoritmos de garimpagem de dados ("data mining"), conhecida por regras de associação [7] [19] [18] [3] [2], para o reconhecimento de caracteres numéricos manuscritos. Até onde vai nosso conhecimento, trata-se de uma aplicação pioneira de algoritmos de regras de associação. 1.2 Estrutura do Artigo O artigo está estruturado como segue. A seção 1 é esta introdução. A seção 2 apresenta sumariamente duas abordagens para o reconhecimento de caracteres manuscritos. Na seção 3, introduzimos o processo de descoberta de conhecimento e o conceito de garimpagem de dados, que lhe é subjacente. O nosso sistema de reconhecimento de caracteres manuscritos é descrito na seção 4. A seção 5 mostra alguns testes realizados com o sistema, confrontando seus resultados com os de outros trabalhos. As conclusões e trabalhos futuros são o tema da sexta seção. O artigo termina com as referências bibliográficas. 2 Trabalhos Relacionados Existem muitos trabalhos que exploram diversas tecnologias com o propósito de fazer o reconhecimento de caracteres manuscritos. Restringir-nos-emos à análise sintática e às redes neurais, as quais serão objeto de comparação com a técnica de garimpagem de dados que nós utilizamos, com o mesmo fim. 2.1 Análise Sintática Esta técnica exige um prévio e fastidioso trabalho manual de examinar coleções de imagens digitalizadas de caracteres como letras e dígitos, a fim de determinar os padrões ou atributos sintáticos que possam identificar cada um dos caracteres. Os atributos dizem respeito à topologia e ao desenho das imagens dos caracteres [21]. Dentre eles, temos: o número de cavidades centrais, à direita e à esquerda; a posição da cavidade no numeral; a sequência de cruzamento do numeral; a distribuição de pixels na imagem, entre outros. Dada a imagem digitalizada de um número, por exemplo, o primeiro teste a ser feito poderia ser o de saber quantas cavidades centrais a imagem possui. Se a mesma apresentasse duas cavidades centrais, seria reconhecida como o numeral 2, ou o numeral 8. Para decidir entre os dois numerais, o algoritmo se utiliza de outros atributos sintáticos, como a distribuição de pixels na imagem. O algoritmo apresentado em [21] pode ser considerado como uma evolução dos algoritmos sintáticos para o reconhecimento de caracteres manuscritos, pois obteve melhores resultados em relação ao seu similar [13]. Permanece, no entanto, a grande barreira a ultrapassar para melhorar a eficácia dos algoritmos sintáticos, qual seja, a extrema dificuldade de se obter padrões sintáticos confiáveis. 2.2 Redes Neurais A área de redes neurais artificiais, desde muito tempo, vem recebendo grande atenção dos pesquisadores. Especificamente, as redes neurais multicamadas com propagação direta têm demonstrado uma grande eficácia no reconhecimento de padrões visuais [21].

3 Em [22], é utilizada uma rede multicamadas com propagação direta para fazer o reconhecimento de caracteres alfabéticos manuscritos. A camada de entrada da rede é constituída de um número de nós igual ao número de pixels da imagem digitalizada do símbolo a ser reconhecido. O número de nós na camada de saída é igual ao número de caracteres alfabéticos existentes, neste caso 26 (alfabeto inglês, de A a Z). Nos testes de reconhecimento de numerais manuscritos, em [21], foram criados dois subconjuntos do conjunto de imagens digitalizadas de dígitos, denominados conjunto de treinamento e conjunto de testes, respectivamente. O conjunto de treinamento foi utilizado para realizar o treinamento da rede neural artificial. Ou seja, cada dígito (imagem) foi inserido na camada de entrada da rede, depois os pesos das ligações da rede foram ajustados de forma a gerarem na camada de saída o resultado correto [21] [16] [22]. O algoritmo de [17] treinou a rede (isto é, ajustou os seus pesos). Uma vez a rede treinada, o conjunto de testes lhe foi submetido para testar a sua capacidade de reconhecer caracteres manuscritos. Embora as redes neurais apresentem bons resultados quando aplicadas no reconhecimento de caracteres manuscritos, alguns problemas existem. O tempo de treinamento de uma rede neural é extremamente longo para a maioria das aplicações de uso prático, como o é o reconhecimento de caracteres. Há também certos tipos de padrões, como os envolvidos em séries temporais, que demandam uma grande necessidade de pré-processamento, dada a complexidade da análise e classificação dos padrões em questão [16]. De acordo com [16] é necessário uma boa escolha dos valores iniciais dos pesos da rede para diminuir o tempo necessário de treinamento. A rigor, tal tempo pode tender ao infinito. 3 O Processo de Descoberta de Conhecimento Nesta seção, discutimos o que é chamado de processo de descoberta de conhecimento, destacando uma das etapas do processo que é conhecida como garimpagem de dados, e um dos tipos de garimpagem de dados, regras de associação. Descrevemos também um algoritmo de regras de associação para o reconhecimento automático de caracteres numéricos manuscritos. 3.1 O que é Descobrir Conhecimento? Segundo [4], descobrir conhecimento significa extrair, de grandes bases de dados, sem nenhuma formulação prévia de hipóteses, informações genéricas, relevantes e previamente desconhecidas, que podem ser utilizadas para a tomada de decisões. Associado à descoberta de conhecimento, deve existir um processo de descoberta de conhecimento ( knowledge discovery KD) 1. Um grande problema com o processo de KD é a qualidade do conhecimento gerado. Para ilustrar, se uma cadeia de lojas resolve buscar associações entre os itens que ela vende, certamente haverá associações entre itens que farão sentido, e outras que não farão [12]. Fazse necessário, então, um especialista dos negócios da empresa para avaliar quais são as associações realmente relevantes para a empresa. Por último, as associações descobertas precisam ser acionáveis. Em outras palavras, é necessário que possam ser realizadas ações simples para que o conhecimento gerado seja traduzido em vantagem aos negócios da empresa [12]. 1 - Doravante, processo de KD.

4 3.2 As Etapas do Processo de KD O processo de KD é iterativo, cada ciclo da iteração envolvendo várias etapas sequenciais [8]. A FIG 3.1 mostra a sequência de etapas de um ciclo do processo de KD. Figura 3.1 Etapas de um Processo de KD As três primeiras etapas, seleção, pré-processamento e transformação compõem o que se chama preparação de dados. A garimpagem de dados é o coração do processo de KD, situado entre a preparação de dados e a análise e assimilação dos resultados da garimpagem. A seguir, descrevemos sucintamente as etapas de um ciclo do processo de KD. Preparação de Dados [12] [4] [8] Inseridas nesta etapa estão três atividades: a seleção, o pré-processamento e a transformação de dados. À Seleção de Dados: neste instante do processo de KD, e consoante com os objetivos do processo (que dados garimpar?), são identificadas as bases de dados, e que dados dessas bases deverão ser extraídos para a garimpagem. À Pré-processamento de Dados: em geral, as bases de dados existentes não estão adaptadas para a garimpagem de dados. Exemplificando, vamos supor que se deseje trabalhar com as idades de clientes de uma empresa, mas estes dados estão em forma de data de nascimento; isto obriga a realização de um pré-processamento sobre estes dados. Além disso, como os dados podem vir de várias bases, não necessariamente consistentes, impõe-se remover as inconsistências e integrá-los, tendo para isso que resolver vários tipos de conflitos típicos de integração de dados [12]. O resultado desta etapa é, em geral, um arquivo de dados completamente distinto das bases de dados originais. À Transformação de Dados: existem diversos algoritmos de garimpagem de dados, cada um necessitando de uma entrada específica. A finalidade desta etapa é então transformar os dados pré-processados, de modo a torná-los compatíveis com as entradas dos diversos algoritmos de garimpagem de dados. Garimpagem de Dados Este passo do processo caracteriza-se pela escolha e aplicação do algoritmo ou algoritmos de garimpagem dos dados. Entre as principais famílias de algoritmos de garimpagem de dados, destacamos regras de associação [12] [19] [18] [3] [2], regras de classificação [12] [4] [11] [10], e agrupamento ( clustering ) [9] [12].

5 Análise e Assimilação dos Resultados Nesta etapa, as seguintes questões devem ser respondidas: o conhecimento gerado é relevante e acionável? Se a resposta não for satisfatória, então será necessário repetir todo ou parte do processo de KD. 3.3 Garimpagem de Dados: Regras de Associação Nesta seção, explicamos o conceito de regras de associação, e um algoritmo que o implementa. Uma regra de associação é definida como: Se X então Y ou X Y, onde X e Y são conjuntos de itens e X Y =. Diz-se que X é o antecedente da regra, enquanto que Y é o consequente da mesma. Um algoritmo baseado em regras de associação consiste em descobrir esse tipo de regra entre os dados preparados para a garimpagem. Medidas estatísticas revelam a frequência de uma regra no universo dos dados garimpados. Por exemplo, ao encontrar a seguinte associação {mercúrio, gaze, esparadrapo} {algodão} (0,78), significando que 78% dos clientes que compram mercúrio, gaze, esparadrapo também compram algodão, o gerente de uma farmácia pode veicular campanhas publicitárias utilizando estes produtos, dispô-los em lugares próximos na prateleira, entender o porquê de uma possível queda nas vendas de alguns dos produtos, entre outras conclusões. Muitos algoritmos foram desenvolvidos com o objetivo de descobrir regras de associação entre itens de dados. Citamos: LargeKItemSets [2], Apriori [3], AprioriTid [3], Partition [18] e Multiple Level (ML-T2L1) [19]. Desses, o mais utilizado é o Apriori, sendo que os demais, ou são extensões deste ou o utilizam. A seguir, será explanado o algoritmo Apriori. Transação Gaze Esparadrapo Mercúrio Figura 3.2 Tabela de transações de venda a clientes. Vamos considerar um fragmento dos dados de uma farmácia, preparados para a garimpagem (FIG 3.2). O arquivo é em forma de tabela, com três colunas representando itens de venda ou produtos. Cada linha da tabela representa uma transação de venda a um cliente, a primeira coluna da tabela contendo os identificadores das transações. Dada uma transação de um cliente, o cliente terá comprado gaze, por exemplo, se o valor da coluna Gaze para a transação for 1, caso contrário ela estará marcada com 0. O algoritmo Apriori realiza a garimpagem em dois passos: geração e poda. No primeiro, é feita uma varredura sobre o arquivo, a fim de gerar todos os conjuntos de combinações de valores de colunas que aparecem no arquivo. No segundo, são considerados apenas aqueles conjuntos que aparecem no arquivo com uma frequência não menor que um valor mínimo pré-fixado, são os chamados grandes conjuntos. A medida da frequência de um conjunto X de valores é chamada de suporte, assim definido:

6 Nº de registros do arquivo que contêm os elementos do conjunto X Suporte ( X ) = (3.1) Nº total de registros do arquivo Quando procura-se descobrir regras de associação, é necessário definir um suporte mínimo (SupMin) para as regras. Considerando SupMin igual a 0,6, {Gaze} é um grande conjunto porque seu suporte é 0,9 (em dez linhas, nove têm valor 1), maior que o mínimo, portanto. Para SupMin igual a 0,6, os demais grandes conjuntos são mostrados nas FIG s 3.3 (a), 3.3 (b) e 3.3 (c). Coluna Suporte Colunas Suporte Colunas Suporte Gaze 0,9 Gaze, esparadrapo 0,8 Gaze, esparadrapo, mercúrio 0,6 Esparadrapo 0,9 Gaze, mercúrio 0,7 Mercúrio 0,8 Esparadrapo, mercúrio 0,7 (a) (b) (c) Figura 3.3 Grandes conjuntos de um, dois e três elementos. Para cada grande conjunto de itens X, todas as regras com fator de confiança acima de um mínimo especificado (C min ) são geradas como: Y X, se suporte(x) / suporte (X Y) C min então gera a regra X Y Y, onde o fator de confiança de uma regra R: X Y, é definido pela fórmula 3.2. Nº de registros com X e Y Confiança ( R) = (3.2) Nº de registros com X Corolário 1 : Se Y = 1 e todas as transações tiverem o mesmo valor para o item Y, então Confiança(R) é igual a 1. Supondo um fator de confiança mínimo de 0,8 para o nosso exemplo, teríamos como válidas apenas as regras sombreadas da FIG 3.4. Regra Fator de confiança {Gaze} Esparadrapo 0,88 {Esparadrapo} Gaze 0,88 {Gaze} Mercúrio 0,77 {Mercúrio} Gaze 0,87 {Esparadrapo} Mercúrio 0,77 {Mercúrio} Esparadrapo 0,87 {Gaze,Esparadrapo} Mercúrio 0,75 {Gaze,Mercúrio} Esparadrapo 0,85 {Esparadrapo,Mercúrio} Gaze 0,85 Figura Regras com confiança além do mínimo. O nosso interesse por algoritmos de regras de associação é utilizá-los para resolver o problema do reconhecimento de caracteres manuscritos. Para tanto, algumas adaptações precisaram ser feitas, tais como preparação dos dados de entrada e criação de uma nova medida. Na próxima seção, descrevemos estas adaptações. 1 - Este corolário é utilizado na próxima seção.

7 Por falta de espaço, e por não serem relevantes aos propósitos deste artigo, as outras famílias citadas de algoritmos de garimpagem de dados, regras de classificação e agrupamento, não serão tratadas. 4 O Processo de KD para o Reconhecimento de Caracteres Numéricos Manuscritos O nosso trabalho consistiu, basicamente, do seguinte: nossa cópia do banco de imagens digitalizadas de caracteres numéricos manuscritos do CENPARMI, com imagens, foi convenientemente transformada e fragmentada em dois conjuntos (arquivos), conjunto de treinamento e conjunto de testes. O conjunto de treinamento foi lido pelo algoritmo Apriori para a geração de regras de associação que são padrões para cada um dos dez dígitos (de 0 a 9) 1. O passo seguinte foi testar, com o conjunto de testes, a capacidade do algoritmo Apriori de reconhecer caracteres numéricos, pela comparação com os padrões de caracteres numéricos manuscritos estabelecidos no passo anterior. 4.1 Preparação dos Dados A fase de preparação dos dados consumiu bastante esforço e tempo. A razão principal para tal esforço é que os arquivos do CENPARMI são geometrica e topologicamente muito irregulares, enquanto o algoritmo Apriori é extremamente sensível a mudanças de geometria e de topologia. Assim, foi necessário todo um trabalho de regularização dos arquivos do CENPARMI, a fim de se obter resultados significativos de reconhecimento de caracteres numéricos. Os caracteres numéricos manuscritos são representados por matrizes booleanas e o trabalho de regularização destes caracteres consistiu de: normalização, rotação, esqueletização, dilatação, suavização e centralização. Normalização: é o processo de fazer com que as matrizes de 0 s e 1 s do CENPARMI, de tamanhos variados, fiquem com um tamanho comum (16 linhas x 16 colunas). O algoritmo utilizado para a normalização é o de [22]. Rotação: nas bases de dados do CENPARMI, existem dígitos com inclinações mais ou menos para a direita, e outros inclinados mais ou menos para a esquerda. Fez-se necessário um algoritmo que girasse todos os dígitos inclinados, colocando-os em pé. Utilizamos dois de tais algoritmos de rotação. Um deles é o R-Block [22], que se mostrou bastante eficiente na rotação do dígito 1. Para os demais dígitos, foi utilizado um algoritmo melhorado do R-Block [1]. Esqueletização: é o processo de afinamento dos dígitos. De acordo com [21], o processo de esqueletização procura obter uma réplica estruturada da imagem, preservando as características estruturais da imagem original. Com a aplicação da esqueletização, são gerados caracteres com a mesma espessura. O algoritmo utilizado foi o de [15]. Dilatação: esta transformação dos dígitos tem como propósito deixá-los com uma espessura maior que a resultante da esqueletização, com o propósito de tornar as imagens de um mesmo dígito ainda mais semelhantes. O algoritmo que utilizamos [14] deixa todos os caracteres numéricos com uma espessura de três pixels. Suavização: numa imagem digitalizada, as posições marcadas com 1 s denotam o contorno do dígito. Todavia, muitas imagens, além dos 1 s formando o contorno do dígito, apresentam também alguns 1 s em posições bem distintas à do contorno (posições que deveriam estar marcadas com 0 ver última linha da FIG 4.1 (d)). Este problema surge 1 - Padrões relativamente ao conjunto de treinamento dado.

8 durante a fase de digitalização dos caracteres, e durante a aplicação dos diversos algoritmos de preparação dos dados. A suavização procura então eliminar os 1 s fora do contorno. O algoritmo utilizado para a suavização foi o de [20]. Centralização: muitos dígitos das bases do CENPARMI estão deslocados para a esquerda, outros mais à direita, alguns para cima ou para baixo, tudo isso dentro das matrizes dos caracteres. A centralização procurou ajustá-los na posição mais central possível dentro das matrizes 16x16. O algoritmo foi projetado pelos autores do artigo, sendo implementado em Delphi 3.0. Nas FIG s 4.1 (a), 4.1 (b), 4.1 (c), 4.1 (d) e 4.1 (e), são mostradas as transformações operadas pelos diferentes algoritmos sobre um dígito 0 da base de dados do CENPARMI (a) (b) (c) (d) (e) Figura 4.1 Dígito 0 original; Dígito normalizado e rotacionado; Dígito esqueletizado ; Dígito dilatado; Dígito suavizado e centralizado, pela ordem (a) (b) (c) (d) (e) Figura 4.2 Caracteres numéricos irreconhecíveis. É importante observar que, mesmo depois de todas as transformações feitas, muitos dígitos ainda ficaram irreconhecíveis ao olho humano. As FIG s 4.2 (a), 4.2 (b), 4.2 (c), 4.2 (d) e 4.2 (e) ilustram alguns exemplos de dígitos irreconhecíveis (2, 3, 4, 6 e 8, respectivamente). Em consequência, não se poderia esperar que o nosso algoritmo de reconhecimento, ou qualquer

9 outro, pudesse reconhecê-los (pelo menos neste contexto, o que é irreconhecível pelo ser humano, também o é pelas máquinas!). A conclusão prática é que não poderá haver algoritmo de reconhecimento de caracteres com eficácia de 100%. 4.2 Reconhecimento de Caracteres Numéricos Manuscritos O sistema de descoberta de regras de associação consiste em duas etapas. A primeira baseia-se na obtenção dos grandes conjuntos e foi implementada utilizando-se o algoritmo Apriori [3]. A segunda etapa consiste na extração das regras de associação a partir dos grandes conjuntos gerados na etapa anterior. A geração de regras de associação foi desenvolvida e implementada utilizando-se o ambiente visual de programação Delphi 3.0. Inicialmente, o algoritmo Apriori foi executado tendo como entrada dez arquivos preparados como explicado na seção 4.1, denominados conjuntos de treinamento, cada um deles contendo 250 matrizes do mesmo numeral, gerando regras de associação para cada um dos dígitos 0, 1, 2,..., 9. Na verdade, o algoritmo trabalha com as matrizes de 16 x 16 linearizadas (vetores de 256 posições). Além destas 256 posições, foram criadas mais dez posições (posição 257, 258,..., 266 ). Para todos os dígitos 0, a posição 257 é marcada com 1, enquanto que as posições de 258 a 266 são marcadas com 0. Por sua vez, os dígitos 1 têm a posição 258 marcada com 1, enquanto que as posições 257, e 259 a 266 são marcadas com 0. O leitor pode facilmente imaginar como marcar as posições 257 a 266 para os demais dígitos. Posições Figura 4.3 Parte representativa da tabela com dígitos 8 linearizados Observando a FIG 4.3, vemos que as posições 2, 3, 255, 256 e 265", marcadas com 1, apresentam uma grande frequência (suporte), isto provavelmente levará o algoritmo a gerar a regra {2, 3, 255, 256} 265 para o dígito 8. Vamos dar um outro exemplo, agora considerando um suporte e fator de confiança mínimos. Seja um conjunto de treinamento de 10 caracteres 0, com a posição 257 em todos os dez caracteres marcada com 1. Para SupMin igual a 0,65, suponhamos que o algoritmo Apriori descobriu o seguinte conjunto de grandes conjuntos G = { {2,8,9,257} 0,7 1, {34,102,257} 0,8, {2,98,257} 0,83 }. Temos então as regras {34,102} 257, {2,98} 257 e {2,8,9} 257 para o dígito 0. Note que, como o consequente é o mesmo em todas as regras, o fator de confiança (ver seção 3.3) é 1 (ou 100%). Isto conduz à generalização seguinte: em relação a fatores de confiança, no nosso contexto de reconhecimento de caracteres numéricos manuscritos, ele é sempre 1 (ou 100%). Na prática, isto significa que não é preciso se preocupar com fatores de confiança. 1 - O valor 0,7 indica o suporte deste conjunto.

10 No que diz respeito ao suporte mínimo escolhido para as regras, o valor 0,60 foi o mais adequado (ver a tabela da FIG 4.4). Qualquer valor maior que este número acarretou uma diminuição muito sensível do número de regras, em prejuízo do reconhecimento dos caracteres do conjunto de testes. Numeral Nº de Regras Figura 4.4 Número de regras para cada numeral, utilizando-se suporte igual a 0,6 Note que em nosso trabalho, o consequente da regra possui apenas um elemento, porque desejamos obter para cada dígito as regras que os representem univocamente. Não é de nosso interesse extrairmos regras com mais de um elemento no consequente, pois isto iria gerar conflitos no momento de decidir a qual dígito a regra pertence. Até aqui, a formulação das regras para os dígitos não considerou a seguinte importante questão: dado um conjunto de regras para um dígito, qual é a importância de cada uma das regras em relação às demais? Para resolvermos esta questão definimos uma grandeza denominada peso de uma regra. 4.3 Regras com Pesos Seja G = { G 1, G 2, G 3,..., G n } o conjunto dos grandes conjuntos gerados para um dado dígito. O peso de cada uma das regras R i s extraídas de um conjunto G i, exprime o quão forte são as regras R i s em relação as demais regras R j s ( j, 1 j n e j i) desse dígito. Formalmente, ( Suporte( Gi) SupMin) Peso( Ri) = (4.1) Max( SuporteGi Gi G) SupMin ( ) Considerando o conjunto G da seção anterior, o peso da regra R: {34,102} 257 é: (0,8 0,65) Peso(R) = = 0,83 (0,83 0,65) Após a geração do arquivo de regras, notamos que, em muitos casos, um mesmo antecedente encontrava-se em regras de vários dígitos. Digamos que o antecedente {108,109} apareça nas regras tanto do numeral 7 como do 9, isto é, {108,109} 264 e {108,109} 266. Poderíamos então concluir que tal regra devesse ser excluída do conjunto, pois estaria causando um conflito, dificultando a avaliação por parte do sistema. Contudo, a frequência com que esta regra aparece nestes dígitos pode ser diferente, ou seja, esta regra pode ser muito mais significativa para o 7, ou para o 9, ou ainda ser de igual força. O peso fornece-nos, então, a força das regras. Descobertas, a partir do conjunto de treinamento, todas as regras com seus respectivos pesos, para todos os dígitos, elas formam um arquivo de regras, que vai ser utilizado na fase de testes de reconhecimento de caracteres manuscritos.

11 4.4 Testes de Reconhecimento Da base de dados do CENPARMI, gerou-se um arquivo de testes contendo 266 vetores de 0 s e 1 s, cada um com 266 posições, para cada dígito (total: 2660 vetores) 1. O arquivo foi organizado da seguinte forma: os primeiros 266 vetores representam 0, os próximos 266 representam 1, e assim até o dígito 9. Para cada registro (vetor) do arquivo de testes, o sistema varre todo o arquivo de regras. Encontrando uma regra que casa com o registro lido, o contador do dígito correspondente é atualizado. Suponhamos que o dígito que está sendo reconhecido é um 1, e que as regras para todos os dígitos são as mostradas parcialmente na FIG 4.5, com seus respectivos pesos (entre # ). {2} 257 #0,60# {2,15,102} 257 #0,82#... {14,104,200} 257 #0,76# {8} 258 #0,80# {8,32} 258 #0,80#... {8,32,68} 258 #0,45#... {90,100} 266 #0,42# {90,105} 266 #0,65#... {91,110,112} 266 #0,60# Figura 4.5 Conjunto de regras após a fase de treinamento Caso a regra {2} 257 case com o registro lido (isto é, as posições 2 e 257 do vetor são marcadas por 1), é adicionado no contador do dígito 0 o resultado da multiplicação do peso da regra (0,60) pelo valor anterior do contador. Da mesma forma, se a regra {8,32} 258 casa com o registro, então o contador do dígito 1 é acrescentado do resultado da multiplicação do peso da regra (0,80) pelo valor anterior do contador. No final da varredura do arquivo de regras, os contadores de todos os dígitos terão um valor, e o dígito testado é reconhecido como sendo igual ao dígito cujo contador tem o maior valor. De um modo geral, o algoritmo será tão mais confiável quanto mais frequentemente o dígito testado seja reconhecido como sendo igual ao dígito cujo contador tem o maior valor. Visando uma melhoria dos resultados, estamos investigando um novo processo de atualização dos contadores. 5 Avaliação Experimental Em nossos experimentos, o conjunto de treinamento foi constituído de 2500 caracteres (vetores), sendo 250 caracteres para cada dígito, enquanto o conjunto de testes foi composto de 2660 caracteres, sendo 266 caracteres de cada dígito. Todos os dados foram preparados a partir da base de dígitos numéricos manuscritos do CENPARMI. Na TAB 5.1 são mostrados os resultados do nosso experimento, e sua comparação com os resultados dos algoritmos de [13] e [21], de análise sintática, e com o trabalho de [21], utilizando algoritmo de redes neurais [17]. A TAB 5.1 mostra os resultados em percentuais destes testes. Eles ilustram a percentagem de caracteres que foram reconhecidos corretamente durante a fase de teste. Por exemplo, o valor 95,48%, da quinta coluna, significa que 95,48% dos 266 caracteres 0 testados foram reconhecidos pelo sistema como 0, ou seja, corretamente. Os 4,52% caracteres restantes não foram reconhecidos corretamente, isto é, foram confundidos com os outros numerais existentes (ver TAB 5.2). 1 - Recordemos que os arquivos de treinamento e testes são disjuntos.

12 Numeral Algoritmo sintático [13] 1 Algoritmo sintático [21] 2 Redes neurais [21] 3 Regras de associação 4 Melhor Desempenho 0 71,80 71,80 81,87 95,48 Regras de associação 1 92,48 88,34 87, Regras de associação 2 18,04 68,04 54,33 65,08 Algoritmo sintático[21] 3 18,42 58,64 75,85 60,24 Redes neurais 4 23,30 68,42 88,68 79,21 Redes neurais ,03 75,09 63,15 Redes neurais 6 0,37 63,15 83,02 79,32 Redes neurais 7 4,13 67,29 39,62 78,03 Regras de associação 8 45,48 58,64 69,81 60,13 Redes neurais 9 30,45 54,13 69,05 75,96 Regras de associação Tabela 5.1 Comparação dos resultados do nosso trabalho com outros métodos (em percentagem). Fazendo-se uma análise comparativa entre os resultados do nosso trabalho e do algoritmo de [13] percebe-se claramente que o reconhecimento de caracteres numéricos manuscritos utilizando regras de associação mostrou-se muito mais eficiente que o algoritmo sintático, pois para todos os dígitos, nosso trabalho obteve um reconhecimento com um percentual bem maior. No trabalho de [21] foi implementado um algoritmo sintático baseado no algoritmo de [13]. Todavia foram acrescentadas melhorias ao algoritmo e o resultado do reconhecimento está demonstrado na terceira coluna da TAB 5.1. Confrontando estes resultados com o sistema baseado em regras de associação vemos que este último obteve um melhor desempenho para os dígitos 0,1,3,4,6,7,8,9. Porém não conseguiu reconhecer melhor os numerais 2,5. O reconhecimento de caracteres manuscritos, realizado a partir de análise sintática, depende essencialmente de um especialista humano, pois é ele que vai extrair as características dos dígitos. Enquanto isso os sistemas baseados em redes neurais e em regras de associação independem do ser humano, as características dos dígitos são encontradas automaticamente, durante a fase de treinamento, através do ajuste de pesos no primeiro sistema e da geração de regras no segundo. Estes sistemas que possuem uma fase de treinamento mostram-se mais eficientes, de maneira geral, que o sistema de análise sintática. No trabalho de reconhecimento de caracteres manuscritos utilizando redes neurais implementado e testado em [21] foi utilizada uma base de treinamento de 3000 caracteres e guardados para a fase de testes 2660 caracteres. Fazendo-se uma análise comparativa entre o nosso sistema e o sistema de reconhecimento baseado em redes neurais, chegamos a conclusão que o reconhecimento dos dígitos 0,1,2,7,9 através do uso de regras de associação é mais eficiente que através do uso de redes neurais. Para os demais dígitos, a rede neural obteve um melhor desempenho. Estes melhores resultados da rede neural refletem que o treinamento da mesma mostrou-se mais eficiente, ou seja, gerou padrões, através do ajuste dos pesos, mais significativos que os padrões (regras) gerados pelo sistema de regras de associação. O problema dos caracteres que não são reconhecidos corretamente, utilizando-se regras de associação, é determinado pela grande dependência do sistema, com relação as posições do 1 - resultado dos testes utilizando o algoritmo sintático desenvolvido por [13]. 2 - testes utilizando o algoritmo sintático desenvolvido por [21]. 3 - testes com uma rede neural em [21]. 4 - testes utilizando o sistema baseado em regras de associação.

13 contorno do dígito na matriz do numeral, ou seja, o padrão de um dígito é determinado pelas regras geradas durante o treinamento e baseiam-se nas posições dos 1 s. Portanto, se um dígito de teste estiver um pouco deslocado ou um pouco diferente do normal, o sistema encontrará dificuldades em fazer o reconhecimento. Observando-se a TAB 5.1 constatamos excelentes resultados do sistema de regras de associação no reconhecimento dos dígitos 0 e 1. Isto acontece porque tais dígitos não apresentam grandes variações nos conjuntos de treinamento e teste. Por este motivo, durante a fase de treinamento do 1, por exemplo, são geradas um bom número de regras que aparecem com grande frequência no dígito. Na TAB 5.2 estão ilustrados os resultados obtidos, durante a fase de teste, com o sistema de regras de associação, além de informações sobre quanto porcento dos caracteres de um determinado numeral foram reconhecidos corretamente e os conflitos no reconhecimento dos dígitos. Analisando-se a coluna do numeral 5, notamos que, embora a maioria dos caracteres 5 de entrada (63,15% dos 266 caracteres de teste) foram reconhecidos corretamente, há uma grande proporção (18,04%) destes caracteres que foram reconhecidos como se fossem o numeral 3. Tais números levam-nos a observar que existe uma semelhança nos padrões gerados, na fase de treinamento do sistema, entre os dígitos 5 e 3, provocando erro no instante de avaliação do sistema. Assim, um estudo de todas as regras e seus respectivos pesos, geradas na fase de treinamento do sistema, deve ser realizado, a fim de eliminar o máximo possível de conflitos (como no caso do 5 e 3). Notemos que o sistema de regras de associação permite uma fácil interação com as regras geradas (com o padrão extraído para cada dígito), o que não ocorre nas redes neurais, já que o ajuste dos pesos realizado é obscuro. NUMERAIS DE TESTE REC ,48 0 2,52 0,60 7,19 0,37 4,13 0,37 1,12 11, ,90 0 0,95 0 2,66 0,31 4,81 1, ,08 9,63 6,76 1,12 1,12 7,22 8,27 2, ,57 60, ,04 1,12 0,37 1, ,37 0 1, ,21 1,50 0,37 1,31 6,39 3,75 5 1,50 0 0,63 16,86 0,23 63,15 11,27 1,12 2,52 1,12 6 1,50 0 3,17 0 0,54 8,27 79,32 0 5, ,52 7,22 0, ,03 1,50 3, ,89 4,81 0,25 7, ,13 0,37 9 1,12 0 2,83 0,60 4, ,27 8,27 75,96 Tabela 5.2 Tabela contendo a percentagem de caracteres do arquivo de teste que são reconhecidos para o 0, 1, Observando-se o desempenho de todos os métodos comparados até então, podemos perceber claramente que nenhum método obteve melhor resultado em todos os dígitos (TAB 5.1). A última coluna da TAB 5.1 revela qual é o melhor método de reconhecimento para um determinado numeral. Diante destes resultados e de melhorias a serem feitas no sistema de reconhecimento de caracteres numéricos manuscritos, cremos que as regras de associação virão a ser tema de grande interesse no reconhecimento de padrões não só de dígitos, mas também de letras, figuras geométricas, símbolos, palavras, etc, visto que o processo de reconhecimento é o mesmo. 1 - Dígito reconhecido.

14 6 Conclusões e Trabalhos Futuros Apesar da crescente difusão das tecnologias de informação, informações em papel como formulários, memorandos e outros documentos continuam abundantes. Seu processo de conversão para a mídia eletrônica tem se revelado caro e improdutivo, devido principalmente à intervenção, no processo, de pessoal despreparado. Este artigo teve como objetivo demonstrar a viabilidade do uso pioneiro da técnica de data mining, conhecida como regras de associação, para o reconhecimento automático de caracteres numéricos manuscritos. A demonstração consistiu em contrapor os resultados obtidos com essa técnica e os resultados de duas outras abordagens de reconhecimento de caracteres numéricos, algoritmos sintáticos e redes neurais. No geral, regras de associação e redes neurais se houveram claramente melhor que algoritmos sintáticos, embora algoritmos sintáticos ainda levem vantagem em um caso de reconhecimento. Regras de associação mostraram-se mais eficientes que redes neurais em 50% dos dígitos. Em consequência, podemos vislumbrar um sistema híbrido de reconhecimento de caracteres, baseado nos três enfoques, explorando o melhor de cada um deles. Seguem-se outras vantagens da abordagem de regras de associação. Regras de associação não levam em conta o tipo de caracteres (numérico, alfabético, caracteres especiais) a ser treinado e testado. Desta forma, fazer um algoritmo de regras de associação evoluir para reconhecer qualquer tipo de caracteres, além de caracteres numéricos, não introduz nenhuma dificuldade adicional no algoritmo em si, apenas o passo referente à preparação dos dados seria diferente. Esta é uma vantagem enorme em relação aos algoritmos sintáticos, baseados na geometria e na topologia dos caracteres. Melhorar ainda mais a acurácia dos algoritmos de regras de associação para o reconhecimento de caracteres depende, no entanto, da preparação dos dados para os algoritmos. A razão para isto é a sensibilidade dos algoritmos quanto às posições dos 1 s e dos 0 s nas matrizes digitalizadas dos caracteres. Sucintamente, se um símbolo (conjunto de posições com 1 s) estiver um pouco deslocado ou um pouco diferente do normal na matriz, o sistema poderá encontrar dificuldades em fazer o reconhecimento do símbolo, ou associá-lo a um outro símbolo. Portanto, há necessidade de novos e melhores algoritmos de processamento de imagens (normalização, rotação, dilatação, etc), a fim de depurar as imagens para o sistema de reconhecimento. Reconhecimento de cadeias de caracteres (palavras, números com mais de um dígito), por meio de regras de associação, depende exclusivamente do processo de preparação de dados, que deve ser refinado para incluir uma nova etapa, segmentação de cadeias de caracteres. Agradecimentos Ao Prof. Dr. João Marques de Carvalho e à doutoranda Luciana Veloso, do Departamento de Engenharia Elétrica da Universidade Federal da Paraíba, pela inestimável ajuda, sem a qual este trabalho estaria ainda em uma fase embrionária. À CAPES, por financiar parcialmente este trabalho. 7 Referências Bibliográficas [1] Adaptações no Algoritmo R-Block de Rotação de Imagens, Departamento de Engenharia Elétrica, Relatório técnico, Universidade Federal da Paraíba, [2] Agrawal, Rakesh; et al, Mining Association Rules between Sets of Items in Large Databases, SIGMOD 5/93, , Washington, USA, 1993.

15 [3] Agrawal, Rakesh; Srikant, Ramakrishnan, Fast Algorithms for Mining Association Rules, In: 20 th VLDB Conference, , Santiago, Chile, [4] Cabena, Peter; et al, Discovering Data Mining from Concept to Implementation, Prentice Hall PTR, New Jersey, USA, [5] CEDAR Center of Excellence for Document Analysis and Recognition Buffalo, USA. [6] CENPARMI Center for Pattern Recognition and Machine Intelligence Concordia University, Montreal, Canadá. [7] Fayyad, Usama M.; et al, Advances in Knowledge Discovery and Data Mining, MIT Press, Massachussetts, USA, [8] Feldens, Miguel A.; Castilho, José Mauro Volkmer de, Engenharia da Descoberta de Conhecimento em Bases de Dados: Estudo e Aplicação na Área de Saúde: Dissertação de mestrado, Universidade Federal do Rio Grande do Sul, Porto Alegre, Brasil, [9] Freitas, Alex A., Data Mining, In: XIII Simpósio Brasileiro de Banco de Dados, Maringá, Brasil, [10] Mongiovi, Giuseppe, Aquisição Automática de Conhecimento a partir de Exemplos: Uma Abordagem Pragmática: Tese de Concurso Público para Prof. Titular, Universidade Federal da Paraíba, Campina Grande, [11] Mongiovi, Giuseppe, Uso de Relevância Semântica na Melhoria da Qualidade dos Resultados Gerados pelos Métodos Indutivos de Aquisição de Conhecimento a partir de Exemplos: Tese de Doutorado, Universidade Federal da Paraíba, Campina Grande, [12] Mongiovi, Giuseppe, Data mining: Notas de aula, Universidade Federal da Paraíba, Campina Grande, [13] Gomes, H. M., Investigação de Técnicas Automáticas para o Reconhecimento Off-line de Assinaturas. Master s thesis, Universidade Federal de Pernambuco, [14] Gomes, N. R., Algoritmo Sequencial para Reconhecimento de Numerais Manuscritos Desconectados Utilizando Redes Neurais, Master s thesis, Universidade Estadual de Campinas, Faculdade de Engenharia Elétrica, Departamento de Computação, [15] Gonzales, R. C.; Woods, R. E., Digital Image Processing, Addison-Wesley, [16] Kovács, Z. L., Redes Neurais Artificiais Fundamentos e Aplicações, Edição acadêmica, São Paulo, [17] Rummelhart, D.; Hintom; Williams, Learning Internal Representations by Error Propagation, Parallel Distributed Processing, MIT Press, Cambridge, [18] Savasere, Ashok; et al, Na Efficient Algorithm for Mining Association Rules in Large Databases, In: 21 st VLDB Conference, , Zurich, Swizerland, [19] Srikant, Ramakrishnan; Agrawal Rakesh, Mining Quantitative Association Rules in Large Relational Tables, SIGMOD 6/96, 1-12, Montreal, Canadá, [20] Suen, C. Y.; Berthod, M; Mori S., Automatic Recognition of Handprinted Characters The State of the Art, Proceeding of IEEE, april, [21] Veloso, Luciana R., Reconhecimento de Caracteres Numéricos Manuscritos: Dissertação de Mestrado, Universidade Federal da Paraíba, Campina Grande, [22] Yuceer, C.; Oflaser, K., A Rotation, Scaling and Translaction Invariant Pattern Classification System, Pattern Recognition, 26(5): , 1993.

Curso de Data Mining

Curso de Data Mining Curso de Data Mining Sandra de Amo Aula 2 - Mineração de Regras de Associação - O algoritmo APRIORI Suponha que você seja gerente de um supermercado e esteja interessado em conhecer os hábitos de compra

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS VINICIUS DA SILVEIRA SEGALIN FLORIANÓPOLIS OUTUBRO/2013 Sumário

Leia mais

PALAVRAS-CHAVE: Massas Nodulares, Classificação de Padrões, Redes Multi- Layer Perceptron.

PALAVRAS-CHAVE: Massas Nodulares, Classificação de Padrões, Redes Multi- Layer Perceptron. 1024 UMA ABORDAGEM BASEADA EM REDES PERCEPTRON MULTICAMADAS PARA A CLASSIFICAÇÃO DE MASSAS NODULARES EM IMAGENS MAMOGRÁFICAS Luan de Oliveira Moreira¹; Matheus Giovanni Pires² 1. Bolsista PROBIC, Graduando

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

ADM041 / EPR806 Sistemas de Informação

ADM041 / EPR806 Sistemas de Informação ADM041 / EPR806 Sistemas de Informação UNIFEI Universidade Federal de Itajubá Prof. Dr. Alexandre Ferreira de Pinho 1 Sistemas de Apoio à Decisão (SAD) Tipos de SAD Orientados por modelos: Criação de diferentes

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

5 Extraindo listas de produtos em sites de comércio eletrônico

5 Extraindo listas de produtos em sites de comércio eletrônico 5 Extraindo listas de produtos em sites de comércio eletrônico Existem diversos trabalhos direcionadas à detecção de listas e tabelas na literatura como (Liu et. al., 2003, Tengli et. al., 2004, Krüpl

Leia mais

XIII Encontro de Iniciação Científica IX Mostra de Pós-graduação 06 a 11 de outubro de 2008 BIODIVERSIDADE TECNOLOGIA DESENVOLVIMENTO

XIII Encontro de Iniciação Científica IX Mostra de Pós-graduação 06 a 11 de outubro de 2008 BIODIVERSIDADE TECNOLOGIA DESENVOLVIMENTO XIII Encontro de Iniciação Científica IX Mostra de Pós-graduação 06 a 11 de outubro de 2008 BIODIVERSIDADE TECNOLOGIA DESENVOLVIMENTO EPE0147 UTILIZAÇÃO DA MINERAÇÃO DE DADOS EM UMA AVALIAÇÃO INSTITUCIONAL

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

Módulo 4. Construindo uma solução OLAP

Módulo 4. Construindo uma solução OLAP Módulo 4. Construindo uma solução OLAP Objetivos Diferenciar as diversas formas de armazenamento Compreender o que é e como definir a porcentagem de agregação Conhecer a possibilidade da utilização de

Leia mais

Ajuda ao SciEn-Produção 1. 1. O Artigo Científico da Pesquisa Experimental

Ajuda ao SciEn-Produção 1. 1. O Artigo Científico da Pesquisa Experimental Ajuda ao SciEn-Produção 1 Este texto de ajuda contém três partes: a parte 1 indica em linhas gerais o que deve ser esclarecido em cada uma das seções da estrutura de um artigo cientifico relatando uma

Leia mais

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção Este procedimento corresponde ao fluxo de trabalho de Indexação de OCR com separação de código de correção no programa de treinamento do Capture Pro Software. As etapas do procedimento encontram-se na

Leia mais

15 Computador, projeto e manufatura

15 Computador, projeto e manufatura A U A UL LA Computador, projeto e manufatura Um problema Depois de pronto o desenho de uma peça ou objeto, de que maneira ele é utilizado na fabricação? Parte da resposta está na Aula 2, que aborda as

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 3.2 O Espaço Nulo de A: Resolvendo Ax = 0 11 O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 Esta seção trata do espaço de soluções para Ax = 0. A matriz A pode ser quadrada ou retangular. Uma solução imediata

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

O que é a ciência de dados (data science). Discussão do conceito. Luís Borges Gouveia Universidade Fernando Pessoa Versão 1.

O que é a ciência de dados (data science). Discussão do conceito. Luís Borges Gouveia Universidade Fernando Pessoa Versão 1. O que é a ciência de dados (data science). Discussão do conceito Luís Borges Gouveia Universidade Fernando Pessoa Versão 1.3, Outubro, 2015 Nota prévia Esta apresentação tem por objetivo, proporcionar

Leia mais

Avanços na transparência

Avanços na transparência Avanços na transparência A Capes está avançando não apenas na questão dos indicadores, como vimos nas semanas anteriores, mas também na transparência do sistema. Este assunto será explicado aqui, com ênfase

Leia mais

Estrutura do Trabalho: Fazer um resumo descrevendo o que será visto em cada capítulo do trabalho.

Estrutura do Trabalho: Fazer um resumo descrevendo o que será visto em cada capítulo do trabalho. UNIVERSIDADE ESTADUAL DE MARINGÁ A monografia é um texto escrito contendo o resultado da pesquisa realizada como trabalho de conclusão do curso de especialização. Os itens básicos a constarem da monografia

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

CAP. I ERROS EM CÁLCULO NUMÉRICO

CAP. I ERROS EM CÁLCULO NUMÉRICO CAP. I ERROS EM CÁLCULO NUMÉRICO 0. Introdução Por método numérico entende-se um método para calcular a solução de um problema realizando apenas uma sequência finita de operações aritméticas. A obtenção

Leia mais

Exercícios Teóricos Resolvidos

Exercícios Teóricos Resolvidos Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática Exercícios Teóricos Resolvidos O propósito deste texto é tentar mostrar aos alunos várias maneiras de raciocinar

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Aritmética de Números Inteiros Representação de Números

Leia mais

Árvores Binárias Balanceadas

Árvores Binárias Balanceadas Árvores Binárias Balanceadas Elisa Maria Pivetta Cantarelli Árvores Balanceadas Uma árvore é dita balanceada quando as suas subárvores à esquerda e à direita possuem a mesma altura. Todos os links vazios

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

QFD: Quality Function Deployment QFD: CASA DA QUALIDADE - PASSO A PASSO

QFD: Quality Function Deployment QFD: CASA DA QUALIDADE - PASSO A PASSO QFD: CASA DA QUALIDADE - PASSO A PASSO 1 - INTRODUÇÃO Segundo Akao (1990), QFD é a conversão dos requisitos do consumidor em características de qualidade do produto e o desenvolvimento da qualidade de

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos Este procedimento corresponde ao fluxo de trabalho de Indexação de código de barras e de separação de documentos no programa de treinamento do Capture Pro Software. As etapas do procedimento encontram-se

Leia mais

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001 47 5 Redes Neurais O trabalho em redes neurais artificiais, usualmente denominadas redes neurais ou RNA, tem sido motivado desde o começo pelo reconhecimento de que o cérebro humano processa informações

Leia mais

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR Novell Teaming - Guia de início rápido Novell Teaming 1.0 Julho de 2007 INTRODUÇÃO RÁPIDA www.novell.com Novell Teaming O termo Novell Teaming neste documento se aplica a todas as versões do Novell Teaming,

Leia mais

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling DIMENSIONANDO PROJETOS DE WEB-ENABLING Uma aplicação da Análise de Pontos de Função Dimensionando projetos de Web- Enabling Índice INTRODUÇÃO...3 FRONTEIRA DA APLICAÇÃO E TIPO DE CONTAGEM...3 ESCOPO DA

Leia mais

Administração de dados - Conceitos, técnicas, ferramentas e aplicações de Data Mining para gerar conhecimento a partir de bases de dados

Administração de dados - Conceitos, técnicas, ferramentas e aplicações de Data Mining para gerar conhecimento a partir de bases de dados Universidade Federal de Pernambuco Graduação em Ciência da Computação Centro de Informática 2006.2 Administração de dados - Conceitos, técnicas, ferramentas e aplicações de Data Mining para gerar conhecimento

Leia mais

APLICAÇÕES DA DERIVADA

APLICAÇÕES DA DERIVADA Notas de Aula: Aplicações das Derivadas APLICAÇÕES DA DERIVADA Vimos, na seção anterior, que a derivada de uma função pode ser interpretada como o coeficiente angular da reta tangente ao seu gráfico. Nesta,

Leia mais

Tecnologia da Informação. Prof. Esp. Lucas Cruz

Tecnologia da Informação. Prof. Esp. Lucas Cruz Tecnologia da Informação Prof. Esp. Lucas Cruz Composição da nota Serão 3 notas. Trabalho apresentado. Prova conteúdo Prova livro e trabalhos www.proflucas.com www.facebook.com/prof.lucascruz Livro Sistema

Leia mais

Cálculo de amostra para monitoria de qualidade em Call Center

Cálculo de amostra para monitoria de qualidade em Call Center Cálculo de amostra para monitoria de qualidade em Call Center Esta metodologia tem como objetivo definir o tamanho mínimo ideal da amostra, garantindo a representatividade da população de chamadas em um

Leia mais

TÉCNICAS DE PROGRAMAÇÃO

TÉCNICAS DE PROGRAMAÇÃO TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente

Leia mais

As pesquisas podem ser agrupadas de acordo com diferentes critérios e nomenclaturas. Por exemplo, elas podem ser classificadas de acordo com:

As pesquisas podem ser agrupadas de acordo com diferentes critérios e nomenclaturas. Por exemplo, elas podem ser classificadas de acordo com: 1 Metodologia da Pesquisa Científica Aula 4: Tipos de pesquisa Podemos classificar os vários tipos de pesquisa em função das diferentes maneiras pelo qual interpretamos os resultados alcançados. Essa diversidade

Leia mais

2. Representação Numérica

2. Representação Numérica 2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos

Leia mais

MINERAÇÃO DE DADOS EDUCACIONAIS: UM ESTUDO DE CASO APLICADO AO PROCESSO SELETIVO DO IFSULDEMINAS CÂMPUS MUZAMBINHO

MINERAÇÃO DE DADOS EDUCACIONAIS: UM ESTUDO DE CASO APLICADO AO PROCESSO SELETIVO DO IFSULDEMINAS CÂMPUS MUZAMBINHO MINERAÇÃO DE DADOS EDUCACIONAIS: UM ESTUDO DE CASO APLICADO AO PROCESSO SELETIVO DO IFSULDEMINAS CÂMPUS MUZAMBINHO Fernanda Delizete Madeira 1 ; Aracele Garcia de Oliveira Fassbinder 2 INTRODUÇÃO Data

Leia mais

Estrutura de Dados Básica

Estrutura de Dados Básica Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 7: Recursividade O objetivo desta aula é apresentar o conceito de recursão para solução de problemas. A recursão é uma técnica de programação

Leia mais

Sistemas de Numeração. Professor: Rogério R. de Vargas INFORMÁTICA 2014/2

Sistemas de Numeração. Professor: Rogério R. de Vargas INFORMÁTICA 2014/2 INFORMÁTICA Sistemas de Numeração Professor: Rogério R. de Vargas 2014/2 Sistemas de Numeração São sistemas de notação usados para representar quantidades abstratas denominadas números. Um sistema numérico

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA

UNIVERSIDADE FEDERAL DE SANTA CATARINA UNIVERSIDADE FEDERAL DE SANTA CATARINA CIÊNCIAS DA COMPUTAÇÃO MÁQUINAS DE COMITÊ APLICADAS À FILTRAGEM DE SPAM Monografia submetida à UNIVERSIDADE FEDERAL DE SANTA CATARINA para a obtenção do grau de BACHAREL

Leia mais

MODELO DE APRESENTAÇÃO DE PROJETO DE PESQUISA

MODELO DE APRESENTAÇÃO DE PROJETO DE PESQUISA MODELO DE APRESENTAÇÃO DE PROJETO DE PESQUISA PÓS-GRADUAÇÃO EM CIÊNCIA E ENGENHARIA DE MATERIAIS Elaborado por Prof. Dr. Rodrigo Sampaio Fernandes Um projeto de pesquisa consiste em um documento no qual

Leia mais

GUIA DE REDAÇÃO PARA TRABALHO DE EM974

GUIA DE REDAÇÃO PARA TRABALHO DE EM974 GUIA DE REDAÇÃO PARA TRABALHO DE EM974 CONSIDERAÇÕES GERAIS O objetivo deste documento é informar a estrutura e a informação esperadas num texto de Trabalho de Graduação. O conteúdo do texto deverá ser

Leia mais

ESCOLA, LEITURA E A INTERPRETAÇÃO TEXTUAL- PIBID: LETRAS - PORTUGUÊS

ESCOLA, LEITURA E A INTERPRETAÇÃO TEXTUAL- PIBID: LETRAS - PORTUGUÊS ESCOLA, LEITURA E A INTERPRETAÇÃO TEXTUAL- PIBID: LETRAS - PORTUGUÊS RESUMO Juliana Candido QUEROZ (Bolsista) 1 ; Natália SILVA (Bolsista) 2, Leila BRUNO (Supervisora) 3 ; Sinval Martins S. FILHO (Coordenador)

Leia mais

Extração de Conhecimento & Mineração de Dados

Extração de Conhecimento & Mineração de Dados Extração de Conhecimento & Mineração de Dados Nesta apresentação é dada uma breve introdução à Extração de Conhecimento e Mineração de Dados José Augusto Baranauskas Departamento de Física e Matemática

Leia mais

Sistema de mineração de dados para descobertas de regras e padrões em dados médicos

Sistema de mineração de dados para descobertas de regras e padrões em dados médicos Sistema de mineração de dados para descobertas de regras e padrões em dados médicos Pollyanna Carolina BARBOSA¹; Thiago MAGELA² 1Aluna do Curso Superior Tecnólogo em Análise e Desenvolvimento de Sistemas

Leia mais

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

ROTEIRO PARA ELABORAÇÃO DE PROJETOS APRESENTAÇÃO ROTEIRO PARA ELABORAÇÃO DE PROJETOS Breve histórico da instituição seguido de diagnóstico e indicadores sobre a temática abrangida pelo projeto, especialmente dados que permitam análise da

Leia mais

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. 1 Diagrama de Classes Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. Um dos objetivos do diagrama de classes é definir a base para

Leia mais

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador> FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido

Leia mais

DEMONSTRAÇÕES FINANCEIRAS COMBINADAS

DEMONSTRAÇÕES FINANCEIRAS COMBINADAS 24 DEMONSTRAÇÕES FINANCEIRAS COMBINADAS Os mercados de capitais na Europa e no mundo exigem informações financeiras significativas, confiáveis, relevantes e comparáveis sobre os emitentes de valores mobiliários.

Leia mais

Preparação do Trabalho de Pesquisa

Preparação do Trabalho de Pesquisa Preparação do Trabalho de Pesquisa Ricardo de Almeida Falbo Metodologia de Pesquisa Departamento de Informática Universidade Federal do Espírito Santo Pesquisa Bibliográfica Etapas do Trabalho de Pesquisa

Leia mais

Fração como porcentagem. Sexto Ano do Ensino Fundamental. Autor: Prof. Francisco Bruno Holanda Revisor: Prof. Antonio Caminha M.

Fração como porcentagem. Sexto Ano do Ensino Fundamental. Autor: Prof. Francisco Bruno Holanda Revisor: Prof. Antonio Caminha M. Material Teórico - Módulo de FRAÇÕES COMO PORCENTAGEM E PROBABILIDADE Fração como porcentagem Sexto Ano do Ensino Fundamental Autor: Prof. Francisco Bruno Holanda Revisor: Prof. Antonio Caminha M. Neto

Leia mais

3 Classificação. 3.1. Resumo do algoritmo proposto

3 Classificação. 3.1. Resumo do algoritmo proposto 3 Classificação Este capítulo apresenta primeiramente o algoritmo proposto para a classificação de áudio codificado em MPEG-1 Layer 2 em detalhes. Em seguida, são analisadas as inovações apresentadas.

Leia mais

Cadastramento de Computadores. Manual do Usuário

Cadastramento de Computadores. Manual do Usuário Cadastramento de Computadores Manual do Usuário Setembro 2008 ÍNDICE 1. APRESENTAÇÃO 1.1 Conhecendo a solução...03 Segurança pela identificação da máquina...03 2. ADERINDO À SOLUÇÃO e CADASTRANDO COMPUTADORES

Leia mais

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária 1- Apresentação Binária Os computadores funcionam e armazenam dados mediante a utilização de chaves eletrônicas que são LIGADAS ou DESLIGADAS. Os computadores só entendem e utilizam dados existentes neste

Leia mais

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE Fabiana Gomes Marinho Faculdade Lourenço Filho Resumo: Na UML, a modelagem conceitual dos dados é descrita pelo diagrama de classes, que através

Leia mais

SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO

SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO AGOSTO DE 2013 SUMÁRIO STI/UFF - Sistema de Gerenciamento de Projetos do PDI SUMÁRIO... 2 1 Introdução... 3 1.1 O que é e qual a finalidade

Leia mais

Fases para um Projeto de Data Warehouse. Fases para um Projeto de Data Warehouse. Fases para um Projeto de Data Warehouse

Fases para um Projeto de Data Warehouse. Fases para um Projeto de Data Warehouse. Fases para um Projeto de Data Warehouse Definição escopo do projeto (departamental, empresarial) Grau de redundância dos dados(ods, data staging) Tipo de usuário alvo (executivos, unidades) Definição do ambiente (relatórios e consultas préestruturadas

Leia mais

ARQUITETURA DE COMPUTADORES - CONCEITUAL

ARQUITETURA DE COMPUTADORES - CONCEITUAL Aula 01 04/08/2008 Universidade do Contestado UnC Sistemas de Informação Arquitetura de Computadores 2ª Fase Prof. Carlos Guerber ARQUITETURA DE COMPUTADORES - CONCEITUAL O QUE É O COMPUTADOR? Um computador

Leia mais

Universidade Paulista

Universidade Paulista Universidade Paulista Ciência da Computação Sistemas de Informação Gestão da Qualidade Principais pontos da NBR ISO/IEC 12207 - Tecnologia da Informação Processos de ciclo de vida de software Sergio Petersen

Leia mais

Controle do Arquivo Técnico

Controle do Arquivo Técnico Controle do Arquivo Técnico Os documentos existentes de forma física (papel) no escritório devem ser guardados em pastas (normalmente pastas suspensas) localizadas no Arquivo Técnico. Este Arquivo pode

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá. INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,

Leia mais

Eventos independentes

Eventos independentes Eventos independentes Adaptado do artigo de Flávio Wagner Rodrigues Neste artigo são discutidos alguns aspectos ligados à noção de independência de dois eventos na Teoria das Probabilidades. Os objetivos

Leia mais

ANÁLISE DA CONSERVAÇÃO PÓS-COLHEITA DA ALFACE (Lactuca Sativa, L) UTILIZANDO O SISTEMA DE APOIO À TOMADA DE DECISÃO BKD

ANÁLISE DA CONSERVAÇÃO PÓS-COLHEITA DA ALFACE (Lactuca Sativa, L) UTILIZANDO O SISTEMA DE APOIO À TOMADA DE DECISÃO BKD ANÁLISE DA CONSERVAÇÃO PÓS-COLHEITA DA ALFACE (Lactuca Sativa, L) UTILIZANDO O SISTEMA DE APOIO À TOMADA DE DECISÃO BKD RESUMO Thereza P. P. Padilha Fabiano Fagundes Conceição Previero Laboratório de Solos

Leia mais

Resolução de problemas e desenvolvimento de algoritmos

Resolução de problemas e desenvolvimento de algoritmos SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Resolução de problemas e desenvolvimento de algoritmos Prof. Vanderlei Bonato Prof. Cláudio Fabiano Motta Toledo Sumário Análise e solução de

Leia mais

PESQUISA SOBRE O PERFIL DE ALUNOS NA UTILIZAÇÃO DE UM SITE DOCENTE DO ENSINO SUPERIOR

PESQUISA SOBRE O PERFIL DE ALUNOS NA UTILIZAÇÃO DE UM SITE DOCENTE DO ENSINO SUPERIOR PESQUISA SOBRE O PERFIL DE ALUNOS NA UTILIZAÇÃO DE UM SITE DOCENTE DO ENSINO SUPERIOR Wesley Humberto da Silva (Fundação Araucária), André Luis Andrade Menolli (Orientador) e-mail: wesleyhumberto11@mail.com

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

PROJECTOS DE INVESTIGAÇÃO CIENTÍFICA E DESENVOLVIMENTO TECNOLÓGICO

PROJECTOS DE INVESTIGAÇÃO CIENTÍFICA E DESENVOLVIMENTO TECNOLÓGICO PROJECTOS DE INVESTIGAÇÃO CIENTÍFICA E DESENVOLVIMENTO TECNOLÓGICO Clip-art Retrieval using Sketches PTDC/EIA-EIA/108077/2008 Deliverable: D3 Feature Extraction Library (Vectors) Task: T3 Feature Extraction

Leia mais

Pesquisa e organização de informação

Pesquisa e organização de informação Pesquisa e organização de informação Capítulo 3 A capacidade e a variedade de dispositivos de armazenamento que qualquer computador atual possui, tornam a pesquisa de informação um desafio cada vez maior

Leia mais

Extração de Árvores de Decisão com a Ferramenta de Data Mining Weka

Extração de Árvores de Decisão com a Ferramenta de Data Mining Weka Extração de Árvores de Decisão com a Ferramenta de Data Mining Weka 1 Introdução A mineração de dados (data mining) pode ser definida como o processo automático de descoberta de conhecimento em bases de

Leia mais

Introdução ao GED Simone de Abreu

Introdução ao GED Simone de Abreu Introdução ao GED Simone de Abreu GED O que é isso? O conhecimento teve, ao longo da história, diferentes significados e funções. No tempo das cavernas nossos antepassados transmitiam aos seus descendentes

Leia mais

IBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 6. O trabalho feito pela força para deslocar o corpo de a para b é dado por: = =

IBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 6. O trabalho feito pela força para deslocar o corpo de a para b é dado por: = = Energia Potencial Elétrica Física I revisitada 1 Seja um corpo de massa m que se move em linha reta sob ação de uma força F que atua ao longo da linha. O trabalho feito pela força para deslocar o corpo

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Morfologia Matemática Binária

Morfologia Matemática Binária Morfologia Matemática Binária Conceitos fundamentais: (Você precisa entender bem esses Pontos básicos para dominar a área! Esse será nosso game do dia!!! E nossa nota 2!!) Morfologia Matemática Binária

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2

Leia mais

Unidade VI. Validação e Verificação de Software Teste de Software. Conteúdo. Técnicas de Teste. Estratégias de Teste

Unidade VI. Validação e Verificação de Software Teste de Software. Conteúdo. Técnicas de Teste. Estratégias de Teste Unidade VI Validação e Verificação de Software Teste de Software Profa. Dra. Sandra Fabbri Conteúdo Técnicas de Teste Funcional Estrutural Baseada em Erros Estratégias de Teste Teste de Unidade Teste de

Leia mais

Módulo 15 Resumo. Módulo I Cultura da Informação

Módulo 15 Resumo. Módulo I Cultura da Informação Módulo 15 Resumo Neste módulo vamos dar uma explanação geral sobre os pontos que foram trabalhados ao longo desta disciplina. Os pontos abordados nesta disciplina foram: Fundamentos teóricos de sistemas

Leia mais

Estruturando o modelo de RH: da criação da estratégia de RH ao diagnóstico de sua efetividade

Estruturando o modelo de RH: da criação da estratégia de RH ao diagnóstico de sua efetividade Estruturando o modelo de RH: da criação da estratégia de RH ao diagnóstico de sua efetividade As empresas têm passado por grandes transformações, com isso, o RH também precisa inovar para suportar os negócios

Leia mais

4 Implementação e Resultados Experimentais

4 Implementação e Resultados Experimentais 4 Implementação e Resultados Experimentais Com o objetivo de fazer a criação automática de visões materializadas, ou seja, prover uma solução on-the-fly para o problema de seleção de visões materializadas,

Leia mais

Algoritmos e Estrutura de Dados III. Árvores

Algoritmos e Estrutura de Dados III. Árvores Algoritmos e Estrutura de Dados III Árvores Uma das mais importantes classes de estruturas de dados em computação são as árvores. Aproveitando-se de sua organização hierárquica, muitas aplicações são realizadas

Leia mais

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário

Leia mais

Extração de Requisitos

Extração de Requisitos Extração de Requisitos Extração de requisitos é o processo de transformação das idéias que estão na mente dos usuários (a entrada) em um documento formal (saída). Pode se entender também como o processo

Leia mais

3.1 Definições Uma classe é a descrição de um tipo de objeto.

3.1 Definições Uma classe é a descrição de um tipo de objeto. Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:

Leia mais

Curso de Instalação e Gestão de Redes Informáticas

Curso de Instalação e Gestão de Redes Informáticas ESCOLA PROFISSIONAL VASCONCELLOS LEBRE Curso de Instalação e Gestão de Redes Informáticas SISTEMAS DE ARQUIVOS FAT E FAT32 José Vitor Nogueira Santos FT2-0749 Mealhada, 2009 Introdução Muitos usuários

Leia mais

Análise Estruturada de Sistemas

Análise Estruturada de Sistemas Análise Estruturada de Sistemas Capítulo 3 Estudo de Viabilidade Definição das Necessidades Funcionais O propósito desta etapa é produzir um documento formal que contenha uma descrição detalhada da proposta,

Leia mais

Algoritmos de Busca em Tabelas

Algoritmos de Busca em Tabelas Dentre os vários algoritmos fundamentais, os algoritmos de busca em tabelas estão entre os mais usados. Considere por exemplo um sistema de banco de dados. As operações de busca e recuperação dos dados

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

Processos Técnicos - Aulas 4 e 5

Processos Técnicos - Aulas 4 e 5 Processos Técnicos - Aulas 4 e 5 Trabalho / PEM Tema: Frameworks Públicos Grupo: equipe do TCC Entrega: versão digital, 1ª semana de Abril (de 31/03 a 04/04), no e-mail do professor (rodrigues.yuri@yahoo.com.br)

Leia mais

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo Manual Sistema MLBC Manual do Sistema do Módulo Administrativo Este documento tem por objetivo descrever as principais funcionalidades do sistema administrador desenvolvido pela MLBC Comunicação Digital.

Leia mais

APROG - Civil. Excel. Técnicas de pesquisa de informação em tabelas. Instituto Superior de Engenharia do Porto 2000-2007

APROG - Civil. Excel. Técnicas de pesquisa de informação em tabelas. Instituto Superior de Engenharia do Porto 2000-2007 APROG - Civil Excel Técnicas de pesquisa de informação em tabelas Instituto Superior de Engenharia do Porto 2000-2007 Elaborado por: António Silva (DEI-ISEP) Pesquisa de Informação em Tabelas O Excel

Leia mais

Sistema de Controle de Solicitação de Desenvolvimento

Sistema de Controle de Solicitação de Desenvolvimento Sistema de Controle de Solicitação de Desenvolvimento Introdução O presente documento descreverá de forma objetiva as principais operações para abertura e consulta de uma solicitação ao Setor de Desenvolvimento

Leia mais

Casos de teste semânticos. Casos de teste valorados. Determinar resultados esperados. Gerar script de teste automatizado.

Casos de teste semânticos. Casos de teste valorados. Determinar resultados esperados. Gerar script de teste automatizado. 1 Introdução Testes são importantes técnicas de controle da qualidade do software. Entretanto, testes tendem a ser pouco eficazes devido à inadequação das ferramentas de teste existentes [NIST, 2002].

Leia mais

Sistemas de Informação I

Sistemas de Informação I + Sistemas de Informação I Dimensões de análise dos SI Ricardo de Sousa Britto rbritto@ufpi.edu.br + Introdução n Os sistemas de informação são combinações das formas de trabalho, informações, pessoas

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas CMP1132 Processo e qualidade de software II Prof. Me. Elias Ferreira Sala: 402 E Quarta-Feira:

Leia mais