SOBRE AVALIAÇÃO PARCIAL DE META-INTERPRETADORES E GERAÇÃO DE NÚCLEOS ESPECÍFICOS DE SISTEMAS ESPECIALISTA
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 USP |
Texto Completo: | http://www.teses.usp.br/teses/disponiveis/55/55134/tde-27112018-090334/ |
Resumo: | Para facilitar a tarefa de implementação de sistemas, as linguagens de programação devem ter uma maior expressividade. no entanto, o aumento do poder de expressão das linguagens frequentemente diminui a eficiência dos programas desenvolvidos a partir delas. A linguagem Prolog tem um poder de expressão considerável. Além disso, essa expressividade pode ser facilmente aumentada. Porém, esse aumento de expressividade diminui consideravelmente a eficiência de execução. Neste trabalho, são abordados dois métodos para aumentar a eficiência de programas Prolog sem diminuir a expressividade da linguagem. A facilidade de meta-programação é uma característica muito poderosa da linguagem Prolog. No entanto, introduz um nível extra de interpretação durante a execução do programa. Um dos métodos apresentados - a Avaliação Parcial - pode ser utilizada para remover o nível extra de interpretação, viabilizando a utilização de meta-programação - principalmente na implementação de Sistemas Especialistas. Neste trabalho, é discutidoi e implementado um avaliador parcial de meta-interpretadores, além de mostrar como ele pode ser utilizado com diferentes tipos de meta-interpretadores. O outro método abordado - Especialização de Programas - é utilizado para construir programas específicos a partir de um programa geral. Isto é feito retirando-se do programa geral as cláusulas desnecessárias para uma aplicação específica. Neste trabalho, apresenta-se uma implementação onde a Especialização de Programas é utilizada para gerar Núcleos de Sistemas Especialistas específicos a partir de um Núcleo de Sistemas Especialistas geral. |
id |
USP_83fc9d9890c233a9c08487c46b914723 |
---|---|
oai_identifier_str |
oai:teses.usp.br:tde-27112018-090334 |
network_acronym_str |
USP |
network_name_str |
Biblioteca Digital de Teses e Dissertações da USP |
repository_id_str |
2721 |
spelling |
SOBRE AVALIAÇÃO PARCIAL DE META-INTERPRETADORES E GERAÇÃO DE NÚCLEOS ESPECÍFICOS DE SISTEMAS ESPECIALISTANot availableNão disponívelNot availablePara facilitar a tarefa de implementação de sistemas, as linguagens de programação devem ter uma maior expressividade. no entanto, o aumento do poder de expressão das linguagens frequentemente diminui a eficiência dos programas desenvolvidos a partir delas. A linguagem Prolog tem um poder de expressão considerável. Além disso, essa expressividade pode ser facilmente aumentada. Porém, esse aumento de expressividade diminui consideravelmente a eficiência de execução. Neste trabalho, são abordados dois métodos para aumentar a eficiência de programas Prolog sem diminuir a expressividade da linguagem. A facilidade de meta-programação é uma característica muito poderosa da linguagem Prolog. No entanto, introduz um nível extra de interpretação durante a execução do programa. Um dos métodos apresentados - a Avaliação Parcial - pode ser utilizada para remover o nível extra de interpretação, viabilizando a utilização de meta-programação - principalmente na implementação de Sistemas Especialistas. Neste trabalho, é discutidoi e implementado um avaliador parcial de meta-interpretadores, além de mostrar como ele pode ser utilizado com diferentes tipos de meta-interpretadores. O outro método abordado - Especialização de Programas - é utilizado para construir programas específicos a partir de um programa geral. Isto é feito retirando-se do programa geral as cláusulas desnecessárias para uma aplicação específica. Neste trabalho, apresenta-se uma implementação onde a Especialização de Programas é utilizada para gerar Núcleos de Sistemas Especialistas específicos a partir de um Núcleo de Sistemas Especialistas geral.One of the aims of the Fifth Generation Computer Project is to enable the efficient development of complex, large-scale knowledge processing programs, by augmenting the expressive power of programming languages as well as the execution efficiency of programs written in those languages. The logic programming language Prolog - adopted for use in this project - has considerable expressive power itself although does not always provide satisfactory execution efficiency. Meta-programming is a strong paradigm for software development due to its conceptual clatity. A meta program is one which uses another program - the object program - as data. Meta-programming in Prolog is particularly attrative because the object language and the meta language are identical. However, meta programs are inefficient because of layers of interpretation. In this work we present two methods to improve the efficiency of Prolog programs. The first one solves the problem o flayers of interpretation by partial evaluation of metaprograms with respect to object programs. We describe the basic ideas underlying partial, the Prolog implementation of a partial evaluator for Prolog programs and its application to metaprogramming. The difficulties in implementing a general partial evaluator systems for Prolog are also discussed. The second method proposed and implemented in this work to improve the efficiency of Prolog programs, is related to the construction of a more specific program from an existing, general Prolog program. This is a achieved by with drawing clauses that are in the general program but which will never be executed by the more specific program being constructed.Biblioteca Digitais de Teses e Dissertações da USPMonard, Maria CarolinaFranco, João Luiz1991-11-14info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://www.teses.usp.br/teses/disponiveis/55/55134/tde-27112018-090334/reponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USPLiberar o conteúdo para acesso público.info:eu-repo/semantics/openAccesspor2019-04-10T00:06:19Zoai:teses.usp.br:tde-27112018-090334Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212019-04-10T00:06:19Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false |
dc.title.none.fl_str_mv |
SOBRE AVALIAÇÃO PARCIAL DE META-INTERPRETADORES E GERAÇÃO DE NÚCLEOS ESPECÍFICOS DE SISTEMAS ESPECIALISTA Not available |
title |
SOBRE AVALIAÇÃO PARCIAL DE META-INTERPRETADORES E GERAÇÃO DE NÚCLEOS ESPECÍFICOS DE SISTEMAS ESPECIALISTA |
spellingShingle |
SOBRE AVALIAÇÃO PARCIAL DE META-INTERPRETADORES E GERAÇÃO DE NÚCLEOS ESPECÍFICOS DE SISTEMAS ESPECIALISTA Franco, João Luiz Não disponível Not available |
title_short |
SOBRE AVALIAÇÃO PARCIAL DE META-INTERPRETADORES E GERAÇÃO DE NÚCLEOS ESPECÍFICOS DE SISTEMAS ESPECIALISTA |
title_full |
SOBRE AVALIAÇÃO PARCIAL DE META-INTERPRETADORES E GERAÇÃO DE NÚCLEOS ESPECÍFICOS DE SISTEMAS ESPECIALISTA |
title_fullStr |
SOBRE AVALIAÇÃO PARCIAL DE META-INTERPRETADORES E GERAÇÃO DE NÚCLEOS ESPECÍFICOS DE SISTEMAS ESPECIALISTA |
title_full_unstemmed |
SOBRE AVALIAÇÃO PARCIAL DE META-INTERPRETADORES E GERAÇÃO DE NÚCLEOS ESPECÍFICOS DE SISTEMAS ESPECIALISTA |
title_sort |
SOBRE AVALIAÇÃO PARCIAL DE META-INTERPRETADORES E GERAÇÃO DE NÚCLEOS ESPECÍFICOS DE SISTEMAS ESPECIALISTA |
author |
Franco, João Luiz |
author_facet |
Franco, João Luiz |
author_role |
author |
dc.contributor.none.fl_str_mv |
Monard, Maria Carolina |
dc.contributor.author.fl_str_mv |
Franco, João Luiz |
dc.subject.por.fl_str_mv |
Não disponível Not available |
topic |
Não disponível Not available |
description |
Para facilitar a tarefa de implementação de sistemas, as linguagens de programação devem ter uma maior expressividade. no entanto, o aumento do poder de expressão das linguagens frequentemente diminui a eficiência dos programas desenvolvidos a partir delas. A linguagem Prolog tem um poder de expressão considerável. Além disso, essa expressividade pode ser facilmente aumentada. Porém, esse aumento de expressividade diminui consideravelmente a eficiência de execução. Neste trabalho, são abordados dois métodos para aumentar a eficiência de programas Prolog sem diminuir a expressividade da linguagem. A facilidade de meta-programação é uma característica muito poderosa da linguagem Prolog. No entanto, introduz um nível extra de interpretação durante a execução do programa. Um dos métodos apresentados - a Avaliação Parcial - pode ser utilizada para remover o nível extra de interpretação, viabilizando a utilização de meta-programação - principalmente na implementação de Sistemas Especialistas. Neste trabalho, é discutidoi e implementado um avaliador parcial de meta-interpretadores, além de mostrar como ele pode ser utilizado com diferentes tipos de meta-interpretadores. O outro método abordado - Especialização de Programas - é utilizado para construir programas específicos a partir de um programa geral. Isto é feito retirando-se do programa geral as cláusulas desnecessárias para uma aplicação específica. Neste trabalho, apresenta-se uma implementação onde a Especialização de Programas é utilizada para gerar Núcleos de Sistemas Especialistas específicos a partir de um Núcleo de Sistemas Especialistas geral. |
publishDate |
1991 |
dc.date.none.fl_str_mv |
1991-11-14 |
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 |
http://www.teses.usp.br/teses/disponiveis/55/55134/tde-27112018-090334/ |
url |
http://www.teses.usp.br/teses/disponiveis/55/55134/tde-27112018-090334/ |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.relation.none.fl_str_mv |
|
dc.rights.driver.fl_str_mv |
Liberar o conteúdo para acesso público. info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
Liberar o conteúdo para acesso público. |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.coverage.none.fl_str_mv |
|
dc.publisher.none.fl_str_mv |
Biblioteca Digitais de Teses e Dissertações da USP |
publisher.none.fl_str_mv |
Biblioteca Digitais de Teses e Dissertações da USP |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da USP instname:Universidade de São Paulo (USP) instacron:USP |
instname_str |
Universidade de São Paulo (USP) |
instacron_str |
USP |
institution |
USP |
reponame_str |
Biblioteca Digital de Teses e Dissertações da USP |
collection |
Biblioteca Digital de Teses e Dissertações da USP |
repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP) |
repository.mail.fl_str_mv |
virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br |
_version_ |
1815257421169295360 |