Simulating work behavior
First Claim
1. A method of modeling behavior of a subject interacting with a world, the method comprising:
- storing, in memory, a model having model elements including;
an agent modeling the subject and having one or more beliefs, a belief being a unit of information held and used internally by the agent;
one or more facts modeling objective, observable aspects of the world;
one or more frames for the agent to perform to model behavior of the subject, each frame being a workframe modeling time-consuming behavior by the subject or a thoughtframe modeling non-time-consuming reasoning by the subject, a workframe being considered active from the time the agent begins to the time the agent completes performing the workframe; and
a detectable modeling acquisition of information and response to information by the subject, the detectable having an associated workframe and being operative during the whole or a specified portion of the time the detectable'"'"'s associated workframe is active, the detectable having a fact template, where any facts matching the fact template are detected by the agent to form beliefs of the agent, whereby an agent obtains information while the associated workframe is active, and a detectable type defining the effect of an agent belief matching the detectable fact template during the time the detectable is operative and thereby satisfying the detectable.
15 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for modeling behavior. A computer model includes an agent having one or more beliefs, a world model, and facts. Behavior is modeled by frames including workframes modeling a time-consuming portions of an activity or thoughtframes modeling non-time-consuming portions of an activity or information processing. Detectables model acquisition of, and response to, information during a defined portion of an activity. A detectable tests facts to form beliefs of the agent, which can affect continued performance of the activity. The model is run by selecting for each time one of the frames to be the working frame; maintaining a context of active frames representing activities that are underway at any time; performing the working frame until it completes or another frame is selected to be performed in its place. Another frame may be selected when a detectable effect causes an impasse in the working frame or completes or aborts the working frame, or a higher-priority frame interrupts the working frame. In another aspect, the invention provides the services of an intelligent agent. An agent model models a user with a general component modeling an idealized agent having the role or tasks of the user and a situation-specific component describing the state and the beliefs of the user. The agent model is run under the control of a comparator process both in a forward-looking mode to generate predictions and in an explanatory mode to compare predictions generated by the agent model with actions of the user.
-
Citations
48 Claims
-
1. A method of modeling behavior of a subject interacting with a world, the method comprising:
-
storing, in memory, a model having model elements including;
an agent modeling the subject and having one or more beliefs, a belief being a unit of information held and used internally by the agent;
one or more facts modeling objective, observable aspects of the world;
one or more frames for the agent to perform to model behavior of the subject, each frame being a workframe modeling time-consuming behavior by the subject or a thoughtframe modeling non-time-consuming reasoning by the subject, a workframe being considered active from the time the agent begins to the time the agent completes performing the workframe; and
a detectable modeling acquisition of information and response to information by the subject, the detectable having an associated workframe and being operative during the whole or a specified portion of the time the detectable'"'"'s associated workframe is active, the detectable having a fact template, where any facts matching the fact template are detected by the agent to form beliefs of the agent, whereby an agent obtains information while the associated workframe is active, and a detectable type defining the effect of an agent belief matching the detectable fact template during the time the detectable is operative and thereby satisfying the detectable. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
any conditions to be satisfied before the agent may begin performing a frame are defined as preconditions of the frame;
each workframe has a priority for comparison with priorities of other workframes; and
the method further includes the step of running the model on the computer over a period of simulated time by selecting for each of the times in the period of simulated time one of the frames to be the working frame;
maintaining a context of active workframes, being workframes that have started but not completed or terminated working, the context representing what the subject is doing at any time in the simulation; and
performing the working workframe until the working workframe completes or another workframe is selected to be performed in place of the working workframe.
-
-
3. The method of claim 2 wherein, in running the model, another workframe is selected when:
-
a detectable effect causes an impasse in the working workframe;
a detectable effect completes or aborts the working workframe;
ora higher-priority workframe interrupts the working workframe.
-
-
4. The method of claim 2 wherein the model elements also include:
a detectable having a type causing performance of an associated workframe to be interrupted by an impasse until beliefs of the agent change.
-
5. The method of claim 2 wherein the model elements also include:
-
a detectable having a type causing performance of an associated workframe to be aborted; and
a detectable associated with a workframe and having a type causing performance of the workframe to be completed by going directly to perform any consequences of the workframe.
-
-
6. The method of claim 2 wherein:
-
a first detectable associated with a first workframe is operative the entire time the first workframe is active; and
a second detectable associated with a second workframe is operative a specified portion of the time the second workframe is active.
-
-
7. The method of claim 2 wherein:
-
the model elements also include a consequence associated with a frame, the consequence modeling changes in facts of the model or beliefs of the agent resulting from the behavior of the associated frame; and
running the model also includes executing consequences of frames to change facts of the model or beliefs of the agent.
-
-
8. The method of claim 2 wherein the model elements also include:
-
a primitive activity, being an atomic activity-modeling construct that is not decomposed into other activities, the primitive activity having a time duration;
a composite activity, being an activity-modeling construct defined by one or more workframes; and
a first workframe, the time-consuming behavior of which is defined by one or more primitive activities and one or more composite activities.
-
-
9. The method of claim 8 wherein:
-
the primitive activity has a time duration defined as a specific quantity or a random quantity; and
the primitive activity has a priority used to calculate the priority of any workframe that includes the primitive activity.
-
-
10. The method of claim 8 wherein:
the primitive activity is defined as having a touched object, a touched object being a reference to an artifact object of the model, where having a touched object models that an artifact is touched in the course of performing the primitive activity, whereby the touched object is associated with the primitive activity and may be used for statistical purposes and generating object flows.
-
11. The method of claim 2 wherein the model elements also include:
a workframe having an activity of communicating a belief from one agent to another agent.
-
12. The method of claim 2 wherein the model elements also include:
a workframe having an activity of communicating a belief by broadcasting the belief.
-
13. The method of claim 2 wherein the model elements also include:
a workframe having preconditions and a do-once attribute set true, the workframe being performed only once for an agent for each distinct binding satisfying the workframe'"'"'s preconditions.
-
14. The method of claim 8 wherein the model elements also include:
a detectable associated with a composite activity and having a type causing performance of the composite activity to be terminated when the detectable is satisfied.
-
15. The method of claim 8 wherein:
running the model is done by executing a simulation engine implementing semantics for primitive activities including primitive activities to communicate a belief and to create an artifact object.
-
16. The method of claim 2 wherein the model elements also include:
-
a geography defining locations in the modeled world and relationships between locations;
a fact of a location of the agent in the geography, where the agent has a correct belief as to the agent'"'"'s location; and
a workframe performing a primitive move activity having a goal location defined in the geography, the move activity causing an agent to move to the goal location if the agent is not already located at the goal location.
-
-
17. The method of claim 2 wherein the model elements also include:
-
groups representing functions performed by agents that are members of the groups, each group having group elements including any initial beliefs associated with the group'"'"'s functions, any frames modeling behavior common to the function, and any membership in other groups from which initial beliefs, frames, or group membership are inherited;
where an agent member of a group inherits initial beliefs and frames from the group and all other groups of which the group is a member.
-
-
18. The method of claim 17 wherein:
a behavior of the agent is modeled by a group of which the agent is a member.
-
19. The method of claim 17 wherein the model elements also include:
-
a group modeling the habits of an agent with workframes having activities performed at regular times of day and days of the week; and
a group modeling the expertise of an agent with workframes having activities modeling behavior requiring expertise.
-
-
20. The method of claim 17 wherein the model elements also include:
a general model of an activity, the general model having a first set of workframes having priorities in a high range and a second set of workframes having priorities in a middle range, the high range workframes modeling responses to impasse situations and the middle range workframes performing generic work of the general model, whereby the general model may be invoked by a workframe having a priority lower than the middle range.
-
21. The method of claim 2 wherein:
-
the facts include a time of day, a day of the week, and a day of the year; and
beliefs of the agent include a correct belief about the time of day.
-
-
22. The method of claim 2 wherein:
the agent has observable properties that are facts of the model.
-
23. The method of claim 2 wherein:
-
beliefs of an agent are part of an internal state of the agent and are represented as propositions asserted by the agent; and
preconditions of frames performed by an agent test only the beliefs of the agent.
-
-
24. The method of claim 2 wherein:
the agent is a model of a subject that is an interactive system selected from the group consisting of a person, a robot, an animal, or a computer-implemented process.
-
25. The method of claim 2 wherein the model elements also include:
-
an artifact object modeling a real thing in the world;
an internal state for an artifact object, the internal state including one or more beliefs, and a factframe modeling behavior of the thing, the factframe having a precondition defining facts that must exist in the model before the artifact object may begin performing the factframe.
-
-
26. The method of claim 25 wherein the model elements also include:
-
a thoughtframe modeling information processing performed by an artifact object associated with the thoughtframe, the thoughtframe having associated with it preconditions to be satisfied before the thoughtframe may be performed;
a consequence associated with the thoughtframe and operating to assert a belief to model a deduction occurring when the preconditions of the thoughtframe are satisfied;
a detectable associated with a factframe and testing facts to have an effect that interrupts or aborts the behavior of the detectable'"'"'s associated factframe; and
a consequence associated with a factframe and operating to assert a fact or a belief to model results of behaviors in the consequence'"'"'s associated factframes.
-
-
27. The method of claim 25 wherein the model elements also include:
-
a frame having a primitive activity of communicating a belief between an agent and an artifact object; and
a frame having a primitive activity of communicating a belief between a first artifact object and a second artifact object.
-
-
28. The method of claim 25 wherein:
-
the model elements also include;
conceptual objects representing intangible concepts, and an is-a-conceptual-object-of relation between a conceptual object and an artifact object; and
running the model also includes;
performing a create-object activity to create an new artifact object by copying an existing artifact object, where the new artifact object inherits the is-a-conceptual-object-of relations of the existing artifact object; and
generating concept statistics by tracking artifact objects linked by is-a-conceptual-object-of relation to conceptual objects.
-
-
29. The method of claim 28 wherein:
-
running the model also includes;
calculating a touch time of a conceptual object by calculating and summing the touch times of all artifact objects having an is-a-conceptual-object-of relation with the conceptual object; and
calculating a duration time of a conceptual object, duration time being a total time over which activities occur touching artifact objects having an is-a-conceptual-object-of relation with the conceptual object.
-
-
30. The method of claim 28 wherein:
running the model also includes displaying to a user through a computer interface a view of the running model providing a view of work flow in which activities of individual agents relating to a conceptual object are chained together to show the processing of work.
-
31. The method of claim 28 wherein:
-
running the model also includes displaying to a user through a computer interface views of the running model selected from the group including;
a view of social relations among agents defined by relations defined in the model;
a view of social relations among agents that emerge from social activities of agents involving other agents;
a view of locations of agents or artifact objects over simulated time in the geography;
a view of beliefs of agents over time;
a view of communications between or among agents or artifact objects;
a view of resource use showing use of resources including artifact objects and locations;
a view of information processing by artifact objects performing thoughtframes or factframes; and
a view of reasoning by agents performing thoughtframes or workframes.
-
-
32. A method of simulating the behavior of an interactive system in a world, comprising:
-
storing in computer memory a model having model elements including;
an agent modeling the interactive system, the agent having a state;
a fact representing a physical state of the world or an observable attribute of an agent;
workframes modeling behaviors of the agent, each workframe representing a behavior and having associated with it preconditions defining any conditions to be satisfied by a state of the model or the state of the agent before the agent may begin performing the behavior of the workframe; and
detectables, each associated with a workframe, each detectable having a detectable condition being a fact template matching facts to be detected by an agent, which matching facts when detected form beliefs of the agent, the detection occurring while the associated workframe is active, whereby an agent obtains information while performing an activity, each detectable also having a detectable type defining the effect of an agent having a belief matching the detectable condition while the associated workframe is active; and
running the model on the computer by;
assigning an initial state to each workframe in the model from a set of states including not-available;
selecting a behavior for the agent by selecting a workframe from among the workframes having states available, working, or interrupted and from among those workframes a workframe having a highest priority, the selected workframe being active from selection until completion or termination, the currently selected workframe being the working workframe;
changing workframe states by changing a state from not-available to available whenever all preconditions of the workframe are satisfied, changing a state from available to working whenever the workframe is selected to be the working workframe, changing a state from interrupted-with-impasse to interrupted whenever the detectable condition causing the impasse has ceased to be true, and changing a state from working to interrupted whenever a different, higher-priority available workframe is selected to be the behavior performed by the agent; and
simulating the behavior defined in a selected workframe until the workframe has run to completion, at which occurrence the workframe state is changed to done and the workframe ceases to be active, until a detectable effect interrupts the workframe because of an impasse, at which occurrence the workframe state is changed to interrupted-with-impasse, until a detectable effect completes or aborts the workframe, at which occurrence the workframe ceases to be active, or until a higher-priority workframe is in an state of available or interrupted. - View Dependent Claims (33)
a thoughtframe modeling reasoning performed by an agent associated with the thoughtframe, the thoughtframe having associated with it preconditions that must be satisfied before the thoughtframe may be performed; and
a consequence associated with the thoughtframe and operating to assert beliefs to model a deduction occurring when preconditions of the thoughtframe are satisfied.
-
-
34. A method of providing services of an intelligent agent to a user, comprising:
-
storing a world model on a computer system to maintain a record of facts about the real world, including information about actions of the user;
storing an agent model modeling the user, the agent model having a general component, being a model of an idealized agent having the role or tasks of the user, and a situation-specific component, being a description of the state and the beliefs of the user;
running the agent model on a computer under the control of a comparator process both in a forward-looking mode to generate predictions and in an explanatory mode to compare predictions generated by the agent model with actions of the user, where the general component of the agent model stands in place of an expert system as a source of predictions for the comparator process;
receiving information about the real world including about actions of the user and adding the information to the world model during the running of the agent model;
transmitting differences, issues, or problems identified by the comparator process to an advisor process running on a computer; and
running the advisor process to formulate differences, issues, or problems received from the comparator process and to provide them in the form of assistance or teaching to the user. - View Dependent Claims (35, 36, 37, 38, 39, 40)
the user is an interactive system selected from a person, a robot, an animal, or a computer-implemented process.
-
-
36. The method of claim 34 wherein:
-
the general component of the agent model includes workframes representing the role or tasks of the user as behaviors that in the aggregate define the idealized behavior of an agent representing the user in the agent model, where each workframe has associated with it a state having an initial value of not-available, a priority with respect to other workframes, and any preconditions to be satisfied before the workframe becomes available to be performed; and
detectables associated with individual workframes and operating to be satisfied and cause an impasse to the continued performance of the associated workframe when some aspect of the state of the agent model matches a detectable condition while the associated workframe is active; and
whererunning the agent model includes changing the state of each workframe;
from not-available to available whenever all preconditions of the workframe are satisfied;
from available to working whenever the workframe is selected to be performed, at which time the workframe becomes active;
from working to interrupted whenever a different, higher-priority workframe becomes available and is selected to be performed;
from available or interrupted to working whenever the workframe is the highest priority workframe among those in states available or interrupted;
from working to interrupted-with-impasse whenever a detectable condition is satisfied causing an impasse;
from interrupted-with-impasse to interrupted whenever the detectable condition causing the impasse has ceased to be true; and
from any active state to done whenever a time duration of the workframe has run, at which occurrence the agent-workframe state is changed to done and the workframe is no longer active; and
whererunning the agent model includes observing changes in the world model while the agent model is executing to identify changes by reason of which preconditions or detectables are satisfied.
-
-
37. The method of claim 36 wherein the general component of the model further includes:
consequences associated with individual workframes that change the state of the agent model to model results of activities performed by individual workframes.
-
38. The method of claim 36 wherein:
the comparator process applies explanation-based learning to modify the general component of the agent model to represent variations in practice.
-
39. The method of claim 36 wherein:
-
the information stored in the world model is obtained electronically from a database linked to the computer system; and
the computer system includes a comparator computer operating to run the comparator process; and
a model computer operating to run the agent model.
-
-
40. The method of claim 36 wherein:
-
the user is a person; and
the computer system includes a personal digital assistant coupled to the comparator computer for information transfer by a wireless link, the personal digital assistant operating to communicate information between the user and the intelligent agent.
-
-
41. A computer program product, tangibly stored on a computer-readable medium, for modeling behavior of a subject interacting with a world, the program comprising instructions for causing a computer to:
-
store, in memory, a model having model elements including;
an agent modeling the subject and having one or more beliefs, a belief being a unit of information held and used internally by the agent;
one or more facts modeling objective, observable aspects of the world;
one or more frames for the agent to perform to model behavior of the subject, each frame being a workframe modeling time-consuming behavior by the subject or a thoughtframe modeling non-time-consuming reasoning by the subject, a workframe being considered active from the time the agent begins to the time the agent completes performing the workframe; and
a detectable modeling acquisition of information and response to information by the subject, the detectable having an associated workframe and being operative during the whole or a specified portion of the time the detectable'"'"'s associated workframe is active, the detectable having a fact template, where any facts matching the fact template are detected by the agent to form beliefs of the agent, whereby an agent obtains information while the associated workframe is active, and a detectable type defining the effect of an agent belief matching the detectable fact template during the time the detectable is operative and thereby satisfying the detectable. - View Dependent Claims (42, 43, 44)
any conditions to be satisfied before the agent may begin performing a frame are defined as preconditions of the frame;
each workframe has a priority for comparison with priorities of other workframes; and
the program further includes instructions to run the model on the computer over a period of simulated time by;
selecting for each of the times in the period of simulated time one of the frames to be the working frame;
maintaining a context of active workframes, being workframes that have started but not completed or terminated working, the context representing what the subject is doing at any time in the simulation; and
performing the working workframe until the working workframe completes or another workframe is selected to be performed in place of the working workframe.
-
-
43. The product of claim 42 wherein the model elements also include:
-
an artifact object modeling a real thing in the world;
an internal state for an artifact object, the internal state including one or more beliefs;
a factframe modeling behavior of the thing, the factframe having a precondition defining facts that must exist in the model before the artifact object may begin performing the factframe;
conceptual objects representing intangible concepts; and
an is-a-conceptual-object-of relation between a conceptual object and an artifact object; and
the instructions to run the model further include instructions to;
perform a create-object activity to create an new artifact object by copying an existing artifact object, where the new artifact object inherits the is-a-conceptual-object-of relations of the existing artifact object; and
generate concept statistics by tracking artifact objects linked by is-a-conceptual-object-of relation to conceptual objects.
-
-
44. The product of claim 43 wherein the instructions to run the model further include instructions to:
-
calculate a touch time of a conceptual object by calculating and summing the touch times of all artifact objects having an is-a-conceptual-object-of relation with the conceptual object; and
calculate a duration time of a conceptual object, duration time being a total time over which activities occur touching artifact objects having an is-a-conceptual-object-of relation with the conceptual object.
-
-
45. A computer program product, tangibly stored on a computer-readable medium, for simulating the behavior of an interactive system in a world, the program comprising instructions for causing a computer to:
-
store in computer memory a model having model elements including;
an agent modeling the interactive system, the agent having a state;
a fact representing a physical state of the world or an observable attribute of an agent;
workframes modeling behaviors of the agent, each workframe representing a behavior and having associated with it preconditions defining any conditions to be satisfied by a state of the model or the state of the agent before the agent may begin performing the behavior of the workframe; and
detectables, each associated with a workframe, each detectable having a detectable condition being a fact template matching facts to be detected by an agent, which matching facts when detected form beliefs of the agent, the detection occurring while the associated workframe is active, whereby an agent obtains information while performing an activity, each detectable also having a detectable type defining the effect of an agent having a belief matching the detectable condition while the associated workframe is active; and
run the model on the computer by;
assigning an initial state to each workframe in the model from a set of states including not-available;
selecting a behavior for the agent by selecting a workframe from among the workframes having states available, working, or interrupted and from among those workframes a workframe having a highest priority, the selected workframe being active from selection until completion or termination, the currently selected workframe being the working workframe;
changing workframe states by changing a state from not-available to available whenever all preconditions of the workframe are satisfied, changing a state from available to working whenever the workframe is selected to be the working workframe, changing a state from interrupted-with-impasse to interrupted whenever the detectable condition causing the impasse has ceased to be true, and changing a state from working to interrupted whenever a different, higher-priority available workframe is selected to be the behavior performed by the agent; and
simulating the behavior defined in a selected workframe until the workframe has run to completion, at which occurrence the workframe state is changed to done and the workframe ceases to be active, until a detectable effect interrupts the workframe because of an impasse, at which occurrence the workframe state is changed to interrupted-with-impasse, until a detectable effect completes or aborts the workframe, at which occurrence the workframe ceases to be active, or until a higher-priority workframe is in an state of available or interrupted. - View Dependent Claims (46)
a thoughtframe modeling reasoning performed by an agent associated with the thoughtframe, the thoughtframe having associated with it preconditions that must be satisfied before the thoughtframe may be performed; and
a consequence associated with the thoughtframe and operating to assert beliefs to model a deduction occurring when preconditions of the thoughtframe are satisfied.
-
-
47. A computer program product, tangibly stored on a computer-readable medium, for providing services of an intelligent agent to a user, the program comprising instructions for causing a computer to:
-
store a world model on a computer system to maintain a record of facts about the real world, including information about actions of the user;
store an agent model modeling the user, the agent model having a general component, being a model of an idealized agent having the role or tasks of the user, and a situation-specific component, being a description of the state and the beliefs of the user;
run the agent model on a computer under the control of a comparator process both in a forward-looking mode to generate predictions and in an explanatory mode to compare predictions generated by the agent model with actions of the user, where the general component of the agent model stands in place of an expert system as a source of predictions for the comparator process;
receive information about the real world including about actions of the user and adding the information to the world model during the running of the agent model;
transmit differences, issues, or problems identified by the comparator process to an advisor process running on a computer; and
run the advisor process to formulate differences, issues, or problems received from the comparator process and to provide them in the form of assistance or teaching to the user. - View Dependent Claims (48)
the general component of the agent model includes workframes representing the role or tasks of the user as behaviors that in the aggregate define the idealized behavior of an agent representing the user in the agent model, where each workframe has associated with it a state having an initial value of not-available, a priority with respect to other workframes, and any preconditions to be satisfied before the workframe becomes available to be performed; and
detectables associated with individual workframes and operating to be satisfied and cause an impasse to the continued performance of the associated workframe when some aspect of the state of the agent model matches a detectable condition while the associated workframe is active; and
whererunning the agent model includes changing the state of each workframe;
from not-available to available whenever all preconditions of the workframe are satisfied;
from available to working whenever the workframe is selected to be performed, at which time the workframe becomes active;
from working to interrupted whenever a different, higher-priority workframe becomes available and is selected to be performed;
from available or interrupted to working whenever the workframe is the highest priority workframe among those in states available or interrupted;
from working to interrupted-with-impasse whenever a detectable condition is satisfied causing an impasse;
from interrupted-with-impasse to interrupted whenever the detectable condition causing the impasse has ceased to be true; and
from any active state to done whenever a time duration of the workframe has run, at which occurrence the agent-workframe state is changed to done and the workframe is no longer active; and
whererunning the agent model includes observing changes in the world model while the agent model is executing to identify changes by reason of which preconditions or detectables are satisfied.
-
Specification