Example

First a new project will be created using the Tinto database , this datebase contains records of different types of wine.

Each column represents a specific characteristic of the wine for example the quality column represents the quality level of each wine.

To create a new project you must be placed on the menu in the file tab (Archivo) and then on the option : new ( nuevo).

Following a new window will appear with a new project ( Nuevo proyecto).

To select the database, click on the Browse (examinar) button (it only accepts csv files). In this case our database is called Tinto.

With this all the column names will be shown in a list.

Then, we select the task to be carried out, in this case we select the discovery task (descubrimiento) and it will be filled in with the linguistic states.

We can change the name of the linguistic state label as well as the membership function.

In the Linguistic Status window we select the membership function and the values ​​of the parameters can be edited, in this case we have center and beta that correspond to a sigmoidal membership function.

Using the "View" button, the graph of the function is displayed and then we click on "Save”

In the "Configuration" tab you can edit the logic type , in this case we will use the Compensatory Logic based on the geometric mean, it is also posible to select the logic operators that are going to be use and the algorithm search settings for the discovery task.

Finally we will save the project with the name "project1" and the task as "discovery task 1" and it will show us a window where it mentions that the project has been saved successfully.

Then we can close the window.

The created project will be displayed in the left panel in the Eureka workspace and when we select the project it shows us details about it, such as the name, the data file, the tasks created and the type of task it is.

It is also possible to create a new task using the "New Task" button (3.a)

The "Manage project" button will display the project window that can be edited.

We select the column "ph" and the number of states to add (in this case 2) and then we click the add button.

Also here it is possible to change the name of the language state and / or the membership role. For example we select the linguistic state "volatile_acidity" and change its membership function to a triangular type with values ​​1, 2 and 3 for a, b and c respectively.

Then we save the project by going to the menu in the "File" tab and in the "Save" option.

Now we will add a new task; for the evaluation task we just add the name of the task "evaluate_task" and add it.

Now in the project we select the task that we will carry out and that will be the discovery.

The discovery task window is divided into six areas; In the area of ​​Linguistic state we can add more linguistic states to the project and this will be added to the list of linguistic states.

In this list we can edit the linguistic state label and the membership function.

The logical operator buttons are used to create symbolic predicates and are added to the compound predicates section.

For example, the asterisk predicate represents any predicate and is a wildcard to replace linguistic states or fuzzy predicates, similar to regular expressions.

We can take a linguistic state and compound predicates to create new predicates

For example "pH" and "sulphates" and we click on the "AND" button and a predicate is created as shown below.

And so on we can create new predicates for example: (OR "*" (AND "pH" "sulphates")).

It is possible to see the predicate graphically using the "eye" button.

And a window corresponding to the "Graphical predicate editor" is displayed.

Likewise, the predicate can be edited by adding a new linguistic state by making a connection using an edge and a logical operator.

It is also possible to remove the linguistic state by selecting and clicking on the option remove selection

We edit the predicate resulting in the following tree diagram.

And we save the project with the new predicate.

We will create a new symbolic predicate by selecting "high quality" and the compound predicate "*" with a depth of 1.

The following configuration means that any predicate implies "high quality" therefore it will discover any predicate that implies "high quality".

Now we will select the logical operators "AND" and "OR" with a depth of 1, also selecting all the linguistic states with the exception of the "quality" column.

We will select the symbolic predicate "(IMP" * "" high quality ") by clicking on the button" Select predicate ", then" Select linguistic states "and then" Discover predicates. "SELECT THE DEV OPTION for this version.

The results will be saved in a file and a window will be displayed indicating the name that will be given to the file and then click on the accept button and begin to perform the task of discovering predicates.

The results are shown below in a new window with the columns for "truth value", the "predicate", "the linguistic variables" and the possibility to see the predicate graphically.

To see it graphically it is necessary to press the “eye“ button.

Now we continue with the task of evaluating the previously discovered predicates by clicking on the "Open task" button.

Agregamos un nuevo estado en la columna "quality"

And we edit the membership function of a triangular type with the values ​​1, 2 and 3 corresponding to the parameters a, b and c.

We can evaluate previously discovered predicates or create new predicates through the "Graphical Predicate Editor".

And this will be added to the list of compound predicates.

We can select any predicate from the list to be evaluated . To do this, it is necessary to click on the predicate we want to evaluate , then click on the "Select" button and it will be displayed in the text area, and then click on the "Evaluate" button and a window will be displayed where the name of the file is goinng to be indicated and also where the results will be stored.

The results will be displayed in another window obtaining the data "ForAll" which is the quantifier for everything, "Exists" which is the quantifier for existence and "Result".