Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA Summer School on Computational Interaction 2015

576 views

Published on

Tutorial on Model-Based User Interface Optimization. Part IV: ADVANCED TOPICS.
Presented by Antti Oulasvirta (Aalto University) at SICSA Summer School on Computational Interaction in 2015 in Glasgow. Note: This one-day lecture is divided into multiple parts.

Published in: Design
  • I'd advise you to use this service: ⇒ www.HelpWriting.net ⇐ The price of your order will depend on the deadline and type of paper (e.g. bachelor, undergraduate etc). The more time you have before the deadline - the less price of the order you will have. Thus, this service offers high-quality essays at the optimal price.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • If you’re looking for a great essay service then you should check out ⇒ www.WritePaper.info ⇐. A friend of mine asked them to write a whole dissertation for him and he said it turned out great! Afterwards I also ordered an essay from them and I was very happy with the work I got too.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA Summer School on Computational Interaction 2015

  1. 1. Optimization for User Interface Design Antti Oulasvirta, Anna Feit Aalto University SICSA SUMMER SCHOOL ON COMPUTATIONAL INTERACTION GLASGOW
 JUNE 23, 2015 ADVANCED TOPICS
  2. 2. UI OPTIMIZATION IN PRACTICE http://www.everyinteraction.com/coworking-in-london/
  3. 3. GOALS • Deeper knowledge of a powerful meta-heuristic method • Awareness of hard challenges and techniques for approaching them
  4. 4. CONTENTS • Meta-heuristics methods:Ant colony optimization • Challenges to optimization • Robust optimization • Dynamic optimization • Multi-objective optimization • Real-time optimization • Techniques for dealing with complex tasks
  5. 5. META-HEURISTICS PART 2
  6. 6. “HEB” PROBLEMS Black-box approaches High dimensional search spaces Expensive computation Shen & Wang 2008
  7. 7. BIO-INSPIRED METHODS • Inspired by interesting patterns and processes in living organisms • Evolution • Swarms • Communities • Nature shows intelligence with generally limited resources Timo Kötzing 2013
  8. 8. SWARMS • Groups of autonomous agents find good/optimal solutions • Examples: • Particle swarm optimization (PSO) • Ant colony optimization (ACO) We are interested in how good/optimal solutions; Main approaches: PSO Timo Kötzing 2013
  9. 9. ANT COLONY OPTIMIZATION • Discrete search space • Indirect communication with other agents using pheromone • Reinforcement learning-like behavior • Best solutions are favored by next generations of ants • Infeasible solutions can be penalized (e.g., by adding “repellent”) Timo Kötzing 2013
  10. 10. PSEUDO-CODEIRIDIA – Technical Report Series: TR/IRIDIA/2009-013 procedure ACO algorithm for combinatorial optimization problems Initialization while (termination condition not met) do ConstructAntSolutions ApplyLocalSearch % optional GlobalUpdatePheromones end end ACO algorithm for combinatorial optimization problems Figure 4: Algorithmic skeleton for ACO algorithms applied to combinat tion problems. The application of a local search algorithm is a typica possible daemon action in ACO algorithms. 3.2 The metaheuristic Dorigo & Stuetzle 2009 Comparison with simulated annealing Solutions are constructed iteratively Multiple ants Pheromone distribution is a model of the environment
  11. 11. CONSTRUCTING SOLUTIONS Nest Food!
  12. 12. UPDATING PHEROMONE Nest Food!
  13. 13. CONSTRUCTING SOLUTIONS Nest Food!
  14. 14. PHEROMONE EVAPORATION Nest
  15. 15. CASE: MULTIPLE SOURCES OF FOOD Nest Food! Food!
  16. 16. Canvas APPLICATION TO ASSIGNMENT IN HCI Element Element Element
  17. 17. Canvas Element Element APPLICATION TO ASSIGNMENT IN HCI Element
  18. 18. Canvas Element APPLICATION TO ASSIGNMENT IN HCI Element Element
  19. 19. A PHEROMONE MATRIX FOR ONE ELEMENT Element 0.01 0.02 0.01 0.01 0.2 0.2 0.02 0.01 0.2 0.2 0.02 0.01 0.01 0.02 0.01 0.01 0.01 0.01 0.01 0.01 Some minimum value is ensured The maximum value is capped The values sum up to 1.0
  20. 20. PROS AND CONS • Has a model of the environment • Reinforcement learning-like improvement • Cooperation of ants • Proves exist that it can find the global optimum for some problems • Many parameters to tune
  21. 21. REVISITING KBD OPTIMIZATION [Bailly et al. UIST’13]
  22. 22. PSEUDO-CODE REVISITEDIRIDIA – Technical Report Series: TR/IRIDIA/2009-013 procedure ACO algorithm for combinatorial optimization problems Initialization while (termination condition not met) do ConstructAntSolutions ApplyLocalSearch % optional GlobalUpdatePheromones end end ACO algorithm for combinatorial optimization problems Figure 4: Algorithmic skeleton for ACO algorithms applied to combinator tion problems. The application of a local search algorithm is a typical e possible daemon action in ACO algorithms. 3.2 The metaheuristic All pheromone levels set to constant Construct the solution one element at a time, considering pheromone Deposit pheromone for the winner(s). Evaporate others
  23. 23. SUMMARY • Metaheuristics a more “intelligent” approach to black-box optimization • Learning and updating a model • Cooperation of multiple searchers • ACO particularly natural for user interface design, because layouts are constructed iteratively
  24. 24. TIP: WOLFRAM CDF http://demonstrations.wolfram.com/AntColonyOptimizationACO/
  25. 25. REAL-WORLD CHALLENGES
  26. 26. REAL WORLD OPTIMIZATION Multiple design objectives Changing (streaming) input data Insufficient knowledge about usage and users Multiple user groups and user tasks Lack of directly suitable predictive models
  27. 27. ROBUST OPTIMIZATION • =The design accounts for performance variations due to noise beyond the control of the designer • = A solution should work even under changing conditions • Errors/noise in objectives, input values, constraints • Two approaches discussed here • Randomized approach • Regularization approach
  28. 28. SOURCES OF ERROR • Uncertainty and lack of knowledge at design time • Fitness evaluation is noisy • Variation among users and usages • Subjectivity of objectives or constraints
  29. 29. MONTE CARLO STRATEGY ! • Assume objectives are sampled from a distribution • Sample N optimization tasks from the distribution • Find the design that is “the least worst compromise” across the tasks an analytical closed form of the effective fitness on in (3) is usually not available, it is often approx- d using Monte Carlo integration (4) that this looks a lot like the approximation in the nce of noise as described in (2), and indeed the two are closely related. However, there are also some ficant differences. While in the case of noise, it is ally assumed that the noise is applied to the fitness s, when searching for robust solutions, the uncer- is in the design variables. As a result, even if is mean and normally distributed, the effective fitness depends on the shape of at point , andJin & Branke 2005
  30. 30. “SIG SIGMA” HEURISTIC Figure 1: Sources of uncertainty in design optimization. RD SD ¯X 2 +2 6 +6 fX(x) g(X)  0 P(F) Figure 2: Normal distribution fX(x) with lower and upper specification limit on 2 and 6 level. Robust design (RD) and safety design (SD) ( ±2 ) depending on chosen limit state function g(X)  0, e.g. stress limit state. Roos,Adam, Bucher 2006
  31. 31. ROBUST REGULARIZATION • Minimize distance to the worst design in the neighborhood of the winner • Size of neighborhood determines the tolerance level Jin & Branke 2005
  32. 32. IN-CLASS DISCUSSION Is robustness important for this design problem? Designing a virtual keyboard for elderly users
  33. 33. IN-CLASS DISCUSSION 2 What other objectives should one consider in this case than typing performance?
  34. 34. MULTI-OBJECTIVE OPTIMIZATION • In HCI we mostly deal with multi-objective design • Performance: speed, accuracy, error, and learning • Experience: satisfaction, aesthetics, … • Effort: energy consumption, fatigue, … • Since 2013 all papers published on optimization of user interfaces have dealt with multiple objectives
  35. 35. CONCEPTS • Pareto set and pareto front • Dominated and non-dominated set • Utopia point Yang 2008 Introduction to Mathematical Optimization
  36. 36. WEIGHTED SUM • Solution strongly depends on weights • Susceptible to scale disparities • Weights set by experimenting u(f1(x), ..., fp(x)) = pX i=1 ↵ifi(x) Yang 2008 Introduction to Mathematical Optimization
  37. 37. TRANSFORMATION • v < 1 allows extreme values to dominate less • v > 1 gives more weight to extreme values u(f1(x), ..., fp(x)) = pX i=1 ↵ifv i (x) Yang 2008 Introduction to Mathematical Optimization
  38. 38. UTILITY FUNCTION • Assign personal preference (utility) to outcomes ! ! • p is number of objectives • K is number of scenarios • is probability for scenario j • uijk is a single-criterion utility function for objective i, scenario j, and alternative k max U(fk(x)) = KX j=1 ⇡j pX i=1 ↵iuijk ⇡j U : RP ! R Yang 2008 Introduction to Mathematical Optimization
  39. 39. INTUITION • The pareto front of feasible solutions is increased to move the optimum point (A) to “touch” the utility function Yang 2008 Introduction to Mathematical Optimization
  40. 40. EXERCISE Define a utility function for your keyboard optimization task that considers different types of users (e.g., programmers, gamers, …)
  41. 41. OTHER MOO TECHNIQUES • Lexicographic method • Objective functions are organized in order of importance, then solved one at a time • Goal programming • Relaxation that avoids over-optimization: Set a goal for each objective, minimize distance to that goal • Physical programming • Discretize each objective verbally, map all of them into a single numerical objective
  42. 42. DEALING WITH MOO IN ACO • Pheromone matrix • A separate matrix for each objective or combined? • Objective function • One combined or many? • Selection of solutions for pheromone deposit • Based on single or all objectives? • Ant colony structure • Single colony or many? Dorigo & Stützle 2009
  43. 43. DYNAMIC OPTIMIZATION • The optimization task changes dynamically, thus changing the optimum • Techniques • Solve from scratch (slow) • Restart from a known good solution • Transfer knowledge of the previous fitness • Increase diversity of search after change • Maintain multiple search agents (e.g., ants)
  44. 44. DISCUSSION Provide an example of an HCI scenario where dynamic optimization is needed
  45. 45. TECHNIQUES FOR DEALING WITH COMPLEXTASKS
  46. 46. DECOMPOSITION • Relax assumptions to find a simpler but functionally equivalent OF • Identify smaller sub-problems that can be solved independently or in a coordinated fashio Shan & Wang 2010
  47. 47. SCREENING AND MAPPING • Simplify the problem • Reduce dimensionality • Drop variables • Discretize variables • Loss of accuracy Shan & Wang 2010
  48. 48. SPACE REDUCTION • Shrink the design space by narrowing the ranges of considered variables • May miss a global optimum Shan & Wang 2010
  49. 49. SUB-SPACE ELIMINATION • Analytically or by building a “meta-model” of the search space as search progresses • Identify orthogonal sub-spaces • Orthogonal designs are uncorrelated • Identify rotatable designs • These can be dropped as equivalent Shan & Wang 2010
  50. 50. DISCUSSION Which techniques could be used in the keyboard optimization case? ! 1.Decomposition 2.Screening 3.Mapping 4.Space reduction 5.Sub-space elimination
  51. 51. SUMMARY
  52. 52. SUMMARY • Metaheuristics for high-dimensional, computationally expensive problems • Techniques to deal with uncertainty and changing conditions • Techniques to simplify complex problems
  53. 53. SICSA SUMMER SCHOOL ON COMPUTATIONAL INTERACTION DAY 2: OPTIMIZATION FINAL COMPETITION
  54. 54. REVISITING KBD OPTIMIZATION Update your keyboard optimizer to do ant colony optimization: •iterative construction of the keyboard using pheromone distribution •multiple competing constructions (ants) •updating the pheromone (deposit and evaporation) 
 Tips: •Rules for pheromone update: https://en.wikipedia.org/wiki/ Ant_colony_optimization_algorithms •http://bit.ly/1BwntPg - Weighted random generation •http://bit.ly/1Ro8adh - Weighed choice

×