Inconsistency Management for Traffic Regulations Harald Beck - - PowerPoint PPT Presentation
Inconsistency Management for Traffic Regulations Harald Beck - - PowerPoint PPT Presentation
Inconsistency Management for Traffic Regulations Harald Beck Supervisors: Thomas Eiter & Thomas Krennwallner November 18, 2013 Introduction Goals Formal Model Reasoning Tasks Summary Inconsistency Management for Traffic Regulations
Introduction Goals Formal Model Reasoning Tasks Summary
Inconsistency Management for Traffic Regulations
◮ Traffic regulation order: 30 km/h speed limit along the blue line
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 1 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Inconsistency Management for Traffic Regulations
◮ Traffic regulation order: 30 km/h speed limit along the blue line ◮ Traffic measure: legal information (intention)
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 1 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Inconsistency Management for Traffic Regulations
◮ Traffic regulation order: 30 km/h speed limit along the blue line ◮ Traffic measure: legal information (intention) ◮ Q: Which traffic signs are required to announce this measure?
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 1 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Inconsistency Management for Traffic Regulations
◮ Traffic regulation order: 30 km/h speed limit along the blue line ◮ Traffic measure: legal information (intention) ◮ Q: Which traffic signs are required to announce this measure?
30
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 1 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Inconsistency Management for Traffic Regulations
◮ Traffic regulation order: 30 km/h speed limit along the blue line ◮ Traffic measure: legal information (intention) ◮ Q: Which traffic signs are required to announce this measure?
30 30
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 1 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Inconsistency Management for Traffic Regulations
◮ Traffic regulation order: 30 km/h speed limit along the blue line ◮ Traffic measure: legal information (intention) ◮ Q: Which traffic signs are required to announce this measure?
30 30
?
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 1 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Inconsistency Management for Traffic Regulations
◮ Traffic regulation order: 30 km/h speed limit along the blue line ◮ Traffic measure: legal information (intention) ◮ Q: Which traffic signs are required to announce this measure?
30 30 30
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 1 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Inconsistency Management for Traffic Regulations
◮ Traffic regulation order: 30 km/h speed limit along the blue line ◮ No need for repeated start sign in this case
30 30
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 6 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Inconsistency Management for Traffic Regulations
◮ Traffic regulation order: 30 km/h speed limit along the blue line ◮ Updates may have side effects
30 30
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 6 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Data Management Goals (Use Cases)
◮ Consistency: Given a set of measures and/or signs on a street,
are they consistent (w.r.t. the traffic regulation)?
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 8 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Data Management Goals (Use Cases)
◮ Consistency: Given a set of measures and/or signs on a street,
are they consistent (w.r.t. the traffic regulation)?
◮ Correspondence: Do measures and signs express the same
“effects,” i.e., are there no unannounced measures or unjustified traffic signs?
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 8 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Data Management Goals (Use Cases)
◮ Consistency: Given a set of measures and/or signs on a street,
are they consistent (w.r.t. the traffic regulation)?
◮ Correspondence: Do measures and signs express the same
“effects,” i.e., are there no unannounced measures or unjustified traffic signs?
◮ Diagnosis: Which minimal set of measures/signs explain
inconsistency or non-correspondence?
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 8 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Data Management Goals (Use Cases)
◮ Consistency: Given a set of measures and/or signs on a street,
are they consistent (w.r.t. the traffic regulation)?
◮ Correspondence: Do measures and signs express the same
“effects,” i.e., are there no unannounced measures or unjustified traffic signs?
◮ Diagnosis: Which minimal set of measures/signs explain
inconsistency or non-correspondence?
◮ Repair: Which minimal changes to the scenario can resolve these
problems?
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 8 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Data Management Goals (Use Cases)
◮ Consistency: Given a set of measures and/or signs on a street,
are they consistent (w.r.t. the traffic regulation)?
◮ Correspondence: Do measures and signs express the same
“effects,” i.e., are there no unannounced measures or unjustified traffic signs?
◮ Diagnosis: Which minimal set of measures/signs explain
inconsistency or non-correspondence?
◮ Repair: Which minimal changes to the scenario can resolve these
problems?
◮ Strict repair: Repair measure & sign data at the same time
◮ Practical use cases obtained as special cases
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 8 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
High-level approach (overview)
◮ Street maps: labelled, directed graphs
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 9 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
High-level approach (overview)
◮ Street maps: labelled, directed graphs ◮ Logic-based approach. Edges and labels reflected as atoms
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 9 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
High-level approach (overview)
◮ Street maps: labelled, directed graphs ◮ Logic-based approach. Edges and labels reflected as atoms ◮ Represent measures and signs by edge/node labels
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 9 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
High-level approach (overview)
◮ Street maps: labelled, directed graphs ◮ Logic-based approach. Edges and labels reflected as atoms ◮ Represent measures and signs by edge/node labels ◮ Traffic regulation: 2-stage evaluation approach by logical formulas
◮ Translate into “effect” labels (i.e., a common language) by an effect
mapping
◮ Evaluate effects by a conflict specification, potentially creating
“conflict” labels
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 9 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
High-level approach (overview)
◮ Street maps: labelled, directed graphs ◮ Logic-based approach. Edges and labels reflected as atoms ◮ Represent measures and signs by edge/node labels ◮ Traffic regulation: 2-stage evaluation approach by logical formulas
◮ Translate into “effect” labels (i.e., a common language) by an effect
mapping
◮ Evaluate effects by a conflict specification, potentially creating
“conflict” labels
◮ Inconsistency, if a conflict can be derived
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 9 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
High-level approach (overview)
◮ Street maps: labelled, directed graphs ◮ Logic-based approach. Edges and labels reflected as atoms ◮ Represent measures and signs by edge/node labels ◮ Traffic regulation: 2-stage evaluation approach by logical formulas
◮ Translate into “effect” labels (i.e., a common language) by an effect
mapping
◮ Evaluate effects by a conflict specification, potentially creating
“conflict” labels
◮ Inconsistency, if a conflict can be derived ◮ Leave open which predicate logic is used
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 9 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Scenario
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3
◮ Labelled street graph G. Sets of edge atoms
{. . . , e(lane, v2, v3), e(straight, v3, y1), e(right, x2, y1), . . . }
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 10 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Scenario
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3
◮ Labelled street graph G. Sets of edge atoms
{. . . , e(lane, v2, v3), e(straight, v3, y1), e(right, x2, y1), . . . }
◮ Traffic measures M (edge labels
), e.g.: (spl=speed limit) {m(spl(30), v2, v3), m(spl(30), v3, y1), m(spl(30), y1, y2)}
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 10 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Scenario
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30 30 30
◮ Labelled street graph G. Sets of edge atoms
{. . . , e(lane, v2, v3), e(straight, v3, y1), e(right, x2, y1), . . . }
◮ Traffic measures M (edge labels
), e.g.: (spl=speed limit) {m(spl(30), v2, v3), m(spl(30), v3, y1), m(spl(30), y1, y2)}
◮ Traffic signs S (node labels), e.g.:
{s(start(spl(30)), v2), s(start(spl(30)), y1), s(end(spl(30)), y2)}
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 10 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Effects
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30
◮ Effects (edge labels
): common language to define meaning of both measures and signs, e.g.: (maxsp = maximum speed) {f(maxsp(30), v2, v3), f(maxsp(30), v3, y1)}
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 11 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Effects
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30
◮ Effects (edge labels
): common language to define meaning of both measures and signs, e.g.: (maxsp = maximum speed) {f(maxsp(30), v2, v3), f(maxsp(30), v3, y1)}
◮ Effect mapping P: formulas to obtain effect labels in 1st mapping
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 11 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Effects
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30
◮ Effects (edge labels
): common language to define meaning of both measures and signs, e.g.: (maxsp = maximum speed) {f(maxsp(30), v2, v3), f(maxsp(30), v3, y1)}
◮ Effect mapping P: formulas to obtain effect labels in 1st mapping ◮ FP G(I): effects of (measure and sign) input I on graph G due to P
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 11 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Conflicts
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30
◮ Conflicts (node labels)
c(bad-end(maxsp(30)), y1)
◮ Conflict specification Sp: formulas to obtain conflict labels in 2nd
mapping due to effects
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 12 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Conflicts
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30 40 40
◮ Conflicts (node labels)
c(ambig-spl, y1)
◮ Conflict specification Sp: formulas to obtain conflict labels in 2nd
mapping due to effects
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 12 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Conflicts
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30 40 40
◮ Conflicts (node labels)
c(ambig-spl, y1)
◮ Conflict specification Sp: formulas to obtain conflict labels in 2nd
mapping due to effects
◮ CP,Sp G
(I): conflicts of input I on graph G due to Sp and (effects
- btained by) P
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 12 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
ASP mapping examples
◮ Effect mapping P
f(maxsp(K), V, W) ← m(spl(K), V, W)
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 13 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
ASP mapping examples
◮ Effect mapping P
f(maxsp(K), V, W) ← m(spl(K), V, W) f(maxsp(K), V, W) ← s(start(spl(K)), V), e(lane, V, W) f(maxsp(K), V, W) ← s(start(spl(K)), V), e(straight, V, W)
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 13 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
ASP mapping examples
◮ Effect mapping P
f(maxsp(K), V, W) ← m(spl(K), V, W) f(maxsp(K), V, W) ← s(start(spl(K)), V), e(lane, V, W) f(maxsp(K), V, W) ← s(start(spl(K)), V), e(straight, V, W) f(maxsp(K), V, W) ← f(maxsp(K), U, V), in-dir(U, V), in-dir(V, W), not block-prop(maxsp(K), V)
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 13 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
ASP mapping examples
◮ Effect mapping P
f(maxsp(K), V, W) ← m(spl(K), V, W) f(maxsp(K), V, W) ← s(start(spl(K)), V), e(lane, V, W) f(maxsp(K), V, W) ← s(start(spl(K)), V), e(straight, V, W) f(maxsp(K), V, W) ← f(maxsp(K), U, V), in-dir(U, V), in-dir(V, W), not block-prop(maxsp(K), V) block-prop(maxsp(K), V) ← s(end(spl(K)), V) . . .
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 13 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
ASP mapping examples
◮ Effect mapping P
f(maxsp(K), V, W) ← m(spl(K), V, W) f(maxsp(K), V, W) ← s(start(spl(K)), V), e(lane, V, W) f(maxsp(K), V, W) ← s(start(spl(K)), V), e(straight, V, W) f(maxsp(K), V, W) ← f(maxsp(K), U, V), in-dir(U, V), in-dir(V, W), not block-prop(maxsp(K), V) block-prop(maxsp(K), V) ← s(end(spl(K)), V) . . .
◮ Conflict specification Sp
c(ambig-spl, V) ← f(maxsp(K), V, W), f(maxsp(L), V, W), K = L.
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 13 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Consistency
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30 40 40
◮ Given a set of measures and/or signs on a street, are they
consistent (w.r.t. the traffic regulation)?
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 14 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Consistency
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30 40 40
◮ Given a set of measures and/or signs on a street, are they
consistent (w.r.t. the traffic regulation)?
◮ CP,Sp G
(I) = ∅?
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 14 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Consistency
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30 40 40
◮ Given a set of measures and/or signs on a street, are they
consistent (w.r.t. the traffic regulation)?
◮ CP,Sp G
(I) = ∅?
◮ Example. CP,Sp G
(I) = {c(ambig-spl, y1)}
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 14 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Correspondence
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30 40 40
◮ Do measures and signs express the same effects, i.e., are there
no unannounced measures or unjustified traffic signs?
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 15 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Correspondence
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30 40 40
◮ Do measures and signs express the same effects, i.e., are there
no unannounced measures or unjustified traffic signs?
◮ FP G(M) = FP G(S)?
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 15 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Correspondence
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30 40 40
◮ Do measures and signs express the same effects, i.e., are there
no unannounced measures or unjustified traffic signs?
◮ FP G(M) = FP G(S)? ◮ Example.
◮ f(maxsp(30), y1, y2) ∈ FP
G(M) unannounced: not in FP G(S)
◮ f(maxsp(40), y1, y2) ∈ FP
G(S) unjustified: not in FP G(M)
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 15 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Diagnosis
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30 40 40
◮ Which minimal set of measures/signs explain a set of conflicts?
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 16 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Diagnosis
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30 40 40
◮ Which minimal set of measures/signs explain a set of conflicts? ◮ Given C ⊆ CP,Sp G
(I), find min. J ⊆ I s.t. C ⊆ CP,Sp
G
(J)
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 16 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Diagnosis
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 40
◮ Which minimal set of measures/signs explain a set of conflicts? ◮ Given C ⊆ CP,Sp G
(I), find min. J ⊆ I s.t. C ⊆ CP,Sp
G
(J)
◮ Example. C = {c(ambig-spl, y1)}.
J = {m(spl(30), y1, y2), s(start(spl(40)), y1)}
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 16 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Repair & Strict repair
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30 40 40
◮ Which minimal changes to the scenario can resolve the conflicts?
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 17 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Repair & Strict repair
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30 40 40
◮ Which minimal changes to the scenario can resolve the conflicts? ◮ Find “good” deletions I− ⊆ I and additions I+ ⊆ IG \ I
s.t. CP,Sp
G
(I′) = ∅, where I′ = (I \ I−) ∪ I+
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 17 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Repair & Strict repair
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30 40 40
◮ Which minimal changes to the scenario can resolve the conflicts? ◮ Find “good” deletions I− ⊆ I and additions I+ ⊆ IG \ I
s.t. CP,Sp
G
(I′) = ∅, where I′ = (I \ I−) ∪ I+
◮ Strict repair: ... and FP G(I′ ∩ MG) = FP G(I′ ∩ SG)
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 17 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Strict repair example
◮ Conflicts C = {c(ambig-spl, y1)}
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30 40 40
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 18 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Strict repair example
◮ Conflicts C = {c(ambig-spl, y1)} ◮ Repair 1. Preference: Minimal number of changes.
I− = {m(spl(30), y1, y2)}, I+ = {m(spl(40), y1, y2)} v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30 40 40
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 18 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Strict repair example
◮ Conflicts C = {c(ambig-spl, y1)} ◮ Repair 2. Prefer sign changes over measures changes.
I− = {s(start(spl(40)), y1), s(end(spl(40)), y2)} I+ = {s(start(spl(30)), y1)), s(end(spl(30)), y2).} v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30 30 30
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 18 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Summary /1
◮ Domain analysis
◮ No scientific literature was available ◮ Meaning of traffic measures & signs ◮ Problems which may occur (conflicts) ◮ Identification of use cases ◮ Challenges & technical approach
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 19 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Summary /1
◮ Domain analysis
◮ No scientific literature was available ◮ Meaning of traffic measures & signs ◮ Problems which may occur (conflicts) ◮ Identification of use cases ◮ Challenges & technical approach
◮ Formal model for traffic regulations
◮ Street graph, traffic measures & signs ◮ Effects & conflicts ◮ Logic-based traffic regulation / specification
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 19 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Summary /2
◮ Reasoning tasks
◮ Consistency evaluation ◮ Correspondence ◮ Diagnosis ◮ Independence / context of conflicts ◮ Repair ◮ Relations between diagnoses and repairs ◮ Strict repair ◮ Adjustment, Generation
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 20 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Summary /2
◮ Reasoning tasks
◮ Consistency evaluation ◮ Correspondence ◮ Diagnosis ◮ Independence / context of conflicts ◮ Repair ◮ Relations between diagnoses and repairs ◮ Strict repair ◮ Adjustment, Generation
◮ Complexity results for different logics (FOL + 3 ASPs)
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 20 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Summary /2
◮ Reasoning tasks
◮ Consistency evaluation ◮ Correspondence ◮ Diagnosis ◮ Independence / context of conflicts ◮ Repair ◮ Relations between diagnoses and repairs ◮ Strict repair ◮ Adjustment, Generation
◮ Complexity results for different logics (FOL + 3 ASPs) ◮ Implementation prototype with Answer Set Programming
◮ uniform encoding and specification for all use cases ◮ core program + simple extensions ◮ highly modular due to formal model & sets of rules
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 20 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
C’est c ¸a
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 21 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
C’est c ¸a
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 21 / 22
Introduction Goals Formal Model Reasoning Tasks Summary
Thank you!
Thomas Eiter Thomas Krennwallner Stefan Kollarits Torsten Sch¨
- nberg
Marlene Handschuh Christoph Hillinger Roman Steiner
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 22 / 22
Appendix
Traffic Regulation Problem
◮ Scenario Sc = (G, M, S)
◮ Street graph G ◮ Traffic measures M ◮ Traffic signs S ◮ ground atoms of form e(t, v, w), m(t, v, w), s(t, v)
◮ Traffic regulation Π = (P, Sp) in a predicate logic L
◮ Effect mapping P: M, S effects FP
G(M ∪ S)
◮ Conflict specification Sp: FP
G(M ∪ S) conflicts CP,Sp G
(M ∪ S)
◮ Traffic Regulation Problem T = (Sc, Π)
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 23 / 22
Appendix
2-stage Mapping
◮ Closed world operator:
X = X ∪ {¬x | x ∈ Y \ X}, Y implicit
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 24 / 22
Appendix
2-stage Mapping
◮ Closed world operator:
X = X ∪ {¬x | x ∈ Y \ X}, Y implicit
◮ Theory T, atom sets X (input), Y (base set), graph G
CnG(T, X, Y) = { y ∈ Y | T ∪ G ∪ X | = y }
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 24 / 22
Appendix
2-stage Mapping
◮ Closed world operator:
X = X ∪ {¬x | x ∈ Y \ X}, Y implicit
◮ Theory T, atom sets X (input), Y (base set), graph G
CnG(T, X, Y) = { y ∈ Y | T ∪ G ∪ X | = y }
◮ Base sets MG/SG/FG/CG: measures/signs/effects/conflicts on G
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 24 / 22
Appendix
2-stage Mapping
◮ Closed world operator:
X = X ∪ {¬x | x ∈ Y \ X}, Y implicit
◮ Theory T, atom sets X (input), Y (base set), graph G
CnG(T, X, Y) = { y ∈ Y | T ∪ G ∪ X | = y }
◮ Base sets MG/SG/FG/CG: measures/signs/effects/conflicts on G ◮ 2 stages: Effect mapping P, Conflict specification Sp
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 24 / 22
Appendix
2-stage Mapping
◮ Closed world operator:
X = X ∪ {¬x | x ∈ Y \ X}, Y implicit
◮ Theory P, atom sets I (input), FG (base set: effects), graph G
CnG(P, I, FG) = { f(t, v, w) ∈ FG | P ∪ G ∪ I | = f(t, v, w) }
◮ Base sets MG/SG/FG/CG: measures/signs/effects/conflicts on G ◮ 2 stages: Effect mapping P, Conflict specification Sp
I MG ∪ SG
- perator
labels base set CnG(P, I, FG) FP
G(I)
FG CnG(Sp, FP
G(I), CG)
CP,Sp
G
(I) CG
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 24 / 22
Appendix
2-stage Mapping
◮ Closed world operator:
X = X ∪ {¬x | x ∈ Y \ X}, Y implicit
◮ Theory Sp, atom sets FP G(I) (input), CG (base set: conflicts), graph G
CnG(Sp, FP
G(I), CG) = { c(t, v) ∈ CG | Sp ∪
G ∪ FP
G(I) |
= c(t, v) }
◮ Base sets MG/SG/FG/CG: measures/signs/effects/conflicts on G ◮ 2 stages: Effect mapping P, Conflict specification Sp
I MG ∪ SG
- perator
labels base set CnG(P, I, FG) FP
G(I)
FG CnG(Sp, FP
G(I), CG)
CP,Sp
G
(I) CG
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 24 / 22
Appendix
Answer Set Programming prototype
◮ Experiments with clingo and dlv ◮ Uniform approach towards all reasoning tasks. Idea:
◮ Repair will potential require new atoms ◮ Input atoms form initial pool ◮ Each measure/sign from the pool can either be used or not ◮ Only the effects of used measures & signs are computed ◮ View reasoning tasks as constraints on this usage
◮ Measure & signs: function symbols x ∈ { m, s }:
input(x(. . . )). measure/sign is given as input pool(x(. . . )). measure/sign is in pool (for guessing) use(x(. . . )). measure/sign is used
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 25 / 22
Appendix
ASP Implementation Prototype
◮ guess: Π ∪ G ∪ I ∪ Pool
◮ Π: traffic regulation / specification ◮ G: street graph ◮ I: input (measures & signs); initial pool ◮ Pool: use(X) v -use(X) :- pool(X).
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 26 / 22
Appendix
ASP Implementation Prototype
◮ guess: Π ∪ G ∪ I ∪ Pool
◮ Π: traffic regulation / specification ◮ G: street graph ◮ I: input (measures & signs); initial pool ◮ Pool: use(X) v -use(X) :- pool(X).
◮ check: additional constraints based on reasoning task
◮ Eval: use(X) :- input(X) ◮ Diagnosis: :- not c(t,v) for resp. conflicts c(t,v) ◮ Repair: :- c(t,v) for resp. conflicts c(t,v)
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 26 / 22
Appendix
Implementation of conflict evaluation (consistency)
◮ Compute CP,Sp G
(I), i.e., the set of conflicts derivable from the input I ⊆ MG ∪ SG whether T is consistent
◮ Approach: Use entire input. Add rule to effect mapping:
use(x(. . . )) :- input(x(. . . )).
◮ T is consistent iff answer set does not contain a conflict atom.
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 27 / 22
Appendix
Implementation of conflict evaluation (consistency)
◮ Compute CP,Sp G
(I), i.e., the set of conflicts derivable from the input I ⊆ MG ∪ SG whether T is consistent
◮ Approach: Use entire input. Add rule to effect mapping:
use(x(. . . )) :- input(x(. . . )).
◮ T is consistent iff answer set does not contain a conflict atom. ◮ Example.
input(m(spl(30),v2,v3)). input(m(spl(30),v3,y1)). input(m(spl(30),y1,y2)). in effect mapping: f(maxsp(K),V,W) :- e(T,V,W), #int(K), use(m(spl(K),V,W)).
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 27 / 22
Appendix
Flexible modifications to the input
Let x ∈ {m, s}.
◮ Input is initial pool, which may be used or not.
pool(x(. . . )) :- input(x(. . . )). use(x(. . . )) v -use(x(. . . )) :- pool(x(. . . )).
◮ General modifications possible:
keep(x(. . . )) :- use(x(. . . )), input(x(. . . )). del(x(. . . )) :- -use(x(. . . )), input(x(. . . )). add(x(. . . )) :- use(x(. . . )), not input(x(. . . )).
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 28 / 22
Appendix
Diagnosis implementation
◮ Approach: Given a set of conflicts C to be diagnosed, add to
conflict specification for each c(t,v) ∈ C a rule :- not c(t,v).
◮ Diagnosis: Keep as few input atoms J ⊆ I as possible such that
C ⊆ CP,Sp
G
(J), and do not allow additions. :- add(x(. . . )).
% adding not allowed
:∼ keep(x(. . . )).
% keep as few as possible
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 29 / 22
Appendix
Diagnosis example
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30 40 40
◮ Evaluation: {c(ambig-spl,y1).} ◮ Add to conflict specification
:- not c(ambig-spl,y1) :- add(m(T,X,V)). :- add(s(T,V)). :∼ keep(m(T,X,V)). :∼ keep(s(T,V)).
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 30 / 22
Appendix
Diagnosis example /2
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 40
◮ Result:
{ keep(m(spl(30),y1,y2)). keep(s(start(spl(30)),y1)). }
◮ Add to conflict specification
:- not c(ambig-spl,y1) :- add(m(T,X,V)). :- add(s(T,V)). :∼ keep(m(T,X,V)). :∼ keep(s(T,V)).
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 31 / 22
Appendix
Repair implementation
◮ Must add new measures/signs to the pool based on domain
knowledge, e.g.,
◮ If there is a measure m(T,X,Y) in the pool, add a start sign at X
and an end sign at Y to the pool. pool(s(start(T),X)) :- pool(m(T,X,Y)). pool(s(end(T),Y)) :- pool(m(T,X,Y)).
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 32 / 22
Appendix
Repair implementation
◮ Must add new measures/signs to the pool based on domain
knowledge, e.g.,
◮ If there is a measure m(T,X,Y) in the pool, add a start sign at X
and an end sign at Y to the pool. pool(s(start(T),X)) :- pool(m(T,X,Y)). pool(s(end(T),Y)) :- pool(m(T,X,Y)).
◮ Approach: Add/delete as little as possible such that no conflict is
derived :- c(T,V).
% forbid any conflict
:∼ del(s(T,X)). :∼ add(s(T,X)). :∼ del(m(T,X,Y)). :∼ add(m(T,X,Y)).
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 32 / 22
Appendix
Repair implementation
◮ Must add new measures/signs to the pool based on domain
knowledge, e.g.,
◮ If there is a measure m(T,X,Y) in the pool, add a start sign at X
and an end sign at Y to the pool. pool(s(start(T),X)) :- pool(m(T,X,Y)). pool(s(end(T),Y)) :- pool(m(T,X,Y)).
◮ Approach: Add/delete as little as possible such that no conflict is
derived :- c(T,V).
% forbid any conflict
:∼ del(s(T,X)). [1:1] % prefer changes of signs [:1] :∼ add(s(T,X)). [2:1] % over measures [:2], :∼ del(m(T,X,Y)). [1:2] % then deletions [1:] :∼ add(m(T,X,Y)). [2:2] % over additions [2:].
◮ dlv optimizes hierarchically: :∼ <body>. [Weight:Level]
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 32 / 22
Appendix
Strict repair example
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30 40 40
◮ Add to conflict specification (rules shown before and)
:- c(ambig-spl,y1)
◮ Result (without preferences)
{ del(m(spl(30),y1,y2)). add(m(spl(40),y1,y2)). }
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 33 / 22
Appendix
Strict repair example /2
v1 v2 v3 w2 w1 x1 x2 y1 y2 y3 u1 u2 u3 z1 z2 z3 30 30 30
◮ Add to conflict specification (rules shown before and)
:- c(ambig-spl,y1)
◮ Result with preference to change signs
{ del(s(start(spl(40)),y1)). del(s(end(spl(40)),y2)). add(s(start(spl(30)),y1)). add(s(end(spl(30)),y2)). }
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 34 / 22
Appendix
Adjustment & Generation
◮ Restricted scenarios / restricting repairs lead to special cases,
relevant for data imports and merging.
◮ Adjustment of signs, s.t. they correspond with measures.
Amounts to finding a repair consisting exclusively of traffic signs. (Recall 30 km/h example.)
◮ Generation of signs from scratch, s.t. they correspond with
- measures. Corresponds to a repair (∅, I+) on scenario (G, M, ∅),
where I+ consists exclusively of signs.
Example (encoding of special domain knowledge)
◮ Favor changes in signs over changes in measures ◮ Favor deletions of linear measures over zones ◮ Never delete a residential area ◮ . . .
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 35 / 22
Appendix
Reasoning Tasks: Theory
◮ Def. Set of conflicts C is independent of Y ⊆ I if for each
diagnosis J for C and each Y′ ⊆ Y, J \ Y′ is also a diagnosis for C.
◮ Def. A context for C is a set X ⊆ I s.t. i) C is independent of I \ X
and ii) C is not independent of any non-empty X′ ⊆ X
◮ Prop. Context of each C is unique ◮ Prop. All ⊆-minimal diagnoses are in the context ◮ Thm. The context is the union of minimal elements of maximal
convex subsets of the set of diagnoses
◮ Def. Collection of sets S convex if it has no ‘holes’, i.e., the property
that S ⊆ S′′ ⊆ S′ and S, S′ ∈ S implies S′′ ∈ S
◮ Cor. If set of diagnoses is convex, then context equals union of
⊆-minimal diagnoses
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 36 / 22
Appendix
Reasoning Tasks: Theory /2
◮ Def. DT (C): set of diagnoses for conflicts C ◮ Def. H ⊆ n i=1 Xi hitting set for S = {X1, . . . , Xn}
if H ∩ X = ∅ for all X ∈ S
◮ Def. T [I−, I+] updated T due to (I−, I+) ◮ Prop. If J ⊆ I is a hitting set for DT (C), then C ⊆ C(T [J, ∅]) ◮ Due to potential side effects C ∩ C(T [J, ∅]) = ∅ is not guaranteed ◮ Consequence: In general, it does not suffice to delete a minimal
hitting set for all (⊆-minimal) diagnoses
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 37 / 22
Appendix
Reasoning Tasks: Decision problems
Let I ⊆ MG ∪ SG be a set of measures and/or signs on a graph G
◮ CONS: decide CP,Sp G
(I) = ∅, i.e., whether T is consistent
◮ UMINDIAG: decide, whether a unique ⊆-minimal diagnosis exists,
i.e., for given C ⊆ CP,Sp
G
(I) a set J ⊆ I, s.t. C ⊆ CP,Sp
G
(J)
◮ CORR: decide M and S correspond, i.e., FP G(M) = FP G(S) ◮ REPAIR: decide whether an admissible repair exists, i.e., deleting
some I− ⊆ I and adding new measures and signs I+ s.t. modification is consistent
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 38 / 22
Appendix
Complexity of Reasoning Tasks
Logic L IMPL CONS CORR UMINDIAG REPAIR general FO+DCA co-NExp PNExp
- PNExp
ASP¬s Exp Exp Exp ASP¬ co-NExp PNExp
- PNExp
ASP∨,¬ co-NExpNP PNExpNP
- PNExpNP
BPA FO+DCA PSpace PSpace PSpace ASP¬s PNP PNP in P
Σp
2
, Πp 2-hard
Σp
2
ASP¬ Πp
2
P
Σp
2
- in P
Σp
3
, Πp 3-hard
Σp
3
ASP∨,¬ Πp
3
P
Σp
3
- in P
Σp
4
, Πp 4-hard
Σp
4
Legend: general case / bounded predicate arities (completeness results unless stated otherwise) ◮ FO+DCA: first-order logic with domain closure assumption ◮ ASP¬s, ASP¬, ASP∨,¬: stratified, normal, disjunctive answer set programs ◮ IMPL: Known logical entailment complexities ◮ PO
: restricted PO s.t. all queries for O are evaluable in parallel
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 39 / 22
Appendix
Example: Loop
Scenario: Four mandatory left turns cause a loop
a1 a2 a3 a4 a5 a6 a7 a8 b1 b2 b3 b4 b5 b6 b7 b8 c1 c2 c3 c4 c5 c6 c7 c8 d1 d2 d3 d4 d5 d6 d7 d8
- H. Beck (TU Vienna)
Inconsistency Mgmt. for Traffic Regulations 40 / 22