An algorithm is a precisely defined set of rules for calculating operations that are used to solve a specific task. It is language-independent and can be implemented in any programming language.[1] The algorithm is not to be equated with a program. It is (in the most cases) rather part of a program, which can contain many different algorithms.
The execution of an algorithm is cyclical. In the context of both generative design and creative coding, it begins with an abstract idea which, expressed via rules and propelled by data, is translated for the computer in such a way that it can generate form from it. This form can then be returned to humans in a kind of feedback loop, giving them the opportunity to evaluate it and then redesign or change it iteratively (a process of repetition in which only slight changes are made) using adapted rules.[2]
Map of relevant entites and relationships
{
“nodes”: [
{“id”: 1, “label”: “Algorithm”, “title”: “A set of instructions designed to perform a specific task.”},
{“id”: 2, “label”: “Input”, “title”: “Data provided to the algorithm to work upon.”},
{“id”: 3, “label”: “Output”, “title”: “Result produced by the algorithm after processing the input.”},
{“id”: 4, “label”: “Rules”, “title”: “The step-by-step rules the algorithm follows.”},
{“id”: 5, “label”: “Data Structure”, “title”: “A specific way of organizing and storing data that the algorithm works with.”},
{“id”: 6, “label”: “Finite”, “title”: “An algorithm is a finite sequence of rigorous instructions”},
{“id”: 7, “label”: “Language Independent”, “title”: “An algorithm is not tied to specific (programming) language can be expressed and implemented in any language.”},
{“id”: 8, “label”: “Code / Pseudocode”, “title”: “A method of writing out an algorithm in either a specific programming language or a human-readable way that doesn’t require specific syntax.”},
{“id”: 9, “label”: “Human intervention”, “title”: “The process of affecting an algorithm by i.e. making it more efficient or changing its functionality.”},
{“id”: 10, “label”: “Task or Problem”, “title”: “A challenge or task that the algorithm is designed to solve.”},
{“id”: 11, “label”: “Loop”, “title”: “The rules and instructions of the algorithm are executed by the computer in a loop.”}
],
“edges”: [
{“from”: 1, “to”: 2, “label”: “takes in”},
{“from”: 1, “to”: 3, “label”: “produces”},
{“from”: 1, “to”: 4, “label”: “consists of”},
{“from”: 1, “to”: 5, “label”: “uses”},
{“from”: 1, “to”: 6, “label”: “is”},
{“from”: 1, “to”: 7, “label”: “is”},
{“from”: 1, “to”: 8, “label”: “can be represented by”},
{“from”: 1, “to”: 9, “label”: “can be subject to”},
{“from”: 1, “to”: 10, “label”: “solves”},
{“from”: 1, “to”: 11, “label”: “is executed in a”}
]
}
This map is interactive.
Hover over elements to learn more. Click-and-drag elements to move them around.