The present invention relates to a system, apparatus and method that is guaranteed to make optimal selections of partial TV programs to be recorded using a limited number of tuners during a given time interval. A part is defined as some or all of a TV program.
Personal video recorders (PVRS) are available to record TV programs, either on hard disk or on DVD. Programming these PVRs is usually accomplished using an electronic program guide (EPG), by simply clicking on the TV programs to be recorded. Additionally, a recommender may be available that can predict, for an upcoming TV program, how much a viewer will like it.
With the increasingly available television channels via terrestrial, satellite, or cable connections, the task for the viewer to select TV programs to view and record is rapidly becoming too large to be handled manually. With the advent of digital television, the number of channels, and hence the number of options, to choose from is becoming even larger. Therefore, the viewer is no longer able to overview all available programming content and it becomes more likely that the viewer will miss TV programs that would be of interest to the viewer.
Because of the large number of TV programs available each week, printed TV program guides are cumbersome and electronic program guides (EPGs) have been developed as a solution to this problem. EPGs present the available TV programs for a number of channels on a TV screen. However, only a limited number of TV programs can be shown at one time on the TV screen, i.e., the number of channels and the length of the time interval of the portion shown on the screen are very limited. This results from the poor resolution of a TV screen for presentation of this kind of textual information. And, even if the resolution were high enough, the task of selecting from the very large amount of available TV content would overwhelm the average viewer.
In order ameliorate the viewer's problem of what TV programs to select and when to watch them, i.e., the problem of developing a viewer-specific viewing schedule, EPGs offer an option of searching (filtering) by keyword(s). In this way EPGs reduce the number of TV programs to be screened and selected by the viewer to a manageable number. Another way for the viewer to cull a plurality of uninteresting-to-the-viewer TV programs is through the use of recommender systems based on artificial intelligence (AI) technology. These AI recommender systems maintain a preference profile of the viewer, indicating what the viewer likes and dislikes, and employ this profile to score each newly offered TV program as to what extent the viewer will like the newly offered TV program. Then, the TV programs scoring in excess of a pre-determined viewer-specific tolerance are highlighted in an EPG or the viewer is provided a list of these TV programs. A problem with these solutions, however, is that they do not take into account whether or not TV programs overlap in time, so it remains for the viewer to compile a viewer-specific schedule of top-scoring TV programs to watch during, e.g., an evening. In other words, whereas filters and recommenders come up with a list of individual TV programs, such a list is an incomplete solution to a viewer's problem of creating a schedule of TV programs to watch.
A similar situation exists for recording TV programs.
A solution is needed for efficient selection of TV programs for a given time interval that maximizes predetermined viewer preferences when the viewer has only a finite number M≧1 of tuners available with which to record selected TV programs.
The system, apparatus, and method of the present invention provide an efficient algorithm that is guaranteed to make optimal selections of partial TV programs with a limited number of tuners, i.e., a selection that maximizes a sum of the viewer preference values associated with the selected TV programs. It is assumed that these preferences are known to, e.g., a recommender that provides a first filtering of available TV programs before an optimal selection is made using the present invention.
Given a time interval in which a viewer wants to select TV programs, all TV programs that fall in this interval are first collected and a preference value for each collected TV program is obtained. Second, the begin and end time points of each TV program are determined as nodes of a directed graph G and a set S is determined of TV programs having at least one of a begin and end time point within the given time interval. Third, a time 0 source and a time ∞ sink node are created and a graph of G is drawn from the source through the successive time-ordered nodes of G to the sink, i.e., a central time chain of edges is created from the source node through each successive time-ordered node of G, wherein, each edge has a cost of 0′.
Next, for each TV program in S a kind of time chain is drawn in order to distinguish between the central time chain of edges and the node corresponding to its begin time and the node corresponding to its end time and this edge is given a ‘cost’ equal to the negated value of the TV program (viewer preference value).
Then, in addition to the nodes already included in the central timeline, each TV program in S is further divided into zero or more partial TV programs represented by begin and end node pairs on the central timeline having edges therebetween not on the central timeline such that it is possible for every TV program only to start being received at its begin time or at the end time of another TV program, and such that every TV program stops being received at its end time or at the begin time of another TV program. Every such partial TV program resulting is added to S and has an associated viewer preference value determined by a viewer-specific value function. As shown below in the detailed description, no loss of optimality results from this restriction (see Theorem 1 below).
Key in the present invention is thus the graph G comprising the central time chain, from and to which the whole and partial TV program edges run, which edges represent the negative preference value of these whole and partial parts of the TV programs and which whole and partial parts are contained in the set S.
Given this directed graph G, a minimum-cost network algorithm is applied thereto that determines the subset of partial TV programs S′, for the given time interval, that provides the maximum viewer satisfaction, i.e., maximizes the total of viewer preference values for the set S of TV programs. The selected subset is guaranteed to be optimal and the algorithm selecting the subset is guaranteed to run in polynomial time.
The system, apparatus, and method of the present invention provide a way of determining an optimal TV experience for a viewer for a given time interval, the experience comprising watching as well as recording partial preferred TV programs using at least one tuner.
The system, apparatus, and method of the present invention provide a mathematical formulation and solution strategy for obtaining an optimal solution to a viewer's TV program scheduling problem. The scope of the system, apparatus, and method of the present invention includes the problem of what TV programs to select for watching or recording with a given number of available tuners based on a pre-determined viewer preference for all available TV programs being broadcast in given time period.
A simplified problem setting is described first followed by an extension of the simplified problem setting to include more factors and to elaborate the algorithms developed for the simplified problem, in order to solve more complex problem settings.
In a preferred embodiment of the system, apparatus, and method of the present invention, several assumptions are first made:
The first model selects complete TV programs using one tuner. The problem of selecting complete TV programs is defined as follows.
Definition 1 (Program selection problem (PSP)). A set S of TV programs s is given and for each TV program s a begin time b, and end time es is also specified. Furthermore, for each TV program a value vs>0 is given, which reflects the total value if this TV program is watched (completely). The question is to determine a subset S′⊂S such that the TV programs in S′ do not conflict in time, i.e.,
bs>etVbt>es
for all s, tεS′, s≠t, and such that the total value of this subset, given by
is maximized.
The value vs of a TV program can be given by the viewer explicitly, or it can be estimated using a recommender. Considering the recommender score ps of a TV program s as a preference density, the total value is given by vs=ps(es−bs). Maximizing the total value over a number of TV programs in a certain time interval then corresponds to maximizing the average preference density.
The TV program selection problem can be formulated as a minimum-cost flow problem as follows. The set V of nodes of a network G is given by a source node and a sink node, and a node for each begin or end time of a TV program. So,
where the node 0 represents the source and cc represents the sink. Denoting the nodes (i.e., times) in V by t1, . . . , tn the n distinct times can then be arranged in increasing order. Here, it is assumed that all times are larger than the source time t1=0, and smaller than the sink time tn=∞.
The set E of edges consists of two parts. First, there is an edge on a timeline from source to sink that includes the node edge (ti, ti+1) for all i=1, . . . , n−1, having zero cost, by definition. Secondly, for each TV program sεS, an edge (bs, es) is added, with cost −vS. All edges are assumed to have capacity one.
For an example of the graph construction, consider the set of TV programs as indicated in
F={0,18:00,19:00,19:30,20:00,20:30,21:00,22:00,∞},
and the set of edges is as given in
Now, determining a non-overlapping subset S′ with maximal value corresponds to finding a flow of one in G from the source to the sink with minimum cost. If in this minimum-cost flow an edge corresponding to a TV program carries a flow of one, then this TV program can be included in S′; otherwise not. Hence, the problem can be solved by means of a minimum-cost flow algorithm. In other words, PSP can be solved efficiently.
As in the above formulation all capacities are one, the minimum-cost flow problem reduces to a shortest-path problem (from source to sink), where the (negative) costs are used as edge lengths.
The min-cost flow problem: Given a directed graph G=(V, E). Let there be a cost cij and capacity uij=1, associated with each edge ij in E, and a demand (supply) bv associated with each node v in V. The problem is to find a flow of minimum cost which satisfies the supply/demand constraints for each node,
b
v=Σjfvj−Σjfjv
and the edge constraints,
0≦fij≦uij.
The cost of the flow is defined as
ΣijεEcijfij.
In the present invention, the capacity of each edge is 1, by definition. Furthermore, b1=−1, bn=1, and bi=0 for i=2, . . . , n−1.
Multiple TV programs can be received in parallel whenever more than one tuner is available, and the additionally selected TV programs are recorded. The problem is also relevant in a two-stage TV programming approach, where one first determines what TV programs to receive, which are then stored in a persistent memory, and then determines a TV schedule from all content that has been recorded in the persistent memory.
Definition 2 (Multi-tuner program selection problem (MPSP)). Given is a set S of TV programs and for each TV program s a begin time bs, an end time es, and a value vs are given. Furthermore, a pre-determined number M of tuners is also given. The question is to determine a subset S′⊂S such that at all times at most M TV programs have been selected, i.e., for all times x
|{sεS′|bs≦x<es}|≦M,
and such that the total value of this subset, given by
is maximized.
MPSP is solved in a similar way as PSP, using an equivalent network flow transformation as presented above. The only difference is that for MPSP the capacities of the edges (ti,ti+1) are changed into M to reflect the availability of M tuners; the capacity of the TV program edges remains one, as it is not desirable for a program to be received multiple times.
Next, a minimum-cost flow of M from source to sink is determined, and again each TV program for which the corresponding edge in the graph carries a flow (of one) in this found minimum-cost flow solution is included in S′.
In a first embodiment, the present invention extends the above-described single tuner solution for complete TV programs to include watching some TV programs only partially. To this end, a value function vs(l, r) is introduced for each TV program s that indicates the value for watching the program during the partially open interval [l, r), with bs≦1≦r≦es. For this value function, it is assumed that
v
s(bs,es)=vs,vs(l1,r1)>vs(l2,r2) if [l1,r1)⊃[l2,r2), and vs(x,x)≦0.
Definition 3 (Partial program selection problem (PPSP)). Given is a set S of TV programs, and for each TV program s a begin time bs and end time es. Furthermore, for each TV program a value function v, is given. The question is to determine for each TV program sεS a (possibly empty) set Is={[l1, r1), . . . , [lk
bs≦l1<r1<l2<r2< . . . <lk
is maximized.
Although the value function can be of almost any form, in a preferred embodiment it is restricted to convex value functions, which are discussed in the next section. An even more restricted form, which can be handled more efficiently, is a linear value function with penalties, also discussed below.
Convex Value Functions
Convex value functions are value functions v that satisfy the condition that for all αε[0,1] the following holds
v(αl1+(1−α)l2,αr1+(1−α)r2)<αv(l1,r1)+(1−α)v(l2,r2).
Most practical value functions will satisfy this condition. Example convex value functions are linear functions such as
or quadratic functions such as
One of the properties of a convex value function is that it allows reduction of the number of possible points at which to switch from one TV program to another, as the next theorem states.
Theorem 1. If for all TV programs sεS, vs(l, r) is convex, then, without loss of optimally, PPSP can be restricted to solutions with for all sεS and [l, r)εIs
lε{bs}∪{et|tεS} (1)
eε{es}∪{bt|tεS} (2)
In other words, a TV program only starts being received at its begin time or at the end time of another TV program, and it only stops being received at its end time or at the begin time of another TV program.
Proof. Consider an interval [l, r)εIs of a TV program sεS that does not satisfy (1). Just before time l, the maximum number of tuners must have been used, as otherwise it would be possible to lower l and improve the solution. As reception of TV program s occurs from time l onwards, there must be a TV program tεS that stops being received at time l, i.e., for which It contains an interval [l′, r′) with r′=l. Because l does not satisfy (1), r′<et. Now consider two alternative solutions, one with l replaced by l1=l−ε and r′ replaced by r1′=r′−ε=l1, and one with l replaced by l2=l+ε and r′ replaced by r′2=r′+ε=l2 Compared to the original solution, the cost of the first solution differs an amount
Δ1=vs(l−ε,r)−vs(l,r)+vt(l′,r′−ε)−vt(l′,r′)
from the value of the original solution, and the cost of the second one differs by an amount
Δ2=vs(l+ε,r)−vs(l,r)+vt(l′,r′+ε)−vt(l′,r′).
Therefore, it follows that
where the latter inequality is based on the convexity property of vs and vt. Hence, at least one of the differences Δ1 and Δ2 is non-negative, i.e., at least one of the two alternative solutions is at least as good as the original one. So, without loss of optimality, on can either increase l and r′ until they become et or r (in the latter case the interval [l, r] can be removed from Is), or one can decrease l and r′ until they become bs, or l′ (in the latter case [l′, r′) can be removed from It).
In a similar way one can prove that (2) can be assumed without loss of optimality.
As a result of Theorem 1, it is only necessary to consider a limited number of time points at which to start and stop watching a TV program partially, provided the value functions are convex. Based on this, the minimum-cost network of
Although the number of edges in the extended graph is much larger than in the original graph, it is still polynomially bounded. More precisely, the number of edges per TV program is quadratic in the number of different time points. Furthermore, since there is only one tuner, the number of edges can be limited between each pair of time points to only the best one, thereby limiting the total number of edges to O(n2).
Linear Value Functions with Penalties
In this alternative embodiment the form of the value functions is restricted even further, to linear functions with penalties for finishing a TV program early or starting a TV program late. More formally, consider value functions of the form
are functions that give a penalty if TV program s is finished early or started late, respectively. Note that this value function obeys the assumptions and that it is convex, as all three terms in the right-hand side of (3) are convex (i.e., the penalty functions are concave). Given a value function as in (3), we can define another extended minimum-cost network, as shown in
The set V of nodes first of all contains a node for each time point t1, . . . , tn. Next, for each TV program with time points bs=ti, and es=tj with j−i>1, an extra node tks can be constructed for each intermediate time point, i.e., for each k=i+1, . . . , j−1. In
The set of edges, all with capacity one, is defined as follows. First, there is an edge (ti,ti+1) for all i=1, . . . , n−1, as before with cost zero. Secondly, consider each TV program sεS, with time points bs=ti and es=tj, and one again distinguishes two cases, as follows.
If j−i=1, then add an edge (bs, es) with cost −vs.
If j−i>1, then add a number of edges:
(i) an edge (ti,ti+1s) with
(ii) an edge (tks, tk+1s) for each k=i+1, . . . , j−2 with
(iii) an edge (tj−1s, tj) with
(iv) an edge (tks, tks) for each k=i+1, . . . , j−1 with cost csfe, and
(v) an edge (tk, tks) for each k=i+1, . . . , j−1 with cost cssl.
Now PPSP with linear value functions with penalties corresponds to finding a minimum-cost flow of one from source to sink in this graph. Again, multiple parts per TV program may be selected, as with the graph of
For the correspondence between a flow in the graph and a selection of partial TV programs, consider again the example in
The number of nodes and edges in the extended graph is still polynomially bounded in the size of the instance, as the total number of nodes is O(|S|n), and the number of edges is
O(n+|S|+|S|n)=O(|S|n).
A second embodiment selects partial TV programs with multiple tuners: A next extension of PSP is to allow multiple tuners as well as partial TV programs, as given by the next definition.
Definition 4 (Multi-tuner partial program selection problem (MPPSP)). Given is a set S of TV programs, and for each program s a begin time bs and end time es. Furthermore, for each program s a value function vs is given, and a number m of tuners is given. The problem is to determine for each TV program sεS a (possibly empty) set Is={[l1,r), . . . , [lk
|{[l,r)εIs|sεŜl≦x<r}|≦m.
and such that the total value of the selected intervals, given by
is maximized.
Unfortunately, a straightforward application of the extended graph for convex value functions with adapted capacities, as discussed above, does not work. The reason for this is that in that extended graph one may select several parts of the same TV program to be received in parallel. For instance, for the example of
For linear value functions with penalties, nevertheless, the graph as shown in
Referring now to
Referring now to
While the preferred embodiments of the present invention have been illustrated and described, it will be understood by those skilled in the art, the system, apparatus and method for selecting a best set of partial TV programs based on maximizing viewer satisfaction expressed as a function of viewer preferences, as described herein, are illustrative and various changes and modifications may be made and equivalents may be substituted for elements thereof without departing from the true scope of the present invention. In addition, many modifications may be made to adapt the teachings of the present invention to a particular situation, e.g., various optimization algorithms, without departing from its central scope. Therefore, it is intended that the present invention not be limited to the particular embodiments disclosed as the best mode contemplated for carrying out the present invention, but that the present invention include all embodiments falling with the scope of the appended claims.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB06/54127 | 11/6/2006 | WO | 00 | 5/7/2008 |
Number | Date | Country | |
---|---|---|---|
60735927 | Nov 2005 | US |