Programação em logica, prolog e restriçõs : poder de expressão v.s. eficiencia

Detalhes bibliográficos
Ano de defesa: 1991
Autor(a) principal: Cohn, Paulo Gomide
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: [s.n.]
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: 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. 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: 25 abr. 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. 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: 25 abr. 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: 25 abr. 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_ 1797405239960141824