A method of answering generalized queries within a system including a device having a program executed thereon and a server communicating with the device, the method comprising:
- receiving an input of a query in at least one of an input unit of the device and another input unit of the server;
- retrieving from at least one of the server and the Internet, first information related to a user, second information defining the query, and third information related to the query;
- executing a plurality of simulations within at least one of a processor of the device and another processor of the server, the plurality of simulations being executed by utilizing various combinations of the first information related to a user, the second information defining the query, and the third information related to the query;
- ranking the plurality of executed simulations based on a most favorable outcome for the user;
- outputting the best ranked simulation;
- and
- displaying information that output the best ranked simulation as an answer to the query.