LEMA 03 : A seguinte identidade é válida:

\[ E\big[\;|X_i-Y_k|\;]=\frac{k-i+i2^{-k+1}}{\lambda}+\frac{2^{-k}}{\lambda}\sum\limits_{j=0}^{i-1}\binom{k+j}{k-1}2^{-j}(i-1-j) \]

Código para Diferença Esperada entre eventos de dois processos de Poisson iid

Ei_k<-function(i,k,lambda){
  parc<-numeric(i)
  for (t in 1:i){
      j=t-1
  parc[t]<-(choose(k+j,k-1))*(2^-j)*(i-1-j) }
  res<-((k-i+i*2^(-k+1))/lambda)+(2^-k/lambda)*sum(parc)
  return(setNames(res,paste("Dist. Esp entre os eventos X",i,"e","Y",k)))
 }
Ei_k(2,1,5)
## Dist. Esp entre os eventos X 2 e Y 1 
##                                  0.3

TEOREMA 01 ( Artigo )

(Fórmula para distância de eventos). Considere dois processos de poisson iid tendo taxas de chegada idênticas e igual a \(\lambda\) e seja \(X_1,X_2,\cdots\) e \(Y_1,Y_2,\cdots\) seus respectivos tempos de chegada. Nessas condicões, a identidade seguinte é válida para todo \(r\geq0\):

\[ E\big[\;|X_{k+r}-Y_k| \;\big]=\frac{k2^{-2k+1}}{\lambda}\binom{2k}{k}\bigg(1+\sum\limits_{s=0}^{r-1}\frac{r-s}{(2k+s)2^s}\frac{(2k+1)^{(s)}}{(k+1)^{(s)}}\bigg)\]

Prelimanares: Polinomio de Pochhammer

P.C<-function(x,q){
  vetor<-numeric(q)
  if (q>=1){
    for (i in 1:q){
      vetor[i]<-x+(i-1)
    }
    res<-prod(vetor)
  } else { res<-1}
  return(res)
}
# Exemplo
P.C(2,3) ; P.C(2,0)
## [1] 24
## [1] 1

Distância Esperada

E<-function(k,r,lambda){
    Parc<-numeric(r)
    for (j in 1:r){
        s<-j-1
        Parc[j]<-( (r-s) / ( (2*k+s)*(2^s) ) ) * (P.C(2*k+1,s)/P.C(k+1,s))
    }
  res<-(k*(2^(-2*k+1))/lambda)*(choose(2*k,k))*(1+sum(Parc))
  return(setNames(res,paste("Dist. Esp entre os eventos X",k+r,"e","Y",k)))
}
## Exemplos Distancia esp. entre os eventos X5 e Y2 e; entre os eventos X7 e Y9 
E(2,3,4) ; E(7,4,4)
## Dist. Esp entre os eventos X 5 e Y 2 
##                            0.8203125
## Dist. Esp entre os eventos X 11 e Y 7 
##                              1.187012
## Comparando as formulas obtidas -- espera-se o mesmo resultado
identical(Ei_k(2,1,5),E(1,1,5))
## [1] TRUE
E(2,1,3) ; Ei_k(2,1,5)
## Dist. Esp entre os eventos X 3 e Y 2 
##                                0.625
## Dist. Esp entre os eventos X 2 e Y 1 
##                                  0.3

TEOREMA 2

Verificando as identidades ( Equação (22) e Desigualdade final )

compara1<-function(n){
  E.bin1<-((n*(n+1)*2^(-2*n))/3)*choose(2*(n+1),n+1)
  soma<-0;
  for (i in 1:n){
    soma<-soma+(i*2^(-2*i+1))*choose(2*i,i)
  }
  return(list=c("S1"=soma,"E"=E.bin1))
}

compara1(100) # Exemplo: esta funcao retorna os valores de ambos os membros da identidade p/ n=100
##       S1        E 
## 755.0696 755.0696
### Verificando as desigualdades

compara2<-function(i){
        ((2*exp( 1/(24*i+1) - 1/(6*i) )/sqrt(pi))*sqrt(i)< i*2^(-2*i+1)*choose(2*i,i)) <
        (2*exp(1/(24*i)-2/(12*i+1)))*(sqrt(i)/sqrt(pi))
}

#compara2(10) # funcao que retorna TRUE caso a desigualdade é verificada para cada i inteiro.

#vetor<-1:100  ;  sapply(vetor,compara2) # verifica se a desigualdade vale para um conjuntos de valores

TEOREMA 3

Afirmação 2) (Formula Matemática para o Custo)

soma_dif.esp<-function(n,lambda){((n*(n+1)*2^(-2*n))/(3*lambda))*choose(2*(n+1),n+1)}

soma_dif.esp(100,2)
## [1] 377.5348
limites<-function(n,lambda){
  c2<-2*exp(1/24)/(pi)^0.5 # constante c1
  c1<-2/(exp(1)*(pi)^0.5) # constante c2
       lim.inf<-c1*(n)*(n^(0.5))/lambda  ; lim.sup<-c2*(n)*(n^(0.5))/lambda
     return(c(lim.inf,lim.sup))
     }
limites(100,2)
## [1] 207.5537 588.1941

Simulação: 1o Modo: Utilizando a distribuição GAMA

Afirmação 2 do Teorema 3: ( Correspondente Amostral para o Custo)
############## TEOREMA 3) Afirmações 1) e 2): CORRESPONDENTES AMOSTRAIS (SIMULAÇÂO PARA FORMULAS MATEMATICAS ).
rm(list=ls())

n<-100  # n: quantidade de amostras ; 
m<-100  # m: tamanho de cada amostra 
lambda<-2 

mat.X<-matrix(0,nrow=n,ncol=m)

mat.Y<-matrix(0,nrow=n,ncol=m)

intervalos<-matrix(0,n,2)

c1<-2/(exp(1)*sqrt(pi)) ; c2<-(2*exp(1/24))/(sqrt(pi)) # Constantes encontradas em Kranakis (2014).

   for( i in 1:n){ 
       
            mat.X[i,]<-rgamma(m,i,lambda) # Tempos de chegada do primeiro processo.
            
            mat.Y[i,]<-rgamma(m,i,lambda) # Tempos de chegada do segundo processo.
       
            intervalos[i,]<-c(c1*sqrt(i)/lambda,c2*(sqrt(i))/lambda) # Intervalo assintotico de kranakis (2014).
}

D<-abs(mat.X-mat.Y)     ### Matriz de diferencas absolutas cujos elementos são D_ij=|X_ij - Y_ij|, dim: (nxm).

media<-apply(D,1,mean)  ### Vetor contendo todas as médias D_i.bar 
                        ### Obs.:(Cada média amostral D_i.bar equivale à sua correspondente populacional E|X_i-Y_i| ).

(soma<-sum(media))      ###  Teorema 3 - af. 2)  Correspondente amostral para o SOMATORIO de E|X_i-Y_i.|
## [1] 380.2345
# 0 < c1*g(n) < f(n) < c2*g(n)  Aqui, g(n)=n*sqrt(n)/lambda  e f(n)= Soma de E|X_i-Y_i| (Obs.: depende de n).

(int_para_soma<-c(c1*n*sqrt(n)/lambda , c2*n*sqrt(n)/lambda)) 
## [1] 207.5537 588.1941