SRQ (Self Referential Quizzes)



The SRAT (Self Referential Aptitude Test) (SRAT pages of Martin Henz) puzzles were invented by Jim Propp around 1993. The original SRAT contains 20 quiz questions with 5 alternatives each, almost all of them which refer to the quiz itself. The problem consists in finding a correct solution for each question. The constraints in SRAT are so strong that they lead to a unique solution almost deterministically (a single choice-point is enough). For that reason, the `Self-Referential Quiz' (SRQ) was devised. As it contains only ten questions, the search for a solution requires more choice-points.

A small SRQ, called small SRAT, contains more choice-points for the same number of questions.

These SRQs and SRATs are particularly appropriate to test the CLP since they incorporate a number of aspects that challenge the expressiveness and efficiency of the constraint solvers in different constraint languages.


There is a paper comparing the expressiveness and efficiency of different constraint languages in the solving of Self Referential Quizzes.

Solution in the boolean domain

Each question has five option, and each of these options is expressed as a logical formula using the connectives: conjunction, disjunction, negation and equivalence. There are 50 boolean variables (one for each option in each question). A variable has the value true if the answer to a question is correct for the option relative to the question and false otherwise. Only one alternative may be true for each question.

Solutions to SRQ and small SRAT have been implemented in different constraint languages.



Similar Solution to n-queens problem solution

This representation has a single variable for each question and assign the code for the correct answer for that question to the variable (in the style of the usual representation for the n-queens problem). This solution involves only 10 FD variables. There is exactly one variable for each question: each variable is element of the domain 1..5 where each domain value corresponds to an option in each question.

Solutions to SRQ and small SRAT in different constraint languages:

A more efficient solution

Mark wallace suggested a more efficient solution to solve the original SRQ. This is coded in ECLiPSe 3.5.2. You can get it by ftp below.

 
Back to home page of Antonio Fernández