Upload
hatuyen
View
228
Download
0
Embed Size (px)
Citation preview
ExercíciosdacadeiradeInteligênciaArtificial
HelenaSofiaPintoJoãoCachopo
DanielGonçalvesCarlosLopesAntónio
InêsLyncePedroMatos
Ano Lectivo 2001/2002
1
Prefácio
EstedocumentoreúneosexercíciospropostosnasaulaspráticasdacadeiradeInteligênciaArtificialdaLicenciaturadeEngenhariaInformáticaedeComputadoresdo InstitutoSuperiorTécnico.Estacompilaçãodestina-seaserusadanareferidacadeirano anolectivo 2001/2002.Alguns destesexercícioscorrespondemà traduçãode exercíciospropostosno livro de texto basedacadeira:� StuartRussele PeterNorvig, Artificial Intelligence:A ModernApproach, Englewood-Cliff,
N.J.:Prentice-Hall,1995.
Semprequetal severifiqueapareceassociadoao númerodo exercícioumaindicaçãodo númeroqueo exercíciotemno referidolivro.O exercício9.1foi retiradodo livro:� C-L. Change R.C-T. Lee, SymbolicLogic and Mechanical Theorem Proving, New-York,
N.Y.: AcademicPress,1973.
H. SofiaPinto(editora)
1 LISP 2
1 Lisp
Exercício 1.1EscrevaasseguintesexpressõesemnotaçãoLisp, considerandoaprioridadenormaldasoperações:
1. 5 + 76 - 8
2. 17- 45* 23
3. (17 - 45) * 23
4. 23- 57* 34 / 687
5. 15* 7 + 48 / 5 * 10 + 8 / 4
Exercício 1.2Quaisosresultadosobtidosaoavaliar asseguintesexpressõesno seuambienteLisp:
1. (and (= 3 4) (< 3 4) (> 3 4))
2. (or (= 3 4) (< 3 4) (> 3 4))
3. (and (+ 3 4) (- 3 4) (* 3 4))
4. (or (+ 3 4) (- 3 4) (* 3 4))
Exercício 1.3Definaa funçãomax querecebedoisnúmerosedevolve o maiordeles.
>(max 5 9)9
Exercício 1.4Definaa funçãomax3 querecebetrêsnúmerosedevolve o maiordeles:
1. Utilizando if ’s.
2. Utilizandocond .
3. Utilizandoa funçãomax definidano exercícioanterior.
Exercício 1.5Definaafunçãosoma querecebedoisnúmerosinteirosnãonegativoseretornaasuasoma.Apenaspodeusarrecursão,a formaespecialif easfunções1+, 1- ezerop .
> (soma 3 4)7
1 LISP 3
Exercício 1.6Definaafunçãopotencia querecebedoisnúmerosecalculao valordeelevaro primeiro(abase)aosegundo(o expoente).Assumaqueo expoenteésempreum inteiro>= 0.
> (potencia 3 2)9>(potencia 5/10 3)1/8>(potencia (/ 1 3) 3)1/27
Exercício 1.7Qualo resultadodasexpressõesseguintes:
>(cons 2 ())
>(cons nil nil)
>(cons ’(1 2 3) ’(a b c))
>(cons 1 ’(1 2 3))
>(first ’(1 2 3))
>(rest ’(1 2 3))
>’(+ 1 2 3)
>(list 1 2 3)
>(list ’a ’b ’c)
>(list 1 (+ 1 2 3) 3)
>(list 1 ’(+ 1 2 3) 3)
>(append ’(1 2 3) ’(a b c))
Exercício 1.8Definaa funçãosoma-1 querecebeumalista de númerose retornaumalista de númeroscujoselementossãooselementosdalistaargumentoadicionadosdeumaunidade.
>(soma-1 ’(1 2 3))(2 3 4)
Exercício 1.9Definaa funçãosoma-n querecebeum número,n, e umalista denúmerose retornaumalista denúmeroscujoselementossãooselementosdalistaargumentoadicionadosden.
>(soma-n 3 ’(1 2 3))(4 5 6)
1 LISP 4
Exercício 1.10Porexemplo,paraproduzira lista (1 2 3) devemosintroduzirno avaliador:
>’(1 2 3)
Escreva expressõesno avaliadordeformaaproduzirosseguintesresultados:
1. ’(1 2 3)
2. (1 ’2 3)
3. ((1 2 3) (3 5) (8))
Exercício 1.11Tentequeo avaliadorretornea lista ((1 2 3) (3 5) (8)) usandoparatal apenasa funçãocons , nileosnúmeros.
Exercício 1.12Definaafunçãocomprimento querecebeumalistadeelementoseretornao númerodeelemen-tosdessalista.
>(comprimento ’(1 2 3))3
Exercício 1.13Definaa funçãojunta querecebeduaslista deelementose retornaa lista resultantede juntaraprimeiraàsegundalista.
>(junta ’(a b c) ’(1 2 3))(a b c 1 2 3)
Exercício 1.14Definaafunçãoinverte querecebeumalistadeelementoseretornaumalistacomoselementosdalista argumentopelaordeminversa.
>(inverte ’(a b c))(c b a)
Exercício 1.15Definaa funçãomembro querecebeum elementoe umalista deelementose retornaverdadeseoelementopertenceà listae falsoemcasocontrário.
>(membro ’d ’(a b c))nil>(membro ’c ’(a b c))t
1 LISP 5
Exercício 1.16Definaafunçãoretira querecebeumelementoeumalistadeelementoseretornaumalistaquecorrespondeà listaargumentoàqualforamretiradastodasasocorrênciasdo elemento.
>(retira ’c ’(c a b c))(a b)
Exercício 1.17Defina a funçãoconta-ocorre nci as que recebeum elementoe uma lista de elementoseretornao númerodevezesqueesseelementoocorrenalistaargumento.
>(conta-ocorr encia s ’d ’(a b c))0>(conta-ocorr encia s ’c ’(a b c))1>(conta-ocorr encia s ’c ’(c a b c))2
Exercício 1.18Definaa funçãoigual-comprim ent o querecebeduaslista deelementose retornaverdadeseambasaslistastiveremigual comprimentoe falsocasocontrário.Nãopodeusara funçãolengthou umafunçãoauxiliar equivalentea length.
> (igual-compri mento ’(0) ’(1))T>(igual-compr im ent o ’(1 2) ’(1 2 3))NIL
Exercício 1.19Definaa funçãoposicao querecebeum elementoe umalista deelementose devolve a posiçãoemqueo elementoocorrenalista (sendoa primeiraposiçãoa zero).Seo elementonãoexistir nalistadevolve NIL.
>(posicao 5 ’(1 2 3))NIL>posicao 3 ’(1 2 3))2>(posicao 2 ’(1 2 3 2 1 2))1>(posicao ’defun ’(defun xpto (ola) (+ ola 3)))0
Exercício 1.20Definaa funçãosubstitui querecebedoiselementoseumalistadeelementosedevolve a listacomtodasasocorrênciasdo primeiroelementosubstituídaspelosegundo.
>(substitui 5 7 ’(1 2 3))(1 2 3)>(substitui 3 5 ’(1 2 3))(1 2 5)>(substitui 2 7 ’(1 2 3 (2) 1 2))(1 7 3 (2) 1 7)>(substitui ’xpto 4 ’(defun xpto (ola) (+ ola 3)))(defun 4 (ola) (+ ola 3))
1 LISP 6
Exercício 1.21Definaafunçãointerseccao querecebeduaslistassemelementosrepetidosedevolveumalistaquecontémtodososelementosemcomumnasduaslistas.Sugestão:Utilize a funçãomember doCommonLisp.
>(interseccao ’(14 52 37 28) ’(28 76 12 52))(28 52)>(interseccao ’(xpto zky bdo) ’(pois XPTO ola))(xpto)>(interseccao ’(xpto zky bdo) ’(fred zyc ola))NIL
Exercício 1.22Qualo valor daseguinteexpressão:
>(let ((x 10))(+ (let ((x 20))
x)x))
Exercício 1.23Definaa funçãoprofundidade querecebeumalista e devolve um númeroqueindicaqualé onivel maisprofundodelistasdentrodessalista,aumentandodeumsemprequeseentraparadentrodeumalista. Sea listanãocontémlistasdevolve 0.
>(profundidad e ’(1 2 3))0>(profundidad e ’(1 2 (3 ((4) (5 (6))))))4
Exercício 1.24Definaa funçãoconta-todos querecebeumelementoeumalistaedevolve o númerodevezesqueo elementoocorrenalistaenassuassublistas.
>(conta-todos 5 ’(1 2 3))0>(conta-todos 3 ’(1 2 3))1>(conta-todos 2 ’(1 ((2) 3 2) ((1 2))))3
Exercício 1.25Definaa funçãomapeia querecebeumafunçãodeum argumentoeumalistaedevolve umalistaquecontémosresultadosdeaplicara funçãoacadaum doselementosdalista.
>(mapeia #’1+ ’(1 2 3))(2 3 4)
1 LISP 7
Exercício 1.26Definaa funçãoremove-se querecebeumafunçãode teste(de um argumento)e umalista eretornaa lista quecorrespondeà lista argumentoà qual foram retiradostodosos elementosqueverificama funçãodeteste.
>(remove-se #’(lambda (n) (> n 5)) ’(1 2 3 4 5 6 7 8 9))(1 2 3 4 5)
Exercício 1.27Definaa funçãotodos? querecebeumalista de elementose umafunçãode teste(de umaar-gumento)e retornaverdadese todosos elementosda lista verificam a funçãoe falso em casocontrário.
>(todos? ’(1 2 3 4 5 6 7 8 9) #’(lambda (n) (> n 5)))nil>(todos? ’(1 2 3 4) #’(lambda (n) (< n 5)))t
Exercício 1.28Definaa funçãoreduza querecebeumafunçãoe uma lista. A lista deve ter pelo menosdoiselementos.A funçãoé chamadainicialmenteparaos dois primeiroselementosda lista, depoisentreesseresultadoeo elementoseguintedalistae assimsucessivamente.
>(reduza #’+ ’(1 2 3 4))10>(reduza #’* ’(1 2 3 4))24>(reduza #’intersecca o ’((b l a d) (b a d) (r a t)))(A)
Exercício 1.29Definaafunçãosoma-matrizes querecebeduastabelade2 dimensões(x, y) deigual tamanhoarbitrárioe retornaoutratabelaquecorrespondeàsomadasduastabelas.
Exercício 1.30Definaa funçãotranspoe querecebeumatabelade2 dimensões(x, y) detamanhoarbitrárioeretornaoutratabelaquecorrespondeà transposiçãodatabelarecebidaemargumento.
Exercício 1.31Definaa funçãodiagonal querecebeumatabelade2 dimensões(x, y) detamanhoarbitrárioeretornaverdadeseestaéumatabeladiagonale falsoemcasocontrário.
Exercício 1.32Definaa funçãocopy-array-2 -d im querecebeumatabelabidimensionaldetamanhoarbitrá-rio e retornaumacópiadessatabela.
1 LISP 8
Exercício 1.33Usandoestruturas:
1. Definaumaestruturaquerepresentainformaçãosobreum modelodecarro. Considerequeummodeloécaracterizadoporumamarca,designação,potência,cilindradaeextras.
2. Definaumaestruturaveículoquerepresentainformaçãosobreum veículo. Considerequeesteécaracterizadoporumamatrícula,anoderegistoeum modelodecarro.
3. Crieumveículodematrícula12-34-AB,anoderegisto1900,marcaRolls-Royce,designaçãoSilver-Ghost,300Cv depotência,20000cm
�decilindradaesemextras.
4. Escrevaumafunçãoveiculo-cilind rad a querecebeumveículoeretornaacilindradadesseveículo.
Exercício 1.34Considereo clássicojogo do galo,numtabuleiro de3x3, emquehádois jogadoresrepresentadosporX eporO respectivamente.
1. Definaumaestruturaestado quecontenhaaseguinteinformação:
(a) Um campotabuleiro : arrayde3x3 querepresentao tabuleiro do jogo. Cadaposi-çãoconteráo símboloX, O ou NIL, consoantetenhaumapeçado jogadorrespectivoou nenhumapeça.
(b) Um campoproximo : irá contero símboloX ou O consoanteo próximo jogadorajogar.
2. Definaa funçãocria-estado quedevolve umainstânciada estruturado tipo estado ,devidamenteinicializada,emqueo primeirojogadoréo X.
3. Considereaseguintefunção:
> (defun joga (est x y)(cond ((or (< x 0) (< y 0) (> x 2) (> y 2)) nil)
(T (setf (aref (estado-tabule ir o est) x y)(estado-proxim o est)(estado-proxim o est)(if (eql (estado-proxi mo est) ’X)
’O’X))
est)))
(a) Digaqualo resultadoobtidopelaseguinteexpressão:
> (let ((est (cria-estado)) )(let ((est2 (joga est 1 1)))
est2))
(b) Obteriao mesmoresultadocomaexpressãoseguinte?Porquê?
> (let ((est (cria-estado))(est2 (joga est 1 1)))
est2)
1 LISP 9
4. Imagineagoraquepretentedefinir a funçãojoga deformanão-destrutiva, isto é,apósexe-cutarest2,estadeveráficar como novo estadoe estcomo estadooriginal, nãoalterado.Afunçãoseguinteresolve o nossoproblema?Casoestafunçãonãoresolva o nossoproblemadigao quefalhouecomoo poderíamosresolver?
(defun joga (est x y)(cond ((or (< x 0) (< y 0) (> x 2) (> y 2)) nil)
(T (let ((novo-est (copy-estado est)))(setf (aref (estado-tabule ir o novo-est) x y)
(estado-proxim o novo-est)(estado-proxim o novo-est)(if (eql (estado-proxi mo novo-est) ’X)
’O’X))
novo-est))))
Exercício 1.35Considereaseguintefunção:
> (defun misterio (n1)#’(lambda (x n2)
(cond ((eql x ’d) (setf n1 (+ n1 n2)))((and (eql x ’l) (<= n2 n1)) (setf n1 (- n1 n2)))((and (eql x ’l) (> n2 n1)) ’nao-tem-sufi ci ent e)(t ’operacao-des con hecid a)) ))
MISTERIO
1. Expliqueo quefaza funçãomistérioedêexemplosdasuautilização.
2. Explique o que aconteceem cadapassose as seguintesexpressõesLisp forem avaliadasdepoisda definiçãoda funçãomistério. Diga qual o valor retornadoem cadapassodessasequência.
> (setf minha (misterio 200))
> (funcall minha ’l 100)
> (funcall minha ’lav 0)
> (funcall minha ’l 0)
> (funcall minha ’l 200)
> (funcall minha ’d 100)
> (funcall minha ’d 0)
> (funcall minha ’d 200)
1 LISP 10
Exercício 1.36Definaa funçãoeleva , queeleva um númeroa umadeterminadapotência.Sea potêncianãoforindicadadeveráserconsiderada2.
> (eleva 3)9> (eleva 3 4)81
Exercício 1.37Definaumavariaçãodafunçãoanterior, eleva* , queelevaumnúmeroaumadeterminadapotên-cia emquedeixadesernecessáriosaberaordemdosseusargumentos.
> (eleva* :base 3 :expoente 4)81
Exercício 1.38Definaafunçãofaz-lista querecebequalquernúmerodeargumentosedevolveumalistacomtodoseles.
> (faz-lista 1 2 3 4)(1 2 3 4)
2 AGENTES 11
2 Agentes
Exercício 2.1(Livro - 2.5-2.11)Considereo mundodo robôaspirador:
PercepçõesCadaagenteaspiradorrecebepercepçõescompostaspor informaçãoprovenientedetrêssensores:� o sensorde toquequetemo valor 1 casoo robô tenhacolidido comalgoe 0 emcaso
contrário,� o fotosensorquetemovalor1casoexistasujidadenaposiçãoemqueo robôseencontrae0 emcasocontrário,� e o sensorde infravermelhosque tem o valor 1 se o robô estánumacasaespecial,designada“home”, e0 emcasocontrário.
Acções O robôpodeefectuar5 acções:andaremfrente,virar 90�
paraa direita,virar 90�
paraaesquerda,aspiraredesligar-se.
Objectivos O objectivo do robô é limpar o ambientee voltar à casa“home”. De forma maisprecisa,a funçãodedesempenhosoma100pontosporsujidadeaspirada,subtrai1 pontoporcadaacçãoefectuadae subtrai1000pontosseo robônãoseencontrana casa“home” e sedesliga.
Ambiente O ambienteconsistenumagrelhadequadrados.Algunsquadradospodemter obstácu-los (mobília ou paredes)e outrosnão(openspace).Alguns quadradostêm sujidade.Cadaacçãode forwardavançaum quadradonadirecçãoparao qualo robôestáviradoa nãoserqueexistaumobstáculonessequadrado.Nessecasoo sensordetoquepassaaovalor1. Umaacçãodeaspirarlimpa todaa sujidadedessequadrado.As acçõesdevirar fazemcomqueorobômudea direcçãoparao qualestáviradomantendo-seno mesmoquadrado.A acçãodedesligarterminaasimulação.
A complexidadedo ambientevariasegundo3 dimensões:� forma da sala- No casomaissimplesé um quadradonXn com n fixo. Pode-secomplicarmudando-oparaa formarectangular, irregular, sériedesalasunidasporcorredores,etc.� mobilia - Pôrmobíliatornao ambientemaiscomplexo doqueseestivervazio.Parao sensordetoqueumaparedeou umapeçademobíliaaparecemcomo mesmovalor.� distribuiçãoda sujidade- No casomaissimplesestádispostauniformementeao longo dasala. Em ambientesmaisrealistasconcentra-seem algumaslocalizações(ao longo de umcaminhoparaasalaseguinte,emfrentedeumsofá,etc.).
Normalmente,a casa“home” é o quadradosuperioresquerdoe no início da simulaçãoo robôencontra-senacasa“home” viradoparaadireita.
1. ImplementeemANSI CommonLisp o agenteguiadopor tabelasparaumasalade2x2 semmobília ondeno máximo2 quadradostêm sujidade. O robô estávirado paraa direita noquadrado“home”. Reparequenesteambienteo robôpodecompletara suatarefa emnoveoumenosacções.Qualo tamanhodatabelaqueimplementaesteagente?
2. ImplementeemANSI CommonLisp o tipo abstractopercepçãoquecorrespondeà informa-çãorecebidaporesteagentedosseussensores:
(a) usandolistas
2 AGENTES 12
(b) usandoestruturas
3. ImplementeemANSI CommonLisp o agentedereflexossimplesparao ambientedaalíneaanterior. Quaisosobjectivosquetêmdeserignorados?Porquê?
4. O queaconteceseo ambientedesteagentedereflexossimplespassaraserde3x3?
5. ReimplementeemANSI CommonLisp o agentede reflexossimplesde formaa nãoter osproblemasencontradosnaalíneaanterior.
6. ImplementeemANSI CommonLisp um simuladordo ambientedo robô aspiradorde mo-do a queos agentesdefinidosnasalíneasanteriorespossamser testados.Suponhaqueoambienteé um rectânguloquetem paredesà volta da suafronteirae tem comodimensõesalturaXlargura.A distribuiçãodasujidadeéuniformeaolongodo ambiente.
7. Implementeem ANSI CommonLisp um agentede reflexos com estadointernoem queoagenteapenassabequeasdimensõesdo ambienteemqueseencontrasãoalturaXlarguraequeno início seencontranacasa“home” usualviradoparaadireita.
Exercício 2.2Considereum robô quetrabalhanumalinha de montagem.Esterobô tem dois sensoresquelhepermitemsaberrespectivamentesenasuafrenteestáou nãoumaporcae senasuafrenteestáounãoumparafuso.
1. DefinaemANSI CommonLisp umaestruturapercepçãoparaesserobot.
2. Crie a percepçãoqueo robô receberácasotenhana suafrenteumaporcae nãotenhaumparafuso.
3. Crie a percepçãoqueo robôreceberácasotenhanasuafrenteum parafusoe nãotenhaumaporca.
4. Crieapercepçãoqueo robôreceberácasotenhanasuafrenteumparafusoeumaporca.
5. Definaa funçãotem-tudo querecebeumapercepçãoe retornaverdadeseo robôtiver umparafusoe umaporcanasuafrentee falsocasocontrário.
6. Quefunçõesforamautomaticamentecriadasparamanipularapercepção?Digaquaisosseusnomesedescreva o quefazem.
Exercício 2.3Considereumamáquinaautomáticadefazercafé.Apósa introduçãodeumdeterminadomontanteo utenteprime um botãoo qual vai fazercom que o robô de fazercafé recebaum percepção.Suponhaqueapercepçãodo robôdefazercaféédadapelaseguinteestrutura:
(defstruct percepcao(quantia 0) ; o montante introduzido pelo utente(tem-agua NIL) ; T se existe água para fazer pelo menos
; um café(tem-cafe NIL)) ; T se existe café moído para fazer pelo
; menos um café
Casoa quantiasejamenorqueum determinadovalor (*valor* ), nãoexistaáguaou cafémoídoparafazerpelomenosumcaféo robôtemcomoacçãodevolvero dinheiroaoutente,casocontráriotemcomoacçãofazero café.
2 AGENTES 13
1. ImplementeesteagenteemANSI CommonLisp.
2. Digaquetipo deagentesetrata.Justifique.
Exercício 2.4Considereumamáquinaautomáticadefazercafé.Apósa introduçãodeumdeterminadomontanteo utenteprimeum botãoo qualvai fazercomqueo robôdefazercaférecebaumapercepção.A percepçãodo robô de fazercafécontéminformaçãoprovenientede trêssensores.O primeirosensorcontéminformaçãosobreo montanteintroduzidopelo utente. O segundosensorcontéminformaçãosobreo tanquede água. Se o tanquede águaestácheio o sensorretornaT e se otanquede águanãoestácheioretornaNIL . Quandoo tanquede águaestácheioo robô de fazercafésabequetemáguasuficienteparafazer100cafés.O terceirosensorcontéminformaçãosobreo reservatório de cafémoído. Seo reservatório de cafémoídoestácheioo sensorretornaT e sereservatóriodecafémoídonãoestácheioretornaNIL . Quandoo reservatóriodecafémoídoestácheioo robô de fazercafésabeque tem cafésuficienteparafazer200 cafés. Quandoo robô éinstaladoo tanquedeáguaeo reservatóriodecafémoídosãocheios.Quandoo robôrecebeumapercepção,casoa quantiasejamenorqueum determinadovalor, nãoexista águaou café moído parafazerpelo menosum café o robô tem como acçãodevolver odinheiroaoutente,casocontráriotemcomoacçãofazero café.
1. O robôdescritoacimapodeserconsideradoum agente.Digaporquê.
2. Digadequetipo deagentesetrata.Justifique.
3. DefinaemANSI CommonLisp umaestruturapercepçãoparaesteagente.
4. DefinaumafunçãoemANSI CommonLisp quedevolve agentescomo comportamentodorobôdefazercafé.
Exercício 2.5Considereum agenteassociadoaum sensornumafábricadebrinquedos.O sensordetectaquandoé queum bonecopassoupelapassadeira.O agenterecebeinformaçãodo sensore quandotiverempassado10 bonecosemitea acçãodeempacotar.
1. Digadequetipo deagentesetrata.Justifique.
2. DefinaemANSI CommonLisp umaestruturapercepçãoparaesteagente.
3. DefinaumafunçãoemANSI CommonLisp quedevolve agentesdo tipo descrito.Enquantonãotiver passadoo númeroadequadodebonecoso agentetemaacçãodenãofazernada.
3 PROCURANÃO INFORMADA 14
3 Procura não informada
Exercício 3.1Considereo seguinteespaçodeestadosemqueo estadoinicial é o nó A e osestadosfinaissãoosnósF, I eJ :
A
4
12 2
3
2
B C D
E F G
I
H
J
3
3 1
1
Admitindo queemcasodeempateossucessoressãoexpandidospor ordemalfabética,desenheaárvoregeradaeassinaleaordemdeexpansãodeumaprocuracomumaestratégia:
1. deprofundidadeprimeiro,
2. delarguraprimeiro,
3. decustouniforme(o custodetransiçãoé o inteiroqueestárepresentadoaoladodosarcos),
4. deprofundidadelimitadacomlimite=3,
5. deprofundidadeiterativa.
Exercício 3.2Um vendedorquervisitar ascidadesdo mapasempassarduasvezespelamesmacidade(e semvoltarà cidadedeorigem).
Lisboa
Faro
Porto VilaReal
Viseu
200
300
750
350
200
150
150
A cidadedepartidaéLisboa.Emcasodeempateentredoisnósescolhao nóporordemalfabética.
1. Escolhaumaformulaçãoadequadaparao problema.
3 PROCURANÃO INFORMADA 15
2. Desenhea árvore de procurageradae assinalea ordemde expansãode umaprocuracomumaestratégia:
(a) deprofundidadeprimeiro,
(b) delarguraprimeiro,
(c) decustouniforme,
(d) deprofundidadelimitada,escolhendoo limite apropriado,
(e) deprofundidadeiterativa.
Exercício 3.3Considereo problemadasvasilhas.Dispomosde duasvasilhas,com capacidadesde 3 e 5 litros.Inicialmenteasvasilhasestãovaziase pretendemosmedirumacertaquantidadedeágua.As acc-çõesquepodemosexecutarsão:� enchertotalmentecadaumadasvasilhas;� vertero conteúdodeumavasilhanoutra,atéaprimeiraficar vaziaou asegundacheia;� deitarfora todoo conteúdodeumavasilha.
Pararesolver esteproblemautilizandoosalgoritmosdeprocuraestudadosvamosusara seguinterepresentaçãoemLisp parao estadodo problema:
(defstruct estado(v3 0) ; líquido existente na vasilha de 3 litros(v5 0)) ; líquido existente na vasilha de 5 litros
As funçõesqueimplementamosoperadoresparaesteproblema(encher-v3 , encher-v5 , v3->v5 , v3<-v5 , esvaziar-v3 , esvaziar-v5 ) recebemumaestruturado tipo estadoe devol-vemumalista comumanova estruturaqueresultadeaplicaresseoperador, ou entãoa lista vazia,seo operadornãofor aplicável. Porexemplo,paraum estadoemquea vasilhade trêslitros estávaziae a vasilhade cinco litros tem quatrolitros, o operadoresvaziar-v3 devolve nil e ooperadorv3<-v5 devolve umalista comum estadoemquea primeiratemtrêslitros e a segundaum litro.
1. Definaasfunçõesencher-v3 , v3<-v5 eesvaziar-v5 .
2. Definaafunçãosucessoresquedadoumestadodevolve todosossucessoresdesseestado(ouseja,o resultadodeaplicartodososoperadores).
3. Dadaaseguintedefiniçãodeumproblema:
(defstruct problemaestado-inicialfn-objectivo? ; predicado que identifica o estado soluçãofn-sucessores)
Definaafunçãocria-problema querecebedoisnúmeros:aquantidadedeáguadesejadaparaasvasilhasdetrêsecincolitros, respectivamente.A funçãodevedevolverumaestruturadotipo problema correctamenteinicializadademodoarepresentaro problemacujoestadoinicial tem asduasvasilhasvaziase cujo estadofinal tem asvasilhascom asquantidadesindicadasnosargumentosdafunção.
4 PROCURAINFORMADA 16
4 Procura informada
Exercício 4.1Considereo seguinteespaçodeestadosemqueo estadoinicial é o nó A e osestadosfinaissãoosnósF, I eJ :
A
4
12 2
3
2 1
2
0
2
B
0
C D
E F G
I
H
J
2
3
1
0
7 1
3 1
1
Ocustodetransiçãoéo inteiroqueestárepresentadoaoladodosarcoseovalordafunçãoheurísticaéo inteiroqueseencontraaoladodo respectivo nó.Admitindo queemcasodeempateossucessoressãoexpandidospor ordemalfabética,desenheaárvoregerada,indicandoo valordafunçãodeavaliação
�paracadanógeradoenumerandoosnós
pelaordememquesãoexpandidos,porumaprocuracomumaestratégia:
1. gananciosa,
2. A � ,3. IDA � .
Exercício 4.2Considereo seguinteespaçode estados,em queos valoresdosramoscorrespondemao custodatransiçãoeosdosnóssereferemà funçãoheurística.
A
D E F
G
1
41 2
4
3 1
042
0
6
2
CB
1. A heurísticaéadmissível?Justifique.
2. Considereque nós com o mesmovalor de�
sãoexpandidosda esquerdaparaa direita.Desenheaárvoredeprocuragerada,indicandoo valordafunçãodeavaliação
�paracadanó
geradoe numerandoosnóspelaordememquesãoexpandidos,por umaprocuracomumaestratégia:
4 PROCURAINFORMADA 17
(a) gananciosa,
(b) A � ,(c) IDA � .
Exercício 4.3Considereo exercício3.2.
1. Suponhaquea heurísticaa utilizar é igual aoprodutodo comprimentomédiodoscaminhos(200Km) pelo númerode cidadesque falta percorrer. A heurísticapropostaé adequada?Porquê?Casoconsiderequeelanãoéadequadaproponhaumanova heurística.
2. Considereagorauma variaçãodo exercício 3.2. O objectivo é ir de Lisboa a Vila Real.Considereaseguinteheurística:� h(Lisboa)= 300� h(Lisboa-*)= 150
� h � Lisboa-*-** ���
se** Vila Real� ���casocontrário
Desenhea árvoregerada,indicandoo valor dafunçãodeavaliação�
paracadanó geradoenumerandoosnóspelaordememquesãoexpandidos,porumaprocuracomumaestratégia:
(a) gananciosa,
(b) A � ,(c) IDA � .
5 PROCURACOM DOIS AGENTES 18
5 Procura com doisagentes
Exercício 5.1Considerequeaárvoreseguintecorrespondea umapartedo espaçodeestadosdeum jogodedoisagentes.
f=6
f=6f=4
f=1 f=8
f=9f=8
f=5
1. Desenhea árvore geradapor uma procuraminimax na árvore acima,da esquerdaparaadireita,utilizando
�comofunçãodeavaliaçãodosnósterminais.Mostreo valor decadanó
e indiqueo caminhoqueseráescolhidoparajogar(previsãoobtidapelaprocura).
2. Desenhea árvore geradapor uma procuraalfa-betana árvore acima,da esquerdaparaadireita, utilizando
�como funçãode avaliaçãodos nós terminais. Mostre os valoresde e � paracadanó não terminal que sejavisitado, assinalecom um traço os ramosque
forameliminadosporum corte(“cutoff ”) e indiqueo caminhoqueseráescolhidoparajogar(previsãoobtidapelaprocura).
3. Desenheaárvoregeradaporumaprocuraalfa-betanaárvoreacima,dadireitaparaaesquer-da,utilizando
�comofunçãodeavaliaçãodosnósterminais.Mostreosvaloresde e � para
cadanónãoterminalquesejavisitado,assinalecomumtraçoosramosqueforameliminadospor um corte(“cutoff ”) e indiqueo caminhoqueseráescolhidoparajogar(previsãoobtidapelaprocura).
Exercício 5.2Considerequeaárvoreseguintecorrespondea umapartedo espaçodeestadosdeum jogodedoisagentes.
5 PROCURACOM DOIS AGENTES 19
f=10
f=10
f=10f=12
f=4
f=11 f=5f=3
f=5
f=3f=20
f=10 f=15
Desenhea árvore geradapor umaprocuraalfa–betana árvore acima,da esquerdaparaa direita,utilizando
�comofunçãodeavaliaçãodosnósterminais.Indiqueaoladodecadanó nãoterminal
visitadoosrespectivosvaloresdealfaebeta;escureçaosnósterminaisvisitados;marqueoscortesporum traço;e indiquequala jogadaescolhida.
Exercício 5.3(Livro — 5.1)Considereo jogodoGalo:
1. Desenheo espaçodeestadosatéà profundidade2, começandopelo tabuleiro vazioe tendoemcontaassimetrias(doistabuleirossimétricoscorrespondemaomesmoestado).
2. Assumindoque ��� ( ��� ) representao númerode linhas,colunasou diagonaiscomexacta-menten X’s (O’s) enenhumO (X), apliqueo algoritmominimaxàárvoredaalíneaanteriorutilizandoa funçãodeavaliaçãoseguinte:� f( � � =1) = 1� f( � � =1) = -1� f(outroestadofinal) = 0� f(outroestado)= 3��� + ��� - (3��� + ��� )
3. Marqueosnósdo nível 2 quenãoseriamavaliadossetivessesido aplicadaa procuraalfa-beta,assumindoqueosnóseramgeradossegundoaordemqueoptimizaoscortes.
Exercício 5.4Considerequeaárvoreseguintecorrespondea umapartedo espaçodeestadosdeum jogodedoisagentes.
5 PROCURACOM DOIS AGENTES 20
maximizanteNo´
h = 3f = 7
f = 2 f = 7 f = 4h = 3h = 5h = 2
f = 5h = 1
h = 2f = 7
h = 2f = 3
h = 6f = 9
h = 4f = 6
h = 4f = 3
h = 5 h = 2f = 9
h = 4f = 8
h = 3 h = 1 h = 5 h = 6f = 8 f = 8 f = 9 f = 9
h = 2f = 5
h = 3f = 4
h = 2f = 3
h = 1f = 1
h = 3f = 4
h = 8f = 2
h = 5f = 7
h = 1f = 9
h = 4f = 8
f = 9
f = 9h = 4
Façaumaprocuraalfa-betanaárvoreacima,comumaprofundidademáximaigual a4 eutilizandoa funçãoh comoheurísticade selecçãodo próximo sucessora serexaminadoe a funçãof comoheurísticade avaliaçãodosnósterminais.Mostreosvaloresde e � paracadanó nãoterminalquesejavisitado, escureçacadanó terminal quesejavisitado, assinalecom um traçoos ramosqueforameliminadospor um corte(“cutoff ”) e indiqueo caminhoqueseráescolhidoparajogar(previsãoobtidapelaprocura).
6 LÓGICA PROPOSICIONAL 21
6 Lógica proposicional
Exercício 6.1Considereaproposiçãoseguinte:“Quandoo Miguel temdinheirovai aocinemaou aocirco”.
1. Represente-aemLP edescreva quala interpretaçãoutilizada.
2. Indiqueum modelo.
3. Diga se correspondea uma proposiçãoválida, satisfazívelou não satisfazível. Justifiquerecorrendoaumatabeladeverdade.
Exercício 6.2(Livro — 6.2)Usandotabelasdeverdademostrequeasproposiçõesseguintessãoválidas.
1. ������� ��!"�$#%�&�'�(�)�*�(!2. ���(�+#,�-�(�3. �+./�+#102�3.,02�4. 0$02�+#,�5. �+./�+#102�546�
Exercício 6.3(Livro — 6.12)Considereosfactosseguintes:� Jones,SmitheClarktêmasprofissõesdeprogramador, engenheirodoconhecimentoegestor
(nãonecessariamenteporestaordem);� Jonesdeve $10aoprogramador;� A mulherdo gestorproibe-odepedirdinheiroemprestado;� Smithnãoécasado.
1. Represente-osem LP. Utilize apenasnove símbolosproposicionaisrepresentandoaspossí-veisatribuiçõespessoa/profissão.Porexemplo,podeutilizar o símboloJPparaindicarqueoJonesé programador.
2. Quala profissãodecadaum?Respondaà perguntagerandoa tabeladeverdadeparaasseiscombinaçõespossíveis de atribuiçõespessoa/profissãoe verificandoqueexiste apenasummodeloparaasproposiçõesdaalíneaanterior.
6 LÓGICA PROPOSICIONAL 22
Exercício 6.4Considereo circuito digital seguinte:
A
BC
E
P1
P2
D
1. Enumereos símbolosproposicionaispararepresentaros estadospossíveis dasentradasesaídasdasváriasportaslógicas.
2. Representeo funcionamentodo circuitoemLP, assumindoqueoselementosqueo constitu-emnãotêmqualquerproblema.
3. Utilizandoumatabeladeverdade,digaqualo valor desaídado circuito quandoasentradasA, B eD tomamosvalores1, 1 e0, respectivamente.
4. Supondoagoraqueo circuitopodeteralgumaavaria,introduzimosdoissímbolosproposicio-naispararepresentarobomfuncionamentodasportasP1eP2:OK1 eOK2,respectivamente.Utilizandoestesnovossímbolos,redefinaasfórmulasquerepresentamo funcionamentodocircuito.
5. Observou-sequeasentradasA, B eD têmosvalores1, 1 e1, respectivamente,masasaídaEtemo valor 0. Certamentealgumadasportasestáavariada.Utilizandoasfórmulasdaalíneaanterior, gerea tabeladeverdadepor formaaconseguir diagnosticarascausaspossíveis.
7 LÓGICA PRIMEIRA ORDEM 23
7 Lógica primeira ordem
Exercício 7.1Usandoosseguintespredicados:� membro(x, y) - ’x’ émembrode’y’� bomGosto(x) - ’x’ tembomgosto� aluno(x, y) - ’x’ éalunodacadeira’y’� gravou(x, y) - ’x’ gravou ’y’� tem(x, y) - ’x’ tem’y’� trabalhador(x) - ’x’ é trabalhador� joga(x, y) - ’x’ jogao jogo ’y’
1. RepresenteasseguintesproposiçõesemLógicadePrimeiraOrdem:
(a) QuemémembrodaLEIC ouquemtembomgostoéalunodacadeiradeIA.
(b) Quemgravou o TETRIStemessejogoe tembomgosto.
(c) Quemtemo TETRISjoga-o.
(d) TodososalunosdacadeiradeIA trabalhadoresjogamTETRIS.
2. Reescreva-asnaformadeHorn.
Exercício 7.2Represente,emLógicadePrimeiraOrdem,asseguintesproposições:
1. O queé interessantenãoémonótono.
2. Existemfilmesinteressantes.
3. A duraçãodo“Gonewith thewind” émaiordoqueaduraçãodo “Castaway”.
4. OsfilmesqueaMãedaMaria vê sãointeressantes.
5. Nemtodososfilmesgrandessãomonótonos.
6. Existemfilmesquetodaagentevê.
Representeestasproposiçõesescolhendodeformaadequadaasconstantes,ossímbolosdefunçãoeossímbolosdepredicadoautilizar e refiraasescolhasefectuadas.
Exercício 7.3Escreva, em Português,as seguintesproposiçõesrepresentadasem Lógica de PrimeiraOrdem,considerandoque:
�87 �&9;:=<>� - x lê y� Domínio: Todasaspessoase livros.
1. ?@9BAC< 7 �&9;:=<>�
7 LÓGICA PRIMEIRA ORDEM 24
2. A><>?@9 7 �&9;:=<>�3. ?@9D� 7 �=EGFIHJFJ:K9L�C���MA><*�K�N<PO+EGFIHJF��RQS0 7 �N<T:U9L�K�V�K�4. ?@9WA><X0 7 �&9;:Y<>�5. 0�Z?B9BA>< 7 �&9;:Y<[�K�6. ?\<*�K�Z?B92� 7 �&9;:Y<>�Y�K�LQ]�NA_^C� 7 �&^>:Y<[�V�K�K�7. A_92� 7 �&9;:K`Ra@b�!���cI�RQ 7 �&9;:K`Ra@bd!e�Wf��K�
Exercício 7.4Represente,emLógicadePrimeiraOrdem,asseguintesproposições:
1. Algunslivrossãointeressantes.
2. Oslivrosdeestudosãograndes.
3. NemtodososlivrosestãoescritosemPortuguês.
4. Quemnãogostadenenhumlivro é inculto.
5. Hápessoasquelêemexactamenteumlivro porano.
6. Todososestudantesgostamdealgumlivro.
7. Existeum livro dequetodososestudantesgostam.
8. O númerodepáginasdaBíblia émaiorqueo númerodepáginasdo AIMA.
8 MODUSPONENSGENERALIZADO 25
8 Modus PonensGeneralizado
Exercício 8.1Considereo exercício7.3.
1. Acrescenteaproposição“A Maria gravouo TETRIS” àbasedeconhecimentoe indiquequeconclusõespermiteessaproposiçãoinferir, usandoinferênciaprogressiva.
2. Introduzaagoranabasedeconhecimentooriginal asproposiçõesindicadasabaixoe respon-da,recorrendoà inferênciaregressiva,àquestão:“QuemjogaTETRIS?”� trabalhador(Miguel)� membro(Miguel,LEIC)
Exercício 8.2Considereasproposiçõesseguintes:� OssatélitesrecebemereflectemossinaisemitidospelaTerra.� Ossatélitesartificiaisamplificamossinaisrecebidos.� Um sinalamplificadoé forte.� FS1é umsinal.� POSAT éum satéliteartificial.� A Luaéum satélite.� Tudoo queaLua reflecteéestranhodesdequesejaforte.
1. RepresenteasproposiçõesacimaemLógicadePrimeiraOrdem,naformaadequadaparasepoderaplicarModusPonensGeneralizado.Utilize ospredicadosseguintes:� satelite(x) - ’x’ éum satélite� artificial(x) - ’x’ éartificial� sinal(x) - ’x’ éum sinal� forte(x) - ’x’ é forte� estranho(x) - ’x’ éestranho� amplificado(x ) - ’x’ estáamplificado� recebe(x,y) - ’x’ recebe’y’� reflecte(x,y) - ’x’ reflecte’y’� emitido(x,y) - ’x’ éemitidopor ’y’
2. Introduzaa proposição“O FS1foi emitidodaTerra” à basedeconhecimentoe indiquequeconclusõespermiteessaproposiçãoinferir, usandoinferênciaprogressiva.
3. Utilizando inferênciaregressiva nabasede conhecimentooriginal maisa proposiçãointro-duzidanaalíneaanterior, respondaàpergunta“Existe algumacoisaestranha?”
8 MODUSPONENSGENERALIZADO 26
Exercício 8.3Considereaseguinteinformação:� Osrelógiosclássicostêmponteirose funcionamacorda.� O quefuncionaacordaéantigo.� Osantiquáriosgostamderelógiosantigoseautomóveismodernos.� Bolinhaséum automóvel.� O Tic-Tacéumrelógio.� Rui éum antiquário.
1. Representea informaçãoacimaem LógicadePrimeiraOrdem,na formaadequadaparasepoderaplicarModusPonensGeneralizado.Utilize ospredicadosseguintes:� relogio(x) - ’x’ éum relógio� classico(x) - ’x’ e’ clássico� antigo(x) - ’x’ éantigo� moderno(x) - ’x’ émoderno� antiquario(x) - ’x’ éum antiquário� automovel(x) - ’x’ éumautomóvel� tem(x,y) - ’x’ tem’y’� funciona(x,y) - ’x’ funcionaa ’y’� gosta(x,y) - ’x’ gostade’y’
2. Acrescentea proposição“O Tic-Tacé clássico”à basedeconhecimentoe indiquequecon-clusõespermiteessaproposiçãoinferir, usandoinferênciaprogressiva.
3. Utilizandoinferênciaregressiva nabasedeconhecimentooriginal, respondaàpergunta“Al-guémgostadealgumacoisa?”
9 RESOLUÇÃO 27
9 Resolução
Exercício 9.1Considerea informaçãoseguinte:� OsoficiaisdealfândegarevistaramtodososnãoVIPsqueentraramnestepaís.� Algunsdostraficantesdedrogaentraramnestepaíse foramrevistadosporapenastraficantes
dedroga.� NenhumtraficantededrogaeraVIP.
Umapossível representaçãoemLPOdainformaçãodescritaéaseguinte:� A_9Cg6�&9L�C�h0$b(�&9L�i.j?\<*�&�k�l<[�C�(!��&9;:Y<>�K�� ?@9[m��&9L�L�(gk��9L�_�kA><T��!W��9;:=<>�2.nm��N<>�K�� A_9[m��&9L�2.10$bk�&9L�1. Convertaasfórmulasanterioresparaa formaimplicativa normal.
2. Usandoresolução,prove por refutaçãoque“algunsdosoficiaiseramtraficantesdedroga”.
Exercício 9.2Considereasseguintesfórmulasemlógicadeprimeiraordem:� A_92� Animal �&9L�T� Doméstico�&9L�V�2.]�Z?J< Dono�N<L:K9L�*� Gosta�N<L:K9L�K�� A_92� Animal �&9L�T�o�Z?\< Dono�N<T:U9L�V�K�2. Esperto�&9L�� A_92� Animal �&9L�T�o�Z?\< Gosta�N<L:K9L�K�L� Esperto�&9L�V�2. Saudável �&9L�� Animal(Bobi)� 0 Saudável(Bobi)
1. Converta-asparaa formaimplicativa normal.
2. Usandoresolução,prove por refutaçãoque 0 Doméstico(Bobi).
Exercício 9.3Considereasseguintesfórmulasemlógicadeprimeiraordem:� A_9BAC<T� DesenhoAnimado�&9L�L� Estudio�l<[�*� Produz�&9;:Y<[�K�i. Grande�l<[�� A_92� DesenhoAnimado��9L�_� Japones�&9L�V�2. Anime�&9L�� A_9 Anime�&9L�$. Bom�&9L�� A_92� DesenhoAnimado��9L�_�p�Z?\< Estudio�N<[�L� Produz�&9;:Y<[�L� Grande�N<>�K�K�2. Japones��9L�� Estudio(Gainax)� Produz(Gainax,Evangelion)� DesenhoAnimado(Evangelion)
1. Converta-asparaa formaimplicativa normal.
2. Usandoresolução,prove por refutaçãoqueBom(Evangelion).
10 PLANEAMENTO 28
10 Planeamento
Exercício 10.1(Livro - 11.1)Definao esquemade operadoresparao problemade pôr os sapatos,asmeias,umchapéueumcasaco,supondoquenãohápré-condiçõesparapôro chapéuouo casaco.Encontreoplanoparcialmenteordenadoqueé soluçãodo problemae mostrequehá180diferenteslineariza-çõesparaessasolução.
Exercício 10.2(Livro - 11.4) A figura mostrao problemado mundodosblocosconhecidocomo“AnomaliadeSussman”.O problemaeraconsideradoanómaloporqueosplaneadores“noninterleaved” doiníciodosanos1970nãoo conseguiamresolver. Codifiqueo problemausandooperadoresSTRIPSeuseo POPparao resolver.
A
C
B C
B
A
Inicio Fim
Exercício 10.3Considereumasituaçãodo mundodosblocosemqueosblocos q , r e s estãoemcimadamesa.Considerandoaacçãot+FvuJw descritapor
�x�zyB�&q�s�m{aJ�x|Sy\t+FvuJw\�Z}~:K9;:=<>��:�d!�gxsd�x|o��y��d�R�Z}~:U9L�*�ks��&wvH��[�Z}��;�(se��wvH��[�N<>�g��"�dgxs�m3y��"�R�Z}~:Y<[�*�(s��&wvH��[�&9L�*�h02�"�R�Z}~:K9L�T�P02se�&w~H��>�N<[�V�completeo planoapresentadoabaixoquetempor objectivo colocaro bloco q emcimade r e remcimade s .
Start
�d����q�:=me��:U�d�R�&r6:Ym���:K�"�R�&sd:Ym���:Us��&wvH��[�&q���:Ks��&wvH��[�&r���:Ks��&wvH��[�&s���:Kse�&w~H��>�Nm���"�R�&q�:Ym���:Ks��&wvH��[�&q���:Kse��wvH��[�&r��
Move(A, T, B)
�"�R�&q�:Kr���:Kse��wvH��[�Nm���:V02�d����q�:=me��:V02s��&w~H��[��r���d����q�:Ur���:U�d����r6:Us��
Finish
10 PLANEAMENTO 29
Exercício 10.4(Livro - 11.2)Considereumaversãodo problemadacompradeleite/bananas/berbequimnoqualodinheiroestáconsiderado,deumaformasimplificada.
1. ConsiderequeCC representao cartãode créditoqueo agentepodeusarparacomprarob-jectos. Modifiquea descriçãode Buy de formaa queo agentetenhade ter o seucartãodecréditoemordemdeformaapodercompraralgo.
2. Definaum operadorPickUp quepermitequeo agentetenha(Have) um objectoseesteétransportável eestáno mesmolocalqueo agente.
3. Assumaqueo cartãodecréditoestáemcasa,masHave(CC)é inicialmentefalso.Construaum planoparcialmenteordenadoqueatingeo objectivo, mostrandoasrestriçõesdeordemeasligaçõescausais.
4. Expliqueemdetalheo queaconteceduranteo processodeplaneamentoquandoo planeadorexploraumplanoparcialno qualo agentesaidecasasemo cartãodecrédito.