By Scott D. Peckham
What does the word ‘pattern’ mean to you? And how do you use patterns in addressing complex problems?
Patterns are repetitions. These can be in space, such as patterns in textiles and wallpaper, which include houndstooth, herringbone, paisley, plaid, argyle, checkered, striped and polka-dotted.
The pattern concept can also be applied to repetitions in time, as occur in music. Those who know the temporal patterns can classify a piece of music as a blues, waltz or salsa. For each of these types of music, there are also classic dance steps, that usually go by the same name; these are patterns of movement in space and time.
These examples get to the idea that patterns can be viewed more generally as any type of repetitive structure or recurring theme that we can look for and potentially recognize or discover and then assign a memorable name to, such as “houndstooth” or “waltz”. Recognizing the pattern may then indicate a particular course of action, such as “perform dance moves that go with a waltz”.
The ability to recognize a pattern and then take appropriate action is something that we associate with intelligence. Indeed, “pattern recognition” is one of the big topic areas in artificial intelligence and has led to the development of self-driving cars, Siri and machines that “read”.
We also gain new respect for ancient peoples when we learn of the patterns that they were able to recognize and then use to solve problems. One fascinating example is the way that ancient Polynesians were able to navigate across huge expanses of ocean to tiny islands by reading the patterns of the waves, a skill they taught to their children with the use of stick charts. Archaeoastronomy also provides many examples, where druids, Aztecs and other ancient peoples observed the spatio-temporal patterns of celestial objects, then learned to develop calendars and predict future events.
In thinking about patterns, it is useful to consider the verbs that we associate with patterns, such as recognize, discern, perceive, detect, notice and identify. These all show that we attach value to patterns and tend to actively seek them. The concept of a pattern allows for some fuzziness and is not about exact matches; it is more about grouping things based on structural similarities that are important in a given, possibly abstract, context.
There are a variety of algorithms and mathematical methods for detecting patterns in data sets. These fall under the banner of classification or segmentation schemes. The starting point for this type of analysis is a data set where each record in the data set corresponds to a particular observation (eg., a system state, occurrence or an individual) and each record has several fields that describe the (often numerical) attributes of that observation.
Given such data sets with large numbers of observations, there are methods such as factor analysis, principal component analysis, empirical orthogonal functions and cluster analysis that can be used to find hidden structure. Some attributes are typically correlated with others, and a particular subset of combination of attributes may turn out to provide strong explanatory or discriminating power for classifying observations into groups or classes. Data scientists then attempt to find the minimal set of attributes that lead to reliable classification.
Examples include efforts to better understand human behavior and personality patterns. Two specific instances are the development of OCEAN and the Myers-Briggs Type Indicator. In OCEAN (also known as the Big 5 Personality Traits), each letter in the acronym stands for a personality trait, namely: openness to experience, conscientiousness, extroversion, agreeableness and neuroticism. Many independent studies have shown these 5 traits to be good discriminators. The Myers-Briggs Type Indicator is similar and distinguishes between 16 distinct personality types or patterns.
Patterns are typically given relatively short, memorable names and these names are important and efficient elements of human communication. Sometimes the names refer to well-known stories that epitomize a particular pattern, such as Pandora’s box, Achilles’ heel, Good Samaritan, boy who cried wolf, Solomon and the baby, or David and Goliath. Sometimes they refer to familiar problem-solving strategies, such as “good cop, bad cop”, “top down” and “Devil’s advocate”. Sometimes they refer to a type of scenario, as with all of Aesop’s fables and well-known logical fallacies such as “red herring” and “slippery slope”. Genres like “romantic comedy” and plot lines like “boy meets girl” are also patterns.
In each case, they represent a useful template for recognizing a common situation and often indicate a particular, corresponding action.
As food for thought, here are some specific examples of relatively complex problems and how the identification of a pattern helps to find a solution.
- Committing a robbery: A criminal “cases a joint” over a period of time, looking for patterns that he can exploit. (eg., the guard takes a break at 11 pm).
- Catching criminals: A detective uses “offender profiling” to identify possible suspects or future criminals, using the fact that people who commit a particular type of crime often share a certain pattern of physical and psychological attributes. In addition, there is often a pattern associated with the crimes of an individual, known as their modus operandi or MO. Handwriting and speech pattern analysis are also used.
- Winning poker games: A poker player learns to recognize the involuntary “tells” of other players, in order to predict what type of hand they have, or to bluff.
- Increasing profits: A corporate data scientist identifies the purchasing patterns of customers through data mining and customer segmentation, so that different types of customers receive different ads and coupons in the mail or during online searching.
- Avoiding scams: A consumer learns to recognize the patterns of several known types of scams and then avoid them. Each type of scam has a name such as “bait and switch”, “pyramid scheme” and “shell game”.
- Winning a court case: A lawyer looks for and utilizes legal precedents with names like “X v. Y” that share important similarities to their own case.
Patterns are also important in a research context, as the following examples illustrate.
- Speeding up software development: A software developer reads a book about software design patterns and best practices in order to determine whether her problem is a variant of a common pattern for which there are known, reusable solutions that can be rapidly implemented. Examples include the “adapter pattern” and the “decorator pattern”.
- Understanding the Earth system: A geoscientist realizes that there are recurring weather and climate patterns, such as El Nino and the North Atlantic Oscillation that can help us to better understand and then predict the onset of droughts and floods.
This blog post sets the scene for two related blog posts by Sondoss Elsawah and Joseph Guillaume on why patterns are useful for sharing modelling practices and on how patterns can transmit ‘know-how’ knowledge about modelling practices.
What other examples of patterns do you have to share? More particularly, can you provide examples about where patterns play a role in solving a difficult problem?
Australian Competition and Consumer Commission (ACCC). (2016). The Little Black Book of Scams. Commonwealth of Australia: Canberra, Australia. Online: https://www.accc.gov.au/publications/the-little-black-book-of-scams
Davenport, W. H. (1964). Marshall Islands cartography, Expedition Magazine (The Bulletin of the University Museum of Pennsylvania), 6, 4: 10 -13.
Duhigg, C. (2012). How companies learn your secrets. The New York Times Magazine, February 16, 2012.
Gamma, E., Helm, R., Johnson, R. and Vlissides, J. (1994). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley: Boston, United States of America.
Kessler, S. (2015). The 5 Personality Patterns: Your Guide to Understanding Yourself and Others and Developing Emotional Maturity. Bodhi Tree Press: Richmond, California, United States of America.
Parry, W. (2011). How to spot psychopaths: Speech patterns give them away. Online: http://www.livescience.com/16585-psychopaths-speech-language.html
Pickett, M., Tar, C. and Strope, B. (2016). On the personalities of dead authors. Online: https://research.googleblog.com/2016/02/on-personalities-of-dead-authors.html
Van De Oudeweetering, A. (2014). Improve your chess pattern recognition: Key moves and motifs in the middlegame. New in Chess: Alkmaar, The Netherlands.
Winerman, L. (2004). Criminal profiling: The reality behind the myth. Monitor on Psychology, 35, 7: 66.
Biography: Scott D. Peckham PhD is a Senior Research Scientist at the Institute of Arctic and Alpine Research (INSTAAR) at the University of Colorado, Boulder. His science research is mainly in hydrology and fluvial landscape evolution, with expertise in fluid dynamics, digital terrain analysis, mathematical modeling, scaling theory, stochastic processes, software development and cyber-infrastructure. He is author of many open-source computational models, most of which are available in a Python package called TopoFlow 3.5. He is also author of an innovative, automatic model coupling framework called EMELI (Experimental Modeling Environment for Linking and Interoperability). He is a member of the Core Modeling Practices pursuit funded by the National Socio-Environmental Synthesis Center (SESYNC).
This blog post is the first of a series resulting from the third meeting in April 2017 of the Core Modelling Practices pursuit. This pursuit is part of the theme Building Resources for Complex, Action-Oriented Team Science funded by the National Socio-Environmental Synthesis Center (SESYNC).
6 thoughts on “Looking for patterns: An approach for tackling tough problems”
Is anyone researching the long recognised pattern that human beings seem to be incapable of learning from history?
When we debate current efforts to achieve the needed shifts in human behaviour, what hope do we have when the majority of discussants opine about needing a global catastrophic crisis to persuade people to put as much effort into peacebuilding and climate change mitigation as into making war and consumption-led economic growth strategies that perpetuate privilege reinforcing financial and other institutions and fuel environmental and societal degradation.
How serious are we about investing in the shifts in paradigms and world views that many see as essential without believing that will be able to achieve them. Do we have to wait until after the crisis for the giants of reform and reconstruction to emerge?
Are there not patterns in world religions to reinforce attention to relationships based on respect for rights and solidarity expressed in generosity? Are there not patterns of powerful, precautionary or preventive leadership, to amplify the voices to the many “movements” across the generations demanding change? Or will these also be overwhelmed by lack of foresight and short-term, populist (in its worst forms) thinking?
Thank you Beris, you raise a very good and timely point. As they say: “Experience is a wonderful thing. It enables us to recognize a mistake when we make it again.” Some of our current world leaders are exhibiting behaviors or “leadership styles” that many of us recognize as a familiar and dangerous pattern that is associated with some of the worst periods and events in human history. These patterns have names like “authoritarianism” and “fascism”, and exhibit tell-tale signs such as efforts to suppress the free press, corruption, intolerance for other races, religions and so on (treating them as scapegoats for societal problems) and the use of propaganda or “alternative facts”. While we are living in the “information age”, it has never been easier to spread misinformation and many people do not have the critical thinking skills needed to distinguish fact from fiction. Very large amounts of money are being spent on TV advertisements, lobbyists and other efforts to keep people confused, so this is truly a challenging problem.
Thanks Scott. What’s the difference between patterns and heuristics?
Heuristics are problem-solving strategies that tend to be applied in situations where a solution or approximate solution is needed quickly but doesn’t need to be optimal. Heuristics can be contrasted with algorithms, where the latter are guaranteed to yield a solution to a given problem, and may even be provably optimal. Heuristics can be helpful when supporting information is limited, when the problem is ill-posed, when there is no known exact algorithm, when applying a known algorithm is impractical or when a “good enough” solution is sufficient. (This reminds me of the Voltaire quote: “Better is the enemy of good.”) Humans may apply heuristics or “rules of thumb” to get “quick and dirty” solutions. Machines may apply heuristics to find approximate solutions to problems that have a high computational complexity (e.g. “NP-hard” problems), such as the traveling salesman problem, which take a very long time to solve. Pattern seeking can be viewed as a general type of heuristic. In fact, students of mathematics are taught to tackle new problems by thinking about how they are similar to problems they have seen before and already know how to solve.
Do you have any thoughts on advantages of looking for patterns, rather than more specific ideas like creating methods, structuring problems, coining new terms or controlled vocabularies, creating ontologies …?
Would you agree with the idea that these are all forms of looking for patterns? Does this then mean a key advantage of patterns is their flexibility – you can see a broader range of things if you don’t predetermine what you are looking for?
Thanks Joseph. Several of the more specific ideas that you mention seem to be more about organizing information or knowledge into a more structured form. These types of activities often yield new insights and may expose hidden patterns, but the person organizing the information may not be looking for patterns. On the other hand, a typical approach to organizing information is to create a classification scheme, often with a hierarchy of classes, and the classes can be viewed as patterns. (Recall that in object-oriented programming, classes are general, user-defined data types, with a shared set of attributes and many possible “instances”.) Information to be organized is then placed within the hierarchy based on the closest match. I agree that the power and flexibility of patterns derives from how they can support fuzziness and abstraction.