Constructing the Discrimination Network for a
complete, conflict-free block set can be done by ma-
terialising the filters in the blocks starting with the
blocks containing the fewest filters. Within the set of
blocks containing an equal number of filters the order
is arbitrary, since none of these blocks can be the in-
put of another block in that set (otherwise they would
overlap and would have been in conflict).
The construction order is relevant only if blocks
contain the same filter-rule-combinations. Since the
blocks are conflict-free and the block set is complete,
if one block overlaps with another block, the filters
of one of the blocks are a subset of the filters of the
other block. As the one with fewer filters is con-
structed first, its output can be used to construct the
larger (w. r. t. filter count) block.
In Exemple 5.1, we start by constructing the filters
f
1
and f
3
for the 2 × 1 and the 3 × 1 block, respec-
tively. The next step is to add the filters f
2
using the
output of f
1
and f
3
for the 1 × 3 block and the filters
f
4
and f
5
in an arbitrary manner using the output of
f
3
for the 2 × 3 block. Finally, we add another f
2
for
the 1×5 block using the output of f
1
and the network
constructed for the 2 × 3 block.
Block diagrams become hard to draw and interpret
when filters are in conflict with more than two other
filters. The concept of blocks and conflicts remains
valid, though.
Figure 10: Possible result network for Figure 9.
6 CONCLUSION AND FUTURE
WORK
We presented the block notation as an abstraction to
share nodes and network parts. Using this notation we
defined the structure of meaningful sharing construc-
tions. The abstraction can be visualised in block di-
agrams (in a restricted form) easing the development
of algorithms to optimise node sharing.
Based on the notation presented, we are currently
developing optimisation algorithms considering sev-
eral rules at once. The output of such an algorithm
should be complete, conflict-free blocks. An optimis-
ing Discrimination Network construction algorithm
can then use this information to decide, whether node-
sharing is beneficial w. r. t. runtime cost and memory
consumption for the data to be expected. Develop-
ing such an algorithm with acceptable runtime costs
although it has to look at a set of rules instead of a
single one is pending.
REFERENCES
Brownston, L., Farrell, R., Kant, E., and Martin, N. (1985).
Programming expert systems in OPS5: an introduc-
tion to rule-based programming. Addison-Wesley
Longman Publishing Co., Inc., Boston, MA, USA.
Forgy, C. L. (1981). OPS5 User’s Manual. Technical report,
Department of Computer Science, Carnegie-Mellon
University.
Forgy, C. L. (1982). Rete: A fast algorithm for the many
pattern/many object pattern match problem. Artificial
Intelligence, 19(1):17 – 37.
Hanson, E. N. and Hasan, M. S. (1993). Gator : An Op-
timized Discrimination Network for Active Database
Rule Condition Testing. Tech. Report TR93-036, Univ.
of Florida, pages 1–27.
Miranker, D. P. (1987). TREAT: A Better Match Algorithm
for AI Production Systems; Long Version. Techni-
cal report, University of Texas at Austin, Austin, TX,
USA.
Ohler, F., Schwarz, K., Krempels, K.-H., and Terwelp, C.
(2013). Rating of discrimination networks for rule-
based systems. In DATA, pages 32–42.
The CLIPS Team (1992). Build Module. In CLIPS Archi-
tecture Manual, pages 143–147.
WEBIST2015-11thInternationalConferenceonWebInformationSystemsandTechnologies
570