 So here it is. I'm going to be talking about grades, cables, and cells. And I'll tell you what aspect of those words I actually mean. And I'm going to be talking about art and craft, and mathematics and computer science. So let's start with the art. So I'm going to be talking about a particular design element, which is often called not work, sometimes it's called Celtic not work, because it's often associated with medieval Irish and similar traditions, where you have this idea of depictions of strands going under and over each other. Like I said, this is often associated with medieval Ireland. It actually goes back much earlier. There's a Roman mosaic. I've seen, you know, Egyptian and things that are most similar. And probably as long as people have been drawing things, they've been doodling strands that go under and over each other. They're still doing it today. A couple of modern examples that I just sort of pulled off the web. All right. So personally, the study of this was inspired by knitting patterns. This same sort of under-and-over design in knitting is known as a cable. My wife Lana there may be able to tell you why. I don't know why. You'd be perfectly honest. But knitters often do these. And it's not done by actually making strands and tacking them down to the fabric, by the way. It's a little bit of an illusion. There really is a 3D effect, but it's not actually things smacking down right on top of each other. But it looks like it is. Just similar to where you draw things. It looks like things are passing over and under each other. You can also do it if you don't knit. I don't knit, but I do crochet. Theoretically, you can do it in crochet, although it's harder. I've tried it and don't come out anything like that. Nice. You can do a similar effect, even more of a trompe l'oeil and less of an actual strand going over and under. But you get this similar idea. Actually, for this particular design, you really maybe see it even better in the pattern. This is the pattern that somebody might be following as opposed to the actual. You sort of see that this one is coming along and it goes under and then over and under. It gives the impression anyway. This is a common design motif in several sorts of art. Of course, there's an actual weaving where you really do take either threads of fabric or in this case, I guess, a reed basket in a traditional Native American pattern. You actually do pass things over and under each other, so that's another example. This study of things like this mathematically from a mathematical point of view, the earliest I've been able to trace it back is Vandermonde, probably maybe known from the Vandermonde Determinant. Only route turns out four mathematical papers. One of them started knot theory, topology, and graph theory, well, maybe not quite started, but a really early paper in all three of those things. Here is an example of maybe what today we would call knot theory from that paper. Gauss was interested in looking at braids. He tried to work out this notation where complex numbers represented the crossings and tried to use the imaginary part to identify how many times it had gone under or over another strand. Never quite got it to this satisfaction like many things Gauss did, and therefore never ever am publishing it like many things Gauss did, but after his death they found this picture in his notebooks. Today, braids are studied by topologists and group theorists. Topologists, because, well, topology is the study of things that are the same if you sort of pull and push and stretch them around, but you don't break them. So you can sort of see how this strand here was pulled under this strand there and then over that strand there and this end there was pulled over a little bit there. Topologically speaking, these two braids are the same. So those are considered the same. When you're studying braids, the other thing you're not allowed to do is loop a strand over the top and behind another strand. So you can either just sort of think of the universe as ending here or maybe think of it as extending infinitely off of the power you prefer. I am going to be, and in fact you'll see in these diagrams nothing even loops back on itself. And from a knitting point of view, that makes sense because, well, if you might hold up your knitting for people to see, I just want to see what it looks like when you've got a needle and things dangling from it. I'm sure you've seen that before, but the idea is you're basically building it up row by row from the bottom to the top. And so you don't usually turn around and start knitting in the other direction from the top to the bottom. Likewise, I'm going to be thinking about strands moving from bottom to top, although if you ask the topologist they might disagree. But I said this was also studied by group theorists. Group theorists like to think about taking braids. If you know anything about group theory or even if you don't, the idea is just that you have a rule that says you combine two things and you get a third thing. Well, you can combine two braids by stacking them on top of each other. So if you think of stacking this one on top of that one, then you get a braid which starts here and it goes up for a while and then it goes under the next braid over. It goes up and goes under. And this one is going up there and then straight and this one is just going straight so you can see that with a little bit of topological pulling and pushing around, this braid is just the same as those two stacked on each other. Sometimes you get simplifications if one had gone over this way and then over the other way or the other braid and then it would just pull out straight. So you could get two braids. Well, by the end of the braid, you have inverse braids. It's related to the symmetric group which also, you know, you can think of this as interchanging these two and this is interchanging these two except if you interchange two things and then you interchange them in the same direction again, they don't cancel out. It matters what direction you're switching things or anything whereas to cancel out you have to switch it back in the opposite direction. So for those of you who really know or remember your algebra there's a homomorphism, a subjective homomorphism from this on to the symmetric group but with an algebra problem. It doesn't really matter. I'm not actually going to talk about that for the entire rest of the talk. In case there are any algebra acids in one that feel very special. I'm actually going to talk about something else entirely. I'm going to talk about cellular automata which is actually an idea used mostly by computer scientists. I don't know about mostly. Used a lot by computer scientists although it's a purely mathematical construct that's theoretical computer science. It's a very simple model of a computational system. I don't know if I want to call it a computer. It's got a finite number of cells in a regular grid. So you've got this regular grid of cells that extends for a while and then maybe stops. You have a finite number of states. Each cell can be in one of them. Just a finite number of states. So maybe this has got a dark gray state and a light gray state and a white state and that's it. Each cell is in maybe one of three different states. Each cell is a well-defined finite neighborhood and is only affected by cells in its neighborhood. So this is a picture of what's called the von Neumann neighborhood which means each cell is influenced by the cell directly north, south, east and west of it but not by the one's diagonal and not by the one's more than one away. But you can pick that neighborhood any way you want. You can pick it so it includes the diagonals. You can pick it so that it goes two away instead of one away. You can pick it so that it goes one away two away in some directions in whatever you want to pick. As long as it's the same for every cell as long as it's the same for every cell. Time is considered to move into discrete steps and you have an update rule that says that in each time you look at the neighborhood of a cell and use the states in the neighborhood to determine the next state that that cell is going to begin and every cell is going to use exactly the same rule to do that. So it's a very simple computational model but the interaction of maybe a large number of these things can get you interesting results. So that's the theory of it. So an example on here we've got a couple of experts on this in the audience. You're going to get the wrong. Okay, all right. Tell me if I'm doing anything wrong. This was invented by a mathematician named John Conway. Supposedly this was first played on a tile floor in a bathroom. This was first played on a tile floor in a bathroom. I've got lots of nice little squares to put markers on. The grid is two-dimensional and square. You don't even have to have a square grid although it's most common. You could have a hexagonal or a triangle. This one, the game of life, is played on a square grid. The cells are in two different states which are usually called live and dead although unoccupied and live might be more accurate. The neighborhood is the eight cells, so horizontal, vertical or diagonal, so all eight of those are going to influence the center cell. And the rule is that if you have a live cell and it is two or three live neighbors, so this cell is two live neighbors, that cell is three, that cell is three, those cells are going to stay live. If you have a live cell with fewer than two live neighbors it dies of loneliness. Very, very sad. And if you have one with more than three live neighbors it dies of overcrowding. On the other hand, I think those cells just disappear. There aren't any dead bodies floating around to really get you down. That's good. A dead cell that has exactly three live neighbors, so these two cells have exactly three live neighbors, so I said dead maybe you should really think of as unoccupied becomes a live cell, so three parents give birth to a new cell. I don't think this was inspired by a particular biological model. I think that they just experimented with the rules for a while until they got something interesting. Any other dead cell if it's not surrounded by exactly three live neighbors and this one has two, that one has four, those cells just stay dead or stay alive. Seems like a very simple sort of thing, but it actually creates some very interesting and complex patterns. So this one is a pulsar. If you start like this it evolves like that and gets back to where it starts after a couple so imagine some really interesting animations. So this one just cycles but there are some that speed off projectiles in directions. There are some that just truck across the I want to say screen when you're done with a computer animation across the board I guess you should maybe say if it's a game. So lots of really interesting behavior can be done like this. So that's a one of the really earliest examples of a cellular automata. There's another well-known class of cellular automata. They're called elementary cellular automata. These are about as simple as you can get. These are even simpler than the game of life. They were popularized by Stephen Wolfram who was the guy who invented Mathematica and he wrote this book The New Kind of Science about how he thought that every piece of science in mathematics should be modeled with cellular automata and that should really be the new way of doing science. That seems a little bit extreme to me but you can do lots of interesting things even just with these simple ones where you have a one dimensional grid so instead of a square it's just a line of cells two states white and black or sometimes 0 and 1. Sometimes I'll say 0 and 1 but I really need white and black. The neighborhood is just three cells the cell you're talking about and one cell on each side. So how do you specify a rule? Well, you've got three cells in the neighborhood. Each one can be in one of two states so how many different possible neighborhoods have we got? Each of which is in one of two states 8, right? 2 to the third So for each of those 2 to the third possible neighborhoods you have to decide is the center cell going to be 0 or 1, white or black? So in this case someone has sort of arbitrarily decided that if there are three black it's going to be white other than 0 and in this case it's going to be white 0, 0, 1, 1, 1, 1 and 0 Ok, so is that completely determines a rule? Next question a little bit of a quiz I don't want you to just sit there and fall asleep on me How many rules are there? I asked this by the way at an Illinois MAA section meeting last week and none of the professors were getting it right I think the undergrad students Yeah, and now that I've said that does anybody actually want to try it? So you've got 8 different possibilities for the neighborhood in each case you have to decide whether it's going to be a white or a black So We're trying to work out the details of my head I was thinking about it as a binary number So you could think about it as an 8 bit binary number in which case how many are there? 64 I don't know 356 doing 8, 256 And this one and Stephen Wolfram just decided to take that 0, 0, 1, 1, 1, 1, 1, 1, 0 and make a binary number out of it and so this is rule 30 because that's the binary number for 30 so that just gave him a nice way of numbering all of those rules from 0 to 250 Rule 90 is a picked out some of the most interesting of those rules So rule 90 is a nice interesting rule Now, Stephen Wolfram is obviously not a knitter because time in his diagrams is starting at the top and progressing down to the bottom so I'm going to reverse that in a bit but I did copy this from one of his diagrams which was plus a math world so if you start out with just a single black square then the next time you step it all like that like that and starts developing out the Serpinski triangle fractal and the longer you let it run if you have an infinitely wide board the longer you let it run the more of the triangle fractal you get This is also a really nice rule because it's an additive rule which means a couple of things but if you take one of these patterns and you smack another pattern that's made by a different cell smack it down somewhere else and then say white plus white is white and black plus black is white so 0 plus 0 is 0 and 0 plus 1 is 1 and 1 plus 1 is 0 addition modulo 2 or XOR if there are any people who prefer computer notation you get the pattern that you would get if you just started out with two black squares to begin with so it's really convenient to be able to predict what's going on because you can build larger patterns out of smaller ones just by using this addition that makes it theoretically very nice to work with however Wolfram was particularly interested in much more complicated behavior something that appeared to be chaotic or pseudo-random or something like that so he was looking at a different rule well if he was looking at this rule 30 and he was looking at what happens if you get a rule 30 and he noticed that it has a well like I said it kind of seems like it behaves chaotically although it's hard to define what catech actually means for a discrete system and I'm not going to try but it's got a pattern going down this way and kind of a pattern going down that way and somewhere in the middle it transitions to something where it becomes much harder to predict what's going on he didn't get very far in proving this to be perfectly honest he couldn't even quite prove this conjecture that if you draw a line right down the center it never repeats alright well the rule 90 never repeats either per se but it's very predictable and this is not very predictable not clear what's going on there exactly and so one of his I'm not sure students, protégés proved at least that at most one cell is periodic so almost all of them maybe none of them all of these produce a periodic sequences and and also any two adjacent cells definitely produce something a periodic which I guess is a simple formula of any and so Wolfram was confident enough that this was an unpredictable sequence that he used to do this as soon as he ran a number generator but you remember you started with a very simple rule and just one square and you're getting something very complex coming out of it so another example of that is in rule 110 which was proved to be computationally universal in the sense that it can be used to simulate any Turing machine you don't know what a Turing machine is again it's another one of these mathematical abstractions of a computer but this is a very rich one it is widely, maybe wildly also it's widely believed that anything that you can compute with any algorithm you can compute with a Turing machine whether this is actually provable or not depends on how you want to define an algorithm some people just kind of define an algorithm by anything you can compute by a Turing machine in case it's proved I guess but people think many people think that computation is completely captured by the idea of a Turing machine and therefore computation is completely captured by one particular cellular automaton rule 110 and if there are any complexity geeks in the audience it can be done with only polynomial expansion which is important for people who feel that that's important I don't know what else to say on the single cell rule 110 doesn't do anything especially interesting because if you just have a one bit input you can't do anything especially interesting with it but the idea is that you can use rule 110 to simulate a cyclic tag system I'll explain what that is in a bit and then you can show that a Turing machine can be simulated by a cyclic tag system I think that the easiest thing to do which I'm not going to do is to show that a cyclic tag system can simulate a non-cyclic or not necessarily a cyclic tag system once I tell you what a cyclic tag system is though I think that you'll believe that that can simulate a Turing machine the interesting part is that 110 can simulate a cyclic tag system a cyclic tag system has a data string and a list of rules which is really just a computer program except here's where the cyclic part comes in it's a computer program that just consists of one big loop that's all it is so it's a fairly restricted computer program and there's only one sort of operation but it has a branch in it so at least you can do something with it if the first data symbol in your string is a 1 then you tack your rule onto the end of your string if the first data symbol is a 0 then you don't do anything and then you delete the first data symbol and repeat so if you have these three production rules you just go 1, 2, 3, 1, 2, 3, 1 and so on and you start with this data string then you look and say oh, okay, the first thing in the data string is a 1 so I'm going to stick this rule onto the end and delete the 1 okay, got it 1 still stick the next rule onto the end and delete the 1 now I'm going to 0 so don't put anything on the end, delete the 0 don't put anything on the end, delete the 0 well now you're back to this 0, 0, 0 rule and you've got a 1 and you put the 0s on the end and now you're back here so you go use it and you can see that as it goes on it's going to be doing different things with the same rules depending on whether it's got 0s or 1s in front so I hope you can believe that you could maybe write a computer program in this way it would be difficult but it has branches, it has loops so it has the basic things that you need now here's how you simulate that with the cellular automata you need a representation of the data string and that's these vertical lines here I think that the gray thing is a 1 and the black things are 0s I'm not positive about that and you need the production rules so that would be these things coming along this way and then you need clock pulses which come along that way so each interaction clock pulses is a time step so in each time step you're going to have the data string hitting some production rules and it's going to chug along a bit and then it's going to rewrite its thing and then move along to the next time step and I'm going to go through all the gory details but this is I think one time, actually it's not even a whole time step the clock pulses aren't even on here this is all between two clock pulses but you can see some data coming here hitting some representation rules and doing some interesting things and some different data strings coming out the other side so here's a data string that comes out the other side and here's one that doesn't so I guess that's maybe a 1 and a 1 changing into a 0 I don't remember exactly but there's a lot of expansion you need a very large piece of things in order to simulate each clock step but it is according to the theorem only polynomial so for a computer scientist or a theoretical computer scientist or a mathematician that's good enough wouldn't want to do it in an actual practice so that's cellular automata please feel free to interrupt with any questions as we go along so how do I get started in combining these two things these two ideas of braids or knots or automata well two things happen and I was trying to reconstruct I'm not absolutely sure what order they happen in anymore but what is it that I was talking to a fellow named Jake Wildstrom who's a mathematician who likes to crochet sort of pins and trindle fractals like this one here and he said somebody had asked him to write up a pattern for crocheters of this and he was complaining to me that you shouldn't really need a pattern because after all it's just produced by the simple rule if you have a raised bit then you make an unraised bit and if you have two unraised bits then you make two raised bits you make an unraised bit and if you have one raised bit you make a raised bit I agreed that you really shouldn't have to write out the whole pattern for that but probably people who crochet are more likely to want the whole pattern spelled out and not just that simple production rule but I stored that in the back of my head somewhere and the other thing is that I was looking at something that Lana was knitting with cables on it and I noticed that she was doing it without a pattern and it was a fairly long and intricate much more intricate than this one here a fairly long intricate pattern and she appeared to have it memorised and I remarked on that and she said, well you don't really have to memorise the whole thing because there's a lot of parts where you just remember that if you're going this way you do that and if you're going that way you do this and if you're crossing then you do that and so I sort of sketched that way in my head and I got to thinking that sounds like the same thing we were talking about here and this right now is all about cellular automata so maybe these braid cable patterns also and I did a little bit of research found that somebody had had this idea before this idea wasn't original to me a woman named Debbie New had written a chapter of one of her books where she explained about this but she only really explained how to do things like this pattern where basically they all go straight except sometimes they cross and the cellular automata rule just determined cross or no cross didn't determine which one crossed which direction or whether it went off in some other you know just crossed so I said well okay that's a start but I think we could probably work more into it than that so in my model each still is storing four bits of information which I don't want to ask you to answer this one ordinarily that would be 16 different states but we're going to sometimes ignore some of the bits of information so the first two bits of information is there a left strand or not yes no yes no is there a right strand or not no no yes yes okay that's easy if there are strands are they straight or slanted that's another bit of information except sometimes right if there are no strands it doesn't matter whether they're straight or slanted so in that case we'll ignore that bit of information but otherwise it could be straight or slanted straight or slanted but then if you have two strands and they're slanted well then you can think about did they cross this way or did they cross that way and so in that one situation you're going to want one more bit of information telling which way the process goes so there's eight different types of cells but there's four bits of information some of which are ignored in some situations what about the neighborhood it seemed convenient to have these be a brick wall neighborhood again like knitting patterns time is moving from bottom to top here and each cell is going to be influenced by these staggered cells below left and below right except I mean in a sense these aren't below in a sense these are before just remember the second dimension is the same as the time dimension so if you have eight cells theoretically and two neighborhoods theoretically there could be eight times eight different types of neighborhoods so you could have 64 and theoretically each of those could have eight different results and that would be a really really really large rule set so I decided to put some more conditions both to make it a little better physical model and also to make it a little more tractable so the first two parts I broke down the rule system into four simpler rule systems and the first two parts just say strands continue they don't suddenly disappear they don't suddenly split into two they don't suddenly appear out of nowhere in knitting you can sometimes break these rules but I thought just for starters let's set out these rules so if there are no no strands then there continue to be no strands if there's a strand on the right below and on the left below then there are two strands above if there's a strand on the right below if there's a strand on the left above because of brick wall standard and so on it doesn't matter for these purposes whether they're straight like this or slanted like that this is just saying that strands continue they don't break or appear out of nowhere or loop around back on themselves or anything like that third stage a little more interesting controls whether the strands are operator diagonal and so I decided that maybe the important question was just whether the strands below were upright or diagonal or missing decided to make it a little more interesting to have a separate category for missing so the strand on the left here could be diagonal slanted it could be missing, it could be upright and likewise the one on the right could be diagonal and you're missing, it could be upright so again that gives me nine possibilities I put the middle one in for symmetry although if there are no strands then there are no strands and it doesn't matter whether they're upright or not but just for symmetry I left it there and so the zero says that a strand is going to be straight up here and the one says that it's going to be slanted and if there's planning they might cross but this one doesn't affect the crossing at all crossing is controlled by another one so in this case I decide whether the cell below is a cross with left over right or just a single strand or a cross with right over left and oh I meant to add this do I have another? No, I have another I decided that anything uncrossed regardless of whether it was one strand or two strands as long as it didn't cross it was going to be in this row here so that gives a little bit of interaction between the two because something which if it's diagonal it's crossing and would therefore be in one of these if it's not diagonal it's not crossing despite the fact that there are still two strands there and so it might be in this row here gives a little bit of added interaction provides a little bit more interest okay then I have to decide I've got the neighborhood I've got the the types of cells a little bit over the fact I said there was a finite grid but then I didn't tell you what happened at the end of the grid and actually Conway I don't know what John kind of originally did in the game of life Steven Wolfram just decided to make the grid infinite so that he didn't have to worry about the edges you could have a special kind of state for edge cells that things maybe got absorbed into or bounced off of if you're knitting a sweater you often see cables on that sweater can you stand up you might see does the cable ties you to your arm around to the back or does it get absorbed into the side seam you maybe haven't even left to see that one's coming another common thing to do is to have the cable sort of absorbed into the side seam when you get to the side seam or maybe bounce off the side seam but then you have to decide exactly how the bounce works so I took the easy way out and just made the grid sort of just wrapped around the cellular automata people call this periodic boundary conditions although what they really should say is there are no boundary conditions because they're a boundary but that's what they call it and that seemed to be the easiest thing so I'm going to stick to socks and hats and very simple sweaters these guys are solidical right I can get some very nice patterns I can produce patterns like the Serpinski Triangle Fractal this is a bit of a cheat remember because there aren't really two triangles here there should be but in fact these are the two halves of the same triangle because it's wrapping around but of course if I just made it larger I could get as many triangles as I wanted I just have to decide how many I want to make sure it's that large weaving patterns so very typical so this is rule 68 for the thing that determines whether it crosses or whether it slants or doesn't slant and which I call the turning roll sometimes and rolls 0 for the crossing roll which just says all the crossings go the same direction so very simple but I can reproduce some of these practical patterns these in this case nothing ever turns it just keeps going in the same direction that it's going so the turning roll isn't active but the crossing rolls decide when it's crossing which one is crossing over the other so this is a nice classic basket weave pattern this is maybe not something that you would want to weave a basket out of but it's a graphic design element there's nothing wrong with that this is a traditional three-strand braid when you're back when you're at summer camp and you're with friends or whatever friendship bracelets I don't know just a very standard three-strand braid a four-strand braid very common they are in actual they are in my model with a this is the same two sets of rules actually the only difference between these is if you start with this you get a three-strand braid and you start that same rule start with this wider pattern as you want and that's how the braid is again giving the idea that we're actually capturing something interesting with these rules that this is the braid rule the traditional braid rule crossing I was looking for pictures online of these different braids think I've seen this braid before I've never seen this braid before some people have has sort of a large jump where you go over I guess you go over three strands of that under one and then under three and then over three and then under three when you actually pull it tight gives you a three-dimensional very round sort of braid because these long loops pull up into the this one I guess pulls up into the front and the next one pulls back into the back so that's nice and I was satisfied to see that I could model that with my rules if you had various other sorts of interesting I hope for interesting decorative cable patterns these are starting to look more like something than you might actually mint and in fact I want to like the one on the left so uh oh that's okay so yeah so yeah that's pretty good the lighting is pretty good to show off the relief here so you can see that this is passing over and under and over and I need to know that for a while so there are some cable patterns there technically only one of those socks was rule 47 the other one is the mirror image and every so often that asks me if I've what rule produces the mirror image and I still haven't remembered to sit down and work it out it's like you have to flip all the bits and then flip the high end with the low end or something like that I worked it out once and I immediately forgot alright so what do we know from a point of view of theorems about this well if you don't have to worry about missing strands and you're only using a crossing or a turning and not the other one then basically this is an elementary cellular automata where you ignore the middle cell of the neighborhood so this is exactly the same as Wolfram's rule 90 with no all the crossings in the same direction just determining whether you cross or whether you turn make one of them white and one of them black and you'll get exactly the same pattern for exactly the same reason so okay that's something we know I guess somebody asked me once about the chaotic or chaotic like a periodic behavior well the since the width here is finite there technically isn't any well it's not technically there isn't any a periodic behavior since there's only a finite number of states the system total can be in eventually it has to repeat but you can ask how long that repeat is so first thing I worked out was just not having the weaving patterns where nothing ever turns everything just goes straight only the crossing rule is active for a given width M I worked out how long a repeat can possibly be so the idea here is that there's a natural repeat if M is the width there's a natural repeat of 2M after which things sort of potentially get back to where they started if you've got a missing crossing strand here the missing crossing strand rotates through and after 2M it gets back to where it started so that's a natural sort of repeat then you just for the ones that do cross which one is on top is all you have to worry about since nothing is turning and I tried to make the crossings in one direction red and in the other direction blue I don't know if you can read that out there if there are all M strands present to all M crossings then you simply say okay there's 2 to the M possible arrangements of the crossings but then the 2M sort of gets lost because there isn't that missing strand percolating through there is a shift from this stagger to that stagger so the maximum repeat is the least common multiple of something that goes up to 2 to the M and something that goes up to 2 okay on the other hand there's only M-1 crossings if you leave one out then there's only 2 to the M-1 possible arrangements but 2M different shifts so now you've got the LCM of something less than or equal to 2 to the M-1 and something less than or equal to 2M and you can work with there are fewer crossings than that it has to be even smaller you can work it out fairly easily and then you put that together and you've got about M times 2M but you can work out the things where the least common multiple doesn't really get you anything and this is as long as the repeat can be except for trivial M's I haven't gone anywhere near that I'm not I don't expect that you can't get very close to that really in practice but I haven't proved it if you have a given width how long a repeat can you find if you look at all the possible rules and all the possible starting positions well for a given width you can find one if M is greater than or equal to 2K you can find one that's at least the LCM of 2 to the K plus 1 and 2M rows long and basically I just found it I did a little bit of a search and after a while I realized that crossing rule 100 is an additive rule I'm going to talk about how additive rules were easy to analyze theoretically and so I worked out that for that rule I got a nice long repeat of 2 to the K plus 1 just in the crossing what's really going on here I finally figured out after looking at a lot of examples is that what you've really got is you've really got another one of these elementary cellular automata trekking along but sort of slanted that way but with a boundary so this is actually you can look at this as an elementary automata that doesn't wrap around and so eventually I found something very like this result in the literature which said that the repeat for the pattern that goes diagonally is at most 2 to the K plus 1 it is 2 to the K plus 1 excuse me if M is larger than 2 to the K you work out the equal part separately and then you have also this cyclic shift which gives you the 2M I thought for some time that this was the best you can do it's not for M up to 5 I ran maple simulations because maple is what I had handy and then I ran out of patience and decided that that was probably good enough but then again I was reading some of these results on an elementary cellular automata and I realized that for the elementary cellular automata with periodic boundary condition and certain prime numbers and additive rules you can get a really long repeat not quite as long as my bound here but for certain cases you do get a nice long repeat and for M equals 23 you actually get longer than this my current guess is that additive rules and either M or M minus 1 crossings are going to give you the longest repeats but I haven't proved that and I haven't shown which situations it's going to be M in which situations it's going to be M minus 1 it's a lot of work left to do if anybody wants a project either for themselves or for some students interested in cellular automata there's a lot of great stuff there and this is just if you only worry about crossings and things don't turn I've got even less as things do turn if there's only one or two else there's only one strand you don't have to worry about crossings at all so that's easy if there's two strands then you don't have to worry very much about crossings and again it's not too hard just to work out but the maximum repeat there's the natural 2M shift and then there's you can do this little hop here which gives you another factor of 2M plus 1 and the LCM of 2M and 2M plus 1 of course is those relative to the prime you can tell what's doing with only one or two strands but that's not especially interesting more than that you really don't know and like I mentioned before both rules are active I set it up so you have two elementary cellular automata going but one of them sometimes interferes with the other in the case where they don't cross then it bleeds from one into the other but there's a really nice probably accessible structure there that I have not just really started working on yet lots more of the situations for the length of the maximum repeat to work on computational complexity so the maximum repeat stuff is sort of related to the air periodic behavior this is related to the computational universality of rule 110 again on a finite grade you can't get true computational universality but you can say how hard is it to answer a question like is this cell eventually going to be in this state it might be again if there are any complexity geeks it might be as hard as p-space completeness to figure that out but I don't know if it is or not different edge conditions I really did at some point want to go back to the break groups and say which elements of break groups can actually represent with these things again because of the finite limitation there's a limit it can't be all of them but which ones reversibility there's an idea of reversibility of cellular atomic rules which rules can you go backwards and uniquely trace back through a pattern given an ending condition I don't know and then lots of people have suggested well what if it does bounce around and turn back on itself you need a two dimensional grid to represent that and time would be a third dimension you could represent maybe by color or by some sculptural representation in three dimensions which would be really cool but I don't know what to do with it yet so lots of future work to do with that well thanks very much thanks a lot to my wife for lots of encouragement any questions for our speaker I'm just wondering if you have mentioned some rules are added and some must not be and those have been delineated is that an easy question to ask so for the most elementary situation you ignore the one in the middle like I am because it's a brick wall and then there are only 16 really different rules and it's fairly easy to delineate them for all 256 elementary rules you can say which ones are most of them are not added and you can say a little bit about how nonlinear they are I have found there seem to be special cases where people have studied threshold rules where the more cells you have the more likely it is to turn the next one on the more cells that are ones make it more likely to have the next ones and and several other specific types of rules have been studied well from the start of the grant program we categorized the complete behavior of alternate 52 rules what about the original problem of representing knitting structures with the rules and are the rules helpful to a winner like can you knit by rule when you had when you had rule 47 did you actually knit those socks you actually knit those socks from a real pattern didn't you I knitted them from your diagram that you had generated but I had to figure out the specifics for how I was going to interpret each of the cells in knitting after I had knitted I didn't stare at the rule what was going to happen but after knitting for a bit whenever this one moves this way then it's going to go straight first so I was using the rule but I didn't start that way I think the answer is some of each I could have learned the rule first and then surprised myself then so far I think the most the thing about this that would be most interesting to a knitter you can correct me if I'm wrong is that I think it's a really neat way of generating patterns that somebody might not have thought of I don't know if anybody would have ever sat down and designed one of these this one maybe it has a certain erogenous to it that doesn't spring easily to the mind but is still appealing thank you again