Patent ID: 12229153

DETAILED DESCRIPTION

Various embodiments are generally directed to techniques for query-based binarized point decisions, such as with a system that can provide end-to-end decision making support. Some embodiments are particularly directed to a system that makes point decisions, with traceable reasoning, for queries while factoring in a variety of influences. In many embodiments, the traceable reasoning may refer to the generation and collection of metadata associated with various aspects of the decision making process. For example, the metadata may include, or be used to create, a decision lineage and/or reasoning summary that is generated for cach point decision. Several embodiments may ensure various influences do not derail the query from the overall objective. In several such embodiments, the point decisioner may confirm or deny that a decision was made with aspect to a certain objective. These and other embodiments are described and claimed.

Many challenges face decision-making techniques, such as an inability to arrive at a point decision for a query. For example, existing systems may only make decisions that are conditional and are either a range-based predictor or open ended. In the real world, decision making is critical to business and personal endeavors. However, decision making is prone to risks associated with analytical/logical models that are deployed systematically or mentally. For example, systematic deployments use generic models that are not tuned for each specific query, resulting in poorly founded and/or misguided results. In another example, mental deployments are susceptible to personal biases, subconscious influences, and inconsistent application. Adding further complexity, existing techniques fail to provide end-to-end decision making support. For example, existing techniques fail to provide traceable reasoning to make supported decisions that track and memorialize aspects of decisions and the decision making process. Such limitations can drastically reduce the usability and applicability of decision-making systems, contributing to inefficient systems, devices, and techniques with limited capabilities.

Various embodiments described hereby include a point decisioner that provides end-to-end decision support. In various embodiments, the decisioner may provide end-to-end decision making support by determining and/or tracking one or more of objectives, influences, preferences, data sources, decision options, and outcomes associated with a query. In some embodiments, the point decisioner may identify decision options based on a query. In many embodiments, the point decisioner may determine a set of preferences associated with a query. In many such embodiments, the point decisioner may actively seek values for each preference in the set of preferences from each influencer. In various embodiments, the point decisioner may account for a variety of influences, criteria, objectives in arriving at one or more point decisions for a query. In some embodiments, the point decisioner may adapt the decision making process for each query, such as by generating customized conditional gates, filters, and/or machine learning models. In several embodiments, the point decisioner may provide traceable reasoning to support each decision in a transparent manner that adheres to query objectives and tracks the influences on, the processes used for, and the outcomes of each decision.

In these and other ways, components/techniques described hereby may be utilized to improve a variety of aspects of computerized decision making and decision making support, resulting in several technical effects and advantages over conventional computer technology, including increased capabilities and improved performance. For example, the point decisioner may enable computers to generate traceable reasoning to support point decisions using rules of a particular type that enhance and improve an existing technological process (e.g., by improving transparency in computerized decision making). Additional examples will be apparent from the detailed description below.

In various embodiments, one or more of the aspects, techniques, and/or components described hereby may be implemented in a practical application via one or more computing devices, and thereby provide additional and useful functionality to the one or more computing devices, resulting in more capable, better functioning, and improved computing devices. For example, the practical application may improve the technical process of computerized decision making by customizing the decision making process based on the query. In another example, the practical application may include an advancement in the process of computerized decision making, such as by identifying neutral and dynamic data and only processing dynamic manner to reduce processing burdens associated with computerized decision making. In yet another example, the practical application may include the generation of new data, such as by, generating decision lineages, extracting objectives from queries, and/or determining outcomes from decisions. Additional examples will be apparent from the detailed description below. Further, one or more of the aspects, techniques, and/or components described hereby may be utilized to improve the technical fields of query analysis, decision making, data processing, and data lineage.

In several embodiments, components described hereby may provide specific and particular manners to enable point decisions, with traceable reasoning, for queries while factoring in a variety of influences. In many embodiments, one or more of the components described hereby may be implemented as a set of rules that improve computer-related technology by allowing a function not previously performable by a computer that enables an improved technological result to be achieved. For example, the function allowed may include one or more of the specific and particular techniques disclosed hereby such as identification and determination of influencer preferences based on a query, iterative decision making, and generation of decision lineages.

Reference is now made to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding thereof. However, the novel embodiments can be practiced without these specific details. In other instances, structures and devices are shown in block diagram form in order to facilitate a description thereof. The intention is to cover all modifications, equivalents, and alternatives consistent with the claimed subject matter. Aspects of the disclosed embodiments may be described with reference to one or more of the following figures. Some of the figures may include a logic flow and/or a process flow. Although such figures presented herein may include a particular logic or process flow, it can be appreciated that the logic or process flow merely provides an example of how the general functionality as described herein can be implemented. Further, a given logic or process flow does not necessarily have to be executed in the order presented unless otherwise indicated. Moreover, not all acts illustrated in a logic or process flow may be required in some embodiments. In addition, a given logic or process flow may be implemented by a hardware element, a software element executed by a processor, or any combination thereof.

FIG.1illustrates exemplary aspects of a point decisioner102according to some embodiments. The point decisioner102may utilize a query104, one or more preference sets106and access to one or more data sources108to determine preferences, identify options, and generate decision sets110. In several embodiments, the point decisioner102may operate in an interactive and/or iterative manner, such as by allowing preferences to be adjusted during iterations. In many embodiments, the decision sets110may include a decision lineage that traces influences, processes, preferences, and considerations used in arriving at a decision. The decision sets110may include a variety of point decisions and the corresponding outcomes and decision lineages. It will be appreciated that one or more components ofFIG.1may be the same or similar to one or more other components disclosed hereby. Embodiments are not limited in this context.

In various embodiments, the point decisioner102may decompose a query104to determine a variety of preferences that are relevant to the query104. In various such embodiments, the point decisioner102may acquire values for the preference for influencers associated with the query. For example, the point decisioner102may utilize a user interface to acquire preferences directly from influencers. Alternatively, or additionally, the point decisioner102may utilize the data sources108to determine the preferences of influencers, such as by mining social media data or accessing user profiles. In various embodiments, influencers may include a set of people, entities, regulations, and the like that can impact a decision. For example, influencers may include various managers, executives, employees, a regulatory body, a set of governing laws. In many embodiments, the point decisioner102may utilize data sources108to determine an initial decision options set. For example, if the query104was directed to finding a new office space in a town for a company, the initial decision options set may comprise all available office space in the town as determined by point decisioner102using data sources108. In many embodiments, the decision options set may be determined based on constant parameters in the query.

The point decisioner102may utilize the query104, preference sets106, and data sources108to generate decision sets110. The decision sets110may include one or more point decisions along with various outcomes of the point decisions with respect to the different influencers. As will be described in more detail below, the point decisioner102may create a set of conditional gates and filters based on the query104, the preference sets106, and the data sources108to arrive at a point decision. In some embodiments, the outcomes may be tied to the influencer preferences. For example, in a query for identifying a house to purchase, if a first influencer preferred a house that is close to restaurants, the outcomes for the first influencer may include the restaurants in proximity to the house identified in the point decision. In another example, if a second influencer preferred a brick house with a pool and a garden, the outcomes for the second influencer would include that the house identified in the point decision is a brick house with a garden and a hot tub.

In many embodiments, the point decisioner102may enable influencers to adjust and/or reprioritize their preferences based on the outcomes. Continuing with the previous example, the second influencer could adjust their preferences to prioritize a pool above brick and the point decisioner102may identify another house based on the updated preferences. In several embodiments, the point decisioner102may automatically adjust or reprioritize preferences to generate the decision sets110. In several such embodiments, this may enable influencers to see different decisions and corresponding outcomes that they would not have otherwise considered. Additionally, the corresponding outcomes enable influencers to readily ascertain the costs versus benefits of different decisions and different preferences.

FIG.2illustrates a block diagram of a point decisioner202according to some embodiments. In many embodiments the point decisioner202may operate to provide end-to-end decision making support in an efficient and traceable manner. In the illustrated embodiment, point decisioner202includes a query analyzer204, a condition analyzer206, a filter administrator208, a point estimator210, an outcome analyzer212, a feedback manager214, an iteration adjuster216, a table manager218, a data source manager220, and a lineage constructor222. It will be appreciated that one or more components ofFIG.2may be the same or similar to one or more other components disclosed hereby. For example, the point decisioner202may be the same or similar to point decisioner102. Embodiments are not limited in this context.

The query analyzer204may generally operate to determine what is needed based on a query. For example, query analyzer204may determine preference sets and decision options based on a query. In many embodiments, the query analyzer204may determine an objective associated with a query. For example, the object for a query regarding identifying a house for sale may include purchasing a house. In various embodiments, the query analyzer204may determine the influencers associated with a query. For example, the query analyzer204may request that a user identify and prioritize the influencers for a query.

The condition analyzer206may determine a set of conditional gates for the decision options based on the preferences. Similarly, the filter administrator208may determine a set of filters for the decision options based on the preferences.

The point estimator210may determine a point decision based on the options remaining after the conditional gates and the filters. In various embodiments, the superset may refer to the remaining options at a current stage of the decision making process. Accordingly, after the conditional gates and filters, the remaining options may be referred to as the superset. On the other hand, before the conditional gates and filters, the initial decision options set may be referred to as the superset.

In several embodiments, the point estimator210may utilize machine learning to arrive at a point decision. For example, the point estimator210may include a machine learning model that takes the preferences and the superset after the conditional gates and filters as input and outputs a point decision.

The outcome analyzer212may determine the outcomes associated with a point decision. In some embodiments, the outcomes may include a result corresponding to each preference of each influencer, or a subset thereof.

The feedback manager214may operate to communicate point decisions and outcomes to the influencers. Additionally, the feedback manager214may enable influencers to adjust their preferences in response to the point decisions and outcomes. In some embodiments, such as those in which preferences are automatically adjusted, the feedback manager214may not be utilized.

The iteration adjuster216may adjust various parameters based on the adjusted preferences. In some embodiments, the iteration adjuster216may interoperate with condition analyzer206and/or filter administrator208to generate new sets of conditional gates and filters based on the adjusted preferences. In various embodiments, the iteration adjuster216may automatically adjust various preferences, such as when feedback manager214is not utilized.

The table manager218may operate to maintain various tables and datasets associated with decisions. For example, the table manager218may store one or more of preferences sets, decision sets, decision lineages, and queries, such as in query tables or decision tables. The data source manager220may identify, access, and retrieve data from a variety of data sources. For example, the data source manager220may access social media to acquire social media data relevant to influencers. In another example, the data source manager220may access user profile data, such as a banking profile. In yet another example, data source manager220may search publicly available data for relevant information, such as for determining preferences or values for preferences. In various embodiments, the point decisioner202may include, or be communicatively coupled with, one or more databases. For example, a staging database may be utilized to store preference sets, decision options, settings, and the like. In another example, a results database may be used to store decision sets, decision lineages, tables generated by table manager218, and the like.

In some embodiments, the data source manager220may identify common characteristics associated with the subject or objective of a query (e.g., houses or buying a house). In some such embodiments, the data source manager220(e.g., in conjunction with query analyzer204) may determine preferences associated with a house include the number of bathrooms and the number of bedrooms. Additionally, point decisioner202may then solicit preferences from influencers regarding the number of bathrooms and the number of bedrooms. In various embodiments, the

The lineage constructor222may generate decision lineages for different point decisions. In various embodiments, the lineage constructor222may utilize metadata to generate decision lineages. For example, decision lineages may be generated based on one or more of decision set metadata, decision metadata, influencer metadata, and outcome metadata. In some embodiments, lineage constructor222may utilize tables (e.g., from table manager218) to generate decision lineages.

FIG.3Aillustrates a block diagram of preference sets302according to some embodiments. The preference sets302include one or more sets of influencer preferences304a,304b,304c. In various embodiments, there may be a different set of influencer preferences for cach influencer. In many embodiments, different influencers may have different priority levels. In some embodiments, each set of influencer preferences may include the same set of preferences. In other embodiments, different sets of influencers may include different sets of preferences. In one embodiment, the set of preferences for an influencer may be determined, at least in part, based on the priority level of the influencer. For example, the preference set for an executive may include the cost of a new office space in addition to the location of the new office space. However, the preference set for a manager may include the location of the new office space, but not the cost of the new office space. It will be appreciated that one or more components ofFIG.3Amay be the same or similar to one or more other components disclosed hereby. For example, preferences sets302may be the same or similar to preference sets106. Embodiments are not limited in this context.

FIG.3Billustrates a block diagram of one or more influencer preference sets304a,304b,304cin preference sets302according to some embodiments. Each of the influencer preference sets includes one or more preferences with corresponding values and influencer settings. In the illustrated embodiment, cach influencer preference set includes the same set of preferences with different values for the preferences. However, it will be appreciated that in some embodiments, different influencer preference sets may include different preferences. Accordingly, influencer preference set304aincludes preference306awith value(s)308a, preference306bwith value(s)310a, preference306cwith value(s)312a, and influencer settings314a; influencer preference set304bincludes preference306awith value(s)308b, preference306bwith value(s)310b, preference306cwith value(s)312b, and influencer settings314b; and influencer preference set304cinclude preference306awith value(s)308c, preference306bwith value(s)310c, preference306cwith value(s)312c, and influencer settings314c. It will be appreciated that one or more components ofFIG.3Bmay be the same or similar to one or more other components disclosed hereby. Embodiments are not limited in this context.

As used herein, preferences and values can take a variety of forms. In some embodiments, a value for a preference may include a ranking of objects. For example, a value for a preference may comprise a ranking in order of preference for dogs, cats, and fish. In various embodiments, a value for a preference may include a numerical value. For example, a value for a preference may include the zip code of an influencers top location for purchasing a home. In many embodiments, a value for a preference may include a Boolean value. For example, a value for a preference may include ‘true’ for a preference of whether or not a lease would be considered as opposed to an outright purchase. In several embodiments, a value for a preference may include a selection of one or more items from a list. For example, a value for a preference may include identifying the 2 most import factors in a list of factors. In many embodiments, an influencer may rank each preference in the preference set relative to one another.

FIG.4Aillustrates a block diagram of decision sets402according to some embodiments. In the illustrated embodiment, decision sets402include one or more decision sets404a,404b,404c. Each decision set may include a point decision, decision set metadata, a decision lineage, and influencer outcomes corresponding to the point decision. Accordingly, decision set404aincludes point decision406a, one or more influencer outcomes408a,408b,408c, decision set metadata426a, and decision lineage428a; decision set404bincludes point decision406b, one or more influencer outcomes410a,410b,410c, decision set metadata426b, and decision lineage428b; and decision set404cincludes point decision406c, one or more influencer outcomes412a,412b,412c, decision set metadata426c, and decision lineage428c. It will be appreciated that one or more components ofFIG.4Amay be the same or similar to one or more other components disclosed hereby. For example, decision sets402may be the same or similar to decision sets110. Embodiments are not limited in this context.

FIG.4Billustrates a block diagram of influencer outcomes408aaccording to some embodiments. In the illustrated embodiment, influencer outcomes408aincludes one or more preferences306a,306b,306cwith corresponding outcome value(s)414,416,418, influencer metadata420, decision metadata424, and outcome metadata422. It will be appreciated that one or more components ofFIG.4Bmay be the same or similar to one or more other components disclosed hereby. Embodiments are not limited in this context.

The outcome values may reflect the outcomes associated with the corresponding point decision for a respective influencer. For example, if an influencer identified brick as a preference for a house and the point decision identifies a brick house, then the outcome value would reflect that the brick preference is satisfied by the point decision. In another example, if an influencer identified a zip code as a preferred location and the point decision identifies a house one zip code over, the outcome value would reflect that although the house is not in the preferred zip code, it is located adjacent to the preferred zip code.

The influencer metadata420may include relevant data about the influencer, such as name, address, priority level, gender, and the like. In various embodiments, influencer met adata420may be utilized to automatically determine influencer preferences. For example, if the influencer metadata420indicates that the influencer has an elementary aged child, then the point decisioner may automatically determine that the influencer prefers houses in proximity of elementary schools. In many embodiments, influencer metadata420may include the preferences of the influencer utilized to arrive at the point decision. In many embodiments, influencer preferences may be weighted based on their priority relative to other influencers.

Decision metadata424may include relevant data about the decision, such as when or how the decision was made and what the controlling and/or dominator factors were. For example, the decision metadata424may indicate the conditional gates and filters used and/or the machine learning model used. In another example, the decision metadata424may indicate which preferences of influencers were the most contentious or at odds with each other. In many embodiments, the decision metadata424may include data specifying the conditional gates, filters, and machine learning models utilized to arrive at the decision. In several embodiments, the decision metadata424may include sufficient information to enable the decision process to be reconstructed.

Outcome metadata422may include relevant data about the different outcomes, such as what the controlling and/or dominating factors were. For example, outcome metadata422may indicate that a preferred zip code was a dominating factor because few homes are for sale in the preferred zip code. In another example, the outcome metadata422may indicate whether the objective of the query was adhered to.

FIGS.5A and5Billustrate various operational aspects of a point decisioner500according to some embodiments. Generally, the point decisioner500may analyze a query to determine objectives data, constant parameters, and conditional parameters. One or more of the objectives data, constant parameters, and conditional parameters may then be utilized to determine preference sets and a decision options set. Values for the preference sets may be obtained for each influencer and a record of the query may be created in a query table. The point decisioner500may then classify data as neutral (i.c., does not impact the decision) or dynamic (i.c., does impact the decision). Classifying data as neutral or dynamic improves efficiency of the system, such as by avoiding processing of data that does not impact the decision. The point decisioner500may then utilize the dynamic data to arrive at one or more point decisions and utilize the one or more point decisions to determine corresponding decision outcomes. The point decisions and/or decision outcomes may then be stored, as decision sets. In some embodiments, the decision sets may be stored in a decision table. In other embodiments, the decision table may be updated with identifying data and a pointer to the storage location of the decision sets. It will be appreciated that one or more components ofFIGS.5A and/or5Bmay be the same or similar to one or more other components disclosed hereby. For example, point decisioner500may be the same or similar to other point decisioners described hereby, such as point decisioner202. Embodiments are not limited in this context.

In the illustrated embodiment, the point decisioner500includes a query analyzer502. staging database512, a data source manager548, a table manager568, a condition analyzer518, a filter administrator524, a point estimator536, an outcome analyzer562, and table manager558. The following description of the operation of the point decisioner500utilizes a common example based around a query to identify a house to purchase for a husband and wife (the influencers). The query analyzer502may include a decomposer that breaks the query504down into objective(s) data572, constant parameters508, and conditional parameters510. The objective(s) data572may identify the objective of the query. For example, objective(s) data572may identify purchasing a house as the objective of the query504.

In various embodiments, constant parameters508may refer to data that remains constant through the decision process. For example, constant parameters508may include a house to purchase. In another example, constant parameters508may include a specific location when the query is for finding a house in the specific location. In some embodiments, parameters that are considered deal breakers (i.e., will not consider a house unless is has ‘X’) are treated as constant parameters508. Conditional parameters510may refer to data that can change through the decision process. For example, conditional parameters510may include house color, number of bedrooms, number of bathrooms, design style, proximity to schools, and the like. In many embodiments, the conditional parameters510and constant parameters508may include the preferences. Accordingly, decomposer506and preference manager542may interoperate to identify the constant parameters508and conditional parameters510. In the illustrated embodiment, query analyzer502may store the objective(s) data572as objective(s)574of decision data546in staging database512, constant parameters508in fixed data table514of decision data546, and conditional parameters510in conditional data table516of decision data546.

The preference manager542may determine a set of preferences corresponding to the query504. In some embodiments, the set of preferences, or one or more portions thereof, may be defined by users. For example, an administrator may be responsible to defining one or more of influencers, objectives, preferences, and decision options. In many embodiments, the set of preferences, or one or more portions thereof, may be automatically determined. In many such embodiments, the decomposer506and preference manager542may analyze the query to determine the preference set. For example, preference manager542may determine number of bedrooms, number of bathrooms, square footage, and location as preferences associated with selecting a house to purchase. In some embodiments, the preference manager542may then utilize the data source manager548to obtain values for the preferences for each influencer as influencer data550.

In some embodiments, the data source manager548may actively query influencers for their preferences. In various embodiments, the data source manager548may mine one or more portions of influencer data550from available data. For example, the query analyzer502may determine the wife wants a house that has at least two bedrooms based on a social media post indicating that the husband and wife have one child. In another example, values for preference may be determined based on challenge questions used for login credentials. In such an example, the challenge question could ask for a user's favorite color and the preference manager542may determine the answer to the challenge question as the value for a preference regarding color preferences. The preferences manager may store the preference sets544for the influencers in preference sets544of decision data546in staging database512.

The options manager554may interoperate with data source manager548to determine a set of decision options corresponding to the query504. For example, decision options data552may include listing data for all homes for sale that satisfy the constant parameters508. The options manager554may process the decision options data552to generate decision options set556. The options manager554may store the decision options set556in decision data546of staging database512. Additionally, the table manager568may interoperate with query analyzer502to store the query, or identifying information for the query, in query table566. In various embodiments, query table566may include a log of queries submitted to the query analyzer502.

Referring theFIG.5B, the decision data546may be analyzed, processed, and transformed by various components of the point decisioner500to arrive at point decision560and the corresponding decision outcomes564. In various embodiments, the condition analyzer518may separate the decision data546into neutral data520and dynamic data522. In various such embodiments, the neutral data520may refer to data that does not have any impact on the decision and dynamic data522may refer to data that does have an impact on the decision. For example, if there is no preference regarding location, then location data regarding a potential home to purchase would be considered neutral data520. However, if there is a preference for the location to be on a certain street, then the street address of a potential home to purchase would be considered dynamic data522. In another example, if there is no preference regarding exterior house color, then the exterior color of potential homes to purchase would be considered neutral data520. In several embodiments, the condition analyzer518may construct a series of conditional gates (e.g., logic or quantum) to separate dynamic and neutral data. For example, the conditional gates may result in data being classified as dynamic when a preference is associated with the data and neutral when a preference is not associated with the data. In some such examples, the data being classified may correspond to characteristics of decision options (e.g., exterior color, square footage, location, etcetera).

Once the dynamic data522is separated from the neutral data520, filter administrator524may construct an active filter set526to narrow down the decision options to a superset570of remaining decision options that sufficiently satisfy the preference sets. For example, the superset570may include all houses with at least 3 bedrooms, at least 2 bathrooms, and located in the desired area. The filters in the active filter set526may be created by filter administrator524based on various parameters and data of the point decisioner500(e.g., dynamic data, decision data, preference sets, decision options set, etcetera). In the illustrated embodiments, the active filter set526includes conditional gate filters528, time filters530, location filters532, and behavioral filters534.

In some embodiments, sufficiently satisfying the preference sets may refer to those decision options that at least partially satisfy each preference in the preference sets for at least one influencer. For example, if the husband prefers a white exterior and the wife prefers a blue exterior, then only houses with blue and/or white exteriors would remain in the superset570.

The point estimator536may then utilize the superset570as input to identify point decision560. In various embodiments, the point decision560includes the decision option that is identified as the best by the point estimator536. In many embodiments, the point estimator536may include one or more machine learning algorithms that identify the best option based on the superset570. In many such embodiments, the machine learning algorithms may be trained on decisions made by others with similar preferences and similar queries.

The outcome analyzer562may then utilize the point decision560to determine decision outcomes564regarding the point decision560. In many embodiments, the decision outcomes564may include data regarding the effects of the point decision560for each influencer. In some embodiments, the decision outcomes564may include the effects of the point decision560on the preferences for each influencer. The outcome analyzer562may compare the point decision560to the objective(s)574to determine the point decision560adheres to the objective(s)574.

In various embodiments, the outcome analyzer562and/or point estimator536may interoperate with the table manager558to generate, or update, decision table540based on the point decision560and decision outcomes564. In various embodiments, the decision table540may include one or more decision sets (or identifying/summary information with pointers to the corresponding decision sets. In some embodiments, there may be a one-to-one correspondence between the query table538and the decision table540. In other words, for cach query submitted to the point decisioner500and logged in the query table538there may be a corresponding decision entry in the decision table540. In several embodiments, the decision table540may serve as a log of decisions generated by point decisioner500and/or query table538may server as a log of queries submitted to the point decisioner500. In some embodiments, the query table538may include or be referred to as a query index.

FIG.6illustrates a process diagram600for a point decisioner according to some embodiments. The process diagram600may include various processes involving with one or more of a query602, a query analyzer604, a data source606, a staging database608, conditional gates610, filters612, a query index614, a point estimator616, and a decision618. It will be appreciated that one or more components ofFIG.6may be the same or similar to one or more other components disclosed hereby. For example, query analyzer604may be the same or similar to query analyzer502. Embodiments are not limited in this context.

At process620, the query602may be received at the query analyzer604. At process622, the query analyzer604may evaluate the query and transform it into constant and condition components. The query analyzer604may then, at process624, push the decomposed components into a fixed data table and a conditional data table in staging database608. In many embodiments, the staging database608can refresh based on the interactional components (e.g., conditional gates, filters, etcetera). At process626, the conditional decomposed component table is analyzed with the conditional gates610where the gates further classify the analyzed output into neutral data and dynamic data. As previously discussed, separating neutral and dynamic data reduces processing burdens associated with arriving at a decision.

At process628, the conditional gates610may interact with the filter dynamics parameters (capable of fine tuning to arrive at a point decision). In many embodiments, the conditional gates610may be generated by a condition analyzer, such as condition analyzer518. In some embodiments, this may occur through a plurality of iterations that cause parameter adjustments. In various embodiments, a conditional analyzer and a filter administrator may be utilized to arrive at a point decision without the use of a machine learning model, such as by using a series of conditional gates and filters. In several embodiments, the conditional gates may include logic gates and/or quantum gates. At process630, the conditional gates610may interact with the filters612(e.g., via respective conditional analyzer and filter administrator modules) to build the gates as appropriate. In one embodiments, the filters612may be generated by a filter administrator, such as filter administrator524. In some embodiments, multiple filters could be applied at a single time (e.g., one to many relationship). In many embodiments, the neutral data may be pushed to a fixed data table at process630.

At process632, the filter dynamics levels (e.g., filters used) may be recorded, such as in the query index or in decision metadata. At processes634and636, the point estimator616may operate to sequence the query index614, such as based on the query condition and filters. Additionally, the point estimator616may have multiple paths (e.g., traceback to the filters and conditional gates for each decision). At process638, the point decision may be drawn from the interaction of the conditional gates, filter dynamics, decision sets, tables, and decision lineages.

FIG.7illustrates various operational aspects of a point decisioner700according to some embodiments. Generally, the operational aspects discussed with respect to point decisioner700concern performing iterations. In the illustrated embodiment, the point decisioner700includes a query analyzer702, a condition analyzer724with a set of conditional gates704, a filter administrator726with a set of filters706, point estimator708, outcome analyzer710, feedback manager720, and iteration adjuster718. The query analyzer702, conditional gates704, filters706, point estimator708, and outcome analyzer710may function to generate decision set(s)722based on the query712and the initial decision options set716. It will be appreciated that one or more components ofFIG.7may be the same or similar to one or more other components disclosed hereby. For example, condition analyzer724may be the same or similar to condition analyzer518, filter administrator726may be the same or similar to filter administrator524, and/or filters706may be the same or similar to active filter set526. Embodiments are not limited in this context.

In various embodiments, the feedback manager720may present the relevant portions of the decision set(s)722to the appropriate influencer(s). The appropriate influencer(s) may then provide feedback on the decision set(s)722, such as by adjusting one or more preferences. In some embodiments, the feedback manager720may make suggestions regarding adjusting preferences. For example, the feedback manager720may identify and indicate the relevant influencer that if they are willing to bend on a first preference (e.g., exterior house color), then a number of additional options can be evaluated in the next iteration. Based on the feedback, the iteration adjuster718may adjust, or cause to be adjusted, one or more of the preference sets714, conditional gates704, and filters706, and then initiate generation of one or more new decision set(s)722based on the updated parameters. In various embodiments, the condition analyzer may generate an initial set of conditional gates704, such as based on input from query analyzer702, and then revise the initial set of conditional gates704based on input from iteration adjuster718. Similarly, the filter administrator726may generate an initial set of filters706, such as based on input from condition analyzer, and then revise the initial set of filters706based on input from iteration adjuster718. In some embodiments, the iteration adjuster718may automatically adjust parameters (e.g., without receiving feedback), such as in preference sets714. For example, iteration adjuster718may hold a first set of preferences constant while adjusting a second set of preferences. In several embodiments, condition analyzer724may adjust conditional gates704and/or filter administrator726may adjust filters706based on adjusted parameters. In this manner, the point decisioner700may identify point decisions that would not have otherwise been considered.

FIG.8illustrates various operational aspects of a lineage constructor802according to some embodiments. The lineage constructor802may generally operate to memorialize and summarize point decisions by generating a decision lineage812. Accordingly, the decision lineage812may include a record of each decision and a summary of how the decision was arrived at. In many embodiments, the decision lineage812may enable a point decisioner to reconstruct, retrieve, and/or specify the entire decision making process including, for example, decision options, the conditional gates, the filters, the machine learning model, the query, the conditional parameters, the constant parameters, the neutral data, the dynamic data, the preferences, and the like. In the illustrated embodiment, the lineage constructor802may generate the decision lineage812based on decision set metadata804, decision metadata806, influencer metadata808, outcome metadata810, query table814, and decision table816. It will be appreciated that one or more components ofFIG.8may be the same or similar to one or more other components disclosed hereby. For example, lineage constructor802may be the same or similar to lineage constructor222. Embodiments are not limited in this context.

FIG.9illustrates an embodiment of a system900that may be suitable for implementing various embodiments described hereby. System900is a computing system with multiple processor cores such as a distributed computing system, supercomputer, high-performance computing system, computing cluster, mainframe computer, mini-computer, client-server system, personal computer (PC), workstation, server, portable computer, laptop computer, tablet computer, handheld device such as a personal digital assistant (PDA), or other device for processing, displaying, or transmitting information. Similar embodiments may comprise, e.g., entertainment devices such as a portable music player or a portable video player, a smart phone or other cellular phone, a telephone, a digital video camera, a digital still camera, an external storage device, or the like. Further embodiments implement larger scale server configurations. In other embodiments, the system900may have a single processor with one core or more than one processor. Note that the term “processor” refers to a processor with a single core or a processor package with multiple processor cores. In at least one embodiment, the computing system600, or one or more components thereof, is representative of one or more components described hereby, such as point decisioner102. More generally, the computing system900may be configured to implement embodiments including logic, systems, logic flows, methods, apparatuses, and functionality described hereby. The embodiments, however, are not limited to implementation by the system900.

As used in this application, the terms “system” and “component” and “module” are generally intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution, examples of which are provided by the exemplary system900. For example, a component can be, but is not limited to being, a process running on a processor, a processor, a hard disk drive, multiple storage drives (of optical, solid-state, and/or magnetic storage medium), an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a server and the server can be a component. One or more components can reside within a process and/or thread of execution, and a component can be localized on one computer and/or distributed between two or more computers. Further, components may be communicatively coupled to each other by various types of communications media to coordinate operations. The coordination may involve the uni-directional or bi-directional exchange of information. For instance, the components may communicate information in the form of signals communicated over the communications media. The information can be implemented as signals allocated to various signal lines. In such allocations, each message is a signal. Further embodiments, however, may alternatively employ data messages. Such data messages may be sent across various connections. Exemplary connections include parallel interfaces, serial interfaces, and bus interfaces.

Although not necessarily illustrated, the computing system900includes various common computing elements, such as one or more processors, multi-core processors, co-processors, memory units, chipsets, controllers, peripherals, interfaces, oscillators, timing devices, video cards, audio cards, multimedia input/output (I/O) components, power supplies, and so forth. Further, the computing system900may include or implement various articles of manufacture. An article of manufacture may include a non-transitory computer-readable storage medium to store logic. Examples of a computer-readable storage medium may include any tangible media capable of storing electronic data, including volatile memory or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writeable or re-writeable memory, and so forth. Examples of logic may include executable computer program instructions implemented using any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, object-oriented code, visual code, encrypted code, and the like, implemented using any suitable high-level, low-level, object-oriented, visual, compiled, and/or interpreted programming language. Embodiments may also be at least partly implemented as instructions contained in or on a non-transitory computer-readable medium, which may be read and executed by one or more processors to enable performance of the operations described herein.

As illustrated inFIG.9, the system900comprises a motherboard or system-on-chip (SoC)902for mounting platform components. Motherboard or system-on-chip (SoC)902is a point-to-point (P2P) interconnect platform that includes a first processor904and a second processor906coupled via a point-to-point interconnect970such as an Ultra Path Interconnect (UPI). In other embodiments, the system900may be of another bus architecture, such as a multi-drop bus. Furthermore, each of processor904and processor906may be processor packages with multiple processor cores including core(s)908and core(s)910, respectively. While the system900is an example of a two-socket (2S) platform, other embodiments may include more than two sockets or one socket. For example, some embodiments may include a four-socket (4S) platform or an eight-socket (8S) platform. Each socket is a mount for a processor and may have a socket identifier. Note that the term platform refers to the motherboard with certain components mounted such as the processor904and chipset932. Some platforms may include additional components and some platforms may only include sockets to mount the processors and/or the chipset. Furthermore, some platforms may not have sockets (e.g., SoC, or the like).

The processor904and processor906can be any of various commercially available processors. Dual microprocessors, multi-core processors, and other multi-processor architectures may also be employed as the processor904and/or processor906. Additionally, the processor904need not be identical to processor906.

Processor904includes an integrated memory controller (IMC)920and point-to-point (P2P) interface924and P2P interface928. Similarly, the processor906includes an IMC922as well as P2P interface926and P2P interface930. IMC920and IMC922couple the processors processor904and processor906, respectively, to respective memories (e.g., memory916and memory918). Memories916,918can store instructions executable by circuitry of system900(e.g., processor904, processor906, graphics processing unit (GPU)948, ML accelerator954, vision processing unit (VPU)956, or the like). For example, memories916,918can store instructions for one or more of the components of point decisioner202. In another example, memories916,918can store data, such as preference sets302and decision sets402. Memory916and memory918may be portions of the main memory (e.g., a dynamic random-access memory (DRAM)) for the platform such as double data rate type 3 (DDR3) or type 4 (DDR4) synchronous DRAM (SDRAM). In the present embodiment, the memory916and memory918locally attach to the respective processors (i.e., processor904and processor906). In other embodiments, the main memory may couple with the processors via a bus and/or shared memory hub.

System900includes chipset932coupled to processor904and processor906. Furthermore, chipset932can be coupled to storage device950, for example, via an interface (I/F)938. The I/F938may be, for example, a Peripheral Component Interconnect-enhanced (PCI-e). In many embodiments, storage device950comprises a non-transitory computer-readable medium. Storage device950can store instructions executable by circuitry of system900(e.g., processor904, processor906, GPU948, ML accelerator954, vision processing unit956, or the like). For example, storage device950can store instructions for one or more of components of point decisioner500or point decisioner700. In another example, storage device950can store data, such as decision data546. In some embodiments, instructions may be copied or moved from storage device950to memory916and/or memory918for execution, such as by processor904and/or processor906.

Processor904couples to a chipset932via P2P interface928and P2P interface934while processor906couples to a chipset932via P2P interface930and P2P interface936. Direct media interface (DMI)976and DMI978may couple the P2P interface928and the P2P interface934and the P2P interface930and P2P interface936, respectively. DMI976and DMI978may be a high-speed interconnect that facilitates, e.g., eight Giga Transfers per second (GT/s) such as DMI 3.0. In other embodiments, the components may interconnect via a bus.

The chipset932may comprise a controller hub such as a platform controller hub (PCH). The chipset932may include a system clock to perform clocking functions and include interfaces for an I/O bus such as a universal serial bus (USB), peripheral component interconnects (PCIs), serial peripheral interconnects (SPIs), integrated interconnects (I2Cs), and the like, to facilitate connection of peripheral devices on the platform. In other embodiments, the chipset932may comprise more than one controller hub such as a chipset with a memory controller hub, a graphics controller hub, and an input/output (I/O) controller hub.

In the depicted example, chipset932couples with a trusted platform module (TPM)944and UEFI, BIOS, FLASH circuitry946via I/F942. The TPM944is a dedicated microcontroller designed to secure hardware by integrating cryptographic keys into devices. The UEFI, BIOS, FLASH circuitry946may provide pre-boot code.

Furthermore, chipset932includes the I/F938to couple chipset932with a high-performance graphics engine, such as, graphics processing circuitry or a graphics processing unit (GPU)948. In other embodiments, the system900may include a flexible display interface (FDI) (not shown) between the processor904and/or the processor906and the chipset932. The FDI interconnects a graphics processor core in one or more of processor904and/or processor906with the chipset932.

Additionally, ML accelerator954and/or vision processing unit956can be coupled to chipset932via I/F938. ML accelerator954can be circuitry arranged to execute ML related operations (e.g., training, inference, etc.) for ML models. Likewise, vision processing unit956can be circuitry arranged to execute vision processing specific or related operations. In particular, ML accelerator954and/or vision processing unit956can be arranged to execute mathematical operations and/or operands useful for machine learning, neural network processing, artificial intelligence, vision processing, etc.

Various I/O devices960and display952couple to the bus972, along with a bus bridge958which couples the bus972to a second bus974and an I/F940that connects the bus972with the chipset932. In one embodiment, the second bus974may be a low pin count (LPC) bus. Various I/O devices may couple to the second bus974including, for example, a keyboard962, a mouse964, and communication devices966.

Furthermore, an audio I/O968may couple to second bus974. Many of the I/O devices960and communication devices966may reside on the motherboard or system-on-chip(SoC)902while the keyboard962and the mouse964may be add-on peripherals. In other embodiments, some or all the I/O devices960and communication devices966are add-on peripherals and do not reside on the motherboard or system-on-chip (SoC)902. More generally, the I/O devices of system900may include one or more of microphones, speakers, infra-red (IR) remote controls, radio-frequency (RF) remote controls, game pads, stylus pens, card readers, dongles, fingerprint readers, gloves, graphics tablets, joysticks, keyboards, retina readers, touch screens (e.g., capacitive, resistive, etc.), trackballs, track pads, sensors, styluses, displays, augmented/virtual reality devices, printers, actuators, motors, transducers, and the like.

FIG.10is a block diagram depicting an exemplary communications architecture1000suitable for implementing various embodiments as previously described, such as communications between data sources108and point decisioner102or query analyzer502and staging database512. The communications architecture1000includes various common communications elements, such as a transmitter, receiver, transceiver, radio, network interface, baseband processor, antenna, amplifiers, filters, power supplies, and so forth. The embodiments, however, are not limited to implementation by the communications architecture1000.

As shown inFIG.10, the communications architecture1000includes one or more client(s)1002and server(s)1004. In some embodiments, each client1002and/or server1004may include a computing system (e.g., system900) The server(s)1004may implement one or more devices of point decisioner202. The client(s)1002and the server(s)1004are operatively connected to one or more respective client data store(s)1006and server data store(s)1008that can be employed to store information local to the respective client(s)1002and server(s)1004, such as cookies and/or associated contextual information. In various embodiments, any one of server(s)1004may implement one or more logic flows or operations described hereby, such as in conjunction with storage of data received from any one of client(s)1002on any of server data store(s)1008. In one or more embodiments, one or more of client data store(s)1006or server data store(s)1008may include memory accessible to one or more portions of components, applications, and/or techniques described hereby.

The client(s)1002and the server(s)1004may communicate information between each other using a communication framework1010. The communication framework1010may implement any well-known communications techniques and protocols. The communication framework1010may be implemented as a packet-switched network (e.g., public networks such as the Internet, private networks such as an enterprise intranet, and so forth), a circuit-switched network (e.g., the public switched telephone network), or a combination of a packet-switched network and a circuit-switched network (with suitable gateways and translators).

The communication framework1010may implement various network interfaces arranged to accept, communicate, and connect to a communications network. A network interface may be regarded as a specialized form of an input/output (I/O) interface. Network interfaces may employ connection protocols including without limitation direct connect, Ethernet (e.g., thick, thin, twisted pair 10/100/1000 Base T, and the like), token ring, wireless network interfaces, cellular network interfaces, IEEE 802.7a-x network interfaces, IEEE 802.16 network interfaces, IEEE 802.20 network interfaces, and the like. Further, multiple network interfaces may be used to engage with various communications network types. For example, multiple network interfaces may be employed to allow for the communication over broadcast, multicast, and unicast networks. Should processing requirements dictate a greater amount of speed and capacity, distributed network controller architectures may similarly be employed to pool, load balance, and otherwise increase the communicative bandwidth required by client(s)1002and the server(s)1004. A communications network may be any one and the combination of wired and/or wireless networks including without limitation a direct interconnection, a secured custom connection, a private network (e.g., an enterprise intranet), a public network (e.g., the Internet), a Personal Area Network (PAN), a Local Area Network (LAN), a Metropolitan Area Network (MAN), an Operating Missions as Nodes on the Internet (OMNI), a Wide Area Network (WAN), a wireless network, a cellular network, and other communications networks.

The components and features of the devices described above may be implemented using any combination of discrete circuitry, application specific integrated circuits (ASICs), logic gates and/or single chip architectures. Further, the features of the devices may be implemented using microcontrollers, programmable logic arrays and/or microprocessors or any combination of the foregoing where suitably appropriate.

The various devices, components, modules, features, and functionalities described hereby may include, or be implemented via, various hardware elements, software elements, or a combination of both. Examples of hardware elements may include devices, logic devices, hardware components, processors, microprocessors, circuits, circuitry, processors, circuit clements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), memory units, logic gates, registers, semiconductor device, chips, microchips, chip sets, and so forth. Examples of software elements may include software components, programs, applications, computer programs, application programs, system programs, software development programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, algorithms, or any combination thereof. However, determining whether an embodiment is implemented using hardware elements and/or software elements may vary in accordance with any number of factors, such as desired computational rate, power levels, heat tolerances, processing cycle budget, input data rates, output data rates, memory resources, data bus speeds, and other design or performance constraints, as desired for a given implementation. It is noted that hardware, firmware, and/or software elements may be collectively or individually referred to herein as “logic”, “circuit”, or “circuitry”.

One or more aspects of at least one embodiment may be implemented by representative instructions stored on a machine-readable medium which represents various logic within the processor, which when read by a machine causes the machine to fabricate logic to perform the techniques described hereby. Such representations, known as “IP cores” may be stored on a tangible, machine readable medium and supplied to various customers or manufacturing facilities to load into the fabrication machines that actually make the logic or processor. Some embodiments may be implemented, for example, using a machine-readable medium or article which may store an instruction or a set of instructions that, if executed by a machine, may cause the machine to perform a method and/or operations in accordance with the embodiments. Such a machine may include, for example, any suitable processing platform, computing platform, computing device, processing device, computing system, processing system, computer, processor, or the like, and may be implemented using any suitable combination of hardware and/or software. The machine-readable medium or article may include, for example, any suitable type of memory unit, memory device, memory article, memory medium, storage device, storage article, storage medium and/or storage unit, for example, memory, removable or non-removable media, erasable or non-erasable media, writeable or re-writeable media, digital or analog media, hard disk, floppy disk, Compact Disk Read Only Memory (CD-ROM), Compact Disk Recordable (CD-R), Compact Disk Rewriteable (CD-RW), optical disk, magnetic media, magneto-optical media, removable memory cards or disks, various types of Digital Versatile Disk (DVD), a tape, a cassette, or the like. The instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, encrypted code, and the like, implemented using any suitable high-level, low-level, object-oriented, visual, compiled and/or interpreted programming language.

It will be appreciated that the exemplary devices shown in the block diagrams described above may represent one functionally descriptive example of many potential implementations. Accordingly, division, omission or inclusion of block functions depicted in the accompanying figures does not infer that the hardware components, circuits, software and/or elements for implementing these functions would necessarily be divided, omitted, or included in embodiments.

Some embodiments may be described using the expression “one embodiment” or “an embodiment” along with their derivatives. These terms mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment. Moreover, unless otherwise noted the features described above are recognized to be usable together in any combination. Thus, any features discussed separately may be employed in combination with each other unless it is noted that the features are incompatible with each other.

With general reference to notations and nomenclature used herein, the detailed descriptions herein may be presented in terms of program procedures executed on a computer or network of computers. These procedural descriptions and representations are used by those skilled in the art to most effectively convey the substance of their work to others skilled in the art.

A procedure is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. These operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It proves convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be noted, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to those quantities.

Further, the manipulations performed are often referred to in terms, such as adding or comparing, which are commonly associated with mental operations performed by a human operator. No such capability of a human operator is necessary, or desirable in most cases, in any of the operations described herein, which form part of one or more embodiments. Rather, the operations are machine operations. Useful machines for performing operations of various embodiments include digital computers or similar devices.

Some embodiments may be described using the expression “coupled” and “connected” along with their derivatives. These terms are not necessarily intended as synonyms for each other. For example, some embodiments may be described using the terms “connected” and/or “coupled” to indicate that two or more elements are in direct physical or electrical contact with each other. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other.

Various embodiments also relate to apparatus or systems for performing these operations. This apparatus may be specially constructed for the required purpose, or it may comprise a general purpose computer as selectively activated or reconfigured by a computer program stored in the computer. The procedures presented herein are not inherently related to a particular computer or other apparatus. Various general purpose machines may be used with programs written in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these machines will appear from the description given.

It is emphasized that the Abstract of the Disclosure is provided to allow a reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment. In the appended claims, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein,” respectively. Moreover, the terms “first,” “second,” “third,” and so forth, are used merely as labels, and are not intended to impose numerical requirements on their objects.

There are a number of example embodiments described herein.

Example 1 is a computer-implemented method, comprising: identifying a query; deconstructing the query into constant parameters and conditional parameters; generating a decision options set based, at least in part, on the constant parameters; identifying a set of two or more influencers associated with the query; determining a set of preferences and values for the preferences for each influencer; and generating a point decision for the query based on the sets of preferences and values for the preferences for each influencer, wherein the point decision comprises one decision option from the decision options set.

Example 2 is the computer-implemented method of Example 1 that may optionally include generating an outcomes set corresponding to the point decision, wherein the outcomes set indicates a result of the point decision on at least one preference of at least one influencer.

Example 3 is the computer-implemented method of Example 1 that may optionally include altering at least one value for a preference in the set of preferences; and generating a second point decision based on the at least one value altered in the set of preferences.

Example 4 is the computer-implemented method of Example 1 that may optionally include generating a decision lineage for the point decision based on one or more of decision set metadata, decision metadata, influencer metadata, and outcome metadata.

Example 5 is the computer-implemented method of Example 4 that may optionally include that the decision lineage traces one or more of influences, processes, and preferences utilized to generate the point decision.

Example 6 is the computer-implemented method of Example 1 that may optionally include that generation of the point decision includes creating a set of filters based on the sets of preferences and values for the preferences for each influencer to produce a subset of the decisions option set.

Example 7 is the computer-implemented method of Example 6 that may optionally include that generation of the point decision includes providing the subset of the decisions option set to a machine learning model.

Example 8 is the computer-implemented method of Example 7 that may optionally include that the machine learning model is trained based on data from similar queries associated with influencers with similar preferences.

Example 9 is the computer-implemented method of Example 1 that may optionally include that determining the values for the preferences for each influencer comprises mining social media data.

Example 10 is the computer-implemented method of Example 1 that may optionally include that each influencer has a priority level and a respective priority level is utilized to weight the preferences of a respective influencer relative to other influencers.

Example 11 is the computer-implemented method of Example 1 that may optionally include that generating the point decision for the query based on the sets of preferences and values for the preferences for each influencer comprises generating a set of conditional gates based on the sets of preferences and values for the preferences for each influencer; and applying the set of conditional gates to at least a portion of the set of decision options.

Example 12 is the computer-implemented method of Example 11 that may optionally include that the set of conditional gates include at least one quantum gate.

Example 13 is the computer-implemented method of Example 11 that may optionally include that the set of conditional gates include at least one logic gate.

Example 14 is the computer-implemented method of Example 11 that may optionally include that generating the point decision for the query based on the sets of preferences and values for the preferences for each influencer comprises generating a set of filters based on one or more of the set of conditional gates and the sets of preferences and values for the preferences for each influencer; and applying the set of filters to at least a portion of the set of decision options.

Example 15 is an apparatus comprising a processor and a memory storing instructions that, when executed by the processor, cause the processor to perform the computer-implemented method of any of Examples 1 to 14.

Example 16 is a non-transitory machine-readable medium storing computer-executable program code instructions that, when executed by a computing apparatus, cause the computing apparatus to perform the computer-implemented method of any of Examples 1 to 14.

What has been described above includes examples of the disclosed architecture. It is, of course, not possible to describe every conceivable combination of components and/or methodologies, but one of ordinary skill in the art may recognize that many further combinations and permutations are possible. Accordingly. the novel architecture is intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims.