automata.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:lomap 作者: wasserfeder 项目源码 文件源码
def prune(self):
        """TODO:

        Note: Does not update the final data structure, because it is dependent
        on the automaton type.
        """
        # set of allowed symbols, i.e. singletons and emptyset
        symbols = set([0] + self.props.values())
        # update transitions and mark for deletion
        del_transitions = deque()
        for u, v, d in self.g.edges_iter(data=True):
            sym = d['input'] & symbols
            if sym:
                d['input'] = sym
            else:
                del_transitions.append((u, v))
        self.g.remove_edges_from(del_transitions)
        # delete states unreachable from the initial state
        init = next(self.init.iterkeys())
        reachable_states = nx.shortest_path_length(self.g, source=init).keys()
        del_states = [n for n in self.g.nodes_iter() if n not in reachable_states]
        self.g.remove_nodes_from(del_states)
        return del_states, del_transitions
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号