##################################### # EM Tur & JM Azagra Caro, 2018. # The coevolution of endogenous knowledge networks and knowledge creation. # Journal of Economic Behavior and Organization, 145, 424-434. # https://doi.org/10.1016/j.jebo.2017.11.023 ##################################### ##################################### # FUNCTIONS ##################################### #agent production f.prod=function(i,t,tau){ p1=sum(.know[i,(t-tau):(t-1)])/tau p2=sum(.degree[i,(t-tau):t])/(tau+1) p=max(.alpha*p1+.theta*p2-.gamma*(.degree[i,t])^2,0) p } #network formation f.netw=function(t,tau){ omega=array(0,dim=c(.n,.n)) for(i in 2:.n){ for(j in 1:(i-1)){ cota=f.cota(i,j,t,tau) if(cota){ omega[i,j]=1 omega[j,i]=1 } } } omega } #probab of collaborating f.cota=function(i,j,s,tau){ Pij=as.matrix(.know[,(s-tau):(s-1)]) Mij=apply(Pij,2,max) Mij[Mij<1]=1 cota.i=(1-.lambda)*sum(Pij[i,]/Mij)/tau+.lambda*sum(.omega[i,j,(s-tau):(s-1)])/tau cota.j=(1-.lambda)*sum(Pij[j,]/Mij)/tau+.lambda*sum(.omega[i,j,(s-tau):(s-1)])/tau aleat.i=runif(1,0,1) aleat.j=runif(1,0,1) collab=aleat.i1){for(.t in 2:.tau){ .omega[,,.t]=f.netw(.t,.t) .degree[,.t]=colSums (.omega[,,.t], na.rm = FALSE, dims = 1) .know[,.t]=mapply(f.prod,agente,.t,.t) }} # run the time steps for(.t in (.tau+1):.T){ .omega[,,.t]=f.netw(.t,.tau) .degree[,.t]=colSums (.omega[,,.t], na.rm = FALSE, dims = 1) .know[,.t]=mapply(f.prod,agente,.t,.tau) } rm(.omega) #order of indexes: [theta, alpha, gamma, lambda, r, agent, period] know.all [i.t, i.a, i.g, i.l,r,,]=.know degree.all[i.t, i.a, i.g, i.l,r,,]=.degree cat(paste("lambda",.lambda,"\t")) } cat(paste("alpha",.alpha,"\n")) } cat(paste("------ theta",.theta," \n")) } cat(paste("------------------------r",r,"\n")) } cat(paste("gamma",.gamma,"\n")) } #save the results save(know.all,file="know_all.Rdata") save(degree.all,file="degree_all.Rdata") #load the results #load(paste(path,"/know_all.Rdata",sep="")) #load(paste(path,"/degree_all.Rdata",sep="")) ##################################### # END OF MAIN #####################################