Programação em logica, prolog e restriçõs : poder de expressão v.s. eficiencia
Autor(a) principal: | |
---|---|
Data de Publicação: | 1991 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) |
Texto Completo: | https://hdl.handle.net/20.500.12733/1575513 |
Resumo: | Orientadores: Antonio E. Costa Pereira, Tomasz Kowaltowski |
id |
UNICAMP-30_c3d530c6d96779cdbd4ac5276995c9df |
---|---|
oai_identifier_str |
oai::31811 |
network_acronym_str |
UNICAMP-30 |
network_name_str |
Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) |
repository_id_str |
|
spelling |
Programação em logica, prolog e restriçõs : poder de expressão v.s. eficienciaProgramação lógicaProgramação orientada a objetos (Computação)Orientadores: Antonio E. Costa Pereira, Tomasz KowaltowskiDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica Estatistica e Ciencia da ComputaçãoResumo: Apresenta-se inicialmente uma introdução à programação em lógica através de uma abordagem evolutiva. Começando de um sistema formal de primeira ordem bastante complexo, descreve-se o conceito de prova de teoremas e sua automação. A partir daí apresenta-se a idéia de eficiência da prova. Os principais avanços obtidos durante o século XX nesta área são apontados, dando-se ênfase ao princípio de resolução de Robinson. Ao restringir a linguagem do sistema formal às sentenças de Horn, obtem-se uma grande melhora da eficiência do mecanismo de prova, preservando razoável poder de expressão. Alguns problemas relativos à expressividade da linguagem são apontados assim como formas em que têm sido abordados na atualidade. Uma delas é a programação por restrições. Na segunda parte do trabalho é apresentada a implementação de um interpretador/sistema de execução para a linguagem Prolog. A partir de uma especificação breve, de alto nivel, são introduzidos, incrementalmente, os detalhes de implementação de nivel mais baixo (estruturas de dados, controle de execução) até se obter um programa puramente procedimental escrito numa linguagem convencional (C). Finalmente, os conceitos de programação por restrições mencionados no inicio do trabalho são apresentados de forma mais detalhada para que se possa ter uma visão mais clara do seu funcionamento na prática. Assim, adotando uma abordagem semelhante à utilizada para descrever o compilador Prolog, é apresentado um interpretador de alto nivel para programas de restrições e, após alguns refinamentos, é obtido um conjunto de instruções que pode ser implementado numa linguagem de programação convencional.Abstract: An introduction to logic programming is initially presented by means of an evolutionary approach. Starting with a fairly complex first order formal system, the concepts of theorem proving and its automatization are described. From there the idea of proof efficiency is presented. The most significant advances obtained during the 20th century in this area are pointed out emphasizing Robinson's resolution principle. Restraining the formal system's language to Horn sentences, a major improvement of the proof mechanism is obtained, preserving reasonable expressive power. Some problems related to language expressiveness and the ways in which they have been recently approached are shown. One of these approaches is constraint programming. In the second part of the work, the implementation of an interpreter/runtime system for the Prolog language is shown. From a brief, high-level specification, lower-level implementation details (data structures, execution control) are introduced until a purely procedural program written in a conventional language (C) is obtained. Finally, the contraint programming concepts mentioned in the first part are presented in a more detailed form in order to allow for a clearer vision of how it works in practice. Thus, by means of an approach similar to that used to describe the Prolog compiler, a high-level interpreter for constraint programs is presented and, after some refinements, an instruction set that may be implemented in a conventional programming language is obtained.MestradoMestre em Ciência da Computação[s.n.]Pereira, Antonio Eduardo Costa, 1948-Kowaltowski, Tomasz, 1942-Pereira, Antonio E. CostaUniversidade Estadual de Campinas (UNICAMP). Instituto de Matemática, Estatística e Ciência da ComputaçãoPrograma de Pós-Graduação em Ciência da ComputaçãoUNIVERSIDADE ESTADUAL DE CAMPINASCohn, Paulo Gomide19911991-07-18T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdf[106]f. : il.https://hdl.handle.net/20.500.12733/1575513COHN, Paulo Gomide. Programação em logica, prolog e restriçõs: poder de expressão v.s. eficiencia. 1991. [106]f. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica Estatistica e Ciencia da Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1575513. Acesso em: 2 set. 2024.https://repositorio.unicamp.br/acervo/detalhe/31811porreponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)instname:Universidade Estadual de Campinas (UNICAMP)instacron:UNICAMPinfo:eu-repo/semantics/openAccess2022-05-24T16:40:37Zoai::31811Biblioteca Digital de Teses e DissertaçõesPUBhttp://repositorio.unicamp.br/oai/tese/oai.aspsbubd@unicamp.bropendoar:2022-05-24T16:40:37Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)false |
dc.title.none.fl_str_mv |
Programação em logica, prolog e restriçõs : poder de expressão v.s. eficiencia |
title |
Programação em logica, prolog e restriçõs : poder de expressão v.s. eficiencia |
spellingShingle |
Programação em logica, prolog e restriçõs : poder de expressão v.s. eficiencia Cohn, Paulo Gomide Programação lógica Programação orientada a objetos (Computação) |
title_short |
Programação em logica, prolog e restriçõs : poder de expressão v.s. eficiencia |
title_full |
Programação em logica, prolog e restriçõs : poder de expressão v.s. eficiencia |
title_fullStr |
Programação em logica, prolog e restriçõs : poder de expressão v.s. eficiencia |
title_full_unstemmed |
Programação em logica, prolog e restriçõs : poder de expressão v.s. eficiencia |
title_sort |
Programação em logica, prolog e restriçõs : poder de expressão v.s. eficiencia |
author |
Cohn, Paulo Gomide |
author_facet |
Cohn, Paulo Gomide |
author_role |
author |
dc.contributor.none.fl_str_mv |
Pereira, Antonio Eduardo Costa, 1948- Kowaltowski, Tomasz, 1942- Pereira, Antonio E. Costa Universidade Estadual de Campinas (UNICAMP). Instituto de Matemática, Estatística e Ciência da Computação Programa de Pós-Graduação em Ciência da Computação UNIVERSIDADE ESTADUAL DE CAMPINAS |
dc.contributor.author.fl_str_mv |
Cohn, Paulo Gomide |
dc.subject.por.fl_str_mv |
Programação lógica Programação orientada a objetos (Computação) |
topic |
Programação lógica Programação orientada a objetos (Computação) |
description |
Orientadores: Antonio E. Costa Pereira, Tomasz Kowaltowski |
publishDate |
1991 |
dc.date.none.fl_str_mv |
1991 1991-07-18T00:00:00Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://hdl.handle.net/20.500.12733/1575513 COHN, Paulo Gomide. Programação em logica, prolog e restriçõs: poder de expressão v.s. eficiencia. 1991. [106]f. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica Estatistica e Ciencia da Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1575513. Acesso em: 2 set. 2024. |
url |
https://hdl.handle.net/20.500.12733/1575513 |
identifier_str_mv |
COHN, Paulo Gomide. Programação em logica, prolog e restriçõs: poder de expressão v.s. eficiencia. 1991. [106]f. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica Estatistica e Ciencia da Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1575513. Acesso em: 2 set. 2024. |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.relation.none.fl_str_mv |
https://repositorio.unicamp.br/acervo/detalhe/31811 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf [106]f. : il. |
dc.publisher.none.fl_str_mv |
[s.n.] |
publisher.none.fl_str_mv |
[s.n.] |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) instname:Universidade Estadual de Campinas (UNICAMP) instacron:UNICAMP |
instname_str |
Universidade Estadual de Campinas (UNICAMP) |
instacron_str |
UNICAMP |
institution |
UNICAMP |
reponame_str |
Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) |
collection |
Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) |
repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP) |
repository.mail.fl_str_mv |
sbubd@unicamp.br |
_version_ |
1809188708943921152 |