0 Bewertungen0% fanden dieses Dokument nützlich (0 Abstimmungen)
31 Ansichten127 Seiten
OTIMIZAÇÃO DE MÉTODOS DE PROVA EM TABLÔS KE ATRAVÉS DA APLICAÇÃO DE UMA HEURÍSTICA BASEADA EM ALGORITMOS GENÉTICOS
TCC - UTFPR - BSI
Trabalho de Conclusão de Curso
Bacharelado em Sistemas de Informação
UTFPR — Universidade Tecnológica Federal do Paraná
Emerson Shigueo Sugimoto
Originaltitel
OTIMIZAÇÃO DE MÉTODOS DE PROVA EM TABLÔS KE ATRAVÉS DA APLICAÇÃO DE UMA HEURÍSTICA BASEADA EM ALGORITMOS GENÉTICOS
OTIMIZAÇÃO DE MÉTODOS DE PROVA EM TABLÔS KE ATRAVÉS DA APLICAÇÃO DE UMA HEURÍSTICA BASEADA EM ALGORITMOS GENÉTICOS
TCC - UTFPR - BSI
Trabalho de Conclusão de Curso
Bacharelado em Sistemas de Informação
UTFPR — Universidade Tecnológica Federal do Paraná
Emerson Shigueo Sugimoto
Copyright:
Attribution Non-Commercial (BY-NC)
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
OTIMIZAÇÃO DE MÉTODOS DE PROVA EM TABLÔS KE ATRAVÉS DA APLICAÇÃO DE UMA HEURÍSTICA BASEADA EM ALGORITMOS GENÉTICOS
TCC - UTFPR - BSI
Trabalho de Conclusão de Curso
Bacharelado em Sistemas de Informação
UTFPR — Universidade Tecnológica Federal do Paraná
Emerson Shigueo Sugimoto
Copyright:
Attribution Non-Commercial (BY-NC)
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
OTIMIZAO DE MTODOS DE PROVA EM TABLS KE ATRAVS DA APLICAO DE UMA HEURSTICA BASEADA EM ALGORITMOS GENTICOS
TRABALHO DE CONCLUSO DE CURSO
CURITIBA 2013
EMERSON SHIGUEO SUGIMOTO
OTIMIZAO DE MTODOS DE PROVA EM TABLS KE ATRAVS DA APLICAO DE UMA HEURSTICA BASEADA EM ALGORITMOS GENTICOS
Trabalho de Concluso de Curso de graduao, apresentado ao Curso Superior de Bacharelado em Sistemas da Informao do Departamento Acadmico de Informtica DAINF da Universidade Tecnolgica Federal do Paran UTFPR, como requisito parcial para obteno do ttulo de Bacharel em Sistemas da Informao.
Orientador: Nome do orientador: Prof. Dr. Adolfo Gustavo Serra Seca Neto E-mail do orientador: adolfo@dainf.ct.utfpr.edu.br
Assinatura do orientador:
CURITIBA 2013 3
RESUMO
SUGIMOTO, Emerson Shigueo. Otimizao de mtodos de prova em tabls KE atravs da aplicao de uma heurstica baseada em algoritmos genticos. 2013. 126 f. Trabalho de Concluso de Curso - Bacharelado em Sistemas de Informao - Universidade Tecnolgica Federal do Paran. Curitiba, 2013.
Este trabalho apresenta uma abordagem de otimizao dos mtodos de prova em Sistema KE baseada em Algoritmos Genticos. O foco do presente trabalho feito sobre a regra PB (Princpio da Bivalncia), que bifurca o tabl e onera a sua prova. A seleo das regras PB candidatas baseada nos conceitos de Seleo Natural expressos na abordagem de Algoritmos Genticos, de forma que frmulas que permitam o aumento da variao de premissas na base de conhecimentos so consideradas mais aptas que outras. A seleo das frmulas mais aptas comparada com a metodologia convencional de prova em sistemas KE em um ambiente computacional atravs de um provador automatizado de teoremas. O aumento da variabilidade da base de conhecimentos propiciada pela pr-seleo das regras PB candidatas demonstra uma otimizao dos mtodos de prova em comparao com a metodologia convencional. Isto se deve ao fato de que quanto maior o nmero de premissas diferentes, maior a probabilidade de que uma inconsistncia seja gerada na base de conhecimentos e, consequentemente, o tabl seja fechado.
SUGIMOTO, Emerson Shigueo. Proof method optimization in the KE tableau system by applying a heuristic based on genetic algorithms. 2013. 126 p. Trabalho de Concluso de Curso - Bacharelado em Sistemas de Informao - Universidade Tecnolgica Federal do Paran. Curitiba, 2013.
This work presents an approach for optimizing the proof methods in the KE system based on Genetic Algorithms. The focus of this work is on the PB (Principle of bivalence) rule, which bifurcates the tableau and increases the proof cost. The selection of PB candidates is based on concepts expressed in Natural Selection Genetic Algorithm approach, so that formulas that enable increased variation in the knowledge base are considered more suitable than others. The selection of the most suitable formula is compared with the conventional proof method for KE system in a computing environment via an automated theorem prover. The increased variability of the knowledge base provided by the pre-selection of PB candidates demonstrates an optimization of proof methods in comparison with the conventional methodology. This is due to the fact that the greater the number of different premises it is more likely that an inconsistency is generated in the knowledge base, consequently, the tableau will be closed.
Keywords: Automated theorem prover. KE System. Optimization. Systems. Genetic Algorithms.
5
LISTA DE FIGURAS
Figura 1 - Estrutura de funcionamento de um AG cannico .......................................... 17 Figura 2 Crossover de 1 ponto .................................................................................... 18 Figura 3 Funo f(x) .................................................................................................... 18 Figura 4 Funo Objeto ............................................................................................... 19 Figura 5 Pseudocdigo Roleta. .................................................................................... 20 Figura 6 Regra de corte do Teorema de Hauptsatz. .................................................... 25 Figura 7 - Regras do sistema de tabls KE. .................................................................... 26 Figura 8 - Regra A F .................................................................................................. 27 Figura 9 - Regra B T .................................................................................................. 27 Figura 10 Demonstrao de prova 1 ............................................................................ 27 Figura 11 Demonstrao de prova 2 ............................................................................ 28 Figura 12 - Aplicao de PB em T A B ...................................................................... 31 Figura 13 - Aplicao de PB em T (A B) C ........................................................... 31 Figura 14 - Prova 1 ......................................................................................................... 35 Figura 15 - Prova 2 ......................................................................................................... 35 Figura 16 - Roleta Java ................................................................................................... 37 Figura 17 - Pseudocdigo Geral da abordagem elitista. ................................................. 40 Figura 18 - Pseudocdigo Geral da abordagem estocstica. .......................................... 40 Figura 19 Configuraes de prova do KEMS ............................................................. 43 Figura 20 Famlia Gamma instncia 4 ......................................................................... 44 Figura 21 Famlia Statman instncia 4 ........................................................................ 44 Figura 22 Famlia H instncia 4 .................................................................................. 44 Figura 23 Famlia PHP instncia 4 .............................................................................. 45 Figura 24 Na comparao por tempo de prova para a famlia Gamma, as estratgias: anlise de Frequncia tomos Estocstico, Elitista e Hbrida mostraram-se mais eficientes. ........................................................................................................................ 46 6
Figura 25 Na comparao do tamanho da prova para a famlia Gamma, as estratgias: anlise de Frequncia tomos Estocstico, Elitista e Hbrida mostraram-se mais eficientes. ........................................................................................................................ 46 Figura 26 Na comparao do nmero de ns para a famlia Gamma, as estratgias: anlise de Frequncia tomos Estocstico, Elitista e Hbrida mostraram-se mais eficientes. ........................................................................................................................ 47 Figura 27 Na comparao do nmero de bifurcaes para a famlia Gamma, as estratgias: anlise de Frequncia tomos Estocstico, Elitista e Hbrida mostraram-se mais eficientes. ............................................................................................................... 47 Figura 28 Na comparao do uso de memria para a famlia Gamma, as estratgias: anlise de Frequncia tomos Estocstico, Elitista e Hbrida mostraram-se mais eficientes. ........................................................................................................................ 48 Figura 29 Na comparao do tempo da prova para a famlia Statman, todas as estratgias mostraram-se mais eficientes. ....................................................................... 49 Figura 30 Na comparao do tamanho da prova para a famlia Statman, todas as estratgias mostraram-se mais eficientes. ....................................................................... 49 Figura 31 Na comparao do nmero de ns para a famlia Statman, todas as estratgias mostraram-se mais eficientes. ....................................................................... 50 Figura 32 Na comparao do nmero de bifurcaes para a famlia Statman, todas as estratgias mostraram-se mais eficientes. ....................................................................... 50 Figura 33 Na comparao do uso de memria para a famlia Statman, todas as estratgias mostraram-se mais eficientes. ....................................................................... 51 Figura 34 Na comparao do tempo de prova para a famlia H, todas as estratgias (exceto a abordagem hbrida com funo de avaliao anlise de frequncia de tomos) mostraram-se mais eficientes.......................................................................................... 53 Figura 35 Na comparao do tamanho da prova para a famlia H, todas as estratgias mostraram-se mais eficientes.......................................................................................... 53 Figura 36 Na comparao do nmero de ns para a famlia H, todas as estratgias mostraram-se mais eficientes.......................................................................................... 54 Figura 37 Na comparao do nmero de bifurcaes para a famlia H, todas as estratgias mostraram-se mais eficientes. ....................................................................... 54 7
Figura 38 Na comparao do uso de memria para a famlia H, todas as estratgias (exceto a abordagem hbrida com funo de avaliao anlise de frequncia de tomos) mostraram-se mais eficientes.......................................................................................... 55 Figura 39 Na comparao do tempo de prova para a famlia PHP, todas as estratgias (exceto a abordagem hbrida com funo de avaliao anlise de frequncia de tomos) mostraram-se mais eficientes.......................................................................................... 57 Figura 40 Na comparao do tamanho da prova para a famlia PHP, todas as estratgias mostraram-se mais eficientes. ....................................................................... 57 Figura 41 Na comparao do nmero de ns para a famlia PHP, todas as estratgias mostraram-se mais eficientes.......................................................................................... 58 Figura 42 Na comparao do nmero de bifurcaes para a famlia PHP, todas as estratgias mostraram-se mais eficientes. ....................................................................... 58 Figura 43 Na comparao do uso de memria para a famlia PHP, todas as estratgias mostraram-se mais eficientes.......................................................................................... 59
8
LISTA DE ABREVIATURAS E SIGLAS
AG: Algoritmos Genticos. EF: Environmental Factor. HoQ: House of Quality. JVM: Java Virtual Machine. PB: Princpio da Bivalncia. SAT: Satisfazibilidade. Sse: Se e Somente Se. Subf: Subfrmula. TCF: Technical Complexity Factor. UAW: Unadjusted Actor Weight. UCP: Use Case Points. UUCP: Unadjusted Use Case Point. UUCW: Unadjusted Use Case Weight. WBS: Work Breakdown Structure.
9
LISTA DE SMBOLOS
: Funo. : Funo Objeto. : Negao. : Consistncia. : Inconsistncia. : E. : Ou. T: Verdade. F: Falso. : Implicao. : Bi-Implica. : TOP, Veracidade. : BOTTOM, Falsidade. : Conjunto de smbolos proposicionais. V: Valorao proposicional. LP: Linguagem da lgica proposicional. : Unio. : Subconjunto. \: Diferena entre conjuntos. e: Pertence. : Conjunto de premissas. c: Funo de complexidade Fp: Conjunto de Frmulas da lgica proposicional. : Frmula. : Conjunto dos nmeros Naturais incluindo o zero.
10
SUMRIO
1. INTRODUO ...................................................................................................... 12 1.1 Objetivo Geral .................................................................................................. 13 1.2 Objetivos Especficos ...................................................................................... 14 2. LEVANTAMENTO BIBLIOGRFICO E ESTADO DA ARTE ......................... 15 2.1 Algoritmos Genticos ...................................................................................... 16 2.1.1 Funo de Fitness ..................................................................................... 18 2.1.2 Seleo por Roleta .................................................................................... 19 2.2 Lgica Clssica Proposicional ......................................................................... 21 2.2.1 Proposies ............................................................................................... 22 2.2.2 Tamanho de prova .................................................................................... 23 2.2.3 Frmulas Assinaladas ............................................................................... 23 2.2.4 Tabls KE ................................................................................................. 23 2.2.5 Anomalia prova terico ............................................................................ 24 2.2.6 Anomalia semntica ................................................................................. 24 2.2.7 Anomalia computacional .......................................................................... 25 2.2.8 Regras do sistema KE ............................................................................... 26 2.3 Otimizao de Prova ........................................................................................ 27 3. MTODO ............................................................................................................... 29 3.1 Aplicao de AG .............................................................................................. 29 3.1.1 Avaliao .................................................................................................. 30 3.1.2 Avaliao por complexidade de frmulas ................................................ 31 3.1.3 Avaliao por anlise frequncia tomos ................................................. 32 3.1.4 Seleo ...................................................................................................... 34 3.1.5 Seleo elitista .......................................................................................... 34 3.1.6 Seleo estocstica ................................................................................... 37 3.1.7 Seleo hbrida ......................................................................................... 38 3.1.8 Crossover .................................................................................................. 39 3.2 Pseudocdigo ................................................................................................... 40 11
4. PROCEDIMENTOS DE TESTE E VALIDAO ............................................... 41 5. RESULTADOS ...................................................................................................... 42 5.1 Famlias de problemas ..................................................................................... 44 5.2 Resultados famlia Gamma .............................................................................. 46 5.2.1 Discusso dos resultados famlia Gamma ................................................ 48 5.3 Resultados famlia Statman.............................................................................. 49 5.3.1 Discusso dos resultados famlia Statman ................................................ 52 5.4 Resultados famlia H ........................................................................................ 53 5.4.1 Discusso dos resultados famlia H .......................................................... 56 5.5 Resultados famlia PHP ................................................................................... 57 5.5.1 Discusso dos resultados famlia PHP ..................................................... 60 6. CONCLUSES ...................................................................................................... 61 7. REFERNCIAS BIBLIOGRFICAS ................................................................... 63 APNDICE A RECURSOS DE HARDWARE E SOFTWARE ................................. 67 APNDICE B PROJETO DE SOFTWARE ................................................................ 69 APNDICE C Diagrama de classes .......................................................................... 103 APNDICE D KEMS - Execuo em lote ................................................................ 104 APNDICE E RESULTADOS ................................................................................. 105
12
1. INTRODUO
Este trabalho apresenta um mtodo de otimizao de prova em sistema KE baseado em Algoritmos Genticos. A estratgia de Algoritmos Genticos (AG) mapeia um estado de um problema em forma de indivduo. Estes so definidos em forma de cromossomos ou cdigo gentico. Os Algoritmos Genticos criam uma populao de indivduos e selecionam uma poro aleatria, atravs de uma funo de avaliao (funo de fitness). Esta funo procura favorecer indivduos que apresentem maior valor em uma funo de desempenho, ou seja, privilegia os mais aptos, e reproduz estes indivduos atravs de um processo de crossover. Este processo consiste na troca de pares de genes entres os indivduos. A seleo dos indivduos est baseada na Teoria da Seleo Natural, formulada pelo naturalista Charles Darwin em 1858 (LINDEN, 2006). De acordo com esta teoria, o indivduo mais apto ao ambiente possui uma maior probabilidade de se reproduzir e garantir a permanncia dos seus genes. O algoritmo prev, com base em uma probabilidade aleatria, que ocorram mutaes nos genes cromossmicos dos indivduos. Desta forma os indivduos gerados, incluindo o conjunto dos indivduos da gerao anterior, podem sofrer mutaes, gerando outros indivduos (RUSSELL; NORVIG, 2003). Os mtodos baseados em tabls so importantes por existirem para diferentes lgicas (FITTING, 1999). Mtodos baseados em tabls podem ser utilizados para desenvolver procedimentos de prova para lgica clssica assim como para vrios tipos de lgicas no clssicas (CARNIELLI; CONIGLIO; MARCOS, 2005). Apesar de parecido com o mtodo dos tabls analticos, o sistema KE um sistema refutacional que no afetado pelas anomalias dos sistemas livres de corte (MONDADORI e D'AGOSTINO, 1994). Os mtodos de prova definem a aplicao de um conjunto definido de regras em uma Base de Conhecimentos, com a finalidade de permitir a deduo formal de conhecimento. Em geral, estes mtodos definem regras, em quais proposies elas se aplicam e o conjunto de frmulas resultantes provenientes da aplicao das regras. 13
Porm no definem em que ordem as regras devem ser aplicadas, no intuito de maximizar a eficcia da resoluo dos tabls. Dependendo da ordem da aplicao das regras em uma base de conhecimentos, maior ou menor ser o tamanho da prova necessria prova de um tabl. Smullyan (1995) separa as regras dos tabls analticos em regras A e B. As regras A possuem consequncias diretas, e regras B bifurcam o tabl. Smullyan cita que a aplicao de regras B onera o tamanho da prova de um tabl. Isto se deve ao fato de que estas regras bifurcam o tabl. Uma demonstrao de otimizao de provas de tabls baseada na seleo de frmulas no momento da aplicao da regra PB (seleo de frmulas PB candidatas) da lgica paraconsistente, famlia C1, descrita em Sugimoto (2010). A aplicao da regra PB em frmulas que possuam o conectivo de consistncia adiciona novas frmulas a base de conhecimento (SUGIMOTO, 2010). Isto permite a resoluo do tabl de forma mais eficiente do que apenas a resoluo baseada na aplicao da regra PB em sequentes de forma aleatria ou mesmo que siga uma ordem fixa e pr-estabelecida de seleo de frmulas. Com base nesta premissa, o presente trabalho estuda a aplicao de uma tcnica de seleo de regras PB candidatas, do sistema KE, baseada no conceito de Seleo Natural expresso na abordagem de Algoritmos Genticos. A seleo das premissas procura otimizar a velocidade dos mtodos de prova em Sistemas KE.
1.1 Objetivo Geral
Este trabalho tem por objetivo otimizar mtodos de prova em tabls KE, especificamente atravs da seleo de frmulas PB candidatas atravs de um mtodo de escolha baseada nos conceitos de Seleo Natural apresentados pelos Algoritmos Genticos. Por frmulas PB candidatas subentende-se, para cada estado do tabl, o conjunto de frmulas que podem bifurcar o tabl atravs da aplicao da regra PB (a regra PB no sistema KE est representada na subseo 2.2.8). A metodologia de avaliao e seleo das frmulas baseada na premissa de que quanto mais indivduos novos (premissas novas) forem adicionados base de conhecimentos, maior a probabilidade de que o tabl seja fechado e, consequentemente, 14
mais eficiente seja a prova do ponto de vista de consumo de tempo e recursos computacionais.
1.2 Objetivos Especficos
So objetivos do presente trabalho: - Desenvolver e comparar tcnicas de avaliao e seleo das frmulas PB candidatas. - Desenvolver trs perspectivas para seleo de frmulas: estocstica, elitista e hbrida. - Avaliar a metodologia desenvolvida em conjunto com os mtodos convencionais de prova apresentados pelo software KEMS.
15
2. LEVANTAMENTO BIBLIOGRFICO E ESTADO DA ARTE
As caractersticas de Algoritmos Genticos esto descritas na seo 2.1. Esta seo descreve a representao dos indivduos, etapas, funo de fitness, mtodo de seleo por roleta e aplicaes de algoritmos genticos. A seo 2.2 descreve conceitos da lgica clssica proposicional, representao computacional de frmulas, proposies, tamanho de prova, regras de eliminao de parnteses, complexidade de frmulas, tabls analticos, frmulas assinaladas e por fim tabls KE. Os estudos sobre mtodos de otimizao de Prova em tabls analticos esto descritos na seo 2.3. Os Tabls so um sistema de deduo que estabelece estruturas e permite a representao e a deduo formal de conhecimento. Tabls analticos tratam de problemas de satisfazibilidade, especificamente, verificar a satisfazibilidade de uma base de conhecimentos. Dependendo da ordem da aplicao das regras, provas mais eficientes podem ou no ser obtidas. Como apresentado na seo 2.3, Smullyan (1995), descreve a aplicao de regras do tipo B em tabls analticos. Como estas regras bifurcam o tabl, diminuem a eficincia da prova. A partir deste ponto de vista, a seleo das regras B um ponto de otimizao dos mtodos de prova. A tcnica de AG ser utilizada neste trabalho como mtodo de avaliao e seleo de frmulas, no intuito de otimizar mtodos de prova em sistemas KE. A metodologia de AG aplicada no presente trabalho est descrita na seo 3. Esta seo descreve a aplicao da avaliao, seleo e cruzamento da abordagem AG aplicada resoluo de problemas lgicos. Os procedimentos de teste e validao esto descritos na seo 4. Os resultados e as concluses esto nas sees 5 e 6, respectivamente. As solues propostas foram mais eficientes do que a soluo convencional apresentada pelo provador automatizado de teoremas KEMS.
16
2.1 Algoritmos Genticos
Os algoritmos genticos possuem origem na dcada de 40 (LINDEN, 2006), quando os cientistas comearam a tentar se inspirar na natureza para criar o ramo da Inteligncia Artificial. No final da dcada de 50 comeou-se a buscar modelos de sistemas genricos para gerar soluo para problemas computacionais. No final da dcada de 60 surge a descrio formal de Algoritmos Genticos definida por John Henry Holland em seu livro Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence, de 1975. Holland apresenta os algoritmos genticos como uma metfora para os processos evolutivos (LINDEN, 2006). A representao dos indivduos em AG feita em codificao binria. Como exemplo segue o cromossomo: 000111010. Cada posio (locus) do cromossomo assume um dos possveis valores binrios: 0 ou 1. As etapas de um algoritmo gentico esto representadas na Figura 1.
17
Figura 1 - Estrutura de funcionamento de um AG cannico Fonte: Lucas (2002).
Descrio das etapas representadas na Figura 1:
- Inicializa a Populao: Nesta etapa os indivduos so representados em codificao binria, chamados de cromossomos. Todos os indivduos devem possuir o mesmo tamanho. - Avaliao: avalia-se a aptido dos indivduos. A avaliao deve calcular um valor de fitness de cada indivduo. Este valor traduz a aptido de cada indivduo de acordo com o problema em estudo. - Seleo: Os indivduos so selecionados para a reproduo com base em uma probabilidade relativa sua aptido (abordagem estocstica). Uma abordagem elitista seleciona os indivduos mais aptos, ou seja, com um valor de fitness maior. 18
- Cruzamento: Ou crossover. Caractersticas das solues escolhidas so recombinadas, gerando novos indivduos. A Figura 2 demonstra um exemplo de crossover de 1 ponto dos indivduos 00101001 e 10011011.
Figura 2 Crossover de 1 ponto Fonte: Linden (2006).
- Mutao: caractersticas dos indivduos so alteradas. Exemplo: para o indivduo 00101001, uma mutao poderia ser: 01101001, ou 00101000. - Atualizao: indivduos criados na gerao so adicionados populao. Uma abordagem convencional seria o descarte de indivduos menos aptos da gerao anterior e adio dos indivduos criados. - Finalizao: verifica-se se o estado objetivo foi alcanado, em caso positivo encerra-se a execuo, caso contrrio retorna etapa de avaliao.
2.1.1 Funo de Fitness
Na etapa de Avaliao (Figura 1) avalia-se a aptido dos indivduos. A avaliao deve calcular um valor de fitness de cada indivduo. Este valor traduz a aptido de cada indivduo de acordo com o problema em estudo. A funo de Avaliao tambm chamada de Funo Objeto ( ). Lucas (2002) cita como exemplo a busca do valor mximo de funo representada na Figura 3.
Figura 3 Funo f(x) Fonte: Lucas (2002).
19
Figura 4 Funo Objeto Fonte: Lucas (2002).
O valor de retorno da Funo Objeto ( ) est representado na Figura 4, onde (G) a funo objeto aplicada sobre o Genoma G e d(G) a funo que decodifica os genes do genoma em um valor x (LUCAS, 2002). Se G = [0001010100101001] e d(x) uma funo que decodifica nmeros binrios em reais, ento: d(G) = 17,2337, f(d(G)) = 361,131. Logo, (G) = 361,131.
2.1.2 Seleo por Roleta
A seleo por Roleta utilizada na abordagem estocstica. Neste mtodo, a seleo das frmulas deve permitir que premissas menos aptas (frmulas com uma valorao da funo de fitness menor) possuam probabilidade de serem escolhidas. Esta probabilidade relativa ao valor de fitness da frmula. Indivduos com um fitness menor possuem uma probabilidade menor de serem escolhidos, porm no so imediatamente descartados, como na abordagem elitista. Como exemplo, a Tabela 1 ilustra uma situao descrita em Linden (2006), na qual esto representados os indivduos, respectivos valores de fitness, porcentagem da roleta e o ngulo relativo a cada indivduo. A Tabela 1 indica que a probabilidade de seleo de um indivduo menos apto est relacionada diretamente com a sua avaliao. Quanto maior a avaliao do indivduo, maior o pedao da roleta e maior ser a probabilidade deste indivduo ser escolhido.
Tabela 1 Avaliao de Indivduos. Indivduo Fitness Frao da Roleta (%) Frao da Roleta () 0001 1 1.61 5.8 0011 9 14.51 52.2 0100 16 25.81 92.9 0110 36 58.07 209.1 Total 62 100.00 360.0 Fonte: Linden (2006).
20
O pseudocdigo da seleo atravs da Roleta apresentado na Figura 5. A funo do pseudocdigo retornar o ndice do indivduo da populao sorteado no mtodo de seleo por roleta. Como exemplo, caso o valor sorteado para a varivel limite seja de 15.9, o indivduo selecionado da Tabela 1 seria o indivduo de ndice 2 ou o indivduo 0011.
soma valor da soma de todas as avaliaes limite valor aleatrio entre 0 e soma i 1 aux valor de avaliao do indivduo i enquanto aux < limite i i + 1 aux aux + valor de avaliao do indivduo i fim enquanto i i 1 retorne i
Figura 5 Pseudocdigo Roleta. Fonte: Autoria prpria.
21
2.2 Lgica Clssica Proposicional
De acordo com Silva et al. (2006), a linguagem proposicional envolve proposies (enunciados no qual se pode atribuir um valor verdade - verdadeiro ou falso) e conectivos (ex.: e: , ou: , negao: , implicao: ), formando frmulas complexas. O alfabeto da lgica proposicional composto pelos elementos (SILVA et al., 2006) seguintes: - Um conjunto infinito e contvel de smbolos proposicionais, chamados de tomos, ou de variveis proposicionais: = { p0, p1, .... }. - O conectivo unrio (negao, l-se: NO). - Os conectivos binrios (conjuno, l-se: E), (disjuno, l-se: OU), e (implicao, l-se: SE ... ENTO ...). - Os elementos de pontuao, que contm apenas os parnteses: ( e ).
Os elementos da linguagem LP da lgica proposicional so chamados de frmulas (ou frmulas bem formadas) e estas so definidas indutivamente como o menor conjunto que satisfaa as seguintes regas de formao (SILVA et al., 2006): - Caso bsico: Todos os smbolos proposicionais esto em LP; ou seja; _ LP. Os smbolos proposicionais so chamados de frmulas atmicas, ou tomos. - Caso indutivo 1: Se A e LP, ento A e LP. - Caso indutivo 2: Se A, B e LP, ento (A B) e LP, (A B) e LP, (A B) e LP.
O conjunto de subfrmulas definido de acordo com Silva et al. (2006) como sendo: 1. Caso bsico: A = p. Subf(p) = {p}, frmula atmica p e . 2. Caso A = B. Subf(B) = {B} Subf(B). 3. Caso A = B C. Subf(B C) = { B C } Subf(B) Subf(C). 4. Caso A = B C. Subf(B C) = { B C } Subf(B) Subf(C). 5. Caso A = B C. Subf(B C) = { B C } Subf(B) Subf(C).
22
O tamanho ou complexidade de uma frmula A, |A| um nmero inteiro positivo (SILVA et al., 2006): 1. |p| = 1, frmula atmica p e . 2. |A| = 1 + |A|. 3. |A B| = 1 + |A| + |B|, para e { , , }. Na semntica da lgica clssica existem dois valores-verdade: verdadeiro, representado por 1 e o valor falso representado por 0. Uma valorao proposicional V uma funo V : {0,1}, que mapeia cada smbolo proposicional em em um valor verdade. A valorao V : LP {0,1} uma extenso do conceito de valorao anterior. De acordo com Silva et al. (2006) a valorao V : LP {0,1} feita da seguinte maneira: - V(A) = 1 sse V(A) = 0; - V(A B) = 1 sse V(A) = 1 e V(B) = 1; - V(A B) = 1 sse V(A) = 1 ou V(B) = 1; - V(A B) = 1 sse V(A) = 0 ou V(B) = 1.
2.2.1 Proposies
De acordo com Azevedo Filho (2010), proposio toda a declarao cujo contexto de uso comporta um e somente um dos valores lgicos: falso (F) ou verdadeiro (T). Hipteses so formulados atravs de proposies e a determinao do seu valor lgico objeto de pesquisa. O processo de verificar se uma proposio tem valor lgico verdadeiro (T) tambm chamado de verificao da validade da proposio.
23
2.2.2 Tamanho de prova
De acordo com Neto (2007) o tamanho de prova pode ser dado por: - Complexidade da rvore de prova: soma das complexidades de todas as ocorrncias de frmulas assinaladas nas rvores de prova; - Altura da rvore de prova (considerando ramos como ns); - Comprimento do caminho mais longo da raiz at uma folha; - Quantidade de frmulas distintas; - Quantidade de frmulas assinaladas distintas; O tamanho de prova usado no presente trabalho dado pela altura da rvore.
2.2.3 Frmulas Assinaladas
Uma frmula assinalada expressa como T X ou F X, onde X uma frmula no assinalada. T X dita verdadeira se X verdade e falsa se X falso. E uma frmula assinalada F X dita verdade se X falso e falso se X verdade. Desta forma o valor de T X o mesmo de X e o valor de F X o mesmo de X (SMULLYAN, 1995).
2.2.4 Tabls KE
O mtodo de Tabl analtico um descendente direto do clculo de Gentzen livre de corte e considerado como um paradigma da noo de deduo analtica na lgica clssica (MONDADORI e D'AGOSTINO, 1994). O sistema de tabls adotado no presente estudo utiliza os mtodos de prova baseados em KE. De acordo com Mondadori e D'Agostino (1994), o sistema KE foi apresentado como uma melhoria, no aspecto computacional, em relao ao sistema de 24
tabls analticos (SMULLYAN, 1968). Apesar de parecido com o sistema de tabls analticos, proposto por Smullyan, o sistema KE um sistema refutacional que no afetado pelas anomalias dos sistemas livres de corte. Mondadori e D'Agostino (1994) desenvolveram o sistema KE como proposta a trs anomalias independentes na formalizao de tabls analticos proposto por Smullyan. So elas: - Anomalia prova terica; - Anomalia semntica; e - Anomalia computacional; As anomalias esto descritas nas subseces 2.2.5, 2.2.6 e 2.2.6. As Regras do sistema KE esto descritas na subseo 2.2.8.
2.2.5 Anomalia prova terico
Esta anomalia est relacionada com a propriedade da transitividade das dedues normais. Supondo um conjunto de premissas , sua prova poderia ser uma combinao de duas provas mais simples, de B a partir de e de A a partir de , B. A noo de derivabilidade formal, baseada no mtodo de tabl no satisfaz o princpio da transitividade (MONDADORI e D'AGOSTINO, 1994).
2.2.6 Anomalia semntica
As noes de verdade e falsidade so regidas por dois princpios bsicos: no- contradio (nenhuma proposio pode ser verdadeira e falsa ao mesmo tempo) e bivalncia (toda proposio verdadeira ou falsa, e no existem outras possibilidades). 25
Para as regras subsequentes de Gentzen, vlido, se e somente se, para cada modelo M, pelo menos uma frmula verdadeira em M sempre que todas as frmulas em so verdadeiras em M (MONDADORI e D'AGOSTINO, 1994). A regra de corte do teorema de Hauptsatz, formulado por Gentzen est ilustrada na Figura 6.
Figura 6 Regra de corte do Teorema de Hauptsatz. Fonte: Mondadori e D'Agostino (1994).
De acordo com Mondadori e D'Agostino (1994), se lermos a regra da Figura 6 de cabea para baixo, seguindo a mesma interpretao semntica que adotamos para as regras operacionais, ento o que a regra de corte diz :
Em todos os modelos e para todas as proposies A, ou A verdadeira ou A falso.
Que o princpio da bivalncia, que caracteriza a noo de verdade e falsidade. Embora o princpio da no-contradio claramente incorporado na regra para fechar um ramo, no existe uma regra no mtodo tabl (e em sistemas de corte livres Gentzen), que corresponde ao princpio da bivalncia. Ao enumerar todos os casos possveis, as regras de tabl permitem a possibilidade de algo ser diferente de verdadeiro ou falso.
2.2.7 Anomalia computacional
O suposto aumento de velocidade de provas com corte e de provas sem corte irrelevante do ponto de vista da deduo automatizada (MONDADORI e D'AGOSTINO, 1994).
26
2.2.8 Regras do sistema KE
As regras do sistema KE esto representadas na Figura 7.
TA B (T1) TA B (T2) FA B (F) TA FB TA TB FA FB
FA B (F1) FA B (F2) TA B (T) TA TB TA FB FA TB
TA B (T1) TA B (T2) FA B (F) FA FB FA TB TA FB
TA (T) FA (F)
FA TA
(PB)
Figura 7 - Regras do sistema de tabls KE. Fonte: Neto (2007).
Destaca-se a regra PB (Princpio da Bivalncia, representada na Figura 7) que bifurca o tabl e estudo do presente trabalho.
27
2.3 Otimizao de Prova
Smullyan (1995) separa as regras dos tabls analticos em regras A e B. As regras A possuem consequncias diretas, e regras B bifurcam o tabl. Smullyan (1995) cita que uma maneira para tratar os tabls utilizar as regras de um ramo no sentido de cima para baixo. Nesta abordagem as regras so aplicadas na sequncia em que as frmulas aparecem em um ramo. Porm ele indica que esta abordagem menos eficiente do que a aplicao prioritria de regras A. Isto se deve ao fato de que a aplicao de regras no sentido de cima para baixo pode aplicar regras B, o que cria novos ramos. Como exemplo Smullyan (1995) demonstra a prova do sequente [p (q r)] [(p q) (p r)]. As regras A e B aplicadas esto representadas na Figura 8 e Figura 9. A primeira resoluo feita no sentido de cima para baixo (Figura 10) e a segunda privilegia a aplicao da regra A (Figura 11).
Figura 8 - Regra A F Fonte: Smullyan (1995).
Figura 9 - Regra B T Fonte: Smullyan (1995).
Figura 10 Demonstrao de prova 1 Fonte: Smullyan (1995).
28
Figura 11 Demonstrao de prova 2 Fonte: Smullyan (1995).
Observa-se que a demonstrao de prova que privilegia a aplicao da regra A, representada na Figura 11 (13 linhas), foi mais rpida do que a demonstrao 1 da Figura 10 (23 linhas). Isto se deve ao fato de que a aplicao de regras B bifurcam o tabl e desta forma criam novos ramos. A aplicao de regras que bifurquem o tabl oneram a sua prova devido bifurcao dos ramos. Desta forma o presente trabalho estuda tcnicas de seleo de frmulas PB candidatas no intuito de otimizar a prova de tabls no sistema KE.
29
3. MTODO
Como mencionado na subseo 2.3, dependendo da ordem da aplicao das regras, uma prova mais eficiente pode ser obtida (Smullyan, 1995). De acordo com Smullyan (1995) a aplicao de regras B bifurcam o tabl e oneram a sua prova. Em tabls KE a regra que bifurca o tabl a regra PB. Esta regra objeto de estudo do presente trabalho. Este trabalho apresenta uma abordagem de otimizao dos mtodos de prova em tabls KE atravs da aplicao de uma heurstica baseada em algoritmos genticos (AG). A abordagem baseada em AG utilizada nas etapas de avaliao e seleo das frmulas PB candidatas. A aplicao dos AG no presente trabalho est descrita da seo 3.1. O provador automtico de teoremas KEMS ser base do desenvolvimento das abordagens de AG elitista, estocstica e hbrida.
3.1 Aplicao de AG
Como mencionado na seo 2.3, dependendo da ordem da aplicao das regras, uma prova mais eficiente pode ser obtida. Com base nesta premissa, uma tcnica de seleo fundamentada em AG ser utilizada para otimizar mtodos de prova baseados em tabls KE. As premissas de um tabl so ditas indivduos para a tcnica de AG. A avaliao e seleo so feitas sobre as frmulas PB candidatas a um determinado estado de prova do tabl. O processo de crossover ser dado pela aplicao da regra PB na frmula escolhida na etapa de seleo. As etapas dos AG, representadas na Figura 1 (seo 2.1), utilizadas no presente trabalho so:
- Inicializa a Populao: A populao formada pelas premissas da base de conhecimento. 30
- Avaliao: A avaliao dada para cada frmula PB candidata de um determinado estado do tabl. - Seleo: Trs abordagens de seleo so utilizadas neste trabalho: elitista, estocstica e hbrida. - Cruzamento (Ou crossover): D-se pela aplicao da regra PB frmula selecionada. - Mutao: No se aplica ao trabalho proposto. - Atualizao: As frmulas resultantes so adicionadas ao ramo do tabl. No h descarte de geraes. - Finalizao: verifica-se se o estado objetivo foi alcanado, no caso, se o ramo est fechado. Em caso positivo, repete-se a etapa de avaliao para um ramo aberto. Encerra-se a execuo quando todos os ramos estiverem fechados. Caso o tabl ramo no esteja fechado as etapas de Avaliao, Seleo, Cruzamento e Atualizao so repetidas, caso a etapa do Cruzamento no possa ser feita, o tabl considerado aberto e o processo de prova finalizado.
As etapas de Avaliao, Seleo e Cruzamento de frmulas esto descritas nas sees 3.1.1, 3.1.4 e 3.1.8, respectivamente.
3.1.1 Avaliao
A avaliao feita para cada frmula candidata a aplicao da regra PB. A etapa de avaliao leva em considerao que quanto maior o nmero de premissas novas adicionadas base de conhecimento atravs da aplicao da regra PB, maior ser o valor de fitness dado frmula. A etapa de avaliao serve de base ao processo de seleo das frmulas (seo 3.1.4) e posterior crossover (seo 3.1.8). As heursticas adotadas para classificao e escolha de frmulas PB candidatas envolvem a complexidade das frmulas, descrita na subseo 3.1.2, e a anlise de frequncia dos tomos das premissas da base de conhecimento, descrita na subseo 3.1.3. 31
3.1.2 Avaliao por complexidade de frmulas
A otimizao do procedimento de prova em sistemas KE baseada no aumento da variabilidade gentica da base de conhecimentos. A ideia empregada a de que o aumento do nmero de novas frmulas aumente a probabilidade da ocorrncia de inconsistncias na base de conhecimentos, o que por sua vez leva ao fechamento do ramo e do tabl. A aplicao da regra PB em frmulas com maior complexidade pode gerar novas premissas, aumentando desta forma a variabilidade gentica da base de conhecimentos. Desta forma, entre um conjunto de frmulas PB candidatas, a frmula de maior fitness ser a que, dentre as premissas, possuir a maior complexidade. O resultado da funo de avaliao dado pelo clculo de complexidade da frmula. Como exemplo seguem as premissas: Premissa 1: T A B (complexidade 3). Premissa 2: T (A B) C (complexidade 5) A aplicao da regra PB na Premissa 1 e Premissa 2, respectivamente, esto representadas na Figura 12 e Figura 13.
T A B T (A B) C F A (PB) TA (PB) F A B (PB) T A B (PB) T B (T1) F A (F ) T C (T 1) F B (F ) Figura 12 - Aplicao de PB em T A B Fonte: Autoria prpria.
Figura 13 - Aplicao de PB em T (A B) C Fonte: Autoria prpria. De acordo com a Figura 13, aps a aplicao da regra PB em T (A B) C, obtm-se F A B e T A B. A partir de F A B obtm-se FA e FB (regra F). Estas premissas podem ser usadas em conjunto com outras frmulas e regras e desta forma aumentar a probabilidade de que o ramo e tabl sejam fechados. Um exemplo de prova est descrito nas figuras: Figura 14 e Figura 15 (subseo 3.1.5). Cabe ressaltar que esta uma heurstica adotada, no necessariamente o procedimento de prova ser otimizado apenas pela escolha de premissas PB candidatas de maior complexidade. 32
3.1.3 Avaliao por anlise frequncia tomos
De forma semelhante avaliao de frmulas de maior complexidade (subseo 3.1.2), a avaliao por anlise de frequncia dos tomos tem a premissa de que quanto maior a variabilidade da base de conhecimentos, maior a probabilidade de que uma inconsistncia seja gerada. Especificamente a variabilidade intrnseca frmula PB candidata objeto de estudo do aumento da variabilidade da base de conhecimentos. A aplicao da regra PB em frmulas com maior valorao da anlise de frequncia de tomos pode gerar novas premissas, aumentando desta forma a variabilidade gentica da base de conhecimentos. A avaliao de frequncias leva em considerao a frequncia dos tomos das frmulas PB candidatas e as demais frmulas da base de conhecimentos. Como exemplo, seja A o conjunto de premissas da base de conhecimentos, PB o conjunto de frmulas PB candidatas (sendo PB A) e B a diferena entre os conjuntos A e PB (A \ PB). Sendo o conjunto A formado pelas premissas: A = {TA C, FA C D, T A C, T C}.
O conjunto PB subconjunto de A, PB A, e formado pelas premissas: PB = {TA C, FA C D}.
O conjunto B dado pela diferena: B = A \ PB = {T A C, T C}. Sendo a relao tomo e sua respectiva frequncia dada por {tomo: frequncia}, a frequncia de tomos das premissas do conjunto A : - TA C, {A: 1, C: 1} - FA C D, {A: 1, C: 1, D: 1} - T A C, {A: 1, C: 1} - T C, {C: 1} A frequncia de tomos das premissas do conjunto PB : - TA C, {A: 1, C: 1} - FA C D, {A: 1, C: 1, D: 1} 33
A anlise de frequncia dos tomos da base de conhecimentos feita sobre a diferena entre os conjuntos A e PB, ou seja, formado pelo conjunto B: - T A C, {A: 1, C: 1} - T C, {C: 1}
Desta forma a lista de frequncias dos tomos da base de conhecimentos dada pela soma de frequncias dos tomos de B: - {A: 1, C: 2}
A soma das frequncias dos tomos das frmulas PB candidatas com a lista de frequncias dada por: - TA C, {A: 2, C: 3}, totalizando-se uma avaliao de 5. - FA C D, {A: 2, C: 3, D: 1}, totalizando-se uma avaliao de 6.
Desta forma a frmula PB candidata com maior valorao de fitness ser FA C D, de avaliao 6. Esta abordagem tem a premissa de que quanto maior a frequncia dos tomos nas frmulas PB candidatas em relao frequncia dos tomos da base de conhecimentos, maior ser a probabilidade de que uma inconsistncia seja gerada, e desta forma, o tabl seja fechado. A funo de valorao de uma frmula PB candidata dada pela soma das frequncias dos tomos das frmulas PB candidatas e das frequncias dos tomos das frmulas da base de conhecimentos.
34
3.1.4 Seleo
Trs abordagens de seleo baseadas na avaliao das frmulas PB candidatas (seo 3.1.1) so fontes de estudo do presente trabalho. So elas: seleo elitista, estocstica e hbrida, descritas nas sees 3.1.5, 3.1.6 e 3.1.7, respectivamente. O presente trabalho estuda as abordagens elitista e estocstica em conjunto com as funes de avaliao baseadas na complexidade das frmulas e da anlise de frequncia dos tomos, descritos na seo 3.1.1. Para efeitos comparativos, a seleo elitista feita sob dois aspectos: 1. Seleo da primeira frmula PB candidata de maior valorao de fitness, independente da existncia de outras frmulas com a mesma valorao; 2. Seleo hbrida: elitista caso no exista mais de uma frmula com o maior valor de fitness e estocstica caso contrrio. A comparao dos dois aspectos da seleo elitista busca verificar a avaliao de eficincia de prova, do consumo de tempo e recursos computacionais requisitados por ambos os aspectos.
3.1.5 Seleo elitista
A abordagem elitista sempre seleciona as premissas com o maior valor de fitness. Como exemplo de seleo elitista em conjunto com a avaliao de complexidade de frmulas (3.1.2), seguem as frmulas: Frmula 1: F (A B) C, de complexidade 5. Frmula 2: T ((A B) (B C)) (A C), de complexidade 11. A Figura 14 demonstra a prova privilegiando-se a aplicao da regra PB em frmulas de menor complexidade. Na prova descrita na Figura 15, privilegia-se a aplicao da regra PB em frmulas de maior complexidade.
35
(1) F (A B) C (2) T ((A B) (B C)) (A C) (3) T A B (F , 1) (4) F C (F , 1) (5) TA (PB, 3) (16) FA (PB, 3) (6) TB (T , 5 e 3) (17) T (A B) (B C) (PB, 2) (21) F (A B) (B C) (PB, 2) (7) T (A B) (B C) (PB, 2) (11) F (A B) (B C) (PB, 2) (18) T A C (T , 17 e 2) (22) T A B (F , 21) (8) T A C (T , 7 e 2) (12) T A B (F , 11) (19) TA (T , 18) (23) F B C (F , 21) (9) TA (T , 8) (13) F B C (F , 11) (20) TC (T , 18) (24) FB (F , 23) (10) TC (T , 8) (14) FB (F , 13) X (20 e 4) (25) FC (F , 23) X (10 e 4) (15) FC (F , 13) (26) TA (T , 22) X (14 e 6) (27) TB (T , 22) X (27 e 24) Figura 14 - Prova 1 Fonte: Autoria prpria.
(1) F (A B) C (2) T ((A B) (B C)) (A C) (3) T A B (F , 1) (4) F C (F , 1) (5) T (A B) (B C) (PB, 2) (9) F (A B) (B C) (PB, 2) (6) T A C (T , 5 e 2) (10) T A B (F , 9) (7) TA (T , 6) (11) F B C (F , 9) (8) TC (T , 6) (12) TA (T , 10) X (8 e 4) (13) TB (T , 10) (14) FB (F , 11) (15) FC (F , 11) X (14 e 13) Figura 15 - Prova 2 Fonte: Autoria prpria. 36
A primeira prova (Figura 14) tem 3 bifurcaes e 27 linhas. A segunda prova (Figura 15) tem 1 bifurcao e 15 linhas. A diferena entre as duas provas est na ordem da aplicao da regra PB. A primeira prova aplica PB em T A B, de complexidade 3, enquanto a segunda aplica PB na premissa T ((A B) (B C)) (A C), de complexidade 11. Desta forma, a segunda prova aumenta a variabilidade de premissas em cada ramo, o que influencia diretamente no nmero de possibilidades do ramo ser fechado.
37
3.1.6 Seleo estocstica
A abordagem estocstica seleciona as premissas de acordo com uma probabilidade relativa sua aptido, de forma que, quanto maior o valor de fitness, maior a probabilidade de que a premissa seja escolhida. No presente trabalho, a forma de seleo das premissas usa a tcnica de seleo por roleta, descrita na seo 2.1.2. No mtodo estocstico, a seleo deve permitir que premissas menos aptas (premissas com uma valorao da funo de fitness menor) possuam probabilidade de serem escolhidas. Esta probabilidade relativa ao seu valor de fitness. Indivduos com um valor de fitness menor possuem uma probabilidade menor de serem escolhidos, porm no so imediatamente descartados, como na abordagem elitista. A seleo estocstica feita atravs da roleta, descrita na seo 2.1.2. O cdigo em Java est ilustrado na Figura 16.
public long GetSomaAvaliacoes(){ if (getPblist()==null || getPblist().size() <= 0) {return 0;} long rt = 0; for (Iterator<SignedFormula> sgF = getPblist().iterator();sgF.hasNext();) { rt += ((SignedFormula)sgF.next()).getComplexity(); } return rt; } public int Roleta(){ if (getPblist()==null || getPblist().size() <= 0) {return -1;} int i; double aux = 0; double limite = Math.random() * this.GetSomaAvaliacoes(); for(i = 0; ( (i < getPblist().size()) && (aux < limite) ); ++i){ aux += getPblist().get(i).getComplexity(); } i--; return i; } public SignedFormula GetIndividuoRoleta(int pos){ if (pos < 0) { return null; } return getPblist().get(pos); } Figura 16 - Roleta Java Fonte: Autoria prpria.
O cdigo de seleo por roleta (Figura 16) sorteia um nmero entre zero e a soma de todos os valores de fitness. Posteriormente usa cada avaliao dos indivduos 38
como peso e retorna o ndice do indivduo escolhido. A funo GetIndividuoRoleta(int pos) retorna o indivduo a partir do ndice. O principal objetivo da seleo estocstica estudar solues alternativas abordagem elitista. Podem existir casos em que a abordagem estocstica permita a seleo de frmulas com menor valorao de fitness, mas que permitam provas mais eficientes.
3.1.7 Seleo hbrida
A abordagem hbrida trata os casos em que, para a seleo elitista, existe mais de uma frmula com o maior valor de fitness dentre as frmulas PB candidatas. Para estes casos, a seleo empregada no presente trabalho ser a estocstica. A abordagem hbrida combina os aspectos da seleo elitista e estocstica para os casos de premissas com a mesma valorao Cabe ressaltar que a abordagem hbrida por seleo elitista em conjunto com a seleo estocstica adotada neste trabalho, porm outras abordagens podem ser adotadas, como exemplo a seleo elitista com avaliao de complexidade e posterior seleo elitista por anlise de frequncia de tomos. Como exemplo, seguem as premissas:
- T A (C D), de complexidade 5. - T B C, de complexidade 3. - F A D B, de complexidade 5.
Existem duas premissas com a mesma valorao de complexidade 5, T A (C D) e F A D B. A abordagem hbrida tem por objetivo tratar estes casos, de forma a propiciar uma seleo mais prxima ao conceito de seleo natural apresentada pelos algoritmos genticos. O algoritmo hbrido implementa a seleo estocstica entre as premissas T A (C D) e F A D B. A seleo estocstica pode utilizar como funo de avaliao a complexidade das frmulas (subseo 3.1.2) ou anlise de frequncia de tomos (subseo 3.1.3). 39
3.1.8 Crossover
O cruzamento (crossover) dado pela aplicao da regra PB na premissa escolhida na etapa de seleo (seo 3.1.4). Como representado na Figura 13, com a aplicao da regra PB em T (A B) C, obtm-se F A B e T A B. A premissa F A B adicionada ao ramo da direita e T A B adicionado ao ramo da esquerda. Linden (2006) destaca o problema da convergncia gentica como sendo uma das principais desvantagens dos algoritmos genticos. Isto se d, pois rapidamente ele pode ficar preso em um mximo local e demorar ou no encontrar o mximo global devido restrio gnica imposta a ele em virtude da abordagem elitista. Como o presente trabalho no aborda a reproduo dos indivduos atravs do crossover convencional, ou seja, troca de segmentos cromossmicos, a restrio da convergncia gentica no se aplica na resoluo dos problemas de busca propostos.
40
3.2 Pseudocdigo
Os pseudocdigos das abordagens esto representados na Figura 17 e na Figura 18. O pseudocdigo da roleta descrito na seo 2.1.2, Figura 5.
enquanto Tabl Estiver Aberto para cada ramo : lista ramos se ramo.Fechado == true interrompa fim se formulas lista de frmulas PB candidatas ( ramo ) FormulaEscolhida null para cada formula : formulas formula.CalcularFitness() se FormulaEscolhida == null FormulaEscolhida formula se no se FormulaEscolhida.ValorFitness < formula.ValorFitness FormulaEscolhida formula fim se fim se fim para se FormulaEscolhida == null interrompa fim se AplicarPB ( FormulaEscolhida ) fim para fim enquanto enquanto Tabl Estiver Aberto para cada ramo : lista ramos se ramo.Fechado == true interrompa fim se formulas lista de frmulas PB candidatas ( ramo ) FormulaEscolhida null para cada formula : formulas formula.CalcularFitness() se FormulaEscolhida == null FormulaEscolhida Roleta (formulas) fim se se FormulaEscolhida == null interrompa fim se fim para AplicarPB ( FormulaEscolhida ) fim para fim enquanto Figura 17 - Pseudocdigo Geral da abordagem elitista. Fonte: Autoria prpria. Figura 18 - Pseudocdigo Geral da abordagem estocstica. Fonte: Autoria prpria.
41
4. PROCEDIMENTOS DE TESTE E VALIDAO
Para anlise e testes das classes desenvolvidas, a tecnologia JUNIT de testes automatizados em Java foi utilizada. Atravs dela podem ser criados testes em lote para validar os mtodos das classes desenvolvidas. O componente JUNIT utilizado em conjunto com o ambiente de desenvolvimento em Java das estratgias AG, Eclipse. Isto facilita a automatizao e verificao dos resultados dos testes. Os objetos de teste, que representam as premissas, da classe SignedFormula (Figura 14), so criados de forma a contemplar todos os tipos de conectivos pertencentes ao sistema KE (seo 2.2.4). O conjunto de testes da abordagem proposta feito sobre instncias de frmulas atmicas e complexas da classe SignedFormula. Incialmente os teste foram feitos para as tcnicas de avaliao (fitness) de frmulas por complexidade (subseo 3.1.2) e anlise de frequncia de tomos (subseo 3.1.3). Posteriormente os testes das classes que envolvem as etapas de avaliao e seleo foram feitos. As classes que envolvem estas etapas so: AGEstrategia (Figura 17), AGElitistaFrequenciaAtomos (Figura 21), AGEstocasticoFrequenciaAtomos (Figura 22), AnaliseNumeroAtomos (Figura 23), AGElitistaMaiorComplexidade (Figura 24), AGEstocasticoMaiorComplexidade (Figura 25), AGHibFreqAtomosElitEsto (Figura 26) e AGHibrMaiorComplexidadeElitEsto (Figura 27). Os testes foram realizados em uma mquina com as seguintes caractersticas: capacidade de processamento de 2 GB de memria RAM, processador Intel(R) Core(TM) 2 Quad Q6600 @ 2.40GHz e sistema operacional Windows 7, conforme descrio da seo 1.
42
5. RESULTADOS
A avaliao feita atravs da comparao dos resultados da abordagem baseada em AG e da metodologia convencional de prova. Os critrios analisados foram: - Nmero de Bifurcaes; - Tamanho de Prova; - Tempo de Prova; - Consumo de Memria; - Nmero de Ns; Com relao aos critrios analisados, quanto menor os resultados para: nmero de bifurcaes, tamanho da prova, tempo utilizado, nmero de ns e consumo de memria, mais eficiente considerada a abordagem. As abordagens que reunirem o maior conjunto de melhores resultados sero consideradas mais eficientes. Os testes foram realizados em uma mquina com as caractersticas capacidade de processamento de 2 GB de memria RAM, processador Intel(R) Core(TM) 2 Quad Q6600 @ 2.40GHz e sistema operacional Windows 7, conforme descrio da seo 1. As famlias de problemas em sistema KE utilizadas para os testes esto descritas na seo 5.1. As abordagens de AG testadas incluem as tcnicas de seleo elitista, estocstica e hbridas em conjunto com as tcnicas de avaliao de anlise de frequncia de tomos e de complexidade de frmulas. Todas as abordagens propostas de AG so comparadas com a metodologia convencional de prova apresentada pelo software KEMS. A configurao do KEMS para todas as abordagens est ilustrada na Figura 19. As configuraes padres so utilizadas, sendo a estratgia utilizada a ConfigurableSimpleStrategy e para o mtodo de comparao de frmulas o comparador InsertionOrderComparator. O tempo mximo estipulado para cada prova foi de 20 minutos. Os testes de comparao das abordagens foram feitos em lote, atravs de linha de comando com o arquivo executvel jar do KEMS. A configurao do software KEMS para execuo em lote est descrita no APNDICE D KEMS - Execuo em lote. 43
Figura 19 Configuraes de prova do KEMS Fonte: Autoria prpria.
Os resultados de prova esto descritos nas sees: 5.2, 5.3, 5.4 e 5.5. Cabe ressaltar que no foi encontrada apenas uma soluo genrica tima para todas as famlias. Cada famlia possui caractersticas prprias, de forma que, cada tipo de famlia de problemas possui uma, ou um conjunto de solues timas.
44
5.1 Famlias de problemas
As famlias de problemas em sistemas KE utilizadas para os testes so: - Gamma, instncias de 1 a 10; - Statman, instncias de 1 a 9, 13, 17, 21, 25 e 29; - H, instncias de 1 a 7; e - PHP, instncias 1 a 6. Estas famlias foram selecionadas por serem as mais utilizadas para resoluo de tabls (NETO, 2007). A instncia 4 de todas as famlias de problemas utilizadas esto representadas nas figuras: Figura 20, Figura 21, Figura 22 e Figura 23.
F(((!p1)&(!p2)&(!p3)&(!p4))|(p1&(!p2)&(!p3)&(!p4))|((!p1)&p2&(!p3)&(!p4))|(p1&p 2&(!p3)&(!p4))|((!p1)&(!p2)&p3&(!p4))|(p1&(!p2)&p3&(!p4))|((!p1)&p2&p3&(!p4))| (p1&p2&p3&(!p4))|((!p1)&(!p2)&(!p3)&p4)|(p1&(!p2)&(!p3)&p4)|((!p1)&p2&(!p3)& p4)|(p1&p2&(!p3)&p4)|((!p1)&(!p2)&p3&p4)|(p1&(!p2)&p3&p4)|((!p1)&p2&p3&p4)| (p1&p2&p3&p4)) Figura 22 Famlia H instncia 4 Fonte: Autoria prpria. 45
T (((p0,0|p0,1)|p0,2)|p0,3) T (((p1,0|p1,1)|p1,2)|p1,3) T (((p2,0|p2,1)|p2,2)|p2,3) T (((p3,0|p3,1)|p3,2)|p3,3) T (((p4,0|p4,1)|p4,2)|p4,3) F (p0,0&p1,0) F (p0,0&p2,0) F (p0,0&p3,0) F (p0,0&p4,0) F (p1,0&p2,0) F (p1,0&p3,0) F (p1,0&p4,0) F (p2,0&p3,0) F (p2,0&p4,0) F (p3,0&p4,0) F (p0,1&p1,1) F (p0,1&p2,1) F (p0,1&p3,1) F (p0,1&p4,1) F (p1,1&p2,1) F (p1,1&p3,1) F (p1,1&p4,1) F (p2,1&p3,1) F (p2,1&p4,1) F (p3,1&p4,1) F (p0,2&p1,2) F (p0,2&p2,2) F (p0,2&p3,2) F (p0,2&p4,2) F (p1,2&p2,2) F (p1,2&p3,2) F (p1,2&p4,2) F (p2,2&p3,2) F (p2,2&p4,2) F (p3,2&p4,2) F (p0,3&p1,3) F (p0,3&p2,3) F (p0,3&p3,3) F (p0,3&p4,3) F (p1,3&p2,3) F (p1,3&p3,3) F (p1,3&p4,3) F (p2,3&p3,3) F (p2,3&p4,3) F (p3,3&p4,3) Figura 23 Famlia PHP instncia 4 Fonte: Autoria prpria.
Dentre as famlias de problemas utilizadas, destaca-se a famlia PHP devido sua complexidade de prova.
46
5.2 Resultados famlia Gamma
Os critrios de avaliao de tempo, tamanho de prova, nmero de ns, nmero de bifurcaes e uso de memria esto representados em forma grfica nas figuras: Figura 24, Figura 25, Figura 26, Figura 27 e Figura 28, respectivamente. A discusso dos resultados est descrita na subseo 5.2.1.
Figura 24 Na comparao por tempo de prova para a famlia Gamma, as estratgias: anlise de Frequncia tomos Estocstico, Elitista e Hbrida mostraram-se mais eficientes. Fonte: Autoria prpria.
Figura 25 Na comparao do tamanho da prova para a famlia Gamma, as estratgias: anlise de Frequncia tomos Estocstico, Elitista e Hbrida mostraram-se mais eficientes. Fonte: Autoria prpria.
47
Figura 26 Na comparao do nmero de ns para a famlia Gamma, as estratgias: anlise de Frequncia tomos Estocstico, Elitista e Hbrida mostraram-se mais eficientes. Fonte: Autoria prpria.
Figura 27 Na comparao do nmero de bifurcaes para a famlia Gamma, as estratgias: anlise de Frequncia tomos Estocstico, Elitista e Hbrida mostraram-se mais eficientes. Fonte: Autoria prpria.
48
Figura 28 Na comparao do uso de memria para a famlia Gamma, as estratgias: anlise de Frequncia tomos Estocstico, Elitista e Hbrida mostraram-se mais eficientes. Fonte: Autoria prpria.
5.2.1 Discusso dos resultados famlia Gamma
Com relao ao consumo de tempo (Figura 24), tamanho de prova (Figura 25), nmero de ns (Figura 26) e nmero de bifurcaes (Figura 27), as abordagens Estocstica, Elitista e Hbrida de frequncia de tomos foram mais eficientes. As demais abordagens ficaram prximas a abordagem convencional apresentada pelo KEMS. O consumo de memria (Figura 28) da abordagem elitista com funo de avaliao por complexidade de frmula foi o mesmo que o da abordagem convencional. As demais abordagens foram mais eficientes. Com relao as abordagens com funo de avaliao por complexidade de frmulas, destaca-se a abordagem estocstica. Como a seleo das frmulas PB candidatas dada pela roleta, a abordagem encontrou uma soluo mais eficiente do que a abordagem elitista com a mesma funo de avaliao. Para a famlia de problemas Gamma, destacam-se as abordagens Estocstica, Elitista e Hbrida com funo de avaliao por frequncia de tomos. Estas foram mais eficientes para todos os critrios analisados.
49
5.3 Resultados famlia Statman
Os critrios de avaliao de tempo, tamanho de prova, nmero de ns, nmero de bifurcaes e uso de memria esto representados em forma grfica nas figuras: Figura 29, Figura 30, Figura 31, Figura 32 e Figura 33. A discusso dos resultados est descrita na subseo 5.3.1.
Figura 29 Na comparao do tempo da prova para a famlia Statman, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
Figura 30 Na comparao do tamanho da prova para a famlia Statman, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
50
Figura 31 Na comparao do nmero de ns para a famlia Statman, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
Figura 32 Na comparao do nmero de bifurcaes para a famlia Statman, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
51
Figura 33 Na comparao do uso de memria para a famlia Statman, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
52
5.3.1 Discusso dos resultados famlia Statman
Para o tempo mximo de 20 minutos, a metodologia convencional apresentada pelo software KEMS provou at a instncia 9 da famlia de problemas Statman. As abordagens estocstica com funo de avaliao por complexidade de frmulas e anlise de frequncia de tomos provaram at instncia 13. As abordagens elitista e hbrida com funo de avaliao por complexidade de frmulas provaram at a instncia 21. As abordagens elitista e hbrida com funo de avaliao por anlise de frequncia de tomos provaram at a instncia 29. Em comparao a metodologia convencional de prova, todas as abordagens foram mais eficientes para os critrios analisados. Para a famlia de problemas Statman, destacam-se as abordagens elitista e hbrida com funo de avaliao por anlise de frequncia de tomos, as quais provaram todas as instncias de teste informadas.
53
5.4 Resultados famlia H
Os critrios de avaliao de tempo, tamanho de prova, nmero de ns, nmero de bifurcaes e uso de memria esto representados em forma grfica nas figuras: Figura 34, Figura 35, Figura 36, Figura 37 e Figura 38. A discusso dos resultados est descrita na subseo 5.4.1.
Figura 34 Na comparao do tempo de prova para a famlia H, todas as estratgias (exceto a abordagem hbrida com funo de avaliao anlise de frequncia de tomos) mostraram- se mais eficientes. Fonte: Autoria prpria.
Figura 35 Na comparao do tamanho da prova para a famlia H, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria. 54
Figura 36 Na comparao do nmero de ns para a famlia H, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
Figura 37 Na comparao do nmero de bifurcaes para a famlia H, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
55
Figura 38 Na comparao do uso de memria para a famlia H, todas as estratgias (exceto a abordagem hbrida com funo de avaliao anlise de frequncia de tomos) mostraram- se mais eficientes. Fonte: Autoria prpria.
56
5.4.1 Discusso dos resultados famlia H
Para o tempo mximo de 20 minutos, a metodologia convencional apresentada pelo software KEMS e a abordagem hbrida com funo de avaliao anlise de frequncia de tomos provaram at a instncia 6 da famlia de problemas H. Todas as demais abordagens propostas provaram at a instncia 7. Para todos os critrios de avaliao, exceto o tempo, a abordagem hbrida com funo de avaliao anlise de frequncia de tomos foi mais eficiente do que a abordagem apresentada pelo KEMS. O tempo de resposta utilizado pela abordagem hbrida com funo de avaliao anlise de frequncia de tomos foi superior a todas as demais abordagens. Isto devido a homogeneidade das frmulas PB candidatas, o que onerou a seleo hbrida da abordagem. Para a famlia de problemas H, com exceo da abordagem hbrida com funo de avaliao anlise de frequncia de tomos, todas as abordagens foram mais eficientes para os critrios analisados do que a metodologia de prova convencional.
57
5.5 Resultados famlia PHP
Os critrios de avaliao de tempo, tamanho de prova, nmero de ns, nmero de bifurcaes e uso de memria esto representados em forma grfica nas figuras: Figura 39, Figura 40, Figura 41, Figura 42 e Figura 43. A discusso dos resultados est descrita na subseo 5.5.1.
Figura 39 Na comparao do tempo de prova para a famlia PHP, todas as estratgias (exceto a abordagem hbrida com funo de avaliao anlise de frequncia de tomos) mostraram-se mais eficientes. Fonte: Autoria prpria.
Figura 40 Na comparao do tamanho da prova para a famlia PHP, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
58
Figura 41 Na comparao do nmero de ns para a famlia PHP, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
Figura 42 Na comparao do nmero de bifurcaes para a famlia PHP, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
59
Figura 43 Na comparao do uso de memria para a famlia PHP, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
60
5.5.1 Discusso dos resultados famlia PHP
Para o tempo mximo de 20 minutos, a metodologia convencional apresentada pelo software KEMS provou at a instncia 5 da famlia de problemas PHP. Todas as demais abordagens provaram at a instncia 6. Para a instncia 6, a abordagem hbrida com avaliao por anlise de frequncia de tomos utilizou um maior tempo de resposta. Isto devido a homogeneidade das premissas da rvore de prova em relao as frmulas PB candidatas, o que onerou a seleo hbrida da abordagem. Para a famlia de problemas PHP todas as abordagens foram mais eficientes, para os critrios analisados, do que a metodologia de prova convencional.
61
6. CONCLUSES
Em resoluo de tabls existem muitas combinaes de aplicaes de regras em uma base de conhecimento. Cabe ressaltar que a ordem de aplicao das regras influencia diretamente na capacidade de prova de um software provador de teoremas, pois dependendo da ordem em que as regras so aplicadas, mais ou menos passos e bifurcaes sero necessrios para a sua resoluo. Isto interfere diretamente nos recursos de memria e tempo de prova gastos na resoluo de um tabl. Este trabalho apresentou trs abordagens baseadas em AG que tm como metodologia a seleo de frmulas PB candidatas que aumentem a probabilidade de que o tabl seja fechado. A metodologia possui uma tendncia a aumentar a capacidade de prova de provadores automatizados de teoremas, atravs de um menor consumo dos recursos de tempo e memria usados na resoluo de tabls. A seleo elitista parte da premissa que a seleo de frmulas mais aptas (frmulas que aumentem a variabilidade da base de conhecimentos) aumente a probabilidade de que o tabl seja fechado. Porm esta tcnica de seleo pode limitar-se a uma regio do espao de buscas de forma a prejudicar a eficincia na soluo do tabl. Neste sentido a seleo estocstica apresenta uma tcnica que permite a escolha de frmulas menos aptas. O conjunto de classes desenvolvido prev a ampliao das tcnicas de seleo. A interface IEstrategiaAG (Figura 16) permite que novas tcnicas de seleo baseadas em AG sejam incorporadas ao projeto de forma simplificada. A abordagem hbrida combina aspectos das abordagens elitista e estocstica. Neste trabalho, esta abordagem encadeia a seleo elitista e estocstica com a mesma funo de avaliao. Outras combinaes de encadeamentos podem ser feitos, como, por exemplo, o encadeamento por seleo elitista com funo de avaliao por frequncia de tomos, seleo elitista com funo de avaliao de complexidade e posterior seleo estocstica. A heurstica empregada no presente trabalho baseia-se em AG, porm outras tcnicas de busca podem ser utilizadas. Entre elas pode-se citar a busca em feixe. Atravs desta tcnica possvel realizar uma busca em diversas regies de um espao de estados, e desta forma, otimizar a processo de busca. Outra tcnica que pode ser empregada a busca de Tmpera simulada. Esta pode simular a seleo estocstica 62
empregada no presente trabalho, pois de acordo com a temperatura, maior ou menor ser a probabilidade de que frmulas menos aptas sejam escolhidas. As funes de avaliao propostas no presente trabalho envolvem a anlise por frequncia de tomos e a avaliao de complexidade das frmulas. Uma tcnica de avaliao mais ampla, e tambm mais custosa do ponto de vista computacional, a avaliao de frmulas baseada no aumento da variabilidade da base de conhecimentos. Por aumento da variabilidade subentende-se a insero de novas frmulas base de conhecimentos atravs da aplicao da regra PB. Esta tcnica de avaliao consiste na aplicao da regra PB em todas as frmulas PB candidatas e posterior aplicao de todas as regras at que o ramo seja fechado ou que a nica regra aplicvel seja a regra PB. A avaliao deve levar em considerao o aumento da variabilidade das premissas na base de conhecimentos propiciada pela insero das novas premissas provenientes da aplicao da regra PB e das regras aplicadas sobre as novas premissas. Uma simplificao de avaliao baseada na complexidade das frmulas e de frequncia de tomos utilizada no presente trabalho. Optou-se por esta simplificao por causa das limitaes de memria e tempo. A busca e avaliao do aumento da variabilidade implicam diretamente no aumento do consumo do tempo e dos recursos computacionais de processamento e memria. O presente trabalho abordou a resoluo de problemas em sistemas KE, porm no limita-se apenas a este tipo de sistema. Outros sistemas e mtodos de prova podem ser includos. A tcnica empregada baseia-se na premissa de que novas frmulas aumentam a probabilidade de que uma inconsistncia possa ser alcanada. Esta abordagem pode ser aplicada e analisada em outros sistemas. O objeto de estudo foi a regra PB, porm a tcnica de seleo apresentada pode ser ampliada para regras alfa e beta. Regras alfa so as que partem de apenas uma premissa e regras beta de duas. O foco na regra PB devido ao fato de que ela bifurca o tabl e desta forma aumenta diretamente o tamanho da prova (SMULLYAN, 1995). Desta forma uma tcnica de seleo de frmulas PB candidatas pode influenciar diretamente na otimizao de prova de um tabl.
63
7. REFERNCIAS BIBLIOGRFICAS
ABE, Jair Minoro; SCALZITTI, Alexandre; SILVA FILHO, Joo Incio da. Introduo Lgica para a Cincia da Computao. 2 edio. 247 p. Editora Arte & Cincia, 2001.
AZEVEDO FILHO, Adriano. Princpios de Inferncia Dedutiva e Indutiva: Noes de Lgica e Mtodos de Prova. 1 Edio 2010, Scotts Valley: CreateSpace, 148p.
BOUGHACI, Dalila; BENHAMOU, Beld; DRIAS, Habiba. Scatter Search and Genetic Algorithms for MAX-SAT Problems. Journal of mathematical modelling and algorithms, v. 7, n. 2, 2007. Disponvel em: <http://www.springerlink.com/content/ak203713447r610j/>. Acesso em: 29 mar. 2012.
CRAWFORD, Kelly D. Solving the n-queens problem using genetic algorithms. Proceeding SAC '92 Proceedings of the 1992 ACM/SIGAPP symposium on Applied computing: technological challenges of the 1990's. 1992. Kansas City. Missouri. United States. Proceedings Disponvel em: <http://dx.doi.org/10.1145/130069.130128>. Acesso em: 09 mar. 2012.
CARNIELLI, Walter; CONIGLIO, Marcelo E.; Marcos, Joo. Logics of formal inconsistency. So Paulo: Springer-Verlag, 2007 p. 15-107. Disponvel em: <ftp://logica.cle.unicamp.br/pub/e-prints/vol.5,n.1,2005-revised.pdf>. Acesso em: 28 mar. 2012.
DEB, Kalyanmoy. Genetic Algorithm in Search Optimization The Technique and Applications In Proceedings of International Workshop on Soft Computing and Intelligent Systems. 1997. Calcut. ndia. Proceedings of International Workshop on Soft Computing and Intelligent Systems. Disponvel em: <http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.33.5371>. Acesso em: 10 mar. 2012.
DEL CASTANHEL, Lucas; SUGIMOTO, Emerson Shigueo. Soluo para jogo de captura e busca de refns baseado em redes neurais e planejamento clssico. 2011. Disponvel em: <http://code.google.com/p/si-emerson-lucas/downloads/list>. Acesso em: 22 mar. 2012.
FITTING, M. Introduction. In: D'AGOSTINO ET AL (Eds). Handbook of Tableau Methods. Kluwer Academic Press, 1999, p. 144.
64
GOUVEIA, P.; DIONSIO F.M.; MARCOS, J. Lgica Computacional. DMIST, 2000.
HEITKOETTER, J.; BEASLEY, D. The hitch-hiker's guide to evolutionary computation, 2001. In: LUCAS, Diogo C. Algoritmos Genticos: uma Introduo. UFRGS. 2002. p. 28. Disponvel em: <http://www.inf.ufrgs.br/~alvares/INF01048IA/ApostilaAlgoritmosGeneticos.pdf>. Acesso em: 10 mar. 2012.
HOLLAND, John Henry. Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence. The MIT Press, 1975. 211 p.
KONDO, Tadashi. Feedback GMDH-type neural network using prediction error criterion and its application to 3-dimensional medical image recognition. In: SICE ANNUAL CONFERENCE, 2008, TOKYO. Proceedings Disponvel em: <http://dx.doi.org/10.1109/SICE.2008.4654811>. Acesso em: 09 mar. 2012.
LINDEN, Ricardo. Algoritmos Genticos Uma importante ferramenta de Inteligncia Computacional. Editora BRASPORT, Rio de Janeiro, 2006. 1 Edio. 348 pginas.
LUCAS, Diogo C. Algoritmos Genticos: uma Introduo. UFRGS. 2002. Disponvel em: <http://www.inf.ufrgs.br/~alvares/INF01048IA/ApostilaAlgoritmosGeneticos.pdf>. Acesso em: 10 mar. 2012.
MONDADORI, Marco; D'AGOSTINO, Marcello. The Taming of the Cut. Classical Refutations with Analytic Cut. Journal of Logic and Computation, vol. 4, number 3, pp. 285-319, 1994.
NETO, Adolfo Gustavo Serra Seca. Um provador de teoremas multi-estratgia. 2007. 155 f. Tese (Doutorado em Cincia da Computao) - Instituto de Matemtica e Estatstica, Universidade de So Paulo, So Paulo, 2007. Disponvel em: <http://www.teses.usp.br/teses/disponiveis/45/45134/tde-04052007-175943/>. Acesso em: 27 mar. 2012.
65
PACHECO, Marco Aurlio Cavalcanti. Algoritmos genticos: princpios e aplicaes. ICA. Laboratrio de Inteligncia Computacional. Departamento de Engenharia Eltrica. 1999. Rio de Janeiro. Disponvel em: <http://www.ica.ele.puc-rio.br/downloads/38/ce- apostila-comp-evol.pdf>. Acesso em: 10 mar. 2012.
PRESSMAN, Roger S. Engenharia de Software. 6 edio. 720 p. Editora McGraw- Hill, 2006.
ROBINSON, John Alan; VORONKOV, Andrei (Eds.). Handbook of Automated Reasoning. Volumes 1 e 2. Elsevier and MIT Press, 2001. Editora Gulf Professional Publishing, 2001. 2128 p.
RODRGUEZ, M. Andrea. JARUR, Mary Carmen. A Genetic Algorithm for Searching Spatial Configurations. IEEE Transactions on Evolutionary Computation. 2005. Chile. Proceedings Disponvel em: <http://dx.doi.org/10.1109/TEVC.2005.844157>. Acesso em: 10 mar. 2012.
RUSSELL, S. J. NORVIG, P. Artificial Intelligence: A Modern Approach. Pearson Education. 2003.
SILVA, Flvio S. C. da; FINGER, Marcelo; MELO, Ana C. V. de. Lgica para computao. So Paulo: Thomson Learning, 2006.
SOUZA, Joo Nunes de. Lgica para cincia da computao: fundamentos de linguagem, semntica e sistemas de deduo. Rio de Janeiro: Editora Campus, 2002.
SUGIMOTO, Emerson Shigueo. Implementao de uma Estratgia Eficiente para a Lgica C1 em um Provador de Teoremas Multi-Estratgia. 2010. 40 f. Relatrio final de Atividades - Programa Institucional de Iniciao Cientfica (PIBIC), Universidade Tecnolgica Federal do Paran. Curitiba, 2010.
______. Representao de Frmulas Lgicas atravs de Estruturas de Dados. 2011. 14 f. Relatrio final de Atividades - Programa Institucional de Iniciao Cientfica (PIBIC), Universidade Tecnolgica Federal do Paran. Curitiba, 2011.
66
THAKUR, Reen. SINGH, Vinay Kr. SINGH, Manu Pratap. Evolutionary design of fuzzy logic controllers with the techniques artificial neural network and genetic algorithm for cart-pole problem. Computational Intelligence and Computing Research (ICCIC), 2010 IEEE International Conference on. 2011. ndia. Proceedings Disponvel em: <http://dx.doi.org/10.1109/ICCIC.2010.5705756>. Acesso em: 10 mar. 2012.
TANOMARU, Julio. Motivao, Fundamentos e Aplicaes de Algoritmos Genticos. II Congresso Brasileiro de Redes Neurais. III Escola de Redes Neurais. Disponvel em: <http://bogdano.irreais.net/crap/pub/tutorial_ag.pdf>. Acesso em: 10 mar. 2012.
TURKYL, Ayad M. AHMAD, Mohd Sharifuddin. Using Genetic Algorithm for Solving N-Queens Problem. Information Technology (ITSim), 2010 International Symposium. 2010. Iraque. Proceedings Disponvel em: <http://dx.doi.org/10.1109/ITSIM.2010.5561604>. Acesso em: 09 mar. 2012.
ZHANG, Zhen-Zhen. HUANG, Wei-Hsiu. LIN, Jyun-Jie. CHANG, Pei-Chann. WU, Jheng-Long. A Puzzle-Based Artificial Chromosome Genetic Algorithm for the Traveling Salesman Problem. Technologies and Applications of Artificial Intelligence (TAAI), 2011 International Conference on. 2011. China. Proceedings Disponvel em: <http://dx.doi.org/10.1109/TAAI.2011.58>. Acesso em: 10 mar. 2012.
67
APNDICE A RECURSOS DE HARDWARE E SOFTWARE
Os recursos de hardware esto descritos na seo 1 e os recursos de software na seo 1.1.
1. Recursos de Hardware
Para anlise da estratgia baseada em Algoritmos Genticos atravs do KEMS, ser necessria uma mquina com as caractersticas capacidade de processamento semelhantes a 2 GB de memria RAM, processador Intel(R) Core(TM) 2 Quad Q6600 @ 2.40GHz e sistema operacional Windows ou Linux.
1.1 Recursos de Software
Este trabalho utiliza como base computacional o software (programa) KEMS que um provador de teoremas multi-estratgia baseado no mtodo KE (MONDADORI e D'AGOSTINO, 1994) implementado em Java 1 e AspectJ 2 . Java uma linguagem de programao orientada a objetos (JAVA, 2012) e AspectJ uma linguagem de programao que estende Java com os conceitos da orientao a aspectos. Para o desenvolvimento foi utilizado o software Eclipse 3 , que permite a edio e compilao de cdigo fonte Java. A Mquina Virtual do Java (JVM Java Virtual Machine 4 ) foi utilizada para desenvolvimento em Java.
1 JAVA. Linguagem de Programao. Disponvel em: <http://java.com/pt_BR/about/>. Acesso em: 25 mar. 2012. 2 ASPECTJ. Documentao da linguagem orientada aspectos. Disponvel em: <http://www.eclipse.org/aspectj/doc/released/index.html#paths>. Acesso em: 28 abr. 2010. 3 ECLIPSE. Software para de desenvolvimento em linguagem Java. Disponvel em <http://www.eclipse.org/>. Acesso em: 28 mar. 2012. 68
Para o controle de verses do software KEMS, foi utilizado o sistema de controle de verses Git 5 . O site Github 6 foi utilizado para controle de verses atravs de tecnologia Git. Este site permite de forma gratuita a hospedagem de arquivos e o controle de verses de projetos de forma online e entre diversos colaboradores. Para anlise e testes das classes implementadas no software KEMS, a tecnologia JUNIT 7 de testes padronizados em Java foi utilizada. Atravs dela podem ser criados testes em lote para validar as classes desenvolvidas.
4 JVM. Java Virtual Machine. Disponvel em: <http://java.sun.com/javase/6/docs/technotes/guides/vm/index.html?intcmp=3170>. Acesso em: 3 mar. 2012 5 GIT. Controle de Versionamento de Projetos. Disponvel em: <http://git-scm.com/>. Acesso: em 25 mar. 2012. 6 GITHUB. Site que oferece um servio online gratuito de hospedagem de arquivos e de controle de verses. Disponvel em: <http://github.com/>. Acesso em: 20 mar. 2012. 7 JUNIT. Testes automatizados em Java. Disponvel em: <http://www.junit.org/>. Acesso em: 4 mar. 2012. 69
APNDICE B PROJETO DE SOFTWARE
Os requisitos funcionais e no funcionais esto descritos nas sees 2 e 2.1, respectivamente. A seo 3 descreve o diagrama de casos de uso, a seo 3.1 descreve os pontos de casos de uso, a seo 4 descreve o diagrama de Classes, a seo 5 descreve o diagrama de objetos e a seo 6 descreve o diagrama de sequncias.
2. Requisitos Funcionais
O software deve ser capaz de: - Identificar se um ramo esta fechado ou no. - Conhecer o conjunto de premissas de cada ramo. - Listar um conjunto de regras aplicveis ao conjunto de frmulas de um ramo, baseado no sistema em estudo. - Conhecer o conjunto de frmulas resultantes da aplicao das regras. - Permitir que a seleo pelo usurio de qual abordagem ser aplicada. - Avaliar a complexidade computacional das premissas. - Avaliar e selecionar uma frmula a partir de um conjunto de frmulas.
2.1 Requisitos No Funcionais
Os requisitos no funcionais so: - A seleo das frmulas deve basear-se no valor de avaliao das mesmas. - A abordagem elitista deve selecionar frmulas que possuam o maior valor de fitness. 70
- A abordagem estocstica deve utilizar a roleta como forma de seleo de um indivduo. - O Sistema deve, para ambas as abordagens, fornecer uma resposta em tempo finito menor ou igual ao tempo de prova pelos mtodos convencionais. - O mtodo de seleo por roleta dever indicar um indivduo com base na valorao de fitness.
71
3. Diagrama de Casos de Uso
O diagrama de casos de uso Selecionar Frmula est representado na Figura 1. Este diagrama representa a interao entre o software KEMS e a abordagem proposta. O Quadro 1 apresenta a descrio do caso de uso.
Figura 1 Caso de Uso selecionar frmula Fonte: Autoria prpria.
Nome do Caso de Uso Selecionar Frmula Caso de Uso Geral Ator Principal KEMS Atores Secundrios Resumo Este caso de uso descreve os passos necessrios para a seleo de uma frmula Pr-Condies Conjunto de Frmulas no nulo Ps-Condies Frmulas Avaliadas Frmula Selecionada Aes do Ator Aes do Sistema 1. Informa conjunto de Frmulas 2. Informa a abordagem AG que ser usada
3. Usa o Caso de Uso Avaliar Frmulas 4. Usa o Caso de Uso Estocstico ou Elitista e retorna uma frmula Restries/Validaes 1. Conjunto de Frmulas no nulo. Quadro 1 Selecionar frmula Fonte: Autoria prpria.
72
O fluxo bsico descrito na Figura 2.
1. Software KEMS solicita a seleo de uma frmula (ator), e informa os seguintes dados: a. A estratgia AG que ser usada (elitista, estocstica ou hbrida). b. Lista de Frmulas PB candidatas (interface IFormulas) 2. O caso de uso AvaliarFormula avalia as Frmulas (sistema). O fluxo direcionado para 2a ou 2b. a. Acesso ao caso de uso Elitista. (sistema). b. Acesso ao caso de uso Estocstico. (sistema). 3. O sistema retorna uma frmula selecionada (interface IFormulas) (sistema) Figura 2 Fluxo bsico Fonte: Autoria prpria.
Os fluxos alternativos esto descritos nas figuras: Figura 3 e Figura 4.
1. Usurio Seleciona a abordagem Elitista. (ator) 2. O fluxo bsico segue para 2a no fluxo bsico (Figura 2). (sistema) Figura 3 Fluxo alternativo 1 Fonte: Autoria prpria.
3. Usurio Seleciona a abordagem Estocstica. (ator) 4. O fluxo bsico segue para 2b no fluxo bsico (Figura 2). (sistema) Figura 4 Fluxo alternativo 2 Fonte: Autoria prpria.
73
3.1 Use Case Points
O Use Case Points (UCP) uma tcnica para medio do tamanho funcional de sistemas proposta por Gustav Karner (1993). O valor de Unadjusted Actor Weight (UAW) (KARNER, 1993) do diagrama de casos de uso da Figura 1 calculado no Quadro 2. Este valor traduz a complexidade do caso de uso com base nos atores.
Tipo de Ator Peso Nmero de Atores Resultado Simples 1 0 0 Mdio 2 0 0 Complexo 3 1 3 Total de UAW 3 Quadro 2 Clculo de UAW Fonte: Autoria prpria.
O valor de Unadjusted Use Case Weight (UUCW) (KARNER, 1993) do diagrama de casos de uso da Figura 1 calculado no Quadro 3.
Complexidade Peso Nmero de Casos de Uso Resultado Casos de Uso Simples 5 4 20 Casos de Uso Mdio 10 1 10 Casos de Uso Complexo 15 0 0 Total de UUCW 30 Quadro 3 Clculo de UUCW Fonte: Autoria prpria.
O clculo de Unadjusted Use Case Point (UUCP) representado na Figura 5.
UUCP = Unadjusted Actor Weight (UAW) + Unadjusted Use Case Weight (UUCW) Figura 5 Clculo de UUCP Fonte: KARNER (1993).
Desta forma o valor de UUCP para o presente projeto de 33. O Fator de Complexidade Tcnica (Technical Complexity Factor - TCF) calculado utilizando-se a frmula representada na Figura 6. 74
TCF = 0,6 + (0,01 x TFactor) Figura 6 Clculo de TCF Fonte: KARNER (1993).
O clculo de TFactor est descrito no Quadro 4. O valor calculado de TCF (Figura 6) de 0,92.
Fator Fatores de Complexidade Peso Valor Total F1 Sistemas Distribudos 2 0 0 F2 Tempo de Resposta 1 3 3 F3 Eficincia para o usurio final (online) 1 2 2 F4 Processamento interno complexo 1 2 2 F5 Cdigo reusvel 1 5 5 F6 Facilidade de Instalao 0,5 2 1 F7 Facilidade de uso (facilidade operacional) 0,5 2 1 F8 Portabilidade 2 3 6 F9 Facilidade de Mudana 1 5 5 F10 Concorrncia (acesso simultneo aplicao) 1 5 5 F11 Recursos de segurana 1 1 1 F12 Fornece acesso direto para terceiros 1 0 0 F13 Requer treinamento especial para o usurio 1 1 1 TFactor 32 Quadro 4 Clculo de TFactor Fonte: Autoria prpria.
O Fator de Complexidade de Ambiente (Environmental Factor - EF) calculado utilizando-se a frmula representada na Figura 7.
EF = 1.4 + (-0.03 x Efactor) Figura 7 Clculo de TCF Fonte: KARNER (1993).
O clculo de EFactor est descrito no Quadro 5. O valor calculado de EF (Figura 7) de 0,68.
75
Fator Fatores de Complexidade Peso Valor Total F1 Familiaridade da equipe com o processo formal de desenvolvimento adotado 1,5 4 6 F2 Colaboradores de meio perodo -1 0 0 F3 Capacidade do lder do projeto em anlise de requisitos e modelagem 0,5 4 2 F4 Experincia da equipe em desenvolvimento de aplicaes do gnero em questo 0,5 4 2 F5 Experincia em Orientao a Objetos 1 5 5 F6 Motivao da Equipe 1 3 3 F7 Dificuldade com a linguagem de programao -1 0 0 F8 Requisitos estveis 2 3 6 EFactor 24 Quadro 5 Clculo de EFactor Fonte: Autoria prpria.
O valor total do sistema em Use Case Points (UCP) ajustados dado pela frmula representada na Figura 8.
UCP = UUCP x TCF x EF Figura 8 Clculo de UCP Fonte: KARNER (1993).
O valor de UCP calculado de 20,6. Karner (1993) sugere estimar o tempo necessrio para o desenvolvimento de um projeto com uma mdia de 20 horas de trabalho por Ponto de Caso de Uso (UCP). O clculo do tempo de trabalho estimado de UCP x 20. Desta forma o tempo estimado de 413 horas de trabalho.
76
4. Diagrama de Classes
O diagrama de classes da estratgia AG proposta est representada na Figura 9. O diagrama de objetos est representado na seo 5. Os diagramas de classes da estrutura de frmulas utilizado pelo software KEMS esto ilustrados na Figura 10 e Figura 11.
Figura 9 - Diagrama de Classes Estratgia AG Fonte: Autoria prpria.
Figura 10 - Diagrama de Classes Formula KEMS Fonte: Adaptado do software KEMS (NETO, 2007).
77
Figura 11 - Diagrama de Classes SignedFormula KEMS Fonte: Adaptado do software KEMS (NETO, 2007).
As principais classes que representam as premissas utilizadas pelo KEMS so as classes SignedFormula (Figura 14), PBCandidateList (Figura 15), CompositeFormula (Figura 13) e AtomicFormula (Figura 12). A classe AtomicFormula (Figura 12) representa os tomos das frmulas lgicas, como por exemplo: A, B, C, etc.
Figura 12 Classe AtomicFormula Fonte: Adaptado do software KEMS (NETO, 2007).
A classe CompositeFormula (Figura 13) representa a formao de frmulas compostas, formadas por um conectivo e outras frmulas atmicas ou compostas. Exemplo: A B, C D, (A B) C D.
78
Figura 13 Classe CompositeFormula Fonte: Adaptado do software KEMS (NETO, 2007).
A classe SignedFormula (Figura 14) representa frmulas assinaladas. Como por exemplo: T A B, F C, etc.
Figura 14 Classe SignedFormula Fonte: Adaptado do software KEMS (NETO, 2007).
A classe PBCandidateList (Figura 15) contm a lista de frmulas PB candidatas de um ramo de prova. A lista de frmulas PB candidatas utiliza a classe SignedFormula (Figura 14) para representar as premissas. 79
Figura 15 Classe PBCandidateList Fonte: Adaptado do software KEMS (NETO, 2007).
A interface pblica dos mtodos das estratgias de AG desenvolvidas no presente trabalho descrita pela interface IEstrategiaAG (Figura 16). O dicionrio de informaes est descrito no Quadro 6. Esta interface abstrai publicamente os mtodos das estratgias de AG.
Figura 16 Interface IEstrategiaAG Fonte: Autoria prpria.
80
Interface: IEstrategiaAG Mtodo Descrio Retorno getPblist O objeto PBCandidateList contm o conjunto de frmulas PB candidatas. Retorna a lista do tipo PBCandidateList setPblist(PBCandidateList pblist) Atualiza o objeto PBCandidateList.
getStrategy A Estratgia contm os ramos de prova. Retorna a Estratgia: ISimpleStrategy setStrategy(ISimpleStrategy strategy) Atualiza a Estratgia getListaFormulasJaSelecionadas Lista de controle das frmulas j escolhidas. ArrayList<SignedFormula> setListaFormulasJaSelecionadas( ArrayList<SignedFormula> listaFormulasJaSelecionadas) Atualiza a lista de frmulas j escolhidas
getSignedFormula Retorna a frmula da lista de frmulas PB candidatas (PBCandidateList) de acordo com a estratgia AG. SignedFormula Quadro 6 - Dicionrio da interface IEstrategiaAG Fonte: Autoria prpria.
Os mtodos comuns das abordagens AG da interface IEstrategiaAG (Figura 16) so implementados pela classe abstrata AGEstrategia (Figura 17). A classe abstrai a funo getSignedFormula(), que intrnseca a cada estratgia AG especfica. O dicionrio de informaes est descrito no Quadro 7. 81
Figura 17 Classe abstrata AGEstrategia Fonte: Autoria prpria.
Classe: AGEstrategia Atributo Descrio Tipo _pbList Lista de frmulas PB candidatas PBCandidateList _strategy Estratgia ISimpleStrategy _listaFormulasJaSelecionadas Lista de frmulas selecionadas ArrayList<SignedFormula> Mtodo Descrio Retorno getSignedFormula Mtodo abstrato Retorna a frmula da lista de frmulas PB candidatas (PBCandidateList) de acordo com a estratgia AG. Quadro 7 - Dicionrio da classe abstrata AGEstrategia Fonte: Autoria prpria.
A classe AGElitistaConectivos (Figura 18) implementa o mtodo abstrato getSignedFormula() da interface IEstrategiaAG (Figura 16). O dicionrio de informaes est descrito no Quadro 8. Esta classe seleciona a frmula PB candidata que possuir o maior nmero de conectivos. Como exemplo, para o conjunto de premissas: - TA C, 1 conectivo. - FA C D, 2 conectivos. A premissa escolhida FA C D, com dois conectivos. 82
Figura 18 Classe AGElitistaConectivos Fonte: Autoria prpria.
Classe: AGElitistaConectivos Mtodo Descrio Retorno getSignedFormula Seleciona a frmula com maior nmero de conectivos da lista PBCandidateList SignedFormula getSignedFormulaMaiorNumeroConectivos Analisa o nmero de conectivos das frmulas da lista PB. Retorna a frmula com o maior nmero de conectivos da lista PBCandidateList getNumeroConectivos Conta o nmero de conectivos de uma Formula Int: nmero de conectivos Quadro 8 - Dicionrio da classe AGElitistaConectivos Fonte: Autoria prpria.
A classe AGUtil (Figura 19) possui mtodos comuns as estratgias de AG propostas. O dicionrio de informaes est descrito no Quadro 9.
Figura 19 Classe AGUtil Fonte: Autoria prpria. 83
Classe: AGUtil Mtodo Descrio Retorno getListaMesmaComplexidade( SignedFormula formulaComparar, PBCandidateList pbList, ArrayList<SignedFormula> listaSelecionados) Retorna uma lista de frmulas que possuem a mesma valorao de fitness de complexidade da frmula formulaComparar PBCandidateList getListaMesmaFrequenciaAtomos( SignedFormula formulaComparar, PBCandidateList pbList, AnaliseNumeroAtomos ana, ISimpleStrategy strategy, ArrayList<SignedFormula> listaSelecionados) Retorna lista de frmulas que possuem a mesma valorao de fitness de anlise de frequncia da tomos. PBCandidateList Quadro 9 - Dicionrio da classe AGUtil Fonte: Autoria prpria.
A classe AGConfiguration (Figura 20) atua como factory de estratgias AG. A interface de estratgias IEstrategiaAG est descrita na Figura 16. O dicionrio de informaes est descrito no Quadro 10.
Figura 20 Classe AGConfiguration Fonte: Autoria prpria.
84
Classe: AGConfiguration Mtodo Descrio Retorno GetAbordagemFromString(String abordagem) Recupera a abordagem a partir da String com o nome da abordagem enum Abordagens GetEstrategiaAG(String abordagem) Retorna a estratgia a partir da String com o nome da abordagem IEstrategiaAG GetEstrategiaAG(Abordagens abordagem) Retorna a estratgia a partir do enum Abordagens IEstrategiaAG Quadro 10 - Dicionrio da classe AGConfiguration Fonte: Autoria prpria.
A estratgia de AG baseada na frequncia dos tomos das frmulas PB candidatas est representada na seo 4.1. A estratgia de AG baseada na complexidade das frmulas PB candidatas est representada na seo 4.2.
85
4.1 Estratgia AG Frequncia de tomos
A classe AGElitistaFrequenciaAtomos (Figura 21) seleciona a frmula PB candidata que possuir a maior avaliao dada pela anlise de frequncia de tomos. A avaliao por anlise de frequncia de tomos descrita na subseo 3.1.3. A seleo elitista est descrita na subseo 3.1.5. O dicionrio de informaes est descrito no Quadro 11.
Figura 21 Classe AGElitistaFrequenciaAtomos Fonte: Autoria prpria.
Classe: AGElitistaFrequenciaAtomos Mtodo Descrio Retorno getSignedFormula Seleciona com base na frequncia de tomos das frmulas PB candidatas e das frmulas da rvore de prova SignedFormula Quadro 11 - Dicionrio da classe AGElitistaFrequenciaAtomos Fonte: Autoria prpria.
A classe AGEstocasticoFrequenciaAtomos (Figura 22) utiliza a funo de avaliao baseada na anlise de frequncia de tomos de forma estocstica atravs da roleta. A avaliao de cada frmula PB candidata exerce um peso na probabilidade da sua escolha. A seleo estocstica descrita na subseo 3.1.6. O dicionrio de informaes est descrito no Quadro 12.
86
Figura 22 Classe AGEstocasticoFrequenciaAtomos Fonte: Autoria prpria.
Classe: AGEstocasticoFrequenciaAtomos Mtodo Descrio Retorno getSignedFormula Retorna a Frmula de acordo com a roleta SignedFormula updateHashStrategy Contm a frequncia dos tomos das frmulas PB candidatas
getAvaliacaoIndividual(SignedFormula sf) A avaliao feita com base na frequncia dos tomos das frmulas PB candidatas e na frequncia dos tomos das frmulas da rvore de prova Avaliao de uma Frmula. GetSomaAvaliacoes Soma as avaliaes individuais de cada frmula Soma de avaliao Roleta Sorteia a posio do indivduo na roleta. Leva em considerao a avaliao de cada frmula. Posio do indivduo na roleta GetIndividuoRoleta(int pos) Recupera o indivduo a partir da sua posio da roleta. SignedFormula Quadro 12 - Dicionrio da classe AGEstocasticoFrequenciaAtomos Fonte: Autoria prpria.
87
A classe AnaliseNumeroAtomos (representada na Figura 23) possui funes de suporte as classes AGElitistaFrequenciaAtomos (Figura 21) e AGEstocasticoFrequenciaAtomos (Figura 22). Sua principal funo analisar as frequncias dos tomos das frmulas das premissas da base de conhecimentos, das frmulas PB candidatas e selecionar uma frmula com base na avaliao da anlise de frequncias dos tomos (subseo 3.1.3). O dicionrio de informaes est descrito no Quadro 13.
Figura 23 Classe AnaliseNumeroAtomos Fonte: Autoria prpria
88
Classe: AnaliseNumeroAtomos Mtodo Descrio Retorno toList(Map<SignedFormula, INode> map, List<SignedFormula> listaPbIgnore) Cria a lista de frmulas da rvore de prova ArrayList<SignedFormula> getSFAnaliseAtomos(ArrayList<SignedF ormula> listaFormulasJaSelecionadas, List<SignedFormula> listaPB, ISimpleStrategy strategy) Retorna a frmula PB candidata com maior valorao para a anlise de frequncia de tomos. Frmula GetAvaliacaoIndividual Retora a avaliao indivdual de uma frmula int: fitness de uma frmula CompareMapFrequenciasAtomos Compara a frequncia de dois hashs int: anlise de frequncias dos tomos das frmulas de cada hash. getHashFromFormula(Formula f) Cria um hash de frequncias dos tomos de uma frmula HashMap<AtomicFormula, Integer> Quadro 13 - Dicionrio da classe AnaliseNumeroAtomos Fonte: Autoria prpria.
89
4.2 Estratgia AG Maior Complexidade
A classe AGElitistaMaiorComplexidade (Figura 24) seleciona a frmula PB candidata com a maior complexidade. A avaliao por complexidade de frmulas est descrita na subseo 3.1.2. A seleo elitista est descrita na subseo 3.1.5. O dicionrio de informaes est descrito no Quadro 14.
Figura 24 Classe AGElitistaMaiorComplexidade Fonte: Autoria prpria.
Classe: AGElitistaMaiorComplexidade Mtodo Descrio Retorno getSignedFormula Retorna a Frmula de maior fitness SignedFormula Quadro 14 - Dicionrio da classe AGElitistaMaiorComplexidade Fonte: Autoria prpria.
A classe AGEstocasticoMaiorComplexidade (Figura 25) utiliza a mesma funo de avaliao que a abordagem usada na classe AGElitistaMaiorComplexidade (Figura 24). A diferena est na aplicao da seleo das frmulas PB candidatas atravs da roleta, de forma semelhante a classe AGEstocasticoFrequenciaAtomos (Figura 22). A seleo estocstica descrita na subseo 3.1.6. O dicionrio de informaes est descrito no Quadro 15.
Figura 25 Classe AGEstocasticoMaiorComplexidade Fonte: Autoria prpria.
90
Classe: AGEstocasticoMaiorComplexidade Mtodo Descrio Retorno getSignedFormula Retorna a Frmula de acordo com a roleta SignedFormula GetSomaAvaliacoes Soma as avaliaes individuais de cada frmula Soma de avaliao Roleta Sorteia a posio do indivduo na roleta. Leva em considerao a avaliao de cada frmula. Posio do indivduo na roleta GetIndividuoRoleta(int pos) Recupera o indivduo a partir da sua posio da roleta. SignedFormula Quadro 15 - Dicionrio da classe AGEstocasticoMaiorComplexidade Fonte: Autoria prpria.
91
4.3 Estratgia AG Hbrida
A classe AGHibFreqAtomosElitEsto (Figura 26) utiliza uma funo de seleo mista. A primeira etapa avalia as frmulas PB candidatas de acordo com a anlise de frequncia dos tomos descrita na seo 4.1. Caso existam frmulas com o mesmo valor de fitness, a seleo ser estocstica entre as frmulas PB candidatas de mesma valorao, caso contrrio, a frmula de maior valorao ser a escolhida. A seleo hbrida descrita na subseo 3.1.7. O dicionrio de informaes est descrito no Quadro 16.
Figura 26 Classe AGHibFreqAtomosElitEsto Fonte: Autoria prpria.
92
Classe: AGHibFreqAtomosElitEsto Mtodo Descrio Retorno getSignedFormula Retorna a Frmula de acordo com a anlise de frequncia dos tomos. Usa uma abordagem hbrida elitista e estocstica. SignedFormula Quadro 16 - Dicionrio da classe AGHibFreqAtomosElitEsto Fonte: Autoria prpria.
A classe AGHibrMaiorComplexidadeElitEsto (Figura 27) semelhante a classe AGHibFreqAtomosElitEsto (Figura 26). A diferena esta na funo de avaliao, que usa a valorao da complexidade das frmulas PB candidatas. De forma idntica, caso existam frmulas com o mesmo valor de fitness, a seleo ser estocstica entre as frmulas PB candidatas de mesma valorao, caso contrrio, a frmula de maior valorao ser a escolhida. O dicionrio de informaes est descrito no Quadro 17.
Figura 27 Classe AGHibrMaiorComplexidadeElitEsto Fonte: Autoria prpria.
93
Classe: AGHibrMaiorComplexidadeElitEsto Mtodo Descrio Retorno getSignedFormula Retorna a Frmula de acordo com a avaliao de complexidade das frmulas. Usa uma abordagem hbrida elitista e estocstica. SignedFormula Quadro 17 - Dicionrio da classe AGHibrMaiorComplexidadeElitEsto Fonte: Autoria prpria.
94
5. Diagrama de Objetos
O diagrama de objetos da classe AGElitistaFrequenciaAtomos (Figura 28) demonstra a interao entre os objetos das classe AGElitistaFrequenciaAtomos (Figura 21), SignedFormula (Figura 14), PBCandidateList (Figura 15) e AtomicFormula (Figura 12).
Figura 28 - Diagrama de Objetos AGElitistaFrequenciaAtomos Fonte: Autoria prpria.
O diagrama de objetos da classe AGEstocasticoFrequenciaAtomos (Figura 29) demonstra a interao entre os objetos das classe AGEstocasticoFrequenciaAtomos (Figura 22), SignedFormula (Figura 14), PBCandidateList (Figura 15) e AtomicFormula (Figura 12).
95
Figura 29 - Diagrama de Objetos AGEstocasticoFrequenciaAtomos Fonte: Autoria prpria.
96
6. Diagramas de Sequncias
O diagrama de sequncia da seleo elitista (Figura 30) representa a sequncia de interao entre o software KEMS e as classes da abordagem AG elitista propostas. O software KEMS informa a estratgia (ISimpleStrategy), a lista de frmulas PB candidatas (PBCandidateList) e a lista de frmulas da rvore de prova (List<SignedFormula>). O primeiro mtodo realiza a avaliao das frmulas de acordo com a estratgia. Os mtodos de avaliao de frmulas adotados no presente trabalho esto descritos na seo 3.1.1. Posteriormente a seleo das frmulas empregada a elitista, descrita na subseo 3.1.5.
Figura 30 - Diagrama de Sequncia da seleo elitista Fonte: Autoria prpria.
O diagrama de sequncia da seleo estocstica (Figura 31) representa a sequncia de interao entre o software KEMS e as classes da abordagem AG estocstica propostas. Os parmetros informados pelo software KEMS so: a estratgia (ISimpleStrategy), a lista de frmulas PB candidatas (PBCandidateList) e a lista de frmulas da rvore de prova (List<SignedFormula>). O mtodo Avaliar realiza a avaliao das frmulas de acordo com a estratgia. Os mtodos de avaliao de frmulas adotados no presente trabalho esto descritos na seo 3.1.1. Posteriormente a 97
etapa de avaliao, a seleo das frmulas feita de forma estocstica, descrita na subseo 3.1.6.
Figura 31 - Diagrama de Sequncia da seleo estocstica Fonte: Autoria prpria.
A tcnica de avaliao das frmulas (seo 3.1.1) definida pelo usurio atravs da interface grfica do KEMS ou atravs da linha de comando. A estratgia de AG informada deste parmetro atravs do objeto de estratgia ISimpleStrategy.
98
7. WBS
A WBS (Work Breakdown Structure) do projeto est representada na Figura 32. A WBS uma ferramenta de decomposio do trabalho do projeto em partes manejveis. de forma hierrquica (de mais geral para mais especfica) orientada s entregas (deliverables) que precisam ser feitas para completar um projeto. Fazem parte do presente projeto: - Gerenciamento, composto pelo Planejamento, Acompanhamento e Entrega do Trabalho; - Verificao dos Resultados; - Avaliao de Frmulas; - Algoritmos, composto pela funo de avaliao, abordagens elitista, estocstica e hbrida; - Relatrio de Testes do clculo da complexidade de frmulas, das abordagens estocstica, elitista e hbrida;
Figura 32 WBS Fonte: Autoria prpria.
99
8. HOUSE OF QUALI TY
A Casa da Qualidade (HoQ House of Quality) est ilustrada na Figura 33. Fazem parte dos requisitos os itens: - Pacote de interface contendo o Algoritmo, com o objetivo de permitir a execuo em diferentes provadores automatizados de teoremas; - Portabilidade funcionalidade sobre qualquer sistema operacional; - Otimizao do tempo de Prova; - 10% Tempo de Prova; - Facilidade de Alterao; - Reduo da curva de aprendizado por novos colaboradores; - Reduo do gasto dos recursos computacionais (memria, disco e CPU);
Os requisitos funcionais so: - Encapsulamento: este item esta relacionado a interface do algoritmo; - Desempenho; - Documentao; - Desenvolvimento em uma nica linguagem. No caso a linguagem utilizada ser o Java; - Design Patterns (Padres Projeto);
A relao entre os requisitos est descrito na Figura 33. 100
Figura 33 - House of Quality Fonte: Autoria prpria.
101
9. ANLISE DE RISCOS
O controle e avaliao de riscos so essenciais no desenvolvimento de qualquer projeto. atravs do controle os riscos que a equipe de desenvolvimento consegue monitorar os possveis pontos de maior probabilidade de fracasso do projeto. E, desta forma, elaborar uma forma de control-los de uma maneira aceitvel, e se preparar para situaes de riscos de falhas, falta de recursos e demais imprevistos que podem ocorrer durante a fase de desenvolvimento do projeto. O levantamento de riscos do presente trabalho foi feito de acordo com Pressman (2006). Os riscos levantados, as respectivas probabilidades de ocorrncia, o impacto e a estratgia adotada esto listados no Quadro 18. Estes riscos foram constantemente avaliados, principalmente os riscos com impactos catastrficos, pois estes em potencial podem inviabilizar o projeto todo.
102
Risco Categoria Probabilidade Impacto Estratgia Tipo de estratgia Consumo muito alto de memria em ambas as abordagens Tcnico Alto Crtico Alterao das estruturas de dados que representam s frmulas. Pr-seleo de regras mais aptas. Escolha de famlia mais simples. Minimizao Falha das abordagens Tcnico Mdio Catastrfico Aplicao da Metodologia Proposta em Regras Beta Estudo e levantamento das causas do fracasso Minimizao Estimativas de tempo irreais Gesto Baixa Marginal Foco na implementao de apenas uma abordagem Contingncia Falha na implementao Tcnico Baixa Crtica Estudo e aplicaes tericas Minimizao Quadro 18 - Levantamento de Riscos Fonte: Autoria prpria.
9.1 Conteno de Riscos, Coordenao e Comunicao
As estratgias adotadas para controle dos riscos envolveram reunies informais, devido ao tamanho da equipe, que pequena. As tarefas e decises do projeto foram compartilhadas via meio eletrnico, e-mail, e reunies presenciais. O cdigo desenvolvido foi compartilhado atravs do controle de verses do sistema Git.
103
APNDICE C Diagrama de classes
O diagrama de classes completo da proposta de AG est representado na Figura 34.
Figura 34 Diagrama de Classes AG completo Fonte: Autoria prpria.
104
APNDICE D KEMS - Execuo em lote
Para os testes em lote do software KEMS, o arquivo de configurao .seq deve ser informado ao .jar executvel atravs do comando: java -jar kems.jar filename.seq
O arquivo de configurao .seq est ilustrado na Figura 35. Os smbolos # representam comentrios.
ElitistaHibridoFreqAtomosComplexidade #EstocasticoMaiorComplexidade #ElitistaFrequenciaAtomos #EstocasticoFrequenciaAtomos #ElitistaMaiorComplexidade #NotApplyAG run Figura 35 Arquivo de entrada .seq Fonte: Autoria prpria.
O arquivo .jar executvel do software KEMS de testes em lote deve possuir a classe CommandLineRunner do pacote proverinterface.commandline como classe main. 105
APNDICE E RESULTADOS
1. Resultados famlia Gamma
Os resultados das abordagens propostas em AG para a famlia de problemas Gamma, instncias de 1 a 10, esto representas nas tabelas: Tabela 1, Tabela 2, Tabela 3, Tabela 4, Tabela 5 e Tabela 6. O resultado da abordagem convencional est na Tabela 7. Os critrios de avaliao de tempo, tamanho de prova, nmero de ns, nmero de bifurcaes e uso de memria esto representados em forma grfica nas figuras: Figura 1, Figura 2, Figura 3, Figura 4, Figura 5, respectivamente.
Figura 1 Na comparao por tempo de prova para a famlia Gamma, as estratgias: anlise de Frequncia tomos Estocstico, Elitista e Hbrida mostraram-se mais eficientes. Fonte: Autoria prpria.
Figura 2 Na comparao do tamanho da prova para a famlia Gamma, as estratgias: anlise de Frequncia tomos Estocstico, Elitista e Hbrida mostraram-se mais eficientes. Fonte: Autoria prpria.
109
Figura 3 Na comparao do nmero de ns para a famlia Gamma, as estratgias: anlise de Frequncia tomos Estocstico, Elitista e Hbrida mostraram-se mais eficientes. Fonte: Autoria prpria.
Figura 4 Na comparao do nmero de bifurcaes para a famlia Gamma, as estratgias: anlise de Frequncia tomos Estocstico, Elitista e Hbrida mostraram-se mais eficientes. Fonte: Autoria prpria.
110
Figura 5 Na comparao do uso de memria para a famlia Gamma, as estratgias: anlise de Frequncia tomos Estocstico, Elitista e Hbrida mostraram-se mais eficientes. Fonte: Autoria prpria.
111
2. Resultados famlia Statman
Os resultados das abordagens propostas em AG para a famlia de problemas Statman, instncias de 1 a 9, 13, 17, 21, 25 e 29, esto representas nas tabelas: Tabela 8, Tabela 9, Tabela 10, Tabela 11, Tabela 12 e Tabela 13. O resultado da abordagem convencional est na Tabela 14. Os critrios de avaliao de tempo, tamanho de prova, nmero de ns, nmero de bifurcaes e uso de memria esto representados em forma grfica nas figuras: Figura 6, Figura 7, Figura 8, Figura 9 e Figura 10, respectivamente.
Figura 6 Na comparao do tempo da prova para a famlia Statman, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
Figura 7 Na comparao do tamanho da prova para a famlia Statman, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
116
Figura 8 Na comparao do nmero de ns para a famlia Statman, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
Figura 9 Na comparao do nmero de bifurcaes para a famlia Statman, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
117
Figura 10 Na comparao do uso de memria para a famlia Statman, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
118
3. Resultados famlia H
Os resultados das abordagens propostas em AG para a famlia de problemas H, instncias de 1 a 7, esto representas nas tabelas: Tabela 15, Tabela 16, Tabela 17, Tabela 18, Tabela 19 e Tabela 20. O resultado da abordagem convencional est na Tabela 21. Os critrios de avaliao de tempo, tamanho de prova, nmero de ns, nmero de bifurcaes e uso de memria esto representados em forma grfica nas figuras: Figura 11, Figura 12, Figura 13, Figura 14 e Figura 15.
Figura 11 Na comparao do tempo de prova para a famlia H, todas as estratgias (exceto a abordagem hbrida com funo de avaliao anlise de frequncia de tomos) mostraram- se mais eficientes. Fonte: Autoria prpria.
121
Figura 12 Na comparao do tamanho da prova para a famlia H, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
Figura 13 Na comparao do nmero de ns para a famlia H, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
122
Figura 14 Na comparao do nmero de bifurcaes para a famlia H, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
Figura 15 Na comparao do uso de memria para a famlia H, todas as estratgias (exceto a abordagem hbrida com funo de avaliao anlise de frequncia de tomos) mostraram- se mais eficientes. Fonte: Autoria prpria.
123
4. Resultados famlia PHP
Os resultados das abordagens propostas em AG para a famlia de problemas PHP, instncias de 1 a 6, esto representas nas tabelas: Tabela 22, Tabela 23, Tabela 24, Tabela 25, Tabela 26 e Tabela 27. O resultado da abordagem convencional est na Tabela 28. Os critrios de avaliao de tempo, tamanho de prova, nmero de ns, nmero de bifurcaes e uso de memria esto representados em forma grfica nas figuras: Figura 16, Figura 17, Figura 18, Figura 19 e Figura 20.
Figura 16 Na comparao do tempo de prova para a famlia PHP, todas as estratgias (exceto a abordagem hbrida com funo de avaliao anlise de frequncia de tomos) mostraram-se mais eficientes. Fonte: Autoria prpria.
126
Figura 17 Na comparao do tamanho da prova para a famlia PHP, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
Figura 18 Na comparao do nmero de ns para a famlia PHP, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
127
Figura 19 Na comparao do nmero de bifurcaes para a famlia PHP, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.
Figura 20 Na comparao do uso de memria para a famlia PHP, todas as estratgias mostraram-se mais eficientes. Fonte: Autoria prpria.