90 likes | 111 Views
Dive into the world of design, engineering, and art as we explore the science behind the creative process. Discover the relationship between design and engineering, the role of design in computer science, and how problem-solving and representation play a crucial role in the design process.
E N D
What is Design? • Science vs. Engineering • Science teaches about natural things where engineering teaches about artificial things • Design vs. Engineering • Engineering used to be more about design but, like many other professional disciplines, became taught more as (applied) math and science • Design vs. Art • Design teaches process ofidea generation and artifactcreation • Where do you learn aboutdesign in Computer Science?
Representing Goals • Need for imperative logic • Paradoxes of using declarative logic for imperative statements • Optimization methods • Command variables represent inner design • Quantities of foods • Outer environment represented as probability distributions • Prices of foods, nutritional contents • Utility function computes goodness of particular set of command variables for expected context • Nutritional requirements, cost of diet
Satisficing • Some design settings overload computing requirements • Approximation algorithms • Many design settings do not enable enumerable goals and environmental variables • Consider the problem of being general manager for a basketball team • Extreme simple solution -> taking into account more information • Density of acceptable solutions determines how long search will take
Finding Alternatives • How to decide which potential designs to examine? • General Problem Solver (GPS) • Represent differences between current state and desired state • Determine actions likely to reduce that difference • Best-first search • Avoiding local maxima • Examine some non-best paths (e.g. simulated annealing) • Combine the features of known good alternatives (e.g. genetic algorithms)
Designing Design • But defining the problem is the problem • Coevolution of problem and solution spaces • Wicked problems (Horst Rittel) • Incomplete, contradictory, and changing requirements • Hierarchic resource allocation in design • Progressively design from very general to precise • Each step decides how much resources to put in subdesigns • Can decide how much effort to expend in collecting additional information in human design processes • Estimations of utility and future costs are difficult
Hierarchy as Outcome • Design decomposition • Semi-independent components • Alternative decompositions • How independent are components? • Design “style” may reflect process more than goals • Variety may be desirable end in itself • Designs are not independent (e.g. in architecture, business, evolution)
Representation of Design • Alternative representations and equivalence • Chess board problem • Number scrabble and tic-tac-toe • Changing the representationmay be part of design process • McGuckins example of heaters -> door • “solving a problem simply means representing it so as to make the solution transparent” • Does this assume perfect knowledge?
Topics in the Theory of Design • Evaluating alternatives • Optimal/satisficing algorithms • Formal logic of design • Heuristic search • Resource allocation for search • Hierarchic organizations • Representation of problems • “avoid cookbook approaches” • But where is the boundary?