<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def markov_blanket(self, beta, alpha):
 """ Creates total Markov blanket for states Parameters beta : np.array Contains untransformed starting values for latent variables alpha : np.array A vector of states Returns Markov blanket for states """
             
        likelihood_blanket = self.likelihood_markov_blanket(beta)
        state_blanket = self.state_likelihood_markov_blanket(beta,alpha,0)
        for i in range(self.state_no-1):
            likelihood_blanket = np.append(likelihood_blanket,self.likelihood_markov_blanket(beta))
            state_blanket = np.append(state_blanket,self.state_likelihood_markov_blanket(beta,alpha,i+1))
        return likelihood_blanket + state_blanket