OPTIMAL SELECTION OF TV SHOWS FOR WATCHING AND RECORDING
5.6 Run time improvements
5.7.1 Varying the time granularity
Next, we are going to increase the granularity of the user availability timea from 1 to 30 minutes to determine the effect on the number of states, the run time, and the total value. For the effect on the number of states, see Figure 5.4.
Wim F.J. Verhaegh
83 The effect of the granularity on the run time of the dynamic programming algorithm is shown in Figure 5.5. The effect of the granularity on the total value of the solution is less than 1%. It turned out, for instance, that for a granularity of 30 minutes the optimal solution contained shows selected for watching that all last a multiple of 30 minutes. For these shows, the effect of rounding the user availability time is void.
5.7.2 Filtering shows
Next, we are going to filter shows on their preference density value, and see what the effect is on the run time and total value. To this end, we applied a threshold 1,...,20 on the preference density value of the shows, and solved
Figure 5.3. A practical example of TV shows and the resulting schedule. The dark grey boxes indicate the shows that have been selected for watching, for which the schedule is given at the bottom, and the light grey boxes indicate the shows that have been selected for recording. The height of a box indicates the preference value of the corresponding show. The number of tuners is four in this example.
time
channels
18:00 19:00 20:00 21:00 22:00 23:00 00:00 01:00
18:00 19:00 20:00 21:00 22:00 23:00 00:00 01:00
resulting watch schedule
Optimal Selection of TV Shows for Watching and Recording
84
Table 5.1. The list of shows selected for reception and watching. For shows to be watched, the time indicates when they are scheduled for watching, and between brackets the corresponding time shift is given. The value is given by the weight (2 for watching, 1 for reception only) times the duration in minutes times the preference value.
time (shift) channel show value
receive & watch:
18:00–19:00 TMF Babetrap 2·60·20
19:00–19:31 (0:52) ARD Sportschau: EK voetbal 2·31·20 19:31–19:32 (0:52) ARD Ein gutes Los f ¨ur alle 2·1·20
19:32–19:35 (0:32) Nederland 3 Nederland 3 2·3·18
19:35–20:25 (0:30) Nickelodeon Saved by the bell 2·50·20
20:25–21:25 (0:25) TMF Interactive charts 2·60·20
21:25–22:50 (0:50) Nederland 3 Tegenlicht 2·85·20
22:50–23:00 (0:15) Nederland 3 NOS-Journaal 2·10·19 receive only:
18:00–18:05 KETNET/Canvas Hopla 1·5·12
18:00–18:15 Nederland 3 Sesamstraat 1·15·20
18:00–18:55 SBS 6 Klussen & wonen 1·55·19
18:05–18:08 ARD Der 7er Sinn 1·3·4
18:15–18:25 Nederland 3 Melatten 1·10·15
18:25–18:30 Nederland 3 Buikzingen 1·5·20
18:30–19:00 RTL 5 Stapel op auto’s 1·30·16
18:40–19:05 Nickelodeon Kuifje 1·25·15
18:55–20:30 Veronica The Dukes of Hazzard 1·95·19
19:00–19:30 Yorin De modepolitie 1·30·19
19:03–19:33 Nederland 3 Gewe(e)st 1·30·14
19:30–20:00 RTL 4 RTL Nieuws 1·30·16
19:33–20:35 Nederland 3 R.A.M. Compilatie 1·62·19
19:58–20:00 ARD Heute Abend im Ersten 1·2·13
20:00–20:15 WDR Fernsehen Tagesschau 1·15·15
20:15–20:45 Nederland 1 De vakantierechter 1·30·18
20:30–22:20 NET 5 Outrageous fortune 1·110·17
20:45–22:28 Nederland 1 KRO Detectives: Second sight 1·103·20 21:00–22:00 Discovery Channel Xtreme martial arts 1·60·20 22:00–23:00 Discovery Channel Xtreme martial arts 1·60·19 22:00–23:00 National Geographic Innovation: Spy catchers 1·60·14
22:25–22:35 Nederland 3 D66 1·10·18
22:30–00:35 Veronica The Emerald forest 1·125·16
22:45–23:40 Yorin The bachelor 1·55·17
23:00–23:15 BBC 1 Nieuws en weerbericht 1·15·11
23:08–01:07 Nederland 1 KRO Filmtheater: Musicbox 1·119·11 23:15–00:20 SBS 6 Reportage: Oog in oog met ... 1·65·20
23:45–00:25 Nederland 2 De nieuwe pest 1·40·18
Wim F.J. Verhaegh
85
Table 5.2. The list of shows selected for reception and watching in case of two tuners.
time (shift) channel show value
receive & watch:
18:00–18:55 SBS 6 Klussen & wonen 2·55·19
18:55–19:55 (0:55) TMF Babetrap 2·60·20
19:55–20:45 (0:50) Nickelodeon Saved by the bell 2·50·20 20:45–20:47 (0:47) ARD Heute Abend im Ersten 2·2·13 20:47–21:17 (0:32) Nederland 1 De vakantierechter 2·30·18 21:17–23:00 (0:32) Nederland 1 KRO Detectives: Second sight 2·103·20 receive only:
18:55–20:30 Veronica The Dukes of Hazzard 1·95·19
19:00–19:03 Nederland 3 Nederland 3 1·3·18
20:00–20:15 WDR Fernsehen Tagesschau 1·15·15
20:35–22:00 Nederland 3 Tegenlicht 1·85·20
22:00–23:00 Discovery Channel Xtreme martial arts 1·60·19
22:30–00:35 Veronica The Emerald forest 1·125·16
23:00–23:15 BBC 1 Nieuws en weerbericht 1·15·11
23:15–00:20 SBS 6 Reportage: Oog in oog met ... 1·65·20
the instance with the shows having this value or higher. The results are shown in Figure 5.6. As we can see, we can save quite some run time by applying a threshold before the quality of the end solution drops.
5.8 Conclusion
We have presented the problem of how to optimally select a number of TV shows for reception and watching, and showed that the problem is NP-hard.
Next, we have presented a dynamic programming approach that finds optimal solutions, and works in a reasonable run time in practice. We also presented and tested a few ways to reduce the run time of the approach, thereby finding approximate solutions.
Future work concerns the extension of the presented problem to include ad-ditional relevant problem aspects, to refine the objective function by including dependencies between shows, and the extension of the solution approach. Fur-thermore, when the techniques are to be used in real applications, actual values for the threshold, the time granularity, the time horizon, etcetera, have to be made.
Next, the second stage of TV evening programming has to be addressed, which concerns the compilation of sequences of shows from the set of selected and stored shows, and eventually shows also have to be chosen for deletion, in order to make room for new ones.
Optimal Selection of TV Shows for Watching and Recording
86
0 20,000 40,000 60,000 80,000 100,000 120,000 140,000 160,000 180,000
0 20 40 60 80 100 120 140 160 180 200
iteration
states
Figure 5.4. The number of states as a function of the iteration number 1,...,191, for a gran-ularity of 1 (top line), 2, 5, 10, 15, and 30 (bottom line) minutes, for the example with four tuners.
0 20 40 60 80 100 120 140 160 180
0 5 10 15 20 25 30
granularity
run time
Figure 5.5. The run time of the dynamic programming approach (in seconds) as a function of the granularity (in minutes), for the example with four tuners.
Wim F.J. Verhaegh
87
0 20 40 60 80 100 120 140 160 180
0 5 10 15 20
0 5000 10000 15000 20000 25000 30000
preference threshold
run time total value
total value
run time
Figure 5.6. The effect of applying a threshold of 1,...,20 for the preference value on the run time (in seconds, lower graph and left scale), and on the total value (upper graph, right scale), for the example with four tuners.
Gutta, S., K. Kurapati, K.P. Lee, J. Martino, J. Milanski, D. Schaffer, and J. Zimmerman [2000].
TV content recommender system. InProceedings of the 17th National Conference on AI, pages 1121–1122.
Korst, J. [1992].Periodic Multiprocessor Scheduling. Ph.D. thesis, Eindhoven University of Technology.
Papadimitriou, C.H., and K. Steiglitz [1982]. Combinatorial Optimization: Algorithms and Complexity. Prentice-Hall.
Smyth, B., and P. Cotter [2000]. A personalized TV listing service for the digital TV age.
Knowledge-Based Systems, 13:53–59.
References
Garey, M.R., and D.S. Johnson [1979].Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman and Company, New York.
Optimal Selection of TV Shows for Watching and Recording