Exemple #1
0
    ##############################################
    def chosenElim(trans):  #
        if len(trans) == 2:  #
            return trans  #
        elif len(trans) == 4:  #
            return (  #
                trans[0],  #
                chosenToEn(trans[1]),  #
                chosenToEn(trans[2]),  #
                trans[3]  #
            )  #
        else:  #
            raise Exception("Internal error")  #

    ##############################################

    player2 = player2.mapTrans(chosenElim)
    print(player2)

    invertedOrder = invertedOrder.packTransdToAutomaton()
    invertedOrder = invertedOrder.removeEpsilon()
    player2 = player2.packTransdToAutomaton()
    player2 = player2.removeEpsilon()

    isected = Automaton.intersection(invertedOrder, player2)
    isected = isected.unpackAutomatonToTransd()
    print(isected)

    with open(os.path.join(OUTPUT_DIR, "order_decoded.dot"), "w") as text_file:
        text_file.write(isected.exportToDot())