parameters of the formula using the resources
provided. First, the user must select the attributes
included in all conjunctions of PDNF. Next, the user
must specify the number of conjunctions in the
formula. Then, drop-down lists of «+» and «–»
values appear with the resulting PDNF, where «–»
symbolizes negation of the argument. The data from
this window with PDNF can be inputted into the
main algorithm by clicking the button titled «Get the
value of the formula».
The value of the formula is calculated as an
interval (see Theorem 10). The start value of the
interval is the ratio of the number of cases for which
the formula is true to the number of all existing
cases. The end value of the interval is the ratio of the
number of cases for which the formula is true, added
to the number of cases for which the truth value of
the formula is not defined, to the number of all
existing cases.
The algorithm used to determine the truth value
of a formula in the generalized case is based on
Theorem 12 and shown in Table 1. At first, false
conjunctions that contradict the available
information for the case are eliminated from the
formula. If no conjunctions in the formula remain,
then the formula for the case is false. If the
remaining conjunctions do not have unknown
attribute values for the case, then the formula for the
case is considered true. If the remaining
conjunctions have unknown attribute values, then
the algorithm operates as follows: If the number of
remaining conjunctions is less than 2
, where is
the number of unknown attribute values in the
conjunction, then the truth value of the formula for
the case is not defined, otherwise the formula is true.
To determine whether a case has attribute values
included in the conjunctions requires
operations, where is the number of attribute values
in all categories stored in OntoBox. To eliminate
false conjunctions for the case based on the
information of attribute values requires
operations, where is the number of conjunctions in
PDNF. The total number of attribute values involved
in the conjunctions cannot exceed . Thus, the total
algorithmic complexity of the developed approach
for defining the truth value of PDNF in a case is
.
Further, if the OntoBox knowledge base has m
computer-attack cases, then calculating the truth
value of the formula in interval form needs
operations.
Table 1: The algorithm for determining the truth value of a
formula in the generalized case.
alg getPDNFVerityOnCase(arg Case case,
arg list PDNFFormulaAttrs,
arg matrix PDNFBoolMatrix)
begin
| bool rightValue,
| int unknownAttrsCount,
| list removedIndexes
| for each Attribute attr in
| | PDNFFormulaAttrs
| | int attrValueOnCase :=
| | checkIfCaseHasAttr(attr, case)
| | if (attrValueOnCase = UNKNOWN_ATTR)
| | | unknownAttrsCount :=
| | | unknownAttrsCount + 1
| | else
| | | if (attrValueOnCase = HAS_ATTR)
| | | | rightValue := true
| | | else
| | | | rightValue := false
| | | list boolRow :=
| | | PDNFBoolMatrix.get(
| | | PDNFFormulaAttrs.indexOf(attr))
| | | for int i = 0 to boolRow.size()
| | | | if (removedIndexes does not
| | | | | contain i)
| | | | | if (boolRow.get(i) !=
| | | | | | rightValue)
| | | | | | removedIndexes.add(i)
| | | end of loop
| end of loop
| int remainingConjCount :=
| PDNFBoolMatrix.get(0).size() –
| removedIndexes.size()
| if (remainingConjCount = 0)
| | return PDNF_FALSE
| if (unknownAttrsCount = 0)
| | return PDNF_TRUE
| if (remainingConjCount <
| | 2^unknownAttrsCount)
| | return PDNF_UNKNOWN
| else
| | return PDNF_TRUE
end
4 CONCLUSIONS
This work describes the mathematical apparatus and
software implementation of one of the modules of
the RiskPanel system, aimed to compare computer-
security knowledge learned from various online
sources.
Algorithms implemented in this module are
based on the methodology of generalized fuzzy
models. The knowledge obtained from a single
source is formalized as an algebraic system and is
stored in the knowledge base of the RiskPanel
system. To implement the knowledge comparison,
ICEIS2015-17thInternationalConferenceonEnterpriseInformationSystems
570