Menu

Brute Force Concept Navigation Wiki

Diana Troanca

Welcome to Brute Force Concept Navigation tool!

This is a tool that allows you to interactively navigate through the formal concepts of a triadic dataset.
The name of the tool is related to the fact that the input is adapted to the Trias output. But the input for the tool can be generated with any other tool that computes triconcepts if it formatted accordingly prior to using this navigation tool.

Here are the basic theoretical aspects of formal concept analysis, that you need to know in order to use the tool.

A triadic formal context K=(G, M, B, Y) consists of a set of objects G, a set of attributes M, a set of conditions B and a triadic relation Y on the three sets.
A triadic formal concept is a triple (K_1, K_2, K_3) with the property that all objects from K_1 have all attributes from K_2 under all conditions from K_3. The maximilaty property holds, meaning you cannot add an element to any of the three subsets, so that the previous property still holds.

When interactively navigating you choose for each element whether it should be included in the triconcept or excluded from it. The tool automatically includes or excludes other elements, so that you don't get to an impossible state and in the end you always get to a triconcept satisfying your restrictions.

This tool was implemented for comparison with the ASP Concept Navigation tool
For more information please refer to Membership Constraints in Formal Concept Analysis by S. Rudolph, C. Sacarea and D. Troanca published at IJCAI 2015.

Prerequisites

  • Java needs to be installed
  • another tool that computes triconcepts in order to generate the input for this tool, for example Trias

Be aware that it is an interactive tool, so it has a graphical interface. Therefore, some problems could appear on a linux machine, where you would need to install additional software or use tunneling to render the graphical interface on a different machine.

Input for the tool

The tool needs as an input the set of elements, as well as the computed triconcepts.
As mentioned before, the input is adapted to the Trias format.

When using Trias the output is the set of triconcepts, where each triconcept is of the form:
A = {14, }, B = {2, 4, }, C = {1, 2, }
This output has to be preprocessed as follows before being used as input for the concept navigation tool :
* in the beginning of the file add the context dimensions, each on a separate line
* next, you have to add the codification for all three element sets, meaning what name corresponds to each object index; this codification should be given in the following form, for element on a separate line:
"2013" = 2
"2015" = 1
"2014" = 3
* the three sets should be given in the order of their dimension, first the object set, then the attribute set and last the conditions set
* the order of the elements inside a set is not important
* after the dimensions and the elements are given, the rest of the file contains the triconcept set from the Trias output

An example of such an input file can be found in the project files:
dblp_input_trias_navigator.txt

How to run the tool

The main class that starts the tool is Runner.java from the package app, so you can load the project into an IDE and launch the project from this class.

Alternatively, you can only download and run the jar file (using the command java -jar TriasConceptNavigator.jar):
TriasConceptNavigator.jar

From than on all the steps are interactive, including choosing the input file.

Output

The tool creates, in the same folder where it runs, a file named statistics.log .
This file contains details about the execution times.
The first line contains the offline time, which represents the time for loading the data from the input file.
The next lines each contain the time for one step, meaning when the user selected an element as being in or out.

Question

For questions, bugs or other observations please contact me directly,use the discussion forum or post a review.
Thank you!

Project Members: