WO2000046651A2 - Apparatus and methods for a computer-aided decision-making system - Google Patents

Apparatus and methods for a computer-aided decision-making system Download PDF

Info

Publication number
WO2000046651A2
WO2000046651A2 PCT/US2000/003020 US0003020W WO0046651A2 WO 2000046651 A2 WO2000046651 A2 WO 2000046651A2 US 0003020 W US0003020 W US 0003020W WO 0046651 A2 WO0046651 A2 WO 0046651A2
Authority
WO
WIPO (PCT)
Prior art keywords
decision
user
choices
rules
choice
Prior art date
Application number
PCT/US2000/003020
Other languages
French (fr)
Other versions
WO2000046651A9 (en
WO2000046651A3 (en
Original Assignee
Xfi Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xfi Corporation filed Critical Xfi Corporation
Priority to EP00921318A priority Critical patent/EP1151412A4/en
Priority to AU41662/00A priority patent/AU4166200A/en
Publication of WO2000046651A2 publication Critical patent/WO2000046651A2/en
Publication of WO2000046651A3 publication Critical patent/WO2000046651A3/en
Publication of WO2000046651A9 publication Critical patent/WO2000046651A9/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Definitions

  • the invention relates generally to the field of decision support systems, and, more
  • Another general object of the invention is to provide methods and a system that
  • a still further general object of the invention is to enable consumer purchases in a
  • non-tactile purchasing environment such as, but not limited to, those encountered in web- based or on-line sales transactions.
  • the computer-aided decision-making system and methods employ a rules-based decision-making system and methods.
  • analysis engine having a plurality of rules for selecting, scoring and ranking a plurality of
  • a user interface accepts user-provider information, promotions, and
  • aspects of the invention that aid a person in decision-making include, but are not limited
  • Figure 1A is an illustration of a computer-based user interface for the proposal
  • Figure IB is an illustration of a computer-based user interface for a combined
  • Figure 1C is an illustration of a computer-based user interface for a topics facet of
  • Figure 2 is a functional block diagram of a computer-aided decision-making
  • Figure 3 is an architecture for a computer-aided decision-making system
  • Figure 4 is a functional block diagram of a preferred embodiment of a distributed system
  • Figure 5 illustrates the hierarchical relationship between facets
  • Figure 6 illustrates a relationship between the contents contained within adjacent
  • Figure 7 illustrates the attribute scoring process used by the computer-aided
  • Figure 8 illustrates the advocate value and influence scoring process used by the computer-aided decision-making system
  • Figure 9 describes a presently preferred embodiment of the computer-aided
  • Figure 10 describes interaction between the user/doc layer and tool layer of the
  • FIGS 11 A and 1 IB illustrate report generation activities of the computer-aided decision-making system
  • Figure 12 illustrates the relationships between internal representations of rules
  • Figure 13 describes a relationship between facets and alternative applications of
  • Figure 14 illustrates a search frame within the computer-aided decision-making
  • Figure 15 illustrates a server-side application/web server implementation for event
  • Figures 16A through 16K are screen displays for a automotive purchasing decision
  • inventions include a computer-aided purchasing of flowers, stock or securities selection
  • method of the present invention organizes the decision process into one or more elements
  • decision gauges which show the decision-maker user the state of the decision, from
  • the true goal may be to find affordable family housing for 2 parents, 4 kids and 2 dogs, protection of two cars, accommodations for an occasionally visiting grandmother,
  • the present invention helps the decision-maker user to
  • Finding suitable proposals is facilitated by having well defined goals and requirements.
  • Educators are a data-rich resource that assists the decision-maker user with facts (trends,
  • the decision-maker user may get feedback
  • the present invention reflects the progress in a number
  • the decision is judged complete. Of course, the decision-maker user may reach
  • decision topics may include choosing a neighborhood
  • a presently preferred embodiment of a computer-aided decision-making system 100 includes a user interface comprising one or more advocates
  • the user interface 101 101 and a plurality of facets 102.
  • the user interface of computer-aided decision-making system 100 is displayed on a user
  • PDA personal digital assistant
  • interface includes multimedia features including, but not limited to, audio, animation, and
  • a preferred user interface also includes navigation controls (e.g., buttons, page
  • the user may choose to be assisted in making a purchasing decision by
  • the advocates 101 comprise a system advocate, a contrarian advocate, a builder advocate, a banker advocate, and a decorator advocate.
  • a system advocate a contrarian advocate
  • a builder advocate a builder advocate
  • a banker advocate a decorator advocate.
  • advocates 101 are ordered from left to right such that advocates on the left
  • choice inputs may trigger an unsolicited advocate 101 opinion. For example, referring to
  • Figure 1A the banker advocate is informing the user that the price of the currently-
  • selected choice is (e.g., selected house) is higher than the price budget preference
  • the user may provide
  • An advocate response may include, but is not limited to, a displayed
  • computer-aided decision-making system 100 uses advocates 101 to assist the user in
  • one or more advocates can take an
  • argumentative attitude e.g., contrarian
  • the user has the ability to add, delete, or
  • an advocate 101 will not make audible
  • the threshold response parameter may be entered by the user
  • making system 100 may override the muted state of an advocate 101 and cause an
  • advocate 101 to provide a response to the user when computer-aided decision-making
  • system 100 determines that such response is required based upon a relationship between
  • system 100 provides an advocate 101 opinion to the user, in the form described herein, for
  • a particular choice upon user request For example, upon the user requesting the Builder advocate's opinion concerning a particular choice through, for example, but not limited to,
  • computer-aided decision-making system 100 provides an opinion report from
  • the plurality of facets 102 of a presently preferred embodiment of computer-aided decision-making system 100 for an exemplary home-purchasing application comprises a
  • Figure 13 provides further detail concerning the plurality of facets 102
  • Facets 102 are arranged from left to right in order of general information to specific information, wherein the left-most facet is associated with the most
  • the right-most facet is also called the proposal facet.
  • a plurality of facets 102 may be displayed simultaneously. In a presently preferred embodiment,
  • facets 102 are presented to the user in the form of visual tabs in the
  • Facets 102 represent
  • the user may enter the number of preferred bedrooms in a house as a criterion for computer-aided decision-making system 100 to use in generating preferred choices in the decision context of a home purchase.
  • the Goals facet illustrated in Figure IN the user may enter the number of preferred bedrooms in a house as a criterion for computer-aided decision-making system 100 to use in generating preferred choices in the decision context of a home purchase.
  • facet in contrast to the Requirements facet, provides means for the user to specify higher-
  • the user may indicate that his underlying reason
  • Computer-aided decision-making system 100 will use
  • Topics facet Information contained in the Topics facet, however, may relate to
  • every decision has a plurality of facets containing a plurality of
  • Category 1 applications such as, but not limited to, retail purchase decisions, the
  • facets 102 may be reduced, or one or more facets 102
  • Category 5 applications may be combined, as compared to the greater range of facets 102, and their capabilities, for more complex decision contexts (i.e., Category 5 applications), such as, but not limited
  • each frame has a
  • computer-aided decision-making system 100 In a presently preferred embodiment, computer-aided decision-making system 100
  • a decision frame (or "search frame")
  • a hints and cues facet for a search engine embodiment includes a hints and cues facet, an association facet, and a
  • computer-aided decision-making system 100 supports a variety of
  • Decision frames may be further subdivided into, for example, sub-
  • decision frames or "decision-lite" frames to address different aspects of a single decision
  • An example of a sub-decision frame is a set of facets 102 that provide fuzzy-
  • sub-decision frames e.g., scripting or wizard "frames" for user interaction.
  • scripting or wizard "frames" for user interaction.
  • 100 also provides administration frames for, without limitation, managing logins and
  • computer-aided decision-making system 100 In a presently preferred embodiment, computer-aided decision-making system 100
  • system 100 supports multiple users in a multi-perspective decision context, such as, but
  • decision-making system 100 provides each user of a plurality of users an individual
  • decision state comprising the items described herein. Further, as the decision context
  • number of advocates 101 may be reduced such that one or more advocates 101 is
  • advocates 101 are designed to, as a
  • computer-aided decision-making system 100 provides rules for tracking
  • computer-aided decision-making system 100 as described herein may be had
  • facets 102 are hierarchically related such that
  • decision-making system 100 reflects, in the categorical information of more specific facets,
  • each facet 102 may contain
  • one or more panes preferably, a facet contains two panes.
  • a facet contains two panes.
  • decision-making system 100 preferably through user interaction, in the "adjacent"
  • Figure 5 is illustrates this particular hierarchical relationship between
  • R 3 of Faceti are transposed to form the columns Ci, C 2 , and C 3 of Facet 2 .
  • folding behavior as illustrated in Figure 6, exemplifies one of a plurality of inter-facet
  • Inter-facet rules may take the form of multi-dimensional spatial relationships among
  • computer-aided decision-making system 100 determines dynamically which components
  • system-generated choices i.e., system-
  • Computer-aided decision-making system 100 selects system-generated attributes for facets
  • computer-aided decision- making system 100 will present the system-
  • computer-aided decision-making system 100 includes rules providing for aggregation of attributes, or otherwise creating
  • making system 100 also includes tuning rules to promote uniformity across multiple parameters
  • Analysis engine 330 preferably further comprises an articulation engine for
  • analysis engine 330 determines an
  • articulation engine generates one or
  • advocate articles e.g., responses such as text displayed in a comment box, advocate appearance, multimedia output
  • a predetermined article descriptor e.g., a comment box, advocate appearance, multimedia output
  • article types that may be provided by an advocate include, but are not limited to, article
  • the choice level the choice level, the facet/gauge level, the frame level, the decision level, the
  • each facet 102 is associated with a plurality
  • Reports 103 may convey a wide variety of further useful
  • computer-aided decision-making system 100 provides a report indicating the
  • User report selection means may include, but is not limited to, using a computer mouse
  • aided decision-making system 100 provides reports containing more detailed information
  • 1A including, for example, but not limited to, decision gauges, advocates 101, and
  • the lower pane 105 comprises a scrollable list of possible choices for a particular facet 102.
  • Each line in lower pane 105 is a scrollable list of possible choices for a particular facet 102.
  • surrogate values are produced by the computer-aided decision-
  • Lower pane 105 contains all the choices relevant to this facet of the this decision.
  • listed choice in lower pane 105 includes a plurality of attributes associated with that
  • each of these choices is ranked
  • Computer-aided decision-making system 100 uses preference information provided by the user in ranking the choices in lower pane
  • decision-making system 100 applies information from external sources, for example, but
  • computer-aided decision-making system 100 In an alternative embodiment, computer-aided decision-making system 100
  • decision-making system 100 will update the ordering of system-generated choices upon
  • Upper pane 104 comprises the user's "short list" of preferred choices selected
  • aided decision-making system 100 guides the user quickly and efficiently to her preferred
  • computer-aided decision-making system 100 In a presently preferred embodiment, computer-aided decision-making system 100
  • aided decision-making system 100 determines the distinguishing attributes by applying the
  • look-ahead function to identify attributes for which user feedback, if received by
  • ahead function to determine distinguishing attributes may include, but is not limited to,
  • attributes for which no user preference has been provided by the user attributes for which no user preference has been provided by the user, attributes for which
  • user feedback may allow computer-aided decision-making system 100 to exclude a large
  • decision-making system 100 helps the user to converge quickly and efficiently to her
  • computer-aided decision-making system 100 includes a rulette relating driver age to purchaser needs such that, for example, if the
  • a user may "drill down" to view more detailed information associated with a
  • computer-aided decision-making system 100 provides more detailed information
  • 1A including, for example, but not limited to, decision gauges, advocates 101, and
  • computer-aided decision-making system 100 extracts,
  • computer-aided decision-making system 100 generates a choice topology
  • Sub-choices may be grouped
  • computer-aided decision-making system 100 Preferably, computer-aided decision-making system 100
  • containers includes various types of containers, including, but not limited to: topics, super-choices,
  • topics may be singly or multiply instantiable (i.e., only one or multiple instances of the same decision).
  • a topic choice has no q-value in the lower
  • a sub-choice may be "select a neighborhood”. If the user selects this sub-
  • the system may add other sub-choices to a topic as a result of the user's action.
  • the container and the sub-choices are singly instantiable.
  • the sub-choices are not selectable.
  • Some container choices may chose to only show a subset of their sub-choices.
  • variable set enumeration may be employed to allow expansion of
  • proposals may be ranked as groups of make-model.
  • variable set container
  • each container will only show the choices that are worthy of their location.
  • ranked sub-choices will be "hidden", but the user can expand the container to see the
  • the container is not promotable nor liberal in its scope.
  • container choice is selectable, and if the container choice is promoted/demoted/excluded,
  • the drop-down When closed, the drop-down displays the Select another choice. If a sub-choice is
  • the container has no influence of its own, but it usually assumes the influence of its most
  • decision gauges 106 are provided for advocates 101, facets 102, choices in upper pane
  • a user may interrogate a decision gauge 106 to view
  • decision gauge in the manner indicated above (e.g., selecting the decision gauge item).
  • reports in human readable form, which may include, but is not limited to, graphical
  • a decision gauge report provides insight to the user
  • gauge state Further, the user may drill down deeper into successive layers of preceding
  • rules or "feeding" rules, associated with the decision gauge state to explore the chain of relationships (i.e., rules firing, antecedent conditions or rule predicates that are satisfied) between linked rules in different layers followed by computer-aided decision-making system 100 to arrive at the current decision gauge state.
  • Figure 2 provides a functional block diagram of a presently preferred embodiment
  • 330 receives information in the form of merchant product data 310, shopper (i.e., user)
  • 330 updates shopper profiles 311 and may provide information to an on-line store 203
  • analysis engine 330 interfaces to the on-line store 203 via XML; however,
  • analysis engine 330 provides
  • information to the user e.g., shopper 204 in the form of questions, advice, and
  • Figure 3 illustrates an architecture for a preferred embodiment of computer-aided
  • decision-making system 100 said architecture comprising databases 301, rules 302, code
  • the databases 301 comprise a merchant/products database
  • a shopper profiles database 311 a database comprising third party facts/data/knowledge base 312, a residual knowledge base 313, and user decision
  • One or more databases 301 may be encrypted for privacy.
  • the merchant/products database 310 contains detailed product or service information which is used along with other information by computer-aided decision-
  • merchant/products database 310 provides the set of possible choices from which
  • computer-aided decision-making system 100 chooses in generating the surrogate values.
  • database 310 includes detailed listing information on available houses which may be obtained, for example, from a plurality of realtors.
  • Shopper profiles database 311 comprises a repository of user profile information
  • profiles database 31 1 once established, may be reused by a plurality of applications in a plurality decision-making contexts that use computer-aided decision-making system 100.
  • shopper profiles database 311 contains a
  • computer-aided decision-making system 100 uses information obtained from the user during a user session to refine the values in shopper profiles database 311 associated with
  • an advocate 101 may compare information provided by the user during a
  • third party facts/data/knowledge base 312 comprises
  • system 100 in generating surrogate values or advocate reports.
  • surrogate values or advocate reports In an exemplary on-line
  • Residual knowledge base 313 comprises a repository of user-discovered errata or
  • surrogate value listing produced by computer-aided decision-making system 100 may
  • a particular surrogate value may indicate that the
  • listed house includes a two-car garage. If the user subsequently determines that the house
  • residual knowledge base 313 provides a means for the user to enter this updated information into computer-aided decision-making system 100 and to
  • User decision documents 314 comprise stored snapshots of the user session state
  • Each stored session state may be subsequently selected and viewed by the user as described in Figure IN for example, such
  • system 100 comprise database descriptions 320, system rules/facts 321, and application
  • Database descriptions 320 provide a mapping between the internal
  • System rules/facts 321 comprise decision
  • system 100 decomposes decisions and how goal facets relate to requirement facets.
  • Application rules/facts 322 comprise decision rules that are application-specific and therefore variable across different applications, including rules used by computer-aided
  • decision-making system 100 to determine advocate 101 responses.
  • analysis engine 330 is
  • Analysis engine 330 decomposes the decision-making
  • Analysis engine 330 extracts information relevant to the decision domain from
  • decision-making system 100 through a web browser, to produce a plurality of system-
  • computer-aided decision-making system 100 indicates system-generated choices
  • computer-aided decision-making system 100 indicates system- generated choices relevant to the decision in the form of proposals displayed to the user in
  • analysis engine 330 resolves conflicting user information or selections
  • analysis engine 330 includes a similarity function that is
  • the various attributes are normalized according to a cost associated with each attribute.
  • Points of view are distinguished by the influence of the attributes (and, in some cases, their
  • computer-aided decision-making system 100 In a presently preferred embodiment, computer-aided decision-making system 100
  • a choice is comprised of various constant elements (or static elements), such as, for
  • variable elements including qualified value, x[q]; influence, x[i], and an attribute
  • V Y[q, i, A]
  • a qualified value of a choice is comprised preferably of these variable
  • pane is the surrogate value, v L , and is set by computer-aided decision-making system 100
  • the value used in the Upper pane is the user-modified value, vu , and is set by the User
  • the value vu is set to v L the first time the choice is promoted Every choice (except a
  • Each facet contains a subset, X f , of the total choices in the application domain, X
  • the set of Attributes in one facet is identical to the set of choices in the previous facet
  • An attribute is similar to a choice that has already been made and exists within the context of another choice; it merely has a qualified value, not an influence or attribute list:
  • pane is the original value, V L , and is set by configuration.
  • pane is the user-modified value, vu , and is set by the User.
  • the value vu is set to v L the
  • Facet action rules have the following notation. (The following rules assume a single
  • next choice ordering is influenced by all the choices in the facet
  • a preferred scoring notation is as follows:
  • Scores can be created by any scoring entity including advocates, users, reports, and
  • Entities E e A (advocates), U (users), S (system), R (reports), X (choices), F
  • Entities can score elements of a choice, value, influence and Attributes, yielding a
  • a x [ ⁇ ] a fn( a x J [N] f , Xu f l ) wherein an advocate (or the system) generates its influence for this
  • ranking is set by the influence of the choice which is set by user.
  • the lower pane, ranking is set by the influence according to Facet rules.
  • analysis engine 330 may
  • neural networks statistics, probability, utility theory, operations research, systems theory
  • Analysis engine 330 applies the rules in successive layers such that
  • intermediate rules are applied to produce intermediate values to feed the next layer, or
  • Computer-aided decision-making system 100 uses this ranking value in the
  • computer-aided decision-making system 100 uses the ranking values to produce
  • analysis engine 330 In producing ranking values, analysis engine 330
  • a rule "fires" when it has been selected, all required inputs or
  • analysis engine 330 uses recursion in applying the rules
  • system 100 include, but are not limited to, articulation rules, permutation rules, and rule
  • Articulation rules further comprise intrinsic behavior rules, education rules, and
  • Intrinsic behavior rules are articulation rules that complement
  • Intrinsic behavior rules can further refine the intrinsic behavior of computer-aided decision-making system 100. Education rules educate and
  • Humanization rules make computer-aided decision-making system 100
  • Permutation rules set or modify the value of an object and include influence
  • Rule engine rules govern the behavior of analysis
  • computer-aided decision-making system 100 includes a language generator that translates a particular rule into human understandable terms by
  • conditional statements e.g., "if, "then”, “otherwise"
  • computer-aided decision-making system 100
  • applets 305 applets 305, analysis engine 330, binary decision state data - transient data 405, a
  • inventions may be implemented using one or a combination of many different computing models and media including, but not limited to, standalone environments, networked
  • PDAs personal digital assistants
  • databases 301 may interface to analysis engine 330 via a
  • databases 301 interface to analysis engine 330 via JAVA Database
  • JDBC Connectivity
  • query translator 402 to translate standard-format database pattern query information into a
  • Analysis engine 330 includes a rule engine kernel 408 which
  • Analysis engine 330 uses an
  • XML-fact translator 404 to translate internal fact representations into corresponding
  • User document object 406 includes information concerning a user session which may be stored in user decisions documents 314 database
  • user document object 406 includes, but is not
  • user document object 406 provides the
  • binary decision state data - transient data 405 includes binary fact state
  • transient data 405 includes, but is not limited to, binary decision state data or transient
  • binary decision state data - transient data 405 provides binary
  • back-end tools 410 provide a development environment in which one of
  • computer-aided decision-making system 100 In a presently preferred embodiment, computer-aided decision-making system 100
  • application rules/facts 322, and system rules/facts 321 are provided in the XML mark-up language.
  • Application rules/facts 322 and system rules/facts 321 are compiled into binary format for use by analysis engine 330. As indicated in Figure 4,
  • each decision-making application may be associated with a unique set of database
  • server-side application/web server software A presently preferred embodiment of server-side application/web server software
  • EJB Enterprise Java Bean
  • Session Beans operate within the context of an Enterprise Java Bean (EJB) application server that provides communication, multi-tasking and database
  • EJB Enterprise Java Bean
  • the user interacts with the session bean through a user
  • the session bean manages long term data
  • JDBC Java Database Connectivity API
  • System Services 1502 Event
  • Events are intended to offer a generic method of
  • Any module can originate an event, the details of which are encoded in an
  • the module then submits that event to the Event Processor Module 1504.
  • the Event Processor 1504 then handles the high level sequencing and distribution of the
  • Each module is offered a turn to veto an event, to process the event, and to act
  • Each module provides a well defined, flexible interface to facilitate communication
  • One group of interface methods is used to implement the event
  • the System may offer specific services, or interact on a one-to-one basis.
  • the System may offer specific services, or interact on a one-to-one basis.
  • the System may offer specific services, or interact on a one-to-one basis.
  • Module 1502 provides the networking support to allow the client user interface to
  • the User Interface Adapter Module 1506 communicates with the application via the User Interface Adapter Module 1506.
  • Interface Adapter Module 1506 implements a method that takes a serializable object as an
  • the UI Adapter 1506 is responsible for interpreting the communication, taking the
  • the decision document requires intensive interrogation and modification by
  • Document 1508 implements the methods of the event processing interface, some modules
  • the XFerence Engine preferably work directly on the internal objects of the document.
  • Event Processor 1504 An event is submitted for processing by encoding its details in an XEvent object and calling this function on the Event Processor 1504.
  • the Event Processor 1504 in turn
  • modules may depend on the event type. While processing an event a
  • module may submit a child event for immediate processing by calling processEvent on the
  • Event Processor Module 1504 with the new XEvent object. Additionally, a module may
  • the System Module 1502 creates and owns the root objects of each of the
  • the initialize and ret/re events can be used to control the creation and destruction
  • the system services module offers a generic interface to "system" services
  • a Module within the Decision Document encapsulates the working data for
  • the Event Processor Module is the conduit through which actions are coordinated
  • Action requests and event notifications may be submitted by or to any of
  • Processing of an event may generate
  • Child events in one of two ways: The child event may be processed immediately (i.e.
  • the child event may be processed subsequent to the
  • the child event processing starts with a veto polling cycle independent of the parent
  • a processing exception in a child event has the
  • Child events are exceptions from child event processing under the most sever circumstances.
  • the method will be called with an argument value of true if the original event or any of its
  • Events include, but are not
  • the UI adapter encapsulates the communication and servicing of the user
  • the UI Adapter interface is designed so that it can be easily replaced with
  • a Windows UI or DHTML for example.
  • the Xengine module implements the core of the decision processing. It is initiated
  • Event processor by events submitted to the Event processor, and may in turn submit events to the Event
  • Xengine module comprises an Intrinsic Behavior Processor, XEngine Rule Based
  • Database access is provided by the database services module.
  • the interface offers implementation neutral services for queries, proposal retrieval, etc.
  • the interface is designed to function with and independently of JDBC, ODBC, or SQL
  • server-side application web server software 331 provides miscellaneous
  • applets 305 are implemented in the JAVA
  • databases 301 databases 301, rules
  • analysis engine 330 binary decision state data - transient data 405, and user
  • document object 406 are implemented in accordance with the EJB methodology. Further,
  • back-end tools 410 support development of application rules/facts 322 in accordance with
  • decision-making system 100 is implemented as a plurality of execution layers comprising a
  • view/doc layer 501 a tool layer 502, a report layer 503, and a decision layer 504.
  • View/doc layer 501 interacts with the user during one of a plurality of user sessions with computer-aided decision-making system 100 in the manner described herein.
  • Figure 1A
  • Tool layer 502 monitors the interaction between the user
  • decision-making system 100 develops a plurality of session monitor rules, based on
  • computer-aided decision-making system 100 may raise the
  • report layer 503 provides the report generation
  • 100 provides a report zone which, upon user selection of a particular choice or other selectable item using the user interface (e.g., dragging an item into the report zone via
  • computer-aided decision-making system 100 provides further information
  • system 100 further comprises an interface that for providing report information to external
  • aided decision-making system 100 may provide the user's telephone number (with the
  • Reports provided for an exemplary automobile-purchasing application include, but are not
  • Billboard Billboard
  • Boxing-ring Comparison
  • Magnifying glass details
  • 15 may include Allergies, Life-span calculator, Emotional Impact, Maps, Time-on-the-market
  • decision layer 504 accomplishes the computational
  • Figure 12 illustrates the relationships between internal representations of rules
  • decision state item ul X u comprises all current user-made
  • computer-aided decision-making system 100 may comprise a plurality of
  • each decision layer 504 being associated with the decision state of a
  • n 1 to z, and where z is the maximum number of advocates involved in the application
  • computer-aided decision-making system 100 comprises a handoff frame, a

Abstract

A computer-aided decision-making system (105) and method that is applicable to a variety of decision-making contexts and applications (100) such as, but not limited to, automobile or home purchase decisions. The computer-aided decision-making system (105) provides immediate, useful, and relevant information to a person in a decision-making context, overcoming common human cognitive problems that occur in decision-making, and enabling consumer purchases in an on-line sales environment. In particular, aspects of the invention that aid a person in decision-making include, but are not limited to: managing all the sub-decisions, educating the decision-maker, highlighting the most important sub-decisions, offering the most viable proposals for evaluation, distinguishing significant differences between proposals, supplying various evaluation tools, preventing blind spots, assisting the decision-maker's memory, gauging the progress of the decision process, and learning about the decision maker from the decision process.

Description

APPARATUS AND METHODS FOR A COMPUTER-AIDED DECISION-MAKING SYSTEM
APPARATUS AND METHODS FOR A COMPUTER-AIDED DECISION-MAKING SYSTEM
This application claims the benefit of U.S. Provisional Patent Application Serial No. 60/118,814, filed February 5, 1999, the entire disclosure of which, including references and appendices incorporated therein, is incorporated herein by reference.
This disclosure contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
FIELD OF THE INVENTION The invention relates generally to the field of decision support systems, and, more
specifically, to the field of computer-aided decision-making methods and systems.
BACKGROUND OF THE INVENTION
In the past, various methods and systems have been developed in an attempt to
improve man's ability to make good decisions. Many psychological studies demonstrate
the limitations in human cognitive abilities which lead to poor decisions. Known methods
and systems tend to emphasize either process or analysis aspects of decision-making. As a
result, known methods and systems are either overly simplistic, in an effort to be
applicable to many different types of decisions, or are deep and complicated methods and
systems that are appropriate only to the most sophisticated decisions. Further, known
methods and systems do not adequately reflect intangible aspects of many real decisions. For these and other reasons, known methods and systems have met with limited user acceptance, particularly in a consumer context.
SUMMARY OF THE INVENTION
Therefore, it is a general object of this invention to provide methods and a system
that provides immediate, useful, and relevant information and feedback to a person in a
decision-making context that helps the person to evaluate and rank a plurality of choices
and to converge to a decision, and, particularly, a consumer purchasing decision.
Another general object of the invention is to provide methods and a system that
compensates for common human cognitive problems that occur in decision-making.
A still further general object of the invention is to enable consumer purchases in a
non-tactile purchasing environment such as, but not limited to, those encountered in web- based or on-line sales transactions.
These objects, and others which will be apparent upon review of the disclosure,
including the specification, drawings, and appendices, are achieved in a preferred
embodiment of a computer-based decision-making system in exemplary on-line home and
automobile purchasing decisions.
The computer-aided decision-making system and methods employ a rules-based
analysis engine having a plurality of rules for selecting, scoring and ranking a plurality of
subchoices. A user interface accepts user-provider information, promotions, and
responses to system inquires for generating reports, proposals and feedback. The
invention provides immediate, useful, and relevant information to a person in a decision-
making context, overcoming common human cognitive problems that occur in decision- making, and enabling consumer purchases in an on-line sales environment. In particular, aspects of the invention that aid a person in decision-making include, but are not limited
to: managing all the sub-decisions, educating the decision-maker, highlighting the most
important sub-decisions, offering the most viable proposals for evaluation, distinguishing
significant differences between proposals, supplying various evaluation tools, preventing
blind spots, assisting the decision-maker's memory, gauging the progress of the decision process, and learning about the decision maker from the decision process.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1A is an illustration of a computer-based user interface for the proposal
facet of a preferred embodiment of a computer-aided decision-making system;
Figure IB is an illustration of a computer-based user interface for a combined
requirements/goals facets of a computer-aided decision-making system;
Figure 1C is an illustration of a computer-based user interface for a topics facet of
a computer-aided decision-making system;
Figure 2 is a functional block diagram of a computer-aided decision-making
system;
Figure 3 is an architecture for a computer-aided decision-making system;
Figure 4 is a functional block diagram of a preferred embodiment of a distributed
computing based computer-aided decision-making system;
Figure 5 illustrates the hierarchical relationship between facets; Figure 6 illustrates a relationship between the contents contained within adjacent
facets;
Figure 7 illustrates the attribute scoring process used by the computer-aided
decision-making system;
Figure 8 illustrates the advocate value and influence scoring process used by the computer-aided decision-making system;
Figure 9 describes a presently preferred embodiment of the computer-aided
decision-making system implemented as a plurality of execution layers;
Figure 10 describes interaction between the user/doc layer and tool layer of the
computer-aided decision-making system;
Figures 11 A and 1 IB illustrate report generation activities of the computer-aided decision-making system;
Figure 12 illustrates the relationships between internal representations of rules,
information, and states used and maintained by the computer-aided decision-making system;
Figure 13 describes a relationship between facets and alternative applications of
varying complexity of the computer-aided decision-making system;
Figure 14 illustrates a search frame within the computer-aided decision-making
system;
Figure 15 illustrates a server-side application/web server implementation for event
processing; and
Figures 16A through 16K are screen displays for a automotive purchasing decision
according to the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present invention will be described in detail with reference to exemplary
applications of an on-line home buying purchase decision assistance system and an on-line
automobile buying purchase decision assistance system. However, it should be recognized
that the system and its components are applicable to a wide range of decision-making
contexts and applications, including, but not limited to, simple shopping decisions,
electronic searching, or complicated decision domains such as collaborative corporate
strategic planning. For example, alternative exemplary applications of the present
invention include a computer-aided purchasing of flowers, stock or securities selection,
Internet website searching, purchasing of real estate, dating or matchmaking, strategic
business planning, personal financial planning, project management, shopping, or,
generally, any decision-making context in which a human decision-maker must choose
from among a plurality of choices.
In order to effectively assist a user in a decision-making context, the system and
method of the present invention organizes the decision process into one or more elements
of the decisions as described herein. These elements may include, but are not limited to:
Goals, which help to establish the relevancy of underlying information so that the
computer-aided decision-making system will supply the most useful data to the decision-
maker user; requirements, which are actually sub-decisions that the decision-maker user
uses to limit the number of proposals he needs to consider; proposals, which are possible
outcomes that use goal and requirement data to compete and distinguish themselves to the
decision-maker user; educators that assist the decision-maker user by supplying
information that is relevant to the decision (or sub-decision) at hand; advocates, which represent a point of view and help the decision-maker user avoid mistakes by pointing out
inconsistencies in the decisions (or sub-decisions) he has already made or is about to make; decision gauges, which show the decision-maker user the state of the decision, from
early inconsistencies, through data gathering and refinement, to final showdown and
conclusion; and decision topics, which are other decisions that have a bearing on the
decision or may be influenced by the outcome of the decision, and are therefore related to
the main decision but are large enough to be considered separately from the main decision.
These decision elements together comprise a decision frame for a particular decision-
making context.
With respect to these decision elements, goals represent the true goals of the
decision-maker user. For example, in a home-purchasing application, the true goal is
likely not to purchase a house simply for the sake of making a house purchase, but rather
the true goal may be to find affordable family housing for 2 parents, 4 kids and 2 dogs, protection of two cars, accommodations for an occasionally visiting grandmother,
provision of good schooling for the kids and a reasonable return on investment in 20
years.
Most decisions have certain attributes that can be specified, or at least bounded,
independent of each other. Identifying these bounds and their importance speeds up the
decision making process by avoiding inappropriate proposals from being considered. In a
presently preferred embodiment of the present invention, these decision bounds are
provided in the form of requirements. It is important that the decision-maker user not be
required to supply an overly constraining set of requirements to arrive at a distinguishable
solution. It is also important to be able to indicate which attributes that are important, even if the value may be flexible (i.e. "it depends"). Requirements are not necessary to
make a decision. However, the present invention helps the decision-maker user to
understand the effect and importance of various requirement decisions to the overall
decision.
Usually real decisions come down to the hard choices between suitable proposals.
Finding suitable proposals is facilitated by having well defined goals and requirements.
However, browsing through the possible proposals is a common form of decision-making. The present invention assists the decision-maker user by finding similar proposals to the
decision-maker's preferred proposals and highlighting the differences so that the "more
preferable" proposals can be quickly identified. The decision-maker user communicates
his preferences by placing good proposals in his short list. Any proposal can comment on
any other proposal in an attempt to promote itself higher in (or into) the short list. As the decision progresses, the decision-maker will focus his attention on the final proposals in
his short list. He may appoint more and more advocates to represent their perspectives on
the proposals and use various metrics to further refine the distinctions between proposals.
At some point, one proposal will rise above the others in the decision-maker's mind, and
the decision will have been made. During the whole decision process, the proposal list is
always active, with the most promising proposals (outside the short list) coming to the top
as the decision maker refines his goals, requirements and preferred proposals.
Each goal, requirement, and proposal preference is actually a sub-decision. As
such the decision-maker can ask for more information regarding that sub-decision.
Educators are a data-rich resource that assists the decision-maker user with facts (trends,
charts, demographics, etc.) relevant to the decision at hand. Before or after making a sub-decision, the decision-maker user may get feedback
from the advocates as to their suggestion for his decision or their opinion of his decision.
Advocates encapsulate their (often conflicting) points of view in rules that show relations
among elements in the decision. Since each advocate is associated with a certain
perspective or set of goals, their opinions help the decision-maker user to distinguish
between competing proposals, especially if the decision-maker user has not stated his
goals.
As the decision progresses, the present invention reflects the progress in a number
of ways, including the completeness of the decision makers goals and requirements, their
consistency and specificity, and the remaining pool of viable proposals. A typical decision
process begins with no proposals in the short list, followed by a swelling of the short list
and then a final competition in the short list among a few proposals. At some point the
decision gauges will indicate that there is little information left to evaluate, few advocates
of importance to consult and little more analysis to perform. When that is the case and the
unspecified goals or requirements would have little or no impact on the proposals in the
short list, the decision is judged complete. Of course, the decision-maker user may reach
a cognitive commitment long before that point.
At various points in the decision, it may be necessary to focus on a related decision
in order to allow the overall decision-making process to proceed. In an exemplary home-
purchasing application, such decision topics may include choosing a neighborhood,
choosing a realtor, or choosing a lender. These related decisions are grouped together
into decision topics to allow the decision maker to spawn a separate decision and utilize all
the same style tools to make that decision. All sub-decisions (goals and requirements) that relate to both the main and related decision are reflected through to the other decision, including the outcome of either decision.
Use and operation of the computer-aided decision-making system of the present
invention may be understood with reference to its real-time interaction with a user during
one of a plurality of user sessions as indicated in Figure 1 A.
Referring to Figure IN a presently preferred embodiment of a computer-aided decision-making system 100 includes a user interface comprising one or more advocates
101 and a plurality of facets 102. In a presently preferred embodiment, the user interface
of computer-aided decision-making system 100 is displayed on a personal computer
display such as, but not limited to, a color monitor device. In an alternative embodiment,
the user interface of computer-aided decision-making system 100 is displayed on a user
data appliance such as, but not limited to, a personal digital assistant (PDA). Further, in a
presently preferred embodiment, computer-aided decision-making system 100 user
interface includes multimedia features including, but not limited to, audio, animation, and
video, as well as procedural aids such as, but not limited to, wizards, checklists, and
roadmaps. A preferred user interface also includes navigation controls (e.g., buttons, page
up/down, text search) for logical paging and cursor location/pointing movement, as well
as a churn icon to indicate that analysis engine 330, shown in Figure 2, is processing a
rules iteration.
In a given user session in which a user interacts with computer-aided decision-
making system 100, the user may choose to be assisted in making a purchasing decision by
one or more advocates 101. In a presently preferred embodiment of computer-aided
decision-making system 100 for a home purchasing application as illustrated at the top of Figure IN the advocates 101 comprise a system advocate, a contrarian advocate, a builder advocate, a banker advocate, and a decorator advocate. In a presently preferred
embodiment, advocates 101 are ordered from left to right such that advocates on the left
have stronger opinions than advocates on the right (reference Figure 1 A). Through
advocates 101, computer-aided decision-making system 100 conveys to the user
information useful to the decision-making context from a particular point of view.
Relatively large differences between one or more attribute values of proposals in the user's
"short list" of choices and the corresponding attribute values associated with new user
choice inputs may trigger an unsolicited advocate 101 opinion. For example, referring to
Figure 1A, the banker advocate is informing the user that the price of the currently-
selected choice is (e.g., selected house) is higher than the price budget preference
established previously by the user.
It is to be understood that the information reported to the user by advocates 101
may include, but is not limited to, any information determined by computer-aided decision-
making system 100 to be relevant to the decision domain. Further, the user may provide
value parameters via user input to the Requirements facet for computer-aided decision-
making system 100 to use, in conjunction with other information, in triggering an advocate
response to the user. An advocate response may include, but is not limited to, a displayed
text caption, displayed decision gauges as described herein, an audible alerting sound,
spoken text, displayed dynamic facial expressions, or hand signaling. In this manner,
computer-aided decision-making system 100 uses advocates 101 to assist the user in
making a decision through, for example, but not limited to, narrowing the field of search,
discarding possible choices, changing user requirements, evaluating or challenging the
- l l user's ranking of user-made choices, evaluating and comparing their choices to those of
other advocates, or, generally, alerting the user to inconsistencies between current user input or behavior and prior user input or system expectations.
In a presently preferred embodiment, one or more advocates can take an
argumentative attitude (e.g., contrarian). Further, the user has the ability to add, delete, or
mute advocates 101; for example, the Contrarian advocate in Figure 1A has been muted
by the user. In a presently preferred embodiment, an advocate 101 will not make audible
responses or comment box responses to the user while muted, but can make expressions
and head movements. In a presently preferred embodiment, a threshold response control
is provided that inhibits one or more advocates 101 from responding when the relative
degree of difference between an expected choice or expected value of a choice and a user-
entered choice or user-entered value for that choice, respectively, does not exceed a threshold parameter. The threshold response parameter may be entered by the user,
determined by computer-aided decision-making system 100, or determined through any
combination of these two techniques as well as others. Further, computer-aided decision-
making system 100 may override the muted state of an advocate 101 and cause an
advocate 101 to provide a response to the user when computer-aided decision-making
system 100 determines that such response is required based upon a relationship between
the current decision state and recent user behavior. Advocate override may occur
independently from the threshold response control function.
Further, in a presently preferred embodiment, computer-aided decision-making
system 100 provides an advocate 101 opinion to the user, in the form described herein, for
a particular choice upon user request. For example, upon the user requesting the Builder advocate's opinion concerning a particular choice through, for example, but not limited to,
using a personal computer mouse device to drag the choice to the Builder item (reference
Figure 1A), computer-aided decision-making system 100 provides an opinion report from
the Builder advocate to the user concerning that particular choice. Figure 8 illustrates the
advocate value and influence scoring process used by computer-aided decision-making system 100 in a presently preferred embodiment according to the notation described herein
to determine an advocate opinion of a choice and to determine the relative influence of a
particular advocate, respectively.
The plurality of facets 102 of a presently preferred embodiment of computer-aided decision-making system 100 for an exemplary home-purchasing application comprises a
User Info facet, a Topics facet, a Goals facet, a Requirements facet, and a proposal facet
(e.g., Houses). Figure 13 provides further detail concerning the plurality of facets 102
that a preferred embodiment of computer-aided decision-making system 100 may provide
for a particular application. Facets 102 are arranged from left to right in order of general information to specific information, wherein the left-most facet is associated with the most
general information. Further, the right-most facet is also called the proposal facet.
Referring to Figure IN the proposal is the Houses facet which is shown as
selected. A plurality of facets 102 may be displayed simultaneously. In a presently
preferred embodiment, facets 102 are presented to the user in the form of visual tabs in the
manner illustrated in Figure 1 A. A user navigates among facets 102 by selecting the tab
for the facet 102 which the user wishes to view or interact with. Facets 102 represent
sub-decision components of a decision context. For example, by selecting the
Requirements facet illustrated in Figure IN the user may enter the number of preferred bedrooms in a house as a criterion for computer-aided decision-making system 100 to use in generating preferred choices in the decision context of a home purchase. The Goals
facet, in contrast to the Requirements facet, provides means for the user to specify higher-
level information than the objective requirements for the house; for example, by selecting
the Goals facet illustrated in Figure 1 A, the user may indicate that his underlying reason
for purchasing a house is for investment. Figure IB illustrates these aspects, as well as
others, for a combined Goals/Requirements facet in an alternative exemplary embodiment
of computer-aided decision-making system 100 used in the decision context of a flower
purchasing decision application. Computer-aided decision-making system 100 will use
this higher-level information in generating a list of preferred choices and in reports to the
user by advocates 101. User information contained in the Goals facet is, in turn, specific
to a given Topics facet. Information contained in the Topics facet, however, may relate to
a plurality of decision contexts (reference Figure 1C). It is apparent from Figure 1A
elsewhere herein that every decision has a plurality of facets containing a plurality of
choices. Further, for simpler applications facets 102 may be combined such that the
number of facets presented to the user is reduced compared to the number of facets
presented for more complex applications (reference Figure IB).
Referring to Figure 13, the range of facets 102 and their capabilities relative to
decision-making process of the computer-aided decision-making system varies according
to the relative complexity of the decision context. For relatively simple decision contexts
(i.e., Category 1 applications), such as, but not limited to, retail purchase decisions, the
range of facets 102 provided by the system may be reduced, or one or more facets 102
may be combined, as compared to the greater range of facets 102, and their capabilities, for more complex decision contexts (i.e., Category 5 applications), such as, but not limited
to, strategic business planning. For example, referring to Figure 13, each frame has a
plurality of customization facets making up a frame for proposals.
In a presently preferred embodiment, computer-aided decision-making system 100
aggregates one or more relevant facets 102 into a decision frame associated with the
decision domain. For example, a decision frame for an exemplary home-purchasing
application comprises a User Info facet, a Topics facet, a Goals facet, a Requirements
facet, and a proposal facet as described previously. A decision frame (or "search frame")
for a search engine embodiment includes a hints and cues facet, an association facet, and a
proposals facet. Decision frames for other applications include a similar set of
corresponding relevant facets 102. In this way, computer-aided decision-making system
100 supports a variety of decision domains using the same or similar computational
elements, methods, and basic user interface.
Further, computer-aided decision-making system 100 supports a variety of
different frame types. Decision frames may be further subdivided into, for example, sub-
decision frames or "decision-lite" frames to address different aspects of a single decision
domain. An example of a sub-decision frame is a set of facets 102 that provide fuzzy-
logic based enumeration of proposals or choices (as described herein) for a particular
application, while other aspects of the decision domain are addressed by one or more
other sub-decision frames (e.g., scripting or wizard "frames" for user interaction). In
addition to decision frames and search frames, computer-aided decision-making system
100 also provides administration frames for, without limitation, managing logins and
generating new facets; transaction frames for handling payment and price negotiation associated with purchasing, for referring a user to another electronic network or system in
order to consummate a purchase, or for launching an agent (e.g., a daemon routine) to perform an online event-based monitoring or location service; report frames for generating
reports as described herein; and customization frames for allowing a user to customize
proposals (like the options for a car) and handle other details.
In a presently preferred embodiment, computer-aided decision-making system 100
supports collaboration among multiple users for a complex application by providing,
among other things, rules that combine and contrast attributes of the decision states
associated with a plurality of user perspectives. Thus, computer-aided decision-making
system 100 supports multiple users in a multi-perspective decision context, such as, but
not limited to, a development project in which the goals, requirements, and needs of a
plurality of functional departments (e.g., marketing, engineering, finance, manufacturing)
influence the decision and certain sub-decisions. For such an application, computer-aided
decision-making system 100 provides each user of a plurality of users an individual
decision state comprising the items described herein. Further, as the decision context
becomes more complex, and the number of users in a given user session increases, the
number of advocates 101 may be reduced such that one or more advocates 101 is
removed from the display (reference Figure 1 A) and replaced with a similar interactive
presence associated with one or more other users. As advocates 101 are designed to, as a
minimum, serve as knowledgeable experts in their respective domains, the addition to the
user session of actual users, wherein each user provides his own perspective or expertise
to the decision/sub-decisions, supplants the function provided by an advocate having the
same or similar perspective or expertise. The same type and degree of interaction and function provided by computer-aided decision-making system 100 between advocates 101
and a user are provided between a plurality of pairs of multiple users. It is to be
understood that this increases the complexity of the each decision state as well as the
number and complexity of rules defining the relationships among a plurality of decision
states.
Further, computer-aided decision-making system 100 provides rules for tracking
and refining the evolving decision states of a given user across a plurality of sequential
user sessions such that relevant user choices and information learned by the system are
reflected in the system-generated choices presented to the user in subsequent user
sessions. Thus, computer-aided decision-making system 100 develops and uses
information learned through repeated user interaction with the system in increasing the
relevance and user preference of user-generated choices in future user sessions, thereby
saving the user time in arriving at a decision/sub-decision. However, other advantages
provided by computer-aided decision-making system 100 as described herein may be had
by a user during only one such user session (i.e., a plurality of user sessions is not
required).
In a presently preferred embodiment, facets 102 are hierarchically related such that
the user-made attributes of choices in facets associated with more general information and
sub-decisions are reflected in the system-generated attributes of choices in facets
associated with more specific information and sub-decisions; that is, computer-aided
decision-making system 100 reflects, in the categorical information of more specific facets,
the user-made choices established during the course of determining values for choices
presented for one or more general facets (recall that facets become associated with more specific information moving from left to right in Figure 1 A). Conversely, user input and
decisions/sub-decisions (i.e., user made choices) for a particular facet are propagated
backward by computer-aided decision-making system 100 to update corresponding
choices established in preceding, or more general, facets. This relationship between facets
is illustrated in Figure 5. To facilitate user interaction and visualization of this relationship
between sub-decisions and choices within and among facets, each facet 102 may contain
one or more panes; preferably, a facet contains two panes. By way of example, referring
to Figure IN the price, style, location, schools, and services descriptive columns listed in
lower pane 105 of the Houses facet reflect requirements established by computer-aided
decision-making system 100, preferably through user interaction, in the "adjacent"
preceding (i.e., more general) Requirements facet. Similarly, again referring to Figure 1 A, the investment descriptive column listed in lower pane 105 of the Houses facet reflects
requirements established by computer-aided decision-making system 100, preferably
through user interaction, in the preceding Goals facet. In this example, although the sub-
decision choices established at the Goals level is of a more general nature than the specific
requirements sub-decision choices established at the Requirements level, both sub-
decisions are reflected in the more-specific Houses facet. From the user's perspective, the
choices in the lower pane of a facet that addresses more specific decisions/sub-decisions
reflect the user-made choices as captured in the upper pane of one or more facets that
address more general decisions/sub-decisions. Further, choices may be moved from one
facet to another. Figure 5 is illustrates this particular hierarchical relationship between
facets, particularly as applied to adjacent facets. Referring to Figure 6, in a presently preferred embodiment, the rows Ri, R2, and
R3 of Faceti are transposed to form the columns Ci, C2, and C3 of Facet2. Similarly, the
rows of Facet2 are transposed to form the columns of Facet3, and so on. This transversal
folding behavior, as illustrated in Figure 6, exemplifies one of a plurality of inter-facet
rules of a presently preferred embodiment of computer-aided decision-making system 100.
Inter-facet rules may take the form of multi-dimensional spatial relationships among
multiple facets 102 and their contents. Computer-aided decision-making system 100
determines an appropriate set of inter-facet rules of suitable complexity based on detailed
analysis of the particular decision context or application. Further, in a presently preferred
embodiment, computer-aided decision-making system 100 determines dynamically which
of the attribute categories to include in the system-generated choices (i.e., system-
generated attributes) for a particular facet based upon actual preference information
obtained from the user and predicted preference information determined by the system.
Computer-aided decision-making system 100 selects system-generated attributes for facets
that address more specific decisions/sub-decisions from among a plurality of attribute
categories, or made choices, associated with facets that address more general sub-
decisions. In an alternative embodiment, upon user request computer-aided decision-
making system 100 will maintain the currently- selected system-generated attributes for a
particular facet, instead of dynamically varying them. Similarly, in a presently preferred
embodiment, computer-aided decision- making system 100 will present the system-
generated attributes associated with each facet in order of importance in a manner
consistent with other aspects of the present invention; i.e., leftmost and uppermost
placement indicating higher relative importance. Further, computer-aided decision-making system 100 includes rules providing for aggregation of attributes, or otherwise creating
relationships between attributes, according to the complexity of the application (e.g.,
simple attributes may be combined for simpler applications). Computer-aided decision-
making system 100 also includes tuning rules to promote uniformity across multiple
applications as well as across multiple topics and multiple frames within an application.
Analysis engine 330 preferably further comprises an articulation engine for
generating advocate 101 responses to the user via a preferred user interface according to a
pseudocode implementation contained in the xference articulation engine. In the user
interface, persons point to advocates that have something to say or to move to a report
zone. This is called "advocate pointing". When analysis engine 330 determines an
anomalous user input or choice as described herein, articulation engine generates one or
more advocate articles (e.g., responses such as text displayed in a comment box, advocate appearance, multimedia output) according to a predetermined article descriptor. Specific
article types that may be provided by an advocate include, but are not limited to, article
descriptors designed to address the following situations: conflicting choices within
different facets, not enough information in a facet for the decision to progress,
suggestions, explanations, proclamations, encouragement, discouragement. Articulation is
provided at a variety of levels of abstraction, including, but not limited to, the attribute
level, the choice level, the facet/gauge level, the frame level, the decision level, the
profiling level, and the process/system level.
In a presently preferred embodiment, each facet 102 is associated with a plurality
of reports 103 and a plurality of panes comprising an upper panel 04 and a lower pane
105. The particular set of reports 103 and content of upper pane 104 and lower pane 105 associated with a given facet 102 is displayed to the user when the user selects that
particular facet. For example, the reports 103 associated with the Houses proposal facet
are as in indicated in Figure 1A. Reports 103 may convey a wide variety of further useful
or related information, taken from many different perspectives, associated with the
selected facet 102. For example, upon user selection of the Reject report (reference
Figure 1A), computer-aided decision-making system 100 provides a report indicating the
choices explicitly rejected by the user. In an alternative embodiment, user rejections are
indicated to the user in a third pane of a facet 102, in which the order of the rejected choices indicates the relative strength of the user's rejection of a choice relative to other
rejected choices. In another example, upon user selection of the Map report for a
particular choice (reference Figure 1A), computer-aided decision-making system 100, in a
preferred embodiment, provides a map and driving directions associated with that choice.
User report selection means may include, but is not limited to, using a computer mouse
device to drag a choice from upper pane 104 or lower pane 105 to the desired report icon
in order to select the associated report. It is apparent from Figure 1 A and the elsewhere
herein that many different types of reports are provided.
Further, the reporting capabilities of computer-aided decision-making system 100
are not limited to reports 103 associated with particular facets 102. Generally, computer-
aided decision-making system 100 provides reports containing more detailed information
upon user selection of any one of a plurality of the displayed items as indicated in Figure
1A including, for example, but not limited to, decision gauges, advocates 101, and
choices. Referring to Figure IN for any facet 102 the lower pane 105 comprises a scrollable list of possible choices for a particular facet 102. Each line in lower pane 105
(and upper pane 104) represents one choice. Each choice contained in lower pane 105 has
a surrogate value. These surrogate values are produced by the computer-aided decision-
making system in response to user and external input and information as disclosed herein.
Lower pane 105 contains all the choices relevant to this facet of the this decision. Each
listed choice in lower pane 105 includes a plurality of attributes associated with that
choice.
Further, in a presently preferred embodiment, each of these choices is ranked
relative to the other choices in lower pane 105 and displayed in descending order of preference by computer-aided decision-making system 100. In lower pane 105, and,
generally, for any system-generated displayed information, choices (or items) are
presented in order of preference such that the uppermost and leftmost choices indicate a
higher level of preference relative other choices. Computer-aided decision-making system 100 uses preference information provided by the user in ranking the choices in lower pane
105. Alternatively, if no user preference information is provided, computer-aided
decision-making system 100 applies information from external sources, for example, but
not limited to, demographic or statistical information, in ranking the choices in lower pane
105. In an alternative embodiment, computer-aided decision-making system 100
periodically adjusts the ordering of system-generated choices at a user-determined
frequency or upon a event happening. In a preferred embodiment, computer-aided
decision-making system 100 will update the ordering of system-generated choices upon
user command (churn button). Referring to Figure IN upper pane 104 contains the choices that the user has
made or is considering for a particular facet 102. The user may promote a choice from
lower pane 105 into upper pane 104 by a variety of means, including, but not limited to,
using a personal computer mouse device to select and drag a choice from lower pane 105
into upper pane 104. Conversely, a user can demote a choice from upper pane 104 to
lower pane 105 using similar means. A choice that has been promoted (i.e., a user-made
choice) is present only in upper pane 104 and ceases to be present in lower pane 105
following promotion. However, in the Topics facet, a promoted choice does not remove
the choice from lower pane 105. A choice that has been demoted is only present in lower
pane 105. Upper pane 104 comprises the user's "short list" of preferred choices selected
(i.e., promoted) by the user from among the list of preferred choices generated by
computer-aided decision-making system 100 contained in lower pane 105. Each of these
choices is ranked relative to the other choices in upper pane 104 and displayed in
descending order of user preference. Further, computer-aided decision-making system
100 extracts information concerning the features associated with choices promoted by the
user and uses this extracted information to refine and reorder the set of possible choices
contained in lower pane 105 to increase the likelihood that further system-generated
choices in lower pane 105 will more closely conform to the user's ultimate overall
preferred choice. In this way, as well as through other means described herein, computer-
aided decision-making system 100 guides the user quickly and efficiently to her preferred
choices from among a plurality of possible choices.
In a presently preferred embodiment, computer-aided decision-making system 100
uses a look-ahead function to elevate the relative ranking of certain choices (i.e., elevated choices) with respect to other choices indicated in lower pane 105 based on the presence of one or more distinguishing attributes associated with the elevated choices. Computer-
aided decision-making system 100 determines the distinguishing attributes by applying the
look-ahead function to identify attributes for which user feedback, if received by
computer-aided decision-making system 100, would be helpful and meaningful to
computer-aided decision-making system 100 in refining and reordering the ranked plurality
of choices in lower pane 105 such as to increase the likelihood that further system-
generated choices in lower pane 105 will more closely conform to the user's ultimate
overall preferred choice. In this way, computer-aided decision-making system 100
solicits user input and uses this user input to further narrow the decision space of possible
choices presented to the user in lower pane 105, as well as to suppress cumulative choices
that are less preferred by the user and from which computer-aided decision-making system
100 can learn nothing further about the user's true preferences. Criteria used by the look-
ahead function to determine distinguishing attributes may include, but is not limited to,
attributes for which no user preference has been provided by the user, attributes for which
user feedback may allow computer-aided decision-making system 100 to exclude a large
number of possible choices, and attributes for which conflicting user information currently
exists. In this way, as well as through other means described herein, computer-aided
decision-making system 100 helps the user to converge quickly and efficiently to her
preferred choices from among a plurality of possible choices.
Rules embodying relationships between choices, or "rulettes," are another aspect
of the present invention that help to efficiently eliminate undesirable choices. For
example, in an automobile-buying application, computer-aided decision-making system 100 includes a rulette relating driver age to purchaser needs such that, for example, if the
user indicates that the driver is an elderly person, then the correlation score for
"transporting children" is decreased as a needs or requirements choice input. Rulettes are application- sp ecific.
A user may "drill down" to view more detailed information associated with a
choice by requesting additional detail concerning that choice through, for example, but not
limited to, using a personal computer mouse device to select the choice. As described earlier, computer-aided decision-making system 100 provides more detailed information
upon user selection of any one of a plurality of the displayed items as indicated in Figure
1A including, for example, but not limited to, decision gauges, advocates 101, and
choices. In the context of a choice, upon user selection of a particular choice, computer-
aided decision-making system 100 reports detailed information associated with that choice
(i.e., sub-choices). For example, in an exemplary home purchase decision application,
upon user selection of a choice, computer-aided decision-making system 100 extracts,
formats, and reports detailed information associated with the particular choice obtained
from a plurality of databases 301.
Further, computer-aided decision-making system 100 generates a choice topology
by further decomposing choices into multiple sub-choices. Sub-choices may be grouped
into "containers" of sub-choices, wherein the associated decision state of each sub-choice
in a container is able to be viewed together by a user along with all other sub-choice
decision states in the container. Preferably, computer-aided decision-making system 100
includes various types of containers, including, but not limited to: topics, super-choices,
variable sets, weak groups, and strong groups. For topics containers, topics may be singly or multiply instantiable (i.e., only one or multiple instances of the same decision). A topic choice has no q-value in the lower
pane. Once a topic is promoted, it will "prompt" for a document name, and from there on,
this name will be treated like a filename in OS. (E.g., no duplicates, etc.) A topic may
have some sub-choices in the lower pane. Selecting a sub-choice for promotion results in
the same behavior as selecting the container (prompt for name, etc.), except the initially
visible frame will be the sub-choice. For example, in an exemplary home-purchasing
application, a sub-choice may be "select a neighborhood". If the user selects this sub-
choice, then an empty "find a home" decision will be generated to hold the neighborhood
decision. The system may add other sub-choices to a topic as a result of the user's action.
For example, transactions that are saved by the user will appear as sub-choices in the
topic. Such dynamically generated sub-choices will not be present in the lower pane.
For super-choice containers, the container and the sub-choices stick together. The
container and the sub-choices are singly instantiable. The sub-choices are not selectable.
Usually, there are associated aggregation and segregation functions.
Some container choices may chose to only show a subset of their sub-choices. A
visual UI mechanism, variable set enumeration, may be employed to allow expansion of
other choices, or browsing of the "hidden" ones. Some applications of this technique are:
1) For lengthy enumerated lists, in a separate frame the user will decide the choices that he does or does not want to be considered and all other choices will not be normally seen in
the container; and 2) Proposals in the proposal containers. For example, in an exemplary
automobile-purchasing application, proposals may be ranked as groups of make-model.
Under each make-model container, all the trims are listed by rank. If all possible trims are listed, then the upper portions the lower pane is wasted on proposals that may be ranked
much lower then trims in the lower make-model containers. With variable set container
feature, each container will only show the choices that are worthy of their location. Lower
ranked sub-choices will be "hidden", but the user can expand the container to see the
hidden choices.
For weak group containers, the container is not promotable nor liberal in its scope.
All sub-choices are singly instantiable. This is the preferred container for the proposal
facet.
Strong group containers are described as follows. In either pane, if a single choice
is promoted/demoted, then if the container does not exist in the new pane, it is created,
and the single choice is added to it; second and consecutive choices are just added to the
existing container in the target pane, and, if the only choice in a container is removed, the
container disappears. In the Lower Pane, the container choice has no q-value, the
container choice is selectable, and if the container choice is promoted/demoted/excluded,
then the container and all of the sub-choices are promoted/demoted/excluded. In the
Upper Pane, as long as all the sub-choices are not promoted, the container choice displays
a drop-down menu with the unpromoted sub-choices plus " — Select another --" choice.
When closed, the drop-down displays the Select another choice. If a sub-choice is
selected from the drop-down, then it is promoted, and added to the end of the container,
displaying the surrogate q-value. If the user selects "I don't know" in a sub-choice, it will
be demoted.
In the case of Super Choices and Variable Sets, the container and all the sub-
choices are a single logical choice. The sub-choices are merely a mechanism to provide an elaborate mechanism for specifying q-values. Therefore, only the container has an influence.
For Weak Groups and Strong Groups, the container is not a logical choice, and all
the sub-choices are. Therefore, all the sub-choices have their individual influences, and
the container has no influence of its own, but it usually assumes the influence of its most
influential sub-choice.
Each choice contained in the upper pane 104 and lower pane 105 is scored by a
plurality of decision gauges 106 that indicate relative completeness in satisfying the user's
goals and requirements. As indicated in Figure IN in a presently preferred embodiment, decision gauges 106 are provided for advocates 101, facets 102, choices in upper pane
104, and choices in lower pane 105. In a presently preferred embodiment, decision gauges
106 are also provided for each advocate opinion and each attribute associated with each
made choice in upper pane 104. A user may interrogate a decision gauge 106 to view
more detailed information associated with it by requesting additional detail concerning that
decision gauge in the manner indicated above (e.g., selecting the decision gauge item).
Upon user selection of a decision gauge 106, computer-aided decision-making system 100
reports, in human readable form, which may include, but is not limited to, graphical
representation, additional detail concerning the current state of the first-layer rules,
weighting, and values underlying the normalized numeric score represented by the current
state of the decision gauge 106. Thus, a decision gauge report provides insight to the user
regarding how computer-aided decision-making system 100 arrived at a particular decision
gauge state. Further, the user may drill down deeper into successive layers of preceding
rules, or "feeding" rules, associated with the decision gauge state to explore the chain of relationships (i.e., rules firing, antecedent conditions or rule predicates that are satisfied) between linked rules in different layers followed by computer-aided decision-making system 100 to arrive at the current decision gauge state.
Figure 2 provides a functional block diagram of a presently preferred embodiment
of computer-aided decision-making system 100. Referring to Figure 2, an analysis engine
330 receives information in the form of merchant product data 310, shopper (i.e., user)
profiles 311, expert systems 201, as well as answers, values, and preferences 202 from a
"shopper" or user 204 of computer-aided decision-making system 100. Analysis engine
330 updates shopper profiles 311 and may provide information to an on-line store 203
based on information determined during a user session. In a presently preferred
embodiment, analysis engine 330 interfaces to the on-line store 203 via XML; however,
this interface may be achieved using other means such as, but not limited to, HTML or file exchange such FTP, or email or electronic network. Further, analysis engine 330 provides
information to the user (e.g., shopper) 204 in the form of questions, advice, and
suggestions 205 in the manner disclosed herein. In a presently preferred embodiment, user
204 interacts with computer-aided decision-making system 100 using a web browser.
Figure 3 illustrates an architecture for a preferred embodiment of computer-aided
decision-making system 100, said architecture comprising databases 301, rules 302, code
(i.e., software) 303 implementing analysis engine 330 along with server-side
application/web server software 331, and a client-side web browser 304 and applets 305.
Referring to Figure 3, the databases 301 comprise a merchant/products database
310, a shopper profiles database 311, a database comprising third party facts/data/knowledge base 312, a residual knowledge base 313, and user decision
documents 314. One or more databases 301 may be encrypted for privacy.
The merchant/products database 310 contains detailed product or service information which is used along with other information by computer-aided decision-
making system 100 to generate the surrogate values. The information in the
merchant/products database 310 provides the set of possible choices from which
computer-aided decision-making system 100 chooses in generating the surrogate values.
In an exemplary on-line home buying purchase decision application, merchant/products
database 310 includes detailed listing information on available houses which may be obtained, for example, from a plurality of realtors.
Shopper profiles database 311 comprises a repository of user profile information
for individual users or customers of an on-line purchase system. User profile information
may include, but is not limited to, personal information useful to computer-aided decision-
making system 100 in generating a relevant set of surrogate values. Such information may
include, for example, the user's age, the number and ages of her children, favorite colors,
as well as other like information that computer-aided decision-making system 100 may use
in generating the surrogate values. Significantly, a particular shopper profile of shopper
profiles database 31 1, once established, may be reused by a plurality of applications in a plurality decision-making contexts that use computer-aided decision-making system 100.
In a presently preferred embodiment, prior to the first time a particular user interacts with
computer-aided decision-making system 100, shopper profiles database 311 contains a
default set of user profile data based on demographic or statistical information. Further,
computer-aided decision-making system 100 uses information obtained from the user during a user session to refine the values in shopper profiles database 311 associated with
that particular user, and, further, to narrow the range of surrogate values provided to the user. Further, an advocate 101 may compare information provided by the user during a
user session to corresponding information contained in shopper profiles database 31 1 to
determine when to issue a report to the user as described herein.
Referring again to Figure 3, third party facts/data/knowledge base 312 comprises
other generally relevant information that is useful to computer-aided decision-making
system 100 in generating surrogate values or advocate reports. In an exemplary on-line
home buying purchase decision application, third party facts/data/knowledge base 312
may include, but is not limited to, neighborhood crime statistics, property tax rates, and
the like.
Residual knowledge base 313 comprises a repository of user-discovered errata or
desired modifications to the information contained in merchant/products database 310. A
surrogate value listing produced by computer-aided decision-making system 100 may
include information obtained from merchant/products database 310, which may later be
determined by the user to be inaccurate. For example, in an exemplary on-line home
buying purchase decision application, a particular surrogate value may indicate that the
listed house includes a two-car garage. If the user subsequently determines that the house
actually has a one-car garage, residual knowledge base 313 provides a means for the user to enter this updated information into computer-aided decision-making system 100 and to
carry it forward for future user sessions.
User decision documents 314 comprise stored snapshots of the user session state
taken at particular points in time upon user command. Each stored session state may be subsequently selected and viewed by the user as described in Figure IN for example, such
that the user may recall and reconstitute the earlier stored decision state of his user
session.
Referring again to Figure 3, rules 302 used by computer-aided decision-making
system 100 comprise database descriptions 320, system rules/facts 321, and application
rules/facts 322. Database descriptions 320 provide a mapping between the internal
representation of information, as described herein, and the database location of the
corresponding information in databases 301. System rules/facts 321 comprise decision
rules that are application-independent and therefore common to all applications operating
within computer-aided decision-making system 100. Examples of such common rules may
include, but are not limited to, rules relating to how computer-aided decision-making
system 100 decomposes decisions and how goal facets relate to requirement facets.
Application rules/facts 322 comprise decision rules that are application- specific and therefore variable across different applications, including rules used by computer-aided
decision-making system 100 to determine advocate 101 responses.
Referring to Figure 3, in a presently preferred embodiment, analysis engine 330 is
implemented in software that resides on a host server. Application/web server software
331 also resides on the host server. Analysis engine 330 decomposes the decision-making
process into components and structures information relevant to the decision into decision
frames to be used in producing suggested choices to a user in the manner described herein.
Analysis engine 330 extracts information relevant to the decision domain from
databases 301, translates this information into a preferred internal representation
according to the notation described herein as determined by the mapping provided by the database descriptions 320, applies system rules/facts 321 and application rules/facts 322 to
the internal representation of the translated database information as well as to information
received from the user through, for example, user interaction with the computer-aided
decision-making system 100 through a web browser, to produce a plurality of system-
generated choices. These system-generated choices are possible solutions to satisfy the
user's decision/sub-decision. In a presently preferred embodiment, for the Requirements facet, computer-aided decision-making system 100 indicates system-generated choices
relevant to a sub-decision in the form of surrogate values displayed to the user in the
lower pane 105 of the Requirements facet (reference Figure 1A). For the proposal facet
(e.g., Houses facet), computer-aided decision-making system 100 indicates system- generated choices relevant to the decision in the form of proposals displayed to the user in
the lower pane 105 of the proposals facet. Each system-generated choice is evaluated by analysis engine 330 using a preferred internal representation of the translated database
information, as well as information received from the user, to arrive at an overall attributes
preference score for that system-generated choice. Each system-generated choice is then
ranked relative to other system-generated choices according to its attributes preference
score and other factors including, but not limited to, its system-determined relative
significance with respect to other such system-generated choices.
The attribute scoring process performed by analysis engine 330 for system-
generated choices, as well as for advocate attribute scores and report attribute scores, is
illustrated in Figure 7, preferably using the notation described herein. This ranking is used
to order the surrogate values and proposals provided to the user in lower pane 105 as
described herein. Further, during the process of scoring and ranking a plurality of system- generated choices, analysis engine 330 resolves conflicting user information or selections
to determine a single ordered list of a ranked plurality of system-generated choices. In a presently preferred embodiment, analysis engine 330 includes a similarity function that is
used to determine the similarity between proposals as part of the scoring process. The
similarity function operates by analysis engine 330 calculating the Euclidean distance
between two proposals based on their attribute values, modulated by the influence of those
attributes, preferably in the form of a weighted Hamming distance. Uncertain information
or influence does not contribute (positively or negatively) to the distance. The values of
the various attributes are normalized according to a cost associated with each attribute.
Points of view are distinguished by the influence of the attributes (and, in some cases, their
values).
In a presently preferred embodiment, computer-aided decision-making system 100
maintains the informational elements comprising choices according to the following formal notation.
Generally, a preferred choices and facet notation is described as follows:
1. Let a choice be denoted as "x".
2. All choices in an application domain are X.
3. All choices made by user "u" are UX.
4. All choices in the Upper pane of facet "f ' are Xr/ .
5. All choices in the Lower pane of facet "f ' are XL f .
6. All choices in facet "f are Xf = Xuf X f
7. A choice made by user "u" in the Upper pane of facet "f ' is uxτ 8 The values of all choices made by user "u" in the Upper pane of facet "f ' is
uXuf[q]
9 The values of all attributes of a choice made by user "u" in the Upper pane of facet
Figure imgf000037_0001
10 The time at which attribute "k" of choice "j" was modified by user "u" in
the Upper pane of facet "f ' is ux,τjf[ak[q[t]]]
Furthermore, users, facets, choices, and attributes are indexed according to a
preferred notation as follows
1 Users U e ui, u , Uh, Uh+i, UH
2 Facets F e Philosophy, Environment, fi, f1+1, Proposals, Customization (= β)
wherein the facet to the left of the current facet, "f ' (or f,), is the previous
facet, "f-1" (or ) All facets to the left of the current facet, "f," are "f-"
The facet to the right of the current facet, "f," (or f ), is the next facet,
"f+1" (or f1+ι) All facets to the right of the current facet, "f," are "f++"
3 Choices in a pane X e xi, x2, xJ; xJ+1, uj
Jf = Juf+JL f wherein the total number of choices in facet "f ' is the sum of those in the upper
and lower panes
4. Attributes A e ai, a2, at, ak+i, aK
Figure imgf000037_0002
wherein the total number of attributes of a choice in a facet is usually the
same as the number of choices in the previous facet A choice is comprised of various constant elements (or static elements), such as, for
example, name, range, cost, question text, and answer text, as well as variable elements (or dynamic elements), including qualified value, x[q]; influence, x[i], and an attribute
list x[A] Thus, a choice is represented as
V = Y[q, i, A]
Further, a qualified value of a choice is comprised preferably of these variable
elements fuzzy value, q[v]; likelihood (certainty), q[l], probability, q[p], and time (age), q[t] Thus, a qualified choice is represented as
uxf[q] = V[q[v,l,p,t]]
The value of a choice depends on which pane it is in The value used in the Lower
pane is the surrogate value, vL , and is set by computer-aided decision-making system 100
The value used in the Upper pane is the user-modified value, vu , and is set by the User
The value vu is set to vL the first time the choice is promoted Every choice (except a
proposal) has an associated attribute that shares the same constant elements
Every choice has an attribute list attached to it that shows its participation in the
previous facet That is, every choice x can be described in terms of all the choices, Xf_1
Each facet contains a subset, Xf, of the total choices in the application domain, X Each
choice within a facet must be characterized by its participation in a set of attributes, A
The set of Attributes in one facet is identical to the set of choices in the previous facet
Af = [a_ , a2, ΩκF]f = *1 = xr""1 + x "1 + + JF- "1 wherein each term indicates a choice type, such as "number of bedrooms",
not a specific choice value within a pane or a specific attribute value within
a choice.
An attribute is similar to a choice that has already been made and exists within the context of another choice; it merely has a qualified value, not an influence or attribute list:
ak = ak[q[v,l,p,t]]
The value of an attribute depends on which pane it is in. The value used in the Lower
pane is the original value, VL , and is set by configuration. The value used in the Upper
pane is the user-modified value, vu , and is set by the User. The value vu is set to vL the
first time the choice is promoted. (Unlike a choice, the user will not modify the attribute
value, in most cases.)
Facet action rules have the following notation. (The following rules assume a single
user throughout.)
1. User action
Xuf <— user event
x[q] f <r- user event (including "it depends")
x[i]Lf <— user event wherein all choices promoted to an upper pane have their
value and influence set explicitly by the user.
2. Surrogate Value
Figure imgf000040_0001
wherein default values in a lower pane are influenced by
the choices in the upper panes of all facets to the right. 3. Next choice
a) Acyclic
xL f[i] = fn(Xu f-I, Xuf+1, XL f+1) wherein the next choice ordering is influenced by the choices in the upper pane of the facets to the left and right (coherency terms) in
competition with the choices in the lower pane of the facet to the right
(look ahead term).
b) Cyclic (may be chaotic)
Figure imgf000040_0002
wherein the next choice ordering is influenced by all the choices in the facet
to the left and the choices in the upper pane to the right (coherency terms) in
competition with the choices in the lower pane of the facet to the right (look
ahead term).
Consistency rules have the following notation:
1. Horizontal
xuf[q] <-> Xuf" wherein all choices promoted to an upper pane have their value checked
for consistency with the choices in the upper panes to the left. Inconsistencies are modulated (magnified) by the influence assigned to the choice (the
x[i]uf term).
2. Vertical
xuf[i] <-> Xuf++ wherein all choices promoted to an upper pane have their influence
checked for consistency with the choices in the upper panes to the right.
A preferred scoring notation is as follows:
1. Let a score be denoted as "s".
2. All scores in an application domain are "S."
3. Scores can be created by any scoring entity including advocates, users, reports, and
other functions of computer-aided decision-making system 100. Even other choices and the previous facet can be scoring entities.
4. Entities: E e A (advocates), U (users), S (system), R (reports), X (choices), F
(facet)
5. All scores made by entity "e" are eS.
6. All scores made by all entities on all choices made by user "u" in facet "f ' are uSf
7. All scores made by entity "e" on all choices by user "u" in the Upper pane of facet "f '
is U eSuf
8. A scores made by entity "e" on choice "j" by user "u" in the Upper pane of facet "f ' is uf eSjU - 9 Entities can score elements of a choice, value, influence and Attributes, yielding a
value score, s[q], an influence score, s[ι], or an attribute score, s[A]
Scoring functions have the following notation
1 Value Score (also referred to as "q-value")
u eSjU f[q] = fn(V[q], W) wherein the entity, "e", scores the "jth" choice (of user, "u", in the Upper pane of Facet "f ' as a function of the value of that choice compared to
the scoring entity's version of that value
An Advocate value score
ax/[q] = aRules(X - ) wherein an advocate (or the system) generates its values for this choice
based on the user's choices in the previous facets (including user
profile), or possibly also based on the other user choices in this facet
2 Influence Score
u eSjU f[ι] = fn(V[ι], W) wherein the entity, "e", scores the "jth" choice (of user, "u", in the upper
pane of facet "f ') as a function of the influence of that choice compared
to the scoring entity's version of that influence
An advocate influence score
ax [ι] = afn(axJ[N]f, Xuf l) wherein an advocate (or the system) generates its influence for this
choice by using its own attribute list for this choice to evaluate the user choices in the previous facet, or possibly also based on the user's
choices in the previous facets (including user profile)
3 Attribute Scores (assuming a single user throughout)
a) Advocates and other users score attributes against their choices aSjU f[A] = fn(XjU f[A], 'X^q], 'X^fi])
wherein the advocate, "a", scores the "jth" choice (in the upper pane of
facet "f ') as a function of the value of that choice's attribute values
compared to the values and influences of the advocate's choices in its
previous pane b) Reports score attributes against their special functions, facts and the user's
influences rSjU f[A] - report (Xι/[A], Xf"'[i], Tacts)
wherein a report, "r", scores the "jth" choice (in the Upper pane of Facet
"f ') as a function of that choice's attribute values, evaluated by it's
special functions and facts and the user's influences
c) Choices score attributes against their values and the user's influences (i e ,
billboarding)
XJSuf[A] = fn (Xr/[A], x [N[q]], X^i]
wherein a choice "x ', scores all other choices (in the Upper pane of
Facet "f ') as a function of the value of each choice's attribute values,
compared to its values and the user's influences Ranking is performed in accordance with the following notation:
1. Let a rank be "r".
2. The rank of the "jft" choice in the lower pane of facet "f ' of user "u" is urj f
In the upper pane, ranking is set by the influence of the choice which is set by user. In
the lower pane, ranking is set by the influence according to Facet rules.
In applying the rules to the database and user information, analysis engine 330 may
employ a variety of computational techniques including, but not limited to, fuzzy logic,
decision matrix, decision tree, laws of inference, first order predicate logic, calculus,
neural networks, statistics, probability, utility theory, operations research, systems theory
(e.g., LaPlace, Fourier), project management (resource leveling), prediction tools, or
genetic algorithms. Analysis engine 330 applies the rules in successive layers such that
intermediate rules are applied to produce intermediate values to feed the next layer, or
succeeding layer, of rules in an iterative manner until one or more ranking values are
obtained. Computer-aided decision-making system 100 uses this ranking value in the
manner described above to determine a relative ranking of a plurality of choices. Further, computer-aided decision-making system 100 uses the ranking values to produce
corresponding decision gauge states. In producing ranking values, analysis engine 330
uses the information contained in databases 301 and rules 302 to select the rules to be
applied, perform iterative application of the rules, link the rules and establish their
relationships, provide weighting of the input values that the rules operate on, and interpret
the rules and their outputs. A rule "fires" when it has been selected, all required inputs or
operands are available, and any preconditions to the rule have been satisfied. In a presently preferred embodiment, analysis engine 330 uses recursion in applying the rules
using a fuzzy logic implementation as described herein.
In a presently preferred embodiment, rules are implemented in accordance with the
pseudocode structure. Categories of rules provided by computer-aided decision-making
system 100 include, but are not limited to, articulation rules, permutation rules, and rule
engine rules. Articulation rules further comprise intrinsic behavior rules, education rules,
humanization rules, sanity rules, humor rules, etiquette rules, user interface presentation
rules, and processing rules. Intrinsic behavior rules are articulation rules that complement
hard coded intrinsic behavior. Intrinsic behavior rules can further refine the intrinsic behavior of computer-aided decision-making system 100. Education rules educate and
guide the user on subjects of decision making in general and the current decision
document (e.g. "If the user is spending all his time in the Proposals facet, tell him to visit
the other facets"). Humanization rules make computer-aided decision-making system 100
behave more human-like (e.g. "If you have already said something, then don't say it
again"). Permutation rules set or modify the value of an object and include influence
modifiers and surrogate value modifiers. Rule engine rules govern the behavior of analysis
engine 330 and also serve to protect the integrity of the system against undesirable user or
customer-added rules. Further, computer-aided decision-making system 100 includes a language generator that translates a particular rule into human understandable terms by
presenting the rule (including, but not limited to, the rule antecedent, operation, and
result) using conditional statements (e.g., "if, "then", "otherwise") to facilitate user
understanding of the rule upon viewing it using the user interface. In a presently preferred embodiment, computer-aided decision-making system 100
is implemented using a distributed computing, client-server model as illustrated in Figure 4 comprising databases 301, rules 302, web browser 304, server- side application/web server
331, applets 305, analysis engine 330, binary decision state data - transient data 405, a
user document entity 406, and back-end tools 410. It is to be recognized that the present
invention may be implemented using one or a combination of many different computing models and media including, but not limited to, standalone environments, networked
environments such as company intranets or the Internet, shopping/retail kiosks, wireless
networks including public or private communications systems or other use of radio and
infrared links, personal digital assistants (PDAs), or other such devices and appliances.
Referring to Figure 4, databases 301 may interface to analysis engine 330 via a
database query language, C++, or any object oriented language. In a presently preferred
embodiment, databases 301 interface to analysis engine 330 via JAVA Database
Connectivity (JDBC) database query language 401. Analysis engine 330 uses a pattern-
query translator 402 to translate standard-format database pattern query information into a
corresponding internal representation for computation, and vice versa. Similarly, analysis
engine 330 uses an assert-record translator 403 to translate into standard-format database
record information a corresponding internal data representation (preferably as described
herein), and vice versa. Analysis engine 330 includes a rule engine kernel 408 which
provides the computational element as described previously. Analysis engine 330 uses an
XML-fact translator 404 to translate internal fact representations into corresponding
standard-format database records information for storage in computer memory of the user
document object 406, and vice versa. User document object 406 includes information concerning a user session which may be stored in user decisions documents 314 database
upon user command. Upon request from the user to retrieve a particular user session
decision state as previously described, user document object 406 includes, but is not
limited to, persistent data required to restore the then existing decision state of a user
session. In a presently preferred embodiment, user document object 406 provides the
persistent data to XML-fact translator 404 of analysis engine 330 via an XML interface
409.
Similarly, binary decision state data - transient data 405 includes binary fact state
information associated with a user session which may be stored in user decisions
documents 314 database upon user command. Upon request from the user to retrieve a
particular user session decision state as previously described, binary decision state data -
transient data 405 includes, but is not limited to, binary decision state data or transient
data required to restore the then existing decision state of a user session. In a presently
preferred embodiment, binary decision state data - transient data 405 provides binary
decision state data or transient data to analysis engine 330.
Further, back-end tools 410 provide a development environment in which one of
more domain experts can quickly develop application rules/facts 322 relevant to a specific
application or decision context for use with computer-aided decision-making system 100.
In a presently preferred embodiment, computer-aided decision-making system 100
maintains and applies inter-facet rules provided by user interaction with back-end tools
410.
Referring again to Figure 4, in a presently preferred embodiment, database
descriptions 320, application rules/facts 322, and system rules/facts 321 are provided in the XML mark-up language. Application rules/facts 322 and system rules/facts 321 are compiled into binary format for use by analysis engine 330. As indicated in Figure 4,
database descriptions 320 and application rules/facts 322 are associated with the
application, while system rules/facts 321 are associated with analysis engine 330. Thus,
each decision-making application may be associated with a unique set of database
descriptions 320 and application rules/facts 322, while system rules/facts 321 are common
to all applications operating within computer-aided decision-making system 100.
A presently preferred embodiment of server-side application/web server software
331 is implemented in accordance with the Enterprise Java Bean (EJB) architecture shown in Figure 15, which will now be described in detail.
One or more Session Beans operate within the context of an Enterprise Java Bean (EJB) application server that provides communication, multi-tasking and database
connectivity infrastructure. The user interacts with the session bean through a user
interface, hosted in a user's web browser. The session bean manages long term data
persistence in conjunction with one or more databases via EJB Entity beans or, more
directly, via the Java Database Connectivity API (JDBC). To maintain implementation
flexibility and accelerate development, a preferred architecture (reference Figure 15)
implements the server-side application web server software 331 application as a number of
distinct modules interconnected by simple, well defined, but flexible interfaces. In
presently preferred embodiment, six modules are defined: System Services 1502, Event
Processing 1504, User Interface Adapter 1506, Decision Document 1508, XFerence
Engine 1510, and Database Services 1512. Intermodule communication and cooperation
is implemented by three primary methods: events, method calls on module interfaces, and direct access to the decision document. Events are intended to offer a generic method of
letting modules interact on an application wide basis while not rigidly encoding the details
of that interaction in the individual modules themselves. Events operate as a messaging
type system. Any module can originate an event, the details of which are encoded in an
event object. The module then submits that event to the Event Processor Module 1504.
The Event Processor 1504 then handles the high level sequencing and distribution of the
event. Each module is offered a turn to veto an event, to process the event, and to act
upon the combined results of the processing of all the modules.
Each module provides a well defined, flexible interface to facilitate communication
with other modules. One group of interface methods is used to implement the event
processing. This set of methods is common to all the modules. Further, some modules
may offer specific services, or interact on a one-to-one basis. For example, the System
Module 1502 provides the networking support to allow the client user interface to
communicate with the application via the User Interface Adapter Module 1506. The User
Interface Adapter Module 1506 implements a method that takes a serializable object as an
argument and returns a serializable object as a result. The System Module 1502 simply
handles the network connection, passes a generic argument and returns a generic result.
The UI Adapter 1506 is responsible for interpreting the communication, taking the
necessary action, and generating the correct response. The intent of the module interfaces
is to implement a small number of methods that represent relatively generic functions that
require little or no knowledge of the internal implementation of the module. This should
allow developers to work relatively independently on the internals of the modules without requiring constant coordination and consultation with developers working on other
modules.
The decision document requires intensive interrogation and modification by
various other modules, and is also a shared data structure. Therefore, while the Decision
Document 1508 implements the methods of the event processing interface, some modules
preferably work directly on the internal objects of the document. The XFerence Engine
Module 1510 reads and modifies the Decision Document 1508 extensively while it
Churns, and the UI Adapter 1506 has to constantly re-read much of the Decision
Document 1508 to update the UI 1506.
An event is submitted for processing by encoding its details in an XEvent object and calling this function on the Event Processor 1504. The Event Processor 1504 in turn
calls this method on each of the modules to actually process the event. The order in which
the modules are called may depend on the event type. While processing an event a
module may submit a child event for immediate processing by calling processEvent on the
Event Processor Module 1504 with the new XEvent object. Additionally, a module may
submit an event for processing subsequent to the completion of the current event by
calling the Event Processor's queueEvent method. Each module returns true from this
method if its processing has affected the state of the Decision Document 1508or false
otherwise. Because of the difficulty of maintaining a consistent document state as multiple
modules are modifying the Decision Document 1508, throwing exceptions during the
processing of events is avoided. Instead, the validity of an event is thoroughly checked
during the allowEvent processing before any module has modified the document. The System Module 1502 creates and owns the root objects of each of the
remaining modules. Only the Decision Document Module 1508 is persistent; all other
modules should be designed so that all data or state information required to persist longer than the processing of a single event or method call is stored in the Decision Document
1508. The initialize and ret/re events can be used to control the creation and destruction
of fields that can be generated dynamically.
The system services module offers a generic interface to "system" services
including external communication, external data access and data persistence.
Although a preferred implementation uses EJB's, it is straightforward to replace the EJB
implementation with equivalent services based on a standalone user system (e.g. windows
systems calls, file based persistence, etc.).
A Module within the Decision Document (BDS) encapsulates the working data for
the decision. Saving and restoring the BDS completely restores the state of the decision
application. The state offers two independent methods of persistence, Java serialization
and XML loading/generation. The serialized data of either of these methods will be
loaded/stored via the EJB Framework.
The Event Processor Module is the conduit through which actions are coordinated
and dispatched. Action requests and event notifications may be submitted by or to any of
the other main modules via the event processor. Processing of an event may generate
child events in one of two ways: The child event may be processed immediately (i.e.
within the context of an enclosing processEvent call) if submitted to the event processor
by calling processEvent; alternatively, the child event may be processed subsequent to the
completion of its parent if submitted by calling queueEvent. Regardless of the child event type, the child event processing starts with a veto polling cycle independent of the parent
event vetoing. The vetoing of a child event has no automatic impact on the parent event. If the child event was of the immediate type the module that submitted the child may
choose to return an exception from the processEvent call that was processing the parent
event. Otherwise, the processing of the parent event continues normally. If the child
message was of the queued type then the parent event has already completed and cannot
be affected by the vetoed child event. A processing exception in a child event has the
same effect as in its parent event. The contents of the Decision Document are considered
invalid after a processing exception and the decision is rolled back to its last saved state
with a possible associated data loss. For this reason it is recommended to only return
exceptions from child event processing under the most sever circumstances. Child events
and their parents all share a single docUpdatePerformed call cycle by the Event Processor.
The method will be called with an argument value of true if the original event or any of its
descendant events made changes to the Decision Document.
Events should be encoded in an implementation neutral format that does not reflect
the particulars of the UI or the "operating system" (EJB). Events include, but are not
limited to, Application Initializing Events, Start New Decision Event, End Decision Event,
User Identification Event, Vendor Handoff Event, UI Events, View Selection, Facet
Selection, Proposal Selection, Report Requests, Advocate Selection Dismissal, Choice
Promotion, Choice Q-Value Editing, Choice Demotion, and Choice Trashing.
The UI adapter encapsulates the communication and servicing of the user
interface. Specifics of the user interface, messaging parsing, and UI data buffering are handled here. The UI Adapter interface is designed so that it can be easily replaced with
alternative implementations, a Windows UI or DHTML, for example.
The Xengine module implements the core of the decision processing. It is initiated
by events submitted to the Event processor, and may in turn submit events to the Event
processor. It may also call directly on services of the Database Access module. The
Xengine module comprises an Intrinsic Behavior Processor, XEngine Rule Based
Behavior, and an Articulation Engine.
Database access is provided by the database services module. The external
interface offers implementation neutral services for queries, proposal retrieval, etc. The interface is designed to function with and independently of JDBC, ODBC, or SQL
specifications.
Finally, server-side application web server software 331 provides miscellaneous
utilities including an XML Parser and an XML Bridge.
In a presently preferred embodiment, applets 305 are implemented in the JAVA
programming language. In a presently most preferred embodiment, databases 301, rules
302, analysis engine 330, binary decision state data - transient data 405, and user
document object 406 are implemented in accordance with the EJB methodology. Further,
back-end tools 410 support development of application rules/facts 322 in accordance with
the EJB methodology.
Referring to Figure 9, in a presently preferred embodiment, computer-aided
decision-making system 100 is implemented as a plurality of execution layers comprising a
view/doc layer 501, a tool layer 502, a report layer 503, and a decision layer 504.
View/doc layer 501 interacts with the user during one of a plurality of user sessions with computer-aided decision-making system 100 in the manner described herein. Figure 1A
provides a detailed illustration of a presently preferred user interface for computer-aided decision-making system 100. Tool layer 502 monitors the interaction between the user
and computer-aided decision-making system 100 for such purposes as compiling session
metrics (which may be stored in residual database 313), determining when the user may
require system help, and, generally, observing how the user interacts with computer-aided decision-making system 100. In a presently preferred embodiment, computer-aided
decision-making system 100 develops a plurality of session monitor rules, based on
compiled session metrics, that computer-aided decision-making system 100 uses to adjust
or customize certain characteristics of the user interface (i.e., view/doc layer 501) for user
sessions with that particular user. For example, if a user repeatedly ignores or mutes a particular advocate 101, computer-aided decision-making system 100 may raise the
threshold parameter associated with that advocate in order to limit responses from that
advocate, or computer-aided decision-making system 100 may decrease the influence
score for that advocate, or any combination of these two actions. Figure 10 illustrates
these aspects, as well as other aspects, of user/doc layer 501 and tool layer 502 and
interaction occurring therebetween. In Figure 10 and elsewhere, choices are denoted by
the symbol "X" and scores are denoted by the symbol "S".
Referring again to Figure 9, report layer 503 provides the report generation
functions of computer-aided decision-making system 100 as described herein. Report
generation activities performed by report layer 503 are further illustrated in Figures 11A
and 1 IB. In a presently preferred embodiment, computer-aided decision-making system
100 provides a report zone which, upon user selection of a particular choice or other selectable item using the user interface (e.g., dragging an item into the report zone via
mouse device), computer-aided decision-making system 100 provides further information
(i.e., "education") regarding that item. In addition, computer-aided decision-making
system 100 further comprises an interface that for providing report information to external
5 applications. For example, in an exemplary automobile-buying application, computer-
aided decision-making system 100 may provide the user's telephone number (with the
user's permission) to a selected automobile dealer determined during the user session.
Reports provided for an exemplary automobile-purchasing application include, but are not
limited to, the following reports which may appear in more than one decision topic:
it) Billboard (Self advocacy), Boxing-ring (Comparison), Magnifying glass (details),
Investment value, Cost of ownership, Appraisal, Visualize (Imagine the proposal within a
context), User comments and review, Reviews (Of other users, experts, etc.), Consumer
report, User editing and localizing of the info, Scorecard Formatter, Decision History,
Rejection (Waste Basket), The Shopping Cart (Handoff), in addition, other applications
15 may include Allergies, Life-span calculator, Emotional Impact, Maps, Time-on-the-market
estimator, Closing cost calculator, and Visit sheet.
Referring again to Figure 9, decision layer 504 accomplishes the computational
functions of computer-aided decision-making system 100, including, but not limited to,
computational functions of analysis engine 330 and maintaining the current state of
20 decisions/sub-decisions, scores, rankings, choice ordering, rule selection, and applied rule
results. Figure 12 illustrates the relationships between internal representations of rules,
information, and states used and maintained by computer-aided decision-making system
100 in a presently preferred embodiment according to the notation contained herein. For example, referring to Figure 12, decision state item ulXu comprises all current user-made
choices contained in the upper pane of a particular facet during a given user session. Accordingly, computer-aided decision-making system 100 may comprise a plurality of
decision layers 504, each decision layer 504 being associated with the decision state of a
particular facet 102. Similarly, referring again to Figure 12, decision state item ^X, where
n = 1 to z, and where z is the maximum number of advocates involved in the application
during a given user session, comprises the current state of the information associated with
advocate "n" during a given user session. Other internal relationships as illustrated in
Figure 12 are apparent upon inspection of the contents of this specification and the
preferred notation contained herein.
For an automobile-buying application, for example shown in Figures 16A through
16K, computer-aided decision-making system 100 comprises a handoff frame, a
customization frame, a details frame, a proposals facet, an inventory frame, a vicinity
frame, a dealer frame, a reviews frame, and frames associated with administrative
functions (e.g., login). The handoff frame is used to allow the user to choose the
information to be sent to an automobile dealer and includes advocates, a message box, a
churn icon (to indicate analysis engine processing), an advocate pointer, and facets with a
reject icon. Handoff frame facets comprise a My Vehicle facet, a Contact Information
facet, a Decision Summary facet, and a Send facet. Further, each facet contains a toolbar
for accepting user commands, including "Demote All, Promote All, Print, Save As,
Cancel" buttons. The Demote button removes all choices from the upper pane. The
Promote button adds all choice to the upper pane. When either button is pressed, the System Advocate reminds the user that this will include all, or none of the information in
the facet. The Cancel button closes the window and returns the user to the host decision.
The My Vehicle facet includes upper and lower panes. The choices in the panes
comprise the vehicle's sticker information. The user can order the choices in the upper
pane in the order of the user preferences.
The Contact Information facet contains lower and upper panes. The choices in the
panes are contact information not saved by the system. The choices in the upper pane
display the information that the user should provide. The choices in the lower pane display the information that the user can provide. Information in the panes includes: "Name,
Home Address, Home Phone, Contact Time, Work Address, Work Phone, Fax Number,
Cell Phone Number, Pager Number." The lower pane also includes a "Message" choice
which, when expanded in the upper pane, gives the user a field to type in a message that is
sent to the dealer.
The Decision Summary facet includes lower and upper panes. The choices in the
panes contain decision information relevant to the referral. The choices in the upper pane
display the choices that the user has promoted to the upper panes of the host decision
facets. The choices in the lower and upper panes are organized into container choices,
named for the host decision facet the contained choices appear in.
The send facet contains one pane. The choices in this pane are all the choices in
the upper panes of the other facets in the handoff frame. These choices cannot be dragged
or edited and are her only for the user to review before sending them to a dealer. The user
can review the choices, print them, or save a draft prior to sending it to the dealer, or cancel the referral and return to the host decision. Sending also saves the information, which will then appear as a report in the Topics Facet as a sub-choice of the decision.
The customization frame allows the user to customize the options and packages of
a vehicle. The customization frame contains advocates, a message box, a churn icon, an
advocate pointer, and a facet with a Reject icon. The customization frame has one facet,
the Options facet, which includes upper and lower panes. The choices displayed in this
frame are the options and packages available for a vehicle. The upper pane displays the
options and packages the user has set in the host decision. The upper pane header
displays the vehicle name, the MSRP and the invoice prices. As the user promotes and demotes choices in the upper and lower pane these prices change. The upper pane header
also displays the following columns: Option Code, Option Name, MSRP Price, Invoice
Price. The lower pane displays the other options and packages available for the vehicle.
The lower pane header includes the following columns: Inclusion Icon (a checkmark),
Option Code, Option Name, MSRP Price, Invoice Price, Conflict Icon (a red X), conflicting Option Code, Conflicting Option Name.
The details frame allows the user to review detailed information about a vehicle.
The details frame contains advocates, a message box, a churn icon, an advocate pointer,
and facets with a Reject icon. The details frame has two facets, "Details" and "Images".
The Details facet includes lower and upper panes to display the set of choices that
comprise the detail information of a vehicle. The choices in this facet are formatted for
printing. The upper pane header has two columns: "Description" and "Value." The
choices in the upper pane display the choices that the user has promoted to the upper
panes of the host decision facets. The choices in the lower and upper panes are organized into container choices, named for the host decision facet the contained choices appear in.
The Details facet toolbar includes the following buttons: "Print", "Save As", "Expand All"
and "Collapse All" and "Close" The expand all and collapse all buttons expand and
collapse the container choices in the upper and lower panes. The upper pane of the
Details facet will include change view Icons allowing the user to view the pane as text, or
as gauges.
The Images facet is organized into one pane that displays a list of images of the
vehicle. The user can expand them, which displays the image. The Images Facet toolbar
includes the following buttons: "Print", "Save As", "Expand All" and "Collapse All" and
"Close."
The comparison frame allows the user to review the differences and similarities of
vehicles. The comparison frame contains advocates, a message box, a churn icon, a
advocate pointer, and facets with a Reject icon. The comparison frame has two facets,
"Add" and "Compare". The Add facet includes a lower and upper pane. The lower pane
contains all the choices in the upper pane of the Proposals Facet in the host decision. The
upper pane contains the choice the user promoted. The user promotes additional choices
from the lower pane and then chooses the Compare facet. The Compare facet includes
upper and lower panes. The upper pane header has n columns, "Description," and a
column for each of the vehicles that have been added to the upper pane of the Add facet.
The choices in the upper pane display the choices that the user has promoted to the upper
panes of the host decision facets. The choices in the lower and upper panes are organized
into container choices, named for the host decision facet the contained choices appear in.
The upper pane of the Compare facet includes change view icons allowing the user to view the pane as text, or as gauges The Compare facet toolbar includes the following
buttons "Print", "Save As", "Expand All" and "Collapse All" and "Close "
The inventory frame includes advocates, a message box, a churn icon, an advocate
pointer, and a facet with a Reject icon The inventory frame has three facets "Vehicle,
Search, Available " The Vehicle facet includes a single pane that displays detailed
information about the vehicle that the user has dragged to the report zone The Search
facet includes a lower and an upper pane Choices in the lower pane include Vicinity,
Dealer, Price The Available facet includes lower and upper panes The choices displayed
in the pane correspond to vehicles that meet the search criteria established in the Search facet The user drags choices to the upper pane to refine their list
The vicinity frame allows the user to choose a specific geographic area within
which he is willing to purchase a car The dealer frame allows the user to choose a specific
dealer from which he is willing to purchase a car The vicinity frame and the dealer frame
each contain advocates, a message box, a churn icon, an advocate pointer, and a facet with
a Reject icon
The reviews frame allows a user to read reviews of a vehicle The reviews frame
contains advocates, a message box, a churn icon, an advocate pointer, and facets with a
Reject icon The reviews frame has one facet, "Reviews," which includes lower and upper
panes Choices in the panes are reviews of a vehicle Promoting a review to the upper
pane opens the review for the user to read or print Screen displays for a typical
automobile purchasing decision using the present invention are shown in Figures 16A
through 16K wherein the various steps of choosing a vehicle are shown In an application for a search engine, computer-aided decision-making system 100
includes a search frame 600 comprising a hints and cues facet 601, an association facet
602, and a proposals facet 603 as shown in Figure 14. In this embodiment, computer-
aided decision-making system 100 provides a search capability suitable for, without
limitation, Internet website searching. Hints and cues facet 601 comprises upper pane 104
containing user-entered search terms and lower panel 05 containing "hint" search term
choices based on, for example, but not limited to, a user's previously-searched terms.
Referring now to the example provided in Figure 14, upper pane 104 of hints and cues
facet 601 indicates that the user has specified searching for websites containing "XFI," of
the "company" kind of website, related to a "decision," and related to "sales." Association
facet 602 then refines the search terms developed with respect to hints and cues facet 601
by applying relationship and definitional rules maintained by computer-aided decision- making system 100 in the manner described herein. Referring now to the example
provided in Figure 14, rules associated with the "decision" search term determined with
respect to hints and cues facet 601 specify that "decision" can mean a website related to a
decision support system, or describing how to make decisions, or other related site. In a
similar manner, rules associated with the "sales" search term determined with respect to
hints and cues facet 601 specify that "sales" can mean a website related to, for example, a
store or salesperson employment. Computer-aided decision-making system 100 applies
these refined search term choices in the manner described herein to produce a ranked and
ordered set of website choices in (lower pane 105 of) proposals facet 603 as described herein. In summary, the computer-aided decision-making system supplies data,
information, understanding, analysis, advice and organization to the decision process. The
user supplies his values. Through this simple collaboration between tool and human,
alternatives are distinguished quickly and effectively and common cognitive pitfalls are
avoided until the preferred choice or choices become apparent.
Therefore, a computer-aided decision-making system and method has been
described in the context of an exemplary on-line home buying purchase decision
application. It should be recognized that the present invention is applicable to a variety of
decision-making contexts and applications such as, but not limited to, those described in
Figure 13. The disclosed computer-aided decision-making system provides immediate,
useful, and relevant information to a person in a decision-making context, overcomes
common human cognitive problems that occur in decision-making, and enables consumer
purchases in an on-line sales environment. In particular, aspects of the invention that aid a
person in decision-making include, but are not limited to: managing all the sub-decisions,
educating the decision-maker, highlighting the most important sub-decisions, offering the
most viable proposals for evaluation, distinguishing significant differences between
proposals, supplying various evaluation tools, preventing blind spots, assisting the
decision-maker's memory, gauging the progress of the decision process, and learning about the decision maker from the decision process.

Claims

CLAIMSWe claim:
1. A computer-aided decision-making system comprising:
a rules-based analysis engine employing a plurality of rules, said rules being
used for selecting, scoring and ranking a plurality of choices;
a user interface means for accepting user-provided information, selections,
and responses to system inquiries, and for indicating system-generated reports, proposals
and feedback; and
wherein said analysis engine accepts said user-provided information and presents through said user interface means choices to aid said user in making a decision.
2. The system of claim 1, wherein said user interface means further comprises an
upper pane and a lower pane for displaying a plurality of reports a plurality of decision
gauges, said decision gauges representative of the coherence and harmony of said choices
3. The system of claim 1, wherein said user interface means further comprises a
plurality of advocates selectable by said user and controller by said analysis engine to aid
said user in making a choice.
4 The system of claim 3, wherein said advocates posses articulate behavior by
printed message, sound or movement in response to said user's selection of a choice.
5. The system of claim 1, wherein said analysis engine includes a plurality of databases, said databases comprising:
a merchant/products database containing detailed product or service information;
and
a shopper profile database containing individual shopper or purchaser information
pertaining to personal characteristics, and purchasing behavior, and product/service
preferences.
6. The system of claim 5 wherein said analysis engine comprises:
a residual knowledge database for maintaining errata and modifications to
information contained in said merchant/products database; and
a user decision document database capable of storing decision state information
responsive to said user requesting to store the current decision state for later use.
7. The system of claim 5, wherein said analysis engine further comprises:
a plurality of database descriptions for indexing of information contained in said
databases;
a plurality of system rules/facts that are independent of a decision domain; and
a plurality of application rules/facts that are specific to a particular decision
domain.
8. The system of claim 1, wherein said rules-based analysis engine is a fuzzy logic system.
9. A computer-aided decision making system comprising: a web browser;
a server-side application/web server, wherein said web browser and said server-
side application/web server form a distributed computing client-server system;
a plurality of applets for running a rules-based analysis engine, said rules being used for selecting, scoring and ranking a plurality of choices presented by said client-
server system;
wherein said client-server system aids a user browsing on the web in making a
decision.
10. The system of claim 9, wherein said plurality of applets provide advocates
giving advise to said user to aid in making a decision.
11. A method for assisting a person in making a decision, comprising:
decomposing a choice into a plurality of subchoices, wherein said
subchoices represent different dimensions of a decision space;
determining a plurality of potential proposals for each said subchoice using automated means; and
ordering said proposals using presentation means to indicate a relative
ranking of said proposals using automated means.
12. The method of claim 11, wherein said step of decomposing a choice into a
plurality of subchoices further comprises: retrieving system-provided subchoices specific to a decision domain from a
set of application rules/facts;
accepting user input regarding said subchoices via an input means;
aggregating said subchoices into distinct facets based upon type of information; and
establishing a multidimensional hierarchical relationship among said facets
using a transversal folding behavior, wherein said facets are ordered within a
dimension according to increasing specificity to an ultimate selected proposal.
13. The method of claim 11, wherein said step of determining a plurality of
potential proposals further comprises:
retrieving system-provided values for each said subchoice from a set of
databases;
accepting user-provided values via said input means for one or more of said
subchoices;
calculating an overall weighted score for each subchoice by use of an
analysis engine combining said system-provided values and said user-provided
values; and
generating a plurality of proposals in accordance with said weighted scores.
14 The method of claim 13, wherein said step of calculating further comprises
adjusting value of system-provided values to user selected values,
predicting by use of look-ahead means an adjustment of the ranking of a
choice in order to solicit user feedback for that choice when said system
determines that such user feedback would assist user in converging to a selected choice
15 An analysis method, comprising
extracting information relevant to the decision domain from a plurality of
databases,
translating said information into a preferred internal representation according to a
preferred notation as determined by mapping functions provided by said database
descriptions,
applying analysis engine rules/facts and user-provided information to said internal
representation to produce a plurality of system-generated choices
16 The method of claim 15, further comprising the steps of,
selecting said rules to be applied,
performing iterative application of said rules,,
linking said rules to establish their relationships,
weighting said input values that said rules operate on and interpreting said rules
and their outputs, indicating said system-generated choices relevant to a sub-decision in the form of
surrogate values displayed to the user in a lower pane as a requirements facet;
indicating said system-generated choices relevant to the decision in the form of
proposals displayed to the user in said lower pane of a proposals facet;
evaluating each said system-generated choice using said internal representation of
the translated database information and said user-provided information;
determining an overall attributes preference score for each said system-generated
choice and for each user-promoted choice in said upper pane, wherein said step of
determining further comprises resolving conflicts among said user-provided information to
determine a single ordered list of a ranked plurality of said system-generated choices;
ranking each said system-generated choice relative to other system-generated
choices according to at least an attributes preference score to achieve an order, said step of ranking accomplished by applying said rules in successive layers such that intermediate
of said rules are applied to produce intermediate values to feed the next succeeding layer
of said rules in an iterative manner until said order is obtained;
determining an overall attributes preference score for each of an advocate, said
advocate providing an opinion based on said system rules;
indicating to the user, using presentation means, said surrogate values and said
proposals in said lower pane according to said order; and
indicating to the user, using presentation means, said decision gauge states for
each said proposal in said lower pane and for each said user-promoted choice in said
upper pane corresponding to said overall attributes preference score.
17, A computer readable media that causes a computer-aided decision-making
system to aid a user in making a choice, performing the steps of;
retrieving system-provided subchoices specific to a decision domain from a
set of application rules/facts;
accepting user input regarding said subchoices via an input means;
aggregating said subchoices into distinct facets based upon type of
information; and
establishing a multidimensional hierarchical relationship among said facets using a transversal folding behavior, wherein said facets are ordered within a
dimension according to increasing specificity to an ultimate selected proposal.
18. The computer readable media of claim 17, wherein an advocate is presented to
said user to aid in selecting a proposal.
19. The computer readable media of claim 18, wherein said advocate articulates
his opinion by printed message, sound or movement.
PCT/US2000/003020 1999-02-05 2000-02-04 Apparatus and methods for a computer-aided decision-making system WO2000046651A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP00921318A EP1151412A4 (en) 1999-02-05 2000-02-04 Apparatus and methods for a computer-aided decision-making system
AU41662/00A AU4166200A (en) 1999-02-05 2000-02-04 Apparatus and methods for a computer-aided decision-making system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11881499P 1999-02-05 1999-02-05
US60/118,814 1999-02-05

Publications (3)

Publication Number Publication Date
WO2000046651A2 true WO2000046651A2 (en) 2000-08-10
WO2000046651A3 WO2000046651A3 (en) 2000-12-21
WO2000046651A9 WO2000046651A9 (en) 2001-10-25

Family

ID=22380908

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/003020 WO2000046651A2 (en) 1999-02-05 2000-02-04 Apparatus and methods for a computer-aided decision-making system

Country Status (3)

Country Link
EP (1) EP1151412A4 (en)
AU (1) AU4166200A (en)
WO (1) WO2000046651A2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002044964A2 (en) * 2000-11-30 2002-06-06 Ebbon-Dacs Limited Improvements relating to information systems
WO2002044963A2 (en) * 2000-11-30 2002-06-06 Ebbon-Dacs Limited Improvements relating to event process handling
WO2003021383A2 (en) * 2001-08-28 2003-03-13 Cfph, Llc. Systems and methods for providing interactive assistance on purchase decision-making
US7209914B2 (en) 2001-05-22 2007-04-24 Icms Group N.V. Method of storing, retrieving and viewing data
CN113726732A (en) * 2021-07-14 2021-11-30 华迪计算机集团有限公司 Monitoring and decision-making assisting system and method for data machine room

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390282A (en) * 1992-06-16 1995-02-14 John R. Koza Process for problem solving using spontaneously emergent self-replicating and self-improving entities
US5732397A (en) * 1992-03-16 1998-03-24 Lincoln National Risk Management, Inc. Automated decision-making arrangement

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732397A (en) * 1992-03-16 1998-03-24 Lincoln National Risk Management, Inc. Automated decision-making arrangement
US5390282A (en) * 1992-06-16 1995-02-14 John R. Koza Process for problem solving using spontaneously emergent self-replicating and self-improving entities

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1151412A2 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002044964A2 (en) * 2000-11-30 2002-06-06 Ebbon-Dacs Limited Improvements relating to information systems
WO2002044963A2 (en) * 2000-11-30 2002-06-06 Ebbon-Dacs Limited Improvements relating to event process handling
WO2002044964A3 (en) * 2000-11-30 2002-11-07 Ebbon Dacs Ltd Improvements relating to information systems
WO2002044963A3 (en) * 2000-11-30 2002-12-27 Ebbon Dacs Ltd Improvements relating to event process handling
US7209914B2 (en) 2001-05-22 2007-04-24 Icms Group N.V. Method of storing, retrieving and viewing data
WO2003021383A2 (en) * 2001-08-28 2003-03-13 Cfph, Llc. Systems and methods for providing interactive assistance on purchase decision-making
WO2003021383A3 (en) * 2001-08-28 2003-07-10 Cfph Llc Systems and methods for providing interactive assistance on purchase decision-making
GB2396464A (en) * 2001-08-28 2004-06-23 Cfph Llc Systems and methods for providing interactive assistance on purchase decision-making
US8086500B2 (en) 2001-08-28 2011-12-27 Cfph, Llc Interactive assistance on purchase decision-making
CN113726732A (en) * 2021-07-14 2021-11-30 华迪计算机集团有限公司 Monitoring and decision-making assisting system and method for data machine room

Also Published As

Publication number Publication date
EP1151412A2 (en) 2001-11-07
AU4166200A (en) 2000-08-25
WO2000046651A9 (en) 2001-10-25
WO2000046651A3 (en) 2000-12-21
EP1151412A4 (en) 2002-05-22

Similar Documents

Publication Publication Date Title
US6826552B1 (en) Apparatus and methods for a computer aided decision-making system
Shestakofsky Working algorithms: Software automation and the future of work
US5890149A (en) Organization training, coaching and indexing system
US6012051A (en) Consumer profiling system with analytic decision processor
Sun et al. Intelligent techniques in e-commerce
Sproule et al. A buyer behaviour framework for the development and design of software agents in e‐commerce
Stefani et al. E-commerce system quality assessment using a model based on ISO 9126 and Belief Networks
US20020002502A1 (en) Product brokering method and system
WO2010000064A1 (en) Information processing with integrated semantic contexts
US20020152190A1 (en) Customer self service subsystem for adaptive indexing of resource solutions and resource lookup
WO2010000065A1 (en) Facilitating collaborative searching using semantic contexts associated with information
WO1998035297A9 (en) Consumer profiling system with analytic decision processor
US20150153824A9 (en) System and method for multi-domain problem solving on the web
CA2850606A1 (en) System and method for multi-domain problem solving on the web
EP1151412A2 (en) Apparatus and methods for a computer-aided decision-making system
Gupta et al. Assessing the Impact of Artificial Intelligence in e-Commerce Portal: A Comparative Study of Amazon and Flipkart
JP2003233557A (en) System and method using web wizard and tool
Cheung et al. Customised electronic commerce with intelligent software agents
Sun Case based reasoning in e-commerce
US20230245205A1 (en) Systems and methods for generating ordered personalized item recommendations based on database entry categories
Nikravesh Beyond the semantic web: Fuzzy logic-based web intelligence
Faisal Design and Implementation of E-Mail Agent
Chai et al. Improving Competitiveness: A Freelancer-Centric Approach for Recommending Tasks and Reskilling Strategies
Khatun et al. The Design Functions of a Knowledge-Based Decision Support System in B2C E-commerce Problem Domain
Saeedi Maschinelles Lernen im Marketing

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: A3

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2000921318

Country of ref document: EP

AK Designated states

Kind code of ref document: C2

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

COP Corrected version of pamphlet

Free format text: PAGES 1-60, DESCRIPTION, REPLACED BY NEW PAGES 1-60; PAGES 61-68, CLAIMS, REPLACED BY NEW PAGES 61-68; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

WWP Wipo information: published in national office

Ref document number: 2000921318

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642