IP Library › Granted Patent US 10,783,441
Granted Patent B2
US 10,783,441 · App. 15/484,727 · Granted Sep 22, 2020

Goal-driven composition with preferences method and system

Inventors: Anton V. Riabov (Ann Arbor, MI); Shirin Sohrabi Araghi (White Plains, NY); Octavian Udrea (Ossining, NY)
Assignee: International Business Machines Corporation
G06N5/04G06F7/523G06F16/22
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,783,441
App. No.
15/484,727
Granted
Sep 22, 2020
Kind
B2
Abstract

In at least one embodiment, a method and a system for determining a set of plans that best match a set of preferences. The method may include receiving into a goal specification interface at least one goal to be accomplished by the set of plans; receiving into a preference engine a pattern that includes preferences; generating a planning problem by using the preference engine; generating a set of plans by at least one planner; and providing the set of plans for selection of one plan to deploy. In a further embodiment, the preferences may be an occurrence or non-occurrence of at least one component, an occurrence of one component over another component, an ordering between at least two components, an existence or non-existence of at least one tag in a final stream, an existence of one tag over another tag in the final stream.

Claims (51)

1. A method for operation of a system for determining a set of plans that best match a set of preferences, said method comprising:

receiving at least one goal to be accomplished by the set of plans, where the at least one goal is received by a goal specification interface;

receiving a pattern that includes preferences from at least one user, where a preference engine receives the pattern, wherein the preferences include at least one of: an existence of at least one tag in a final stream, an existence of at least one tag over at least one other tag in the final stream, and a non-existence of at least one tag in the final stream;

generating a planning problem based on the received at least one goal and the received pattern, where the preference engine generates the planning problem;

generating a set of plans, where at least one planner generates the set of plans; and

providing the set of plans for selection of one plan to deploy.

2. The method according to claim 1 , wherein generating the planning problem includes providing the planning problem to at least one planner.

3. The method according to claim 1 , wherein the set of plans includes the top-k plans.

4. The method according to claim 3 , wherein k is a predetermined constant.

5. The method according to claim 3 , wherein generating the set of plans includes using the preferences to determine which plans best match the preferences using for each plan found by the planner a sum of a satisfaction number for each preference with the top-k plans being the k plans with the lowest sums of satisfaction numbers.

6. The method according to claim 5 , wherein the satisfaction number for each preference is modified by a multiplier representing a priority level of the preference.

7. The method according to claim 5 , wherein each preference has the same range of preference values that provide the satisfaction number.

8. The method according to claim 7 , wherein the preference value range is zero to one.

9. The method according to claim 8 , further comprising determining the satisfaction number for a multiple component preference order by:

setting i equal to n−1 where n is a number of components in the preference order, wherein i is the nth component and 0 is the first component,

setting m equal to a summation of 1 to n,

for each component, calculate z equal to (n−i)/m; and

sum up all z values of components that did not appear in the plan to obtain the satisfaction number.

10. The method according to claim 1 , further comprising updating the planning problem with the preference engine by:

adding a dimension to a cost/quality vector where the dimension will be used for preference satisfaction modified by a multiplier,

adding a sticky tag for each preference being added to the planning problem,

adding a tag for each preference being added to the planning problem; and

adding a collect/forgo action for each preference being added to the planning problem.

11. The method according to claim 10 , wherein updating further includes assigning a unique sticky tag to each component.

12. A computer program product for finding a set of plans that reach a goal based on a set of preferences, said computer program product comprising a computer readable storage medium having encoded thereon:

first program instructions executable by a processor to cause the processor to receive at least one goal to be accomplished by the set of plans;

second program instructions executable by a processor to cause the processor to receive a pattern that includes preferences from at least one user, where the preferences include at least one of: an existence of at least one tag in a final stream, an existence of at least one tag over at least one other tag in the final stream, and a non-existence of at least one tag in the final stream;

third program instructions executable by a processor to cause the processor to generate a planning problem based on the received at least one goal and the received pattern;

fourth program instructions executable by a processor to cause the processor to generate a set of plans for the generated planning problem; and

fifth program instructions executable by a processor to cause the processor to provide the set of plans for selection of one plan to deploy.

13. The computer program product according to claim 12 , wherein the set of plans includes the top-k plans where k is a predetermined constant.

14. The computer program product according to claim 13 , wherein the fourth program instructions uses the preferences to determine which plans best match the preferences using for each plan found by the planner a sum of a satisfaction number for each preference with the top-k plans being the k plans with the lowest sums.

15. The computer program product according to claim 14 , wherein the satisfaction number for each preference is modified by a multiplier representing a priority level of the preference.

16. The program product according to claim 15 , wherein the preference value range is zero to one.

17. The program product according to claim 13 , wherein the computer readable storage medium further having encoded thereon:

sixth program instruction executable by a processor to cause the processor to update the planning problem by:

adding a dimension to a cost/quality vector where the dimension will be used for preference satisfaction times a multiplier,

adding a sticky tag for each preference being added to the planning problem,

adding a tag for each preference being added to the planning problem; and

adding a collect/forgo action for each preference being added to the planning problem.

18. A computer system for finding a set of plans that reach a goal based on a set of preferences, said computer system comprising:

one or more computer processors;

one or more computer readable storage media;

computer program instructions;

the computer program instructions being stored on the one or more computer readable storage media for execution by the one or more computer processors; and

the computer program instructions including instructions to:

receive at least one goal to be accomplished by the set of plans;

receive a pattern that includes preferences from at least one user, wherein the preferences include at least one of: an existence of at least one tag in a final stream, an existence of at least one tag over at least one other tag in the final stream, and a non-existence of at least one tag in the final stream;

generate a planning problem based on the received at least one goal and received pattern;

generate a set of plans; and

provide the set of plans for selection of one plan to deploy.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2017
From: ARAGHI, SHIRIN SOHRABI; RIABOV, ANTON V.; UDREA, OCTAVIAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 042546/0186 →
Continuity (2)
Continuation 14283945 · May 21, 2014
Related Publication 20170220941A1 · Aug 3, 2017
Cited By (2)
US 12,412,071 US 12,675,731