示例#1
0
    def change_vertex_name(self, old_name, new_name):
        # change in edges
        for i in range(len(self.E)):
            # change in parents
            if old_name == self.E[i][0]:
                self.E[i][0] = new_name

                # in vdata
                pars = self.Vdata[self.E[i][1]]["parents"]
                self.Vdata[self.E[i][1]]["parents"] = \
                    ulist.change_element_in_list(pars, old_name, new_name)

            # change in children
            elif old_name == self.E[i][1]:
                self.E[i][1] = new_name
                # in vdata
                children = self.Vdata[self.E[i][0]]["children"]
                self.Vdata[self.E[i][0]]["children"] = \
                    ulist.change_element_in_list(children, old_name, new_name)

        self.Vdata[new_name] = self.Vdata.pop(old_name)
        self.V = ulist.change_element_in_list(self.V, old_name, new_name)
    def change_vertex_name(self, old_name, new_name):
        # change in edges
        for i in range(len(self.E)):
            # change in parents
            if old_name == self.E[i][0]:
                self.E[i][0] = new_name

                # in vdata
                pars = self.Vdata[self.E[i][1]]["parents"]
                self.Vdata[self.E[i][1]]["parents"] = \
                    ulist.change_element_in_list(pars, old_name, new_name)

            # change in children
            elif old_name == self.E[i][1]:
                self.E[i][1] = new_name
                # in vdata
                children = self.Vdata[self.E[i][0]]["children"]
                self.Vdata[self.E[i][0]]["children"] = \
                    ulist.change_element_in_list(children, old_name, new_name)

        self.Vdata[new_name] = self.Vdata.pop(old_name)
        self.V = ulist.change_element_in_list(self.V, old_name, new_name)
示例#3
0
    def change_state_name(self, vertex_name, old_name, new_name):
        # state name
        l_vals = self.Vdata[vertex_name]["vals"]
        self.Vdata[vertex_name]["vals"] = \
            ulist.change_element_in_list(l_vals, old_name, new_name)

        # CPT in children
        children = self.getchildren(vertex_name)
        for child in children:
            cprob = self.Vdata[child]["cprob"]

            cpt = [cprob[k] for k in cprob.keys()]
            parents_mtx = self.get_parent_states(child)
            str_parent_mtx = self.str_parent_states(parents_mtx)

            new_cprob = {}
            # Maybe this is not the best way
            for j in range(len(str_parent_mtx)):
                new_cprob[str_parent_mtx[j]] = cpt[j]

            self.Vdata[child]["cprob"] = new_cprob
    def change_state_name(self, vertex_name, old_name, new_name):
        # state name
        l_vals = self.Vdata[vertex_name]["vals"]
        self.Vdata[vertex_name]["vals"] = \
            ulist.change_element_in_list(l_vals, old_name, new_name)

        # CPT in children
        children = self.getchildren(vertex_name)
        for child in children:
            cprob = self.Vdata[child]["cprob"]

            cpt = [cprob[k] for k in cprob.keys()]
            parents_mtx = self.get_parent_states(child)
            str_parent_mtx = self.str_parent_states(parents_mtx)

            new_cprob = {}
            # Maybe this is not the best way
            for j in range(len(str_parent_mtx)):
                new_cprob[str_parent_mtx[j]] = cpt[j]

            self.Vdata[child]["cprob"] = new_cprob