Bayesian networks appeared in the 1980s as probabilistic model for uncertain reasoning in artificial intelligence. Very soon they underwent a significant expansion: first-line universities (UCLA, Stanford, MIT, Carnegie-Mellon…) and big companies (IBM, Microsoft, Digital, etc.) began to do research in this field.
In Spain there was a significant number of researchers spread on different universities, who decided to start a Joint Project of R&D financed by the CICYT (a Spanish research agency), which was carried out between 1997 and 2000. This project joined 25 people from 8 Spanish universities, organized in four subprojects: Granada, Almería, Basque Country, and UNED.
The main goal of the project was the construction of an environment that serve, on the one hand, as a benchwork for the investigation of new methods and algorithms of probabilistic reasoning and, on the other hand, as a tool for the implementation of Bayesian expert systems. The resulting program was called Elvira, after the ancient name of the town of Granada (Spain), and the CICYT project was called Elvira project.
In March 2001, a group made up by approximately the same researchers, applied for a new grant, entitled Elvira II: Applications of the Graphical Probabilistic Models, which began in June 2005. It has two main goals: to improve the Elvira program and to develop applications in different fields, such as medicine, genetics, agriculture, and e-commerce (collaborative filtering).
The project Elvira II consists of five subprojects:
The program Elvira has its own format for storing models, a parser, exact and approximate (stochastic and deterministic) algorithms for both discrete and continuous variables, a graphical interface for building and evaluating Bayesian networks and influence diagrams, with specific options for canonical models (OR, AND, MAX, etc.), explanation of reasoning, decision making algorithms, learning (model building) from databases, fusion of networks, etc.
Elvira is written and compiled in Java, which allows the program to run on different platforms and operating systems: linux, MS-DOS/Windows, Solaris, etc.
The main shortcoming of Elvira is that the pursuit of short-term research
objective led its programmers to neglect some of the principles of software
engineering. Elvira still lacks on-line help and requires a lot of debugging.