Bus m Espço Estos Intliêni Artiiil ESTRATÉGIAS DE BUSCA CEGA Um vz o prolm m ormulo... o sto inl v sr uso Em outrs plvrs, v-s usr um métoo us pr sr orm orrt plição os oprors qu lvrá o sto iniil o inl HUEI DIANA LEE 1 2 Bus m Espço Estos Bus m Espço Estos Isto é ito por um prosso rção ( stos possívis) tst (pr vr s o ojtivo stá ntr ls) Um vz us trmin om susso, st xutr solução (= onjunto orno oprors plir) Frontir o spço stos: nós (stos) srm xpnios no momnto 3 4 Ex: vijr Jrmoo Cjzirs Ex.: vijr Jrmoo Cjzirs sto iniil => Jrmoo sto iniil => Jrmoo rontir 5 6 1
Ex.: vijr Jrmoo Cjzirs Ex.: vijr Jrmoo Cjzirs sto iniil => Jrmoo rontir sto iniil => Jrmoo rontir Jrmoo Jrmoo Cnuos Pulo Aonso Arju Cnuos Pulo Aonso Arju rontir 7 8 Ex.: vijr Jrmoo Cjzirs Ex.: vijr Jrmoo Cjzirs sto iniil => Jrmoo rontir sto iniil => Jrmoo rontir Jrmoo Jrmoo Cnuos Pulo Aonso Arju rontir Cnuos Pulo Aonso Arju rontir Jrmoo Jrmoo Cnuos Pulo Aonso Arju Cnuos Pulo Aonso Arju rontir Ptrolin B. o S. Frniso Ptrolin B. o S. Frniso 9 10 Bus m Espço Estos: Grção Tst - Implmntção (Dsrição Inorml) Bus m Espço Estos: Consirçõs sor Implmntção unção BUSCA(prolm, strtéi) rtorn um solução ou lh iniir árvor us usno um sto iniil prolm rpit s não xist nnhum nito pr xpnsão (rontir vzi) ntão rtornr lh solhr um nó-olh pr xpnsão oro om strtéi s o nó ontém um sto ojtivo ntão rtornr solução orrsponnt snão xpnir o nó iionr os nós rsultnts à árvor us Espços Estos pom sr rprsntos omo um árvor on os stos são nós s oprçõs são ros Os nós árvor pom urr mis inormção o qu pns o sto Estrutur os om plo mnos ino omponnts: 1. o sto orrsponnt 2. o su nó pi 3. o opror plio pr rr o nó ( prtir o pi) 4. os nós-ilhos 5. prouni o nó 6. o usto o nó (s riz) 7. outros 11 12 2
Bus m Espço Estos: Implmntção Métoos Bus Aloritmo: Função-Insr: ontrol orm insrção nós n rontir o spço stos unção Bus-Gnéri (prolm, Função-Insr) rtorn um solução ou lh rontir Fz-List (Fz-Nó (Esto-Iniil [prolm] ) ) loop o s rontir stá vzi ntão rtorn lh nó Rmov-Primiro (rontir) s Tst-Término [prolm] plio Esto [nó] tivr susso ntão rtorn nó rontir Função-Insr (rontir, Oprors [prolm, nó]) n Bus xustiv ou (não inorm) Não s s qul o mlhor nó rontir sr xpnio, isto é, o mnor usto minho ss nó té um nó inl (ojtivo) Bus hurísti (inorm) Estim-s qul o mlhor nó rontir sr xpnio om s m unçõs hurístis => onhimnto 13 14 Bus C Critérios Avlição s Estrtéis Bus Estrtéis pr trminr orm rmiição os nós: 1. Bus m prouni prouni limit. 2. Bus om prounmnto itrtivo. 3. Bus m lrur. 4. Bus usto uniorm. Dirção rmiição: 1. Do sto iniil pr um sto inl. 2. D um sto inl pr o sto iniil. 3. Bus i-irionl. 15 Complt? strtéi smpr nontr um solução quno xist lum? Ótim? strtéi nontr mlhor solução quno xistm soluçõs irnts? (mnor usto minho ) Custo tmpo? qunto tmpo st pr nontrr um solução? Custo mmóri? qunt mmóri é nssári pr rlizr us? Complxi: : tor rmiição : prouni o nó ojtivo m: omprimnto máximo 16 Bus m Prouni Bus m Prouni Orm rmiição os nós: Smpr xpn o nó no nívl mis prouno árvor: nó riz primiro nó prouni 1 primiro nó prouni 2, ssim por int Vrint: Quno um nó inl não é solução (ou é, ms s qur nontrr tos s soluçõs), o loritmo volt pr xpnir os nós qu in stão n rontir o spço stos Prosso nomino rtrosso ou ktrkin Aloritmo: unção Bus-m-Prouni (prolm) rtorn um solução ou lh Bus-Gnéri (prolm, Insr-no-Comço) Insr-no-Comço: qu tipo list? 17 18 3
Bus m Prouni om Rtrosso Bus m Prouni om Rtrosso Insrir n rnt, rmovr rnt: Insrir n rnt, rmovr rnt:, 19 20 Bus m Prouni om Rtrosso Bus m Prouni om Rtrosso Insrir n rnt, rmovr rnt:,, Insrir n rnt, rmovr rnt: h,, 21 22 Bus m Prouni om Rtrosso Bus m Prouni om Rtrosso Insrir n rnt, rmovr rnt:, Insrir n rnt, rmovr rnt: i, j, 23 24 4
Bus m Prouni om Rtrosso Bus m Prouni om Rtrosso Insrir n rnt, rmovr rnt: j, Insrir n rnt, rmovr rnt: 25 26 Bus m Prouni om Rtrosso Bus m Prouni om Rtrosso Insrir n rnt, rmovr rnt:, Insrir n rnt, rmovr rnt: k, 27 28 Bus m Prouni om Rtrosso Bus m Prouni om Rtrosso Esto iniil: Estos inis: j, Nós visitos n orm:,,,h,,i,j Solução: [,,,j] Após ktrkin, outr solução é nontr: [,,] Insrir n rnt, rmovr rnt: 29 30 5
Bus m Prouni Bus m Prouni % rsolv(no,soluo) Soluo é um minho ílio (n orm % rvrs) ntr nó iniil No nó inl rsolv(no,soluo) :- pthfirst([],no,soluo). % pthfirst(cminho,no,soluo) stn o minho [No Cminho] % té um nó inl otno Soluo pthfirst(cminho,no,[no Cminho]) :- inl(no). pthfirst(cminho,no,s) :- s(no,no1), \+ prtn(no1,cminho), % vit um ilo pthfirst([no Cminho],No1,S). prtn(e,[e _]). prtn(e,[_ T]) :- prtn(e,t). Est strtéi não é omplt nm é ótim Est strtéi v sr vit quno s árvors rs são muito prouns ou rm minhos ininitos Custo mmóri: Nssit rmznr pns O(*) nós pr um spço stos om tor rmiição prouni, on m po sr mior qu (prouni 1. solução) Custo tmpo: O( m ), no pior so. Pr prolms om váris soluçõs, st strtéi po sr m mis rápi o qu us m lrur 31 32 Bus m Prouni (Tmpo) Bus m Prouni (Espço) = 3 = 3 7 nós vrmlhos Em rl = (( - 1) * ) + 1 O(*) No pior so, = m portnto O(*m) 33 34 Bus m Lrur Bus m Lrur Bus m prouni x Bus m lrur: solh primiro visitr quls nós mis próximos o nó iniil Aloritmo não é tão simpls: nssário ontrolr um onjunto nós nitos ltrntivos não pns um únio, omo n us m prouni O onjunto é too o nívl inrior árvor us Além isso, só o onjunto é insuiint s o minho solução tmém or nssário Assim, o invés mntr um nó nito, é nssário mntr um onjunto minhos nitos 35 36 6
Bus m Lrur Bus m Lrur Orm rmiição os nós: Nó riz Toos os nós prouni 1 Toos os nós prouni 2 Assim por int Aloritmo: unção Bus-m-Lrur (prolm) rtorn um solução ou lh Bus-Gnéri (prolm, Insr-no-Fim) Insr-no-Fim: strtéi list? 37 38 Bus m Lrur Bus m Lrur Insrir no inl, rmovr rnt: Insrir no inl, rmovr rnt:, 39 40 Bus m Lrur Bus m Lrur Insrir no inl, rmovr rnt:,, Insrir no inl, rmovr rnt:,,, 41 42 7
Bus m Lrur Bus m Lrur Insrir no inl, rmovr rnt:,,, h Insrir no inl, rmovr rnt:,, h, i, j 43 44 Bus m Lrur Bus m Lrur Insrir no inl, rmovr rnt:, h, i, j, k Insrir no inl, rmovr rnt: h, i, j, k 45 46 Bus m Lrur Bus m Lrur Insrir no inl, rmovr rnt: i, j, k Insrir no inl, rmovr rnt: j, k 47 48 8
Bus m Lrur Bus m Lrur Esto iniil: Estos inis: j, Nós visitos n orm:,,,,, A solução mis urt [,,] é nontr nts mis lon [,,,j] Insrir no inl, rmovr rnt: k 49 50 Bus m Lrur Bus m Lrur Est strtéi é omplt É ótim? Smpr nontr solução mis rs No ntnto, nm smpr é solução mnor usto minho, so os oprors tnhm vlors irnts x. ir pr um i D pssno por B C po sr mis prto o qu pssno só por E Em outrs plvrs, é ótim s usto minho rs om prouni o nó Isso oorr quno toos os oprors têm o msmo usto (=1) Custo tmpo: s o tor rmiição o prolm =, primir solução pr o prolm stá no nívl ntão o númro máximo nós ros té s nontrr solução = 1 + + 2 + 3 + + usto xponnil = O ( ) Custo mmóri: prolm mis ruil: rontir o spço stos v prmnr n mmóri - O ( ) loo, us m lrur só á ons rsultos quno prouni árvor us é pqun 51 52 Bus m Lrur (Tmpo Espço) Bus m Lrur (Tmpo Espço) Prouni Nós Tmpo Mmóri 2 1100 0,11 s 1 MB 4 111.100 11 s 106 MB 6 10 7 19 min 10 GB 8 10 9 31 hors 1 TB 10 10 11 129 is 101 TB 12 10 13 35 nos 10 PB 14 10 15 3.523 nos 1 EB O( ) = 10, 10.000 nós/suno, 1.000 yts por nó (Font: Russl & Norvi, 2004) 53 9
Bus m Prouni Limit Bus m Prouni Limit Prmit vitr os prolms Bus m Prouni por mio imposição um limit pr prouni máxim L é o limit prouni Espço: O(*L) Tmpo: O( L ) PROBLEMA? Não s tm prvimnt um limit rzoávl S o limit or muito pquno (mnor qu qulqur minho té um solução)? ntão us lh S o limit or muito rn? us s torn muito omplx 55 56 Bus om Aprounmnto Itrtivo Bus om Aprounmnto Itrtivo Evit o prolm minhos muito lonos ou ininitos impono um limit máximo (L) prouni pr os minhos ros. L >= on L é o limit prouni é prouni primir solução o prolm Nst strtéi tnt-s limits om vlors rsnts, prtino zro, té nontrr primir solução Fix-s prouni = i, xut us S não hou um ojtivo, romç us om prouni = i + n (n qulqur) O tmpo us pior, porém mlhor o usto mmóri! Msmo ssim, po sr o ltrntiv 57 Comin s vntns us m lrur om us m prouni. É ótim omplt om n = 1 oprors om ustos iuis Custo mmóri: nssit rmznr pns. nós pr um spço stos om tor rmiição limit prouni Custo tmpo: O( ) Bons rsultos quno o spço stos é rn prouni sonhi 58 Bus om Aprounmnto Itrtivo (L=0) Bus om Aprounmnto Itrtivo (L=1) Insrir n rnt, rmovr rnt: Insrir n rnt, rmovr rnt: 59 60 10
Bus om Aprounmnto Itrtivo (L=1) Bus om Aprounmnto Itrtivo (L=1) Insrir n rnt, rmovr rnt:, Insrir n rnt, rmovr rnt: 61 62 Bus om Aprounmnto Itrtivo (L=2) Bus om Aprounmnto Itrtivo (L=2) Insrir n rnt, rmovr rnt: Insrir n rnt, rmovr rnt:, 63 64 Bus om Aprounmnto Itrtivo (L=2) Bus om Aprounmnto Itrtivo (L=2) Insrir n rnt, rmovr rnt:,, Insrir n rnt, rmovr rnt:, 65 66 11
Bus om Aprounmnto Itrtivo (L=2) Bus om Aprounmnto Itrtivo (L=2) Insrir n rnt, rmovr rnt: Insrir n rnt, rmovr rnt:, 67 68 Bus om Aprounmnto Itrtivo (L=2) Bus om Aprounmnto Itrtivo Insrir n rnt, rmovr rnt: 69 70 Bus Custo Uniorm (Dijkstr s Srh) Bus Custo Uniorm Estn-s us m lrur: Expn-s o nó rontir om mnor usto minho té o momnto C opror po tr um usto ssoio irnt, mio pl unção (n) qu á o usto o minho orim o nó n N us m lrur: (n) = prouni (n) Cis Aloritmo unção Bus--Custo-Uniorm (prolm) rtorn um solução ou lh Bus-Gnéri (prolm, Insr-Orm-Crsnt) 71 (Font: Russl & Norvi, 2004) 72 12
Bus Custo Uniorm Bus Custo Uniorm Frontir o xmplo ntrior Cis F = {S} tst s S é o sto ojtivo, xpn-o ur sus ilhos A, B C ornmnt n rontir F = {A, B, C} tst A, xpn-o ur su ilho GA ornmnt os.: o loritmo rção tst ur n rontir toos os nós ros, tstno s um nó é o ojtivo pns quno l é rtiro list! F= {B, GA, C} tst B, xpn-o ur su ilho GB ornmnt F= {GB, GA, C} tst GB pár! (Font: Russl & Norvi, 2004) 73 74 Bus Custo Uniorm Bus Biirionl Est strtéi é omplt É ótim s (sussor(n)) >= (n) usto minho no msmo minho não rs i.., não tm oprors om usto ntivo so ontrário, trímos qu xpnir too o spço stos m us mlhor solução. Ex. Sri nssário xpnir tmém o nó C o xmplo, pois o próximo opror pori tr usto ssoio = -13, por xmplo, rno um minho mis rto o qu trvés B Custo tmpo mmóri torimnt, iul o Bus m Lrur 75 (Font: Russl & Norvi, 2004) 76 Complxi os Aloritmos Bus Evitr Grção Estos Rptios = númro minhos ltrntivos/tor iurção/rmiição (rnhin tor) m = prouni solução = prouni máxim árvor us L= limit prouni Tmpo Espço Prouni O( m ) O(m) Complt? (nontr um solução quno l xist) Sim (spços initos) Não (spços ininitos) Ótim? (solução mis urt rnti) Não Prouni limit O( L ) O(L) Sim s L Não Prouni itrtiv O( ) O() Sim Sim Lrur O( ) O( ) Sim Sim Biirionl O( /2 ) O( /2 ) Sim Sim 77 Prolm rl m us xpnir stos prsnts m minhos já xploros É invitávl quno xistm oprors rvrsívis x. nontrr rots, niis missionários, 8-númros, ntr outros árvor us é potnilmnt ininit Três soluçõs om irnts nívis iái usto implmntção... 78 13
Evitr Estos Rptios: soluçõs Rrênis 1. Não rtornr o sto pi 2. Não rtornr um nstrl 3. Não rr qulqur sto qu já tnh sio rio nts (m qulqur rmo) rqur qu toos os stos ros prmnçm n mmóri: usto O( ) po sr implmnto mis iintmnt om hsh tls Mtril Diátio Pro. Hui Din L Uniost. Mtril Diátio Pro. José Auusto Brnusks USP Riirão Prto. Mtril Diátio Pro. Mrílio Souto UFRN. Russl, S. Norvi, P. Artiiil Intllin: A morn pproh, Prnti Hll, 2004. Outrs rrênis inis no urso. 79 80 14