Equipped with pencil, paper and calculator, one may need a weekend to figure out the estimated rent. Usually, the calculation is performed by hand in about half on hour by an expert from the City of Munich or from one of the renters associations. With our computerized version, we brought the calculation time down to a few minutes.
The calculations are based on size, age and location of the flat and a series of detailed yes/no questions about the flat and the house it is in. Some of these questions are hard to answer (e.g. ``Is the house looking good?'' or ``In the bathroom, are the tiles on the walls more than 180cm high?''). However, to be able to calculate the rent estimate by hand, all questions must be answered. Moreover, due to the underlying statistical model, there is the problem of inherent imprecision which is ignored in the paper version of the "Mietspiegel".
With high-level programming in ECLiPSe, a powerful logic programming language, the tables and rules are easily encoded, always assuming that complete information is available. With advanced constraint technology provided by constraint handling rules, the computations can then be performed even when some questions are left unanswered. In addition, the imprecision of the statistical model can be captured by constraints. Instead of computing with actual values, the program computes with ranges (intervals). Our conclusion is that constraint-based computing can deal with imprecise knowledge and partial information in an elegant, correct and efficient way.
For those familiar with constraint logic programming let us point out that the application is characterized by
To calculate one's rent one does not have to acquire some software, but rather one can use the internet and the convenience of the world-wide-web to fill in the questionnaire and compute the rent estimate. The electronic Munich Rent Advisor is an example of an ``intelligent information server''.
It took about 4 man weeks to write the web user interface, only 2 weeks to write the expert system code and 1 week to debug it. We think that the coding would have dominated the implementation effort if a conventional programming language had been used. Our very high-level state-of-the-art approach also means that the program can be easily maintained and modified. This is crucial, since every city and every new version of the "Mietspiegel" comes with with different tables and rules.