Skip to main content
SearchLoginLogin or Signup

Textile Algorithms

Exploring algorithms through textile practices

Published onNov 11, 2023
Textile Algorithms
·

Abstract

In this essay, I introduce 3 projects that explore algorithms through textile practices. Section 1 compares number based hand embroidery pattern with algorithmically generated embroidery pattern. Section 2 introduces a series of experiments attempting to code 8-bit ASCii alphabet information with weaving and crocheting. Section 3 explains the process of creating an artificial neural network physically on textiles with microcontrollers, optic fiber and e-Textile circuit embroidery.

Textile Algorithms

Abstract

In this essay, I introduce 3 projects that explore algorithms through textile practices. Section 1 compares number based hand embroidery pattern with algorithmically generated embroidery pattern. Section 2 introduces a series of experiments attempting to code 8-bit ASCii alphabet information with weaving and crocheting. Section 3 explains the process of creating an artificial neural network physically on textiles with microcontrollers, optic fiber and e-Textile circuit embroidery.

Introduction

“There is no form; there is no material; there is only form; there is only material; form and material collapse into a definition: the textile-design formula. All of this relates to

a design practice; it is thinking within a process of designing.”

The Textile-Thinking Paradox, Lars Hallnäs [1]

When working with physical materials with hand techniques, one can think before the process (planning), through and within the process (exploration) and after the process (reflection). The projects I introduce in this essay started with little planning beforehand. They rather started by following an initial small thread of idea that suggested crossing points of textile techniques and algorithms. As Hallnäs writes, during the realization of these projects the thinking within a process took place. These thinkings are not structured linearly such as “hypothesis - experiments/proof - conclusion”, but rather these are networks of thinking processes that are interconnected. Here, I try to capture these interconnected thinking by following the process I have experienced. 

1: Kogin-Zashi and a Cellular Automata embroidery

Kogin-Zashi is an embroidery technique traditionally practiced in the Northern part of Japan [2]. It is embroidered by counting the number of warp threads of the base fabric. These counts of warp thread patterns are a combination of odd numbers. For example a pattern called “ 豆こ/tiny bean” is made of 1-3-5-3-3-3-3-3-5-3-1, which creates diamond shape with hollow inside. The embroiderer is not looking at a picture of the outcome pattern image to follow, but is counting warp threads and stitching with numbers that creates intricate patterns. 

Inspired by the Kogin-Zashi method, I tried embroidering 1D cellular automata, rule 30 with cross stitch embroidery technique. Instead of following the fixed number combinations like kogin-zashi, I follow the rule and spontaneously decide if I am stitching the current crossing or not, depending on the stitch on the row above. 

Figure 1

Embroidered Rule 30 Cellular Automata

Figure 2

Computer generated Cellular Automata Rule 30 (CC BY-SA 3.0 File:Cellular Automata running Wolfram-rule-30.svg)

The embroidered cellular automata (figure 1) and the computer generated cellular automata (figure 2) do not show the same pattern., although the cellular automata always creates the same pattern when the starting state and the rules are the same. This is because embroidered cellular automata contain human errors. As you stitch, you forget the rules, distracted by the surroundings, or simply being careless and stitches are placed at the places where they should not be or missing at where they should be. As the cellular automata base its current state from the previous state of the row above, these mistakes start to diverge the pattern. One can simply dismiss that this is not a cellular automaton. But instead, it is interesting to see it as a type of cellular automaton that includes mutations of rules that captures the moment of the calculation. It is an instance of an algorithm that embodies the physicality of the making process. 

2. 8-bit and textile patterns

Weaving and computation are often compared, as both are based on the state of 1 and 0. During the course: 0/1 unraveling bits at the Weissensee Art Academy Berlin [3], I conducted a series of hands-on workshops with Textile design students. We explored the crossing point of the textile and computation with various textile techniques. 

During the class, we followed the “Making Core Memory workshop” by Daniela Rosner [4]. In her workshop, alphabets are coded in the bindings of beads on wire. The combination of 1 (through the bead) and 0 (not through the bead) representing alphabets is assigned by Rosner to evenly spread threading combinations. 

With students we tried to convert this idea into weaving structures. Weaving structures are often based on 8 warp threads as one unit as 8 shafts looms are common. Our initial thought was therefore to represent 8-bit information as 1 row of 8 shaft positions. We quickly realized this is not possible due to the construction of woven textiles. For example, alphabets are often converted to 8-bit using ASCII numbers. For example A is 65 (01000001) and z is 122(01111010). Notice the first two bits do not change. When you directly use these 0 and 1 combinations as weave patterns and try to weave, the fabric will collapse as the first 2 warps remain always in the same position and it does not get woven into the structure. 

Textile design students, Zäzilie Schilling and Jinyu Li came up with the idea to convert alphabets into 8 by 8 weaving patterns by turning the array in 45 degrees and reflecting from the axis. This way, one can maintain the integrity of woven fabric with any combination of alphabets. It represents 8-bit information, but it uses 8 x 8 space. In computational thinking, it seems a waste of memory space, but in textile thinking it is senseful. It is not a wasted memory, but simply more material. Structural physicality of the material and the technique, in this case weaving, leads one to design a particular instance.  When looking at the woven result (see figure 4) it is not only an array of 8-bit coded alphabets, but it contains materiality, physicality and aesthetic experience.

Figure 3

Zäzilie Schilling and Jinyu Li’s sketch for converting 8-bit information into 8x8 woven structure

Figure 4

Woven alphabets following the coding of alphabets

Zäzilie Schilling continued exploring this idea with circular crochet technique [5]. She converted Alphabets into ASCII codes to 8-bit binary codes, then to crochet stitches. 1 is a double crochet stitch and 0 is a single stitch. The first letter repeats 4 times on row 1, creating 32 stitches as an initial central loop. The next row follows with the second letter increasing to 64 stitches in a loop. As a letter uses only 8-bit/ 8 stitches, the gap between the letters are filled with chain stitches. (see figure 5) As she continues on to the outer layer the number of stitches per loop increases and more chain stitch is added in the gap. She made some conventions to keep the integrity of the surface by adding extra binding stitches between the rows. 

She created 3 different crochet pieces: LEBEN (life), STERBEN (death), and AUF LEBEN HOFFEN(hope for life) (see figure 6, 7, 8). She mentioned later that she chose these 3 words to see if the meaning of the words show in the crochet pieces and if the containing meanings of the words change our perception of the textiles.

Figure 5

Zäzilie Schilling’s conversion from binary to crochet pattern

Figure 6

Crochet “LEBEN” by Zäzilie Schilling

Figure 7

Crochet “STERBEN” by Zäzilie Schilling

Figure 8

Crochet “AUF LEBEN HOFFEN” by Zäzilie Schilling 

3. Textile Artificial Neural Network

In recent years, there has been much speculation and discussions around Artificial Intelligence (AI) systems. Although we tend to imagine human-like agents in AI, AI is a type of algorithm far from living beings. One of the common algorithms used in AI systems is artificial neural network (ANN). As the name suggests, it is often compared with brains as it is based on the idea that an algorithmic neuron (i.e. sigmoid) outputs signals (i.e. float number between 0 and 1) depending on the input signal from its networked neurons. These signals are evaluated with weights for each input as they come in and elevated with additional bias values. These weights and biases are adjusted through the training process, in which the system is provided with a large amount of example data with target outcomes. 

In late 2019 to early 2020, I explored crafting a physical ANN with e-textile techniques as a part of an artistic project “Artificial Intelligence and its False Lies” [6]. I used ATTINY85 microcontrollers as artificial neurons, optic fiber as synapses, LED as signal outputs and LDR as signal receptors. ATTINY85 is a small microcontroller which contains only 8 pins, among which only 3 of them are analog input pins. This means that maximum 3 neurons can be influencing calculation of a single neuron.

Figure 9

version 1 prototype embroidered artificial neurons

The first prototype (figure 9) includes 2 hidden layers with 3 neurons on each layer. A sensor glove equipped with 6 e-textile bend sensors is connected to its input layer. The glove’s sensor data were recorded and used as training data on a computer to calculate the correct weight and bias for each ATTINTY neuron. I used hand gestures of ‘rock’ ‘scissors’ and ‘paper’ as examples to train this network. Assembled embroidered neural network could recognize all 3 gestures simultaneously when gestures were performed wearing sensor gloves attached to the embroidery. [7]

Figure 10

ANN connections planning sketch

Figure 11

Embroidered microcontroller, LED, LDR and optic fiber

The final outcome of this project is a large embroidered artificial neural network that contains 12 inputs, 3 hidden layers of 8 neurons on each layer and 2 output neurons. This immediately adds complexity in the design and construction of the network. Unlike the ANN on computer programs, these physical artificial neurons need physical space and spacing with each other on a fabric. The optic fiber can not be bent in a narrow angle in order to secure the passing of the light. 

The embroidery pattern of this network was not conceived as one big image but rather was made spontaneously as it was stitched by following the circuit diagram (figure 10,11). I recognize the parallel to the design approach: ‘form follows function’. The pattern of the embroidery was created following the algorithm of an artificial neural network. 

The fabric was assembled as a garment so one can wear and be covered with AI. The accuracy of this artificial neural network calculation is not as remarkable as the first prototype. Many physical factors, such as bend and movements of the surface, optic fiber exposed to surrounding lights, wear and tear of the components add random factors to malfunction. Despite its calculation in-capability, the sensation of being covered with a physical artificial intelligence is still an interesting experience.

The Embroidered Computer by Ebru Kurbak and Irene Posch [8] also embraces this sensation of a physicalized algorithm. Their 8-bit embroidered computer’s value is beyond its calculation capability. It is how it let us experience and grasp algorithms in material and tangible ways. 

Figure 12

final prototype garment

Figure 13

A garment covered with artificial neural network worn on body

Reflection

I wonder what effect it has when algorithms are made physical with textiles. It is more than a mere translation of numbers into textiles. It is not a textile display that shows algorithm generated patterns. These textile processes I mentioned above involve human hand, skills and techniques of individuals, unexpected diversions lead from errors and mistakes, physical limitations of the materials one works with. 

I am coming to think if we can consider the textile process itself as algorithms. Materiality, constructions, skills and techniques at hand, even errors result in a pattern that this algorithm generates. 

In this sense, projects mentioned in this paper can be considered as examples of hybrid algorithms: algorithms that are be expressed in numbers and algorithms that are expressed in textiles.

Reference:

[1] Lars Hallnäs, The Textile– Thinking Paradox, pp18 -25, Stitching Worlds Exploring Textiles and Electronics, 2018

[2] Tomoyuki Yamanobe, Tsugaru Kogin and Sashiko, 2006

[3] 0/1 unraveling bits course documentation website, https://zeroone.designing-interactions.de/

[4] “Making Core Memory: Design Inquiry into Gendered Legacies of Engineering and Craftwork”, Daniela K. Rosner, Samantha Shorey, Brock Craft, Helen Remick, CHI, 2018

[5] Zäzilie Schilling, Das Leben und die Zahlen, Weissensee Kunsthochschule Berlin, Sommersemester report, 2022

[6] Mika Satomi, Artificial Intelligence and its False Lies, project website https://www.kobakant.at/false-lies/ https://www.nerding.at/artificial-intelligence-and-its-false-lies/

[7] Video of the first A.I.F.L prototype https://vimeo.com/378170326

[8] Ebru Kurbak, Irene Posch, The Embroidered Computer, pp130-149 Stitching Worlds Exploring Textiles and Electronics, 2018

Comments
0
comment
No comments here
Why not start the discussion?