I'm very happy and glad that I can be here after seven years. So I actually, an Anumi of this spring college, like I attended the 2016 versions. And after seven years, I have time to come back here and just do a little bit of tutorial on what I am interested in now. And so, as you have seen over the last two days in CUNY lectures, so we want to make a physics-style model for some biological systems. And so, CUNY will give you a broad overview of his model. He has been developing over many years. Today, I will just focus on one of his model, which is a bit different from the model you have seen during the last two lectures. And so, let's go to the model. So this is actually the paper he published, like in 2007, on the evolution of a gene regulatory network in which he considered two effects. So one is mutations, no effects. So mutate by mutational effect, which means that you have the chain in the genomes and another effect from the noise in the environment. So basically, the main questions, the main question is that if you have noise which represent environmental effect, and if you have the genetics, let's say it's a mutational effect, so this is environmental effect, if you have these two components and both of them can act simultaneously on a biological system, then depending on the interplay between the first and the two, the system will display some emergent behavior. And that emergent behavior is something that you can interpret as a phenotype. So phenotype in this particular context of that model, for instance, he understood as the gene expression level. So you have a bunch of gene that are connected in some network and then for each of the gene, you have a state variable Xi for simplicity, you can make it between zero and one. And then the state of this gene regulatory network is characterized by this vector of n component when n is a number of genes. So this vector, the configuration of the genes is a phenotype in this context and the specific network structure and so not only the network structure, but the strength of the coupling constant between the genes understood as a genotype. So the basic idea is the following. So if you have these two components system, so the first is genotype and the second phenotype, how do they affect each other? And in the more traditional setting, what is considered is that you fix the genotype which means that you fix the network configuration, you don't change it and you only observe the dynamic of the phenotype. So you will have some dynamical system corresponding to the dynamic of the phenotype. And so the new component coming into play from Kuni model is he considered that phenotype also involved, but on a slow time scale. So this dynamic is on the fast time scale. So you have a couple of the two dynamics happen on different time scale and one will affect the other. So you create a feedback loop between the two components. You have the genotype affect the phenotype dynamic and phenotype on its own will affect on so the genotype. So you have a feedback loop between the two which make the so called notation in the literature called evolutions. So the system that have that type structure like you have one type degree of freedom and you have another type degree of freedom. And if they have the dynamic couple in such a way that the evolution of one affect the other then it will be called co-evolutionary system. And in that type of system which you go beyond the standard dynamical system framework you can observe a lot of interesting behavior. So say again, my task is not to try to do some tutorial to show you how to make a simulation of this type model but more or less like inspired by Kuni style. We will try to go through some basic concept and how to formalize this structure, right? So how to formalize this type co-evolution system. And I already send a code to the secretary of the workshop of the spring college. So after ending this section you can just get the code and then work through it yourself. Of course I've been so a bit how the code structure and the basic behavior during the tutorial section but the first idea to get the general picture of what we are trying to do. So okay, now come back to the first step. Okay, yeah? It's there. The sources of the noise is some way for simplicity as in physics. You can consider it as a term of fluctuation. So you couple the system to some heat bath then it produce some fluctuation. So this is the noise. So this is why I call it environmental effect. But so this is your system and this is environment. The system is coupled to the environment but it also have some ancient sick property. So the ancient sick property in this context is a genetic network. So the network structures are coupled for different genes. So the question to be asked and to be answered here is what is the interplay between the external condition and the ancient sick internal property of a system and how it's been resolved in the emergent behavior in the center of physics. So connective motion like in condensed matter physics. Yeah? Then the other question. So this is a general picture before we go to the specific detail how to model this system, maybe how to run the code of blah, blah. But this is a thing that I am trying to show you. So now let's go to this specific part. So you have two components, right? You remember that you have the phenotype and you have the genotype. So first we consider the phenotype. So the phenotype is presented by this vector of n component, right? So the one that I brought over there, you have a vector of n component, which means that you want to have a map. That shows you just how the system is born over time, right? And so just today, more or less, we need to show the deterministic system. But in this model, you will consider some effect of noise as you see what we are interested in. And starting from this general structure, one specification, maybe I wrote it out here so that you can see it better. This type equation, you will see it quite a lot in many different contexts. I first write down, then I say what, in which context and in which type model you can observe it. So you have the derivative, the time derivative of the gene I, right? Gene I just want components, yeah? And here, you will have the decay. Every one of you have seen it in the previous lecture, right? Why do you need that? Just to make the system about it. If you don't have that decay, everything go to unbounded regime. And then you have this tangent hyperbolic function of something. And then you have the noise. So first of all, why is this tangent hyperbolic? Actually, any sigmoid function should work. So by sigmoid function, I mean the function that go from zero to one here. Even x can go to infinity, right? And the tangent hyperbolic function is just something go from minus one to one. So, as a physicist, you love the symmetry. So this is why you want to have minus one and one, for instance. So this is just for simplicity. Actually, the hill function today you see can also be related to that one. So anyway, this is just to give you some argument why the dynamic is started by this function. Now we need to specify the argument, right? Any of you have some idea of what is the argument inside that should be? Remember the question you want to see. How the effect of noise and system property affects the dynamic of the genes. So here you see, I showed you the noise. Here is the decay. So do you may guess? This need to be the system internal property, right? So, and now since you specify that the system, the component depend on each other by this network. So this need to be a function of the graph representing the interaction between the genes, right? This is, would you agree with that? Argument, the argument here, yeah? And the simplest way as in physics, you try to capture the common reasoning is that only pair-wide interaction matter. Of course, you can consider high order interaction, the interaction between many components, simplex or complexes, whatever, hyper edges. But for simplicity, you can just consider the pair-wide interaction between two genes. Then here, the sum, you can represent that kind of pair-wide interaction by the sum over on the node j in the neighborhood of the node i. So this is my notation. So delta i represent the set of neighbor of i and j belong to that set of neighbor. And here is the way you represent the effect of the network structure on the state of the node i. So you see that this tangent is just what people know in the context of neural network activation function, transfer function. So for those who know that already, so this will be the dynamical equation for one single node. Now, for making it a bit easier and chuckable, you can specify the noise here with some y noise, right? So you can specify some psi i and that's the y noise, psi y, psi t prize and here two sigma square and delta t minus t prize. Something like that. So you consider the y noise for simplicity, but this will be the dynamical equations that you are interested in to study the dynamical evolution of this phenotype. So for given network, the network just specifies the inhibitory and promoting interaction between the gene. What happened with the state of the gene? So this is basically the first step that we want to model, the dynamic of the first component of the system, the phenotype. You have any questions? Do you know it here, not velocity? It is a step here. It is. Ah, sorry, sorry, sorry. Okay, okay. I might still confuse. Sorry about that. Sometimes I denote with a dot and sometimes I, yeah. Sorry. Yeah. Yeah. Thank you for correcting me, yeah? Hi, I never have a proper discipline of networks and so could you just talk a little bit more of the hyperbolic tangent and what is inside? You said it comes from networks and so on. Oh, okay. I'm sorry. If I don't make it clear enough, you have two factors that can affect the dynamic of the phenotype. So this is a noise, you see it. And the other need to come from the interaction between all the gene in the network, right? But of course in the network, these particular genes are not connected to all other genes. It's only connected to a subset of the genes in the network. So this is a notation for the subset denoting the neighbor of i and then all the neighbor of i can affect i, for instance. And this is how you represent the effect of the genetic component of the network structure on the dynamic, okay? So far so good. Okay, so if there is no question, now we need to a little bit more specific. So in the disorder system, so the topic of my most interest, people normally consider different ensemble for that main matrix. So it can be a Gaussian ensemble, for instance. So every J ij is distributed according to some Gaussian distribution with zero mean and some variances. So as a starting point, you can try to simulate the dynamic of this system with the assumption that the network effects, so the topology of the network effects and the value of the coupling strength is distributed according to a Gaussian distribution, right? This is first step, now. Okay, now I can come back to this picture, okay? It does not work anymore, wow. Okay, now it works, sorry. Oh, yeah? So why did you took a term like that? Why is the argument is like that, like J ij x i, why it's not something other, x i to the power alpha or something else? Sorry, sorry? Why did you took this term like that, argument? Like, would it be like something x i to the power alpha? Higher order terms in x i, would it be something like that? Why we don't take the higher order, x cubic, square something, right? Yeah, yeah. That's very simple. Remember what I said, it's zero to one. Or maybe in this case, better to see it is minus one to one. Then if you take the higher power, right? It just becomes smaller and smaller. And by the way, it is very similar to the structure that you know in statistical physics. Like in easy model you see for instance. So you consider the linear term or cost because the non-linear term we had to do it. And now I thank to you, I forgot one thing that I want to mention. You can put a factor beta here, similar to the role of the inverse temperature in statistical physics. So this will be the final equation with the beta here. You of course can set it to some number. It just rescaling accordingly to the strength of this term of the Jij. But if you want to make it explicit, you can write explicit here. What would be beta in this case? So you can just write beta here as a parameter. It's also five, yeah? Thank you. So these x's represent your phenotypic values, right? Yeah, the x represents the gene expression level. And you have many genes. So each of the gene has its value, xi here. But to specify the full phenotype, you need to specify the n dimensional vector x. Okay, so this equation you need to understand it's the equation for instance. If I have 100 gene, you will have 100 of such equations. Okay, so this. And if you have 1000 gene, of course it's to go to 1000. So this vector is a representation of the phenotype and each element of this vector is one gene, the expression of one gene. Yeah, the expression of one gene, yeah. Okay. And you were talking about this interaction between genotype and phenotype or the co-evolution picture that you were talking about. This is a general picture. We have not reached that point. Ah, okay. We now specify again fixed genotype. So this is the first step. We don't consider the co-evolution yet. Okay. Yeah? Yeah, thank you. So just to check if I understand, if there were no relations between the genes, you would have like an additive gene thing, like an additive gene model. No, if this is zero. Yes, if this is zero, what happens? If it's just zero, then you just have minus second noise. Okay, and what would that mean? This is a standard long-term equation. You have the diffusion, Brownian motion pattern, the return, the return to what zero? But what would it mean biologically? I understand that, but biologically, what would that mean if you don't have the gene relations? Okay. The genes would just- This just means simply something like that. If there is no interaction, there's no way to make the system order. So you know the central thing in physics, where you want to describe the transition between order and disorder phase. No interaction simply means just decay to the zero state. Everything just becomes, so let's put it this way. So if on the x go to zero, this is nothing that happened interestingly, right? Because you want to see whether the gene can be on and off, and on is plus one and off is minus one. So if everything is zero, it's just how to call it, the sleeping state, or anyone have the better name for that? If on the x is just zero, that state or sleeping state, dormant state? Yes, okay. What you would like to call, just like a paramagnetic phase. So it's not an interesting behavior. So this is why you want to see the effect of interaction. I'm sorry, if I am not good biologist to explain your question. So does it make sense you are trying to find the transition between phenotype to genotype? So is it what you are going to do? You are trying to find the transition between phenotype to genotype? No, no, no, no. Wait a second, we go to that slide. First we need to understand at least the modeling framework. Okay. So it's just the time evolution of the phenotype we are now studying? Did I answer your question or still? Okay, okay. So can I continue now? Can I move on? Okay, so we will do just a simple example. If I stimulate that dynamic, right? What kind of behavior can I observe? Let me take a few examples for you. This is with the evolution. So as you guess, okay, what happened here? Okay, so this may be interesting for you because it's related to George's questions. So on the left-hand side are three representative trajectory of three random genes, so one, five, and 11. And on the right-hand side is the histogram, the distribution of the value of the genes at the final time. So this is the left and this is the right-hand side picture. And for a particular choice of beta is more enough. And sigma noise strength here is also kind of small. And you see that thing just decay to zero. Think decay to zero, the state may be just great to do a question. But when you increase a bit the noise one instant way, if you increase a bit the noise, still things is not much interesting. It's still fluctuate around zero. It just have higher variances. And now if you consider the strong enough beta, so the inverse temperature, then you can have this guy picture for instance. Now you see it's the more interesting way. You have some component go to one, so it's one here go to one, which means that it's steady on, this genie on, starting after some transient time. But for other genes, it can behave like limit cycle. So it just have not settled down in some units fixed by a tractor. And of course, you can see nice there with you the code. You can play around with different set of parameters and see more complicated behavior. But basically there will be three regimes. One is a zero state, everything just decay to zero, right? At the small beta as you seen in the first picture here, where is that first picture? Now you will just see everything just decay to zero. And you will see some more interesting state which genes can turn down. And some of them still have persistent like limit cycle like behavior. And as a state in which only just go either to on and off. So, and so this is the basic, okay, yeah? My question has to do about the fitness function because I'm trying to understand the... Now I will explain to that. First, we just think it's simply. Yes, I don't make sure to do. When I write a fitness here, basically it's a little bit of a, I abuse a bit of the notations. I should call it just the final state, the state of the genes at the final time point. So you just basically plot. So you have this vector, right? X at the final, in that picture it just at the time 400. Then you plot the distribution of the gene at that time. Of course, you can run it longer. Every time you run it longer and you observe a different time window, you will see slightly changes. But this picture will be something established on the system and to the stationary state. Yeah? So far so good, no? More questions? So how I pick the sigma? This one, this is the component in the equation. This is the sigma. This is the noise, it specifies the correlation of the y-noy term. So for this particular equation, you have two parameters. One is the inverse temperature and the other is the noise term. Of course, I don't want to go into detail. When you write a code for that system, you have to specify a bit more. So you need to, for instance, specify the link density. So you want to make the network dense or spot, and then you generate the network of gene regulation. As I said, it's typical to be chose as a random Gaussian distribution. So once you have this network specified and you specify the beta and sigma, then basically you just write two lines of code to simulate the ODE. So it's not that complicated, right? But the behavior of this super simple model, so the model which basically I've written, have written it here, can generate a very different dynamical behavior. So just a command. Again, if this j's, it's listed as a branch random variable. So for those who know the terminologies, quench means the coupling constant here affects over time. It does not change over the course of the evolution of the genes. So if the coupling is quench, then there is a theoretical framework, the so-called dynamical mean fin theory, which has been developed to make some analytical statement regarding to this equation. So for those who want to know it, you can check some old paper by Sumpolinsky or more recent review by John Hed or Tom Cullen. So if you are interested in solving that equation, just come to me, I can try to use some reference. But this, now it's just the first part of the model. You remember that we have the second component, right? The genotype. And this component will be very important because the behavior I showed you here for given network of genes interaction will be changed quite dramatically when you have the evolution of the genotype. By the way, it's a common for the mathematical treatment to assume that the genotype involved on slower time scale so that you can do some kind of asia-abatic enumeration or how they call it, pastel allulink, right? How they call it in the spin glass literature, so called pastel allulink approach. But in this particular model, CUNY also assumed that the evolution of the genotype happened on the slow time scale. But now this is not for the sake of mathematical treatment anymore, but it's really reflect the reality because in reality, you expect that the genome take million of years to inform. So it happened much slow on a much slower time scale than the genotype. And now we go to the second step, how to model the evolution of the genotype. Is there any question? Because this second part will be more interesting for you and I just want to make sure that everyone of you on the same page, yeah? Okay, now let's go to the second part. Which, okay, now let's go to the second part. So now I will try to write it in the algorithmic manner so that after reading through, you can come up with the old code, no? So, let's call it step one. In the step one, you simulate this system of ODE, right? To get the state of the phenotype. Now at the end of this step one, we go to the step two, and now to answer your question, we need to define a fitness. Because what is a fitness? So fitness in biological understanding, it's just proportional to the reproduction rate, but you can think about it as a function of the phenotype. So if you interpret the fitness as a function of the phenotype, so the fitness need to depend on this vector x, right? Yeah, because fitness is based on the observable chat of the system and then it's a function of this observable chat. This is x and now everything boils out to how you specify this function, right? If you make that function too complicated, then you may get into trouble. So you want to make that function simple enough. So again, now in physics, if you have a state vector, what is the simplest function that you can have? Which function? It just, maybe you want to make it like that, right? Like the marketization, right? You just sum over all the components, right? And then you divide by that component, the number of components. So basically, you consider the mean activities of the genes as a fitness function, right? And there is a little more than that in Kuni model. It's the sense that actually he divide the set of the gene into target and non-target. And non-target. So to make things maybe more interesting because his assumption is that biological system consists of two parts. One is a functional part, so which is responsible for performing some function and some, you can call it HEP assistant part, which does not play any role in determining the fitness. So maybe here, the sum will not own the node but over the subset of the node belongs to this target set of the gene, yeah? But anyway, it does not matter. It's just a very specific way to model it. You can just think about it as a mean marketization for given set of genes. So now this is a step to define the fitness based on the steady state behavior of the gene dynamic. So here I forgot to say that mathematically speaking, you want to consider the X-infinite. So X-infinite is a limit of T go to infinity of that X, which involved according to that stochastic dynamic. But in simulation, of course, you cannot run the simulation infinitely long. So actually this is just a T after some transient time. So you run the dynamic long enough. You assume that the system settles down into the steady state and then you start measuring the phenotype and then you compute the fitness. Are you okay with that? No questions, right? Yeah. Yeah? That's for each gene, I'm gene number 8H5. Yeah? And the eye is all over time? No, no, no, no, no. Eye here is the index, the label of the gene. I am gene number one, you're number eight, yeah? We sum each other. Yeah, we sum each other. We form a collective. So we want to think about emergent behavior, right? Collective behavior of a large set of degree of freedom. The gene state that you got from here. Hi, how can we define the target cells inside Big D? So it's very interesting question. It's just very important. I also asked Kuni many times, how do we distinguish target from non-target? Actually, in this type abstract framework, you can assign so gene number one target, gene number two and non-target. So this is a choice. But maybe in the realistic setting, you need to have a way to distinguish between target and non-target. So so far in his model, he just predefined certain number of gene and their indexes. They are the target genes. The rest, the remaining is non-target, yeah? Okay, I can continue, right? So we specify the fitness. Now, as in biologies, you have the selection process. So selection process is a process acting on choosing the best fit in the population, right? So how did he model this selection process? Now it's been more tricky. Where can I clean it? Okay, let me clean it here. Ta-da, ta-da. So let's put it this way. At T9-0, you have a, let's put it this way, you have a five different network. So you have five different genotypes, right? Each of that have one network, yeah? Each of the individual in the population have one network, that is the raw as a random instant from the ensemble of random matrices that specify by the random Gaussian distribution, right? So you have five network at the initial time and then you run the dynamic. And then at the end of the day, you compute the fitness for each of that network, yeah? So it gives you F1, F2, F3, F4 and F5, yeah? You have four different fitness functions corresponding to five different fitness functions corresponding to, sorry, five different value corresponding to five different network. And then you just rank them, yeah? You need to rank them according to some order. So for instance, if you observe F1 smaller than F2, and maybe smaller than F5, then F4, and then F3 is the maximum. Now for simplicity, GUNI specifies something like only the first, like the two most highest fitness network can survive, can reproduce to the next time step. So this is how this is chosen among all the network. So you choose two among five, which means that the selection pressure is like 40%, right? You choose two network among these five network and this is the step three. You choose NS network among the total M network. So M equals five here and NS equals two here. You choose two among the five network and then you do random notation. So the random mutation is the following simple recipe. So maybe many of you have no system keyword again beforehand, rewiring. So rewiring just means that this is GUNI and this is GUNJ. So mutation happens in a way that you remove the connection between INJ and you flip it to J2K, for instance. You do it randomly. So you choose a pair of GIN, random, and then you create a link that had not existed before also at random. So this you perform on the last two network here, on the two networks that have the highest fitness value. This clear? Because this is a crucial step, otherwise the dynamic is just simply simulating this evolution of phenotype without alternating. The network structure in the population. Yeah, do you do the mutation step only for the top fitness, top fitness network, yeah? No, no, no, don't worry. So what you got till here was like some kind of optimization of the some things and then once you get like let's say the best to colonists, now you mutate like a higher level thing. Yeah, you can think about that way. So you have a system which operates on two level. The low level is a level of phenotype and the higher level is a level of genotype. And on the level of genotype, what you operate as what you said, you try to maximize his fitness function. So this is how you retain only the top fitness network among all the network that you simulated at the beginning. Thank you. Yeah, and once you make this random mutation, sorry. So I'm just gonna clarify about the rewiring. So it seems like there is a lot of parameters that would be involved, say how many connections would you rewire or like do you want to define those? So one thing again just because the assumption the underlying assumption is evolution happened on a very slow time scale, which also means that you typically assume the mutation rate is very small. So to draw question, which means that at any given time step, any given generation of the network, what you want to mutate, you rewire only one link.  And this is how you make the new network into the next generation. Okay, so I'm a little bit confused about what the rewiring means in terms of the changes in like my values, for example. So I have a value for each node, each node has a value. I rewire and what does it mean for them? You don't rewire the value of the node. You rewire the connection between them. Okay, so I rewire like the term that has the... So it's the same like in the social media. Instead of following chump, you follow me. And for the next generation, I have the rewire. Yeah, I think... Just to recap, you have the equal number of networks as the number of phenotypes, is that correct? Yeah. And then for each one of them has their own dynamic. Yeah, each of them you have their own dynamic and at the end you compute the fitness. Okay, and for the top fitness, you take those network and rewire them a bit and take it to the next generation. Yeah. Okay, thank you. Any other questions? And just to be sure, this rewiring process is random? This is random. You pick a pair of nodes at random. And you remove the interaction between them and then you randomly choose another pair of nodes and then you create link between them. Okay, and how many connections do we change for how long generation? One. Only one. Only one, most of the time only one. Okay, no more questions? Okay, so basically this go through three steps, right?  You make that cycle many times. So each generation consists of three steps. Just repeat it and you see what comes out from that dynamic way. Now let's see what can we find. Okay, let's go with the pollution. Sorry that I forgot I need also to specify two additional that go into observable to make the thing more interesting. So, where can I go? Okay, let's do it here. So you have this phenotype, right? It's important according to this stochastic dynamic, yeah? So even for a given network, for a given network, if you run this dynamics, you simulate it every time you have slightly different random trajectory, right? So for a given network, actually you can define the mean value of the X as a function of the network. So let's put it this way, let's put it with a bar, maybe better notation, and then to specify some distribution which is well to the X and then of the value of the fitness of the X, for instance, you will take it as a function of the G. So this one is a function of the network. So basically you consider the mean of the X for given network, G here stands for network, right? Yeah, it's just a quantity. And you can do it for given node i. So you can marginalize it, yeah? So the distribution here is over what? In the sense that the idea is that you have multiple the distribution here is generated by this random ensemble of trajectory. Looking at ideally for a very long time. So the idea is that you have alternative stable state. You can have multiple attractors as I showed you in the first place. So you have a distribution of the state of the node i in the stationary phases because this is inherent disorder here. You can end up having multiple attractors cases. So under the assumption that the system does not go to chaotic regions and in the present multiple attractors, then you can specify that distribution for the state of a G and i for given network. So this is one quantity. And then you can consider the variant of that quantity. So the variant of that quantity X i, for instance, yeah? The variant of this you denote it as a VIP. So VIP here is what the Coonico needs. Isogenic variance. So for given network, you run the stochastic dynamic and you end up having in different state. And then you take the ensemble of reach over the set of state. And then you can consider the variance, right? In that ensemble. And this is the first sort of randomness. Now you look at this recipe. You see that you have the updating rule because of the rewiring for the genes. So which means you have second sort of randomness. Naturally, for a second sort of randomness, you would expect to see another type variances. And this is what he calls mutational variance. So the mutational variance is first need to be defined as a following. So once you have this, the iconic IG, right? Here, XIG with that. And then you consider the distribution of the gene. So the distribution over the network ensemble, right? And then to specify a measure in that space, this will give you another vector, another value, you call it XI. Now this is the average over the average. So this is the average you get for given network. And then, because you have an ensemble of network, you can define a second average, which is this guy. And of course, corresponding to this guy, you will have a variance. And this variance is the one tactical mutational variance. I don't know what level of detail that you expect. If you want, you can talk more in detail about that. Otherwise, I will just go quite fast into the main conclusion of the paper and how we get to that main conclusion. Are you clear how do I define this fit of the first function? Okay, just, yeah, yeah. Of course, in order to compute that, in order to compute that, you take into consideration the time scale separation or something. So once you set that the time scale is different between the dynamic of the phenotype and genotype, they effectively, during the cost of evolution of the phenotype, the genotype are fixed. Since they are fixed, there is only one randomness now, which is the randomness play in this equation. So that is how you compute the first quantity, yeah? And now, since you have the evolution, which is basically the mutation of the network, yeah? Then even you start with the same phenotype after you get into this second step. Because of the law here, right? The random rewiring law, you will get to different state and then you need to compute the variance of the steady state when you perform that random rewiring. So this is the second quantity here, yeah? This is confusing? I'm sorry about that. This is the first time I explain that this may be not clear for you because of the way I explained it. So I'm happy to repeat and explain any questions. I can go through the code, but now I just want to emphasize the physics and the main question first. Because otherwise, as I said, you get a copy of it through the email and then you can play at the old page, and it's better, right? You can look through every single line, figure out what is reasoning behind that. But the main idea is, again, we want to consider these two effects, the noise effect and the mutational effect on the dynamic of this gene regulatory network. And okay, so you have two variances. This is a VIP, it's a variant of that guy, and okay, I need to clean something. So what is that one I need to clean? And you have the variant of that HIG here. So that quantity is what you can call it VG. So you denote it VG, and here you denote it VIP. And here is a variant of XI for a given gene. Okay, so you have two variances, yeah? And the most important conclusion in CUNY paper is that the relationship exists between the two. Actually, this is an inequality. So this can go both sides. So do you expect that there is some free transition when the two equal, the two quantity can become equal at some critical value of the noise, sigma, but for small noise, you will have VIP smaller than VG. And when you increase the noise, two things become equal. And if you keep increasing the noise, VIP become larger than VG. So this is the main conclusion of that model. Of course, I am sorry that I'm not good at biology to explain to you all the, how to say, biological relevant of that inequality, but to, shortly speaking, we just mean that you have a constraint on the evolution of the system because it's a relation between two level dynamics. One operated the phenotype level and another on the genotype level. So depending on the strength of the noise, you have some different relationship between the two dynamics. And it's reflected in this inequality. Now I will show some behavior and then we go to the code for the whole night, yeah? Okay, so let's stick with this first example. So small noise, yeah? As I told you, small noise, you will have these mutational variances, VG, larger than VIP. So this is what observed by simulating this dynamic. Yeah? And if you increase the bit of noise, let increases, what did you observe? So this is noise equal 0.1. If you increase this to 0.5, you still see the same inequality whole. So the VIP, the isogenic variant, is smaller than VG, the mutational variants. But then, once you upload the critical value here, seem to be sigma equal to one in this state, right? You see that the two variants become more or less statistically equal to each other, yeah? And if you keep increasing the noise, now you observe that this whole, so VIP will become larger than VG's beyond some critical level of the noise. So just a demonstration of this inequality, how it's work in practice, yeah, question? Please, could you give us some intuition about why the VIP has a linear relations with the noise? So intuitive explanation of that? Like if I get you, you mean the VIP increase as we increase the noise? Yeah, this is true. So the VIP, of course, according to that dynamic, sorry, I just maybe rewrite the curve. So yeah, this is true. This is a tangent hyperbolic here and then the noise term, which proposed not to sigma. So the VIP as you observe, it should always increase with increasing the noise strength. It's true. So my question is, can you give us some intuitions why this is possible? So the one way to think about it, let's think about it in the physical picture. So it's not the correct metaphor to map the system to a spin-glass system because in the spin-glass system, you have the symmetric interaction, Jij, and then you can define the Leoponopax polon and then you can like map that picture to some evolution in some free energy landscape and then you can explain it quite intuitively, like you can end up in multiple ejector corresponding to have the phase space broken into multiple erotic component. But here, the Jij is asymmetrics. So it does not work the picture of the Leoponopax polon. So at least you can think of and at least if you still remember what I showed you in the first part of the tutorial with that for the small noise case, the system can end up in multiple ejectors and each of them can be think of as some kind of metastable long-lived state and if the system just with the initial condition turns out to be in the basin of ejection of that metastable state, it gets into that. And because of that, if you consider this VG, then there is a huge differences between different ejector. So if the system in one ejector and you compare with the system in another ejector, you can observe the tremendous variances between different ejector here, even for the small noise case. This is what really you observe when you simulate this dynamic. But then when you increase the noise, actually the noise act in the beneficial way. So normally noise is associated to some harmful effect to the system. But here the noise on the opposite, it can be kind of resemble to the so-called stochastic resonance system in the sense that the noise actually stabilize the system and help you to, so if you think of this in terms of some landscape picture, the noise just sharpen and make the landscape become more full now. So in the case with small noise, there are multiple local minima in the landscape picture. But in the case with noise increase beyond some critical value, one among those peaks get deepens and then this will be the most probable state of the system and it's redo the variances across a network, yeah? No, I don't understand what you said about the multiple attractors because if you go to the small noise case, the isogenic variances very small. No, no, no, no. Actually, correct me if I am wrong because you are more expert on ecosystem. So in a bunch of paper recently by Tobias Gala or Bulleen or whoever, Pankai, they saw the dynamic with all the noise of the low-carbon model, generally low-carbon model, for instance, for specification. Do you actually observe multiple attractors? That I understand, but what I mean is that if I look at the picture in the case of Sigma very small, you see that the isogenic variance is not these pictures, the one for Sigma equal to 0.01. Let me go back to that, 0.01, where is that, 0.01? Yeah, or this one, the variance is extremely small. So it looks like you don't have multiple attractors in this case, right? No, it's really small, right? So you have one attractors and then there are perturbations around these attractors. Yeah, this is the more random. Exactly. No, mutation, with respect to that attractor, but actually it can also be so that in some given value of beta, it can end up into multiple attractor and limit cycle as I saw in the beginning, yeah? So the idea is that for very small noise, the system can end up in very different type of dynamic. And then this is the observation that the VG is larger than VIP. It's quite counterintuitive. When I first talked to Gudi, I also don't make sense of that. How can it be a small noise deterministic system, one single attractor? Why in small noise case you have multiple attractor? I don't get that. So it's also my technique quite a while to understand that, to appreciate that fact, you can simulate that dynamic and you can figure it out. And it's also written in the paper that you want to have some, like in the picture of what you just asked. So the dynamic in the small noise and the large noise can be mapped into different type landscape picture, even though, say again, there's no way to define the function product system with asymmetric coupling. So, yeah? And the other question is the ensemble of the networks is basically the distribution of the networks within a population which is evolving or is like a random drawing of the networks? Only at T-zero. At T-zero, which is Gaussian random ensemble. Okay. But then, after the T-zero, every time, at every generation, you mutate the system according to that fitness selection and then it will become not random anymore. No, no, yeah, that's my question. So when you calculate the VG in the picture, you are looking at the VG of an evolved population? Of the inborn population, yeah, of the inborn population. So this is why, actually, you see in that picture, the VGs, it plotted also function of the generation. So if I just specify the network at T-zero and I fix that, it makes no sense to plot this kind of picture. So here should be right as a function of time to make it clearer. I guess just a bit of clarification. Why are we, since, for your example, you have five networks and you chose a top two? Wouldn't say the number of two networks matter like in the long run? And at the same time, why the first two, not the last two? Why are we choosing like the first? We choose the first two because it's one which has the highest fitness. So the biological evolution happened in the way that only the fittest species survive, the one which has lower fitness extinct. I see, so yeah, so most of the time, say for example, for genetic algorithms, those that are in the last parts are the ones that are mutated with their genes. So like it's just new to me that the first parts are mutated. So back to the first question. How do we select two? How do we select the number of networks that need to be mutated? So actually, the model behind we acquire robots with respect to changing of that number. So you can choose two, you can choose four for instance. Of course, if you choose many, if you keep many network with low fitness value, then you will have to brought the distribution of the fitness. But qualitatively, the model is so that it's this inequality whole and it's not that too sensitive with respect to the exact number that is specified here. Is this true, right, Kuni? This is two weeks maybe. So if you select only nine from 10, maybe the evolution may be slow or it may not work so well. And so it depends on the selection pressure. But as long as the selection works, maybe this behavior. So I have a question. Do these results is still true if we change the fitness function? Cause I guess that even in biology, fitness can be something kind of tricky to define. So if we just invent a different function for our fitness, for the way we are measuring it, does we get to the same result or can be a completely different thing? Oh, thank you. It's very good questions. Actually, I asked the same question to Kuni some time ago because I also, I love simplicity. So of course, the marketization is a simplest way to compute the fitness. It actually turns out, according to my recent calculation that any monotonically increasing function of the x will work the same way. So no matter you have the sum over the x i and you have the half of x i, which half of x i is some monotonically increasing function, you will have the same behavior. Of course, if you take the parabola function or some weird function, the behavior may disappear. It's a little counterintuitive to me that you are making the fittest phenotypes mutate because if a phenotype or, yeah, okay, if a phenotype is, or if a genotype is the fittest, it means, at least intuitively, it means that all the other genotypes on the fitness landscape should tend towards this fittest genotype value, right? But what you are doing in this model is you're taking this fittest genotype and you're making that genotype mutate to a different value. So that is not making a lot of sense to me. Could you please explain that? Oh, this is a good question. I'm afraid that I cannot answer it correctly. So the point is that maybe it's important to keep updating yourself, right? So that your population always gets better and better. Like, I think this quickly remembers some paper, like, human being gets smarter every 20 years. So even the fittest can go through the selection and improve it, no? Okay, could you even answer your question? Yeah, of course. So even after, maybe we are a little bit, but still mutation occurs for the next generation. So the mutation still remains so there is some genetic change. And, but when VG is small, that means even if you change a little bit, genetic mutate by genes, by mutation, if VG is very small, then the change is very small. So even if you have a fittest one, then if you put some mutation, it's still basically fitting. So that means so if the system goes to small VG, then that is very robust to have mutation change. So that is good for bio-systems. Well, you were asking, no? The thing they are doing when they are killing all the other ones, they are saying like, that is the success for the population, just takes over. They are like skipping a step to do it more fast. Yeah, is there any other questions? Okay, from now, right? Now I will spend the last 15 minutes just to show you the code. I think Kuni will explain this model, I think at some other point in his eight or nine lecture, and then you can ask him more specific biologically related question. It's not my task, sorry. Let's see where is the code that I start. Okay, so this is the code. So first I told you at the beginning of the session, right? You need to have a simple ODE integration for the dynamic of the gene, right? You have the decay term, the noise, and the tangent hyperbolic function. And then you have some other function to capture the step two and step three of dynamism. Sorry, I just have a question. Like what is the physical interpretation of the transition VG, VIP, I don't understand that. The meaning? Yeah. So the meaning is it captures two different dynamical behavior. In one case, when the VIP is smaller than VG here, you can have multiple eye chapter and the system can get chopped into low fitness state. And when you have the opposite way, VIP larger than VG, actually the system get to much higher fitness state. And the system actually in the more detailed discussion in CUNY paper, this is the way he explains the emergence of robinus. Let me go to that, where is the paper again? Ta-da. Sorry, okay, is this this one? Yeah. So at the beginning I mentioned that what we are interested in is the relationship between the noise effect and the genetic effect, right? So the VIP represent the effect of the noise and the VG represent the effect of the genetic mutations. So you want to understand the relationship between these two effects. And this is the conclusion that the raw from the model that depending on the strength of the noise, they can have different relationships. And these different relationship emerge under different dynamical behaviors. Yeah? This is okay? Okay, so now it's back to this part. So the first step is to simulate this equation for the gene expression dynamic, right? And then you need to have the channel of code to simulate this step two and step three. So basically as I said at the beginning, you need to create a random assemble of Jij magic sis. And then you just do a bit of how to say specification according to that picture, you specify the number of the network that you want to simulate. And then for each of them, you go back to the step one.  And then you choose the best fit. So for each of the network among the top fitness in the population, you do the mutation. So you copy all the connection from their parents and then you rely with some probability to make the new network. And this done is no magic here. You can just try to do it. I stare at the code and then you play that. If you have some questions, come back to me. If you want to know more about maybe analytical argument or some literature on that, I'm happy to answer. By the way, to your question, Diacopo, I think that the picture makes a wrong impression here because even in this case, this is too small. Okay, now let's go back to that P equal one here. Actually, in the orange line here, you divide by factor one over N because you don't compute exactly XI but you will compute XI over N. So this factor subred the amplitude engine. Do you think that is almost no fluctuation? Actually, there is fluctuation there between different value of the XI. So just to answer your question, that maybe it's not clear why it seems like almost zero fluctuation. There is a fluctuation there. What I meant is that if you have multiple attractors, you should expect to have a finite VIP as you go to sigma, as sigma goes to zero plus. Yes, this is true but as I want to say, it's because of the, how to say, because you try to represent two quantity on the same scale and which have different amplitude and then it just makes the impression that it's zero but it's actually not zero. It's a, you can go back to the, if you don't have the evolution, so you still can see the fluctuation there. If you don't have the evolution, so this is no evolution, okay? And for the same value of the sigma zero to one, you still have the fluctuation, of course. You have the random trajectory induced by this noise. So okay, so I think I can finish, no? Any other question, no? Okay, thanks a lot.


Hello, everybody, and thank you for joining us today for the virtual Vertica VDC 2020. Today's breakout session is entitled Vertica Database Designer, Today and Tomorrow. I'm Jeff Healey with Vertica Marketing. I'll be your host for this breakout session. Joining me today is Yanse Bay, Senior Technical Manager from Vertica Engineering. But before we begin, I encourage you to submit questions or comments during the virtual session. You don't have to wait to type your question or comment in the question box below the slides As always, there will be a Q&A session at the end of the presentation. We'll answer as many questions as we're able to during that time. Any questions we don't address, we'll do our best to answer them offline. Alternatively, visit VerticaForms.Form.Vertica.com to post your questions there after the session. Our engineering team is planning to join the forums to keep the conversation going. Also, a reminder that you can maximize your screen by clicking the double hour button at the lower right corner of the five. And yes, this virtual session is being recorded and will be available to view on-demand this week. We will send you a notification as soon as it's ready. Now let's get started. Over to you, Yanse. Thanks, Jeff. Hi, everyone. My name is Yanse Bay. I'm a Senior Technical Manager at Vertica Server R&D Group. I run the Query Optimizer catalog and the distributed engine team. I'm very glad to be here today to talk about Vertica Database Designer today and tomorrow. This presentation will be organized as the following. I will first refresh some knowledge about Vertica fundamentals, such as tables and projections, which will bring to the question, what is Database Designer and why we need this tool? I will take you through a deep dive into a Database Designer, or we call it DVD, and see how DVD's internal works. After that, I will show you some exciting DVD improvements we have planned for 10.0 release. And lastly, I will share with you some DVD future roadmap we planned next. As most of you should already know, Vertica is built on a columnar architecture. It means data is stored column-wise. Here we can see a very simple example of table with four columns. And many of you may also know table in Vertica is a virtual concept. It's just a logical representation of data, which means user can write SQL query to reference the table names and columns, just like other relational database management systems. But the actual physical storage of data is called projection. A projection can reference a subset of all of the columns onto its anchor table, and it must be sorted by at least one column. Each table needs at least one SQL projection, which references all the columns to the table. If you load the data to a table with no projections, an automated auto projection will be created, which will be arbitrarily sorted by the first couple columns in the table. As you can imagine, even though such auto projection can be used to answer any query, the performance is not optimized in most cases. A common practice in Vertica is to create multiple projections, contain different sets of columns, and sort it in different ways on the same table. When query is sent to the server, the optimizer will pick the projection that can answer the query in the most efficient way. For example, here you can say, let's say you have a query that select column B, D, C, and sorted by B and D. The third projection will be ideal because the data is already sorted, so you can save the sorting costs while executing a query. Basically, when you choose the design of a projection, you need to consider four things. First and foremost, of course, the sort order. The data already sorted in the right way can benefit quite a lot of the query, actually like order by, group by, analytics, rejoin, prescade, and so on. The select column group is also important because the projection must contain all the columns referenced by your workflow query. Even missing one column in the projection, this projection cannot be used for a particular query. In addition, Vertica is a distributed database and allow projection to be segmented based on the hash of a set of columns, which is beneficial if the segmentation matches the drawing keys or group keys. And finally, encoding of each column is also part of the design, because the data is sorted in different ways, may completely change the optimal encoding for each column. This example only showed the benefit of the first two, but you can imagine the rest two are also important. But even for that, it doesn't sound that hard, right? Well, I hope you change your mind already when you see this. At least I do. This machine generated queries really beats me. It will probably take an experienced DBA hours to figure out which projection can be benefit these queries, not even mentioning there could be hundreds of such queries in the regular workloads in the real world. So what can we do? That's why we need DVD. DVD is a tool integrated in the Vertica server that can help DBAs to perform analysis on their workload queries, table schema, and data. And then automatically figure out the most optimized projection design for their workloads. In addition, DVD is also a sophisticated tool that can be customized by a user by sending a lot of parameters, objectives, and so on. And lastly, DVD has access to the optimizer. So DVD knows what kind of attribute the projection needs to have in order to have the optimizer to benefit from them. DVD has been there for years, and I'm sure there are plenty of materials available online to show you how DVD can be used in different scenarios, whether to achieve the query optimized or load optimized, whether it's a comprehensive design or an incremental design, whether it's a dumping deployment script and manual deployment later, or let the DVD do the auto deployment for you. And many other options. I'm not planning to talk about this today. Instead, I will take the opportunity today to open up this black box DVD and show you what exactly hides inside. DVD is a complex tool, and I have tried my best to summarize the DVD design process into seven steps. Extract, permute, prune, build, score, identify, and encode. What do they mean? Don't worry, I will show you step by step. The first step is extract. Extract interesting columns. In this step, DVD parsed the design queries and figure out the operations that can be benefit by the potential projection design and extract the corresponding columns as interesting columns. So predicates, group buys, order buys, joint conditions, and analytics are all interesting columns to the DVD. As you can see these three simple sample queries, DVD can extract the interesting column sets on the right. Some of these column sets are unordered. For example, the green one for group buy A1 and B1, the DVD extracts the interesting column set and put them in the unordered set. Because either data sorted by A1 first or B1 first can benefit from this group buy operation. Some of the other sets are ordered, and the best example is here ordered by clause A2 and B2. And obviously you cannot sort it by B2 and then A2. These interesting column sets will be used as seeds to extend to actual projection sort order candidates. The next step is permute. Once DVD extracts all the seeds, it will enumerate sort order using seeds. And how does DVD do that? I'm starting with a very simple example. So here you can see DVD can enumerate two sort orders by extending D1 with the unordered set A1, B1. And the derived two sort order candidates, D1, A1, B1 and D1, B1, A1. This sort order can benefit queries with predicate on D1 and also benefit queries by group buy A1, B1 when D1 is constant. So with the same idea, DVD will try to extend other seeds with each other and populate more sort order permutations. You can imagine that there could be many of these candidates based on how many queries you have in the design. And that can be hundreds of sort order candidates. And that comes to the third step, which is pruning. This step is to limit the candidate sort order so that the design won't be running forever. DVD use a very simple capping mechanism. It's sort order candidates are ranked by length and only a certain number of sort order with the longest length will be moved forward to the next step. And now we have all the sort orders candidate that we want to try. But whether this sort order candidate will be actually be benefit from the optimizer, DVD need to ask the optimizer. So this step, before that happens, this step have to build those projection candidate in the catalog. So this step will build, will generate the projection DDLs from the sort order and create this projection in the catalog. These projections won't be loaded with real data because that takes a lot of time. Instead, DVD will copy over the statistic from existing projections to these projection candidates so that the optimizer can use them. The next step is score, scoring with optimizer. Now projection candidates are built in the catalog. DVD can send workload queries to the optimizer to generate a query plan. And then optimizer will return the query plan, DVD will go through the query plan and investigate whether there are certain benefits being achieved. The benefit list have been growing over time when optimizer add more optimizations. Let's say in this case because the projection candidate can be sorted by B1 and A1, it is eligible for group by pipe benefit. Each benefit has a preset score. The overall benefit score of all design queries will be aggregated and recorded for each projection candidate. We are almost there. Now we have all the total benefit score for the projection candidates we derived from the workflow queries. Now the job is easy. You can just pick the sort order with the highest score as the winner. Here we have the winner B1, B1 and A1. Sometimes you need to find more winners because the chosen winner may only benefit a subset of the workflow query you provided to the DVD. So in order to have the rest of the queries to also benefit, you need more projections. So in this case, DVD will go through next iteration. And let's say in this case, find another winner D1, C1 to benefit the workflow queries that cannot be benefited by D1, B1 and A1. The number of iterations and thus the winner outcome, DVD really depends on the design objective that users set. It can be load optimized, which means the only one super projection winner will be selected or query optimized where DVD tried to create as many productions to cover most of the workflow queries, or somewhat balanced of objectives in the middle. The last step is to decide the encoding for each projection column for the projection winners. Because the data are sorted differently, the encoding benefits can be very different from the existing projections. So choose the right projection encoding design will save the disk footprint of a significant factor. So it was the effort to find out the best encoding. DVD picks the encoding based on the actual sampling the data and measure the storage footprint. For example, in this case, the projection winner has three columns and say each column has a few encoding options. DVD will write the sample data in the way this projection is sorted. And then you can see with different encodings, the disk footprint is different. DVD will then compare the disk footprint of each of different options for each column and pick the best encoding options based on the one that has the smallest storage footprint. Nothing magical here, but it just works pretty well. And basically that's how DVD internal works. Of course, I simplified quite a lot. For example, I didn't mention how DVD handles segmentations, but the idea is similar to analyze the sort order. But I hope this section gives you some basic idea about DVD for today. So now let's talk about tomorrow. And here comes the exciting part. In version 10.0, we significantly improve the DVD in many ways. In this talk, I will highlight four issues in all DVD and describe how the 10.0 version new DVD will address those issues. The first issue is that the DVD API is too complex. In most situations, what user really want is very simple. My queries were slow yesterday. With the new or different projection can help speed it up. However, to answer a simple question like this, using DVD, user will be very likely to have the documentation open on the side. Because they have to go through a whole complex flow from creating a projection, run the design, get the output, and then can get the design at the end. And that's not yet yet. For each step, there are several functions user need to call in order. So adding these up, user need to write a quite long script with dozens of functions. It's just too complicated and most users may find it annoying. They either manually tune the projection themselves or simply live with the performance and come back when it gets really slow again. And of course, in most situations, they never come back to use the DVD. In 10.0, Vertica supports a new simplified API to run DVD easily. There will be just one function, designer, single run, and one argument, the interval that you think your query was slow. In this case, user complained about it yesterday. So what the user need to do is just specify one day as argument and run it. The user doesn't need to provide anything else because the DVD will lock up its query or history within that time window and automatically populate design, run design, and export the projection design and clean up. No user intervention needed. No need to have the documentation on the side and carefully write the script and the debug. Just one function call. That's it. Very simple. So that must be pretty impressive, right? So now here comes another issue. Before they utilize the single run function, users are encouraged to run DVD on the production cluster. However, in fact, Vertica used to not recommend to run a design on a production cluster. One of the reasons the issue is that DVD takes massive blocks, both table logs and the catalog logs, which will badly interfere the running workload on the production cluster. As of 10.0, we eliminated all the table and catalog logs from DVD. Yes, we eliminated 100% of them. Simple improvement, clear win. The third issue, which user may not be aware of, is that DVD writes intermediate results into real Vertica tables. The real DVD have to do that is DVD is a background task. So the intermediate results, some user needs to monitor the progress of the DVD in concurrent sessions. For complex design, the intermediate results can be quite massive. And as a result, many block files will be created and written to the disk, and we should both stress the catalog and that the disk can slow down the design. For EL mode, it's even worse because the table are shared on communal storage. So writing to the regular table means that it has to upload the data to the communal storage, which is even more expensive and disruptive. In 10.0, we significantly restructure the intermediate results buffer and make the shared in-memory data structure. Monitoring queries will go directly look up in this in-memory data structure and go through the system table and return the results. No intermediate raw file will be written anymore. Another expensive usage of local disk for DVD is encoding design. As I mentioned earlier in the deep dive, to determine which encoding works the best for the new projection design, there's no magic way, but the DVD needs to actually write down the sample data to the disk using the different encoding options and find out which one has the smallest footprint and pick it as the best choice. These written sample data will be useless after this and it will be wiped out right away. And you can imagine this is a huge waste of the system resource. In 10.0, we improve this process. So instead of writing the different encoded data on the disk and then read the file size, DVD aggregates the data block size on the fly. The data block will not be written to the disk. So the overall encoding design is more efficient and non-disruptive. Of course, this is just about the start. The reason why we put the significant amount of the resource on the improving the DVD in 10.0 is because the verdict is the DVD as the essential component of the Out-of-Vox performance design campaign. To simply illustrate the timeline, we are now on the second step where we significantly reduced the running overhead of the DVD so that users will no longer fear to run DVD on their production cluster. Please note that as of 10.0, we haven't really started changing how DVD design algorithm works so that what we have discussed in the deep dive today still holds. But the next phase of DVD, we will briefly make the design process smarter and this will include better enumeration mechanism so that the pruning is more intelligent rather than brutal. That will result in better design quality and also faster design. The longer term is to make DVD to achieve the automation. Here automation, what I really mean is that instead of having user to decide when to use DVD until the query is slow, Vertica have to know, detect this event and have DVD run automatically for users and suggest the better projections design if the existing projection is not good enough. Of course, there will be a lot of work and need to be done before we can actually fully achieve the automation. But we are working on that. At the end of the day, what the user really wants is the faster database. Thank you for listening to my presentation. I hope you find it useful. Now, let's get ready for the Q&A.


English vocabulary words for sports locations from espressoenglish.net Soccer, American football and baseball are played on a field. The picture shows a baseball field. Here's a football field and a soccer field. Fields are covered with grass. Tennis, volleyball and basketball are played on a court. We have a tennis court, a volleyball court and a basketball court. Hockey and figure skating are done in an ice rink or rink for short. Golf is played on a golf course. Ping-pong or table tennis and pool are played on a table. A ping-pong table and a pool table. You swim and dive in a pool. The people on the left are swimming and the guy on the right is diving. The platform he's standing on is called a diving board. Races where the athletes are running. Car racing and horse racing are all done on a track. And boxing is done in a ring. If you want to improve your vocabulary, check out the vocabulary builder course at espressoenglish.net.


The women's hockey team on the road in Mercyhurst scoreless in the third period. Summer Ray Johnson gives the Lakers the once-nothing lead. Later in the period, a bad turnover by the Beavers right to Sarah Heinz. She scores glove side. The Beavers offense couldn't get going throughout the night. Net pulled. Mercyhurst gets one more. BSU shut out for the sixth time this year. They fall three-to-nothing on the road. To Lakeland PBS


Hello my friends! I hope you are all doing well. Listen, I wanted to tell you that I'm very excited to be returning to India to Mumbai in January of 2024. I'll be joining many of my dear friends and esteemed colleagues to put on what I'm sure is going to be a fantastic conference on fetal cardiac imaging, fetal cardiology, fetal cardiac screening as well as fetal echocardiography. We will have state-of-the-art didactic sessions, discussions as well as hands-on training. I hope to see you in Mumbai in January of 2024. Be well. Thank you.


I'm Amrene Singh here with CalTV News where in just a few minutes Sean Spicer will be out to give a talk about media bias and the threat it poses to our Republic. Students and reporters gathered to hear former White House press secretary Sean Spicer present. So Sean Spicer has an invaluable insight into like what happens in the Trump administration and we thought that as conservatives we should like share that with the Berkeley audience. Spicer offered personal insight on the 2016 election and his time with the National GOP. Trump is doing the equivalent of walking into a baseball field and being like, no, I'm not using a bat, I'm just going to hit him. This audience has not exactly been receptive of conservative speech in the past and I think he did a great job. He brought in his personal life as well to like you know talk about his emotions about like you know reaching such a high pedestal in life and like you know what that meant to him. I believe that a free and robust press is essential to our politics. Spicer's main advice to students? Think before posting on social media platforms. I could just like echo his like main point that is that like you know you should exercise discretion when you're like trying to choose what to tweet out what to like you know send to people and to like further that ideal you should be respectful to people you disagree with and like you know try to engage their ideas and not just you know like engaging in personal attacks.


Hello and welcome to another video I'm out with none other than Joey Von D and there's an elephant in the room with regards to his hair as he had it cut you'll see you'll see who is he we've come out foraging we've packed the van for an overnight camp somewhere we don't know where we've stopped off in this woodland to have a little look for some mushrooms and we're going to see what we can find hopefully fingers crossed we're going to find some seps that's the main that's the main quarry for today and if we do when we do get a fire going do a bit of a cook up and spend the night maybe have a beer who knows you have not been out with Joey D for some time so this is good this is good and it is a glorious day with glorious scenery let's see if we can find some seps stick around there's a robin on they can't see him because he's camouflaged but we've got a robin as soon as we start finding some good mushrooms and Robert came out for us we're having it it's got to switcher look at that that is a bulbous affair isn't it I'll take a bit try not to get too much of flesh off but look at him there's a lot of meat on that there's a lot of food in there such a beautiful nutty smell to it we'll add that with the rest of them we're going to have a feast bunny pristine man this is good man this is some good foraging far gone isn't it far gone whoo how thick he is beast mode that's where he was pushing up against the tree look trying to lift it nature rules there's Joey D look with new haircut there he's look at these seps man penny buns porcinis a few different names but we've got a few of them some parasols some amethyst deceivers a decent hole and some specimens like that that are just textbook rest of the one here these are these are good lad lovely so cook these up keep it simple so we can keep the flavour of them and just cook them simply in the in the cast iron with some with some steak and have a bit of red wine these are digs we're keeping it simple just three be three d d d d d tarp pegged into the ground and then pegged off so water can run off if it if it rains it's not forecast to and then Joe's got his common flysheet just as a like just a lion really and I'm just going straight onto thermo rest and I've got my winter bag which is the raba cent nine hundred and the alp kit hunker XL over the top of it with my trecology pillow as usual Joe's got the alp kit cloud peak maybe 400 600 either they do it like that Joe's got a red sleeping bag Joe's got an old red sleeping bag from alp kit and that's it that'll do you that's all you need in it yeah lovely location but quick spin round I think this is going to be just a chilled one I will let you have a look at us cooking up these mushrooms and we're just going to cook them so simply it would have been good to have a bit of butter to go with them but we've got some garlic a great bit of cooking oil we can make it work that's what it's about and we've got the cast iron so we can get it nice and hot sear the steak maybe cook it in the fat of the steak and then we've got some eggs for the morning because we've got so many mushrooms we can have mushrooms and eggs at morning as well I'll let you have a look at the cooking but that'll be that might do a little Q&A but there's no beers no beer reviews there is a bit of wine we'll see how we feel we'll see how we feel this one's more about just chilling with me boy because you've not been out for a long time so I'll try I'll try and get something together for you anyway all right you look like a small boy here he is my little boy with his new haircut my little boy first day at school I'm here with Joey D that's me and we've got some questions from the patrons and we're going to do our best to get through them and answer them we're going to just get into it how are you anyway mate are you good yeah how are you doing in that doing pretty good mate yeah mentally okay mentally all right yeah mentally pretty stable mentally stable so it's not like the hair hasn't been who is that famous wasn't my superpower I know Samson Samson yeah it wasn't well I don't think it was my superpower you should see him jump now he's like a salmon I'm really I'm really quick because obviously so quick honestly I don't know if I said it on the other thing but picked him up from train station he's normally like picking up an army vet who's been like discharged for losing his mind but this time he came down he had to pack a gun at the top on and new haircut I was like who's this have you won the lot her lad new man new man new me we're all feeling good new chapter it's a I can't I couldn't agree more about being a new chapter I am in the best place mentally physically and everything that I've been in a long time so it's good to hear me yeah it's good times it's good time so cheers to everyone at home I hope everyone is doing well with their own personal battles and I hope you're still all fighting the good fight much love to everyone out there right should we get straight into it then Joseph so that we can then retire back our our camp is back there we've got a lovely little setup and we're just going to retire back there into the darkness get fire on get fire on and do what you do when it comes to autumn which we're looking for that time of year in it whoa yeah I need it later because it's pretty clear tonight you're gonna be quite quite cool yeah full moon it's clear sky so it will be cool you're gonna need a coat on at some point during this yeah because you can't well we'll see you must be neck must be cold we'll see and shoulders and lugs because anyway let's get straight into it from the lovely people over at patreon right the gas man do you do you have any mischievous stories from the our youth question mark nothing too sinister for example as a child me and a few friends used to climb into neighbor's garden and steal apples from his tree then use the apples to throw his windows what have you got for me I'm sure you were a little shit as a child it's a bit presumptuous isn't it and it's accurate but very presumptuous were you a little shit I wasn't me was I I would imagine so yeah you knew me not as a little child well how little yeah how little yeah I was a bit of a uh a bit naughty maybe just just doing stuff for shits and giggles you know same as you mate just like yeah we use garden hopping and stuff like that Steven Jones question for joey von bramble bonds as a teacher more by the way what what's my new name yeah well we'll have to come up with a new nickname it is kind of still bramble head isn't it all right so just bramble head question as a teacher how would you cope with a young paul hazing class detention I don't I wouldn't have responded well to that no I'd have taken him under my wing would you know what that would have done me good because I remember mr. Knowles at primary school one of the only teachers that I ever really liked yeah and anytime I was naughty you would turn it in like I remember flicking laggy bands at someone and then he took me out into the corridor on my own and made a game of like trajectory and seeing how far I could get him and like I think it was just to get me out at class but I thought he's like oh he's making me like learn yeah and then when I broke my arm I fell off a bridge once and broke my arm at school and he came to hospital to visit me oh that's nice and I was like and it stuck in my mind forever more so than the teachers that were shit yeah yeah so you'd take me under your wing would you take you home take me home for a few glasses of wine and that's not appropriate mate wine and dine me that's not appropriate is it I'll take you out I'll take you out to coffee room that's out of order I am in that right thanks Rachel Gillis again she's just drop keeps dropping in she loves it and we love her here's a question for mr. Joseph D Baggins can he quite believe just how popular successful and loved his idiot mate hazy has become did he's not really about me did he think this was inevitable or is this a total mystery and surprise um probably inevitable isn't it because of the charisma I mean he's he's got some bants he's always had some bants you know from way back in the day so um I mean is it a surprise I don't know he's grafted for it there you go to get where he is you know and yeah I mean I'm a bit biased because he's my mate so you're saying good you're saying I've grafted for it and back in day I had bants yeah I'm not that surprised yeah that's what we wanted to hear he's not surprised that I've got bants thanks mate there you go Ben Huggins hi hazel nut and joey von did that joey von dittletits I love it how do you select where you wild camp question mark I live in the US and find it really hard to get away to our national forests what do you look for when selecting a place to do a night or two of bushcraft on lands that aren't exactly legal for overnighters keep it up guys much respect well we've done it here today like we just it's a feeling more than out in it so you'll have a little look on google earth or you'll know a mass area of woodland that you can maybe park up and get into and that's your first thing and then obviously it is illegal so do it with caution pitch pitch leave early leave no trace all that but then as we were looking today just it's more of a vibe it's more of a feeling than anything else you have to have your practical things like maybe water or a bit of a clearing if it's a night sky and and all these little things but for me it's more of a feeling of like do you want to spend the night here yeah yeah often it's sort of like you have a you sort of pick places that you want to spend the night don't you like yeah I'd like to stay there and then sometimes it's just that's you know it's like where's the most practical place to stay when we're doing such and such I think we've honed it together pretty well like we sort of know we've linked last in it was like we've synced our periods haven't they yeah so we know that we need a good back rest a piece we need a good place to fire yeah we sort of know each other's vibe are we often dismiss quite a lot of options yeah particularly in the news but yeah to to find that perfect one yeah yeah we'll we'll we try them out like yeah we'll sit down in a place and be like right is it are you feeling it yeah is this good for you and you just don't sometimes and then that's good like that's just a good enough indication to move on in it yeah we mean even just today we've sat and chilled in maybe three places before settling on this and the first place we were chilling was like no it's not right the summit not right bounce because you're going to spend all night there right you're so and it's you know you want to create their memories so worth having a look worth waiting till you i mean one man's glorious campsite might be another man's shit tip so do what works for you patrick hi agents if a gene you granted you a bushcraft or camping weekend anywhere in the world where would you choose and what would you bring to drink cheers from arizona shout out arizona arizona japan jeepie why not heartly pool good one nah we're going to japan and we're drinking sake oh can you imagine in the woods of japan that'd be cool he's out they couldn't do you in i don't think they might have bears maybe yeah but they're not they're only like little not grisly only little like yeah yeah we're off to japan apparently we're off to japan oh we're drinking sake yeah yeah did you say that really yeah yeah we're going japan drinking sake whoo whoo i mean amok what you're in amok yeah gotta be amok it's gonna look cool as in it yeah the bonsai like a little but big bonsai big bonsai you know like all right i imagine a yeah like stringing up on a bonsai yeah two millimeters off ground yeah yeah but a big bonsai tree yeah you're like it but basically a tree yeah it's cuz it's getting dark we had another hour in us didn't we it's super dark in it you didn't have you're only got another five minutes in you right it's gonna it's gonna got a bit dark so we're doing a we're doing a bit of a podcast so it's got a bit dark um do not be able to collect much for a fire luckily i've got this chunk of fat wood what you want to do get some curls really biting on a few of them though so they get a bit thicker and they'll burn for longer to set the main bit on fire just so we can get a few of our twigs going there we go and then i've got a lighter in here somewhere any part in the storm it's just what you've got on you and there you go look simple as that let's add a few of these it's a dead pine hanging in trees so it's nice and dry it'll do it'll do don't worry like a lot of people you know and me included i don't like to use lighters very much but sometimes that's what you've got on you and sometimes it's the quickest way we're not all just gonna be always carrying fire steels with us are we so i think using lighters from time to time is good practice we've stacked it at the back here so we'll get the initial fire going and it'll gradually dry out the things that we're gonna then move forward onto it that shrunk by a third already you can hear all the moisture coming out of them because they do hold a lot of moisture what you want to do is cook them to release all the moisture and then wait till that moisture evaporates and then and then they're done smash it crush it do whatever you want leave skins on it don't matter just want just want that flavor so there you go you don't get better than that right oh my god is it good incredible straight in with a huge bit of sep look poor chiney mmm it's a moon oh my god that's so good it's so meaty mmm some moist fresh oh my god that's delightful it's a full moon tonight as well so the moon is just poking its head out of the trees mmm you having it you're being quite quite sweet aren't they yeah there is a sweetness mushroominess the texture is unreal as well and then you've got your steak can't be off to show it because it doesn't focus mmm what better mushrooms and steak by the fire and these things were growing in the ground just a matter of hours ago we're just going to finish our tea and then start this fire back up and chill fat wood to the rescue again glorious glorious love you all bye bye