Abstract:
Methods and systems capable of determining which subset of a set of logical expressions are true with relatively few evaluations of the primitives that together with any standard logical connectives, make up the logical expressions. A plurality of directed acyclic graphs, each graph including at least one root node, at least one leaf node, and at least one non-leaf node associated with a leaf node. Each node is associated with a, possibly empty, subset of presumed to be true logical expressions. Each non-leaf node is associated with one of the primitives mentioned in any of the logical expressions. Edges are defined between two of the nodes, each edge being associated with a possible value, or range of possible values, of the primitive associated with the node at the tail of the edge. Paths are defined through each of the directed acyclic graphs from a root node to a leaf node by recursively following each edge corresponding to the current value of the primitive at a selected non-leaf node. Lastly, subsets of logical expressions associated with the nodes on the defined paths are collated to yield a subset of logical expressions that are true.
Abstract:
Generating motion recognizers from example motions, without substantial programming, without limitation to any fixed set of well-known gestures, and without limitation to motions that occur substantially in a plane, or are substantially predefined in scope. From example motions for each class of motion to be recognized, a system automatically generates motion recognizers using machine learning techniques. Those motion recognizers can be incorporated into an end-user application, with the effect that when a user of the application supplies a motion, those motion recognizers will recognize the motion as an example of one of the known classes of motion. Motion recognizers can be incorporated into an end-user application; tuned to improve recognition rates for subsequent motions to allow end-users to add new example motions.
Abstract:
Providing dynamic learning for software agents in a simulation is described. The software agents with learners are capable of learning from examples. When a non-player character queries the learner, it can provide a next action similar to a player character. A game designer provides program code, from which compile-time steps determine a set of raw features. The code may identify a function (like computing distances). At compile-time steps, determining these raw features in response to a scripting language, so the designer can specify which code should be referenced. A set of derived features, responsive to the raw features, may be relatively simple, more complex, or determined in response to a learner. The set of such raw and derived features form a context for a learner. Learners might be responsive to (more basic) learners, to results of state machines, to calculated derived features, or to raw features. The learner includes a machine learning technique.
Abstract:
Techniques for tuning motion recognizers in motion detections are described. The motion recognizers are created or generated in advance by trained users. The motion recognizers are then loaded into a processing unit that receives motion signals from a handheld motion sensitive device being controlled by an end user. While motion recognition of the motion signals is being made, some or all of the motion recognizers are tuned by the motion signals to make the motion recognizers more adaptive to the user.
Abstract:
Techniques for using motion recognizers are described. The motion recognizers are created or generated in advance by trained users. The motion recognizers are then loaded into a processing unit that receives motion signals from one or more motion sensitive devices being manipulated by one or more end users to control one or more objects in a virtual environment. Depending on implementation, the virtual environment may represent a remote scene or a video game, where objects in the virtual environment can be controlled by the users to perform desired actions or moves.
Abstract:
Techniques for non-disruptive embedding of specialized elements are disclosed. In one aspect of the techniques, ontology is defined to specify an application domain. A program interface (API) is also provided for creating raw features by a developer. Thus a module is provided for at least one form of statistical analysis within the ontology. The module is configured automatically in a computing device with the API in response to a system consistent with the ontology, wherein the system has no substantial requirement for specialized knowledge of that form of statistical analysis, and the module has no substantial requirement for specialized knowledge of particular functions provided by the system.
Abstract:
Providing dynamic learning for software agents in a simulation. Software agents with learners are capable of learning from examples. When a non-player character queries the learner, it can provide a next action similar to the player character. The game designer provides program code, from which compile-time steps determine a set of raw features. The code might identify a function (like computing distances). At compile-time steps, determining these raw features in response to a scripting language, so the designer can specify which code should be referenced. A set of derived features, responsive to the raw features, might be relatively simple, more complex, or determined in response to a learner. The set of such raw and derived features form a context for a learner. Learners might be responsive to (more basic) learners, to results of state machines, to calculated derived features, or to raw features. The learner includes a machine learning technique.
Abstract:
Providing dynamic learning for software agents in a simulation. Software agents with learners are capable of learning from examples. When a non-player character queries the learner, it can provide a next action similar to the player character. The game designer provides program code, from which compile-time steps determine a set of raw features. The code might identify a function (like computing distances). At compile-time steps, determining these raw features in response to a scripting language, so the designer can specify which code should be referenced. A set of derived features, responsive to the raw features, might be relatively simple, more complex, or determined in response to a learner. The set of such raw and derived features form a context for a learner. Learners might be responsive to (more basic) learners, to results of state machines, to calculated derived features, or to raw features. The learner includes a machine learning technique.
Abstract:
A movable game controller for controlling aspects of a computer controlled game display with apparatus for determining the linear and angular motion of that movable controller. The apparatus includes a plurality of self-contained inertial sensors for sensing the tri-axial linear and tri-axial angular motion of the moving controller. Each sensor is mounted at a fixed linear position and orientation with respect to the others. The linear and angular motion of the controller is computed from the correlated motion sensor readings of each of the plurality of self-contained inertial sensors.
Abstract:
A method for data discovery and retrieval is provided. A REST API client library provides a discovery document for a data graph. The discovery document is structured data containing: (1) a list of data graph endpoints and (2) the format of the information each endpoint returns. The client library uses the REST API to query the server for a data object, wrapping the data object in a new data object. The new data object contains: (1) fixed data from the server-returned data object and (2) a function for each graph node that is directly connected to the requested data object. When these functions execute, the next data objects in the data graph can be retrieved, allowing for quick graph navigation. Given a discovery document and the ability to generate closures based on the document, a query object can be constructed that traverses several layers of the API at once.