I'm Kristen Omer, Beef Systems Educator based in Saunders County, covering the southeast region for Nebraska Extension. We are located at the Eastern Nebraska Research and Extension Center near Mead, so on the eastern part of the state. We worked with the SAIR group and had funding to evaluate the effect of grazing or baling of corn residue on subsequent crop yields. And the reason for this project is Nebraska produces a lot of corn. In terms of the amount of corn that's produced in the amount of residue, so the after the corn grain is harvested, we have the rest of the plant that's left over, that would be the corn residue laying on the field. Only about half of that is grazed in the state of Nebraska, so it's a huge opportunity when we look at the number of cattle that are present in the state of Nebraska that might be grazing in terms of beef cows or those calves that would be in the feedlot. The ability to use that corn residue as an economical, cost-effective feed resource is a good opportunity for Nebraska producers. This project was looking at the first, the misconceptions I guess you could say, or perceptions of crop producers and consultants. So we looked at a survey of those producers, as well as worked with six different cooperator sites around the state of Nebraska to do this work, so it was all on-farm type research. So we evaluated whether we grazed that corn residue, whether we baled that corn residue that could be used for forage or feed later on for cattle, or left that residue on the field. What impact do we have on that crop land? The big question for a crop producer is they're looking at yield. That's their indicator of profitability on the farm. So if we are going to affect that yield, that can be a challenge then in terms of implementing grazing or not. So this project was a three-year project covering those six cooperator sites, and we evaluated corn residue grazing compared to that baling or no baling, no grazing. And we found that we didn't see any difference in the subsequent yield, whether we baled, we grazed, or we didn't baler graze on the crop yields. So then you might wonder, well, then if there's no difference between all of them, we should be fine to pick whatever we want and go with it. We also, earlier with Nebraska, looked at a 16-year trial, a long-term trial of the effect of grazing compared to no grazing. And it was looking at spring or fall grazing on a field that was in a corn and soybean rotation. And we didn't see any effect of yield when we went in and grazed in the spring or the fall with grazing as compared to not. So with the producer survey, we looked at what were some of those perceptions of the producers. Why wouldn't they necessarily allow grazing? And their top three was soil compaction. So if we fall or spring grazed, that would factor in. If we had a lack of access to livestock, which through this project, we actually had a platform that we developed online that's called the crop residue exchange that allowed those producers, crop producers, to list their corn residue where it might be available and then help a livestock producer be linked to that producer and be able to develop that connection for them. And then finally, the lack of infrastructure, maybe fencing or watering, that might be present would be a reason why they wouldn't graze. So that survey was really valuable to help see what the producer's perceptions were and then how this research could help to answer those questions. So when we looked at that baling piece, we were pretty comfortable with the grazing. If folks were grazing at a 50% removal of husk and leaf based on a lot of corn residue research done in Nebraska, the short-term research three-year project, as well as that long-term project that we have done previously, says that grazing doesn't affect our subsequent yield. We're actually removing some of that residue, but then was the cow applying it back on via manure, then we're recycling those nutrients as well and putting them back on the field. The question becomes, well, if we didn't see a difference between grazing or baling, so baling would be removing all of that corn residue, then it should be okay to just go out and bale if I don't have access to livestock. We would caution that this was only a three-year study. Okay, if we looked at it long-term, think about as we remove that corn residue as bales, okay? We're removing nutrients, so your nitrogen, your phosphorus, your potassium, calcium. All of those nutrients would need to be reapplied the following year, okay? So you would have a fertilizer cost associated with the removal of that residue, as well as the organic matter that would be disappearing with baling. So looking at that comparison of baling and grazing or just leaving that residue on the field worked out really nicely at these producer sites to help them see the real world, I guess, application on their properties of how this research could either help them or maybe be some application or rendition of how they can evaluate what they're doing.


Everybody, sorry for the way I took the difficulties. All right, very quickly, let me talk. My name is Jason Meredith. I'm a staff software engineer at Procord. I'm also the lead and one of the chairs on Harvard Health. My talk is a four-quest welcome. We need this in a very nice way. So thank you to all of you who use your image. We'll decide that. These are our projects. And as was mentioned earlier, we've had a pretty strong increase in contributors to FIRO this year. Harvard City and Harvard Northwest especially, the rollouts have increased also. And you get a central review where we track membership and stuff like that. When you're contributing to open source, the first question is where do you start? As always, in my opinion and other opinions, documentation is a great way to start it. And a great way to contribute to DOCS is to try to set up your local environment. We've all seen some pain points in some open source projects to do that, and a good way to help other people is to contribute to documentation for that. Another little hidden gem that a lot of people, even very strong software engineers that I've met that don't know, there's a slash contribute URL built into GitHub. And if the repository has flagged the issues with a good first issue, they'll show up in this list. All of the ARGO projects have tagged the issues with good first issue. So if you're looking for a low hanging fruit issue to take on for your first contribution, this is a great place to start. But as always, if you have an idea or a contribution you'd like to make, make sure you go look at existing issues and pull requests and see if there's one you want to attach or maybe take on. So if there's an issue that exists but no pull request, you can grab that and go from there. The best place to communicate is the Slack. That's the link at the bottom. It's very active. The channels are ARGO-CD, ARGO-Wareflows, self-explanatory, and people are very friendly. I'm in the ARGO home one, pretty active. And we have many people here in the audience that are contributing to the others. If you do contribute often, there is a membership scale that you can go into. You start out as a member, you get nominated by two other people in the group, and you can actually get into the org and you get more focus into the system. Then you can become a reviewer, an approver, and eventually a lead. And that's kind of what I did kind of on the side with ARGO-Helm is at ProCore we needed it. We were at a Helm shop and it was a little bit behind, and Marco, the other maintainer, was pretty overwhelmed. So for the past 18 months I've helped out, I've become a lead, and we have a couple other people in the audience like Tim Collins who helps out a lot with the ARGO home charts. The other place to contribute and get involved is the calendar. So on the websites you'll find a link to the ARGO calendar and you can actually contribute to the community or contributing meetings. They're open to the community. Some of the meetings I think they're only the maintainer meeting. You have to be a maintainer to attend. But there's also SIG meetings like security and scalability. So if you want to learn more about the project just listen in. You don't really have to contribute, but you can go into the Zoom meetings and there's a Google Doc where they take notes what happened in the meeting. So all those links are available through the ARGO website. Here's the resource links, death by texts. This is Puka. Puka thanks you for attending. This was short and sweet. I wanted to thank the ARGO home approvers and maintainers and then the software delivery folks at Procore for helping. Especially call out to again Tim Collins. He motivated me to do this talk. So yeah, short and sweet. Thank you everybody. Oh, and this is my Venmo QR code. Just kidding. That's the feedback QR code. Please be kind.


I admit that I don't watch cricket matches except that yesterday it was worth watching the last over. For that alone it was worth it. Having said that, I made a small change, its knowledge of the ancient, in ancient times rather than since ancient times because I thought that that was too broad a canvas for me to cover. You know, we all know about the close relationship between elephants and people over such a long time period. We should ask ourselves a question as to what did ancient people really know about the elephant? Was it all mythology? I mean, all that they knew about the elephant, was it all sort of myth and something that can be dismissed by us who claim to be superior scientists, being very objective about looking at the elephant and so on and so forth? Or are there glimpses of truth and fact and something that we can learn from the elephant about their knowledge of the elephant? I'll very quickly go through this. I will not make a formal presentation in the tradition of the social sciences of a historian but through a PowerPoint presentation like this. Of course, the artistic depictions that Shibani referred to, the rock art and, you know, a lot of sculptural depictions of the elephant, paintings and so on. They do tell us a lot about the elephant and about what people thought about the elephant. But largely today I'll confine myself to the texts, you know, the Vedas, the two texts, the Greek texts, the Chathakas, other Buddhist sources, the Sangam poetry, Parakapya's Gajasastra, you know, or Hasti Ayurveda, which is a master piece I really consider in ancient knowledge of the elephant. Kautilya Arthasastra, Manasalosa, Visti. Hasti Vidyarnava is a fairly more recent, it's only about 300 or 400 years old, written by my name's Ek in Assam. Akbar Nama and Aini Akbar, of course, from the time of the Mughal emperor. Now, obviously as evolutionary biologists, you know, we have a tradition of evolutionary biology in this department. So we have to dismiss the first two paragraphs here, or three paragraphs here, that the origin of elephants is traced to a cosmic event and blah, blah, blah, blah. That is the myth of the elephant. But let me point out the last part to you. And that is Brahma created elephants for the profit of offering sacrifices to the gods. And especially for the welfare of kings, I think there's a very significant statement because I think here is where you have the theoretical underpinnings of the entire elephant culture that arose in Asia. And this single statement here, I do not know if others have recognized the significance of the statement that, you know, the elephants were created especially for the welfare of kings. Because almost, you know, throughout this historical, whatever, 2000, 3000 years of very close relationship between elephants and people, if there is one, you know, reason why we have had this close relationship that has sort of driven this entire relationship, it is a fact that elephants were useful in the armies of kings over such a long time period. You also had the African elephant that played a brief role in the armies of, you know, of, you know, battles in Europe and so on, especially, you know, not in Africa and in Southern Europe. But after that, you know, it's never had this such a long duration in terms of a relationship where for at least 2500 years or maybe even more, the elephant has been used as an instrument of war. And I have written about this earlier, and I think that's really the reason why the elephant was elevated to sacred status, first in Buddhism, by the way, and not in Hinduism, and then as a white elephant and later in Brahminical Hinduism as Ganesha. Okay, now what did the ancients know about the elephants? Okay, and I'll just quickly run through some aspects of this. If you look at the status and distribution of elephants, you have the Ramayana which states that the elephants at Ayodhya that were found in Ayodhya, these are captive elephants, obviously. They were born in the Vindhya and the Himalaya. Okay, nothing in between them, which is actually probably very telling because even today, you have elephant distribution along the Himalayan footers, and then you have, you know, during historical times, you have had the elephants in the Vindhyas and to the south of the Vindhyas. Now, the Indo-Gendritic basin was, has been settled and cleared of white elephants, you know, quite a long time ago. And therefore, also the Ramayana, say, you know, refers to the increasing use of elephants in the armies of the south. The Ramayana's army, for instance, has more elephants than Rama's army. Okay, so is this indicative of a larger population of elephants being found south of the Vindhyas in the peninsula of India where perhaps the settlements had not gone to such an extent as you have in the Indo-Gendritic basin by this time during the first millennium BCE. And therefore, you had much larger populations of elephants, which then the local tribes and, you know, other sheaths and so on, actually used as an instrument of war. There is, in the Atharaya Brahmana of the 7th century BCE, the ruler of Anga, he gives 10,000 tusk elephants, obviously. This is an exaggerated figure on the occasion of the Ashwamedha Yajna, where the horse is sacrificed, the horse sacrificed. And Anga refers to the present day Vihar or Jharkhand, you know, it's being split into two states today. So even if 10,000 tusk elephants is exaggerated, even if it's a few hundred elephants, still this claim indicates that present day Vihar, Jharkhand had a very large population of elephants. So that is something that we can glean from this that there were lots of elephants over there. And then Shivani again mentioned the jathakas, and there are some very interesting references to the elephants and their behavior and their distribution, their population status and so on of the jathakas. I just can't help projecting this painting, which is my favorite painting of all times, you know, of the elephant. This is the, you know, the Chattanta Jataka, you know, you should actually see this painting in Ajaktar to be able to really appreciate the significance of this. This is my favorite painting of all times, which is just a part of a much larger mural that covers an area which is about perhaps, I would say, larger than half, half, half this wall over here. I'm not going to go into the Chattanta Jataka itself, but the jathakas refer to the Bodhisattva as the leader of a great herd of 8,000 elephants, Kasabha Jataka, or in one instance, 80,000 elephants in the Himalayas. So here the jathakas speak about large populations of elephants in the Himalayas. Now, of course you might wonder, you know, 8,000 elephants, it says the Bodhisattva is the leader of a great herd of 8,000 elephants in one place or another, 80,000 elephants. You don't seem to be jelly. But let me tell you that this is probably the right order of magnitude. That would have been somewhere, you know, maybe 8,000, 10,000, 20,000, 30,000 elephants. There can't be 800,000 elephants there. There can't be 800, only 800 elephants in the Himalaya. So it's roughly of the same order of magnitude.  It's not too wide of the map. I mean, even today when we go and actually make population estimates, we come up with estimates that are very, very wide, not necessarily better than what you get from here on most occasions. So I would say that this gives you an indication of the size of the elephant population. Somewhere in the several thousands, you know, almost certainly more than 10,000, maybe less than 100,000, this is the kind of status of elephants that you had in the Himalayan region. Now, of course, when we come to the distribution of elephants, where elephants were found, and this is a map we are missing, Tom Drotman, who wrote this paper in 1982, where based on the description of the Gajavanas for the elephant forest in the Kautilya Arthasastra, now, I know that the dating of the Kautilya Arthasastra is problematic. I have gone with the conventional scholarship of dating it between 300 BCE and 300 CE. That is from the Maurian times to, you know, about 300 CE or so. More recent scholarship seems to suggest Patrick Ollival, again, whom he has locked, knows we had a wonderful meeting in New Zealand a few years ago. He has done a new translation of the Arthasastra, talking to him. He said that no Arthasastra is much more recent and so on. I will try to argue that the Arthasastra is a little older based on this distribution. It lists the Gajavanas, elephant forests, you know, in the Maurian Empire. Now, it lists these eight Vanas. So, you have the Prachiavana, the Kalingavana, the Chedika Karusavana and so on and so forth, and they are actually listed. They are given here. The distributions are mapped by Tom Drotman. Now, interestingly, you will see that the range of the elephant does not extend to the extreme south of the country. It does not come to the south. So, you will find that there are no elephants, you know, described here. But we know that today that the largest elephant populations are actually found here. You know, in the states of Karnataka, Tamil Nadu, Kerala, the single largest population, global population of the ancient elephant is actually found here today. All right, so it is just, but this is not very surprising really because I would argue that the Maurian Empire actually stopped here. The Maurian Empire, the distribution of the southern limit of the Maurian Empire was somewhere roughly here. They had no knowledge of the elephant to the south of the land. Therefore, I would really argue that the Arthasasara, the description of the elephant forest in the Arthasasara, goes back to the Maurian times. It cannot be from too much of a later period when people would definitely have had knowledge of elephants in the south. There is another interesting thing that I would argue from the description of the elephant forest. When Kautilya describes the elephant forest, he says that the Saurashtravana and the Panchanandavana are mentioned as the worst for elephants. Worst for what elephants? For producing elephants that are fit for use in battle. You know, the Kumariya elephants, the robustly built elephants, the tusked elephants that could be captured and used in war. Now, this again is not very surprising because where are these two vanas? The Saurashtravana is here, right? It is an arid zone of the country and the Panchanandavana is over here. Now, elephants have practically disappeared by that time, you know, from these regions. By about 2300 years ago or 2000 years ago, whenever you want to date the Arthasasara, I would argue that the elephant had actually virtually disappeared from this area. These are extremely arid zones of the country. They are not really good for producing elephants. On the other hand, the Kalingavana is listed as being the best forest for producing elephants that were fit for use in war. But let us come to the Manasolasa of the 12th century.  The Manasolasa is a text attributed to the western Chalukyan king Somadeva III. Now interestingly, the Manasolasa has a better knowledge of the distribution of elephants. So, here you see the description of the Kalingavana is extended to Dravidadesha. Dravidadesha is obviously the extension of the country. So, by the time of the Manasolasa, which is 12th century CE, they had a better knowledge of the distribution of elephants all over the subcontinent. But more significantly, the Manasolasa adds the Apparanthavana to Saurashtravana and Panchanandavana as producing the worst elephants. Now, where is the Apparanthavana? Apparanthavana is right here, right? Today, there are no elephants here. Elephants have disappeared from the western Ghats of Maharashtra. Because you go and see the western Ghats of Maharashtra, Maharashtra western Ghats have been completely deforested. It is in a very highly degraded state. It really can't support elephants. So, this could perhaps indicate that ecological degradation or whatever that are natural or otherwise, that initially was there in the northwest of the country and the Saurashtravana had already extended to the northern western Ghats. So, this is an ecological insight that we can possibly gain from what these different texts talk about the distribution of the elephant. Ecology. Now, feeding preferences of the elephant have been recorded in many ancient sources. And here, the Sangham texts are especially very detailed. The tendency of elephants to uproot trees, strip the bark, feed on several plants, putting grasses, bamboo, pit of the palmyra tree and so on and so forth. And the Sangham texts even talk about, you know, even dry twigs that are that, you know, during the dry season, the elephants would even feed on dry branches, which we all know today that they do. And in Sri Lanka and in parts of southern India during the dry season, if they don't get fresh green fodder, elephants would feed on dry branches. Now, this is a statement I found extremely interesting. There is a Sangham text of a poem which states that when a cow elephant in advance stage of pregnancy feeds on the tender, leafless shoots of bamboo, it aborts the feeders. Today, we know from, you know, a lot of chemical ecology work has been done that young shoots of bamboo and many other plants as an anti-herbivory defense, they produce cyanogenic compounds. So, the question I'm asking is, there's probably some truth in this statement. Is it possible that a female, a pregnant female feeding on young shoots of bamboo actually, you know, had experienced toxic levels of cyanogenic compounds, you know, hydrogen cyanide and therefore the calf, the embryo, the fetus is aborted, it's possible. So, that might be something interesting in this. Elephant human conflicts, perhaps there aren't too many descriptions, but there are descriptions of the Gadusasura or rather the Matangalila, which is a text which is about a thousand years old and of course the Sangham text which go back to about 2000 years before present. The Gadusasura actually begins with an account of elephants ravaging the crops in the kingdom of Anga. It begins with the people of Anga coming before the king, Roma Bada, and pleading with the king, saying that elephants have come and the wild elephants have come and they damaged all the crops, please do something about it. So, the king sends all his men out into the forest and the fields and rounds up all the elephants and brings them to his palace grounds. Then Sage Falkapya appears, he's the first elephantologist and he appears before the king and makes a plea with the king to let the elephants back into the forest because he, Falkapya, had wandered among the wild elephants and had observed the life of the elephant and then he goes on to relate the life of the elephant to the king and so on. So, that forms the text of the Gadusasura. So, elephant human conflict, you know, not something necessarily new. The Sangham text, the Tamil Sangham text, contain many references to elephants' raiding crops. Especially, he talks about solitary male elephants leaving their herd and raiding millet fields at night.  So, I say nothing much has changed in the land of the Tamils.  It's exactly the same thing takes place. You know, the solitary male elephants, they have a higher tendency to raiding crops. You all know that from modern biological studies.  They have the teetop platforms. They haven't, you know, they've already had a lot of Erica, whatever. They go to sleep and the elephants continue to feed. So, there are obviously some very interesting descriptions of elephant human conflict in ancient texts. Many ancient texts recognize the individual behavioral traits of elephants. We know today that elephants are highly intelligent, very sensitive with high levels of cognition. There are differences in individual behavior of elephants. They have their own personalities and so on and so forth. The Arthasastra recognizes the elephants not amenable to training, as being mischievous, vicious, genuinely mad, or clever enough to feign madness. The sagacity and individual character of the war elephant is a repeating theme. King Purush Ajax, Dattagamini's Kandula who fights a war against Elara, and Akbar's Hawaii. All these elephants had their own individual characters. The Mughals recognize three behavioral types among the bull elephants based on the Hindu differentiation of dispositions of the human mind. So, you have Sath, you have Raj, you have Sath, the elephant, which is handsome and submissive, moderate in eating, and so on and so forth. Raj and you have Tham, which is self-filled, destructive, sleepy, and a voracious habitat. So, the Mughals also recognize that elephants have their individual temperaments and so on and so forth, and they classified all their elephants into one of these three. Okay, today, you know, chemical ecology is a field by itself among scientists and I have people here who want to work on chemical ecology of elephants and who have done some work already. So, the Matangalila of Nilakanta, okay, which just goes, places back to the Garju Satsra, takes upon smelling their own dung and urine, let them always be producing a tickling of the palate or an attraction for it. Very strongly referring to some kind of a chemical signal. And the Sanskrit and Tamil Sangam poetry allude to BVs hovering around the rut of a bull elephant to gather sweetness from the temples of young must-mates. Now, I brought this Matangalila to the notice of Bess Rasmussen, who was, unfortunately, she's no more. She's one of the foremost scientists on the chemical ecology of elephants, and she teamed up with Krishnamurthy, an Indian veterinarian, about 15 years ago, and actually collected the mass secretion of young adult males at Muthumalai and showed that it was qualitative different from that of old adult males. So, young males secreted sweet-smelling alcohols and ketones and acetates, just like what the ancient texts described. While old males secreted foul-smelling, non-anone ketones and so on and so forth, and front-alem. So, there was a qualitative difference in the nature of the secretion of these compounds. And they actually published a paper in the journal Nature in 2002, in which they say that the more the must-emmenations of young maturing males as vertically observed by the ancient Hindus had now been substantiated by modern scientific techniques. So, those are published in no less journal than Nature. Now, you'll see that must is an obsession in ancient times. It's an ancient obsession. You look at any artistic depiction of the elephant, except for the Indus seals. I don't know if Shubhani has looked at it closely. I'm not able to make out. It's too small for me to make out. Okay, this is a real bull elephant in must in Raja Ji in the North. You look at Ashoka's Gajatame's supreme elephant in Kalsi. There's a rock inscription of the third century BCE. Okay, very clearly if you look at this, okay, there are these lines coming from the temporal gland. Very clearly indicating that this is the supreme elephant is also an elephant in must. Okay, I've seen this rock. The photograph that I have taken, unfortunately, it's not coming out probably too clearly here, but you look at the photograph, you can clearly see the lines indicating must. So, the supreme elephant is a bull elephant in must. This is my favorite elephant sculpture of all time. This elephant must be more perfect than a real elephant. I can't see a kumriya bandh elephant as perfect as this. And we just had this mention of an elephant lifting its foot and being in motion. I can't see a better depiction of that than from the cow elephant behind this. This is as natural a scene that as you can ever get. But please take careful note of this. Do you see this little swelling here? Do you see a little in the... This is a master's cutter. This is a master's cutter. Can you see this little rounded temporal gland here? Between the eye and the ear. Okay, I don't think any historian of art actually noticed this. This is a bull elephant in must. Masterfully carved at Mamalapuram, which is near Chennai, not very far from Bangalore. And of course, we have the must for the bull of Emperor Akbar, Hawaii, and he rebelled in taming the fiercest bull elephants in must. Now what do the ancients know about elephants in must? Excitement, swiftness, order, low passion, complete fluorescence of the body, wrath, prowess, and fearlessness are declared to be the eight lexical elements of must. The Mata Nalila. That single sentence captures what we all modern biologists know about must and the elephant. I hope that Karpakam will be able to improve upon this definition of must. I mean, she's been studying bulls and musts for several years, and she wants to continue to study this. But I hope that we can improve upon this. But this single sentence captures everything that we know about must and elephants. Okay. I think in the interest of time, I'll just skip some of it. And the Sangam texts also talk a lot about the must and elephants and so on. And must as, and this passage I must quote from the Aini Agbari of Abul Fazal, the Badar Ratsun Mad Libra. Badar is the robustly built elephant, you know, fit for use in war. That is, you know, at the end of the rainy season must occurs at the end of the rainy season, September, October, Scott Peo. Okay. This is when a bull elephant can be expected to be in really good body condition, which kind of roughly collaborates. The Meir is a lanky elephant in Capricorn, Sagittarius, and Meir in any season. So Joyceful, in fact, has used game theory to argue that spacing out of must among older dominant bulls and younger subordinate bulls was a mechanism of conflict avoidance. So these kind of passages mean that there were ancient observers who knew that they didn't perhaps did not know the significance of this, but they had made very detailed observations on must and elephants. Now capture of elephants, there are very detailed descriptions in ancient texts which are not going to. And the Arthasastra actually prescribed that tusk elephants are captured. And therefore, in the northeast, for instance, you probably have one of the reasons, a lot of tuskless males that you see on the right, because of the selected capture of tusk males. The methods of capture, you know, again, in fair amount of detail, you have Megasinase, you have Arthasastra, you have the Sangam texts, the Matangalila, the Ainiagwari, all the different methods of capturing elephants. A lot of detailed descriptions. The training and management in captivity, and typically morphology and anatomy, the training steps, the diet, the treatment of ailments and diseases, these are the kinds of descriptions that you find. Simply because those are very neat for it. A lot of the ancient knowledge of elephants is based on captive elephants, because people had to maintain large numbers of elephants for use in war, you know, for use in battle and so on and so forth. And the whole knowledge base that built up in ancient times was because of this ancient need to be able to keep elephants in captivity, put them to human use and to use them in the battlefield effectively. So a lot of, a big body of knowledge largely developed around this ancient need. The management of elephants in the Maurian period set up sanctuaries and impose the death penalty on anyone killing an elephant, much like in modern times or wildlife protection laws and so on. But then by the Manasolasa, there's a very interesting change. You know, it says the Manasolasa repeats the assertion of the Arthasastra that an elephant forest is the best type of forest, but the rider that the king should protect it with the help of forest dwellers. This is a bit like, you know, the modern debates about whether we should have participatory wildlife management, whether tribals and other people should also help or participate in wildlife management or not. So there's a paradigm shift. So there are some very interesting debates going on in ancient times, also about how do we manage elephant populations. And I think this is my last slide is that, you know, during the colonial period, we had the forest reserves to extract timber. So we had the whole scientific management of the timber elephants, the need for it. There was this landmark treatise on elephants by Iwans, which was first, I think the first version of this came out in 1901, that initiated the European veterinary science of the elephant drawing upon local traditions. And then we had sport hunting and game preserves being set up for that. And knowledge of anatomy was very important because it gave big game hunters to shoot an elephant effectively. So the knowledge of anatomy again advanced during the colonial times, apart from the veterinary practice of how do you maintain elephants, treat their diseases and so on and so forth. And this landmark treatise by J. H. Iwans, that came up at that time. Okay, so thank you. This is just to advertise my book, which I have three copies of it at a heavily discounted price for, especially for visitors from abroad. If anybody needs it, I have three copies with me and I'll be happy to give that to you. Okay, thank you.


So, we will continue from where we left yesterday. In the previous lecture, what we did was, I was talking about basically how to build up a larger dimensional switch or larger size switch using a smaller size basic switch elements. And in that sense, what we want is the preservation of the certain property which we call as strictly non-blocking property. And therefore, the question was whether I can reduce my cross point complexity in some way or not. First thing was these are creating larger size by using a smaller thing and further reducing the cross point complexity. So, what we did was, I took a case where we were trying to build up using two stages and I took some switch with certain basically kind of a small n as the input ports and then we build up the interconnect by using, if I am going to use n by n, I said that one can go to, one link can go to each one of the switch in the output stage or in the second stage, but this was leading to a blocking situation. So, if certain inputs are free and as well as output is free, I cannot set a path between them in certain situations. So, in order to resolve that, what we did is, we actually start using n by, this n by n square kind of switches were actually were used instead of n by n and in that case, this there were actually n wires which are going out and this actually means I need to put n wires to each one of these. So, all these n can be connected to any one of these n without any blocking to happen. So, far this number is going to be smaller than n, then it will not be possible because whatever is left over and there is one which is free here cannot be connected, only part of the connections can be made and of course, we figured out that the complexity still remains because if you have only there are k such elements. So, you require you have switch size of n k by n k which usually will require, if I build up a single cross bar will require n square k square. In this case, I will have a switch of n by n square which becomes n cube complexity and I have actually two k such switches. So, I will be requiring O 2 k n cube kind of thing and then of course, if I actually take from here, you can actually clearly see that if I am actually making kind of k will become equal to n in that case both will be O n raise power 4 or since your capital n is nothing but technically equal to n square. So, this is nothing but complexity of O n square only. So, that is what we did last time and then I thought we can go to three stage interconnection and I defined a closed network in that case and I also define what is going to be strictly non-blocking structure, what is rearrangeably non-blocking, what is wide sense non-blocking and what is going to be blocking structure. And then of course, I define the closed network which was you will have some inputs. So, for example, n input ports and they are k such switch any switching elements. So, total number of incoming ports is n into k and we were connecting in the middle stage many such switches and we have to find out what will be the dimension. Now, each switch should connect to each one of those switches. So, I will be actually having something like this. So, I might end up in choosing some number here, some middle stage. So, in fact, the way I defined it was it was this was not n, this was m 1, m 1, this side was n 1, this is also n 1. So, all switches where which were here was m 1 by n 1 switches and I was using k 1 of them. Then I was using the middle stage k 2 switches which was of m 2 by n 2 size and then there was a third stage configuration third stage switches where I will be using m 3 by n 3 and there were k 3 such switches. Condition is that only free incoming ports are available only in the first stage and only free outgoing ports are available only in the last stage which is the third one in this case or output stage. None of the incoming ports and outgoing ports in the intermediate stage should be left free they have to be connected. So, in that case the number of because I need to connect everybody here. So, this number which actually means that m 2 has to be equal to k 1 because k 1 actually lines will be coming and connecting on to this and similarly here the number of inputs everywhere will be m 2 will be equal to k 1 and similarly now n 1 has to be equal to whatever be the number of switches in this case this will be equal to k 2 and this also implies because same structure will be applied here. So, you will have n 2 will be equal to k 3 and m 3 will be equal to k 2. So, you can see this condition. So, m 3 will be always equal to n 1 is equal to k 2 this condition will always be satisfied and I said this actually switch can become strictly non-blocking and I took a very simple example this is this will be later on proved as a class network. This is actually the class network we will use a class theorem to find out what will be the condition for strictly non-blocking nature of this particular switch. So, if m 1 minus 1 lines are already busy occupied here the same is true at this place that m 1 minus 1 lines are occupied here there is only one line which is left in which I am interested there is only one line which is left in which I am interested I want to connect these two. In worst case scenario now these out of these lines which I am putting here m 1 minus 1 are already occupied they might be using certain middle stress switches for connecting to some incoming ports. From this side in worst case scenario these can be using a different set of switches there is no overlap between them. If I had one more extra this can always be used to set up the path between this free input and output link and switch will be always strictly non-blocking switch it do not need to disturb any existing connections which actually implies that I need to have if I am going to take a symmetric case where by m 1 is equal to n 3. So, you will find that I need k 2 should be equal to or greater than or equal to 2 into m 1 minus 1 plus 1. So, that is the condition which will come from this thing and this is nothing but 2 into m 1 minus 1 this should be the condition and k 2 will then actually decide what will be value of n 1 and m 3.  So, again this dimension will be 2 m 1 minus 1 total number of switches will be 2 m 1 minus 1 the number of ports here will be k 1 and since I am actually taking m 1 is equal to n 3. So, I will call it again m 1 this will be also m 1 and since you will have in this case again these lines have to be 2 into m 1 minus 1. So, number of middle stress switches will be these many and these of course, because I want a symmetric thing. So, I will be also taking this thing as a k 1 k 3 will be equal to k 1 that is a symmetric case and this will be the condition which will be satisfied. So, m 2 will be equal to n 2 in this scenario this switch will also everything actually symmetric in this case and this will strictly non-blocking switch. Now, what will be cross point complexity for this particular switch? So, if I want to find out cross point complexity number of cross points I can very well estimate that for this particular switch I will be requiring m 1 multiplied by 2 m 1 minus 1 number of cross points and number of switches which are here is k 1 and exactly similar stage also exist in the third one. So, I have to multiply it by 2 and then what I will have is how many middle stress switches will be required is 2 into m 1 minus 1. What is the size of the number of inputs which are coming into this? This will be nothing, but k 1 number of inputs which will be coming in and k 1 will be going out. So, this is what will be the number of cross points. So, we can try to optimize this we have to first of all find out what is going to be the value of because the total number size is actually now n m 1 into k 1 is what is your is a constant and I need to find out what are the optimal values for these. So, I will write everything down in form of m 1 and we will try to optimize with m 1 and then find out what should be value of m 1 for optimality basically the minimum size of the number of cross points delta c. So, for this let me now first of all repeat whatever I have written. So, these are total number of cross points. So, I will now replace all k 1 by n by m 1. So, that I have only one variable sitting in there. So, n I can take a derivative. So, k 1 will be n by m 1. So, this what we will get we can also actually assume that let m 1 be much larger than 1.  So, approximately the cross points will be now varying as 2 m 1 into 2 m 1 into n by m 1 plus and now solving this gets reduced I will have 4 m 1 n plus 2 n square by m 1. Now, taking derivative delta c over delta m 1 for the optimal value of m 1 and then we will put that m 1 value and find out the total number of cross points approximately and what is going to be their complexity. I can now actually keep this particular assumption true and then use this expression for finding out the number of cross points. So, once I take the derivative this will turn out to be 4 n plus 2 n square minus 1 over m 1 square and I can make it equal to 0 and this will give me in fact, I can now reduce this will be 2 n I can take out. So, this will be 1 I will let me keep it as it is. So, this actually implies either n is equal to 0. So, which is the condition I am not looking for. So, I think this argument if this is 0 this is what will give me the answer. So, this has to be 2 plus. So, 2 will be equal to minus n by m 1 square. So, m 1 will be nothing, but n by 2 root. So, this will be the answer. So, I can now put this thing in the to find out the number of cross points in this expression and this will turn out to be 4 root of n by 2 into n plus 2 n square by root of n by 2. So, this will turn out to be 2 root 2 n 3 by 2 plus again from here 2 root 2 n is power 3 by 2. So, now the complexity is now of the order of 3 by 2. So, we have now able to go from n square to this. This is lower complexity than what we had in a single cross bar. So, I am able to reduce my number of cross points. Of course, only thing is that now I have introduced complexity in terms of the routing algorithm which is required because you have to search for a path and then you have to set up a path, but path can always be set up. So, this is a pretty efficient system. Now before actually moving forward, I need to understand now this kind of switch requires large resources. Now, usually network operations or whenever we do a practical design of a switch, we will never build up a actually a strictly non-blocking switch because you do not require it. If I can introduce a very small amount of blocking probability say 5 percent or 10 percent and have much less hardware probably I will be able to provide an acceptable service to the users. So, it is always a good idea that or I make a very small size strictly non-blocking switch and then I actually use what we call expenders and compressors which basically is a special kind of a switch where large number of incoming ports are there on one side and smaller on this side with the assumption that all users will not be active at any point of time. So, chances you will be blocked is very small, but because of which my amount of hardware reduction is much drastic which will help in reducing the call cost. So, I will appreciate that. So, usually you will put a compressor like this then is a strictly non-blocking switch of n by n. So, you are using some capital M which is going to be larger than n. So, either you will be using this kind of configuration for a switch. So, where this will be strictly non-blocking switch or you will itself will design a m by m blocking switch with less number of cross points because every cross point require a management. So, in fact cross point need not be actually physically made in this fashion. I can build up a strictly non-blocking switch even using time slot interchanger which I will be covering sometime later in the lecture. And we need to estimate what is going to be the blocking probability if I build up a three stage structure because I need to have a blocking probability estimation if I am going to design a blocking switch. Now that requires some understanding of Q-ing theory. So, I am just actually digressing from here and moving to the what we call the probability or what we call state probability estimation in case of a switch. But before this let me do a very simple Q because this need to be understood and I will use a similar procedure now for what we call simple m by n. I will call this as a composite switch m by n composite switch and we will try to find out how you will estimate the blocking probability for this thing. So, so far the number of calls are going to be less than n which are passing through this switch this will remain in non-blocking state. The moment you get a call which is going to be a number of calls will become equal to n after that any call comes in cannot be made through it is then going to be in blocking state. We need to estimate that blocking probability and for that we need to know understand the Q-ing theory basic fundamentals of that. So, in this case it is very simple the way we actually model it. Let me go to a simple Q and then I will come. So, what happens Q is always represented in this fashion. So, there can be tasks which can come into the queue and they can be served. So, what we do is the how the task arrival task will be arriving randomly actually there is no deterministic thing how you can actually model this particular task arrival process. So, what we do is we assume it to be a Poisson distributed phenomena. So, what do we mean by Poisson that if you take a time interval. So, you are starting from say time 0 to capital time t. So, how many number of packets will be arriving in this time interval t. So, how we will what is the probability that k packets will be arriving. So, packet arrival is an instantaneous process in one single instant a packet come. So, two packets can come very close to each other, but since it is a point process two packets cannot come at the same instant there will be infinitesimally small gap between them and we define a parameter called lambda here which is the arrival rate. So, this average number of packets which are going to arrive per unit of time. So, that is I think something which can be done. So, in capital time t on an average lambda t packet will be coming. Now, the probability that k packets will be there in time t. So, probability for this will be defined as lambda t raised to power k e raised to power minus lambda t divided by k factorial. This is a probability distribution and of course, one can verify that if I do summation of this if I actually do sum of this over k I should actually end up in getting equal to 1 which of course is obvious because e raised to power minus lambda t can be taken out and this summation as all of us do know over k this summation is nothing, but e raised to power lambda t. So, e raised to power minus lambda t and lambda t will give you 1 always. So, this actually is a probability distribution and we call it a Poisson statistics and of course, we can look at the same particular distribution in another way that what is the chance that a packet arrives and the next packet arrives what is the distribution of inter arrival time the time gap between them. If I want to find out the distribution of this what should be the distribution this actually can be derived from here we call it exponential time distribution and the derivation is again very simple and elementary. What I can do is I can now take let a packet arrive what I can find out at least packet is not arriving in this time period I can find out this probability. So, if I know at least one packet arrive this is not that packet does not arrive in time t this is means that probability that arrival time is greater than or equal to whatever is the t prime which I am taking. So, remember this is a cumulative distribution function once I take derivative I will get the pdf of this probability that arrival time is greater than this actually means that 1 minus probability at least one packet arrives in this time distribution or probability that no packet arrives in this particular time distribution. So, that probability I can get from that Poisson statistics. So, this will be 1 minus e raise power minus the so probability no packet arrives in time t prime that is what it means and this will be I just use the Poisson statistics. So, lambda t prime will be 0 e raise power minus lambda t prime divided by 0 factorial it will be e raise power minus lambda t prime. So, that is the probability or alternatively we can say is that the probability that inter arrival time in fact cdf is always defined that probability of x being less than x that is what is cdf and then we take the derivative here I have taken it on the higher side that t is greater than t prime I should actually take where t is less than t prime. So, this implies that at least one packet should arrive probability that at least one packet should arrive I should have derived it this way at least one packet arrives in time t prime which is nothing 1 minus no packet arrives. So, it will be this thing. So, this is what is consistent definition with the cumulative distribution function. So, this is what is the cdf and once you take the derivative of the cdf you will get the pdf. So, once you do that take the derivative. So, pdf of t prime distribution will be e raise power minus lambda t will remain as it is minus lambda will come out on this side this is minus. So, this is what it will be at t is equal to 0 this value will be lambda and then it will fall down and we call it as the exponential distribution function. So, that is the inter arrival time which is going to be there between the two. So, coming back to this q. So, this arrival process is characterized by lambda we also define an equivalent process which is for departure which is technically nothing, but again if there are always packets number of packets which will be departing if packets are continuously there in the q that will also follow a Poisson statistical process, but we cannot do it because if there is no packet in the q that time the packets cannot go out. So, the outgoing process cannot be represented by Poisson statistics because that is dependent on the arrival process. So, what we do is we define a complete packet processing time. So, if a packet is there in the q. So, packet the moment you start serving it how much time does it take to serve the one full packet or for its transmission. So, that is essentially now we assume it to be exponentially distributed and we define this distribution as this. So, average value of the distribution time or the time average time which a packet takes for moving out is 1 over mu actually in this case and usually what will happen is if the packet the process if the packet if this q is going to be empty for at least some fraction of time if you observe for a longer duration then the q is stable. So, only when suddenly large packets will come the it will the q will fill up, but if the all the time packets are coming and you are not serving at faster rate it means that mu is going to be a smaller than lambda then there is a problem actually if mu is smaller than lambda then q will keep on building to infinity it will be unstable thing we will actually prove it that it is what happens. So, this is also technically is a Poisson process, but only if the packets are continuously available because packets will not be there some once in a while we cannot use this kind of thing the number of packets going out is equal to this this is only going to be true if packets are available all the time. So, technically it is also being derived from Poisson statistics. So, what you do is now we have to now build up what we call Markov chain for this and we are going to assume a steady state condition. So, we define the state of this q is being defined by number of packets which are there in the q. So, the first state will be the state 0 when there is no packet. So, if I take a very small time. So, now the time of observation is extremely important if you are in state if I am to actually having a time interval delta t and I will actually make this delta t goes to arbitrarily 0 value, but ultimately this will cancel out in the balance equations. So, the probability that a packet will arrive is defined by delta t by n factorial and if delta t limit going to 0 then of course, for value of 1 for n is equal to 1 the probability will be lambda into delta t for higher order higher probabilities this value will because now this argument will become 0 actually. So, this will be 1 and for higher values the probabilities will become extremely small it will become lambda into delta t square by 2 factorial and so on. So, this values can be neglected they are very very small. So, I need not consider them. So, at any point of time when delta t is infinitesimally small only one packet can arrive and if that happens I will be coming to state 1. So, you will never be going from 0 to 2 that is not possible in this case. So, similarly a packet goes out that probability will be mu into delta t and you will come back to state 0. So, this happens at any point of time when you are observing. So, similarly from 1 to 2 you will get lambda into delta t that will be the probability and this probability will be mu into delta t and so on. Since, I am actually taking infinite size q. So, this can keep on happening we in fact call it a Markovian arrival Markovian departure single server there is only one server and infinite buffer size mm 1 infinity q we call it. Now, under a steady state condition the probability that you will be in certain state will be constant which actually means if probability that I will find this system in this state 1 or state 2 are going to be constant. So, the probable if I make any close surface if I make any close surface the chances that you will exit out of this surface and you will enter into the surface has to be exactly same that is a balance condition. So, this balance condition if it is satisfied will give me the steady state of I can actually now use this particular thing to identify the state probabilities. I will exactly use the same thing later on to make an estimate for my m by n composite switch. So, in this case if the p 0 is the probability steady state probability of being in a state 0 and I make a surface something like this which actually means lambda into delta t this is a transition probability then I am going out of the this surface this particular surface and what is the probability of coming into the surface that I am in probability of being in state 1 into mu into delta t and I can see actually sorry I have. So, this delta t cancels out so delta t is actually a material. So, p 0 and p 1 they are related by ratios of lambda and mu that is what is more important. Similarly, if I actually look at this particular thing I can then same thing I can do it p 1 into lambda delta t is equal to p 2 into mu delta t. You can do whatever surface you can will be able to make if they are say k states possible states you will be able to build up k minus 1 equations and for k state probabilities you want to estimate it require k equations the last equation will be the first axiom of probability that sum of all mutually exclusive events the probability of those has to be equal to 1. So, we will use that axiom as the last equation and then we will to get all state probabilities for a steady state system. So, again delta t goes out same condition holds true. So, I can keep on extending this so which actually means I can write p 1 as lambda by mu p 0 p 2 I can write as lambda by mu p 1 which is lambda by mu square p 0 n turn p raise power n will be lambda by mu raise power n p 0 and n will go till infinity actually. So, now almost all equations I have all probabilities I have now being represented in terms of p 0, but what is p 0. So, if I do p of i summation over all possible i's this should be equal to 1 which implies that p 0 plus p 1 plus p 2 plus p 3 and so on till infinity this should be equal to 1 and I can write this as p 0 plus lambda by mu p 0 plus lambda by mu square p 0 and so on lambda by mu raise power n p n and so on. So, this should be also equal to 1. So, this is nothing, but I got a series and this is a geometric progression and I can very well actually solve it I can call lambda by mu as rho and this value will be using a series things. So, series says that once I want to solve this particular sum so series will be nothing, but a b raise power total number of terms. So, that what should be the sum. So, I am just going to use that same formula and I will end up in getting is because a in this case is 1 rho raise power infinity minus 1 rho minus 1 and interestingly what I will find out rho raise power infinity can be 0 only if rho is less than 1. So, p 0 will be rho minus 1 divided by rho raise power infinity minus 1 and if rho is less than 1 then only I will get a solution which will be 1 minus rho some positive value and a probability of course, has to be always less than 1 which will always be guaranteed if rho is going to be less than 1. If rho is 1 p 0 will be 0 and of course, rho is 1 p 0 is 0, but 1 raise power infinity is also going to be undefined in that case. So, this becomes undefined so rho has to be less than equal to 1 for a stable situation. So, once I know p 0 I can now actually find out all state probabilities with that. So, I have now got my p 0 which is 1 minus rho p 1 which is rho into 1 minus rho p 2 rho square 1 minus rho and so on and henceforth I can find out what is the average Q length of this packet. So, average Q length of course, I need not I need only the state probability thing because I will be using similar expression similar procedure actually now to for m by n composite switch. So, average Q length in this case because this will be required so I call it l bar this will be nothing but summation of that number of packets which were there in the Q i and what is your probability of being in a state i. So, this is for all i's and this will be your l bar. So, this can be estimated again as i rho raise power i 1 minus rho and i goes from 0 to infinity and of course, you can solve this and you should get a value of rho 1 minus rho I am not solving it I am just writing down the result directly the easier way to solve it actually take the derivative take 1 minus rho out take the derivative and then of course, replace that is the best way of doing it. So, I can I can try doing that actually it is not. So, let me do it slightly. So, 1 minus rho comes out straight i is equal to 1 to infinity for i is equal to 0 this does not make sense I will have rho i 1 minus rho I can take also a rho out and of course, now this thing can be always written as and summation and derivation both are linear operators. So, I can always exchange them. So, I will end up in getting d over d rho summation of rho raise power i i is equal to 1 to infinity. Now, this summation is again nothing but a geometric progression with the first value is going to be rho in this case. So, rho rho raise power infinity minus 1 rho minus 1. So, rho raise power infinity minus 1 this thing actually will turn out to nothing but derivative of rho 1 minus rho that is what you will get remember whenever you are taking 1 over 1 minus rho derivative will be minus 1 over 1 minus rho square and minus rho again. So, it will become positive actually that is how it will be and I can solve it 1 minus rho plus rho this cancels with this I will end up in rho over 1 minus rho. So, that is what was the result which I wrote here. So, this gives you the average q length and you can actually now plot rho into 1 minus rho is equal to l bar and that is when rho is equal to 1 and rho is equal to 0 this goes from 0 and then this explodes and goes to infinity. So, q becomes unbounded it will not be bounded in length and it will be unstable at rho is equal to 1. So, we will use the same now technique essentially these are basics of I think everybody in Queen Curie does this thing first. Now, we need to do it for m by n composite switch. Now, here what is happening is a call actually arrives. So, call request arrives and those arrival will happen now you have to understand if whatever as a free ports only call can arrive on those once a call arrives that line is now busy. So, if you look at a telephone line if a call arrives call will now remain hold a line is now occupied till the call is over the person is now talking for this period and when call is over again line is free then only the new call can arrive. So, in this period no arrival is possible in the line actually. So, arrival is only possible for the free lines. So, but for a free line when a line is free what is the arrival rate. So, I can take some lambda. So, if there n free lines my arrival rate will be n into lambda. So, lambda is the arrival rate on single thing now once somebody is talking usually what I am assuming is the person when he talks the duration of his talk is now exponentially distributed which actually means this call completion takes on an average 1 over mu time. So, what I will call is a call departure rate is mu for every line. So, if there are k lines which are occupied which are busy which are which are being talking. So, k here also going to be occupied connected to these. So, k into mu times will be the departure rate in this case. So, k into mu into delta t is a probability of coming from state k to k minus 1. Once you got to k minus 1 it is k minus 1 into mu into delta t and similarly arrival rate is going to be whatever is the number of free lines. So, number of free free lines is l. So, it will be l into lambda into delta t now that will be variation here and the state of this m by n composite switch it is m by n cross bar technically and only n connections can be put on the outgoing ports. So, the state of this particular switch is being governed by number of lines which are occupied here at the outgoing port. You cannot have more than n lines that is not possible m because m has been taken as larger than n. So, it is not possible to have more than n line getting occupied and after that even if a call arrives it has to be dropped it cannot be taken up. So, it is a blocking system and it you do not have the way we had in a queue you could have infinite packet being queued up here that is not possible you can only have till n and after that even if call comes you cannot hold it actually it is gone. So, you are in the blocking state. So, your queue will have only capacity of n here. So, that is how m by n composites which can be modeled with this particular thing. So, let me now build up a Markov chain for this entity. So, your m by n composite switch is going to be. So, there is no call there. So, the arrival which can happen will happen with the rate m lambda delta t. Remember delta t again we is going to cancel when I am going to have a balance equations to be built for a steady state situations. So, I need not I can actually remove delta t in fact earlier time the delta t cancels out from both sides I need not keep it. So, in fact when I have built the Markov chain I could have removed this delta t without any problem kept now that is what actually is being shown in most of the places. So, I need not keep I just keep the rates here it is proportional to rates and so on. And of course, if one call arrives you will be in state one and then how you will come back to 0 delta t. So, I am now going to remove delta t because of the reasons which I have mentioned I need not keep it. Then if you are in state one. So, one call is coming in one call is through. So, the only now m minus 1 lines are available on which the call can come and here n minus 1 lines are available. So, if the next call comes this will come with a rate m minus 1 into lambda that will be arrival rate and from a state 2 you can transit back to state 1 with 2 mu now. So, remember this instantaneous probabilities are fixed and the only one call can be completed at any point of time. So, if 2 2 0 will always happen from 2 2 1 and 1 2 0 that is the rate is always going to happen because delta t is in limit is going to 0. So, from 2 I can come to now 3 and this will be m minus 2 into lambda 3 mu perfect I can keep on doing it. But for how long ultimately remember I have the maximum size n minus 1 calls can be set up and when the nth call is set up you have had only one line free. So, it has to be lambda and you can go to with n mu and after this even if arrival happens you will come back to the same state does not matter after this. So, with this transition probability this actually loop backs m minus n lambda arrival you come back to the same thing. You do not change the state. So, this here actually now this should not be lambda, but this should be m minus n minus 1 lambda actually sorry I need to correct this and you can actually now note that the sum of these 2 if you make m minus 3 forget lambda n mu in this case m minus 3 plus 4 this will be m plus 1 m minus 2 plus 3 m plus 1. m minus n I think it should be n plus 1 m minus n plus 1 plus n m plus 1. So, that is how you can verify this will be the Markov chain for a composite switch and of course, now I can write down the balance equations and then solve them and then get the probabilities. So, let me do that. So, I am going to build up a first of all this surface p 0 into m of lambda should be equal to p of 1 into mu. So, which implies p of 1 is m lambda by mu p 0 that is what you will get. If I make the second surface like this or you can make a surface like this also does not matter ultimately you will be actually now canceling all the terms and trying to get all the state probabilities in terms of p 0 and sum of all probabilities will be always equal to 1 that is the way it is going to evolve. So, p of 2 now in terms of p 1 I can write m minus 1 lambda sorry it has to be p 1 p 2 into 2 mu. So, that is a transition rate at this surface which will give me p 2 is equal to m minus 1 lambda divide by 2 mu into p 1 m into m minus 1 2 into 1 lambda by mu square p 0 keep on doing it. So, p 3 similarly will be m into m minus 1 into m minus 2 3 into 2 into 1 lambda by mu cube p 0 and of course, you can clearly observe what is this is combinatorial m c 3 lambda by mu 3 p 0 and in general I will have p n is equal to m c small n n has to be actually smaller than n lambda by mu raise power n p 0. So, now at this point actually let me stop and we will now take up this thing further and try to understand how to compute call congestion probability and time congestion I will also define those two terms in the next lecture.


Did you key and a to fruit present? This week's iron MPIs from Bosch, that's right Bosch We're a little bit of a sensor streak a lot of cool sensors just came out So this week we're gonna be teaching a Bosch sensor. This is the BMP 390 which is the latest in a long generational stretch of a barometric pressure sensors from Bosch The BMP 390 is very small it's two millimeter by two millimeter. It does temperature and barometric pressure It is pin compatible with the BMP 388 So if you if you like the BMP 388 you're 388 you're gonna love the 390 So the thing that's new about the BMP 390 is It kind of improves on the accuracy and precision of the earlier BMP sensors So like, you know, basically every time every year or so, there's a new generation of BMP sensor And each time they get a little bit better at having a more precise or more accurate barometric pressure reading So for example, you know, I don't know man. This must have been like seven eight nine years ago the BMP 085 came out and That was a I squared C barometric pressure sensor that could do I think it was plus or minus a couple meters Then the BMP 180 This one Improved you can see that it's got a little bit smaller and again, I think I had like, you know a meter or so Precision Then the BMP 280 which is actually still quite popular. It's one of my most popular barometric pressure sensors And this one again, it has slightly better Accuracy and then about a year ago Was the BMP 388 which is like the last generation and one of the nice things that they added in the last couple generations is it both I squared C and SPI interface so barometric pressure sensors. What are they good for? Well, they're good for a couple things, especially the ones that are very high accuracy or precision So one thing that's really nice about them is you can use them indoor for positioning You know, it's very hard to get GPS data indoors But if all you need to know is how high something is like, you know, how far it is off the ground a very much pressure sensors You know, you don't need to have any satellites. They just use barometric pressure do it You can pair them up with a GPS a GPS will give you latitude and longitude But only within like a couple meters by adding a precision barometric pressure center You can greatly improve the altitude calculation Oh, sorry go back For accurate fitness tracking and calorie counting so you know when they know how many steps you've taken or like You know, if you're biking and they want on your altitude the higher altitude the more you have to work Of course and then in again more indoor navigation, you know, you can use like time-of-flight stuff to Determine how far you are from or like you RSSI readings to tell you how far you are from a base station But then using a barometric pressure sensor can give you altitude So how do you do the altitude calculation? Well, it's actually kind of a well-known You know mathematical calculation if you know the barometric pressure Well, actually here's the deal when you know the barometric pressure of two different altitudes You can tell how far apart those two altitudes are So like, you know as I raise something up like 10 meters I can measure the barometric pressure change and I can use it to calculate How much I moved up and down if you know the Barometric pressure at sea level, which is a commonly published piece of dating get on any weather report Like today was like 1034 hectopascals. You can then use that to calculate The sensors like absolute altitude, right? You have to have the reference altitude though. You can't just You can't just always assume what the sea pressure is so you do have to look that up But you know, especially for IoT devices that can get you know data from the internet It's a it's a commonly available number. You get that number and then you can calculate the altitude Nothing you can do with barometric pressure sensors is do weather prediction calculation You may have seen one of these that we know we having these in my home when I grew up Now they're digital, you know, of course these barometric pressure sensors But these simple barometers would translate High and low pressure into, you know, the chance of rain or sun or clouds You may also, you know watch News or you look in the paper and you see that these maps right and have like these L's and H's Floating through the sky. No, not really What these show you is where there's high pressure H and low pressure And you can even see next to the pressure like 1 0 0 9 that's low or 10 29 that's high that's in Hecto Pascals again Low pressure means air is coming in you're gonna get clouds. You're gonna get rain You're gonna get a storm high pressure means air is moving out So you're gonna have clear skies and a sunny weather you're gonna get in the winter for example So the BMP 390 thankfully Bosch has written the library to interface with it and we over the weekend We added it to our Arduino library So if you would like to try out the BMP 390 we have code that's been upgraded to now use Their new API v2, which you can also add into your Devices that their library is a kind of a pure C library You have to hook it into whatever does I squared C or SPI in your hardware So you can use it with embed or Zephyr or Raspberry Pi or whatever But we haven't already working for Arduino We even had somebody who's already like I just tried and it works great. So I know it works So I tested it and someone else tested it. All right, and you can get this on digikey digikey.com and The part numbers are they're long. So you're gonna want to use a short URL ZN to P Fn, but you could also just search for the sensor and you'll be able to find it Yeah, I available and kept taping tape in real. I think this is the only place that has them right now I picked up I picked up a couple Earlier today, so I'm gonna make him a breakout I mean they're pink and purple with a BMP 388. So the codes a little bit different, but the pinouts the same And so I put together a little demo.  How about we show the demo and then the video and then and we'll kick out Okay, so here I've got I've got just a feather and I've got an OLED display and I'm showing the temperature I'm showing the biometric pressure. So you see it's a little low That's because there's it's kind of stormy today It's a very very much a pressure in Hector Pascal's and the estimated altitude. So before we did the show I went upstairs. I looked at what is the air pressure at? Sea level in New York City and I entered it in and so yeah, it's fine It's just about like, you know 20 or so meters Above sea level and here's something cool as I raise this up. You can actually see this number increase So it can actually measure within, you know, 25 centimeters is the published accuracy, sorry, they published precision of the of the sensor. So you move it up goes from 21 to 20 22.01 or so so you can measure a couple centimeters. So great for drones as an example We need to do precision altitude calculations. All right, and they have a little video It's about a minute and a half take it away, Bosch So that's the MPI for this week and don't forget you can get that over on digikey and that is this week's ion MPI


Hi everyone, in this tutorial I'm gonna be showing you how to convert the integer number to float in Python language. So in order to convert an integer number to float, we're gonna use the float function. Inside this function, we're gonna put a number, for example 37, this number is integer and after using this function, we're gonna get 37.0, which means that we got a float point number by using this function. Also you can use this function with a variable, for example, let's say that we have a variable f which equals to 10 and again we can convert this number by using float function and now this number is float point. That's all in this tutorial, don't forget to subscribe to our channel, see you in the next tutorial, happy coding.