4Implementation: VNET
The main purpose of the implementation was to enable the testing of the proposed materialisation of the approach to see if it is useful with respect to the aims of the research. The focus of the implementation was to make it operational. In this section I describe a tool called VNET that I have constructed, which is an implementation of some of the functionalities of the materialisation of the approach. In this chapter I refer to the development of the tool as the implementation of the materialisation of the approach. Because of limitations of scope of this work, only parts of the functionality were implemented. Herein, I detail the specific functionality and the algorithms suggested for its implementation, most of which are based on the literature with some modifications, as appropriate. I discuss the issues regarding the designing of the user interface for software to support the expert. I also describe the terminology and visualisation aids I chose for the assessment. This tool was intended to be a prototype for such tools.
The development of the tool enabled me to test and evaluate the following: Is the proposed approach helpful in understanding a BN structure, in detecting possible errors, in changing confidence in the model and in understanding BN technology? Are there any other potential applications of this approach? (such as domain dependencies, i.e. would it be useful in one domain but not in another).
4.1Foundation The functionality of the materialisation of the approach includes the questions: What are the relationships between sets of nodes? More specifically, under what circumstances do sets of nodes become dseparated? These questions can be phrased in terms of dseparation as follows: For sets of nodes X, Y and Z, this question is about situations where dsepG(X,YZ) is true.
In the process of the development of the tool I considered the problem of exponential relationships, and the impracticality to present all of them. Some restrictions had to be made. However, this posed a problem because it is impossible to know which are the different dseparating sets that can be of interest and importance for users from different domains unless it has been pretested.
I therefore suggested to generate answers to specific requests made by the users, yet to support as many users as possible by offering a variety of options for the users to choose from. This was done by allowing the users to ask direct questions with regard to specific information they may be interested in.
4.1.1Specific Questions The extent of the development of the tool, VNET, was limited by the scope of this work. Therefore only a limited number of specific questions were selected to be implemented. However, these questions were chosen to reveal different types of information, namely, relationships between one node and the rest of the network, between two nodes and between sets of nodes.
Given a graph G, the included questions are also phrased in terms of dseparation as follows:
Under what circumstances does a node become irrelevant? (What information should be known?) What information dseparates a node from the rest of the nodes in the structure? Formally: Given a node X, find a set Z such that dsepG(X,YZ) where Y are the rest of the nodes in G. This question reveals information with regard to relationships between one node and the rest of the network. What are the relationships between two nodes? Formally: Given two nodes X and Y, find sets Z such that dsepG(X,YZ) When do they become dseparated? What is the minimum information required to dseparate them with regard to their parents? What is the minimum information required to dseparate them with regard to the whole structure? This question reveals information with regard to relationships between two nodes. Given some information, what happens to the relationships between nodes? If certain information is known, does it dseparate any nodes? Formally: Given a set of nodes X and a set of nodes Z, find the set of nodes Y such that dsepG(X,YZ). This question reveals information with regard to relationships between sets of nodes.
These questions also represent different types of functionality. In the first, the user chooses the node X, the set Y is defined as the rest of the nodes in the graph and VNET finds the set Z. In the second, the user chooses the nodes X, Y and VNET finds the set(s) Z. In the last question the user chooses the sets X, Z and VNET finds the set Y.
4.1.2Visualisation The main focus of the proposed materialisation of this approach is on the graph display of the model, by which the users can construct the questions and see the results thereof displayed on the graph. Therefore, a major problem that evolves from focussing on the graph is the need to find a graphical way to represent the notion of dseparation, i.e. to graphically represent the sentence “X is dseparated from Y given Z”.
I looked for ways to represent this on the graph structure by using different colours and symbols for the nodes involved. I implemented the following, which is based on CUErgo guidelines [19] e.g. use 'realworld' metaphors, do not use more than 4 different colours on a screen etc. (section 4.4).
A red stop sign was chosen to indicate a blocked situation, where information cannot flow. A question mark was chosen to indicate a query node and an upside down question mark, to indicate an observation node, since query and observation have a symmetric role. The colours of these nodes are purple and blue, and are of no particular significance except for the fact that these are similar colours chosen to contrast these nodes from the rest of the nodes, and distinguish between them while representing their symmetric role. This is shown in figure 4.1.
Figure 4.8 Proposed visualisation of the relation “X is dseparated from Y given Z”.
4.1.3Language and Terminology Although the materialisation of the approach suggests leaving the terminology open to experimentation, default choices must be made in order to enable the user to start working with the tool. Since users of any supportive methodology can potentially have diverse background experience and knowledge, I tried to choose simple and intuitive terms and to avoid the use of BNs technical terminology in the tool. For example, the following terms were given the more intuitive names: Terms from Graph Theory such as ‘parents’, ‘ancestors’ and ‘trails’ were replaced by terms like ‘direct causes’, ‘causes’ and ‘paths’, respectively. The term ‘dseparation’ was replaced by a more intuitive notion, e.g. ‘blocking’. Accordingly, a dseparating set found among parent nodes was called ‘a simple blocking set’. This set is a dseparating set but it may contain smaller sets that can dseparate. A minimal dseparating set found among parent nodes was called ‘essential blocking set’. This is a dseparating set from which no node can be removed without impairing the dseparation property. A minimal dseparating set found anywhere in the network was called ‘minimal blocking set’.
It should be noted that in some cases all these sets could, in fact, refer to the same set, as is discussed in section 4.2.2.
In order to describe the general relation dsepG(X,YZ) (“X is dseparated from Y by Z”) I have given the terms X, Y and Z a specific temporary role in the relation (section 3.4.1.1). These terms are also used in VNET. The nodes X become the query nodes, the nodes we want to reason about. The nodes Y become the observation nodes, the nodes we may observe. The nodes Z are the known nodes, the nodes the value of which we know. Using these terms, the notion ‘influence’ (in the context of “a change in the value of node X does not influence the value of node Y”) could be described by the term change of belief (“knowing the value of node X does not change our belief in the value of node Y”). Using these terms, the relation dsepG(X,YZ) in the graph is then described as: ”If the known nodes are observed, then knowing the value of the query nodes will not change the belief about the value of the observation nodes and vice versa”. By giving each set of nodes a role, the symmetry of the relation would be lost. To overcome this the notion “vice versa” was added.
Thus, the free text output of VNET for the relation dsepG(X,YZ) is: “IF the value of: is known then knowing the value of WILL NOT CHANGE the belief about the value of and vice versa.” This is shown in figure 4.2.
Figure 4.9: Proposed visualisation and verbal explanation of the relation “X is dseparated from Y given Z”.
