Anda di halaman 1dari 5

18/05/2016

ProgramaolgicaWikipdia,aenciclopdialivre

Programaolgica
Origem:Wikipdia,aenciclopdialivre.

Programaolgicaumparadigmadeprogramaoquefazusodalgicamatemtica.John
McCarthy[1958]foioprimeiroapublicarumapropostadeusodalgicamatemticaparaprogramao.
AprimeiralinguagemdeprogramaolgicafoiaPlanner,aqualpermitiaainvocaoorientadaa
padresdeplanosprocedimentaisdeasseresedeobjetivos.Comanecessidadedeadaptaoaos
sistemasdememriamuitolimitada,queeramdisponveisquandoelafoidesenvolvida.Alinguagem
Plannerusavaestruturasdecontroledebacktracking,detalformaqueapenasumnicocaminho
computacionaltinhaqueserarmazenadoporvez.Emseguida,oPrologfoidesenvolvidocomouma
simplificaodoPlannerquepermitiaainvocaoorientadaapadresapenasapartirdeobjetivos
(tambmbaseadoembacktracking).[1]
ApartirdoPlanner,foramdesenvolvidasaslinguagensdeprogramaoQA4,Popler,Conniver,e
QLISP.AslinguagensdeprogramaoMercury,VisualProlog,OzeFrill,foramdesenvolvidasapartir
doProlog.Atualmenteexistemlinguagensdeprogramaolgicaconcorrente(nobaseadasem
backtracking)derivadasdoPlanner(porexemplo,aEther)ederivadasdoProlog(verShapiro1989para
umapanhadogeral).

ndice
1 Histria
2 Basenalgicamatemtica
3 Prolog
3.1 Negaoporfalha
3.2 Implementaes
4 Limitaesdousodalgicamatemticaparaaprogramao
5 Programaolgicaconcorrente
6 Programaolgicalinear
7 Domniosdasaplicaes
8 Referncias
9 Vertambm
10 Ligaesexternas

Histria
Aprogramaolgicaumaidiaquetemsidoinvestigadanocontextodaintelignciaartificialpelo
menosdesdeomomentoemqueJohnMcCarthy[1958]props:"programasparamanipularcom
sentenasinstrumentaiscomunsapropriadaslinguagemformal(muitoprovavelmenteumapartedo
clculodepredicado)".Oprogramabsicoformarconclusesimediatasapartirdeumalistade
premissas.Essasconclusesserotantosentenasdeclarativasquantoimperativas.Quandouma
sentenaimperativadeduzida,oprogramatomaumaaocorrespondente.[2]

https://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_l%C3%B3gica

1/5

18/05/2016

ProgramaolgicaWikipdia,aenciclopdialivre

Algicadeprogramaotemcomoobjetivorealizarfunesouesquemaslgicospormeiode
parmetrosemetas.

Basenalgicamatemtica
Osentidodaprogramaolgicatrazeroestilodalgicamatemticaprogramaodecomputadores.
Matemticosefilsofosencontramnalgicaumaferramentaeficazparadesenvolvimentodeteorias.
Vriosproblemassonaturalmenteexpressoscomoteorias.Dizerqueumproblemaprecisadesoluo
frequentementeequivaleaperguntarseumanovahipteseconsistentecomumateoriaexistenteouse
conseqnciadela.Algicaproporcionaumamaneiradedemonstrarseumaquestoverdadeiraou
falsa.
Oprocessodeconstruirumademonstraobemconhecido,portantoalgicaummeioconfivelde
responderperguntas.Sistemasdeprogramaolgicaautomatizamesteprocesso.Ainteligncia
artificialteveumainflunciaimportantenodesenvolvimentodaprogramaolgica.

Prolog
AlinguagemdeprogramaoPrologfoiexplicitamenteapresentadacomobaseadanalgica
matemtica.AbasedessaalegaoeraqueumprogramaPrologpodialiteralmenteserlidocomoum
conjuntodefrmulasemumfragmentodalgicadeprimeiraordem,herdandoomodelodeteoriae
demonstraodalgicadeprimeiraordem.
Prologfoidesenvolvidaem1972porAlainColmerauer.ElaveiodeumacolaboraoentreColmerauer
emMarselhaeRobertKowalskiemEdinburgo.Colmerauerestavatrabalhandonacompreensoda
linguagemnatural,usandolgicapararepresentarsemnticaseusandoresoluoparaquestionamento
resposta.Duranteoverode1971,ColmerauereKowalskidescobriramqueaformaclausaldalgica
poderiaserusadapararepresentargramticasformaisequedemonstraesdoteoremadaresoluo
poderiaserusadoparaanlisegramatical.Elesobservaramquealgumasdemonstraesdeteoremas,
comoodahiperresoluo,comportavamsecomoanalisadoresascendenteseoutros,comoresoluo
SL(1971),comportavamsecomoanalisadoresdescendentes.
Duranteoseguinteverode1972,Kowalski,novamentetrabalhandocomColmerauer,observouque
resoluoSLtrataclusulasuniversalmentequantificadasnaformadeclarativadeimplicaes
B1eeBnimplicaH

comoprocedimentosdeobjetivoreduoparamostrar/resolverH,mostrar/resolverB1eeBn.
Essainterpretaodupladeclarativa/procedimentaldepoisfoiformalizadananotaodoProlog
H:B1,,Bn.

quepodeserlida(eusada)tantodeclarativamentecomoprocedimentalmente.Tornousetambmclaro
quetaisclusulaspoderiamserrestringidasparadefinirclusulasouclusulasdeHorn,emqueH,B1,,
Bnsotodosospredicadosatmicos,equeresoluoSLpoderiaserrestrita(egerada)paraLUSHou
resoluoSLD.

https://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_l%C3%B3gica

2/5

18/05/2016

ProgramaolgicaWikipdia,aenciclopdialivre

Colmerauer,comPhilippeRoussel,usouessainterpretaodupladeclusulasassimcomoabasedo
Prolog,aqualfoiimplementadanoveroeoutonode1972.Oprimeiroprogramanalinguagem,
tambmescritoem1972eimplementadoemMarseille,foiumsistemafrancsdeperguntaresposta.A
interpretaoprocedimentaldeKowalskieLUSHfoidepoisdescritaemummemorandoem1973,
publicadoem1974.
Arelaoprximaentreinterpretaodeclarativaeprocessualresultanumacaractersticatpicadas
linguagensdeprogramaolgica,emboraarelaosetornemaiscomplexaquandohnegao,
disjunoeoutrosquantificadoressopermitidosemprogramas.

Negaoporfalha
MicroPlannerteveumaconstruo,chamada"thnot",quequandoaplicadaaumaexpressoretornao
valorverdadeirose(esomentese)aavaliaodaexpressofalha.Umoperadorequivalente
normalmenteconstrudoemimplementaesdoPrologmodernoetemsidochamado"negaopor
falha".Elenormalmenteescritocomonot(p),ondepumtomocujasvariveisforamnormalmente
instanciadasnomomentoquenot(p)invocado.Umasintaxemaiscomplexa(maspadro)\+p.
Literaisdenegaoporfalhapodemocorrercomocondiesnot(Bi)nocorpodasclusulasdo
programa.
Aindaqueincompleta,aregradenegaocomofalhaumaslidaregradeinferncia(sobcertas
restries)respeitandoaconclusodeumprograma.Conclusodeumprogramalgicofoiinicialmente
definidaporKeithClarkbasicamenteassemelhavaseaconsideraroconjuntodetodasasclusulasdo
programa,comomesmopredicado,doladoesquerdo,
H:Corpo<sub>1</sub>

H:Corpo<sub>k</sub>

Comoumanicafrmulaequivalente
H[[sse]](Corpo<sub>1</sub>ououCorpo<sub>k</sub>)

Escreverocompletamentotambmrequerousoexplcitodepredicadodeigualdadeeainclusodeum
conjuntodeaxiomasapropriadosporigualdade.Anoodeconclusoestreitamenterelacionada
tcnicadecircunscriodeMcCartyparadesenvolverumraciocnionomonotnico,easuposiode
ummundofechado.
Comoumaalternativaparasemnticasdecompletamento,negaoporfalhatambmpodeser
interpretadaepistemologicamente,assimcomonasemnticademodeloestveldoconjuntoderespostas.
Nestainterpretao,not(Bi)significaliteralmentequeBinoconhecidoounoacreditado.A
interpretaoepistmicatemavantagemquepodesercombinadamuitosimplesmentecomanegao
clssica,assimcomona"lgicadeprogramaoestendida",paraformalizarfrasescomo"ocontrrio
nopodesermostrado",onde"contrario"estanegaoclssicae"quenopodesermostrado"a
interpretaoepistmicadanegaoporfalha.

Implementaes

https://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_l%C3%B3gica

3/5

18/05/2016

ProgramaolgicaWikipdia,aenciclopdialivre

AprimeiraimplementaodoPrologfoiaMarseilleProlog,desenvolvidaem1972.OusodoProlog
comoumalinguagemdeprogramaoprticateveseupicecomodesenvolvimentodeumcompilador
porDavidWarrenemEdinburgo,em1977.AlgunsexperimentosdemonstraramqueoEdinburghProlog
podiacompetircomavelocidadedeprocessamentodeoutraslinguagensdeprogramaosimblicatais
comoLisp.OEdinburghPrologtornouseopadrodefactoeinfluenciouadefiniodePrologpadro
ISO.

Limitaesdousodalgicamatemticaparaaprogramao
JohnMcCarthypropsquealgicamatemticafosseusadacomoofundamentoparaaepistemologiade
sistemasdecomputadores.SobalideranadeMarvinMinskyeSeymourPapert,umaabordagem
diferentebaseadaemprocedimentosprocessuaisfoidesenvolvidanoMIT.QuandooPlannerfoi
desenvolvido,levantouseoaquestosobreorelacionamentoentreasduasabordagens.
RobertKowalskidesenvolveuateseque"computaopodeconcebidadeduo"teveboaaceitaoao
citaroslogan"acomputaoumadeduocontrolada,"queeleatribuiuaPatHayesemseuartigode
1988noinciodahistriadoProlog.AocontrriodeKowalskieHayes,CarlHewittdesenvolveuatese
dequeadeduolgicaeraincapazdeexecutarcomputaoconcorrenteemsistemasabertos.A
respostaquestosobrearelaoentreasabordagenslgicaeprocedimentalqueaabordagem
procedimentaltemumasemnticamatemticadiferente(versemnticadenotacional)dasemnticada
lgicamatemtica(verteoriadosmodelos).

Programaolgicaconcorrente
KeithClark,HervGallaire,SteveGregory,VijaySaraswat,UdiShapiro,KazunoriUeda,etc.
desenvolveramumafamliadesistemasconcorrentesdepassagemdemensagensdotipoProlog,usando
unificaodevariveiscompartilhadasefluxodeestruturadedadosparamensagens.Esforosforam
feitosparabasearessessistemasemlgicamatemtica,eelasforamusadascomoabaseparaoProjeto
JaponsdaQuintaGeraodeComputadores.
Comoomodelodeatores,ossistemascomoPrologconcorrentesobaseadosempassagemde
mensagenseconseqentementeestavamsujeitosmesmaindeterminao.Estafoiabasedeum
argumentodeCarlHewitteGulAgha[1998]sugerindoqueossistemascomPrologconcorrentenem
eramdedutivosnemlgicos.
Diversospesquisadoresestenderamaprogramaolgicacomascaractersticasdaprogramaode
ordemsuperiorderivadasdalgicadeordemsuperior,taiscomovariveisdepredicado.Taislinguagens
incluemasextensesdoPrologHiLogeProlog.

Programaolgicalinear
Basearaprogramaolgicanalgicalinearresultounoprojetodelinguagensdeprogramaolgica
quesoconsideravelmentemaiscustosasdoqueaquelasbaseadasnalgicaclssica.Programascom
clusulasdeHorn(Prolog)podemapenasrepresentarumamudanadeestadopelamudanaem
argumentosparapredicados.Naprogramaolgicalinear,podeseusaralgicalinearcomoambiente
paradarsuportemudanadeestado.Algunsprojetosiniciaisdaslinguagensdeprogramaolgica
baseadasnalgicalinear,incluemLO[Andreoli&Pareschi,1991],Lolli[Hodas&Miller,1994],ACL
[Kobayashi&Yonezawa,1994],eForum[Miller,1996].OFrumproporcionaainterpretao
direcionadaaobjetivosdetodaalgicalinear.
https://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_l%C3%B3gica

4/5

18/05/2016

ProgramaolgicaWikipdia,aenciclopdialivre

Domniosdasaplicaes
Sistemaespecialista,emqueoprogramageraumarecomendaoourespostaparaummodelo
grandedodomniodeaplicao.
Demonstraoautomatizadadeteorema,emqueoprogramagerateoremas,estendendoos
existentesnocorpodateoria.

Referncias
1.Xavier,GleyFabianoCardoso(2007).'Lgicade
programao'(SoPaulo:Senac).p.25.
ISBN8573595256.
2.ABE,JairMinoroSILVAFILHO,JooIncioda.
'Fundamentosdasredesneuraisartificiais

'Fundamentosdasredesneuraisartificiais
paraconsistentes'.destacandoaplicaesem
neurocomputao(SoPaulo:Arte&
Cinciapgina=321).ISBN8574730424.

Vertambm
Linguagemdeprogramao
Mtodosformais
Paradigmadeprogramao
Programaofuncional

Ligaesexternas
BibliografiasdeProgramaolgica(http://liinwww.ira.uka.de/bibliography/LogicProgramming/)
(emingls)
AssociationforLogicProgramming(ALP)(http://www.cs.kuleuven.be/~dtai/projects/ALP/)(em
ingls)
PrticaeteoriadaProgramaoLgica(http://www.cs.kuleuven.be/~dtai/projects/ALP/TPLP/)
(emingls)
Obtidade"https://pt.wikipedia.org/w/index.php?title=Programao_lgica&oldid=44201220"
Categorias: Paradigmasdeprogramao Lgica
Estapginafoimodificadapelaltimavez(s)13h34minde14dedezembrode2015.
EstetextodisponibilizadonostermosdalicenaCreativeCommonsAtribuioCompartilha
Igual3.0NoAdaptada(CCBYSA3.0)podeestarsujeitoacondiesadicionais.Paramais
detalhes,consulteasCondiesdeUso.

https://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_l%C3%B3gica

5/5