You are on page 1of 15

UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL

INTELIGNCIA ARTIFICIAL BUSCA TABU

VITOR JUNIOR DE OLIVEIRA OTAZU RGM 17388

1 BUSCA TABU

1.1 Principais caractersticas

A busca Tabu (BT) um procedimento adaptativo que aceita movimentos de piora para escapar de timos locais. A aceitao dos movimentos baseada em uma estrutura de memria. De uma soluo inicial, um algoritmo BT explora a cada iterao um conjunto de vizinhos da soluo. O vizinho da soluo corrente com melhor avaliao se torna a nova soluo, mesmo que tenha uma menor avaliao. Na figura 1.1 a seguir apresenta um esboo da evoluo do processo de gerao de solues vizinhas. O melhor vizinho representado por Si* tomado a cada iterao como a soluo corrente.

Figura 1.1 Esquema de vizinhana para a Busca Tabu. Fonte: [3] Essa estratgia de tomar o melhor vizinho como a nova soluo utilizada para escapar de mnimos locais, porem pode fazer com que o algoritmo forme ciclos, ou seja, retorne a uma soluo j tomada anteriormente passando pelo mesmo caminho. Como por exemplo, na figura 1.1, se considerarmos que S*i a soluo corrente, a soluo da iterao anterior representada por S*i-1 tambm pertencer vizinhana da soluo atual, e desse modo caso seja a melhor soluo da vizinhana, ser tomada novamente como a soluo corrente. A palavra Tabu teve origem na ilha de Tonga da Polinsia, e de modo geral, significa que um comportamento ou assunto proibido ou sagrado. A caracterstica mais importante e semelhante ao seu significado original vem do conceito que Tabus so concebidos de uma memria social de assuntos proibidos que esteja sujeita a modificao com o passar do tempo.

Desse modo, para evitar a ocorrncia de ciclos, existe uma lista de movimentos proibidos, denominado lista Tabu. Na sua forma mais clssica contm os ltimos movimentos realizados em ruma fila de tamanho fixo, ao qual o primeiro elemento que entra, o ultimo que sai. Desse Assim, na busca tabu ficam excludos os vizinhos que esto na lista tabu, mesmo que estes sejam boas solues da vizinhana atual. 1.2 Estruturas de memria utilizadas em Busca Tabu Estruturas de memria permitem armazenar informaes sobre a mudana de atributos do problema durante a transio de solues. Informaes de qualidade permitem avaliar o mrito das configuraes visitadas durante a busca e identificar elementos que so comuns em solues de boa qualidade ou em direes que levem a tais solues. Isto se traduz em aprendizado por incentivo, em que incentivos a aes que direcionam as boas solues so reforados e penalidades so aplicadas quelas que levem a solues de qualidade inferior. Existem dois tipos de memria utilizados na Busca Tabu, que so descritas a seguir. 1.2.1 Memria de curto prazo A memria de curto prazo armazena registros dos atributos que foram alterados durante os mais recentes movimentos feitos pelo algoritmo. As informaes contidas nessa memria permitem rotular como proibidos (tabu), os atributos selecionados de configuraes que foram visitadas em um passado recente. Isso evita que o algoritmo volte a elas, dirigindo a busca para novas regies. O armazenamento dos atributos, porm traz um problema adicional, porque pode impedir o algoritmo de visitar configuraes de boa qualidade se estas configuraes tiverem um atributo proibido. Isso contornado criando-se um mecanismo que permite a eliminao do rtulo tabu dos elementos de uma configurao, desde que um critrio pr-estabelecido seja satisfeito. Este mecanismo chama-se Critrio de Aspirao, que pode ser definido e aplicado de maneiras diferentes dependendo do objetivo do algoritmo, sendo muito utilizado aquele em que permitido um movimento tabu desde que o valor da funo objetivo seja melhor do que o encontrado at aquele momento. Em resumo, o algoritmo de Busca Tabu com memria de curto prazo apresenta as seguintes caractersticas: um processo de K transies entre configuraes factveis e/ou infactveis em um problema de otimizao. O valor de K pode ser predefinido ou adaptativamente determinado.

Dentre os vizinhos da configurao corrente, deve ser localizado aquele que menos deteriore o valor da funo objetivo. Uma configurao vlida se no contiver atributos proibidos, ou caso tiver, que atenda ao critrio de aspirao estabelecido. A lista tabu atualizada a cada iterao do algoritmo. 1.2.1.1 Lista Tabu com memria de curto prazo Como dito anteriormente, a memria de curto prazo guarda as informaes sobre atributos que sofreram alterao no passado recente. Podem-se armazenar esses atributos em uma matriz ou em um vetor, sendo que este tipo de armazenamento vantajoso no problema de reconfigurao em sistemas de distribuio, porque se armazenam a informao referente chave selecionada, dado pela posio do vetor, e o tempo em que a chave dever permanecer na lista tabu, pelo valor da posio do vetor. A Figura 3.5 ilustra este tipo de armazenamento para o sistema radial de distribuio com 32 barras.

Figura 3.6 - Exemplo de armazenamento da Lista Tabu em vetor Na Figura 3.6, por exemplo, o valor da posio 19 do vetor tl igual a 5, indicando que o estado da chave 19 no poder ser alterado durante as prximas 5 iteraes. 1.2.2 Memria de longo prazo A memria de longo prazo um aperfeioamento adicionado ao algoritmo bsico, e permite encontrar novas configuraes de alta qualidade, utilizando informaes armazenadas durante o processo de memria de curto prazo. Os componentes principais da memria de longo prazo so: Memria baseada em freqncia, intensificao e diversificao. A memria baseada em freqncia fornece informaes a respeito de movimentos preferenciais, levando em conta a influncia do movimento na qualidade da soluo. O armazenamento de atributos que produzam solues de alta qualidade, baixa qualidade ou ambas em uma determinada trajetria da busca chamado de freqncia de residncia. A informao obtida por esse processo pode ser utilizada pelo algoritmo para a pesquisa de regies mais atrativas no processo de intensificao. O armazenamento por freqncia de

transio indica o nmero de vezes que um determinado atributo foi adicionado ou modificado durante o processo de busca. Esta informao pode ser utilizada para a mudana de estratgia de busca no processo de diversificao. No mecanismo de intensificao so armazenadas configuraes de alta qualidade, chamadas de configuraes de elite. Uma busca mais profunda ao redor dessas configuraes pode levar a uma soluo tima global. Portanto intensificar a busca consiste em fazer uma explorao cuidadosa em torno das configuraes elites armazenadas, tentando encontrar configuraes melhores que as j encontradas e, eventualmente, a soluo tima global. A Figura 3.7 ilustra o processo de intensificao que inicia na regio A e nas regies de configuraes de elite (1, 2, 3 e 4) so feitas buscas locais de modo a aprimorar o valor da funo objetivo, encontrando timos locais. O processo termina na regio B onde encontrado o valor timo global. A Diversificao consiste em levar o algoritmo a regies do espao de busca ainda no exploradas, eliminando atributos anteriormente visitados em busca de novas configuraes. Outra maneira de realizar a diversificao aumentar o tempo de permanncia de um atributo na lista tabu, forando-se a pesquisa de novas regies. A Figura 3.7 tambm ilustra o processo de diversificao que tem incio na regio C e aps a transio para a regio D a busca toma direes divergentes. So 3 processos de diversificao diferentes: (1) transio D-E termina em uma configurao tima local, (2) movimento D-F termina em outra configurao tima local e (3) D-B encontra a configurao tima global.

Figura 3.7 - Intensificao e diversificao em Busca Tabu

1.3 Critrio de Aspirao

A Lista Tabu pode ocasionar a proibio de solues atraentes de serem visitadas. O critrio de Aspirao permite que solues sejam visitadas mesmo que sejam Tabu. A aspirao no seu modelo mais comum satisfeita se uma determinada soluo da vizinhana melhor do que todas as anteriores obtidas. importante lembrar que o critrio de aspirao no obriga selecionar uma soluo, mas simplesmente disponibiliza-os ou anula a penalidade atribuda.

1.2 Estratgia de Intensificao e diversificao

Dois componentes muito relevantes para a BT so as estratgias de diversificao e intensificao. Ambas as estratgias normalmente so utilizadas com o conceito de memria de longo prazo. 1.2.1 Intensificao A intensificao baseia-se na modificao de regras para incentivar solues com caractersticas historicamente boas. Essa modificao pode ser utilizada para retornar a regies atraentes fazendo uma busca mais profunda nesta regio. Um exemplo do uso da intensificao na BT a utilizao da memria de frequncia, onde, de tempos em tempos a fase de busca normal interrompida para dar inicio ao processo de intensificao. A idia congelar os componentes considerados atraentes (de maior frequncia) e modificar apenas os componentes restantes. Outra idia seria ao invs de congelar, aplicar uma penalidade proporcional a frequncia para modificar a componente da soluo. 1.2.2 Diversificao A diversificao estimula a gerar solues que se diferem das anteriores. Ela geralmente utilizada em determinadas situaes como, por exemplo, uma soluo no tem um vizinho que apresente melhoria, neste caso aplicada uma penalidade a esta soluo. Geralmente um nmero fixo de iteraes sem melhoria utilizada para ativar essa estratgia. Um exemplo de uso da diversificao impondo a penalizao aos atributos com alta frequncia ou incentivar os de baixa frequncia. Outra estratgia seria a diversificao por reiniciao, forando a incluso de atributos raramente utilizados na soluo corrente e reiniciar a busca, permitindo explorar novos espaos de busca.

1.3 Estratgia de lista de candidatos

Em alguns casos que a vizinhana muito espaa ou o apresenta alto custo na avaliao, uma lista de candidatos se torna essencial. A lista de candidatos utilizada para reduzir o numero

de vizinhos durante cada iterao. Essa estratgia importante para dar equilbrio ao fator esforo computacional e qualidade das solues.

1.4 Perodo Tabu

O perodo Tabu o numero de iteraes que uma determinada soluo ou atributo permanece como Tabu. um elemento essencial para a eficincia da busca, pois, perodos muito curtos podem gerar ciclos, j os longos podem prejudicar a soluo. O perodo Tabu pode ser Esttico ou Dinmico. O perodo Esttico fixo durante toda a busca e todos os elementos permanecem na Lista Tabu pelo mesmo numero de iteraes. J o dinmico no tem um perodo constante, e cada elemento pode ter um perodo diferente durante a busca. Esses podem ser gerados de forma randmica ou sistemtica.

1.5 Critrio de parada

O critrio de parada da Busca Tabu, assim como em outras metaheursticas, pode ser a partir de um numero fixo de iteraes, um nmero fixo de iteraes sem melhoria da soluo, depois de uma quantidade de tempo da CPU ou quando alcanado um limite pr-estabelecido de qualidade da soluo.

1.6 Algoritmo Busca Tabu

Um algoritmo na sua forma mais simples de BT pode ser representado em 6 passos de acordo com o pseudocdigo na figura 1.2.

Figura 1.2 pseudocdigo Busca Tabu No passo 1 escolhido uma soluo inicial. Partindo dessa soluo inicial, no passo 2 so selecionados os elementos de sua vizinhana. Nessa seleo, so descartados os elementos Tabus, menos os que atendam ao critrio de Aspirao. Os elementos selecionados so avaliados, e em seguida no passo 3 escolhido o melhor elemento para tornar-se a soluo atual. A lista Tabu atualizada no passo 4 tomando como base as caractersticas da nova soluo. No passo 5 avaliado se o critrio de parada foi atendido, caso tenha sido atendido, avana para o passo 6 e retorna a melhor soluo encontrada, caso contrrio, retorna ao passo 2.

2 EXEMPLO DE BUSCA TABU PARA A K-RVORE MNIMA

O problema da k-rvore mnima se baseia em uma rvore formada por k arestas em um grafo, em que a soma de seus pesos mnima. Um exemplo desse problema pode ser representado na figura 2.1 em um grafo de 12 vrtices ligados por arestas com peso. 26 17 4 6 20 23 16 16 16 8 7
1 0 1 2

2 1 1

5 18 6

9 9 24

16
1 1

25

15 8 7 6

20

Figura 2.1 Grafo com pesos Suponha que se queira uma arvore com 4 arestas de menor peso, ou seja, uma k-rvore mnima para k = 4. Uma soluo inicial pode ser obtida atravs de um mtodo guloso simples, onde escolhida a aresta com o menor peso, e em seguida escolhido outras arestas a sua borda com o mnimo de peso at que se obtenha k = 4. O resultado da soluo gulosa representado na figura 2.2 pelas linhas mais espaas. 26 17 4

2 1 1

6 20

5 18 6

23 16 16 16 8 7 9

1 2

9 24

16
1 1

25

15 8 7 6

9
1 0

20

Figura 2.2 Soluo inicial gulosa A construo inicia com a escolha da aresta (1,2) que contem o menor peso do grafo. Aps essa seleo, so selecionados os candidatos de menor peso at que se complete a quantidade

de 4 arestas. A soma dos pesos da soluo inicial utilizando este mtodo guloso tem o total de 40. Esta soluo inicial ser o parmetro de entrada para a simulao do algoritmo. A vizinhana da Busca Tabu ser definida pelos movimentos de adio e remoo de arestas da arvore que so possveis, sendo que, retirada a aresta de maior peso e includa outra de modo que no forme ciclos (desobedecendo definio de arvore) e no desconecte a arvore. Ser utilizado a memria de curto prazo (memria por recncia) para a Lista Tabu. As arestas que forem adicionadas ficam 1 iterao na Lista Tabu enquanto as que forem removidas ficam 2, pois o problema apresenta muito mais arestas fora da arvore do que na rvore. [3] Utilizando a soluo inicial gulosa como entrada para a Busca Tabu os critrios citado anteriormente, os movimentos sero semelhantes aos da tabela 3.1 onde a lista Tabu 2 a aresta que falta 2 iteraes para sair da lista (no caso, a aresta que acabou de ser removida), enquanto a Lista Tabu 1 so as arestas que ficaro na lista por mais uma iterao (arestas recm adicionadas e aresta removida na iterao anterior). Iterao 1 1 2 3 (4,6) (6,8) (4,7) Lista Tabu 2 (4,7) (6,7) (4,6) (6,8) (8,9) (4,7) (6,7) (1,2) 47 57 63 Adicionar Remover Peso

Tabela 3.1 - Iteraes iniciais da BT Podemos observar na figura 3.2 a representao grfica das 3 primeira iteraes que apesar da adio de (4,7) e remoo de (6,7) ser a melhor vizinhana da iterao 1 ela no visitada, pois viola a lista tabu, onde a aresta (4,7) foi recm removida e s poder ser modificada novamente na iterao 4.

Figura 3.2 Representao grfica das iteraes iniciais da BT. Fonte adaptada de [3]. Dando prosseguimento ao algoritmo, na figura 3.3 est a representao grfica da iterao 3 at a iterao 10. As linhas pontilhadas representam arestas que foram removidas. O smbolo 1* e 2* representam respectivamente que a aresta tem 1 e 2 iteraes restantes na Lista Tabu. A linha mais espaa representa a aresta adicionada na iterao corrente. Pode ser observado que at a 3 iterao o algoritmo apresenta um aumento no peso, porem da 4 em diante o peso diminui, caindo em um mnimo local na quinta iterao e chegando a um Maximo global na 9 (considerando o critrio de parada em 10 iteraes).

Figura 3.3 Representao grfica das iteraes finais da BT. Fonte adaptada de [3].

REFERNCIAS

[1] Glover, F. (1986) Future paths for integer programming and links to artificial intelligence, Computers & Operations Research, Vol. 13, pp. 533-549. [2] Hansen, P. The steepest ascent mildest descent heuristic for combinatorial programming, Congress on Numerical Methods in Combinatorial Optimization, Capri, Italy, 1986. [3] Glover, F. and M. Laguna (1997). Tabu Search, Kluwer Academic Publishers, Boston. [4] VIANA, V. Meta-heursticas e Programao Paralela em Otimizao Combinatria. Fortaleza: EUFC, 1998. [5] MANSANO, Elisngela Menegasso. Algoritmos Busca Tabu Paralelos Aplicados ao Planejamento da Expanso da Transmisso de Energia Eltrica. 2008. 128 f. Dissertao (Mestrado em Engenharia Eltrica - Automao) - Faculdade de Engenharia, Universidade Estadual Paulista, Ilha Solteira, 2008. [6] Y. He, G. Liu, and Y. Qiu, A parallel tabu search algorithm based on partitioning principles for tsps, IJCSNS Journal of Computer Science and Network Security, vol. 6, no. 8A, 2006. [7] TING, Chuan-Kang; KO, Cheng-Feng; HUANG, Chih-Hui. Selecting survivors in genetic algorithm using tabu search. strategies Memetic Computing. p. 191-203, 2009.

You might also like