Methods and systems for searching comprise presenting a first information
set to a user, receiving feedback, applying an evolutionary algorithm
based on the feedback to generate a search query, causing the search
query to be executed to generate a second information set, and presenting
the second information set to the user. Then, in response to user input,
the first information set is again presented to the user; feedback is
again received, an evolutionary algorithm is again applied based on the
feedback to generate a search query, and the new search query is caused
to be executed to generate a third information set which is presented to
the user.