3.1. Preliminaries
Mullin [
17], in 1967, described an encoding of graph drawings that has proved useful for coding the construction of fabric surfaces. His interest was counting graphs drawn on the surface of the sphere. Informally, a graph drawing [
18], on a closed surface, is a connected drawing consisting of dots (0-dimensional vertices) connected by non-crossing curves (1-dimensional edges,) such that the regions left unmarked (2-dimensional faces) are simply connected. Considered up to topological equivalence, graph drawings on closed surfaces are
maps. Informally, maps comprise all of the topologically distinct ways a closed surface can be cut up into polygons; conversely, they comprise all the topologically distinct ways polygons can be glued edge-to-edge to build closed surfaces.
All surfaces considered here will be orientable and, in fact, endowed with an orientation that gives words like ‘left’ and ‘counterclockwise’ unambiguous meanings. All surfaces are initially closed (i.e., boundary-less), though artificial boundaries or cuts may be later introduced, to render the surface into a topological polygon.
I emphasize that the surfaces are completely closed: They lack any opening that might be useful in serving the traditional functions of baskets. Every part of a fabric structure has many small openings that are characteristic of its fabric technique and, hence, it is simpler and more efficient to describe a useful functional opening in a basket as an extra-large characteristic opening in the fabric structure—that is, as an extra-large n-gon in the tessellation of the surface that describes the fabric structure—rather than as a boundary in the surface. The former approach not only simplifies the surface topology, it guarantees that the functional opening is properly salvaged in the fabric technique being used.
Mullin’s project was counting
tree-rooted plane graphs (
Figure 3). ‘Plane graph’ is synonymous with ‘graph drawing on the sphere’. A tree is a connected graph without cycles. A spanning tree of a graph is a tree which is a subset of the graph containing all of the vertices of the graph. One
roots a graph drawing by distinguishing one of its corners—that is, a
root face together with a
root vertex—by drawing a small arrow in the root face pointing toward the root vertex. By convention, the corner’s edge closest (counterclockwise) to the rooting arrow is the
root edge. By
tree-rooted we mean that a graph drawing has been endowed with both a distinguished corner and a distinguished spanning tree. (Tree rooting gives the encoding algorithm a place to start, a direction to go in, and, as we will see, a complete ordering of the vertices and edges.)
3.2. Mullin’s Encoding
Mullin’s encoding algorithm ([
18], p. 12) (see
Figure 3d) begins at the root vertex and proceeds counterclockwise around a closed contour that wraps closely around the spanning tree. Walking around the contour, starting from where the rooting arrow intersects it, we will cross, and then re-cross, non-tree edges; and go along, then go back along, tree edges. These encounters are recorded in a character string, using two different styles of parentheses: ‘
(’ records a crossing, ‘
)’ records a re-crossing, ‘
[’ records going out along an edge, and ‘
]’ records going back along an edge.
The encoding tour in
Figure 3d produces a
shuffled parenthesis word: ‘
([[)][()]]’. The parentheses of each style are, in relation to their own kind, properly nested, but the two different styles interleave freely. In this sense, two distinct systems of parentheses have been shuffled.
Maps have become central to current work in a wide range of fields [
19]: Number theory, economics, and theoretical physics, among others. Mullin’s encoding easily converts a map on the sphere into a character string; effectively, an algebraic expression.
3.3. Mullin’s Decoding
The tree-rooted plane graph can be recovered from its Mullin code through a sketching technique. Moving counterclockwise around the tree, we are in the process of sketching (see the dashed trajectory in
Figure 4a), starting at a location that will become the root vertex: ‘
[’ indicates to “draw an edge”; ‘
]’ indicates to “move along the back side of an edge already drawn”; ‘
(’ indicates to “decorate the current vertex with an outward arrow”; abd ‘
)’ indicates to “decorate the current vertex with an inward arrow”. On a second lap around the tree, complementary arrows are connected, to recover the non-tree edges (the red lines in
Figure 4b). The same rule used in algebra to pair up parentheses, “last opened, first closed" is used to pair up outward and inward arrows. (This sketching technique is not used in basket making, rather each of the four characters is interpreted as a craft action—execution of the fabric technique does the decoding).
In addition to a tree-rooted plane graph (
Figure 5a), a Mullin code can also be interpreted as a 3-regular plane graph with a rooted Hamiltonian circuit (
Figure 5b), or a 4-regular plane graph with a rooted
A-trail (
Figure 5c). An A-trail is a non-crossing Eulerian circuit comprised exclusively of hard-right and/or hard-left turns. [
20,
21] In the Hamiltonian circuit interpretation, the Mullin contour is the circuit, non-tree edges become the outer non-Hamiltonian edges, and the perpendiculars of tree edges become the inner non-Hamiltonian edges. In the A-trail interpretation, the non-Hamilton edges of the previous interpretation shrink to zero length, turning the Hamilton circuit into the edges of a 4-regular map with vertices located at the centers of the original map’s edges.
3.4. Mullin Encoding as a Formal Language
A
formal language is a subset of all the character strings (or words) that can be spelled with a finite set of characters,
, called its alphabet. Just as every set contains the null set,
, every formal language contains the
empty word,
, the unique word of zero length. Typically, a formal language is an infinite subset, and its membership is defined by rewriting rules which suffice to generate all the words in the language (and only those words). For example, for
, the Dyck language,
= {(, )}, and the superset of all strings that can be spelled with those two characters is designated
. The Dyck language,
, is then the subset of
consisting of all words, and only those words, that can generated from
via the following rewriting rule (informally stated):
Insert a matched pair of parentheses, ‘()’, anywhere.
This one rule suffices to construct any balanced system of parentheses—such as would be meaningful in a mathematical expression—and only such systems. For example: → () → ()() → (())().
Viewed as a formal language, Mullin’s encoding is
, the shuffled Dyck language on two types of parenthesis [
22]. Words in
are shuffles of two
words, each
word having its own parenthesis style, so
= {(, ), [, ]}.
is the subset of
consisting of all words, and only those words, that can generated from
via the following rewriting rules (informally stated):
Insert a matched pair of parentheses, ‘()’ or ‘[]’, anywhere.
Shuffle adjacent parentheses of unlike style past each other, e.g., []()→[(]).
For example, to obtain the word ([)]: → () → ([]) → ([)].
In my experience, given some one-on-one instruction, even very young children can master these rules to sequentially write down or ‘evolve’ their own
codes for baskets. To make the game easier, I map the
alphabet, {(, ), [, ]}, to {u, d, n, p}, and call the language
undip [
1]. The shape of each letter in undip has a mnemonic connotation of open/close, and (when read with the head leaning to the right) a connotation of left/right, so that the basket maker escapes memorizing the translation.
The rewriting rules allow us to generate an word inside or beside another word—the same being true of —so, and words have the rather DNA-like property that they can be freely concatenated or spliced into one another. The formal language underpins what is interesting about Mullin’s code from a sculptural—or playful—point of view: Design can be accomplished by an accumulation of essentially random local mutations.
Via Mullin’s encoding, allows us to generate any map on the sphere as the consequence of a ‘word game’, and, therefore, as we will see below, to make a basket that exemplifies that map. If the fabric technique allows local edits to be made in an otherwise finished shape, a metamorphosis is possible simply by traveling repeatedly around the same Mullin contour, making local insertions and shuffles as the occasion arises. This could be a practical method of ‘growing’ shapes in fabric systems, such as tensegrity, that are weak or disorganized when the structure is in an unfinished state.
As an aside, formal languages are closely related to abstract algebra and group theory. For example, the operation of string concatenation is associative and closed on any , and is its identity element; thus, , under string concatenation, is a monoid, lacking only inverses to constitute a group. This is why is sometimes referred to as the free monoid on . A congruence relation then supplies the role of the rewriting rules, restricting the free monoid to a submonoid, which corresponds to some formal language. For example, if the binary operation is a non-commutative multiplication, the relation gives an algebraicist license to make the following derivation: …, and so on, which is, of course, an analog of the generation of a word in by the insertion rule. Adding the relation allows a second style of parenthesis, which requires. Adding the four relations , , , and justifies invocations of the shuffle rule in deriving words of . For example: . In the totality of such derivations, the equivalence class of 1 becomes the analog of . Deriving baskets might be an interesting way for students to interact with algebra and group theory.
3.5. Shuffled Dyck Words Describe Constrained Lattice Walks
Strings of shuffled parentheses are hard to read and interpret, so the following visualization is often helpful. A word in
can be seen as describing a constrained walk on the
n-dimensional lattice, beginning and ending at the origin (
Figure 6). Each style of parenthesis gets its own coordinate axis: An open parenthesis increments its coordinate, a close parenthesis decrements it. For example, a word in the Dyck language (
) describes an origin-to-origin walk, constrained to the positive half of the integer numberline (the 1D lattice); a word in
describes an origin-to-origin walk constrained to the first quadrant of the 2D lattice; a word in
(which we will have use for later) describes an origin-to-origin walk constrained to the first octant of the 3D lattice. For these examples, walks of
steps (e.g., words of
letters) are enumerated, respectively [
23,
24,
25], by the
kth Catalan number;
, the product of consecutive Catalan numbers (This enumeration is not hard to calculate, but it proved for a long time hard to explain [
26], because it implied an undiscovered bijection between words in
and concatenations of two words in
),
; and the OEIS integer sequence A064037.
The insertion and shuffle rewriting rules can also be considered, in terms of a lattice walk (
Figure 7). An insertion move appears as an out-and-back spike directed away from the origin. Neighboring parentheses of unlike style appear as 90-degree corners. A shuffle move folds or unfolds the corner, diagonally.
3.6. Bijections between Maps and Baskets
A bijection is an invertible mapping. Invertibility establishes that no information is lost in the mapping, justifying the view that object and image are merely different representations for the same underlying object. Schaeffer [
18] described a bijection from maps with
n edges onto face bicolored 4-regular maps with
n vertices, which he termed
edge maps. (Uncolored, the same maps are known elsewhere as
medial maps; in relation to polyhedra, the transformation is known as an
ambo or
rectification).
Definition 1. An edge map that is face bicolored, in accordance with the following natural visualization, of the maps-to-edge-maps bijection is a basket map: Given a map that is visualized as a black graph drawn on a white surface (Figure 8a), enlarge the black dots that represent the vertices until they meet at the middle of the now obscured edges (Figure 8b). A basket map is like a checkerboard, in that black regions (the vertex images) and white regions (the face images) meet at four-cornered intersections (the edge images), with the colors alternating black-white-black-white around the intersection. A basket map is unlike a checkerboard, in that the colored regions are not necessarily quadrilateral—they may have any number of sides. To visualize the inverse mapping from a basket map to a map: Shrink the black regions of a basket map (
Figure 8b) away from their four-cornered intersections, leaving only a thread of black behind (
Figure 8a).
Use of the term ‘basket’ is justified by the fact that a face-bicolored 4-regular map is an alternating projection of a link; in effect, a projection of a
plain-woven basket [
27,
28] (i.e., a basket woven in a strictly over-under-over-under pattern). The invertible mapping from a basket map to a plain-woven basket is summarized as follows: A weaver, standing in a region that is black in the basket map (
Figure 8b), sees herself in the plain-woven basket (
Figure 8c) surrounded by right-over-left weave crossings (conversely, left-over-right when standing in a white region). A physical model of
Figure 8c (e.g., a belt given a full counterclockwise twist before being buckled) helps to verify that the weave crossings surrounding a region of a given color have the same appearance, regardless of whether the observer is standing on the ‘outside’ or ‘inside’ of the surface—orientation reversal introduces no difficulty in translating a basket map into a plain-woven basket.
An important property of this chain of bijections is that the map dual-images to the opposite coloring of the basket map and, thus, in the plain woven basket, is merely the opposite handedness of weaving.
3.7. Fabric Construction
A Mullin code describes, by the bijections above, the finished structure of a plain-woven basket—unfortunately, weaving is hard. Making a basket by weaving is more complex than making it by a single thread technique, such as net making. Except for unit weaving (see the lower right panel of
Figure 9), a simplified version of weaving where the weaving elements are made as short as possible, finding a working order for weaving will be beyond the scope of this paper. Watching a basket weaver work with dozens of strands in action at once may convince one of this point; the practical necessity of splices is another complication. Rather, we have introduced basket maps, here, because they also elegantly describe those fabric techniques (
Figure 9) where the thread turns away after each interaction rather than continuing straight and crossing over. In other words, instead of following the straightest-possible path through the basket map, the thread follows a maximally-crooked path through the basket map: A sequence of hard-right or hard-left turns. The mathematical term for such a course is an
A-trail, perhaps so-called because each turn of the trail can be indicated on the map by drawing a little shortcut reminiscent of the horizontal stroke in the letter ‘A’.
Figure 5c shows an example of an A-trail on a 4-regular map.
We are therefore interested in finding the progressive course of a single thread which builds a surface by interacting with itself at the turns of an A-trail. This problem on the sphere is subsumed by the general case considered below, so we will proceed now to our main object.