Coder Social home page Coder Social logo

Comments (11)

s-j-v-zelst avatar s-j-v-zelst commented on August 28, 2024 1

Hi @fmannhardt,

I have looked at this together with @Javert899
Minor side note, alignments can actually be computed on easy sound WF nets, which are non-relaxed ;-)

Anyways, the problem was, that I didn't check in the code if a solution existed for the heuristic.
Clearly, if there is no solution, the heuristic should be set to infinity (or MAX INT).
At the moment, the heuristic was None and then the addition of the heuristic to the cost traveled so far was breaking.

From a theoretical perspective, this implies that the code was only able to handle sound WF nets indeed.
We have released this fix in 1.1.1

from pm4py-core.

Javert899 avatar Javert899 commented on August 28, 2024

Hi,

The Petri net looks a sound workflow net to my eye, but the initial marking is set as empty, and that is not correct.

from pm4py-core.

fmannhardt avatar fmannhardt commented on August 28, 2024

I see, there was an issue with my exporting code and now there are both markings in the file.
Anyway, still the same error so it seems something to be wrong with some other part.

This is the correct Petri net:
heur_v2.zip

Note that alignments do not require sound Workflow nets as input, should work for any Petri net. It is just not guaranteed to finish ;)

from pm4py-core.

Javert899 avatar Javert899 commented on August 28, 2024

Actual implementation in PM4Py, that is based on an Heuristic based on resolving the marking equation, requires at least relaxed soundness ..

Obviously, other implementations could be considered in future ;)

from pm4py-core.

fmannhardt avatar fmannhardt commented on August 28, 2024

Yes, that is what I meant. Non relaxed sound ones cannot be aligned by definition.
Anyway, there seems to be something else wrong regarding the example I uploaded.

from pm4py-core.

fmannhardt avatar fmannhardt commented on August 28, 2024

Was this fixed? I tried it again, but it results in the same error.

from pm4py-core.

Javert899 avatar Javert899 commented on August 28, 2024

Unfortunately there is no much we can do on the current version if the net is not sound

In some time from now, a version that is able to do alignments on accepting Petri nets, although with a much larger number of states evaluated, will be worked

See issue #62

from pm4py-core.

fmannhardt avatar fmannhardt commented on August 28, 2024

Did you have a look at the last files I uploaded:
https://github.com/pm4py/pm4py-source/files/2884165/heur_v2.zip

This has the correct initial and final marking. it is not a sound workflow net, but definitely a relaxed sound Petri net as required by alignments --- at least in its original definition.
Does the PM4PY implementation only work for sound workflow nets?

from pm4py-core.

fmannhardt avatar fmannhardt commented on August 28, 2024

Thanks. All those definitions, what was easy sound again? ;)

from pm4py-core.

s-j-v-zelst avatar s-j-v-zelst commented on August 28, 2024

there just has to exist a path from the initial marking to the final marking (easy sound).

relaxed sound is something along the lines of we are able to enable each transition from the initial marking and after firing such transition we can still reach the final marking.

from pm4py-core.

fmannhardt avatar fmannhardt commented on August 28, 2024

Oh, then easy sound is what I call relaxed sound for Data Petri nets. :-)

from pm4py-core.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.