Ejemplo n.º 1
0
 def subtree_proposal(self):
     """
     Proposes a new state based on current state using subtree move
     Uses base class PCFGTree's subtree_proposal_propose_tree to generate 
     new tree, then samples positions for new added parts
     """
     pcfg_proposal = PCFGTree.subtree_proposal_propose_tree(self)
     # get a new spatial model based on proposed tree
     proposed_spatial_model = self.spatial_model.propose(pcfg_proposal, self.grammar)
     proposal = self.__class__(forward_model=self.forward_model, data=self.data, ll_params=self.ll_params, 
                               spatial_model=proposed_spatial_model, initial_tree=pcfg_proposal)
     acc_prob = self._subtree_acceptance_probability(proposal)
     return proposal, acc_prob    
 def subtree_proposal(self):
     """
     Proposes a new state based on current state using subtree move
     Uses base class PCFGTree's subtree_proposal_propose_tree to generate 
     new tree, then samples positions for new added parts
     """
     pcfg_proposal = PCFGTree.subtree_proposal_propose_tree(self)
     # get a new spatial model based on proposed tree
     proposed_spatial_model = self.spatial_model.propose(
         pcfg_proposal, self.grammar)
     proposal = self.__class__(forward_model=self.forward_model,
                               data=self.data,
                               ll_params=self.ll_params,
                               spatial_model=proposed_spatial_model,
                               initial_tree=pcfg_proposal)
     acc_prob = self._subtree_acceptance_probability(proposal)
     return proposal, acc_prob