Pattern Recognition
Have you ever noticed patterns in nature?
Such as the different time the sun rises each day, or the schedule of the ocean tides?
How about patterns in your school work?
Poems, such as limericks have a pattern that sets them apart as a type of poem.
Shakespeare’s plays contain patterns--they are written in unrhymed iambic pentameter
which is a pattern of ten stressed and unstressed syllables.
Patterns can be identified in art, as well, such as Van Gogh’s distinctive brush strokes.
In the process of observing and breaking down a problem into easier to solve smaller pieces,
you will likely have noticed similarities and patterns.
You may have identified patterns within the subproblems or among them.
For example, returning to the necklace problem, you may have noticed similarities between
each of the smaller subproblems identified:
What is the cost of the red beads?
What is the cost of the blue beads?
What is the cost of the thread?
The operation to find each answer is the same:
Cost of red beads x number of red beads Cost of blue beads x number of blue beads
Cost of thread x length of thread
Each subproblem calculates the cost of the material by determining how much of each material
was used.
This pattern of similar subproblems aids us in determining how to find the answer to the
larger problem.
Stay tuned as we will continue with this problem in the next video.
Patterns are opportunities for efficiency when solving problems.
Being able to recognize patterns is a fundamental step in the process of problem solving with
computational thinking because the patterns help you determine what operations can and
need to be done.
This is critical in moving forward in computational thinking, especially if the goal is utilizing
computers to automate and streamline a process.
If the same operation occurs again and again, it may be able to be entered once and repeated.
Let’s explore some classic examples of patterns in problem solving.
Codes are systems of symbols used to represent other symbols to disguise messages.
To be able to decode this type of message, the user must identify the pattern used for
symbol substitution.
For example, a very simple code might be based on a pattern of numbers representing letters,
such as 1=A, 2=B, 3=C, etc.
To make a code like this more difficult to break, the letter number patterns may be shifted—1=M,
2=N, 3=0, etc.
When trying to decipher a code, the decoder has to recognize the pattern being used for
the code in order to break it…unless they are lucky enough to have a decoder ring.
Decoder rings are mechanisms that efficiently use the code pattern to unlock a code based
on symbol substitution.
The most famous “decoder ring” in history is the Rosetta Stone.
The Rosetta Stone is an actual stone that was discovered in “Rosetta” (el-Rashid)
Egypt in 1799.
Prior to its discovery, the hieroglyphs of ancient Egypt remained a mystery, as knowledge
about what they meant had been lost over time.
The importance of the Rosetta Stone is that the same passage was carved into the stone
in three different languages.
Codebreakers were eventually able to use a language they knew to learn what the symbols
they didn’t understand meant, thus unlocking the secret to reading hieroglyphs and learning
about ancient Egypt.
Cholera in London Another example where pattern recognition
played a role in problem solving occurred in London in the late 1800’s.
Many of London’s residents were ill with cholera (an infection of the small intestine
that can lead to vomiting, diarrhea, dehydration and eventually death), but disease spread
was poorly understood at the time, so it was unclear what the source of the outbreak could
be.
Through investigation and deduction, a London doctor named John Snow hypothesized that Cholera
was spread through contaminated water and identified patterns as to when and where illness
was occurring in relation to water sources to locate the cause of the outbreak, one certain
contaminated city water pump.
In John Snow’s own words: “On proceeding to the spot, I found that
nearly all the deaths had taken place within a short distance of the [Broad Street] pump.
There were only ten deaths in houses situated decidedly nearer to another street-pump.
In five of these cases the families of the deceased persons informed me that they always
sent to the pump in Broad Street, as they preferred the water to that of the pumps which
were nearer.
In three other cases, the deceased were children who went to school near the pump in Broad
Street...”
Due to John Snow’s pattern recognition and problem solving skills, the pump was disengaged,
the cholera epidemic was stopped, lives were saved and our understanding of waterborne
diseases grew.
A third example of pattern recognition used for problem solving is more recent.
Around 2007, an art collector purchased this chalk on vellum (animal skin) drawing of a
young girl.
He boldly suspected that the artwork could be attributed to Leonardo Da Vinci, painter
of the Mona Lisa and The Last Supper.
Experts from the art world got involved and started looking for patterns--features of
the piece that were consistent with known Da Vinci style, as well as other scientific
and historic clues that might mean it was a Da Vinci work.
Through their investigation they found a long list of evidence (enough to publish a book
on the topic) that the drawing was in fact created by Da Vinci.
The patterns identified include: • exquisite details, such as the way the
girls headband curves her hair and her fine eyelashes
• the age of the vellum, determined through carbon 14 dating, on which the girl is painted
is consistent with when Da Vinci lived • pen and ink lines discovered under the
chalk layer using super high resolution photography that indicated a left handed artist (which
Da Vinci was) as well as similar drawing habits to Da Vinci’s other works
• A fingerprint preserved in the chalk--which unfortunately turned out to be inconclusive
• attempting to recreate a copy of the artwork in the same style determined that the materials
and style were very unique, used experimental binders to make the chalk stick, and would
have been challenging to work with--Da Vinci similarly experimented with binders when working
on The Last Supper • The girl in the drawing’s hairstyle
was identified to be from Da Vinci’s time and more specifically attributed to a specific
royal family for whom Da Vinci served as an artist.
The girl was identified to be the daughter of Da Vinci’s employer.
• Finally, the jagged left edge of the vellum and three small holes led to experts to believe
the drawing came from a page in a book.
The book was traced to the National Library in Poland where it was found to match exactly.
Since Computational Thinking can be used in any subject area, the type of patterns to
be recognized vary widely.
Let’s look at how pattern recognition can be used to address some different types of
problems.
The Computational Thinking activity provided by studio.code.org is an excellent offline
activity that demonstrates the Computational Thinking process visually as students “make
a monster”.
The decomposition and pattern recognition steps are closely related in this case, so
both are introduced here.
This activity will be used again in the last two videos.
The goal of the activity is for students to design an efficient method (program) for others
to be able to recreate drawings of monsters with unique sets of features.
These are the monsters.
The first step is decomposition and pattern finding.
What features do these monsters have in common?
How can we group features?
Ask students to list/group features.
What do all the monsters have in common?
• They all have a head • They all have eyes
• They all have a nose • They all have a mouth
• Two have ears, one does not Next, have students use tracing paper to physically
group features.
They can name the features based on the monster’s name.
We will continue with this activity in the next video.
There are many, many great online resources for practicing recognizing patterns.
Visit the suggested activities for this section to find links to a variety from different
subject areas.
Several are described here.
The Pattern Generator at shodor.org generates an ongoing variety of different types of patterns.
If you want to focus on numbers and math related-patterns, try The Empty Triangle and Number Cracker.
For English/Language arts-related patterns try Syntax Store, which focuses on sentence
structure and Limerick Factory which plays with poetry.
People Patterns combines visual pattern recognition with math in levels of increasing difficulty.
Guess my Button is another visual pattern recognition game.
Another great way to practice recognizing patterns is through drawing.
Students can search for instructions and methods for drawing just about anything they would
like.
For example, a quick search resulted in a method for sketching a horse that begins with
abstract shapes and steps through a process toward a detailed and recognizable horse.
A similar method is used when drawing a portrait.
When you have finished watching this video, don’t forget to complete the quick self-evaluation
to check your understanding.