Primer Home / Mess / Observing Patterns and Designing Algorithms

Observing Patterns and Designing Algorithms

Topic: Mess
by Zhouchen, 2021 Cohort

Patterns we see#

Patterns can be widely observed in nature. The change of seasons, the colour block on animals, the shape of leaves, the flow of rivers are all naturally occurred patterns. It can also be found in social behaviours. Prisoner’s dilemma, consumers’ choices on products, people’s reaction to different news, etc. These are somewhat predictable based on the rules or social norms.

Pattern as a self-organized development#

Patterns can be seen as self-organised developing processes based on some rules, which could lead to a stable state of patterns we see. Consider the biological process from a cell to an animal. In this case, the rules of the pattern are carried in the DNA. Scientist found out the development are largely influenced by the interactions inside the pattern system, such as the colour blocks on leopards. These patterns are formed by the chemical interaction of individual cells based on local activation and long-range inhabitation. One chemical activates nearby cells to produce pigment to form the colour and the other chemical causes cells far away not to produce pigment to limit the area of the colour block. This concept can be adapted to the human group for social behaviour as well. The interactions between humans become crucial to understand patterns like adolescent behaviour, panic shopping, etc.

Patterns in complex systems#

An important pattern that could describe the real world is fractals. Fractals are similar patterns that exist at different scales in a system. For example, broccoli can be broken into smaller broccolis, a river fork extends many smaller forks, a cloud can be seen as smaller clouds combined. This allows us to approach complex patterns by fractal thinking.

Complex systems are mostly non-linear and difficult to predict. Fractal thinking can helps us to approach the problem from different scales and find novelty among interactions. Most social issues can be seen as a part of a complex system. For example, to analyze adolescent behaviours we could look into smaller groups of teenagers and individual interactions. They usually want to show their uniqueness but also don’t want to be excluded from the group. This may lead to the form of social groups in school as well as some rebelling behaviours. This process of looking for a pattern to potentially solve a problem is the workflow of an algorithm.

Algorithm#

An algorithm refers to a rule-based decision-making process that is now mostly used in computer science. In a broader sense, it can be a bureaucratic process or a designed sequence of actions to take to solve any problem. In computer science, it is defined rules in code to account for the state that the machine transits to for each case.

Design algorithm#

Algorithm design is a logical or mathematical process for problem-solving progress. In programming, it has different design techniques like greedy, divide-and-conquer, dynamic programming etc. Greedy algorithms choose the solutions that are optimal at each state with no guarantee that the final solution is optimal for the whole. This is similar to the way we make decisions that only bring short-term benefits without considering future implications and long-term goals. Divide-and-conquer breaks down the original problem into 2 or more similar subproblems until it can be solved directly and combines the solutions to get the final result. This could be seen as the process of building a car or anything that is achieved by finishing separate parts and combining them together. Dynamic programming breaks down a problem into subproblems too but memorizes the results from before and uses them to solve the original problem. Human learning is somewhat similar to this so we can recognize the same pattern with the knowledge we have and build up to final a solution without solving everything from the scratch.

Algorithms in complex systems#

A complex system is dynamic and has many variables and relationships with other internal/external variables. It may take multiple inputs and have multiple outputs and the future state difficult to predict. Its solution is often not well-determined therefore the algorithm to find a solution is also dynamic. Forming an algorithm of a complex problem usually requires a group of individuals with different areas of expertise to achieve an ill-defined goal that a general routine cannot achieve. It needs not only logical thinking and knowledge from past experiences for subproblems but also the creativity to deal with uncertainties and ramifications in the system. [2] Patterns in a complex system are constantly changing so partial solutions are likely to conflict with each other and are hard to resolve. Therefore an algorithm for a complex problem is an everlasting research topic.

Additional Resources#

[1] BAR-YAM, Y., 2004. Making Things Work. 1st ed. NECSI , Knowledge Press, pp.31-40.

[2] Dorner, D. and Funke, J., 2017. Complex Problem Solving: What It Is and What It Is Not. Frontiers in Psychology, 8, p.6.

Explore this topic further#

Return to Mess in the Primer

Disclaimer#

This content has been contributed by a student as part of a learning activity.
If there are inaccuracies, or opportunities for significant improvement on this topic, feedback is welcome on how to improve the resource.
You can improve articles on this topic as a student in "Unravelling Complexity", or by including the amendments in an email to: Chris.Browne@anu.edu.au

Patterns we see#

Patterns can be widely observed in nature. The change of seasons, the colour block on animals, the shape of leaves, the flow of rivers are all naturally occurred patterns. It can also be found in social behaviours. Prisoner’s dilemma, consumers’ choices on products, people’s reaction to different news, etc. These are somewhat predictable based on the rules or social norms.

Pattern as a self-organized development#

Patterns can be seen as self-organised developing processes based on some rules, which could lead to a stable state of patterns we see. Consider the biological process from a cell to an animal. In this case, the rules of the pattern are carried in the DNA. Scientist found out the development are largely influenced by the interactions inside the pattern system, such as the colour blocks on leopards. These patterns are formed by the chemical interaction of individual cells based on local activation and long-range inhabitation. One chemical activates nearby cells to produce pigment to form the colour and the other chemical causes cells far away not to produce pigment to limit the area of the colour block. This concept can be adapted to the human group for social behaviour as well. The interactions between humans become crucial to understand patterns like adolescent behaviour, panic shopping, etc.

Patterns in complex systems#

An important pattern that could describe the real world is fractals. Fractals are similar patterns that exist at different scales in a system. For example, broccoli can be broken into smaller broccolis, a river fork extends many smaller forks, a cloud can be seen as smaller clouds combined. This allows us to approach complex patterns by fractal thinking.

Complex systems are mostly non-linear and difficult to predict. Fractal thinking can helps us to approach the problem from different scales and find novelty among interactions. Most social issues can be seen as a part of a complex system. For example, to analyze adolescent behaviours we could look into smaller groups of teenagers and individual interactions. They usually want to show their uniqueness but also don’t want to be excluded from the group. This may lead to the form of social groups in school as well as some rebelling behaviours. This process of looking for a pattern to potentially solve a problem is the workflow of an algorithm.

Algorithm#

An algorithm refers to a rule-based decision-making process that is now mostly used in computer science. In a broader sense, it can be a bureaucratic process or a designed sequence of actions to take to solve any problem. In computer science, it is defined rules in code to account for the state that the machine transits to for each case.

Design algorithm#

Algorithm design is a logical or mathematical process for problem-solving progress. In programming, it has different design techniques like greedy, divide-and-conquer, dynamic programming etc. Greedy algorithms choose the solutions that are optimal at each state with no guarantee that the final solution is optimal for the whole. This is similar to the way we make decisions that only bring short-term benefits without considering future implications and long-term goals. Divide-and-conquer breaks down the original problem into 2 or more similar subproblems until it can be solved directly and combines the solutions to get the final result. This could be seen as the process of building a car or anything that is achieved by finishing separate parts and combining them together. Dynamic programming breaks down a problem into subproblems too but memorizes the results from before and uses them to solve the original problem. Human learning is somewhat similar to this so we can recognize the same pattern with the knowledge we have and build up to final a solution without solving everything from the scratch.

Algorithms in complex systems#

A complex system is dynamic and has many variables and relationships with other internal/external variables. It may take multiple inputs and have multiple outputs and the future state difficult to predict. Its solution is often not well-determined therefore the algorithm to find a solution is also dynamic. Forming an algorithm of a complex problem usually requires a group of individuals with different areas of expertise to achieve an ill-defined goal that a general routine cannot achieve. It needs not only logical thinking and knowledge from past experiences for subproblems but also the creativity to deal with uncertainties and ramifications in the system. [2] Patterns in a complex system are constantly changing so partial solutions are likely to conflict with each other and are hard to resolve. Therefore an algorithm for a complex problem is an everlasting research topic.

Additional Resources#

[1] BAR-YAM, Y., 2004. Making Things Work. 1st ed. NECSI , Knowledge Press, pp.31-40.

[2] Dorner, D. and Funke, J., 2017. Complex Problem Solving: What It Is and What It Is Not. Frontiers in Psychology, 8, p.6.

bars search times arrow-up