CComp - Programa de P´ os-Gradua¸ c˜ ao em Ciˆ encias Computacionais IME02701 ´ Algebra Linear: Aspectos Te´ oricos e Computacionais Prof.
aCristiane Oliveira de Faria e Prof.
aDiana Sasaki Nobrega
Relat´ orio n
o2: DETERMINANTE DA MATRIX DE HILBERT ATRAV ´ ES DO TEOREMA DE LAPLACE
PAGERANK, O ALGORITMO DE RANQUEAMENTO DE P ´ AGINAS APLICAC ¸ ˜ AO DA CADEIA DE MARKOV
Aluno: Andr´ es Felipe Giraldo Morales e-mail: andres1@outlook.com
9 de novembro de 2020
1 C´ alculo do Determinante
O primeiro exerc´ıcio proposto neste relat´ orio trata do c´ alculo de determinante da Matriz de Hilbert de ordens n = 3, 12, 25, 50. Utilizando o Teorema de Laplace.
Adicionalmente, ser´ a estimado experimentalmente o custo computacional deste m´ etodo.
1.1 Matriz de Hilbert
A Matriz de Hilbert, ´ e definida pelo autor em [1] como uma matriz nxn onde o termo geral de cada elemento ´ e dado por:
H
ij= 1 (i + j − 1)
Onde i ´ e o ´ındice da linha e j ´ e o ´ındice da coluna. Podemos, portanto, representar uma Matriz de Hilbert nxn como:
1 1
2
1 3
1
4 ... 1
n
1 2
1 3
1 4
1
5 ... 1
n + 1 1
3 1 4
1 5
1
6 ... 1
n + 2
. . . . ... .
1 n
1 n + 1
1 n + 2
1
n + 3 ... 1 2n − 1
(1)
1.2 Teorema de Laplace
O Teorema de Laplace ´ e definido em [2] como o c´ alculo do determinante de uma Matriz A = [a
ij] de dimens˜ ao nxn, onde n ≥ 2, podendo ser computado da seguinte forma:
detA = a
i1C
i1+ a
i2C
i2+ ... + a
inC
in=
n
X
j=1
a
ijC
ijQue equivale ` a expans˜ ao do cofator ao longo de uma linha i de A, da mesma forma:
detA = a
1jC
1j+ a
2jC
2j+ ... + a
njC
nj=
n
X
i=1
a
ijC
ijQue equivale ` a expans˜ ao do cofator ao longo de uma coluna j de A.
O cofator pode ser calculado como C
ij(−1)
i+jdetA
0ij. O determinante detA
0ij´ e tamb´ em calculado atrav´ es da expans˜ ao e ´ e referente ` a Matriz A
0onde s˜ ao retiradas a linha i e a coluna j da Matriz original A.
Para a implementa¸ c˜ ao do Teorema de Laplace, ser´ a necess´ ario uma abordagem recursiva, j´ a que o valor do detA depende do detA
0, que por sua vez ´ e calculado atrav´ es do mesmo m´ etodo.
Algoritmo 1: Teorema de Laplace Fun¸ c˜ ao DetLaplace(A
nxn)
Entrada: Matriz A
nxn 1det = 0 se n = 2 ent˜ ao
2
retorna (a
00∗ a
11) − (a
01∗ a
10)
3
fim
4
se a
0i6= 0 ent˜ ao
5
i
0= 0
6
j
0= 0
7
A
0(n−1)x(n−1)8
para i = 2 at´ e n fa¸ ca
9
para j = 1 at´ e n fa¸ ca
10
se j 6= i ent˜ ao
11
a
0i0j0= a
ij12
j
0= j
0+ 1
13
fim
14
fim
15
i
0= i
0+ 1
16
j
0= 0
17
fim
18
C = (−1)
i+j∗ DetLaplace(A
0i0j0)
19
det = det + C
20
fim
21
retorna det Sa´ ıda: detA
1.3 Resultados
Ordem (N) Determinante Tempo Execu¸ c˜ ao (ms)
3 4, 62963 ∗ 10
−40
4 1, 653439 ∗ 10
−70
5 3, 749295 ∗ 10
−120
6 5, 3673 ∗ 10
−181
7 4, 830853 ∗ 10
−251
8 −3, 557142 ∗ 10
−315
9 3, 15087 ∗ 10
−3665
10 3, 499989 ∗ 10
−42674
11 3, 159691 ∗ 10
−485, 935 ∗ 10
312 1, 499045 ∗ 10
−558, 5782 ∗ 10
413 −1, 796723 ∗ 10
−631, 276350 ∗ 10
625 N/A N/A
50 N/A N/A
Tabela 1: Resultados do c´ alculo do determinante da Matriz de Hilbert atrav´ es do m´ etodo de Laplace
1.4 Complexidade do Algoritmo
Uma forma de estudo experimental da complexidade do algoritmo de Laplace, pode ser dada atrav´ es do estudo do tempo de execu¸ c˜ ao para diversos dimens˜ oes da Matriz de Hilbert. Temos que t = t
0∗ n, onde t
´
e o tempo total de execu¸c˜ ao do algoritmo, t
0´ e o tempo de um ´ unico passo computacional, n ´ e n´ umero de passos executados no algoritmo. Logo, o tempo de execu¸ c˜ ao ´ e diretamente proporcional ` a complexidade do algoritmo.
Calculados os tempos para diversos valores de n, ´ e poss´ıvel observar a progress˜ ao da complexidade de execu¸c˜ ao com rela¸c˜ ao ` a ordem da Matriz de Hilbert.
3 4 5 6 7 8 9 10 11 12 13
0 150 300 450 600 750 900 1,050 1,200
Ordem da Matriz(N)
T emp o de execu¸ c˜ ao (s)
Tempo de processamento do determinante da Matriz de Hilbert com o m´ etodo de Laplace Tempo de execu¸ c˜ ao
Segundo [3], a complexidade do algoritmo do teorema de Laplace ´ e de O(n!).Para analisar o comporta-
mento da complexidade de O(n!), representamos os valores da fun¸ c˜ ao para n = 3, 4, 5..., 13.
2 4 6 8 10 12 14 0
1 2 3 4 5
·10
8n
O ( n !)
Valores de O(n!)
O(n!)
1.5 Conclus˜ oes
Foi poss´ıvel calcular o valor do determinante para a Matriz de Hilbert de ordens 3 e 12, com valores 4, 62963 ∗ 10
−4e 1, 499045 ∗ 10
−55. Entretanto, por conta do custo computacional e complexidade do algo- ritmo, n˜ ao foi poss´ıvel calcular o valor do determinante para as ordens de 25 e 50.
Ap´ os a compara¸c˜ ao do gr´ afico de tempo de execu¸ c˜ ao da implementa¸ c˜ ao do m´ etodo de Laplace, apresen- tado na se¸c˜ ao 1.4 e o gr´ afico da fun¸ c˜ ao f(n) = n! da Complexidade do algoritmo sugerida por [3], ´ e poss´ıvel verificar que o comportamento de ambas as fun¸ c˜ oes ´ e semelhante, e que o tempo de execu¸ c˜ ao obtido na Tabela 1 se encontra de acordo com o tempo esperado para uma fun¸ c˜ ao de complexidade θ(N !).
2 PageRank
Figura 1: P´ aginas a serem ranqueadas no Exerc´ıcio 2
O segundo exerc´ıcio trata sobre o ranqueamento das p´ aginas na Figura 2, utilizando o algoritmo Page-
Rank.
Segundo [4], PageRank ´ e um algoritmo desenvolvido pelos fundadores da Google, para o aprimoramento da prioridade dos resultados na busca de p´ aginas da ferramenta. O conceito por tr´ as do algoritmo ´ e que uma p´ agina ´ e mais relevante se ela ´ e referenciada por outras p´ aginas. Outro fator a ser levado em considera¸ c˜ ao,
´
e que entre menos referˆ encias uma p´ agina fa¸ ca, maior peso elas possuem.
Para simular a probabilidade de um usu´ ario aleat´ oriamente navegando atrav´ es das p´ aginas um n´ umero grande de vezes, o algoritmo se baseia nas cadeias de Markov.
2.1 A Matriz de Hiperlink
As rela¸ c˜ oes de referˆ encias entre as p´ aginas representadas na Figura 2 s˜ ao mapeadas conforme a tabela T abaixo:
A B C D E F G H I J K
A 0 0 0 0 0 0 0 0 0 0 0
B 0 0 1 0 0 0 0 0 0 0 0
C 0 1 0 0 0 0 0 0 0 0 0
D 1 1 0 0 1 0 0 0 0 0 0
E 0 1 0 0 0 1 0 0 0 0 0
F 0 1 0 0 1 0 0 0 0 0 0
G 0 1 0 0 1 0 0 0 0 0 0
H 0 1 0 0 1 0 0 0 0 0 0
I 0 1 0 0 1 0 0 0 0 0 0
J 0 0 0 0 1 0 0 0 0 0 0
K 0 0 0 0 1 0 0 0 0 0 0
Tabela 2: Rela¸c˜ ao de Referˆ encias feitas por um site a outro
Onde o elemento T
ijrepresenta a referˆ encia feita pelo site i a um site j.
Posteriormente calculamos a Matriz de Hiperlink H = [H
ij], que ´ e necess´ aria para podermos dar as probabilidades necess´ arias de acordo com a quantidade de p´ aginas que uma mesma referencia, entre menos referˆ encias, maior a probabilidade de acessar uma delas. Para isso seguimos as seguintes regras, de acordo com [4]:
Cada referˆ encia dada por um site a outro ´ e contabilizada apenas uma vez. Desta forma, o n´ umero de referˆ encias que um site faz a outro n˜ ao s˜ ao cumulativa, conforme a Tabela 2.
Para obter a probabilidade associada a cada referˆ encia, somamos os elementos das filas da tabela T
ij, onde S
i= T
i1+ T
i2+ ... + T
ije o elemento da Matriz de Hiperlink H
ij= 1/S
i, se T
ij> 0, ou H
ij= 0, se T
ij= 0.
No exemplo da Figura 2 a Matriz de Hiperlink seria da seguinte forma:
(Observa¸ c˜ ao: Por um erro de espa¸ co pacote bmatrix do Latex, n˜ ao ´ e poss´ıvel visualizar matrizes com mais
de dez colunas, portanto s´ o ser˜ ao mostradas N − 1 colunas)
H =
0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
0.3333 0.3333 0 0 0.3333 0 0 0 0 0
0 0.5 0 0 0 0.5 0 0 0 0
0 0.5 0 0 0.5 0 0 0 0 0
0 0.5 0 0 0.5 0 0 0 0 0
0 0.5 0 0 0.5 0 0 0 0 0
0 0.5 0 0 0.5 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0
2.2 Matriz de Transi¸ c˜ ao
Segundo [4], para simular o processo de acessos aleat´ orios atrav´ es das p´ aginas que referenciam umas
`
as outras, e de acordo com a probabilidade associada a cada caso, a automatiza¸ c˜ ao desse processo ´ e dado atrav´ es da Cadeia de Markov, e para isso, definimos uma Matriz de Transi¸ c˜ ao ou Matriz de Markov ` a direita, no qual todas as filas devem somar 1 e todos os valores s˜ ao reais n˜ ao negativos.
Para atender ` a propiedade da Matriz de Transi¸ c˜ ao, devemos realizar um pequeno ajuste na nossa Matriz de Hiperlink. Notamos que a primeira fileira ´ e composta de apenas zeros, isto se d´ a porque na Figura 2 a p´ agina A, apesar de ser referenciada pela p´ agina D, A n˜ ao referencia nenhuma outra p´ agina.
Portanto, realizamos o seguinte ajuste na regra de cria¸ c˜ ao da Matriz de Hiperlink:
Se S
i= 0, ou seja, a soma das probabilidades de a partir da linha i for nula, todos os elementos da fila i de H ser˜ ao H
ij= 1/N onde N ´ e a dimens˜ ao da Matriz, para todo j.
2.2.1 Problema da Subrede
O segundo ajuste que precisa ser realizado na nossa matriz de transi¸ c˜ ao acontece porque, no caminho pelas p´ aginas de forma aleat´ oria, pode acontecer de nos encontrarmos em uma subrede que n˜ ao possui um
”caminho de volta”para o restante da rede. Este problema ´ e melhor ilustrado por [4] na Figura a seguir:
Enquanto caminhamos pelo grafo de forma autom´ atica pelo processo das Cadeias de Markov, se ca´ırmos Figura 2: Uma Subrede dentro de uma rede de p´ aginas
em um nodo como 5 ou 6 as navega¸ c˜ oes posteriores ser˜ ao apenas nesta subrede, trazendo uma estimativa irreal de que as p´ aginas de fora da subrede teriam relevˆ ancia nula.
Este problema se d´ a quando a Matriz de Transi¸ c˜ ao ´ e redut´ıvel, isto ´ e, uma matriz A
ijque seus ´ındices
podem ser divididos em dois conjuntos de i
1e i
2e j
1e j
2de A tais que os elementos de a
i1j1e a
i2j2sejam
0 [5].
2.2.2 Matriz de Google
Para solucionarmos este problema, segundo [4], a Google sugeriu a transforma¸c˜ ao linear da Matriz descrita por H
a= 0.85H + 0.15/N onde H ´ e a Matriz de Transi¸c˜ ao e N ´ e a dimens˜ ao da Matriz. e o resultado ´ e a Matriz de Transi¸c˜ ao ajustada ou Matriz de Google.
A Matriz de Google, ap´ os o ajuste sugerido na se¸ c˜ ao 2.2.1 e o sugerido nesta:
(Conforme explicado na se¸ c˜ ao 2.1, n˜ ao foi poss´ıvel mostrar todas as colunas da matriz de Google).
H
a=
0.0909 0.0909 0.0909 0.0909 0.0909 0.0909 0.0909 0.0909 0.0909 0.0909 0.0136 0.0136 0.8636 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.8636 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.2970 0.2970 0.0136 0.0136 0.2970 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.4386 0.0136 0.0136 0.0136 0.4386 0.0136 0.0136 0.0136 0.0136 0.0136 0.4386 0.0136 0.0136 0.4386 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.4386 0.0136 0.0136 0.4386 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.4386 0.0136 0.0136 0.4386 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.4386 0.0136 0.0136 0.4386 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.8636 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.8636 0.0136 0.0136 0.0136 0.0136 0.0136
2.3 Autovetor dominante
Para encontrarmos a relevˆ ancia das p´ aginas, precisamos encontrar o vetor estacion´ ario ou autovetor dominante da Cadeia de Markov, o que pode ser feito, segundo [4] atrav´ es do m´ etodo das potˆ encias.
(Conforme explicado na se¸ c˜ ao 2.1, n˜ ao foi poss´ıvel mostrar todas as colunas da matriz de Google).
π = H
apπ ou
0.0909 0.0909 0.0909 0.0909 0.0909 0.0909 0.0909 0.0909 0.0909 0.0909 0.0136 0.0136 0.8636 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.8636 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.2970 0.2970 0.0136 0.0136 0.2970 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.4386 0.0136 0.0136 0.0136 0.4386 0.0136 0.0136 0.0136 0.0136 0.0136 0.4386 0.0136 0.0136 0.4386 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.4386 0.0136 0.0136 0.4386 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.4386 0.0136 0.0136 0.4386 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.4386 0.0136 0.0136 0.4386 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.8636 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.0136 0.8636 0.0136 0.0136 0.0136 0.0136 0.0136
p
.
π
Aπ
Bπ
Cπ
Dπ
Eπ
Fπ
Gπ
Hπ
Iπ
Jπ
K
=
π
Aπ
Bπ
Cπ
Dπ
Eπ
Fπ
Gπ
Hπ
Iπ
Jπ
K
Onde H
a´ e a Matriz de Google elevada ` a potˆ encia p e p ´ e o n´ umero de itera¸c˜ oes do m´ etodo das potˆ encias da cadeia de Markov. Google diz que com a Matriz de Google este m´ etodo apenas precisa de 50 a 100 itera¸c˜ oes para atingir o vetor estacion´ ario [4].
Finalmente, ordenamos os valores do autovetor dominante π de forma decrescente para obter o ranque- amento das p´ aginas.
2.4 Algoritmo
A seguir, o algoritmo que implementa a solu¸ c˜ ao discutida at´ e agora, como entrada, ele recebe a Matriz
representada pela Tabela 2, e como sa´ıda, ele retorna o autovetor dominante π ordenado de forma decrescente
para a relevˆ ancia das p´ aginas.
Algoritmo 2: PageRank
Entrada: Matriz T
nxn, Crit´ erio de parada p, Vetor Posi¸c˜ ao das P´ aginas V
pos= [A, B, ..., K]
1
para i = 1 at´ e n fa¸ ca
2
S
i= 1
3
para j = 0 at´ e n fa¸ ca
4
S
i= S
i+ t
ij5
fim
6
se S
i> 0 ent˜ ao
7
para j = 0 at´ e n fa¸ ca
8
h
ij= t
ij/S
i9
fim
10
fim
11
sen˜ ao
12
para j = 0 at´ e n fa¸ ca
13
1/n
14
fim
15
fim
16
fim
17
para i = 1 at´ e n fa¸ ca
18
para j = 1 at´ e n fa¸ ca
19
h
aij= h
ij∗ 0.85 + 0.15/n
20
fim
21
fim
22
H
Aux= I
nxn, H
P ow23
para p
i= 1 at´ e p fa¸ ca
24
para i = 1 at´ e n fa¸ ca
25
para j = 1 at´ e n fa¸ ca
26
S
aux= 0
27
para k = 1 at´ e n fa¸ ca
28
S
aux= S
aux+ h
Auxij∗ h
aij29
fim
30
h
P owij= S
aux31
fim
32
fim
33
H
Aux= H
P ow34
fim
35
para j = 1 at´ e n fa¸ ca
36
π
j= h
Aux1j37
fim
38
i = 1, j = 2,i
pos=, j
pos=
39
temp
i= 0, temp
j= 0
40
enquanto j < n fa¸ ca
41
se π
i< π
jent˜ ao
42
temp
i= π
i,temp
j= π
j43
π
i= temp
j,π
j= temp
i 44i
pos = v
posi,j
pos = v
posj45
v
posi= j
pos,v
posj= i
pos46
i = 1,j = 2
47
fim
48
sen˜ ao
49
i = i + 1,j = j + 1
50
fim
51
fim
52
retorna π
Sa´ ıda: Autovetor ordenado π
A explica¸c˜ ao do algoritmo se d´ a a seguir:
Das linhas 1 at´ e 16 do algoritmo, ´ e montada a Matriz de Transi¸ c˜ ao
Das linhas 17 at´ e 21 a Matriz de Transi¸ c˜ ao ´ e ajustada e convertida na Matriz de Google da se¸ c˜ ao 2.2.2.
Das linhas 22 at´ e 34 ´ e calculado a potˆ encia de H
aat´ e o n´ umero de passos p indicado pelo crit´ erio de parada.
Das linhas 35 a 37 ´ e encontrado o autovetor dominante ou vetor estacion´ ario a partir da Matriz resultante. Para encontrar π quando π ´ e o vetor estacion´ ario em H
aπ = π, temos que π
i= H
1i.
Das linhas 38 a 51 o autovetor dominante ´ e ordenado de forma decrescente pela relevˆ ancia, utilizando o m´ etodo de ordena¸ c˜ ao Bubble Sort.
Atrav´ es do Vetor V
pos´ e poss´ıvel identificar qual valor se refere a qual p´ agina.
2.5 Resultados
Na Tabela 3 a seguir ´ e poss´ıvel verificar os resultados encontrados pela implementa¸ c˜ ao do algoritmo 2, com dados de entrada a Matriz representada pela Tabela 2, crit´ erio de parada p = 100 e Vetor de posi¸ c˜ oes V
pos= [A, B, C, D, E, F, G, H, I, J, K ].
V
pos0.3979 0.3534 0.0865 0.0519 0.0194 0.0151 0.0151 0.0151 0.0151 0.0151 0.0151 V
pos(%) (38%) (34%) (8%) (5%) (3%) (2%) (2%) (2%) (2%) (2%) (2%)
π B C E F A D G H I J K
Tabela 3: Resultados do Algoritmo PageRank
Em compara¸ c˜ ao aos resultados fornecidos originalmente pela Figura 2, encontramos resultados seme- lhantes. A ´ unica diferen¸ca se daria pelo m´ etodo de arredondamento, j´ a que todos os n´ umeros precisam somar no total 1 (Ou 100%), o crit´ erio de arredondamento pode variar.
A ´ unica discrepˆ ancia relevante que podemos encontrar na compara¸ c˜ ao dos resultados com a Figura 2 ´ e que no resultado da mesma, D possui uma relevˆ ancia maior a A, o que ´ e mostrado ser ao contr´ ario no nosso resultado.
3 Cadeia de Markov
O Enunciado do exerc´ıcio 3 ´ e o seguinte: Numa cidade as pessoas tem quatro op¸ c˜ oes de jantar: um restaurante japonˆ es, uma churrascaria, uma pizzaria e em casa. Suponha que:
20% dos que comeram no restaurante japonˆ es v˜ ao a churrascaria, 20% ficam em casa e 30% v˜ ao ` a pizzaria no pr´ oximo jantar.
10% dos que comeram ` a churrascaria v˜ ao ` a pizzaria, 25% ficam em casa e 25% v˜ ao ao japonˆ es no pr´ oximo jantar.
20% dos que comeram em casa v˜ ao ao restaurante japonˆ es, 25% v˜ ao a churrascaria e 30% v˜ ao ` a pizzaria
no pr´ oximo jantar.
30% dos que comeram na pizzaria jantam em casa, 30% v˜ ao ao japonˆ es e 10% v˜ ao a churrascaria.
Se numa noite a clientela ´ e igualmente dividida, qual a propor¸ c˜ ao de clientes em cada restaurante depois de trˆ es noites? E depois de 2 semanas?
3.1 Abordagem
[6] cita um exemplo muito semelhante a este e sugere que a solu¸ c˜ ao ´ e dada atrav´ es da Cadeia de Markov.
Esta seria mais uma das utiliza¸ c˜ oes das Cadeias de Markov, al´ em da vista na se¸ c˜ ao 2, do PageRank.
Da mesma forma como visto na se¸ c˜ ao anterior, nosso primeiro objetivo para resolver o problema ´ e en- contrar a Matriz de Transi¸ c˜ ao, ou Matriz de Markov. Desta vez, utilizaremos a Matriz de Transi¸ c˜ ao ` a esquerda, devido a que no exemplo dado em [6], ´ e este o tipo de matriz de transi¸ c˜ ao utilizada, e para efeitos de compara¸ c˜ ao com os exemplos dados no artigo, ficaria mais fiel aos resultados. Para isto, utilizamos as informa¸ c˜ oes de probabilidade que j´ a foram fornecidas pelo problema:
Japonˆ es Churrascaria Pizzaria Casa
Japonˆ es 0 0.25 0.3 0.2
Churrascaria 0.2 0 0.1 0.25
Pizzaria 0.3 0.1 0 0.3
Casa 0.2 0.25 0.3 0
Tabela 4: Rela¸ c˜ oes de probabilidades entre os restaurantes
Conforme especificado na se¸ c˜ ao 2.2, tem um problema com a Tabela 4, n˜ ao s´ o a Matriz de Transi¸ c˜ ao precisa ser irredut´ıvel, como tamb´ em todas as colunas precisam somar 1. Para isso, vamos somar as colunas da Matriz e substituir os zeros pelo valor faltante para ser 1, assim:
Se i 6= j ent˜ ao H
ij= T
ij, caso contr´ ario, seja S
ja soma dos valores da coluna j, H
ij= 1 − S
j. Tendo assim, a matriz de Transi¸c˜ ao H = [H
ij]:
H =
0.30 0.25 0.30 0.20 0.20 0.40 0.10 0.25 0.30 0.10 0.30 0.30 0.20 0.25 0.30 0.25
Tendo encontrado a Matriz de Transi¸ c˜ ao, para encontrar o resultado do exerc´ıcio, precisamos calcular o vetor estacion´ ario ou autovetor dominante atrav´ es do m´ etodo das potˆ encias:
π =
0.30 0.25 0.30 0.20 0.20 0.40 0.10 0.25 0.30 0.10 0.30 0.30 0.20 0.25 0.30 0.25
p
.
0.25 0.25 0.25 0.25
Onde p ´ e o n´ umero de itera¸ c˜ oes do m´ etodo das potˆ encias da Cadeia de Markov.
O autovetor correspondente ` a primeira noite ´ e composto por a
ij= 1/n e n = 4 j´ a que o enunciado
informa que na primeira noite a clientela foi dividida igualmente. Para calcular o autovetor correspondente
ap´ os trˆ es noites e ap´ os duas semanas precisamos calcular π quando T = 4 e T = 15, respectivamente.
3.2 Algoritmo
Algoritmo 3: Cadeia Markov
Entrada: Matriz T
nxn, Crit´ erio de parada p, Vetor Probabilidade Inicial V
ini1
para j = 1 at´ e n fa¸ ca
2
S
j= 0
3
para i = 1 at´ e n fa¸ ca
4
S
j= S
j+ T
ij5
fim
6
para i = 1 at´ e n fa¸ ca
7
se i = j ent˜ ao
8
H
ij= 1 − S
j9
fim
10
sen˜ ao
11
H
ij= T
ij12
fim
13
fim
14
fim
15
H
Aux= I
nxn, H
P ow 16para p
i= 1 at´ e p fa¸ ca
17
para i = 1 at´ e n fa¸ ca
18
para j = 1 at´ e n fa¸ ca
19
S
aux= 0
20
para k = 1 at´ e n fa¸ ca
21
S
aux= S
aux+ H
Auxij∗ H
aij22
fim
23
H
P owij= S
aux24
fim
25
fim
26
H
Aux= H
P ow 27fim
28
para i = 1 at´ e n fa¸ ca
29
soma = 0
30
para j = 1 at´ e n fa¸ ca
31
soma = soma + H
Auxij∗ V
inij32
fim
33
π
i= soma
34
fim
35