Redução-β em Prolog SN :? N : M. Det :?
|
|
- Anna Leveck
- 5 Há anos
- Visualizações:
Transcrição
1 Redução-β em Prolog Luiz Arthur Pagani (UFPR) Resumo Apresenta-se aqui uma nova implementação em Prolog para a operação de redução-β, parte do cálculo-λ importante para a semântica composicional, e que não apresenta o mesmo defeito das implementações de Pereira & Shieber e de Blackburn & Bos (em ambas, as variáveis ligadas pelo operador-λ acabam instanciadas com constantes, o que inviabiliza a manutenção do histórico derivacional das reduções). 1 Introdução O cálculo-λ é uma ferramenta indispensável para a construção da representação composicional da interpretação semântica de uma expressão linguística desde, pelo menos, o advento da Semântica de Montague (como podemos perceber facilmente em manuais de semântica formal, como [7, ps ], [3, p ], [8, p. 3439], [5, ps ]; e também em manuais de linguística computacional, como [6, ps. 6465] e [1, ps ]). Neste contexto, o cálculo-λ é usado, por exemplo, para identicar uma fórmula (um termo-λ) que represente o signicado do item lexical todo, em todo menino corre, de forma que ela colabore composicionalmente na representação do signicado daquela sentença; além disso, é possível unicar a representação do signicado dos quanticadores com a dos nomes próprios (chamada de quanticação generalizada, onde a denotação de ambas as fórmulas correspondem a conjuntos de conjuntos). Considerando que o signicado de todo menino corre seja representado pela clássica fórmula do cálculo de predicados x.[(m x) (C x)], e que os signicados de menino e corre também correspondam, respectivamente, aos clássicos predicados M e C, 1 podemos nos perguntar, primeiro, pela representação do signicado do SN e, depois, pela do Det todo, como esquematizado na árvore abaixo. S : x.[(m x) (C x)] SN :? SV : C Det :? N : M V : C todo menino corre Começando pelo SN, sabemos que o signicado da sentença é x.[(m x) (C x)] e que o do SV é C, podemos abstrair o segundo do primeiro, através do cálculo-λ (de arthur@ufpr.br, página de internet: arthur. 1 Esses predicados podem ser compreendidos como conjuntos de indivíduos (o de meninos, no primeiro caso; e o dos que correm, no segundo), mas também podem ser pensados como funções que levam de indivíduos a valores de verdade (as chamadas funções características ); como estas opções são equivalentes, vamos optar aqui pela representação funcional, por comodidade notacional e coerência conceitual. 1
2 acordo com sua apresentação, como veremos a seguir), e chegamos à conclusão de que o signicado do SN pode ser representado por λp. x.[(m x) (P x)]. A seguir abstraímos deste signicado a parte correspondente ao N, e obtemos a fórmula λq.λp. x.[(q x) (P x)], que representa nalmente o signicado do Det todo. Assim, podemos reconstruir composicionalmente a árvore acima da seguinte maneira: 2 todo menino corre Det : λq.λp. x.[(q x) (P x)] N : M V : C SN : (λq.λp. x.[(q x) (P x)] M) = red.β λp. x.[(m x) (P x)] S : (λp. x.[(m x) (P x)] C) = red.β x.[(m x) (C x)] O leitor perspicaz terá observado que, na derivação acima, o signicado do SN passa a ser uma função, que toma o signicado do SV como argumento (que também é uma função, o que faz da representação do signicado do SN uma função de segunda ordem) para resultar no signicado da sentença; mas isso é o oposto do que acontece tradicionalmente na explicação de uma sentença como Pedro corre, em que o SV é que corresponde à função que toma o signicado do SN como argumento. No entanto, com o cálculo-λ isso deixa de ser um problema: supondo que o signicado de Pedro seja representado por p (o indivíduo que é o próprio Pedro), basta promovê-lo para λp.(p p), para podermos usar o mesmo procedimento anterior, em que o signicado do SN é a função e o do SV é o argumento, como na árvore a seguir. Pedro N : p SN : λp.(p p) corre V : C SV : C S : (λp.(p p) C) = red.β (C p) Como recurso formal, uma representação através do cálculo de predicados acrescido do cálculo-λ é especialmente adequada para a construção composicional da interpretação semântica das expressões executada computacionalmente. Portanto, o objetivo do presente texto é o de apresentar uma implementação em Prolog deste recurso; para isso, iremos primeiro apresentar a denição do cálculo-λ e duas versões anteriores de implementação (uma bastante supercial e outra mais robusta), para que possamos identicar as limitações que vamos querer superar na implementação proposta aqui. 2 Mas a partir daqui vamos passar a empregar o chamado diagrama de Prawitz, bastante usado na Gramática Categorial, que simplica um pouco a apresentação da árvore, ainda que faça isso às custas de inverter o sentido com o qual os linguistas estão mais acostumados. 2
3 2 Cálculo-λ O cálculo-λ foi inventado pelo matemático americano Alonzo Church, a partir de meados dos anos 30, para tentar formalizar a Matemática através da noção de função, ao invés da teoria de conjuntos. Apesar de não ter servido aos seus propósitos originais, o cálculo- λ acabou exercendo uma função importante no estudo da computabilidade, de forma a ser considerado a menor língua universal de programação do mundo [11, p 1]. Seguindo a apresentação de Carpenter [4, p. 50], podemos denir o cálculo- λ a partir de três axiomas: 3 a. λη.α λδ.α[η δ] (redução-α) [δ / Livre(α) LivreP ara(δ, η, α)] b. (λη.α β) α[η β] (redução-β) [LivreP ara(β, η, α)] c. λη.(α η) α (redução-η) [η / Livre(α)] Como vamos nos concentrar na redução-β, não vamos comentar as outras duas reduções; além disso, por falta de espaço, também não apresentaremos as denições formais de Livre e LivreP ara (que podem ser encontradas em [4, ps. 4344]). O axioma da redução-β nos diz que um termo-λ com o formato λη.α (que corresponde a uma função), quando toma como argumento um termo com o formato β, resulta num termo constituído pela substituição, no termo α, de todas as ocorrências livres de η por β, contanto que β seja livre para substituir η em α (ou seja, ao substituir δ em α, nenhuma variável livre de β pode acabar sendo acidentalmente ligada). Já apresentamos três reduções-β na seção anterior, e agora vamos observais mais detidamente como elas foram executadas. Para aplicar a regra de redução à fórmula que representa a composição do signicado do SN todo menino, podemos colocá-la num esquema que esclarece a operação: 4 (λ Q. λp. x.[(q x) (P x)] M }{{} ) λp. x.[(m x) (P x)] Na linha central do esquema, temos a regra de redução-β; na linha de cima, a fórmula a ser reduzida; e na linha de baixo, o resultado da redução. As unicações estão identicadas com as chaves: se zermos o η da regra valer Q (η = Q), α = λp. x.[(q x) (P x)] e β = M, então o resultado será α[η β] = λp. x.[(m x) (P x)] (o M substitui o Q na fórmula instanciada em α). O mesmo vale para (λp. x.[(m x) (P x)] C), que é o signicado de todo menino corre: (λ }{{} P. x.[(m x) (P x)] C }{{} ) x.[(m x) (C x)] 3 A apresentação de Carpenter privilegia unicamente o sentido da redução, mas os axiomas também podem ser usados na expansão (foi o que zemos, na seção anterior, para deduzir o signicado de todo); quando apresentados nos dois sentidos, eles são chamados de convenção ou igualdade [9, ps. 5051]. 4 Minha notação é um pouco diferente da de Carpenter: coloco a função seguida do argumento (separados por um espaço) entre um par de parêntesis; na de Carpenter, apenas o argumento ca entre parêntesis. 3
4 E também para (λp.(p p) C), que representa o signicado de Pedro corre: (λ }{{} P. (P p) C }{{} ) (C p) Como último exemplo, vamos apresentar a redução-β de (λp.(p p) (λq.λx.(q x) C)), que é uma fórmula mais complexa e apresena mais de uma alternativa de redução. Temos, na verdade, duas opções para iniciar a série de reduções; 5 podemos começar reduzindo o operador-λ que liga a variável P, como a seguir: (λ }{{} P. (P p) (λq.λx.(q x) C) ) }{{} ((λq.(λx.(q x) C) p) E, depois fazer a redução da subfórmula para o operador-λ que liga a variável Q: (λ Q. λx.(q x) C }{{} ) λx.(c x) Ou, alternativamente, podemos começar reduzindo a subfórmula na qual ocorre a ligação da variável Q: (λ Q. λx.(q x) C }{{} ) λx.(c x) Substituindo, depois a fórmula reduzida na fórmula inicial, e procedendo uma nova redução: (λ }{{} P. (P p) λx.(c x) ) }{{} (λx.(c x) p) De qualquer maneira, no nal, obtemos a mesma fórmula, que precisa ainda passar pela última redução-β para chegarmos à forma equivalente mais simples para a fórmula inicial (λp.(p p) (λq.λx.(q x) C)): (λ }{{} x. (C x) p ) }{{} (C p) 5 Efetivemente, usando o cálculo-λ integralmente, teríamos mais alternativas, já que a subfórmula λq.(q x) pode sofrer uma redução-η; como aqui estamos nos concentrando na redução-β, não exploraremos esta possibilidade. 4
5 O que é importante observar, antes de passarmos às implementações, é que a reduçãoβ só se aplica a um termo-λ com a forma (λη.α β) onde η é uma variável, e α e β são outros termos-λ. 6 Mas, principalmente, aquilo que o operador-λ liga precisa ser necessariamente uma variável. 7 3 Implementações anteriores Passemos, então, às duas implementações encontradas. 3.1 Pereira & Shieber No livro de Pereira e Shieber [10, p. 96], podemos encontrar o que provavelmente seja a primeira tentativa de implementar a redução-β em Prolog, denida numa única linha: reduce(arg^expr, Arg, Expr). Todo o trabalho de redução é executado pela unicação do argumento (Arg) com a variável ligada pelo operador-λ (que aqui é representado pelo acento circunexo (^) em posição inxa); o resultado decorre da unicação com o escopo do operador ( Expr). Assim, para executar, por exemplo, a redução de (λp.(p p) C) é preciso converter a fórmula para o formato escolhido pelos autores. Além do operador-λ inxo (^), a aplicação funcional é representada pelo assim, a parte funcional da fórmula é escrita em Prolog como P^P@p. 8 E a redução pode ser invocada da seguinte maneira:?- reduce(p^p@p, c, Result). P = c, Result = c@p. Há fundamentalmente dois problemas nesta implementação. O primeiro é que ela não dá conta da complexidade estrutural de todas as fórmulas que poderíamos precisar reduzir; como a redução não é difundida para as subfórmulas da fórmula a ser reduzida, reduções em algumas dessas subfórmulas não seriam processadas. O segundo problema é que a unicação do argumento com a variável ligada pelo operador-λ acaba instanciando esta variável com uma constante (P = c); assim, caso precisássemos continuar usando a fórmula λp.(p p) (P^P@c) para manter um histórico derivacional ela já estaria correspondendo a λc.(c p) (c^c@p); ou seja, teríamos uma constante onde deveríamos ter obrigatoriamente uma variável. 6 Na notação que estamos usando, a dica para identicar uma redução-β é achar um parêntesis abrindo seguido do operador-λ:... (λ Não estamos dando atenção às restrições sobre ligação das variáveis porque no uso que fazemos da redução-β todas as variáveis introduzidas em qualquer derivação precisam ser novas; isso garante que não haja ligações indevidas (as únicas ligações são as que ocorrem com operadores de ligação inseridos lexicalmente). 8 Sem os parêntesis, a representação presupõe uma precedência maior do operador funcional em relação ao operador-λ. 5
6 3.2 Blackburn & Bos A outra implementação está no livro de Blackburn e Bos [2, ps. 7778], e pode ser obtida diretamente da internet. 9 Como podemos observar na listagem abaixo, ao lidar com a estrutura das fórmulas a serem reduzidas, esta implementação é capaz de fazer as reduções internas. betaconvert(x,y,[]):- var(x),!, Y=X. betaconvert(expression,result,stack):- nonvar(expression), Expression = app(functor,argument), betaconvert(functor,result,[argument Stack]),!. betaconvert(expression,result,[x Stack]):- nonvar(expression), Expression = lam(x,formula), betaconvert(formula,result,stack),!. betaconvert(formula,result,[]):- nonvar(formula),!, Formula =.. [Functor Formulas], betaconvertlist(formulas,resultformulas), Result =.. [Functor ResultFormulas]. No entanto, a seguir mostramos uma seção de redução de (λp.(p mia) λx.(snort x)) (que, na notação em Prolog dos autores, em que a aplicação funcional é representada pelo predicado app/2 e o operador-λ pelo predicado lam/2) é escrita como app(lam(a, app(a, mia)), lam(b, snort(b))).?- betaconvert(app(lam(a, app(a, mia)), lam(b, snort(b))), Result, []). A = lam(mia, snort(mia)), B = mia, Result = snort(mia). Como se nota, apesar de estruturalmente mais completo, este programa sofre do outro problema que o anterior também sofria: a unicação B = mia causa a unicação A = lam(mia, snort(mia)), tornando a fórmula reduzida inadequada para o registro do histórico derivacional, colocando uma constante onde só poderia haver uma variável. 4 Nova implementação Avaliando os resultados equivalentes em ambas as implementações anteriores, observase que as variáveis do Prolog são usadas para representar diretamente as variáveis da língua de representação da interpretação semântica. Desse modo, a nova proposta que será apresentada a seguir trata as variáveis da língua representacional como constantes do Prolog; apesar de poder soar inicialmente como uma contradição, na verdade, esta 9 O endereço é A versão apresentada aqui foi simplicada em relação ao arquivo disponibilizado na internet pelos autores, assemelhando-se mais à primeira versão comentada no livro. 6
7 opção segue a distinção entre variável e metavariável, tratando as variáveis como coisas a serem descritas, e portanto como coisas a serem referidas através de constantes, cando as variáveis do Prolog com a função de representar as metavariáveis. % Definição dos operadores :- op(500, % aplicação funcional :- op(550, xfx, /\). % conjunção :- op(550, xfx, =>). % implicação :- op(600, xfy, ^). % operador-lambda % Lista de conectivos proposicionais con_prop(/\). con_prop(=>). % Lista de quantificadores quant(algum). quant(todo). % reduz_lista(lista, Reduzido) % ****************************************** % * Reduzido é o resultado da redução-beta * % * recorrente do primeiro Termo da Lista * % ****************************************** reduz_lista(lista, Reduzido) :- Lista = [Termo _], reduz_termo(termo, Resultado), reduz_lista([resultado Lista], Reduzido),!. reduz_lista(resultado, Resultado). % reduz_termo(termo1, Termo2) % ************************************************** % * Termo2 é o resultado da redução-beta do Termo1 * % ************************************************** % Aplicação reduz_termo((var^termo)@arg, Resultado) :- substitui(termo, Var, Arg, Resultado). reduz_termo(termo1@termo2, Termo1@Resultado) :- reduz_termo(termo2, Resultado). reduz_termo(termo1@termo2, Resultado@Termo2) :- reduz_termo(termo1, Resultado). % Abstração reduz_termo(var^termo, Var^Resultado) :- reduz_termo(termo, Resultado). % Conectivos proposicionais reduz_termo(termo, Resultado) :- Termo =.. [Con, Termo1, Termo2], con_prop(con), reduz_termo(termo2, Parcial), 7
8 Resultado =.. [Con, Termo1, Parcial]. reduz_termo(termo, Resultado) :- Termo =.. [Con, Termo1, Termo2], con_prop(con), reduz_termo(termo1, Parcial), Resultado =.. [Con, Parcial, Termo2]. % Quantificadores reduz_termo(termo, Resultado) :- Termo =.. [Quant, Var, SubTermo], quant(quant), reduz_termo(subtermo, Parcial), Resultado =.. [Quant, Var, Parcial]. % substitui(termo1, Var, Termo2, Termo3) % *************************************************************** % * Termo3 é o resultado de substituir Var por Termo2 no Termo1 * % *************************************************************** % Variável substitui(x(m), x(n), Termo2, Termo3) :- ( x(m) \= x(n) -> Termo3 = x(m) ; Termo3 = Termo2 ). % Constante substitui(termo3, _, _, Termo3) :- atom(termo3). % Aplicação substitui(termo1a@termo1b, Var, Termo2, Termo3a@Termo3b) :- substitui(termo1a, Var, Termo2, Termo3a), substitui(termo1b, Var, Termo2, Termo3b). % Abstração substitui(var1^termo1, Var, Termo2, Termo3) :- ( Var1 = Var -> Termo3 = Var1^Termo1 ; substitui(termo1, Var, Termo2, Resultado), Termo3 = Var1^Resultado ). % Conectivos proposicionais substitui(termo1, Var, Termo2, Termo3) :- Termo1 =.. [Con, Termo1a, Termo1b], con_prop(con), substitui(termo1a, Var, Termo2, Termo3a), substitui(termo1b, Var, Termo2, Termo3b), Termo3 =.. [Con, Termo3a, Termo3b]. % Quantificadores substitui(termo1, Var, Termo2, Termo3) :- Termo1 =.. [Quant, Var1, SubTermo1], quant(quant), 8
9 ( Var1 = Var -> Termo3 =.. [Quant, Var1, SubTermo1] ; substitui(subtermo1, Var, Termo2, Resultado), Termo3 =.. [Quant, Var1, Resultado] ). Abaixo podemos observar um exemplo de uso da nova implementação. Para facilitar a apresentação, incluí no programa o predicado reduz_lista/2, que toma uma lista como entrada (que deve ser instanciada com uma lista que contenha apenas a fórmula a ser reduzida) e devolve como saída uma lista com a sequência de reduções-β executadas (em ordem inversa, devido ao empilhamento da lista no Prolog).?- reduz_lista([(x(0)^x(0)@p)@(x(1)^c@x(1))], Resultado). Resultado = [c@p, (x(1)^c@x(1))@p, (x(0)^x(0)@p)@ (x(1)^c@x(1))]. Neste exemplo, foi pedido que o programa reduzisse a fórmula (λp.(p p) λx.(c x)) (representada por (x(0)^x(0)@p)@(x(1)^c@x(1)), onde x(0) está para P e x(1) para x). Como se pode constatar, o programa produz uma lista com c@p na primeira posição (que corresponde a (C p), que é a forma normal da fórmula inicial de entrada), (x(1)^c@x(1))@p na posição intermediária (que corresponde à fórmula (λx.(c x) p)), e a própria fórmula de entrada na última posição. Assim, pudemos manter o histórico das reduções, sem instanciar variáveis com constantes nas expressões com o operador- λ. 5 Conclusões Evidentemente, é possível que haja uma possibilidade de remendar as implementações anteriores, de forma a evitar a propagação das instanciações indevidas. No entanto, a solução proposta aqui parece mais el à sintaxe do cálculo-λ e a uma certa losoa da programação em Prolog (e mesmo do cálculo de predicados), que determina que tratemos as entidades manipuladas como constantes e reservemos as variáveis para as asserções quanticadas. A presente proposta também inclui um exemplo da manipulação da estrutura do cálculo de predicados, dendo-se operadores para representar os conectivos proposicionais e usando predicados para representar os quanticadores. Aqui exemplicamos apenas a denição da conjunção e da implicação, mas os outros conectivos proposicionais poderiam ser facilmente introduzidos na implementação pelos mesmos moldes. 10 Finalmente, convém observar que o que foi apresentado aqui é apenas uma pequena parte da implementação do cálculo-λ. Não apenas não implementamos os outros dois axiomas (diferentemente de [2, ps. 7882], no qual se apresenta uma denição para a redução-α), como a implementação só foi concebida para o sentido da redução, e não para o da expansão (assim como a de Blackburn & Bos). No entanto, nas aplicações em que temos empregado a presente implementação (basicamente em assistentes de análise 10 A negação, por ser um conectivo unário (ao contrário dos outros, que são binários), exigiria um tratamento especial. De qualquer forma, bastaria incluir uma cláusula especíca na denição dos predicados reduz_termo/2 e substitui/2, nos mesmos termos da cláusula dos binários, mas apenas para um subtermo; ou, alternativamente, designar um predicado que percorresse a lista de subtermos reunidos pelo conectivo proposicional (a implementação de Blackburn & Bos faz exatamente isso na sua última cláusula, ainda que de forma precária: a sintaxe dos conectivos e dos quanticadores não é explicitada). 9
10 e analisadores gramaticais para Gramáticas Categoriais), não sentimos a necessidade de empregar nenhum dos outros dois axiomas (a ligação indevida de variáveis é evitada, como comentamos na nota 7, através da inserção de variáveis sempre novas; e ainda não encontramos motivação linguística para o emprego da conversão-η). Referências [1] James Allen. Natural Language Understanding. Benjamin/Cummings, California, second edition, [2] Patrick Blackburn and Johan Bos. Representation and Inference for Natural Language A First Course in Computational Semantics. CSLI, Stanford, CA, [3] Ronnie Cann. Formal Semantics An Introduction. Cambridge University Press, Cambridge, [4] Bob Carpenter. Type-Logical Semantics. The MIT Press, Cambridge, MA, [5] Gennaro Chierchia and Sally McConnell-Ginet. Meaning and Grammar An Introduction to Semantics. The MIT Press, Cambridge, MA, second edition, [6] Michael A. Covington. Natural Language Processing for Prolog Programmers. Prentice Hall, Englewood Clis, [7] David R. Dowty, Robert E. Wall, and Stanley Peters. Introduction to Montague Semantics. Reidel, Dordrecht, [8] Irene Heim and Angelika Kratzer. Semantics in Generative Grammar. Wiley- Blackwell, Oxford, [9] Glyn V. Morrill. Type Logical Grammar. Kluwer, Dordrecht, [10] Fernando C. N. Pereira and Stuart M. Shieber. Prolog and Natural Language Analysis. CSLI, Stanford, [11] Raúl Rojas. A tutorial introduction to the lambda calculus. [A partir de gupta/courses/apl/lambda.pdf, acessado em ],
Gramática de Montague
Gramática de Montague Apresentação Inicial Luiz Arthur Pagani 1 There is in my opinion no important theoretical dierence between natural languages and the articial languages of logicians; indeed I consider
Leia maisEscopo in situ. 1 Introdução. 2 Recursos iniciais. Luiz Arthur Pagani (UFPR) 2.1 Sintaxe
Escopo in situ Luiz Arthur Pagani (UFPR) 1 Introdução A ambigüidade devido à interação entre quanticadores já é conhecida há muito tempo, na semântica, e pode ser encontrada em diversos manuais de de introdução
Leia maisRepresentação semântica em analisadores gramaticais. Luiz Arthur Pagani (UFPR)
Representação semântica em analisadores gramaticais Luiz Arthur Pagani (UFPR) arthur@ufpr.br 1 1 Introdução Analisador gramatical (parser) é normalmente apenas analisador sintático: o resultado do processamento
Leia maisUm problema formal na interpretação dos sintagmas preposicionados. Luiz Arthur Pagani (UFPR)
Um problema formal na interpretação dos sintagmas preposicionados Luiz Arthur Pagani (UFPR) 1 1 Introdução Diculdade em relação à interpretação dos sintagmas preposicionados que não recebeu muita atenção
Leia maisGramática Categorial Conectivo. Luiz Arthur Pagani (UFPR)
Gramática Categorial Conectivo Luiz Arthur Pagani (UFPR) 1 1 Motivação Pedro bateu em sua mulher e José fez o mesmo três interpretações: 1. Pedro e José bateram na mulher de Pedro 2. Pedro e José bateram,
Leia maisGramática Categorial Conectivo. Luiz Arthur Pagani (UFPR)
Luiz Arthur Pagani (UFPR) 1 1 Conj. integrante vs. pronome relativo Conjunção integrante sentença inteira como complemento: Maria acha que Pedro fuma Pedro disse que Maria odeia Grosbilda Grosbilda sabe
Leia maisHL059 Língua Portuguesa VII
HL059 Língua Portuguesa VII Luiz Arthur Pagani 24 de setembro de 2018 1 Faça a análise da sentença Pedro e Maria saíram, considerando os itens lexicais abaixo (além das entradas lexicais para Pedro e Maria,
Leia maisProgramação Funcional - Introdução a Cálculo Lambda
Programação Funcional - Introdução a Cálculo Lambda Cristiano Damiani Vasconcellos Universidade do Estado de Santa Catarina 1. Definição Cálculo lambda (λ-cálculo) é um modelo matemático capaz de ilustrar
Leia maisA sintaxe do cálculo de predicados (I), cap. 6 de Introdução à Lógica (Mortari 2001) Luiz Arthur Pagani
A sintaxe do cálculo de predicados (I), cap. 6 de Introdução à Lógica (Mortari 2001) Luiz Arthur Pagani 1 1 Símbolos individuais alfabeto & gramática: para caracterizar uma linguagem formal necessitamos,
Leia maisAnalisadores Gramaticais em Prolog (Projeto de pesquisa)
Analisadores Gramaticais em Prolog (Projeto de pesquisa) Luiz Arthur Pagani http://people.ufpr.br/ arthur arthur@ufpr.br Resumo Neste texto, apresenta-se ao Departamento de Lingüística, Letras Vernáculas
Leia maisGramática, reconhecimento e análise gramatical. Luiz Arthur Pagani
Gramática, reconhecimento e análise gramatical Luiz Arthur Pagani 1 1 Introdução estrutura de constituintes: Uma sentença em uma língua natural é composta por estruturas, chamadas de sintagmas ou constituintes
Leia maisParadigmas de Programação
Paradigmas de Programação Fabrício Olivetti de França 14 de Junho de 2018 1 λ-cálculo 2 Computabilidade Computabilidade é uma área de estudo central da Ciência da Computação. Ela estuda a possibilidade
Leia maisGramática Categorial: Inferência de informação morfológica verbo no passado. Luiz Arthur Pagani (UFPR)
: Inferência de informação morfológica verbo no passado Luiz Arthur Pagani (UFPR) 1 1 Pedro correu Prior [2]: P operador proposicional `aconteceu de... ' representação: (P (C p)) `aconteceu de Pedro correr'
Leia maisA sintaxe do cálculo de predicados (II), cap. 7 de Introdução à Lógica (Mortari 2001) Luiz Arthur Pagani
A sintaxe do cálculo de predicados (II), cap. 7 de Introdução à Lógica (Mortari 2001) Luiz Arthur Pagani 1 1 Linguagens de primeira ordem (Onde se usa linguagem, vou preferir língua; porque o primeiro
Leia maisCapítulo 3 Lógica de Primeira Ordem
Capítulo 3 Lógica de Primeira Ordem Lógica para Programação LEIC - Tagus Park 1 o Semestre, Ano Lectivo 2007/08 c Inês Lynce and Luísa Coheur Bibliografia Martins J.P., Lógica para Programação, Capítulo
Leia maisIntrodução à Lógica de Predicados
Introdução à Lógica de Predicados Matemática Discreta I Rodrigo Ribeiro Departamento de Ciências Exatas e Aplicadas Universidade de Federal de Ouro Preto 10 de dezembro de 2012 Motivação (I) Considere
Leia maisLógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur
Capítulo 2 Lógica Proposicional Lógica para Programação LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08 c Inês Lynce c Luísa Coheur Programa Apresentação Conceitos Básicos Lógica Proposicional ou Cálculo
Leia maisNomes e sintagmas nominais, aula 3 de Aulas Informais de Semântica Formal (Bach 1987) Luiz Arthur Pagani
Nomes e sintagmas nominais, aula 3 de Aulas Informais de Semântica Formal (Bach 1987) Luiz Arthur Pagani 1 crença de que a estrutura lógica das línguas naturais não é igual à das línguas articiais da lógica:
Leia maisConstruções relativas de novo
Construções relativas de novo Luiz Arthur Pagani (UFPR) http://wwwufprbr/arthur arthur@ufprbr Esta apresentação foi preparada no sistema LATEX, através de uma de suas implementações para Linux o TEXLive
Leia maisImpressões lingüísticas sobre duas axiomatizações para a Gramática Categorial
Impressões lingüísticas sobre duas axiomatizações para a Gramática Categorial Luiz Arthur Pagani (UFPR) arthur@ufpr.br http://people.ufpr.br/ arthur 1 Introdução No presente texto, 1 discute-se de um ponto
Leia maisElementos de Lógica Matemática p. 1/2
Elementos de Lógica Matemática Uma Breve Iniciação Gláucio Terra glaucio@ime.usp.br Departamento de Matemática IME - USP Elementos de Lógica Matemática p. 1/2 Vamos aprender a falar aramaico? ǫ > 0 ( δ
Leia maisGramática Categorial Independente
Gramática Categorial Independente Luiz Arthur Pagani (DELIN/UFPR) http://people.ufpr.br/ arthur arthur@ufpr.br Fevereiro de 2011 Sumário 1 Introdução 3 1.1 Fundamentos............................................................
Leia maisSCC Capítulo 2 Lógica de Predicados
SCC-630 - Capítulo 2 Lógica de Predicados João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis
Leia maisInteligência Artificial IA II. LÓGICA DE PREDICADOS PARA REPRESENTAÇÃO DO CONHECIMENTO
Inteligência Artificial IA Prof. João Luís Garcia Rosa II. LÓGICA DE PREDICADOS PARA REPRESENTAÇÃO DO CONHECIMENTO 2004 Representação do conhecimento Para representar o conhecimento do mundo que um sistema
Leia maisCálculo Lambda Sem Tipos
Cálculo Lambda Sem Tipos Cálculo lambda sem tipos Peter Landin (60 s) observou que uma linguagem de programação pode ser compreendida formulando-a em um pequeno núcleo capturando suas características essenciais
Leia maisLógica para computação - Linguagem da Lógica de Predicados
DAINF - Departamento de Informática Lógica para computação - Linguagem da Lógica de Predicados Prof. Alex Kutzke ( http://alex.kutzke.com.br/courses ) 13 de Outubro de 2015 Razões para uma nova linguagem
Leia maisInterpretações, cap. 8 de Introdução à Lógica (Mortari 2001) Luiz Arthur Pagani
Interpretações, cap. 8 de Introdução à Lógica (Mortari 2001) Luiz Arthur Pagani 1 1 Signicado e verdade condições para verdadeiro ou falso: Como um argumento é (intuitivamente) válido se não é possível
Leia maisSCC5869 Tópicos em Processamento de Língua Natural. Expressão lingüística representação do significado. São necessários para automação do processo
SEMÂNTICA PARTE 2 SCC5869 Tópicos em Processamento de Língua Natural Thiago A. S. Pardo ANÁLISE SEMÂNTICA Expressão lingüística representação do significado São necessários para automação do processo Grande
Leia maisReferência dinâmica. Luiz Arthur Pagani (UFPR)
Referência dinâmica Luiz Arthur Pagani (UFPR) 1 1 Introdução Motivo: sendo I uma função, ela não pode atribuir à mesma constante dois ou mais indivíduos [5, p. 160; grifo no original]. Com nome, argumento
Leia maisPreliminares, cap. 3 de Introdução à Lógica (Mortari 2001) Luiz Arthur Pagani
Preliminares, cap. 3 de Introdução à Lógica (Mortari 2001) Luiz Arthur Pagani 1 1 Linguagens linguagem: sistema de símbolos que serve como meio de comunicação (p. 31) articial natural: isso não se restringe
Leia maisLógica Proposicional. LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08. c Inês Lynce c Luísa Coheur
Capítulo 2 Lógica Proposicional Lógica para Programação LEIC - Tagus Park 2 o Semestre, Ano Lectivo 2007/08 c Inês Lynce c Luísa Coheur Programa Apresentação Conceitos Básicos Lógica Proposicional ou Cálculo
Leia maisUNIDADE ACADÊMICA: Faculdade de
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM SISTEMAS DE INFORMAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Programação Lógica ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GSI010 PERÍODO: 2
Leia maisReference, anaphora and deixis in predicate calculus and natural language. Luiz Arthur Pagani (UFPR)
Reference, anaphora and deixis in predicate calculus and natural language Luiz Arthur Pagani (UFPR) 1 1 Introduction Identication in structures for interpretation: reference anaphora deixis Both in predicate
Leia maisNelma Moreira. Aula 17
Lógica e Programação Nelma Moreira Aula 17 Conteúdo 1 Programação em Lógica 1 1.1 Resolução para a lógica proposicional................ 1 1.2 Cláusulas............................... 3 1.3 Conversão para
Leia maisINE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA
INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/59 1 - LÓGICA E MÉTODOS DE PROVA 1.1) Lógica Proposicional
Leia maisSCC Capítulo 5 Representação de Conhecimento através do Prolog
SCC-630 - Capítulo 5 Representação de Conhecimento através do Prolog João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São
Leia maisFórmulas da lógica proposicional
Fórmulas da lógica proposicional As variáveis proposicionais p, q, são fórmulas (V P rop ) é fórmula (falso) α e β são fórmulas, então são fórmulas (α β), (α β), (α β) e ( α) DCC-FCUP -TAI -Sistemas Dedutivos
Leia maisAula 7: Dedução Natural 2
Lógica para Computação Segundo Semestre, 2014 DAINF-UTFPR Aula 7: Dedução Natural 2 Prof. Ricardo Dutra da Silva -introdução Dada uma premissa A, nós podemos concluir A B para qualquer fórmula B. A justificativa
Leia maisAutômatos e Linguagens
Autômatos e Linguagens Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Agosto, 2016 1 / 41 Sumário 1 Compiladores 2 Linguagens de programação 3 Ciência dos compiladores
Leia maisLógica Computacional
Lógica Computacional 3.ano LCC e LERSI URL: http://www.ncc.up.pt/~nam/aulas/0304/lc Escolaridade: 3.5T e 1P Frequência:Semanalmente serão propostos trabalhos aos alunos, que serão entregues até hora e
Leia maisAnálise Sintática II. Eduardo Ferreira dos Santos. Outubro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 34
Análise Sintática II Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Outubro, 2016 1 / 34 Sumário 1 Introdução 2 Ambiguidade 3 Análise sintática descendente 4
Leia maisNHI Lógica Básica (Lógica Clássica de Primeira Ordem)
NHI2049-13 (Lógica Clássica de Primeira Ordem) página da disciplina na web: http://professor.ufabc.edu.br/~jair.donadelli/logica O assunto O que é lógica? Disciplina que se ocupa do estudo sistemático
Leia maisAndamento da apresentação
Andamento da apresentação 1 Discussão informal Linguagem formal Abreviaturas Exemplos de linguagens de primeira ordem Variáveis livres e ligadas; substituição de variáveis Teoremas de unicidade de representação
Leia maisAnálise Sintática I. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 42
Análise Sintática I Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Abril, 2017 1 / 42 Sumário 1 Introdução 2 Derivações 3 Ambiguidade 4 Análise sintática descendente
Leia maisLógica Computacional (CC2003)
Lógica Computacional (CC2003) Nelma Moreira Lógica Computacional 21 Conteúdo 1 Mais Teorias (decidíveis) 1 1.1 Resolução para a lógica proposicional................ 4 1.2 Cláusulas...............................
Leia maisLógica. Cálculo Proposicional. Introdução
Lógica Cálculo Proposicional Introdução Lógica - Definição Formalização de alguma linguagem Sintaxe Especificação precisa das expressões legais Semântica Significado das expressões Dedução Provê regras
Leia maisCálculo proposicional
O estudo da lógica é a análise de métodos de raciocínio. No estudo desses métodos, a lógica esta interessada principalmente na forma e não no conteúdo dos argumentos. Lógica: conhecimento das formas gerais
Leia maisLógica Computacional
Lógica Computacional Lógica de Operadores Booleanos Interpretações Tautológicas, Lógicas e Analíticas Funcionalidade / Tabelas de Verdade dos Operadores Booleanos Consequências Tautológica, Lógica e Analítica
Leia maisAula 6: Dedução Natural
Lógica para Computação Primeiro Semestre, 2015 DAINF-UTFPR Aula 6: Dedução Natural Prof. Ricardo Dutra da Silva Em busca de uma forma de dedução mais próxima do que uma pessoa costuma fazer, foi criado
Leia mais1 Lógica de primeira ordem
1 Lógica de primeira ordem 1.1 Sintaxe Para definir uma linguagem de primeira ordem é necessário dispor de um alfabeto. Este alfabeto introduz os símbolos à custa dos quais são construídos os termos e
Leia maisJOÃO NUNES de SOUZA. LÓGICA para CIÊNCIA da COMPUTAÇÃO. Uma introdução concisa
JOÃO NUNES de SOUZA LÓGICA para CIÊNCIA da COMPUTAÇÃO Uma introdução concisa 21 de maio de 2008 1 A linguagem da Lógica Proposicional Introdução Alfabeto da Lógica Proposicional Definição 1.1 (alfabeto)
Leia maisLógica Proposicional. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo
Lógica Proposicional Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação aculdade de Tecnologia de São Paulo Motivação IA IA estuda estuda como como simular simular comportamento
Leia maisApesar de não ser um modelo de análise lingüística tão conhecido como GRAMÁTICA CATEGORIAL ATRAVÉS DE ESTRUTURA DE CARACTERÍSTICAS
GRAMÁTICA CATEGORIAL ATRAVÉS DE ESTRUTURA DE CARACTERÍSTICAS Luiz Arthur Pagani * Introdução Apesar de não ser um modelo de análise lingüística tão conhecido como a Gramática Gerativa, ou mesmo como alguns
Leia maisTodos os pássaros têm pena. Nem todos os passáros voam. Todo inteiro primo maior que dois é ímpar
O que procuramos? Todos os pássaros têm pena. Nem todos os passáros voam. Todo inteiro primo maior que dois é ímpar Pode ser tratado no cálculo sentencial, o qual não captura toda estrutura da sentença.
Leia maisAula 2: Linguagem Proposicional
Lógica para Computação Primeiro Semestre, 2015 Aula 2: Linguagem Proposicional DAINF-UTFPR Prof. Ricardo Dutra da Silva Linguagens naturais, como o nosso Português, podem expressar ideias ambíguas ou imprecisas.
Leia maisLambda Cálculo e Programação Funcional. Programação Funcional Bacharelado em Sistemas de Informação Maio
Lambda Cálculo e Programação Funcional Programação Funcional Bacharelado em Sistemas de Informação Maio - 2009 Alonzo Church (1903 1995) Professor em Princeton, EUA (1929 1967) e UCLA (1967 1990) Inventou
Leia maisProcedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens
Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens 1 Introdução Estudar computação do ponto de vista teórico é sinônimo de caracterizar
Leia maisLógica Computacional
Lógica Computacional Modus Ponens e Raciocínio Hipotético Introdução e eliminação da Implicação e da Equivalência Completude e Coerência do Sistema de Dedução Natural 24 Outubro 2016 Lógica Computacional
Leia maisDedução Natural para Lógica Proposicional
Dedução Natural para Lógica Proposicional Matemática Discreta I Rodrigo Ribeiro Departamento de Ciências Exatas e Aplicadas Universidade de Federal de Ouro Preto 11 de dezembro de 2012 Motivação (I) Considere
Leia maisA diculdade da denição de palavra. Luiz Arthur Pagani (UFPR)
A diculdade da denição de palavra (UFPR) 1 sentença maior unidade gramatical: A frase é a maior unidade de descrição gramatical. [1, p. 180] sentença sem distribuição: a noção de distribuição que se baseia
Leia mais01/09/2014. Capítulo 1. A linguagem da Lógica Proposicional
Capítulo 1 A linguagem da Lógica Proposicional 1 Introdução O estudo da Lógica é fundamentado em: Especificação de uma linguagem Estudo de métodos que produzam ou verifiquem as fórmulas ou argumentos válidos.
Leia maisCentro Universitário do Triângulo
Centro Universitário do Triângulo Cálculo Lambda 1. Introdução A elaboração de modelos de computação (resolução de problemas por uma máquina) baseia-se em trabalhos de dois pesquisadores com enfoques bastante
Leia maisSintaxe Denição inicial. Luiz Arthur Pagani (UFPR)
Sintaxe Denição inicial (UFPR) 1 1 Introdução primeira denição: língua: A sintaxe é o estudo dos princípios e dos processos por meio dos quais as sentenças são construídas em línguas partuculares. O estudo
Leia mais3 AULA. Valorações e Tabelas de Verdade LIVRO. META: Apresentar tabelas de verdade para classificar proposições lógicas.
1 LIVRO Valorações e Tabelas de Verdade META: Apresentar tabelas de verdade para classificar proposições lógicas. OBJETIVOS: Ao fim da aula os alunos deverão ser capazes de: Aplicar valorações de um conjunto
Leia maisIMPRESSÕES LINGÜÍSTICAS SOBRE DUAS
IMPRESSÕES LINGÜÍSTICAS SOBRE DUAS AXIOMATIZAÇÕES PARA A GRAMÁTICA CATEGORIAL * Linguistic impressions on two axiomatizations for Categorial Grammar Luiz Arthur Pagani ** INTRODUÇÃO No presente texto,
Leia maisLinguagens de Programação e Programação Funcional
Linguagens de Programação e Programação Funcional GSI004 Aula 01* Faculdade de Computação UFU *baseada nos slides do Professor Paulo Henrique Ribeiro Gabriel 30 de setembro de 2014 GSI004 Aula 01 30 de
Leia maisLógica Computacional
Lógica Computacional Nelma Moreira Departamento de Ciência de Computadores da FCUP Lógica Computacional Aula 1 http://www.dcc.fc.up.pt/~nam/web/teaching/lc2015/ index.html Cursos: LCC, MIERSI e (como Lógica
Leia mais5 Implementação do Corretor de Programas
Implementação do Corretor de Programas 67 5 Implementação do Corretor de Programas 5.1 Introdução Para validar as idéias expostas anteriormente, faz-se necessário implementar um corretor de programas com
Leia maisProgramação em Lógica. UCPEL/CPOLI/BCC Lógica para Ciência da Computação Luiz A M Palazzo Maio de 2010
Programação em Lógica UCPEL/CPOLI/BCC Lógica para Ciência da Computação Luiz A M Palazzo Maio de 2010 Roteiro Introdução Conceitos Básicos Linguagens Lógicas Semântica de Modelos Semântica de Prova Programação
Leia mais1 Postulado de Church-Turing 1
1 Postulado de Church-Turing 1 Alguns modelos alternativos no estudo da computabilidade Turing: Máquina de Turing Gödel-Kleene: Funções recursivas Church: Cáluculo λ (funções definidas por termos λ) Post:
Leia maisDedução Natural LÓGICA APLICADA A COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto
Dedução Natural LÓGICA APLICADA A COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Dedução Natural 3. Lista Um dos objetivos principais da lógica é o estudo de estruturas
Leia maisA Lógica de Primeira Ordem
Capítulo 10 A Lógica de Primeira Ordem A Lógica de Primeira Ordem: A necessidade de uma linguagem mais expressiva O cálculo proposicional possui limitações com respeito a codificação de sentenças declarativas.
Leia maisLinguagens de Programação Funcional
Linguagens de Programação Funcional Conceitos de Linguagens de Programação Pedro Libório Setembro de 2013 2 Roteiro Introdução Funções matemáticas Fundamentos das linguagens de programação funcionais A
Leia maisLógica Matemática 1. Semana 7, 8 e 9. Material Previsto para três semanas
Lógica Matemática 1 Semana 7, 8 e 9. Professor Luiz Claudio Pereira Departamento Acadêmico de Matemática Universidade Tecnológica Federal do Paraná Material Previsto para três semanas Implicação e equivalência
Leia maisLógica predicados. Lógica predicados (continuação)
Lógica predicados (continuação) Uma formula está na forma normal conjuntiva (FNC) se é uma conjunção de cláusulas. Qualquer fórmula bem formada pode ser convertida para uma FNC, ou seja, normalizada, seguindo
Leia maisUniversidade Estadual De Santa Cruz (UESC)
Universidade Estadual De Santa Cruz (UESC) CET087 - Conceitos de Linguagem de Programação Prof. Dr. Marcelo Ossamu Honda Departamento de Ciências Exatas e Tecnológicas (DCET) mohonda.uesc(at)google(.)com
Leia maisFundamentos de Lógica Matemática
Webconferência 6-29/03/2012 Introdução à Lógica de Predicados Prof. L. M. Levada http://www.dc.ufscar.br/ alexandre Departamento de Computação (DC) Universidade Federal de São Carlos (UFSCar) 2012/1 Introdução
Leia maisMódulo II: Implementação do λ-calculus
Módulo II: Implementação do λ-calculus 0 Módulo II: Implementação do λ-calculus MCC - 2 o ano José Bernardo Barros (jbb@di.uminho.pt) José Carlos Bacelar Almeida (bacelar@di.uminho.pt) Departamento de
Leia maisEXERCÍCIOS DE PROGRAMAÇÃO EM LÓGICA
FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO EXERCÍCIOS DE PROGRAMAÇÃO EM LÓGICA LUÍS PAULO REIS DANIEL CASTRO SILVA MESTRADO INTEGRADO EM ENGENHARIA INFORMÁTICA E COMPUTAÇÃO PROGRAMAÇÃO EM LÓGICA
Leia maisDedução Natural e Sistema Axiomático Pa(Capítulo 6)
Dedução Natural e Sistema Axiomático Pa(Capítulo 6) LÓGICA APLICADA A COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Dedução Natural 3. Sistemas axiomático Pa 4. Lista
Leia maisLógica e Programação - Folha de trabalho n. 7
Os exercícios 1, 2, 5, 6, 7, 8 e 12 são de Alguns Problemas de Prolog, Miguel Filgueiras, Pedro Ribeiro DCC-FCUP 2004-2006. Todos os exercícios são para ser resolvidos em linguagem Prolog. 1 Listas 1 Define
Leia maisLógica e prova de resolução Marco Henrique Terra
Lógica e prova de resolução Marco Henrique Terra Introdução à Inteligência Artificial Introdução n Este capítulo trata de lógica. l Inicialmente discute-se se a notação empregada em lógica. l Depois mostra-se
Leia maisLógica Proposicional (Consequência lógica / Dedução formal)
Faculdade de Tecnologia Senac Pelotas Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Matemática Aplicada Prof. Edécio Fernando Iepsen Lógica Proposicional (Consequência lógica /
Leia maisMundos sucientes e tempo, aula 2 de Aulas Informais de Semântica Formal (Bach 1987) Luiz Arthur Pagani
Mundos sucientes e tempo, aula 2 de Aulas Informais de Semântica Formal (Bach 1987) Luiz Arthur Pagani 1 Que tipo de estrutura de modelos é apropriada ou adequada para as línguas naturais? (p. 15) gramática
Leia mais3 Cálculo Proposicional
3 Cálculo Proposicional O Cálculo Proposicional é um dos tópicos fundamentais da Lógica e consiste essencialmente da formalização das relações entre sentenças (ou proposições), de nidas como sendo frases
Leia maisMétodos de Verificação
Método de Na construção de derivações no sistema de cálculo de sequentes: Na aplicação de cada regra, só a manipulação referente à fórmula principal é informativa. A cópia dos contextos revela-se assim
Leia maisVariáveis e Memória. Revisão. Conceitos. Operações sobre a memória
Variáveis e Memória Revisão Estudamos, na Introdução, que os programas de computador implementam algoritmos, os quais manipulam um conjunto de dados para produzir um resultado. O algoritmo é um conjunto
Leia maisAnálise Sintática. Eduardo Ferreira dos Santos. Outubro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 18
Análise Sintática Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Outubro, 2016 1 / 18 Sumário 1 Introdução 2 Derivações 2 / 18 1 Introdução 2 Derivações 3 /
Leia maisProf. A. G. Silva. 06 de outubro de Prof. A. G. Silva Programação em Lógica 06 de outubro de / 1
Programação em Lógica Prof. A. G. Silva 06 de outubro de 2016 Prof. A. G. Silva Programação em Lógica 06 de outubro de 2016 1 / 1 Gramáticas Processamento de linguagens naturais é um dos principais usos
Leia maisComputação efectiva. Que linguagens podem ser reconhecidas por algum tipo de autómato?
Computação efectiva Que linguagens podem ser reconhecidas por algum tipo de autómato? O que é ser computável? Que linguagens são computáveis? Existem linguagens que não são computáveis? Isto é, existem
Leia maisEspaços quase topológicos: o caso em que cada conjunto fechado é também aberto. Introdução. Hércules de A. Feitosa, Mauri C.
Espaços quase topológicos: o caso em que cada conjunto fechado é também aberto Hércules de A. Feitosa, Mauri C. do Nascimento, Departamento de Matemática, FC, UNESP, 17033-360, Bauru, SP E-mail: haf@fc.unesp.br,
Leia maisA linguagem da Lógica de Predicados. (Capítulo 8) LÓGICA APLICADA A COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto
A linguagem da Lógica de Predicados (Capítulo 8) LÓGICA APLICADA A COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Contextualização 2. Definições 3. Exemplos 4. Lista 3 O que não é
Leia maisAula 12: Lógica de Predicados
Lógica para Computação Primeiro Semestre, 2015 Aula 12: Lógica de Predicados DAINF-UTFPR Prof. Ricardo Dutra da Silva Vamos estender a lógica proposicional para torná-la mais expressiva. Na lógica proposicional,
Leia maisJuliana Kaizer Vizzotto. Universidade Federal de Santa Maria. Disciplina de Teoria da Computação
Universidade Federal de Santa Maria Disciplina de Teoria da Computação Quais são as capacidades e limitações fundamentais dos computadores? Funções Computáveis Algoritmo: descrição finitade uma computação
Leia maisTrabalho Prático 2 Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas
Disciplina: Algoritmos e Estrutura de Dados I CIC / 9 Trabalho Prático Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas Valor:,5 pontos (5% da nota total) Documentação não-latex: -, pontos Impressão
Leia maisLógica Computacional
Aula Teórica 2: Sintaxe da Lógica Proposicional António Ravara Simão Melo de Sousa Departamento de Informática, Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa Departamento de Informática,
Leia maisAlfabeto da Lógica Proposicional
Ciência da Computação Alfabeto da Lógica Sintaxe e Semântica da Lógica Parte I Prof. Sergio Ribeiro Definição 1.1 (alfabeto) - O alfabeto da é constituído por: símbolos de pontuação: (, ;, ) símbolos de
Leia maisCOMPILAÇÃO. Ricardo José Cabeça de Souza
COMPILAÇÃO Ricardo José Cabeça de Souza www.ricardojcsouza.com.br Programas Código-fonte escrito em linguagem de programação de alto nível, ou seja, com um nível de abstração muito grande, mais próximo
Leia maisPAPEL. Utilização do (analisador sintáctico) PEN para extracção de informação das denições de um dicionário
PAPEL Palavras Associadas Porto Editora Linguateca Utilização do (analisador sintáctico) PEN para extracção de informação das denições de um dicionário Hugo Gonçalo Oliveira, Paulo Gomes Linguateca, pólo
Leia mais2 AULA. Conectivos e Quantificadores. lógicas. LIVRO. META: Introduzir os conectivos e quantificadores
1 LIVRO Conectivos e Quantificadores Lógicos META: Introduzir os conectivos e quantificadores lógicos. OBJETIVOS: Ao fim da aula os alunos deverão ser capazes de: Compreender a semântica dos conectivos
Leia mais