저번 포스팅에서는 workflow net이 무엇인지에 대해 알아보았다. 저번 포스팅의 마무리 부분에서 언급했듯이, 모든 workflow net이 올바른 프로세스를 나타내는 것은 아니다. 도출해 낸 프로세스 모델의 fitness, precision 등의 모델의 질을 평가하는 척도도 중요하겠지만, 이 프로세스 모델이 올바른 프로세스 모델이 아니라면 이는 좋은 모델이라고 할 수 없을 것이다. 즉, process discovery를 하는 데 있어서 프로세스 모델의 correctness를 판단하는 것은 필수적인 과정이라고 할 수 있다. 이번 포스팅에서는 workflow net의 correctness를 판단할 수 있는 기준인 soundness에 대해 알아보겠다.
Soundness란?
Workflow net의 soundness는 다음과 같이 정의할 수 있다.
이 네 가지 조건들에 대해 하나하나 설명하도록 하겠다.
1. Safeness
Safeness란, 페트리 넷의 모든 place들이 최대 한 개의 토큰을 가지는 것을 말한다. 예를 들어, 다음과 같은 페트리 넷이 있다고 하자.
이 페트리 넷은 safe인가? 답은 아니다. 왜냐하면 t1이 fire된 후 p3, p2에 token이 생기는데, 이 때 t3를 fire하면 p3, p4에 토큰이 생기고, 한 번 더 t3를 fire하면 p4에 토큰이 2개가 되기 때문이다.
2. Proper Completion
Proper Completion이란, sink place가 marking되면 다른 모든 place에는 토큰이 존재하지 않는 것을 말한다.
그렇다면, 위의 예시 petri net은 proper completion을 만족할까? 답은 아니다. 바로 위의 marking 상황에서 t2가 fire되면 sink place인 p5에 marking이 생기는데, 아직 p3와 p4에 token이 남아 있기 때문이다.
3. Option to Complete
Option to Complete란, sink place에만 토큰이 하나 있는 final marking에 도달하는 것이 가능한 것을 말한다. Option to complete를 만족하면 proper completion 조건도 자동으로 만족된다.
4. Absence of Dead Parts
Absence of dead parts란, initial marking으로부터 모든 transition에 대해 이를 enable하는 것이 가능한 것을 말한다. 예를 들어, 다음과 같은 페트리 넷이 있다고 하자.
이 페트리 넷은 absence of dead parts 조건을 만족하는가? 답은 아니다. 왜냐하면 t3 트랜지션은 절대로 enable될 수 없기 때문이다. 즉, t3는 dead transition이다.
이 네가지 조건을 모두 만족하는 workflow net을 sound한 workflow net이라고 부르고, 이것이 올바른 프로세스 모델의 기준이 된다.
이번 포스팅에서는 올바른 프로세스 모델의 기준인 soundness가 무엇인지에 대해 알아보았다. 좋은 프로세스 모델을 도출하는 데 있어 soundness를 체크하는 것은 필수적인 과정이고, 이에 ProM, RapidMiner 등 다양한 툴들이 soundness check 기능을 제공한다. Sound한 모델과 함께 프로세스 분석이 이루어진다면 정확하고 올바른 분석이 가능할 것이다.
References
1. Course: Business Process Intelligence. RWTH. Wil van der Aalst.
2. Section 3.2.3. of Wil van der Aalst. Process Mining: Data Science in Action (Second Edition) : Springer, 2016.
최근댓글