Next Article in Journal
Efficiency of the Moscow Stock Exchange before 2022
Previous Article in Journal
Clarifying How Degree Entropies and Degree-Degree Correlations Relate to Network Robustness
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Model Checking Fuzzy Computation Tree Logic Based on Fuzzy Decision Processes with Cost

School of Computer Science and Engineering, North Minzu University, Yinchuan 750000, China
*
Authors to whom correspondence should be addressed.
Entropy 2022, 24(9), 1183; https://doi.org/10.3390/e24091183
Submission received: 10 August 2022 / Revised: 21 August 2022 / Accepted: 23 August 2022 / Published: 24 August 2022
(This article belongs to the Section Multidisciplinary Applications)

Abstract

:
In order to solve the problems in fuzzy computation tree logic model checking with cost operator, we propose a fuzzy decision process computation tree logic model checking method with cost. Firstly, we introduce a fuzzy decision process model with cost, which can not only describe the uncertain choice and transition possibility of systems, but also quantitatively describe the cost of the systems. Secondly, under the model of the fuzzy decision process with cost, we give the syntax and semantics of the fuzzy computation tree logic with cost operators. Thirdly, we study the problem of computation tree logic model checking for fuzzy decision process with cost, and give its matrix calculation method and algorithm. We use the example of medical expert systems to illustrate the method and model checking algorithm.

1. Introduction

Model checking is an important formal verification method. Because of its automatic, model checking has been widely used in the analysis and verification of computer hardware and software systems, communication protocols, security protocols and so on. Model checking is mainly composed of three parts: the first is to model the system under consideration, the second is to use formal language to describe the properties, and the third is to use a model checking algorithm to systematically check whether or not the given model satisfies these properties [1].
Classical model checking [2,3] was formulated for verifying the qualitative properties of systems. However, the Boolean result is not enough for the models with quantitative information, such as a 90 percent probability of the system crashing during operation. At present, more and more complex computer systems have the characteristics of randomness, uncertainty and inconsistency. In order to deal with the verification of complex systems, many quantitative model checking methods have been proposed by academia.
Probabilistic model checking [4,5,6,7,8] mainly deals with the problem of model checking for systems with uncertainties generated by stochastic processes. Its goal is to determine the accuracy of probabilistic systems for quantitative probability specifications. Sometimes models may contain inconsistencies as they connect conflict points or contain components designed by different designers independently. In order to verify complex systems with inconsistencies and uncertainties, multi-valued model checking [9,10,11,12] is proposed. Fuzzy model checking [13,14,15,16,17,18,19,20] pays more attention to the true value of the properties, which is another kind of uncertainty, caused by unclear concept extension [21,22,23]. Both possibility model checking [13,14], and generalized possibility model checking [15,16,24] are based on possibility measure, a combination of possibility measure theory in fuzzy set with model checking. Possibilistic Kripke structure is used to model the system, and possibilistic temporal logic is used to describe properties. Li Yongming et al. [14] use the operators in possibilitic computation tree logic to replace the existence and arbitrary quantifiers of classical computation tree logic to calculate the possibility that the model satisfies the properties. In the process of calculating the possibility measure, the possibility of the path cylinder set after reaching the state also participates in the calculation, but these calculations can be ignored in most systems. Pan Haiyu et al. [19] use fuzzy Kripke structure to model the systems, fuzzy computation tree logic(FCTL) to describe properties and study fuzzy model checking.
Fuzzy Kripke structure is characterized by a state-to-state transition without a cost. However, in daily life, the transition may be different and have some cost [25]. For example, consider the disease diagnosis system studied in [14,19,26]. Suppose there are multi-steps treatments A and B for a disease, and different treatment needs different costs for each step during the process. The models in the literature [14,19,26] can only describe the situation that experts have been using treatment A or B during the treatment but cannot describe the situation where experts use A as the first and third steps and use B as the other steps. In addition, the cost of treatments is also unable to represent and verify. For the above reasons, we have done this paper. First, we define a fuzzy decision process model with a cost function, which can not only describe the nondeterministic choices but also describe the quantitative properties. Second, we introduce the definition of scheduler into the uncertain selection of actions so that the fuzzy decision process with cost function can be transformed into a fuzzy Kripke structure with a cost function. Then, we present the syntax and semantics of fuzzy computation tree logic with the cost operator. Finally, we calculate the quantitative possibility and cost of the problem according to the model checking algorithm. The main contributions of this paper are as follows.
  • A fuzzy decision process model with cost function is defined, which can describe the cost and other quantitative properties of a fuzzy system. The action property in the model is used to describe the uncertain action selection of the model, and the cost property is used to describe the cost of the system.
  • The FCTL is extended to FCTL with cost operator. The fuzzy computation tree logic with cost operator inherits the existence and arbitrary quantifiers of classical temporal logic and adds operators about cost.
  • The fuzzy computation tree logic model checking quantitative calculation formula and algorithm are given. At the same time, the complexity of the algorithm is analyzed.
The paper is organized as follows: in Section 2, the basic theoretical knowledge of fuzzy mathematics and fuzzy Kripke structure are given. In Section 3, we define a fuzzy decision process model with a cost function. In Section 4, we define fuzzy computation tree logic with a cost operator. In Section 5, we give the fuzzy computation tree logic model checking quantitative calculation formula and algorithm. Section 6 is an example. Section 7 summarizes this paper.

2. Preliminaries

A fuzzy set is a mathematical concept proposed by Zadeh in 1965. Fuzziness, in general, refers to any indistinct phenomena, where there is no clear boundary between “stability” and “instability”, “healthy” and “unhealthy”. The transition from one state to another is a continuous process when quantitative changes accumulate and eventually result in a qualitative change, which is due to the uncertainty caused by the breaking of the law of excluded middle. To model and verify fuzzy systems, we provide some necessary knowledge, which includes the fuzzy set, fuzzy set operation, fuzzy matrix operation, closure and others.
Definition 1
([27]). Let X be a universal set. A fuzzy set A of X is a function which associates each element in X a value in the interval [ 0 , 1 ] , i.e., A : X [ 0 , 1 ] . For x X , A ( x ) is the membership of x in the fuzzy set A.
We use F ( X ) to represent all fuzzy sets in X, i.e., F ( X ) = { A A : X [ 0 , 1 ] } .
Definition 2
([27]). Let A , B F ( X ) , we use A B , A B , A c to represent the union, intersection and complement of A and B. The definition is as follows.
( A B ) ( x ) = A ( x ) B ( x ) = m a x { A ( x ) , B ( x ) } ,
( A B ) ( x ) = A ( x ) B ( x ) = m i n { A ( x ) , B ( x ) } ,
A c ( x ) = 1 A ( x ) .
Furthermore, we have De Morgan’s laws.
( A B ) c = A c B c , ( A B ) c = A c B c .
Fuzzy matrix is a kind of special matrix, in which the value of each element is in the interval [ 0 , 1 ] . It has some interesting operations and natures as follows.
Definition 3
([28]). Let R and S be two fuzzy matrixes with m rows and n columns, i.e., R = ( r i j ) m × n , S = ( s i j ) m × n .
The standard operations on fuzzy matrixes R , S are defined in the following manner:
R = S , if and only if r i j = s i j for all i , j .
R S , if and only if r i j s i j for all i , j .
R S = ( r i j s i j ) m × n .
R S = ( r i j s i j ) m × n .
R c = ( 1 r i j ) m × n .
Definition 4
([28]). Let R be a fuzzy matrix with m rows and n columns, S be a fuzzy matrix with n rows and l columns, i.e., R = ( r i j ) m × n , S = ( s i j ) n × l . The composition operation of R and S is R S = ( t i j ) m × l , where t i j = k = 1 n ( r i k s k j ) , ( i = 1 , 2 , , m , j = 1 , 2 , , l ). For fuzzy matrixes R, S, T the composition operation has some laws.
( R S ) T = R ( S T ) ;
( R S ) T = ( R T ) ( S T ) .
Let X be a universal set. For the fuzzy matrix R = ( R ( s , t ) ) s , t X , we use R + to denote its transitive closure. When X is finite, and X has X elements, then R + = R R 2 R X  [29], where R k + 1 = R k R for any positive integer number k. The Kleene closure R * = R 0 R + , for each 1 s , t S , R 0 ( s , t ) = 1 s = t 0 s t .
Transition systems or Kripke structures are the key models for model checking. Corresponding to fuzzy model checking, we expend the notion of fuzzy Kripke structures, defined as follows.
Definition 5
([19]). A fuzzy Kripke structure(FKS) is a tuple K = ( S , P , I , A P , L ) , where
  • S is a countable, non-empty set of states,
  • P : S × S [ 0 , 1 ] is the fuzzy transition. For each s S , there exist t S such that P ( s , t ) > 0 ,
  • I : S [ 0 , 1 ] is the initial fuzzy distribution function. The initial state is s, and the truth value is I ( s ) ,
  • A P is the set of atomic propositions,
  • L : S × A P [ 0 , 1 ] is a fuzzy labeling function. L ( s , p ) is the truth value to the atomic proposition p in state s.
The transition of FKS is certain for a pair of states, i.e., P ( s , t ) is unique. However, on many occasions, we can transmit from one state to another by many methods. In other words, P ( s , t ) is not certain. We carry out the fuzzy decision processes with a cost which are uncertain in the transition and have a function of cost. For the conditions of daily life, we use the natural number set N as the range of the cost function as an example.

3. Fuzzy Decision Processes with Cost

Fuzzy systems are often used to describe the medical expert systems. Due to the different judgment standards of each expert on the patient’s condition and treatment effect, it establishes the model better. At the same time, there are many new problems caused by a variety of treatment options for the same disease. For instance, how to choose the best treatment option in a variety of options? How to evaluate the cost of various treatment options? FKS cannot model the interleaving behavior and the cost of concurrent processes in an adequate manner. For this purpose, we extend FKS to an uncertain system model with cost. The specific definition is as follows.
Definition 6.
A fuzzy decision process with cost (FDPC) is a tuple M f = ( S , A c t , P , I , A P , L , C ) , where
  • S is a countable, non-empty set of states,
  • A c t is the set of actions,
  • P : S × A c t × S [ 0 , 1 ] is the fuzzy transition. For each s S and α A c t , there exists t S which let P ( s , α , t ) > 0 ,
  • I : S [ 0 , 1 ] is the initial fuzzy distribution function. For s S , the truth value is I ( s ) ,
  • A P is the set of atomic propositions,
  • L : S × A P [ 0 , 1 ] is a fuzzy labeling function. L ( s , p ) is the truth value to the atomic proposition p in state s.
  • C : S × A c t N is a cost function. For each s S and α A c t , C ( s , α ) is the cost of that the action α is selected in state s.
If S, A c t and A P are finite, we say the M f is finite. We say that action α is enabled in state s if there exists a state t S such that P ( s , α , t ) > 0 . A c t ( s ) denotes the set of actions which can be enabled in state s.
π = s 0 α 0 s 1 α 1 s 2 s n 1 α n 1 s n denotes a finite path of M f , and π = s 0 α 0 s 1 α 1 s 2 ( S × A c t ) ω denotes an infinite path of M f . P a t h s ( s ) denotes the set of the infinite paths which begin from state s. P a t h f i n ( M f ) denotes the set of finite paths which begin from all states of M f . P a t h s ( M f ) is the set of infinite paths which begin from all initial states of M f .
Example 1.
Figure 1, Figure 2, Figure 3 and Figure 4 is a simple, in which there are three transitions represented by α, β and γ. The model has three states s 0 , s 1 and s 2 . The variables in the state indicate the atomic proposition a and b. Different states have different memberships of atomic propositions. Therefore, we use fuzzy values to describe them. When action α i is used in state s i , cost function C ( s i , α i ) is generated. When using a single transition α or β or γ, the FKSs are shown in Figure 1, Figure 2 and Figure 3. The FDPC produced by them is shown in Figure 4. The transition possibility is given by the number on the connecting line, and the cost is indicated by the underlined number in the figure. For example, s 0 α , 0.8 , 160 ̲ s 1 indicates that in state s 0 , using treatment scheme α, the possibility of transition to state s 1 is 0.8, and the treatment cost is 160.
FDPCs are more complex than FKSs because of the interleaving of the transitions. For example, for a states sequence s 0 s 1 s 2 , there is only one possibility in an FKS, but it may be multiple possibilities in a FDPC, such as s 0 α s 1 β s 2 or s 0 γ s 1 β s 2 or the others. We introduce a scheduler to convert FDPC into FKS with cost. In this way, the relevant methods in FKS can be used.
Definition 7.
Let M f = ( S , A c t , P , I , A P , L , C ) be a finite FDPC. A d v : S 2 A c t is a function of M f . For each s S , there is A d v ( s ) A c t ( s ) .
Under the scheduler A d v , P a t h A d v ( s ) denotes the set of infinite paths which start from the state s, P a t h A d v f i n ( M f ) denotes the set of finite paths which start from all initial states in M f . P a t h A d v ( M f ) denotes the set of infinite paths which start from all initial states in M f .
We often care about the maximum (or minimum) possibility. We select the maximum (or minimum) possibility of transition from state s to t by action in A d v ( s ) as an example to introduce our thought of scheduler. If there are two or more actions in A d v ( s ) such that P ( s , α j , t ) = P ( s , α k , t ) = α i A d v ( s ) P ( s , α i , t ) for α j , α k , α i A d v ( s ) , we can select the action by the algebraic product P ( s , α i , t ) · C ( s , α i ) . Through the operation of a scheduler, an FDPC can be switched to an FKS with cost.
Remark 1.
It is easy to prove that the select operations do not change the maximum or minimum possibility of the A d v , because we can use the actions which are selected by us to replace the actions in the maximum or minimum possibility path.
Example 2.
For the FDPC of Figure 4, suppose the scheduler function is A d v ( s 0 ) = { α , β } , A d v ( s 1 ) = { β , γ } , A d v ( s 2 ) = { γ } . The FDPC of A d v , the maximum possibility transition FDPC of A d v and the minimum possibility transition FDPC of A d v are shown in Figure 5, Figure 6 and Figure 7. In fact, Figure 6 and Figure 7 are FKSs with cost.
The actions are eliminated in the conversion period, so we design an action index matrix to store those actions. The transition matrix in the corresponding FKS and the index matrix for recording actions under a specific scheduler are given below.
Let M f = ( S , A c t , P , I , A P , L , C ) be a finite FDPC and π = s 0 α 0 s 1 α 1 s 2 P a t h s ( s ) be a path of M f .
P α is a S × S fuzzy matrix of transition possibility under the action α . For each s , t S ,
P α ( s , t ) = d e f P ( s , α , t ) .
The left of the equation is the direct transition which transmit from s to t in FKS which is transmitted by α with cost, but the right is the direct transition which transmit from s to t by act α in FDPC.
P A d v m a x is a S × S fuzzy matrix which denotes the matrix of maximum transition possibility of A d v . For each s , t S ,
P A d v m a x ( s , t ) = d e f α A d v ( s ) P ( s , α , t ) .
T A d v m a x is a S × S action index matrix which records the actions creating the maximum transition possibility. For each s , t S ,
T A d v m a x ( s , t ) = d e f a r g m a x α A d v ( s ) P ( s , α , t ) .
P A d v m i n is a S × S fuzzy matrix which denotes the matrix of minimum transition possibility of A d v . For each s , t S ,
P A d v m i n ( s , t ) = d e f α A d v ( s ) P ( s , α , t ) .
T A d v m i n is a S × S action index matrix which records the actions creating the minimum transition possibility. For each s , t S ,
T A d v m i n ( s , t ) = d e f a r g m i n α A d v ( s ) P ( s , α , t ) .
We often pay attention to the maximum and minimum possibility of FDPC, but they are the special A d v where A d v ( s ) A c t ( s ) for all s S . We use the special symbol α m a x , α m i n to denote the index of this A d v .
P α m a x is a S × S fuzzy matrix which denotes the matrix of maximum transition possibility of FDPC. For each s , t S ,
P α m a x ( s , t ) = d e f α A c t ( s ) P ( s , α , t ) .
T α m a x is a S × S action index matrix which records the actions creating the maximum transition possibility. For each s , t S ,
T α m a x ( s , t ) = d e f a r g m a x α A c t ( s ) P ( s , α , t ) .
P α m i n is a S × S fuzzy matrix which denotes the matrix of minimum transition possibility of FDPC. For each s , t S ,
P A d v m i n ( s , t ) = d e f α A c t ( s ) P ( s , α , t ) .
T α m i n is a S × S action index matrix which records the actions creating the minimum transition possibility. For each s , t S ,
T α m i n ( s , t ) = d e f a r g m i n α A c t ( s ) P ( s , α , t ) .
C α is a S × 1 matrix declaring the cost activating action α from state s, for each s S ,
C α = d e f C ( s , α ) .
Example 3.
For the FDPC of Figure 4.
The action α transition possibility matrix and the cost matrix activating action α is
P α = 0.2 0.8 0.4 0.1 0.3 0.5 0.2 0.3 0.8 , C α = 160 180 100 .
The action β transition possibility matrix and the cost matrix activating action β is
P β = 0.3 0.7 0.2 0.2 0.4 0.3 0.1 0.5 0.4 , C β = 100 115 70 .
The action γ transition possibility matrix and the cost matrix activating action γ is
P γ = 0.5 0.6 0.1 0.4 0.7 0.2 0.5 0.6 0.3 , C γ = 68 73 40 .
The maximum transition possibility matrix, maximum transition possibility action index matrix, minimum transition possibility matrix and minimum transition possibility action index matrix is
P α m a x = 0.5 0.8 0.4 0.4 0.7 0.5 0.5 0.6 0.8 , T α m a x = γ α α γ γ α γ γ α , P α m i n = 0.2 0.6 0.1 0.1 0.3 0.2 0.1 0.3 0.3 , T α m i n = α γ γ α α γ β α γ .
Under the maximum transition possibility matrix and minimum transition possibility matrix, the FDPC of Figure 4 turns into the FKSs with cost in Figure 8 and Figure 9.
Since the cost is generated in the process of each activation action, in order to solve the cost-related problems in model checking, we determine the cost through a deterministic selection strategy for the action, and then calculate the expected cost. Because model checking pays more attention to the possibility of transition, this paper takes the maximum possibility of one-step transition as the selected strategy. First, we select the action by the above matrix. Then, we select the successor state by the maximum possibility.
Definition 8.
Let M f = ( S , A c t , P , I , A P , L , C ) be a finite FDPC and π = s 0 α 0 s 1 α 1 s 2 P a t h s ( s ) be a path of M f . c o s t [ = k ] ( π ) = d e f C ( s k 1 , α k 1 ) denotes the instantaneous cost of the step k.
Under the scheduler A d v , we use each step to choose the maximum possibility to transmit from the current state as an example, and the step k instantaneous expected cost is defined as
E x A d v s ( c o s t [ = k ] ) = d e f
( 0 < j k ( t j S P A d v ( t j 1 , t j ) ) ) · C ( t j 1 , α k 1 ) .
We use c o s t [ k ] ( π ) = d e f i = 1 k C ( s i 1 , α i 1 ) to denote the cumulative cost of the first k steps. The cumulative expected cost of the first k steps is defined as
E x A d v s ( c o s t [ k ] ) = d e f i = 1 k E x A d v s ( c o s t [ = i ] ) .
The previous descriptions are all about the expected cost without limiting the states in the path. However, in the actual process, some restrictions may be added to the states in the path.
c o s t [ F ] ( π ) = c o s t ( π ) = d e f i = 1 n C ( s i 1 , α i 1 ) denotes the cumulative cost that the path would reach the state in F, where F S , π = s 0 α 0 s n is the prefix of π and s n F but the other states in π is not in F. E x A d v s ( c o s t [ = n ( F ) ] ) denotes the skep n instantaneous expected cost under the scheduler A d v which is the deformation of E x A d v s ( c o s t [ = k ] ) , defined as below.
E x A d v s ( c o s t [ = 1 ( F ) ] ) = d e f ( t F P A d v ( s , t ) ) · C ( s , α ) , E x A d v s ( c o s t [ = k ( F ) ] ) = d e f ( 0 < j < k ( t S / F P A d v ( t j 1 , t j ) ) P A d v ( t k 1 , t ) ) · C ( t j 1 , α k 1 ) .
E x A d v s ( c o s t [ k ( F ) ] ) denotes the first steps k cumulative expected cost under the scheduler A d v which reaches F in step k, defined as below,
E x A d v s ( c o s t [ 1 ( F ) ] ) = d e f E x A d v s ( c o s t [ = 1 ( F ) ] ) , E x A d v s ( c o s t [ k ( F ) ] ) = d e f ( i = 1 k 1 ( ( t F ( 0 < j < k ( s S / F P A d v ( t j 1 , t j ) ) ) ) · C ( s j 1 , α j 1 ) ) + ( ( t F ( 0 < j < k ( s S / F P A d v ( t j 1 , t j ) P A d v ( s k 1 , t ) ) ) ) · C ( s k 1 , α k 1 ) ) ) .
E x A d v s ( c o s t [ F ] ) is the cumulative expected cost from s to the state in F, defined as below,
E x A d v s ( c o s t [ F ] ) = d e f s u p 1 k n E x A d v s ( c o s t [ k ( F ) ] ) .
Where n is the max step of all paths that can reach F under the restrictive condition ‘No or one ring’. Why do we have the restrictive condition ‘No or one ring’? Because it has no contribution for transition possibility changing. Without the amount of rings, all states of the path which can reach F are less than or equal S / F + 1 , thus we can get that the max skep n S / F .

4. FCTL with Cost Operator

We present the FCTL with cost operators in this section, i.e., expand FCTL for our FDPC with cost operator. We expand FCTL [19] with the cost operator. The syntax and semantics are as below.
Definition 9
(FCTL syntax). The FCTL state formula is defined inductively as follows,
Φ : : = t r u e a Φ 1 Φ 2 ¬ Φ φ φ E ( = k ) E ( k ) E ( Φ ) ,
where φ is a path formula, a A P .
Furthermore, the FCTL path formula is,
φ : : = Φ Φ 1 Φ 2 ,
where Φ, Φ 1 and Φ 2 are state formulas.
Definition 10
(FCTL semantics). Let M f = ( S , A c t , P , I , A P , L , C ) be an finite FDPC, Φ : S [ 0 , 1 ] be a function. For FCTL with cost, the semantic of state formula Φ is defined as follows.
t r u e ( s ) = 1 , a ( s ) = L ( s , a ) , Φ 1 Φ 2 ( s ) = Φ 1 ( s ) Φ 2 ( s ) , ¬ Φ ( s ) = 1 Φ ( s ) , φ A d v ( s ) = π P a t h s A d v ( s ) φ ( π ) , φ A d v ( s ) = π P a t h s A d v ( s ) φ ( π ) , E ( = k ) A d v ( s ) = E x A d v s ( c o s t [ = k ] ) , E ( k ) A d v ( s ) = E x A d v s ( c o s t [ k ] ) , E ( Φ ) A d v ( s ) = E x A d v s ( c o s t [ S a t ( Φ ) ] )
where S a t ( Φ ) = { s S Φ ( s ) > 0 } .
For the given scheduler A d v and π P a t h s A d v ( s ) , the semantic of path formula φ is defined as below.
Φ A d v = P A d v ( s 0 , s 1 ) Φ ( s 1 ) ,
Φ 1 Φ 2 A d v ( π )
= Φ 2 ( s ) j > 0 ( Φ 1 ( s 0 ) k < j ( P A d v ( s k 1 , s k ) ) Φ 1 ( s k ) ( P A d v ( s j 1 , s j ) ) Φ 2 ( s j ) . )

5. Model Checking Fuzzy Computation Tree Logic Based on Fuzzy Decision Processes with Cost

The FCTL model checking problem on FDPC is defined as the following. Given a FDPC M f , a state s of M f , a FCTL state formula Φ and a step k, then calculate the true value of state s satisfying the state formula or the expect cost. We often consider the maximum and minimum possibilitic truth values. We give the computing method of Φ m a x ( s ) , Φ m i n ( s ) , Φ m a x ( s ) , Φ m i n ( s ) , Φ 1 Φ 2 m a x ( s ) , Φ 1 Φ 2 m i n ( s ) , Φ 1 Φ 2 m a x ( s ) , Φ 1 Φ 2 m i n ( s ) , E ( = k ) m a x ( s ) , E ( = k ) m i n ( s ) , E ( k ) m a x ( s ) , E ( k ) m i n ( s ) , E ( Φ ) m a x ( s ) and E ( Φ ) m i n ( s ) as below. There are some useful matrixes and operations given.
Let M f = ( S , A c t , P , I , A P , L , C ) be a finite FDPC, D Φ be a S × S fuzzy diagonal matrix for state formula Φ . For each s , t S ,
D Φ ( s , t ) = d e f Φ ( s ) s = t 0 O t h e r w i s e
P Φ is a S × 1 fuzzy matrix. For each s S ,
P Φ ( s ) = d e f Φ ( s ) .
We use P α m a x to realize the transition of only choosing the maximum truth value transition using action α . P α m a x is a S × S fuzzy matrix and defined as that for each s , t S ,
P α m a x ( s , t ) = d e f P ( s , α , t ) t = a r g m a x t S f ( P ( s , α , t ) , c o s t ( s , α ) ) 0 O t h e r w i s e
where f is a function mapping P × C to [0,1]. f is decided by the need in usual. In this paper, we set f ( P ( s , α , t ) , c o s t ( s , α ) ) = P ( s , α , t ) if there is only one maximum transition from s to t. When it is multiple, we select the first maximum transition by elements in the matrix.
Through those matrixes, we can reduce the state transition matrix in FKS to a sparse matrix containing only one-step maximum possibility.
E is a S × 1 fuzzy matrix with all elements equal to 1. We use it to turn the matrix into a vector.
We also use an auxiliary matrix identified as D F , for the restricted set F. D F is defined below.
D F = D [ 0 , 0 ] D [ 0 , n ] D [ n , 0 ] D [ n , n ] ,
where D [ i , j ] = 1 s j F 0 s j F
P α F = d e f D F P α is the restricted transition matrix under the act α which restrict only transition to F. P α F = d e f ( D S D F ) P α is the restricted transition matrix under the act α which cannot transmit to F. Using matrixes, we can describe the constraints.
Using our matrixes, we can re-represent the cost in Definition 8.
The first k steps cumulative expected cost
E x A d v s ( c o s t [ k ] ) = i = 1 k E x A d v s ( c o s t [ = i ] ) = i = 1 k ( ( 0 < j i ( t j S P A d v ( t j 1 , t j ) ) ) · C ( t i 1 , α i 1 ) ) = i = 1 k ( ( 0 < j i ( t j S α j 1 A d v ( t j 1 ) P A d v ( t j 1 , α j 1 , t j ) ) ) · C ( t i 1 , α i 1 ) ) = i = 1 k ( ( 0 < j i ( t j S P A d v m a x ( t j 1 , t j ) ) ) · C ( t i 1 , α i 1 ) ) = i = 1 k ( ( P A d v m a x m a x P A d v m a x m a x P A d v m a x m a x E ) ( s ) · C α i 1 ( t i 1 ) ) = i = 1 k ( ( P A d v m a x m a x i E ) ( s ) · C α i 1 ( t i 1 ) ) .
The restricted set F S step k instantaneous expected cost
E x A d v s ( c o s t [ = 1 ( F ) ] ) = ( t F P A d v ( s , t ) ) · C ( s , α ) = ( t F α A d v ( s ) P ( s , α , t ) ) · C ( s , α ) = ( ( P A d v m a x F m a x E ) ( s ) · C α ( s ) E x A d v s ( c o s t [ = k ( F ) ] ) = ( t F ( 0 < j < k ( s S F P A d v ( s j 1 , s j ) ) P A d v ( s k 1 , t ) ) ) · C ( s k 1 , α k 1 ) = ( t F ( 0 < j < k ( s S F α j 1 A d v ( s j 1 ) P ( s j 1 , α j 1 , s j ) ) α k 1 A d v ( s k 1 ) P ( s k 1 , α k 1 , t ) ) ) · C ( s k 1 , α k 1 ) = ( ( P A d v max F max P A d v max F max P A d v max F max E ) ( s ) · C α k 1 ( s k 1 ) ) = ( ( P A d v max F max k 1 P A d v max F max E ) ( s ) · C α k 1 ( s k 1 ) )
The restricted set F S first k steps cumulative expected cost
E x A d v s ( c o s t [ 1 ( F ) ] )
= E x A d v s ( c o s t [ = 1 ( F ) ] )
= ( P A d v max F max E ) ( s ) · C α k 1 ( s )
E x A d v s ( c o s t [ k ( F ) ] )
= i = 1 k 1 ( ( 0 < j i ( s S F P A d v ( s j 1 , s j ) ) ) · C ( s j 1 , α j 1 ) ) + ( t F ( 0 < j < k ( s S F P A d v ( s j 1 , s j ) ) P A d v ( s k 1 , t ) ) ) · C ( s k 1 , α k 1 )
= i = 1 k 1 ( ( P A d v max F max i E ) ( s ) · C α i 1 ( s i 1 ) ) + ( ( P A d v max F max k 1 P A d v max F max E ) ( s ) · C α k 1 ( s k 1 ) ) where P α F m a x is the operation that to P α first count P α F and second count P α m a x for P α F . P α F m a x is the operation that to P α first count P α F and second count P α m a x for P α F .
Φ m a x ( s ) is the maximum truth value of that there exists a path that starts from state s and satisfies Φ .
Φ max ( s ) = ( P α m a x P Φ ) ( s ) .
The proof is placed in Appendix A.
Φ m i n ( s ) is the minimum truth value of that there exists a path that starts from state s and satisfies Φ .
Φ min ( s ) = ( P α m i n P Φ ) ( s ) .
The proof is placed in Appendix A.
Φ m a x ( s ) is the maximum truth value of that all of the paths which start from state s satisfy Φ .
Φ max ( s ) = ( ( P α max D Φ ) c E ) c ( s )
The proof is placed in Appendix A.
Φ m i n ( s ) is the minimum truth value of that all of the paths which start from state s satisfy Φ .
Φ min ( s ) = ( ( P α min D Φ ) c E ) c ( s )
The proof is placed in Appendix A.
Φ 1 Φ 2 m a x ( s ) is the maximum truth value of that there exists a path that starts from state s satisfies Φ 1 Φ 2 .
Φ 1 Φ 2 m a x ( s ) = ( ( D Φ 1 P α max ) * P Φ 2 ) ( s )
The proof is placed in Appendix A.
Φ 1 Φ 2 m i n ( s ) is the minimum truth value of that there exists a path that starts from state s satisfies Φ 1 Φ 2 .
Φ 1 Φ 2 m i n ( s ) = ( ( D Φ 1 P α min ) * P Φ 2 ) ( s )
The proof is placed in Appendix A.
Φ 1 Φ 2 m a x ( s ) is the maximum truth value of that all of the paths which start from state s satisfy Φ 1 Φ 2 .
Φ 1 Φ 2 m a x ( s ) = ( P Φ 2 ( [ ( ( D Φ 1 P α max ) c D S ) c ( ( D S ( D Φ 1 P α max ) c ) c ) * D Φ 2 ] c E ) c ) ( s )
The proof is placed in Appendix A.
Φ 1 Φ 2 m i n ( s ) is minimum the truth values of that all of the paths that start from state s satisfy Φ 1 Φ 2 .
Φ 1 Φ 2 m i n ( s ) = ( P Φ 2 ( [ ( ( D Φ 1 P α min ) c D S ) c ( ( D S ( D Φ 1 P α min ) c ) c ) * D Φ 2 ] c E ) c ) ( s )
The proof is placed in Appendix A.
E ( = k ) m a x ( s ) is the skep k instantaneous expected cost of the path that starts from state s under the maximum scheduler.
E ( = 0 ) m a x ( s ) = 0 , E ( = k ) m a x ( s ) = ( P α max max k E ) ( s ) · C T α max ( t k 1 , t k ) ( t k 1 )
where t m = a r g m a x t m S ( P α max max m ( s , t m ) ) .
The proof is placed in Appendix A.
E ( = k ) m i n ( s ) is the skep k instantaneous expected cost of the path that starts from state s under the minimum scheduler.
E ( = 0 ) m i n ( s ) = 0 , E ( = k ) m i n ( s ) = ( P α min max k E ) ( s ) · C T α min ( t k 1 , t k ) ( t k 1 )
where t m = a r g m a x t m S ( P α min max m ( s , t m ) ) .
The proof is placed in Appendix A.
E ( k ) m a x ( s ) is the first k steps cumulative expected cost of the path that starts from state s under the maximum scheduler.  
E ( 0 ) m a x ( s ) = E x m a x s ( c o s t [ = 0 ] ) = 0 E ( k ) m a x ( s ) = E x m a x s ( c o s t [ k ] ) = i = 1 k ( ( P α m a x m a x i E ) ( s ) · C α i 1 ( t i 1 ) ) = i = 1 k ( ( P α m a x m a x i E ) ( s ) · C T α max ( t i 1 , t i ) ( t i 1 ) E ( k ) m a x ( s ) = i = 1 k ( ( P α m a x m a x i E ) ( s ) · C T α max ( t i 1 , t i ) ( t i 1 )
where t m = a r g m a x t m S ( P α max max m ( s , t m ) ) .
E ( k ) m i n ( s ) is the first k steps cumulative expected cost of the path that starts from state s under the minimum scheduler.
E ( 0 ) m i n ( s ) = E x m i n s ( c o s t [ = 0 ] ) = 0 E ( k ) m i n ( s ) = E x m i n s ( c o s t [ k ] ) = i = 1 k ( ( P α m i n m a x i E ) ( s ) · C α i 1 ( t i 1 ) ) = i = 1 k ( ( P α m i n m a x i E ) ( s ) · C T α min ( t i 1 , t i ) ( t i 1 ) E ( k ) m i n ( s ) = i = 1 k ( ( P α m i n m a x i E ) ( s ) · C T α min ( t i 1 , t i ) ( t i 1 )
where t m = a r g m a x t m S ( P α min max m ( s , t m ) ) .
E ( Φ ) m a x ( s ) is the cumulative expected cost of the path that starts from state s and can reach a state in F under the maximum scheduler.
E ( Φ ) m a x ( s ) = E x m a x s ( c o s t [ S a t ( Φ ) ] ) = s u p 1 k S S a t ( Φ ) E x m a x s ( c o s t [ k ( S a t ( Φ ) ) ] ) = s u p 2 k S S a t ( Φ ) { E x m a x s ( c o s t [ 1 ( S a t ( Φ ) ) ] ) , E x m a x s ( c o s t [ k ( S a t ( Φ ) ) ] ) } = s u p 2 k S S a t ( Φ ) { ( P α m a x S a t ( Φ ) max E ) ( s ) · C T α m a x ( s , t ) ( s ) , i = 1 k 1 ( ( P α m a x S a t ( Φ ) max i E ) ( s ) · C T α m a x ( t i 1 , t i ) ( s ) ) + ( ( P α m a x S a t ( Φ ) max k 1 P α m a x S a t ( Φ ) max E ) ( s ) · C T α m a x ( t k 1 , t k ) ( t k 1 ) ) }
where t = a r g m a x t S a t ( Φ ) ( P α max S a t ( Φ ) max ( s , t ) ) ,
t m = a r g m a x t m S / S a t ( Φ ) ( ( P α max S a t ( Φ ) max ) m ( s , t m ) ) , if 1 m k 1 ,
t m = a r g m a x t m S a t ( Φ ) ( ( ( P α max Sat ( Φ ) max ) m P α max Sat ( Φ ) max ) ( s , t m ) ) if m = k .
E ( Φ ) m i n ( s ) is the cumulative expected cost of the path that starts from state s and can reach a state in F under the minimum scheduler.
E ( Φ ) m i n ( s ) = E x m i n s ( c o s t [ S a t ( Φ ) ] ) = s u p 1 k S S a t ( Φ ) E x m i n s ( c o s t [ k ( S a t ( Φ ) ) ] ) = s u p 2 k S S a t ( Φ ) { E x m i n s ( c o s t [ 1 ( S a t ( Φ ) ) ] ) , E x m i n s ( c o s t [ k ( S a t ( Φ ) ) ] ) } = s u p 2 k S S a t ( Φ ) { ( P α m i n S a t ( Φ ) max E ) ( s ) · C T α m i n ( s , t ) ( s ) , i = 1 k 1 ( ( P α m i n S a t ( Φ ) max i E ) ( s ) · C T α m i n ( t i 1 , t i ) ( s ) ) + ( ( P α m i n S a t ( Φ ) max k 1 P α m i n S a t ( Φ ) max E ) ( s ) · C T α m i n ( t k 1 , t k ) ( t k 1 ) ) }
where t = a r g m a x t S a t ( Φ ) ( P α min S a t ( Φ ) max ( s , t ) ) ,
t m = a r g m a x t m S / S a t ( Φ ) ( ( P α min S a t ( Φ ) max ) m ( s , t m ) ) , if 1 m k 1 ,
t m = a r g m a x t m S a t ( Φ ) ( ( ( P α min Sat ( Φ ) max ) m P α min Sat ( Φ ) max ) ( s , t m ) ) if m = k .
According to (1)–(14), we provide three algorithms to solve the problem of FCTL model checking with cost. Algorithm 1 is used to catch some values of some parameters which would be used to calculate the cost operators. Algorithm 2 is used to calculate the truth values of the formal FCTL state formulas. Algorithm 3 is used to calculate the cost operators.
Algorithm 1 Catch the action
Require:
a state s, the first k 1 step transition matrix P α , the step k transition matrix P β , action index matrix T α .
Ensure:
the state t k 1 after k 1 steps transition, the state t k after k steps transition, the action of step k T α ( t k 1 , t k ) .
1:
for t S do
2:
    if  P α k 1 ( s , t ) > 0  then
3:
         t k 1 t
4:
    end if
5:
    if  ( P α k 1 P β ) ( s , t ) > 0  then
6:
         t k t
7:
    end if
8:
end for
9:
return t k 1 , t k , T α ( t k 1 , t k )
Algorithm 1 is proposed to get the action α and states s k 1 and s k in transition s k 1 α s k which are used in the computing of cost operators. By the definition of P α m a x , we can use the P α k 1 ( s , t ) > 0 to be the determined condition of which is the successor state.
Algorithm 2 Calculating the formal FCTL state formula
Require:
a FDPC M f , a FCTL state formula Φ .
Ensure:
the truth value of Φ ( s ) .
1:
if Φ = t r u e then
2:
    return  ( 1 ) s S
3:
end if
4:
if Φ = a A P then
5:
    return  ( a ( s ) ) s S
6:
end if
7:
if Φ = ¬ Φ then
8:
    return  ( 1 Φ ( s ) ) s S
9:
end if
10:
if Φ = Φ 1 Φ 2 then
11:
    return  ( Φ 1 ( s ) Φ 2 ( s ) ) s S
12:
end if
13:
if Φ = Φ then
14:
    return  P A d v P Φ
15:
end if
16:
if Φ = Φ then
17:
    return  ( ( P A d v D Φ ) c E ) c
18:
end if
19:
if Φ = Φ 1 Φ 2 then
20:
    return  ( D Φ 1 P A d v ) * P Φ 2
21:
end if
22:
if Φ = Φ 1 Φ 2 then
23:
    return  P Φ 2 ( [ ( ( D Φ 1 P A d v ) c D S ) c ( ( D S ( D Φ 1 P A d v ) c ) c ) *   D Φ 2 ] c E ) c
24:
end if
Algorithm 2 is proposed to calculate the quantitative possibility of state formula by matrix operations based on (1)–(8).
Algorithm 3 is proposed to calculate the cost operators by matrix operations based on (9)–(14).
Now let us analyze the time complexities of our algorithm. We would see the three algorithms as one algorithm and analyze it.
Under the scheduler A d v , we can recursively calculate the truth value of Φ ( s ) in step Φ , which is the number of the sub-formula of which is recursively defined as below. If Φ A P { t r u e } , then Φ = 1 , Φ 1 Φ 2 = Φ 1 + Φ 2 + 1 , ¬ Φ = Φ + 1 , Φ = Φ = 1 , Φ = Φ + 1 , Φ 1 Φ 2 = Φ 1 + Φ 2 + 1 , Φ 1 Φ 2 = Φ 1 + Φ 2 + 1 , E ( = k ) = 1 , E ( k ) = k and E ( Φ ) = k × ( Φ + 1 ) .
The time complexity of calculating the formula Φ = a Φ 1 Φ 2 ¬ Φ is only contacted with the size of FDPC M f and Φ , and is O ( S ) . The time of calculating the formula Φ = E ( = k ) E ( k ) is only contacted with the size of FDPC M f and Φ and k, and is O ( S × k ) . The time of calculating the formula Φ = φ φ is mainly contacted with the time of calculating the transitive closure of P A d v , e.g., P A d v * . We use the method of literature [30], and the time complexities is O ( S 2 × l o g S ) . The time of calculating the formula Φ = E ( Φ ) is contacted with the time of catch and the time of matrix multiplication, and is O ( S 4 ) . Above all, we give the time complexities of our algorithm.
Algorithm 3 Calculating the cost operators of FCTL
Require:
a FDPC M f , step k, a FCTL state formula Φ .
Ensure:
the value of E .
1:
if Φ = E ( = k ) then
2:
    Call algorithm 1, put s , k , P A d v m a x , P A d v m a x , T A d v , get t k 1 , t k , T A d v ( t k 1 , t k )
3:
    return  ( P A d v max k E ) ( s ) · C T A d v ( t k 1 , t k ) ( t k 1 )
4:
end if
5:
if Φ = E ( k ) then
6:
    for  i 1 to k do
7:
        Call algorithm 1, put s , i , P A d v m a x , P A d v m a x , T A d v , get t i 1 , t i , T A d v ( t i 1 , t i )
8:
         s u m s u m + ( P A d v max i E ) ( s ) · C T A d v ( t i 1 , t i ) ( t i 1 )
9:
    end for
10:
    return  s u m
11:
end if
12:
if Φ = E ( Φ ) then
13:
    Call algorithm 1,put s , 1 , P A d v S a t ( Φ ) max , P A d v S a t ( Φ ) max , T A d v , get s 0 , s 1 , T A d v ( s 0 , s 1 )
14:
     s u m ( 0 ) ( P A d v Sat ( Φ ) max E ) ( s ) · C T A d v ( s 0 , s 1 ) ( s )
15:
    for  i 2 to S S a t ( Φ )  do
16:
        for  m 1 to i 1  do
17:
           Call algorithm 1,put s , m , P A d v S a t ( Φ ) max , P A d v S a t ( Φ ) max , T A d v , get s m 1 , s m , T A d v ( s m 1 , s m )
18:
            s u m ( i ) s u m ( i ) + ( ( P A d v Sat ( Φ ) max ) m E ) ( s ) · C T A d v ( s m 1 , s m ) ( s m 1 )
19:
        end for
20:
        Call algorithm 1, put s , i , P A d v S a t ( Φ ) max , P A d v S a t ( Φ ) max , T A d v , get s i 1 , s i , T A d v ( s i 1 , s i )
21:
        sum ( i ) sum ( i ) + ( ( P A d v Sat ( Φ ) max ) i 1 P A d v Sat ( Φ ) max E ) ( s ) · C T A d v ( s i 1 , s i ) ( s i 1 )
22:
        if  s u m ( i ) s u m ( 0 )  then
23:
            s u m ( 0 ) s u m ( i )
24:
        end if
25:
    end for
26:
    return  s u m ( 0 )
27:
end if
Theorem 1.
Let M f = ( S , A c t , P , I , A P , L , C ) be a finite FDPC, Φ be a FCTL formula and k be a natural number. Then, the time complexities of calculating the truth values or expected cost is O ( s i z e ( M f ) × p o l y ( S ) × Φ × k ) , where s i z e ( M f ) is the size of FDPC M f , p o l y ( S ) is a polynomials of S , Φ is the number of the sub-formula of Φ , and k is the given natural number.

6. Illustrative Examples

A medical expert system is an intelligent computer system that collects, sorts and analyzes a large number of cases by computer, concentrates on the diagnosis results of medical experts, and diagnoses and treats patients. Because of the different judgment standards of each expert for the degree of the patient’s conditions and the effect of the treatment plan, using a fuzzy system can reflect the operation process of the system closer to the real world. Figure 10, Figure 11, Figure 12 and Figure 13 is a simple medical expert system, in which there are three experts. Each expert gives different treatment plans, which are represented by α , β , γ . The model has four states of the patients, respectively, represented by s 0 , s 1 , s 2 , s 3 . The variables in the state indicate the patient’s health states, which can be divided into B(bad), G(general), N(normal) and E(enough). Different experts have a different understanding of these four health conditions. Therefore, we give fuzzy values to the four to show the health of patients. When treatment scheme α i is used in state s i , cost C ( s i , α i ) will be generated, indicating the treatment cost of the scheme. When using a single treatment scheme, the state transition of patients is shown in Figure 10, Figure 11 and Figure 12. When three experts consult, a complex system is synthesized, as shown in Figure 13. The connecting line with the arrow in the figure indicates transition. The transition possibility is given by the number on the connecting line, and the cost is indicated by the underlined number in the figure. For example, s 0 α , 0.8 , 160 ̲ s 1 indicates that the patient is in state s 0 , using treatment scheme α , then the possibility of transition to state s 1 is 0.8, and the treatment cost is 160.
(1) N m a x ( s 2 ) = 0.8 , N m i n ( s 2 ) = 0.3 . N m a x ( s 2 ) = 0.8 is the maximum truth value of that there exists one plan where the patient starts from state s 2 and becomes normal after one treatment. N m i n ( s 2 ) = 0.3 is the minimum truth value of that there exists one plan where the patient starts from state s 2 and becomes normal after one treatment.
(2) G m a x ( s 2 ) = 0.4 , G m i n ( s 2 ) = 0.1 . G m a x ( s 2 ) = 0.4 is the maximum truth value of all of the plans to satisfy that the patient starts from state s 2 and becomes general after one treatment. G i n x ( s 2 ) = 0.1 is the minimum truth value of all of the plans to satisfy that the patient starts from state s 2 and becomes general after one treatment.
(3) G E m a x ( s 1 ) = 0.5 , G E m i n ( s 1 ) = 0.4 . G E m a x ( s 1 ) = 0.5 is the maximum truth value that there exists one plan that the patient starts from state s 1 , keeps general in treatments and becomes enough finally. G E m i n ( s 1 ) = 0.4 is the minimum truth value that there exists one plan that the patient starts from state s 1 , keeps general in treatments and becomes enough finally.
(4) G N m a x ( s 1 ) = 0.4 , G N m i n ( s 1 ) = 0.1 . G N m a x ( s 1 ) = 0.4 is the maximum truth value that all of the plans to satisfy that the patient starts from state s 1 , keeps general in treatments and becomes enough finally. G N m i n ( s 1 ) = 0.1 is the minimum truth value that all of the plans to satisfy that the patient starts from state s 1 , keeps general in treatments and becomes enough finally.
(5) E ( = 6 ) m a x ( s 0 ) = 51.1 , E ( = 6 ) m i n ( s 0 ) = 22 . E ( = 6 ) m a x ( s 0 ) = 51.1 is the maximum skep 6 instantaneous expected cost of that the patient starts from state s 0 . E ( = 6 ) m i n ( s 0 ) = 22 is the minimum skep 6 instantaneous expected cost of that the patient starts from state s 0 .
(6) E ( 6 ) m a x ( s 0 ) = 383.5 , E ( 6 ) m i n ( s 0 ) = 158 . E ( 6 ) m a x ( s 0 ) = 383.5 is the maximum first 6 steps cumulative expected cost of that the patient starts from state s 0 . E ( 6 ) m i n ( s 0 ) = 158 is the minimum first 6 steps cumulative expected cost of that the patient starts from state s 0 .
(7) E ( E ) m a x ( s 0 ) = 254 , E ( E ) m i n ( s 0 ) = 70 . E ( E ) m a x ( s 0 ) = 254 is the maximum cumulative expected cost of that the patient starts from state s 0 and becomes enough finally. E ( E ) m i n ( s 0 ) = 70 is the minimum cumulative expected cost of that the patient starts from state s 0 and becomes enough finally.

7. Conclusions

This paper provides a polynomial model checking algorithm for the verification of some quantitative properties in fuzzy systems in which in any state a nondeterministic choice and cost between fuzzy sets exist. First, we define a fuzzy decision process model with a cost function. This model can describe the cost consumption and other attributes of a fuzzy system. By introducing the definition of the scheduler, we transmit FDPC into a fuzzy Kripke structure. Next, we give the syntax and semantics of fuzzy computation tree logic with a cost operator to describe the properties. Then, using fuzzy matrix and matrix operations, the quantitative calculation of the computation tree logic model checking on the fuzzy decision process model with the cost is introduced, and the corresponding polynomial time algorithm is proposed.
There are several problems that are worth further study. First, it is interesting to consider the linear temporal logic model checking in FDPC. Second, we would like to extend this method used in this paper to multi-objectives model checking. Finally, we will give some case studies on the methods proposed in this paper.

Author Contributions

Conceptualization and Methodology, Z.M. and Z.L.; Formal analysis, W.L., X.L. and Y.G. All authors have read and agreed to the published version of the manuscript.

Funding

The work is partially supported by National Natural Science Foundation of China (Grant No. 61962001), Graduate Innovation Project of North Minzu University (Grant No. YCX22196 and No. YCX22184), Scientific Research Project of Introducing Personnel from North Minzu University (Grant No. 2020KYQD 14), Provincial key R& D of Ningxia Science and Technology Department (Grant No. 2019BEB04032), and Provincial Natural Science Foundation of Ningxia (Grant No. 2021A1017).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

Appendix A. Proof of (1)–(10)

Proof. 
(1) Φ max ( s )
= π P a t h s max ( s ) Φ ( π )
= π P a t h s max ( s ) P max ( s , t ) Φ ( t )
= t S ( α A c t ( s ) P ( s , α , t ) Φ ( t ) )
= t S ( P α max ( s , t ) Φ ( t ) )
= ( P α m a x P Φ ) ( s )
Proof. 
(2) Φ min ( s )
= π P a t h s min ( s ) Φ ( π )
= π P a t h s min ( s ) P min ( s , t ) Φ ( t )
= t S ( α A c t ( s ) P ( s , α , t ) Φ ( t ) )
= t S ( P α min ( s , t ) Φ ( t ) )
= ( P α m i n P Φ ) ( s )
Proof. 
(3) Φ max ( s )
= π P a t h s max ( s ) Φ ( π )
= π P a t h s max ( s ) P max ( s , t ) Φ ( t )
= t S ( α A c t ( s ) P ( s , α , t ) Φ ( t ) )
= t S ( P α max ( s , t ) Φ ( t ) )
= 0 k n ( P α max ( s 0 , s k ) Φ ( s k ) ) 0 k n ( P α max ( s n , s k ) Φ ( s k ) ) ( s )
= 1 0 k n ( P α max c ( s 0 , s k ) Φ c ( s k ) ) 1 0 k n ( P α max c ( s n , s k ) Φ c ( s k ) ) ( s )
= 1 1 0 k n ( P α max c ( s 0 , s k ) Φ c ( s k ) ) 0 k n ( P α max c ( s n , s k ) Φ c ( s k ) ) ( s )
= 1 1
1 P α max ( s 0 , s 0 ) Φ ( s 0 ) 1 P α max ( s n , s 0 ) Φ ( s 0 ) ) 1 P α max ( s 0 , s n ) Φ ( s n ) 1 P α max ( s n , s n ) Φ ( s n ) 1 1 ( s )
= 1 1 ( 1 1 1 1 P α max D Φ ) 1 1 ( s )
= 1 1 ( P α max D Φ ) c E ( s )
= ( ( P α max D Φ ) c E ) c ( s )
Proof. 
(4) Φ min ( s )
= π P a t h s min ( s ) Φ ( π )
= π P a t h s min ( s ) P min ( s , t ) Φ ( t )
= t S ( α A c t ( s ) P ( s , α , t ) Φ ( t ) )
= t S ( P α min ( s , t ) Φ ( t ) )
= ( ( P α min D Φ ) c E ) c ( s )
Proof. 
(5) Φ 1 Φ 2 m a x ( s )
= π P a t h s max ( s ) Φ 1 Φ 2 ( π )
= π P a t h s max ( s ) ( Φ 2 ( s ) j > 0 ( Φ 1 ( s )
k < j P max ( t k 1 , t k ) Φ 1 ( t k ) P max ( t j 1 , t j ) Φ 2 ( t j ) ) )
= t S ( Φ 2 ( s ) j > 0 ( Φ 1 ( s )
0 < k < j ( α k 1 A c t ( t k 1 ) P ( t k 1 , α k 1 , t k ) Φ 1 ( t k ) )
α k 1 A c t ( t j 1 ) P ( t j 1 , α j 1 , t j ) Φ 2 ( t j ) ) )
= t S ( Φ 2 ( s ) j > 0 ( Φ 1 ( s )
0 < k < j ( P α max ( t k 1 , t k ) Φ 1 ( t k ) ) P α max ( t j 1 , t j ) Φ 2 ( t j ) ) )
= Φ 2 ( s ) j > 0 t S ( ( 0 k < j ( Φ 1 ( t k ) P α max ( t k , t k + 1 ) ) Φ 2 ( t j ) ) )
= ( ( P Φ 2 j > 0 ( D Φ 1 P α max ) j P Φ 2 ) ( s )
= ( j 0 ( D Φ 1 P α max ) j P Φ 2 ) ( s )
= ( ( D Φ 1 P α max ) * P Φ 2 ) ( s )
Proof. 
(6) Φ 1 Φ 2 m i n ( s )
= π P a t h s min ( s ) Φ 1 Φ 2 ( π )
= π P a t h s min ( s ) ( Φ 2 ( s ) j > 0 ( Φ 1 ( s )
k < j P min ( t k 1 , t k ) Φ 1 ( t k ) P min ( t j 1 , t j ) Φ 2 ( t j ) ) )
= t S ( Φ 2 ( s ) j > 0 ( Φ 1 ( s )
0 < k < j ( α k 1 A c t ( t k 1 ) P ( t k 1 , α k 1 , t k ) Φ 1 ( t k ) )
α k 1 A c t ( t j 1 ) P ( t j 1 , α j 1 , t j ) Φ 2 ( t j ) ) )
= t S ( Φ 2 ( s ) j > 0 ( Φ 1 ( s )
0 < k < j ( P α min ( t k 1 , t k ) Φ 1 ( t k ) ) P α min ( t j 1 , t j ) Φ 2 ( t j ) ) )
= Φ 2 ( s ) j > 0 t S ( ( 0 k < j ( Φ 1 ( t k ) P α min ( t k , t k + 1 ) ) Φ 2 ( t j ) ) )
= ( ( P Φ 2 j > 0 ( D Φ 1 P α min ) j P Φ 2 ) ( s )
= ( j 0 ( D Φ 1 P α min ) j P Φ 2 ) ( s )
= ( ( D Φ 1 P α min ) * P Φ 2 ) ( s )
Proof. 
(7) Φ 1 Φ 2 m a x ( s )
= π P a t h s max ( s ) Φ 1 Φ 2 ( π )
= π P a t h s max ( s ) ( Φ 2 ( s ) j > 0 ( Φ 1 ( s )
k < j P max ( t k 1 , t k ) Φ 1 ( t k ) P max ( t j 1 , t j ) Φ 2 ( t j ) ) )
= t S ( Φ 2 ( s ) j > 0 ( Φ 1 ( s ) 0 < k < j ( α k 1 A c t ( t k 1 ) P ( t k 1 , α k 1 , t k )
Φ 1 ( t k ) ) α k 1 A c t ( t j 1 ) P ( t j 1 , α j 1 , t j ) Φ 2 ( t j ) ) )
= t S ( Φ 2 ( s ) j > 0 ( Φ 1 ( s ) 0 < k < j ( P α max ( t k 1 , t k ) Φ 1 ( t k ) )
P α max ( t j 1 , t j ) Φ 2 ( t j ) ) )
= Φ 2 ( s ) j > 0 t S ( ( 0 k < j ( Φ 1 ( t k ) P α max ( t k , t k + 1 ) ) Φ 2 ( t j ) ) )
= Φ 2 ( s ) j > 0 K 0 K n ( s )
= Φ 2 ( s ) j > 0 { E J 00 J 0 n J n 0 J n n ( s ) E } ( s )
= Φ 2 ( s ) j > 0 { E ( D S L 0 L 0 L n L n
O 0 O n O 0 O n O 0 O n O 0 O n D Φ 2 ) E } ( s )
= Φ 2 ( s ) { E [ D S
( ( D Φ 1 P α max ) c D S ) c ( ( D S ( D Φ 1 P α max ) c ) c ) * D Φ 2 ] E } ( s )
= Φ 2 ( s ) ( [ ( ( D Φ 1 P α max ) c D S ) c ( ( D S ( D Φ 1 P α max ) c ) c ) * D Φ 2 ] c
E ) c ( s )
= ( P Φ 2 ( [ ( ( D Φ 1 P α max ) c D S ) c ( ( D S ( D Φ 1 P α max ) c ) c ) * D Φ 2 ] c
E ) c ) ( s )
where,
K 0 = 0 u n ( Φ ( s 0 ) 0 k n P α m a x ( s 0 , s k ) ) 0 m n
( Φ ( s k ) P α m a x ( s k , s m ) ) 0 o n ( Φ ( s o )
P α m a x ( s o , s u ) ) Φ 2 ( s u )
K n = 0 u n ( Φ ( s n ) 0 k n P α m a x ( s 0 , s k ) ) 0 m n
( Φ ( s k ) P α m a x ( s k , s m ) ) 0 o n ( Φ ( s o )
P α m a x ( s o , s u ) ) Φ 2 ( s u )
J 00 = ( Φ 1 c ( s 0 ) 0 k n P α m a x c ( s 0 , s k ) ) 0 m n
( Φ 1 c ( s k ) P α m a x c ( s k , s m ) ) 0 o n ( Φ 1 c ( s o ) P α m a x c ( s o , s 0 ) ) Φ 2 c ( s 0 )
J n 0 = ( Φ 1 c ( s n ) 0 k n P α m a x c ( s n , s k ) ) 0 m n
( Φ 1 c ( s k ) P α m a x c ( s k , s m ) ) 0 o n ( Φ 1 c ( s o ) P α m a x c ( s o , s 0 ) ) Φ 2 c ( s 0 )
J 0 n = ( Φ 1 c ( s 0 ) 0 k n P α m a x c ( s 0 , s k ) ) 0 m n
( Φ 1 c ( s k ) P α m a x c ( s k , s m ) ) 0 o n ( Φ 1 c ( s o ) P α m a x c ( s o , s n ) ) Φ 2 c ( s n )
J n n = ( Φ 1 c ( s n ) 0 k n P α m a x c ( s n , s k ) ) 0 m n
( Φ 1 c ( s k ) P α m a x c ( s k , s m ) ) 0 o n ( Φ 1 c ( s o ) P α m a x c ( s o , s n ) ) Φ 2 c ( s n )
L 0 = Φ 1 ( s 0 ) 0 k n P α m a x ( s n , s k )
L n = Φ 1 ( s n ) 0 k n P α m a x ( s n , s k )
O 0 = 0 k n Φ 1 ( s k ) P α m a x ( s k , s 0 )
O n = 0 k n Φ 1 ( s k ) P α m a x ( s k , s n )
Proof. 
(8) Φ 1 Φ 2 m i n ( s )
= π P a t h s min ( s ) Φ 1 Φ 2 ( π )
= π P a t h s min ( s ) ( Φ 2 ( s ) j > 0 ( Φ 1 ( s )
k < j P min ( t k 1 , t k ) Φ 1 ( t k ) P min ( t j 1 , t j ) Φ 2 ( t j ) ) )
= t S ( Φ 2 ( s ) j > 0 ( Φ 1 ( s ) 0 < k < j ( α k 1 A c t ( t k 1 ) P ( t k 1 , α k 1 , t k )
Φ 1 ( t k ) ) α k 1 A c t ( t j 1 ) P ( t j 1 , α j 1 , t j ) Φ 2 ( t j ) ) )
= t S ( Φ 2 ( s ) j > 0 ( Φ 1 ( s )
0 < k < j ( P α min ( t k 1 , t k ) Φ 1 ( t k ) ) P α min ( t j 1 , t j ) Φ 2 ( t j ) ) )
= Φ 2 ( s ) j > 0 t S ( ( 0 k < j ( Φ 1 ( t k ) P α min ( t k , t k + 1 ) ) Φ 2 ( t j ) ) )
= ( P Φ 2 ( [ ( ( D Φ 1 P α min ) c D S ) c ( ( D S ( D Φ 1 P α min ) c ) c ) * D Φ 2 ] c
E ) c ) ( s )
Proof. 
(9) E ( = k ) m a x ( s )
= E x m a x s ( c o s t [ = k ] )
= ( 0 < j k ( t S P max ( t j 1 , t j ) ) ) · C ( t k 1 , α k 1 )
= ( 0 < j k ( t S α j 1 A c t ( t j 1 ) P ( t j 1 , α j 1 , t j ) ) ) · C ( t k 1 , α k 1 )
= ( 0 < j k ( t S P α max ( t j 1 , t j ) ) ) · C ( t k 1 , α k 1 )
= ( P α max max k E ) ( s ) · C T α max ( t k 1 , t k ) ( t k 1 )
where t m = a r g m a x t m S ( P α max max m ( s , t m ) ) .
Proof. 
(10) E ( = k ) m i n ( s )
= E x m i n s ( c o s t [ = k ] )
= ( 0 < j k ( t S P min ( t j 1 , t j ) ) ) · C ( t k 1 , α k 1 )
= ( 0 < j k ( t S α j 1 A c t ( t j 1 ) P ( t j 1 , α j 1 , t j ) ) ) · C ( t k 1 , α k 1 )
= ( 0 < j k ( t S P α min ( t j 1 , t j ) ) ) · C ( t k 1 , α k 1 )
= ( P α min max k E ) ( s ) · C T α min ( t k 1 , t k ) ( t k 1 )
where t m = a r g m a x t m S ( P α min max m ( s , t m ) ) .

References

  1. Baier, C.; Katoen, J.P. Principles of Model Checking; MIT Press: Cambridge, MA, USA, 2008. [Google Scholar]
  2. Xie, D.; Xiong, W.; Bu, L.; Li, X. Deriving unbounded reachability proof of linear hybrid automata during bounded checking procedure. IEEE Trans. Comput. 2017, 66, 416–430. [Google Scholar] [CrossRef]
  3. Rawlings, B.C.; Lafortune, S.; Ydstie, B.E. Supervisory control of labeled transition systems subject to multiple reachability requirements via symbolic model checking. IEEE Trans. Control. Syst. Technol. 2020, 28, 644–652. [Google Scholar] [CrossRef]
  4. Hart, S.; Sharir, M. Probabilistic propositional temporal logics. Inf. Control. 1986, 70, 97–155. [Google Scholar] [CrossRef]
  5. Alfaro, L.D.; Kwiatkowska, M.; Norman, G.; Parker, D.; Segala, R. Symbolic model checking of probabilistic processes using mtbdds and the kronecker representation. In Tools and Algorithms for the Construction and Analysis of Systems; Graf, S., Schwartzbach, M., Eds.; Springer: Berlin/Heidelberg, Germany, 2000; pp. 395–410. [Google Scholar]
  6. Baier, C.; Clarke, E.M.; Hartonas-Garmhausen, V.; Kwiatkowska, M.; Ryan, M. Symbolic model checking for probabilistic processes. In International Colloquium on Automata, Languages, and Programming; Degano, P., Gorrieri, R., Marchetti-Spaccamela, A., Eds.; Springer: Berlin/Heidelberg, Germany, 1997; pp. 430–440. [Google Scholar] [CrossRef]
  7. Baier, C.; Ciesinski, F.; Grosser, M. Probmela: A Modeling Language for Communicating Probabilistic Processes. In Proceedings of the Second ACM and IEEE International Conference on Formal Methods and Models for Co-Design, San Diego, CA, USA, 23–25 June 2004; Volume 4, pp. 57–66. [Google Scholar]
  8. Baier, C.; de Alfaro, L.; Forejt, V.; Kwiatkowska, M. Model Checking Probabilistic Systems; Springer International Publishing: Cham, Switzerland, 2018; pp. 963–999. [Google Scholar] [CrossRef]
  9. Chechik, M.; Gurfinkel, A.; Devereux, B. Xchek: A Multi-Valued Model-Checker. In Computer Aided Verification; Brinksma, E., Larsen, K.G., Eds.; Springer: Berlin/Heidelberg, Germany, 2002; pp. 505–509. [Google Scholar] [CrossRef]
  10. Chechik, M.; Easterbrook, S.; Devereux, B. Model checking with multi-valued temporal logics. In Proceedings of the 31st IEEE International Symposium on Multiple-Valued Logic, Warsaw, Poland, 22–24 May 2001; IEEE: Warsaw, Poland, 2001; pp. 187–192. [Google Scholar]
  11. Li, Y.; Droste, M.; Lei, L. Model checking of linear-time properties in multi-valued systems. Inf. Sci. 2017, 377, 51–74. [Google Scholar] [CrossRef]
  12. Chechik, M.; Gurfinkel, A.; Devereux, B.; Lai, A.; Easterbrook, S. Data structures for symbolic multi-valued model-checking. Form. Methods Syst. Des. 2006, 29, 295–344. [Google Scholar] [CrossRef]
  13. Li, Y.; Li, L. Model checking of linear-time properties based on possibility measure. IEEE Trans. Fuzzy Syst. 2013, 21, 842–854. [Google Scholar] [CrossRef]
  14. Li, Y.; Li, Y.; Ma, Z. Computation tree logic model checking based on possibility measures. Fuzzy Sets Syst. 2015, 262, 44–59. [Google Scholar] [CrossRef] [Green Version]
  15. Li, Y.; Ma, Z. Quantitative computation tree logic model checking based on generalized possibility measures. IEEE Trans. Fuzzy Syst. 2015, 23, 2034–2047. [Google Scholar] [CrossRef]
  16. Zhang, S.; Li, Y. Expressive power of linear-temporal logic based on generalized possibility measures. In Proceedings of the 2016 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE), Vancouver, BC, Canada, 24–29 July 2016; pp. 431–436. [Google Scholar]
  17. Subhankar Mukherjee, P.D. A fuzzy real-time temporal logic. Int. J. Approx. Reason. 2013, 54, 1452–1470. [Google Scholar] [CrossRef]
  18. Yang, C.; Li, Y. ϵ-bisimulation relations for fuzzy automata. IEEE Trans. Fuzzy Syst. 2018, 26, 2017–2029. [Google Scholar] [CrossRef]
  19. Pan, H.; Li, Y.; Cao, Y.; Ma, Z. Model checking fuzzy computation tree logic. Fuzzy Sets Syst. 2015, 262, 60–77. [Google Scholar] [CrossRef]
  20. Zadeh, L. Fuzzy sets. Inf. Cont. 1965, 8, 338–353. [Google Scholar] [CrossRef]
  21. Zimmermann, H.-J. Fuzzy Set Theory and Its Applications; Springer: Dordrecht, The Netherlands, 2001. [Google Scholar]
  22. Frigeri, A.; Pasquale, L.; Spoletini, P. Fuzzy time in linear temporal logic. ACM Trans. Comput. Log. 2014, 15, 1–22. [Google Scholar] [CrossRef]
  23. Garmendia Salvador, L.; González del Campo, R.; López, V.; Recasens Ferrés, J. An algorithm to compute the transitive closure, a transitive approximation and a transitive opening of a proximity. Mathw. Soft Comput. 2009, 16, 175–191. [Google Scholar]
  24. Zhang, P.; Jiang, J.; Ma, Z.; Zhu, H. Quantitative μ-calculus model checking algorithm based on generalized possibility measures. In Proceedings of the 2019 IEEE Intl Conference on Dependable, Autonomic and Secure Computing, International Conference on Pervasive Intelligence and Computing, International Conference on Cloud and Big Data Computing, International Conference on Cyber Science and Technology Congress (DASC/PiCom/CBDCom/CyberSciTech), Fukuoka, Japan, 5–8 August 2019; IEEE: Piscataway, NJ, USA, 2019; pp. 449–453. [Google Scholar] [CrossRef]
  25. Choi, J.; Lee, K.Y. Fuzzy Decision Making for TEP; Wiley-IEEE Press: Piscataway, NJ, USA, 2022; pp. 375–399. [Google Scholar]
  26. Li, Y.; Wei, J. Possibilistic fuzzy linear temporal logic and its model checking. IEEE Trans. Fuzzy Syst. 2021, 29, 1899–1913. [Google Scholar] [CrossRef]
  27. Yang, W.; Jhang, S.; Shi, S.E.A. A novel additive consistency for intuitionistic fuzzy preference relations in group decision making. Appl. Intell. 2020, 50, 4342–4356. [Google Scholar] [CrossRef]
  28. Xue, Y.; Deng, Y. Decision making under measure-based granular uncertainty with intuitionistic fuzzy sets. Appl. Intell. 2021, 51, 6224–6233. [Google Scholar] [CrossRef] [PubMed]
  29. Li, Y.M. Analysis of Fuzzy Systems; Science Press: Beijing, China, 2005. (In Chinese) [Google Scholar]
  30. Zhang, Y.; Tang, J.; Meng, F. Programming model-based method for ranking objects from group decision making with interval-valued hesitant fuzzy preference relations. Appl. Intell. 2019, 49, 837–857. [Google Scholar] [CrossRef]
Figure 1. FKS transmitted by α .
Figure 1. FKS transmitted by α .
Entropy 24 01183 g001
Figure 2. FKS transmitted by β .
Figure 2. FKS transmitted by β .
Entropy 24 01183 g002
Figure 3. FKS transmitted by γ .
Figure 3. FKS transmitted by γ .
Entropy 24 01183 g003
Figure 4. FDPC created by above FKSs.
Figure 4. FDPC created by above FKSs.
Entropy 24 01183 g004
Figure 5. FDPC of A d v .
Figure 5. FDPC of A d v .
Entropy 24 01183 g005
Figure 6. The maximum possibility transition FDPC of A d v .
Figure 6. The maximum possibility transition FDPC of A d v .
Entropy 24 01183 g006
Figure 7. The minimum possibility transition FDPC of A d v .
Figure 7. The minimum possibility transition FDPC of A d v .
Entropy 24 01183 g007
Figure 8. FDPC of P α m a x .
Figure 8. FDPC of P α m a x .
Entropy 24 01183 g008
Figure 9. FDPC of P α m i n .
Figure 9. FDPC of P α m i n .
Entropy 24 01183 g009
Figure 10. The model of treatment options α .
Figure 10. The model of treatment options α .
Entropy 24 01183 g010
Figure 11. The model of treatment options β .
Figure 11. The model of treatment options β .
Entropy 24 01183 g011
Figure 12. The model of treatment options γ .
Figure 12. The model of treatment options γ .
Entropy 24 01183 g012
Figure 13. The FDPC of medical expert system.
Figure 13. The FDPC of medical expert system.
Entropy 24 01183 g013
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Ma, Z.; Li, Z.; Li, W.; Gao, Y.; Li, X. Model Checking Fuzzy Computation Tree Logic Based on Fuzzy Decision Processes with Cost. Entropy 2022, 24, 1183. https://doi.org/10.3390/e24091183

AMA Style

Ma Z, Li Z, Li W, Gao Y, Li X. Model Checking Fuzzy Computation Tree Logic Based on Fuzzy Decision Processes with Cost. Entropy. 2022; 24(9):1183. https://doi.org/10.3390/e24091183

Chicago/Turabian Style

Ma, Zhanyou, Zhaokai Li, Weijun Li, Yingnan Gao, and Xia Li. 2022. "Model Checking Fuzzy Computation Tree Logic Based on Fuzzy Decision Processes with Cost" Entropy 24, no. 9: 1183. https://doi.org/10.3390/e24091183

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop