[CS@TUK] Questions and Answers - Recent questions and answers in * TF "Vis. and Sci. Comp."
https://q2a.cs.uni-kl.de/qa/teaching-field-visualisation-and-scientific-computing
Powered by Question2AnswerAnswered: Exercize 8 Problem 1(b)
https://q2a.cs.uni-kl.de/2418/exercize-8-problem-1-b?show=2422#a2422
<p>To give some help and instructions how to use the tool, consider the following: Given formulas S1=[a WB [c WB b]] and S2=[a WB [c SB b]], we first check whether the one implies the other one.</p><p>The tool quickly tells us that [a WB [c WB b]] -> [a WB [c SB b]] is valid, while we get a counterexample for [a WB [c SB b]] -> [a WB [c WB b]]. That counterexample consists of an infinite path where G(!a&!b&!c) holds. Hence, we know that</p><ul><li>G(!a&!b&!c) -> [a WB [c SB b]]</li><li>G(!a&!b&!c) -> ![a WB [c WB b]]</li></ul><p>which is also easily seen with the semantics of the WB and SB operators. Hence, we already have a first formula to distinguish between the two formulas. To find a second one, we ask the tool whether this is the only counterexample in that we let the tool check the following</p><p> !G(!a&!b&!c) -> ([a WB [c SB b]] -> [a WB [c WB b]])</p><p>A counterexamle would satisfy !G(!a&!b&!c) & [a WB [c SB b]] & ![a WB [c WB b]]. The tools gives a counterexample which is an infinite path where G(a&!b&!c) holds. So, we have a second counterexample.</p><p>If you want a third one, you may ask now</p><p> !G(!a&!b&!c) & !G(a&!b&!c) -> ([a WB [c SB b]] -> [a WB [c WB b]])</p><p>This time, we get a counterexample with two alternating states which may be described with the following LTL formula:</p><p> (!a&!b&!c) & G( ((!a&!b&!c) -> X(a&!b&!c)) & ((a&!b&!c) -> X(!a&!b&!c)))</p><p>This way, you can construct many counterexamples or models that satisfy a formula like !S1&S2.</p>* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/2418/exercize-8-problem-1-b?show=2422#a2422Fri, 25 Jun 2021 10:13:58 +0000Answered: Exercise 8 problem 1 (a)
https://q2a.cs.uni-kl.de/2417/exercise-8-problem-1-a?show=2420#a2420
Your answers imply each other. Although the description says that they may not be the same, they also may not imply each other.* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/2417/exercise-8-problem-1-a?show=2420#a2420Fri, 25 Jun 2021 09:42:46 +0000Answered: Problems with brackets in Exercise tool
https://q2a.cs.uni-kl.de/2328/problems-with-brackets-in-exercise-tool?show=2329#a2329
I don't think that there are brackets missing. Note that the slides explain that we will always use the following precedences: ¬ < ∧ < ⊕ < ∨ < → < ↔ which means that negation binds strongest and equivalence binds weakest. Hence, you can write x ↔ (y1 ∧ y2) also as x ↔ y1 ∧ y2. The printer of the teaching tool avoids brackets as much as possible.* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/2328/problems-with-brackets-in-exercise-tool?show=2329#a2329Fri, 30 Apr 2021 14:31:19 +0000Answered: 2020.Feb exam paper
https://q2a.cs.uni-kl.de/1764/2020-feb-exam-paper?show=1766#a1766
EGa is true at states {s2;s3;s6}, thus AFEGa must include these states at least since all paths starting there already have reached the set EGa={s2;s3;s6} at the initial point of time. Note that Fp holds if p holds now or at any time in the future. The present time is included.* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1764/2020-feb-exam-paper?show=1766#a1766Fri, 21 Aug 2020 20:02:25 +0000Answered: Exam - 2019.02.13
https://q2a.cs.uni-kl.de/1634/exam-2019-02-13?show=1636#a1636
We don't just consider that subtree. Read the example solution carefully; it just makes an abbreviation of a subtree first which is used later, and then starts the computation with Exists(e3,b_phi) where e3 is node b, and then it finally explains how to compute Exists(e2,a_phi) where e2 is the given BDD.* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1634/exam-2019-02-13?show=1636#a1636Tue, 18 Aug 2020 15:04:55 +0000Answered: Simplex Algorithm
https://q2a.cs.uni-kl.de/1586/simplex-algorithm?show=1590#a1590
Since all variables should become integer solutions, you need to sharpen all bounds to integers. Recall that the simplex algorithm walks around the borders to find a solution.* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1586/simplex-algorithm?show=1590#a1590Tue, 18 Aug 2020 06:54:52 +0000Answered: omega automata
https://q2a.cs.uni-kl.de/1582/omega-automata?show=1583#a1583
<p>No, it is rather like this:</p><pre> b : 00000111
a : 11111***
[a SU b] : 11111111
b : 00000111
a : 10111***
[a SU b] : 00111111
b : 00000111
a : 11110***
[a SU b] : 00000111</pre><p>Note where I have written * for a; the value of a does not matter there. For WU, it is the same in the above diagrams.</p><p>For [a SB b] and [a WB b], a must hold before b holds (not at the same time). </p><pre> b : 00000
a : 00001
[a SB b] : 11111
b : 10001
a : 00111
[a SB b] : 01110</pre><p>You may also remember the following laws (weak or strong does not matter here):</p><pre> !a & !b -> ([a SB b] <-> X[a SB b])
a & !b -> [a SB b]
b -> ![a SB b]
a & !b -> ([a SU b] <-> X[a SU b])
!a & !b -> ![a SU b]
b -> [a SU b]</pre><div></div>* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1582/omega-automata?show=1583#a1583Mon, 17 Aug 2020 22:25:01 +0000Answered: Different BDD equivalent
https://q2a.cs.uni-kl.de/1521/different-bdd-equivalent?show=1523#a1523
<p>Well, there are a lot of ways how to check the equivalence of formulas, and each one of them can be used here, once you read the Boolean functions from the two BDDs. An alternative would be to apply the swap operation to swap variables x1 and x2 in the ordering that must convert one BDD into the other one. </p><p>However, the simplest way would be to compare the high- and low-subtrees of the root node. As high-subtrees, you find x2&!x1 | !x2 and !x1 | x1&!x2 which are same which you can see by a Shannon decomposition of both:</p><ul><li>x2&!x1 | !x2 = (x1 => !x2 | 1)</li><li>!x1 | x1&!x2 = (x1 => !x2 | 1)</li></ul><div>Same way, the low-trees are x2&x1 in both cases, and therefore trivially the same.</div>* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1521/different-bdd-equivalent?show=1523#a1523Sun, 16 Aug 2020 10:14:02 +0000Answered: prove Inductive property
https://q2a.cs.uni-kl.de/1515/prove-inductive-property?show=1518#a1518
To prove the induction step, we have to show that all successor states of those states that satisfy Phi do also satisfy Phi. Hence, we have to prove that suc∃(Phi)⊂Phi. By the inductiveness lemma on slide 12 of the Induction Chapter, this is equivalent to Phi ⊂ pre∀(Phi) and that in turn is equivalent to Phi -> []Phi by the semantics of the modal operator [].<br />
<br />
I know that this is not that straightforward and it confused me also a lot. Finally, I have proven those lemmata at the beginning of the Induction chapter, and that clarified these things for me. Otherwise, it is really confusing about predecessors and successors. At the end, it is not that difficult, once these lemmata are seen. The lemmata are however a bit more general than needed, but I wanted to see all what holds.* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1515/prove-inductive-property?show=1518#a1518Sun, 16 Aug 2020 09:15:41 +0000Answered: LTL formula
https://q2a.cs.uni-kl.de/1493/ltl-formula?show=1495#a1495
Short answer to the first question: It is almost the definition of the semantics of F[a SU (G b)]. This is explained in detail as follows: According to the semantics of the temporal operators, F[a SU (G b)] evaluated at time t0 is equivalent to the following LO2 formula:<br />
<br />
∃t1. t0≤t1 ∧ (∃t0. t1≤t0 ∧ (∀t2. (t1≤t2 ∧ t2<t0 → a[t2])) ∧ (∀t1. (t0≤t1 → b[t1])) )<br />
<br />
Since (∀t2. phi) & (∀t2. psi) = ∀t2.(phi&psi), we can rewrite this:<br />
<br />
∃t1. t0≤t1 ∧ (∃t0. t1≤t0 ∧ (∀t2. (t1≤t2 ∧ t2<t0 → a[t2]) ∧ (t0≤t2 → b[t2])) )<br />
<br />
Let's compare it with the one given in the solution: First, we have there t0=0, so that we obtain<br />
<br />
∃t1. 0≤t1 ∧ (∃t0. t1≤t0 ∧ (∀t2. (t1≤t2 ∧ t2<t0 → a[t2]) ∧ (t0≤t2 → b[t2])) )<br />
<br />
Let's now rename t1<-t0 and t0<-t1: <br />
<br />
∃t0. 0≤t0 ∧ (∃t1. t0≤t1 ∧ (∀t2. (t0≤t2 ∧ t2<t1 → a[t2]) ∧ (t1≤t2 → b[t2])) )<br />
<br />
which is exactly what the example solution is. So the answer is that the given formula is almost what you get by the LTL semantics of the formula F[a SU (G b)] (evaluated at initial time 0). Note that t0 refers to the F operator, t1 to the even of the SU operator and t2 for the quantification to make sure that a holds until t1 and also that b holds from there. Note that binary operators like SU introduce two quantifiers; an existential one to make sure that the event will eventually hold, and a universal one to make sure that the other property will hold until then.<br />
<br />
Second question: Looking at the formula, you can see that it demands that a time t0 shall come where something from there will happen. That means F phi, where phi is the property that shall hold at time t0 which is ∃t1. t0≤t1 ∧ (∀t2. (t0≤t2 ∧ t2≤t1 → ¬b[t2])) ∧ a[t1]. What does it say? There shall be a time t1 such that a holds there, and for all points of time t2 with t0≤t2 ∧ t2≤t1 we have ¬b[t2]. Hence, a holds before b holds when looking from t0 onwards into the future. Thus, we have F([a SB b]), since a must eventually hold.* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1493/ltl-formula?show=1495#a1495Sat, 15 Aug 2020 08:50:04 +0000Answered: Translate to LO2
https://q2a.cs.uni-kl.de/1481/translate-to-lo2?show=1483#a1483
No, we are just talking about GFa in the final step since we have replaced GF PWX a by the equivalent formula GFa first.* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1481/translate-to-lo2?show=1483#a1483Fri, 14 Aug 2020 17:13:14 +0000Answered: Temporal Logic
https://q2a.cs.uni-kl.de/1471/temporal-logic?show=1472#a1472
<p>Have a look at the automaton that is replaced by FG p:</p><p><img alt="" src="https://q2a.cs.uni-kl.de/?qa=blob&qa_blobid=16373665432206074018" style="height:210px; width:159px"></p><p>Only runs are accepted where once the green state is reached. Obviously, we may also demand that FG p should hold, right?</p>* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1471/temporal-logic?show=1472#a1472Fri, 14 Aug 2020 15:26:36 +0000Answered: Doubt in Temporal logic lecture
https://q2a.cs.uni-kl.de/1444/doubt-in-temporal-logic-lecture?show=1447#a1447
<p>Just to make sure that we talk about the same slide: </p><p><img alt="" src="https://q2a.cs.uni-kl.de/?qa=blob&qa_blobid=4372415881371669808" style="height:217px; width:450px"></p><p>Now, the answer to your question: If you assume that phi and psi would be CTL formulas, then all the left hand sides would also be CTL formulas and there would not be a problem. However, the slide discusses the problem that in front of a temporal operator we might miss a path quantifier. So, assume you have EF Gp which is not a CTL formula. Then, this slide tells you that you can add for any formula EFphi a path quantifier to obtain EFE phi and that make then EFGp a CTL formula EFEGp. The slide does not say whether the left or right hand side is a CTL formula, but it does say where you can add path quantifiers that you may miss to transform a formula which is not in CTL syntax (but equivalent to a CTL formula) to the CTL syntax.</p>* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1444/doubt-in-temporal-logic-lecture?show=1447#a1447Fri, 14 Aug 2020 09:29:31 +0000Answered: Temporal Logic
https://q2a.cs.uni-kl.de/1430/temporal-logic?show=1433#a1433
<p>(G a)⊕(F !a) holds on the structure, and ((X G a)⊕(G !a)) does not hold on the structure, so yes, the first example is an example structure that distinguishes between the two formulas.</p><p>In the second example, I am not sure what formulas you exactly mean, but despite of that, you are also right, since our teaching tool tells us the following: </p><ul><li>(G b) -> F[a WU b] is valid</li><li>(G b) -> [(F a) WU b] is valid</li><li>(G b) -> ![(G b) SU a] is not valid</li><li>(G b) -> !G[b SU a] is not valid</li></ul><div></div>* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1430/temporal-logic?show=1433#a1433Thu, 13 Aug 2020 17:21:59 +0000Answered: LTL Model Checking
https://q2a.cs.uni-kl.de/1422/ltl-model-checking?show=1426#a1426
As you said. If there are no infinite transitions, then the existential formula cannot be satisfied.<br />
<br />
If the formula is not satisfied, then its negation is satisfied. The negation of the existential formula is a universal formula. That isn't surprising. If there are no infinite paths, then all (of the zero) infinite paths satisfy any arbitrary criterion.* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1422/ltl-model-checking?show=1426#a1426Thu, 13 Aug 2020 12:34:02 +0000Answered: Temporal Logic
https://q2a.cs.uni-kl.de/1405/temporal-logic?show=1414#a1414
There is no general recipe here. The question asks for your understanding of the temporal logic formulas, i.e., you need to read and understand them, and think about their potential difference. If they are different, you can find an example to distinguish them, otherwise, there is a way to rewrite one into the other. <br />
<br />
As discussed in various threads about the same topics, you may think about what the formulas demand for the current point of time, and what they may ask for next points of time by unrolling the formulas using the recursive definitions of the temporal operators. That may, however, become difficult is therefore not a general recipe.<br />
<br />
In many cases the classic difference shown by the example on slide 42 of the temporal logic chapter is hidden, as in the case above. Slide 42 shows that EGFp and EGEFp are different, and by negating both, you can use the same example to show that AFG!p and AFAG!p are different. Then you are almost there.* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1405/temporal-logic?show=1414#a1414Thu, 13 Aug 2020 09:46:20 +0000Answered: Temporal Logic
https://q2a.cs.uni-kl.de/1412/temporal-logic?show=1413#a1413
This is the semantics of automata formulas as you can read on slides 35/36 of the omega-automata chapter.* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1412/temporal-logic?show=1413#a1413Thu, 13 Aug 2020 09:39:46 +0000Answered: Temporal Logic
https://q2a.cs.uni-kl.de/1406/temporal-logic?show=1408#a1408
In general, it is not that simple to decide whether a CTL* formula is equivalent to a LTL or CTL formula. For LTL, there is the following nice theorem that you can find on slide 43 of Chapter VRS-07.<br />
<br />
Theorem ([2]): Given a CTL formula phi, let psi be the quantifier-free formula that is obtained by removing all path quantifiers from phi. Then, there is an equivalent LTL formula for phi iff A psi is equivalent to phi. <br />
<br />
It requires however to check whether the original formula is equivalent to the constructed LTL formula, and that is again not that simple, since we did not discuss theorem proving for CTL*. Here, you need to check that by your intuitive understanding, i.e., read the formulas and try to say whether or not the above two formulas are the same. Typical cases where it goes wrong are alternating path quantifiers like A...E.. or E..A.., but that is not necessrarily the case.<br />
<br />
It is a bit simpler for the question whether a given CTL* formula is equivalent to a CTL formula. We learned two major transformations: (1) driving path quantifiers inwards (and duplicating them thereby), and (2) removing propositional operators after a path quantifiers. Number (2) can ALWAYS be done, but number (1) sometimes fails and only works for the subset that is called LeftCTL* of CTL*. So, try to apply these transformations, and if they work, you have a CTL formula.<br />
<br />
Apart from that, you also need to check some contradictions in the formulas that allow certain simplifications. In the above case, AGFa and AFG!a are contradicting and can only be satisfied if a state does not have any outgoing infinite path which are exactly the states satisfying A false. Since A false is not a CTL formula, it is replaced by the equivalent AGfalse.<br />
<br />
Second example: in general, we have [p WU q] & (F q) = [p SU q] which is step 1, and second, we have [true SU q] = F q which is step 2.* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1406/temporal-logic?show=1408#a1408Thu, 13 Aug 2020 06:58:06 +0000Answered: Temporal Logics
https://q2a.cs.uni-kl.de/1396/temporal-logics?show=1397#a1397
If we are just using negation, conjunction and disjunction, then a positive occurrence of a subformula is one that occurs behind an even number of negations while a negative occurrence is one that occurs behind an odd number of negations. <br />
<br />
Ga on slide 84 has a positive occurrence, and as slide 82 explained, we can neglect fairness constraints for [phi WU psi] (means for all weak temporal operators since all of them can be reduced to WU, and since we have G(a) = [a WU false], it also applies to G).* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1396/temporal-logics?show=1397#a1397Wed, 12 Aug 2020 17:30:42 +0000Answered: Omega automata
https://q2a.cs.uni-kl.de/1378/omega-automata?show=1381#a1381
<p>Maybe we first make some equivalence transformations: </p><pre> G(!b-> Xa) = G(b | Xa)</pre><p>and second</p><pre> F(!b->(a | X a))
= F(b | a | X a)
= (F b) | (F a) | (F X a)</pre><p>Hence, if we always have b | X a, we have at any point of time t either b or at t+1, we have a. If we should have b at time t, then we have (F b) at any time before t (hence, we have in particular F(b) at time 0). Otherwise, we have a at t+1, and thus, we have F(a) at any point before t+2, and also F(X a) at any point of time before t+1, in particular, (F a) and (F X a) hold therefore at time 0. </p><p>Hence, at time 0, we can say that <span style="white-space:pre-wrap">G(b | Xa) implies </span><span style="white-space:pre-wrap">F(!b->(a | X a)). </span></p><p><span style="white-space:pre-wrap">Right?</span></p>* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1378/omega-automata?show=1381#a1381Wed, 12 Aug 2020 07:41:01 +0000Answered: Omega automata
https://q2a.cs.uni-kl.de/1377/omega-automata?show=1380#a1380
It is actually the exam of 2018-02-14, problem 6c (please make this more precise in future questions; it takes time to find the exercise problems otherwise). <br />
<br />
The mentioned state s4 is actually the state s1' introduced in part a). It seems that it had been renamed to use the teaching tool; I will rename it to s1' for better understanding. <br />
<br />
The exercise instructs you to apply the Rabin-Scott construction to the automaton obtained in part a). It does not say that this automaton is equivalent or whatever. So, just applying the Rabin-Scott construction you obtain the above automaton. The automaton of part a) had as single accepting state s1' (or s4) and that leads to the above solution.* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1377/omega-automata?show=1380#a1380Wed, 12 Aug 2020 07:21:36 +0000Answered: Exam paper 2019
https://q2a.cs.uni-kl.de/1376/exam-paper-2019?show=1379#a1379
As you know, automata are deterministic if every word has a unique run, and that is the case iff there is a unique initial state and for each reachable state and input letter, there is a unique successor state. <br />
<br />
The mentioned automata are deterministic since they have a unique initial state (it is a minterm that assigns every state variable a unique value), and since the transition relation is a conjunction of equivalences of the form next(q) <-> Phi(q,a), i.e., equivalences where the left hand side is a state variable and the right hand side is a formula without next-occurrences. Hence, whatever variable environment you have for the current state and input variables, the right hand side evaluates to either true or false and determines the value for next(q) uniquely. Since there is exactly one such equivalence for every state variable, the automata are deterministic.* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1376/exam-paper-2019?show=1379#a1379Wed, 12 Aug 2020 07:06:32 +0000Answered: Omega Automata
https://q2a.cs.uni-kl.de/1360/omega-automata?show=1361#a1361
<ol><li>The task asked for a Büchi-automaton. Büchi is GF, Co-Büchi is FG.</li><li>You'd have to negate the inner part as well. FG( ¬a | X¬a) But consider 1.</li><li>The language should stay the same. Just the translation to a non-nested automata formula might be different.</li><li>I'm not sure whether I understood the question correctly. The said words can be detected deterministically. When that's done, we set a state variable. We then ensure that it occurs infinitely often by using an appropriate temporal acceptance criterion.</li></ol>* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1360/omega-automata?show=1361#a1361Tue, 11 Aug 2020 17:03:04 +0000Answered: From transition relation to transition diagram
https://q2a.cs.uni-kl.de/1348/from-transition-relation-to-transition-diagram?show=1349#a1349
<p>The problem with the SAT problem is that there is no method that is the best. Sometimes, it is okay to just make a truth table, sometimes a BDD is fine, and sometimes just converting to some other normal form will do. </p><p>In your example, I suggest the following partial evaluation approach: Make case distinctions for q1 and q2 since that will eliminate these variables and will reduce a lot of the remaining formula. This will give you all transitions that will start in one of the four possible states. </p><p>Let's do that with your transition relation</p><pre> (next(q2) <-> (a xor q1) | (a & q2)) &
(next(q1) <-> (a xor q2) | (a & q1))
<strong> q1=0 & q2=0:</strong>
(next(q2) <-> (a xor q1) | (a & q2)) &
(next(q1) <-> (a xor q2) | (a & q1))
=
(next(q2) <-> a) &
(next(q1) <-> a)
which gives you now the transitions
{q1=0;q2=0} --!a--> {q1=0;q2=0}
{q1=0;q2=0} -- a--> {q1=1;q2=1}
<strong> q1=0 & q2=1:</strong>
(next(q2) <-> (a xor q1) | (a & q2)) &
(next(q1) <-> (a xor q2) | (a & q1))
=
(next(q2) <-> a | a) &
(next(q1) <-> !a)
=
(next(q2) <-> a) &
(next(q1) <-> !a)
which gives you now the transitions
{q1=0;q2=1} --!a--> {q1=1;q2=0}
{q1=0;q2=1} -- a--> {q1=0;q2=1}
<strong> q1=1 & q2=0:</strong>
(next(q2) <-> (a xor q1) | (a & q2)) &
(next(q1) <-> (a xor q2) | (a & q1))
=
(next(q2) <-> !a) &
(next(q1) <-> a | a)
=
(next(q2) <-> !a) &
(next(q1) <-> a)
which gives you now the transitions
{q1=1;q2=0} --!a--> {q1=0;q2=1}
{q1=1;q2=0} -- a--> {q1=1;q2=0}
<strong> q1=1 & q2=1:</strong>
(next(q2) <-> (a xor q1) | (a & q2)) &
(next(q1) <-> (a xor q2) | (a & q1))
=
(next(q2) <-> !a | a) &
(next(q1) <-> !a | a)
=
(next(q2) <-> true) &
(next(q1) <-> true)
which gives you now the transitions
{q1=1;q2=1} --!a--> {q1=1;q2=1}
{q1=1;q2=1} -- a--> {q1=1;q2=1}
</pre><p></p><p>and that is the following state transition system:</p><p><img alt="" src="https://q2a.cs.uni-kl.de/?qa=blob&qa_blobid=1571043470621156568" style="height:221px; width:378px"></p><p>If just the reachable states would have been of interest, it would have been good to first state with the initial state s1, and then to continue with the next state s2 so that we would not have had to consider s0 and s3 at all. </p><p></p>* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1348/from-transition-relation-to-transition-diagram?show=1349#a1349Mon, 10 Aug 2020 16:44:11 +0000Answered: ROBDD to RMNF
https://q2a.cs.uni-kl.de/1331/robdd-to-rmnf?show=1337#a1337
<pre>Get the DNF:
c&!b | c&b&a | !c&b&a
Make it a full DNF
c&!b&!a | c&!b&a | c&b&a | !c&b&a
Replace or by xor:
c&!b&!a ⊕ c&!b&a ⊕ c&b&a ⊕ !c&b&a
Replace negations and multiply out
c&(b⊕1)&(a⊕1) ⊕ c&(b⊕1)&a ⊕ c&b&a ⊕ (c⊕1)&b&a
= c&b&(a⊕1) ⊕ c&(a⊕1) ⊕ c&(b⊕1)&a ⊕ c&b&a ⊕ (c⊕1)&b&a
= c&b&a ⊕ c&b ⊕ c&a ⊕ c ⊕ c&b&a ⊕ c&a ⊕ c&b&a ⊕ c&b&a ⊕ b&a
= (c&b&a ⊕ c&b&a) ⊕ c&b ⊕ (c&a ⊕ c&a) ⊕ c ⊕ (c&b&a ⊕ c&b&a) ⊕ b&a
= c&b ⊕ c ⊕ b&a</pre>* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1331/robdd-to-rmnf?show=1337#a1337Mon, 10 Aug 2020 07:55:58 +0000Answered: Kripke structure from transition relation formula
https://q2a.cs.uni-kl.de/1332/kripke-structure-from-transition-relation-formula?show=1336#a1336
<p>Here is how I solve it: You rewrite the formula such that any occurrence of next(p) is written as pX (or any other new kind of name that you can associate with the original name p). In your case, the formula becomes</p><pre>aX&a&(b|b<->cX)</pre><p>Then, you need to find the satisfying assignments. Truth tables are usually too big, so better use BDDs and/or the generation of a DNF from the BDD. In your case, I get </p><p><img alt="" src="https://q2a.cs.uni-kl.de/?qa=blob&qa_blobid=4069229106914725517" style="height:442px; width:188px"></p><p>which has the following DNF: </p><pre><span style="font-family:OpenSans,Arial,sans-serif">a&b&aX&cX|a&!b&aX&!cX</span></pre><p>Hence, you have the following transitions:</p><pre>{a,b,*} -> {a,*,c}
{a,!b,*} -> {a,*,!c}
</pre><p>where * means a don't care, thus,</p><pre>{a,b} -> {a,c}
{a,b} -> {a,b,c}
{a,b,c} -> {a,c}
{a,b,c} -> {a,b,c}
{a} -> {a}
{a} -> {a,b}
{a,c} -> {a}
{a,c} -> {a,b}</pre>* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1332/kripke-structure-from-transition-relation-formula?show=1336#a1336Mon, 10 Aug 2020 07:43:16 +0000Answered: LTL Equivalence
https://q2a.cs.uni-kl.de/1299/ltl-equivalence?show=1307#a1307
<ol><li>Here, just go through the options of statisfying implications. You can either not satisfy the left side or both sides. Also consider that satisfying X y also satisfies F y. So if we satisfy S2, we have two options. We can not satisfy F c but then we also may not satisfy X c, so both S1 and S2 would be satisfied. Or we can try to satisfy both F c and X c but try to differ X a vs F a. That doesn't help to satisfy only S2, as satisfying X a already satisfies F a. Hence, we try to satisfy S1 but not S2. If we want to not satisfy S2, we need to satisfy F c and not X a. For satisfying S1, we can either not satisfy X c (so we satisfy c at any point except for the next one) or we can satisfy X c (which already satisfies F c as well), and satisfy F c (at any point but not the next one).</li><li>¬c doesn't satisfy the left side of the outer until. So the outer until can only be satisfied by satisfying the right side in the first step. Also the right side of the outer until is an until. In particular, it is a weak until. This means it can be satisfied without satisfying the right side. Hence, G(¬a) is allowed if and only if the left side is satisfied forever, which is ensured by G b.</li><li>Which example are you talking about? For the first one, you already have two options. You need to not satisfy the second formula for sure. But the first one can be satisfied both by not satisfying the left side or both sides of the implications. Also, the F-quantifiers can be satisfied at any point (provided that the conditions of the X-quantifiers are respected). For example, the formula F a ∧ ¬ X a can be satisfied by all paths that satisfy a ∧ ¬ X a, or X X a ∧ ¬ X a, or a ∧ X G¬a, or a ∧ X (¬a ∧ G a) … and infinitely many other formulas.</li></ol>* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1299/ltl-equivalence?show=1307#a1307Fri, 07 Aug 2020 15:35:41 +0000Answered: Fairness Property
https://q2a.cs.uni-kl.de/1255/fairness-property?show=1262#a1262
It is difficult to answer that question without a context. If we speak about mu-calculus, then a fairness property is written as nu y. <>(mu x. (y&phi | <>x)) and denotes the set of states having an outgoing infinite path that visits states of phi infinitely often. Why that is so is not just explained on the black board, but also on slides 38-39 of the mu-calculus chapter.<br />
<br />
Talking about omega-automata, we consider as acceptance condition GFphi which means that words are accepted by an existential nondeterministic omega-automaton if they have a run which visits infinitely often states in phi. That in turn can be checked by the mu-calculus property, and is written as GFphi, meaning that always (at any point of time), there must be a future point of time where phi holds. Thus, phi must hold infinitely often.* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1255/fairness-property?show=1262#a1262Tue, 04 Aug 2020 14:40:37 +0000Answered: Find existential successor from Symbolic representation of FSM
https://q2a.cs.uni-kl.de/1249/find-existential-successor-from-symbolic-representation?show=1250#a1250
<p>Well, false is also a result and means that there are no such states. In the above example, you get empty sets of states for the predecessors, however, instead of the successors as you said. When I am using the teaching tool, I can quickly calculate all successor and predecessor states as follows:</p><h3 style="box-sizing: border-box; font-family: OpenSans, Arial, sans-serif; font-weight: bold; line-height: 1.1; margin-top: 20px; margin-bottom: 10px; font-size: 1.3rem; text-transform: uppercase;">EXISTENTIAL PREDECESSORS (PRE∃)</h3><pre style="box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; padding: 9.5px; margin-top: 0px; margin-bottom: 10px; line-height: 1.42857; word-break: break-all; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px;">∃next(p).∃next(q).!(((a->o)->p|q)<->next(q))&next(p)&!next(p)
= ∃next(q).false
= false</pre><p><span style="font-family:OpenSans,Arial,sans-serif; font-size:14px">Note that false is equivalent to false (hence no states).</span></p><p style="box-sizing: border-box; margin: 0px 0px 10px; font-family: OpenSans, Arial, sans-serif; font-size: 14px;"></p><h3 style="box-sizing: border-box; font-family: OpenSans, Arial, sans-serif; font-weight: bold; line-height: 1.1; margin-top: 20px; margin-bottom: 10px; font-size: 1.3rem; text-transform: uppercase;">UNIVERSAL PREDECESSORS (PRE∀)</h3><pre style="box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; padding: 9.5px; margin-top: 0px; margin-bottom: 10px; line-height: 1.42857; word-break: break-all; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px;">∀next(p).∀next(q).(!(((a->o)->p|q)<->next(q))&next(p)->!next(p))
= ∀next(q).((a->o)->p|q)<->next(q)
= false</pre><p><span style="font-family:OpenSans,Arial,sans-serif; font-size:14px">Note that false is equivalent to false</span><span style="font-family:OpenSans,Arial,sans-serif; font-size:14px"> </span><span style="font-family:OpenSans,Arial,sans-serif; font-size:14px">(hence no states)</span><span style="font-family:OpenSans,Arial,sans-serif; font-size:14px">.</span></p><p style="box-sizing: border-box; margin: 0px 0px 10px; font-family: OpenSans, Arial, sans-serif; font-size: 14px;"></p><h3 style="box-sizing: border-box; font-family: OpenSans, Arial, sans-serif; font-weight: bold; line-height: 1.1; margin-top: 20px; margin-bottom: 10px; font-size: 1.3rem; text-transform: uppercase;">EXISTENTIAL SUCCESSORS (SUC∃)</h3><pre style="box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; padding: 9.5px; margin-top: 0px; margin-bottom: 10px; line-height: 1.42857; word-break: break-all; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px;">new2old(∃p.∃q.!(((a->o)->p|q)<->next(q))&next(p)&!p)
= new2old(∃q.!(((a->o)->q)<->next(q))&next(p))
= new2old(!(!(a->o)<->next(q))&next(p)|!next(q)&next(p))
= !(!(a->o)<->q)&p|!q&p</pre><p><span style="font-family:OpenSans,Arial,sans-serif; font-size:14px">Note that !(!(a->o)<->q)&p|!q&p is equivalent to p&!q&!o&!a | p&!q&o&!a | p&!q&!o&a | p&q&o&a | p&q&o&!a | p&q&!o&!a | p&!q&o&a (seven states).</span></p><p style="box-sizing: border-box; margin: 0px 0px 10px; font-family: OpenSans, Arial, sans-serif; font-size: 14px;"></p><h3 style="box-sizing: border-box; font-family: OpenSans, Arial, sans-serif; font-weight: bold; line-height: 1.1; margin-top: 20px; margin-bottom: 10px; font-size: 1.3rem; text-transform: uppercase;">UNIVERSAL SUCCESSORS (SUC∀)</h3><pre style="box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; padding: 9.5px; margin-top: 0px; margin-bottom: 10px; line-height: 1.42857; word-break: break-all; background-color: rgb(245, 245, 245); border: 1px solid rgb(204, 204, 204); border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px;">new2old(∀p.∀q.(!(((a->o)->p|q)<->next(q))&next(p)->!p))
= new2old(∀q.!(!next(q)&next(p)))
= new2old(!(!next(q)&next(p)))
= !(!q&p)</pre><p><span style="font-family:OpenSans,Arial,sans-serif; font-size:14px">Note that !(!q&p) is equivalent to !p&!q&o&a | !p&!q&o&!a | !p&!q&!o&a | !p&!q&!o&!a | p&q&o&a | p&q&o&!a | p&q&!o&a | p&q&!o&!a | !p&q&o&a | !p&q&o&!a | !p&q&!o&a | !p&q&!o&!a (12 states).</span></p>* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1249/find-existential-successor-from-symbolic-representation?show=1250#a1250Tue, 04 Aug 2020 06:12:35 +0000Answered: Find Universal successor from symbolic representation of Kripke Structure
https://q2a.cs.uni-kl.de/1246/universal-successor-symbolic-representation-kripke-structure?show=1248#a1248
The universal predecessors of p is the complement of the existential predecessors of ¬p. In this existential quantification, all cases except for the ones where p' is false, are trivially false. Thus you end up with something like ∃q' false → (…) ∧ a. This is equal to ∃q' a. As q' doesn't exist here, the quantifier can be ignored. If we now complement this, we get ¬a.<br />
<br />
Also look at the handcrafted result in the previous answer.<br />
<br />
To get back to your original question: How do you getz from a CNF to a DNF? Simplify, and then multiply out.* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1246/universal-successor-symbolic-representation-kripke-structure?show=1248#a1248Mon, 03 Aug 2020 14:49:49 +0000Answered: sheet 7 question 3
https://q2a.cs.uni-kl.de/1041/sheet-7-question-3?show=1045#a1045
<p>Where does your state s4 come from? There is no such state in the original automaton. Instead of 5:s4 you should already have 5:; and you do not need a state s6 then. State 5 is then your unsafe state that is a sink state. Check your computation, you made somewhere a mistake where you introduced a state s4 that comes from nowhere. The rest looks good.</p><p>Using the following given automaton (initial states and accepting states were highlighted):</p><p><img alt="" src="https://q2a.cs.uni-kl.de/?qa=blob&qa_blobid=2340443615579768939" style="height:437px; width:197px"></p><p>the corresponding deterministic automaton computed by Rabin-Scott is as follows (your state numbering is different, but you can find your states here clearly):</p><p><img alt="" src="https://q2a.cs.uni-kl.de/?qa=blob&qa_blobid=7460482682088956330" style="height:660px; width:469px"></p>* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1041/sheet-7-question-3?show=1045#a1045Sat, 13 Jun 2020 18:34:19 +0000Answered: sheet 7 question 2
https://q2a.cs.uni-kl.de/1042/sheet-7-question-2?show=1043#a1043
The breakpoint construction computes a deterministic automaton whose states are pairs (Q,Q_f) of sets of states of the original automaton. I guess that you should list the sets of pairs such that you list the first components in the first line of labels and the second component in the second one.* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/1042/sheet-7-question-2?show=1043#a1043Sat, 13 Jun 2020 18:21:21 +0000Answered: Pseudocode 2-53
https://q2a.cs.uni-kl.de/411/pseudocode-2-53?show=412#a412
Hi Arne,<br />
<br />
1. Typo, indeed. k is the current row, i is the sought row with the pivot element. So k <= i <= n is correct.<br />
<br />
2. In fixing another typo, I deleted a line accidentally deleted a line. The outer loop over j=1...n was missing.<br />
<br />
Corrected slides in OLAT.<br />
<br />
Thanks for pointing this out!* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/411/pseudocode-2-53?show=412#a412Sun, 17 Nov 2019 20:49:10 +0000Answered: Error in the Slides?
https://q2a.cs.uni-kl.de/409/error-in-the-slides?show=410#a410
This is indeed a typo – thanks for pointing it out. The idea is of course to find the maximum pivot element below the diagonal in the k-th column of $A$. So you are exactly right with your presumption.<br />
<br />
(It may be mildly interesting why this typo happened: an earlier version of the slide detailed a variant of the algorithm that sets $U=A$ initially and then works only on $U$. This allows for a more compact formulation, that is however harder to understand. So for didactic reasons, I changed it to the less compact version and missed this line in the process.)<br />
<br />
PS: Let's keep with the entire site and stick to English.* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/409/error-in-the-slides?show=410#a410Fri, 15 Nov 2019 13:56:52 +0000Answered: ich will einen Kurs finden , aber ich bin neu und brauche Hilfe :D
https://q2a.cs.uni-kl.de/315/ich-will-einen-kurs-finden-aber-ich-bin-neu-und-brauche-hilfe?show=316#a316
<p>Im Modulhandbuch steht dazu:</p><blockquote><p>Anmeldung über www.uni-kl.de/slz</p></blockquote><div>Du findest den Kurs als "Diemersteiner Selbstlerntage".</div><div>Übrigens: nicht alle Kurse machen ihre Anmeldung über das KIS-Office, es kann sogar sein, dass nicht alle Termine, die im KIS-Office angegeben sind, stattfinden. Die Informationen auf den Websiten zu den Veranstaltungen sind in der Regel akkurater.</div>* TF "Vis. and Sci. Comp."https://q2a.cs.uni-kl.de/315/ich-will-einen-kurs-finden-aber-ich-bin-neu-und-brauche-hilfe?show=316#a316Tue, 09 Apr 2019 16:25:42 +0000