A. Anadolu Beyliklerinin Kurulması ve Harezm Etkisi
5. Kayılar ve Harezmliler
Ao longo das se¸c˜oes deste cap´ıtulo apresentaram-se as principais abordagens encontradas na literatura para a utiliza¸c˜ao do DE no dom´ınio das vari´aveis discretas. Essas abor- dagens podem ser classificadas em dois principais grupos: um grupo onde a equa¸c˜ao da muta¸c˜ao diferencial no dom´ınio das vari´aveis cont´ınuas ´e aplicada diretamente em problemas combinat´orios, caso das abordagens IRP e FBT, e o outro em que a equa- ¸c˜ao da muta¸c˜ao diferencial ´e redefinida para a classe de problemas combinat´orios, como ocorre para a AMP e AMA. No primeiro grupo h´a necessidade de reparos nas solu- ¸c˜oes geradas, ora devido a solu¸c˜oes repetidas, ora devido a solu¸c˜oes fora do espa¸co de busca do problema. Isto se deve ao fato de que os operadores aritm´eticos da equa¸c˜ao da
4
Como os elementos de uma matriz de adjacˆencias s˜ao zeros e uns, todas as opera¸c˜oes s˜ao realizadas usando aritm´etica m´odulo 2 (MOD2 ou opera¸c˜ao l´ogica XOR).
muta¸c˜ao diferencial, operadores estes definidos para o dom´ınio das vari´aveis cont´ınuas, n˜ao s˜ao definidos no espa¸co das vari´aveis discretas. J´a no segundo grupo as aborda- gens n˜ao s˜ao abrangentes e est˜ao restritas a problemas combinat´orios com permuta¸c˜ao e, mesmo assim, em alguns casos necessitam de algum mecanismo de reparo para as solu¸c˜oes geradas.
Embora as t´ecnicas apresentadas sejam importantes no contexto da otimiza¸c˜ao dis- creta, as limita¸c˜oes apresentadas comprometem o seu uso em um grande n´umero de problemas de natureza combinat´oria.
Com o objetivo de contornar tais problemas, esta se¸c˜ao apresenta uma nova abor- dagem para a evolu¸c˜ao diferencial, denominada Lista de Movimentos, que busca ser gen´erica no ˆambito dos problemas de natureza combinat´oria. A flexibilidade existente nesta abordagem deve-se ao fato de que os movimentos definidos na lista de movimentos s˜ao espec´ıficos para cada tipo de problema combinat´orio. Assim, os movimentos da lista ora s˜ao representados por vetores de arrays, ora por matrizes ou por uma outra estrutura de dados mais apropriada a cada tipo de problema tratado. Al´em disso, nenhum meca- nismo de reparo ou rotina auxiliar se faz necess´aria para reparar solu¸c˜oes encontradas e a autoadapta¸c˜ao da DE, observada no dom´ınio das vari´aveis cont´ınuas, ´e preservada no espa¸co de vari´aveis discretas.
De modo a conceber uma meta-heur´ıstica para o m´etodo de otimiza¸c˜ao do algoritmo DE aplicado a problemas de natureza combinat´oria, a diferen¸ca entre dois vetores no espa¸co das vari´aveis cont´ınuas deve ser redefinida para o espa¸co das vari´aveis discretas, uma vez que o operador diferen¸ca n˜ao ´e definido neste dom´ınio. Assim, a diferen¸ca veto- rial entre as duas solu¸c˜oes candidatas da equa¸c˜ao da muta¸c˜ao diferencial ´e representada por uma Lista de Movimentos e definida como:
Defini¸c˜ao 2.3. Operador Subtra¸c˜ao: A opera¸c˜ao de subtra¸c˜ao entre duas solu¸c˜oes candidatas origina uma lista de movimentos. A lista de movimentos resultante, Mij, ´e a lista contendo uma sequˆencia de movimentos v´alidos
mk, tal que, a aplica¸c˜ao destes movimentos `a solu¸c˜ao xj ∈ X leva `a solu¸c˜ao
xi ∈ X .
Sejam xg,r1 e xg,r2 duas solu¸c˜oes candidatas de um problema combinat´orio qualquer,
escolhidas aleatoriamente da popula¸c˜ao corrente, para realizar a “diferen¸ca vetorial” da equa¸c˜ao da muta¸c˜ao diferencial. Com base na Defini¸c˜ao 2.3, a lista de movimentos obtida ´e dada por:
onde⊖ ´e um operador de subtra¸c˜ao bin´ario especial que retorna a lista de movimentos Mr1r2 que representa o “caminho” ou a “distˆancia” entre a solu¸c˜ao xg,r2 e a solu¸c˜ao xg,r1.
Esta lista, de algum modo, captura a diferen¸ca entre estas duas solu¸c˜oes.
A multiplica¸c˜ao da lista de movimentos por um escalar deve ser tamb´em definida:
Defini¸c˜ao 2.4. Operador Multiplica¸c˜ao por Escalar: A multiplica¸c˜ao da lista de movimentos, Mij, por um escalar λ ∈ [0, 1], retorna a lista M
′
ij
com os primeiros ⌈λ × |Mij|⌉ movimentos de Mij , onde|Mij| ´e o tamanho
da lista.
Como o escalar λ∈ [0, 1], esta multiplica¸c˜ao prioriza, ou considera, t˜ao somente os 100λ% primeiros movimentos da lista.
Aplicando a Defini¸c˜ao2.4 `a Equa¸c˜ao 2.6, com o escalar λ substitu´ıdo pelo fator de multiplica¸c˜ao escalar F da evolu¸c˜ao diferencial, a multiplica¸c˜ao por escalar no dom´ınio discreto pode ser escrita como:
M′
r1r2 = F ⊗ Mr1r2 (2.7)
onde ⊗ ´e um operador de multiplica¸c˜ao bin´ario especial no dom´ınio das vari´aveis dis- cretas.
Finalmente, a aplica¸c˜ao de uma lista de movimentos a uma dada solu¸c˜ao ´e definida pela opera¸c˜ao de adi¸c˜ao:
Defini¸c˜ao 2.5. Operador Adi¸c˜ao: A opera¸c˜ao de adi¸c˜ao ´e a aplica¸c˜ao da sequˆencia de movimentos da lista M′
ij `a solu¸c˜ao xk e a soma resultante ´e a
nova solu¸c˜ao x′ k.
Seja o vetor solu¸c˜ao xg,r0, escolhido aleatoriamente na popula¸c˜ao corrente, o vetor
base da equa¸c˜ao da muta¸c˜ao diferencial. O vetor mutante, resultante da adi¸c˜ao do vetor base `a lista de movimentos dada pela Equa¸c˜ao 2.7, ´e dado por:
vg,i = xg,r0⊕ Mr′1r2 (2.8)
Com as defini¸c˜oes acima, pode-se escrever a equa¸c˜ao da muta¸c˜ao diferencial que determina o vetor mutante como:
vg,i = xg,r0⊕ F ⊗ (xg,r1⊖ xg,r2)
vg,i = xg,r0⊕ F ⊗ Mr1r2
vg,i = xg,r0⊕ Mr′1r2
(2.9)
que ´e a abordagem discreta proposta para a equa¸c˜ao da muta¸c˜ao diferencial (Eq.1.4).
A defini¸c˜ao para a lista de movimentos ´e gen´erica e a estrutura de dados utilizada para represent´a-la depende da estrutura de dados utilizada para representar as solu¸c˜oes do problema. Desta forma, as defini¸c˜oes acima podem ser aplicadas a qualquer tipo de problema combinat´orio. Para tanto, a estrutura de dados da Lista de Movimentos deve ser bem definida e espec´ıfica para o tipo de problema combinat´orio em quest˜ao.
A abordagem por Lista de Movimentos proposta para evolu¸c˜ao diferencial discreta tem como pilar a Defini¸c˜ao 2.3que define como uma lista de movimentos ´e constru´ıda. Segundo esta defini¸c˜ao, a lista de movimentos deve conter uma sequˆencia de movimentos v´alidos, tal que, a aplica¸c˜ao destes movimentos a uma solu¸c˜ao xj leva a uma outra
solu¸c˜ao xi pertencente ao espa¸co de solu¸c˜oesX . Portanto, para cada tipo de problema
combinat´orio, baseado na defini¸c˜ao da estrutura de dados utilizada na representa¸c˜ao das solu¸c˜oes do problema, ´e definida a estrutura de dados que melhor represente a lista de movimentos. As se¸c˜oes 2.6a 2.8 apresentam algumas estruturas de dados utilizadas na representa¸c˜ao das solu¸c˜oes de alguns problemas de otimiza¸c˜ao combinat´oria e as representa¸c˜oes poss´ıveis para as listas de movimentos.