 So, in the previous lecture, we were looking at the cross point complexity of a strict non-blocking network. So, what we did was, we actually have taken n is equal to p by q kind of expression and we have got I think q and 2 q minus 1, that was the dimension in which every input switch actually was designed in that fashion and total p number of switches were there and then there were middle stage switches each one of these switches is a p by p configuration and there were 1 and 2 q minus 1 switches in the middle stage and symmetrically there was a output side switches were also there. So, there were q outputs of q ports from coming from each port and their number was again the p and what we did was the way it has been derived that p is equal to q is taken as root of n and p into q will be n, that was the condition I think with which we are trying to build up the cross point number of cross points which are going to be there in the strict non-blocking switch and we are trying to build up a recursive construction. Next step what I did was I took this switch which was having q inputs 2 q minus 1 outputs I said this can be equivalently represented by a q by q switches. So, number of outputs will be now q plus q if you put them together these are 2 q. So, not 2 q minus 1, but 2 q I can equivalently represent this thing by this. This also means the middle stage switch now there will be a modification you will get 2 q here we will also get number 2 q switching, LEMI switching, boxes are switching elements are also going to that middle stage each one of them now can be equivalently represented by 2 q by q switches. So, in turn what is the total number of switches which will be requiring for a total number of cross points if I want to compute. So, this is number of the way I said the cross points in 2 raise power n that is the way n was defined and I had also taken that n is 2 raise power l that l belongs to an integer or I can call it a natural number it is 1 2 3 4 5 it cannot be negative. So, I can very well write it as a natural thing with these conditions. So, why we are computing f raise to 2 to the power m of 2 raise to power n what we have to realize we started with under root n cross n block switch why we want to realize n cross n. Because for this I will be able to solve the cross point this expression for the number of cross points I am just building up a recursive relation. That is true that recursive relation with the basic building law that will be terminating point any recursion we solve some of the basic condition and for the general purpose n, any function of basic function. See ultimately I should be able to reach to f 2 f 2 cannot be split any further idea is that. So, f the 2 by 2 switching block has to be a what we call the basic building block I am just creating the whole switch with nothing but 2 by 2 switches which is a basic element which we have also done for rearrangeably non blocking. So, in that case number of cross points required in a for a 2 by 2 is 4. So, for example what we did for rearrangeably non blocking I said 2 log 2 n minus 1 those 9 number of stages will be there each stage will contain n by 2 2 by 2 switching elements. So, this is the total number of switching elements required for a still rearrangeably non blocking switch and each switch will require only 4. So, this total number of cross points required in a rearrangeably non blocking switch what we get from flipping to a theorem, but this was on the condition that n is 2 raise power something. Otherwise I could not have come to this condition there will be some f 3 or something there will be some constant which ultimately come, but this will be more or less true for all cases this log 2 comes because of that, but we know it is going to be logarithmic what will be base that will be different. I can do also 3 by 3 I cannot I need not always do 2 by 2. So, while creating reconstruct what we call recursive construction of a rearrangeably non blocking switch I was every time dividing by 2 I started with 2 by 2 basic element I can do it with 3 by 3 also. So, maybe you will have log of base 3 something n in that case and you will have f of 3 which will be 9 which is a constant n by 3 does not these constants does not matter this will become n by 3 this will become 9 log 3 n this is a constant minus 1 you can forget it will be n log n that will be the complexity. So, it does not matter. So, what log base log you take does not matter actually I think same is also true here I am anyway solving for 2 by 2 here, but expressions will come out to be same, but this way it is simpler. So, what we will have is we I think reached at this point at f of n. So, n is 2 restore n actually small n will be I will be requiring p number of elements and p is 2 restore n by 2. So, in total 2 p q by 2 q switching elements and q is has been taken as root of n. So, I will require here how it is 2 of p because here the inputs number of switches is p this one no in the input stage input stage it is p switches. So, one is coming from in this switch one output port coming from each one of them. So, there will be p inputs that is that in calculations this 2 into 2 power n by 2 that how is that 2 factor coming I am coming to that. So, there are how many 2 restore n by 2 switching elements now each q by 2 q switch is implemented in this fashion. So, I require twice of them. So, total number of elements which I require is 2 p here which is nothing, but these many elements of size q by q q actually q by q is this basic element q also happen to be 2 restore n by 2. So, you require these many number of elements basic element sizes 2 restore n by 2 by 2 restore n by 2. Here how many elements will be required you require 2 q elements each one of them p by p type this is nothing, but p by p only. So, again you require 2 into 2 restore n by 2 even in this stage. Similarly, on this stage because this you just take the mirror image of this 2 q inputs and q outputs I can also implement the same switch. Sir, is there any particular advantage of implementing the switch like that? This one actually I require this switch I require q input ports and q q minus 1 outgoing ports and it has to be strictly non blocking that is the only condition. I am trying to do is I am trying to remove one I am trying to duplicate. So, to everything what I require is basic building block is this just by using this I can create a strictly non blocking switch of n by n 2 restore n by 2 restore n. So, I can build up a recursion formula actually it was done for that purpose. So, in turn 2 here 2 into 2 restore n by 2 2 into 2 restore n by 2 same here I require in total 6 and the switch which I require is 2 restore n by 2 by 2 restore n by 2 this box which I have drawn. So, I can write the cross point complexity of this as this. So, I have got the recursive relation now this relation is true I can very well write this also same recursion holds I can keep on doing it iteratively a large number of times I am just completing it. So, that now this is going to 4 n by 2 n every time the power itself is also going that is why I have written 2 restore l n is equal to 2 restore l where l goes as an integer that is the reason why it has been done that. So, I can keep on putting up the values taking from the lower 1 to the upper 1 and so on ultimately what you will get is a series. So, how much value this is 2 rest power 0 is 2 rest power l minus 1 2 rest power l is n. So, 6 rest power l see n by 2 is this 1 is 2 rest power 0 total l terms have to be there. So, I am counting the terms based on this index 1 2 something. So, there has to be l term that is why 6 rest power l has to be there. So, that is the way you can remember how many terms otherwise it becomes difficult for something. So, need not remember it you can derive it from here and f of 2 is 4 does not matter whatever be like this is a constant some constant k. So, 6 rest power l whatever is the series what is the value of this. So, it is 1 which is 2 rest power 0 2 rest power 1 2 is square. So, I am talking about whatever is the this particular series and this is nothing but geometric progression you can very well find out the sum. So, first value whatever is the ratio 2 total number of terms minus 1 2 minus 1 2 rest power l minus 1 2 rest power l is nothing but n n minus 1. So, this will be this value is nothing but and 2 rest power n is nothing but capital N the size 6 rest power l has to be now sorted out. So, this is how much. So, everybody knows by basic elementary mathematics. So, 6 rest power l is l log 2 6 I can very well write this is this 2 rest power l whole rest power log 2 of 6 2 rest power l is how much this n and from here n is nothing but log 2 of capital N. So, I can write here. So, in turn our log 2 of 6 is 2.58. So, you will get n by 2 log 2 of n 2.58 whatever is f 2 is a constant. So, your cross point complexity is for a recursively non-blocking switch. So, now let us go back and recall what we did so far. So, there is a non recursively built strictly non-blocking. What was the cross point complexity? When we went for recursively built rearrangeably non-blocking I got this and when it is recursively built strictly non-blocking 2.58 and of course, now the question arises can I have still something better than this or not because I just made an estimate whatever I am going to compute cross point complexity cannot be worse than this. I can still find out something which is better than this at least it gives us a bound. So, can I build up something which is strictly non-blocking and have better complexity than this. So, that is a next question and of course, this again was answered by Cantor C A and T U R and he came up with the idea of Cantor network. Now, this also leads to a fundamental method by which you can make almost any switches non-blocking or rearrangeably non-blocking. I have actually mentioned this fact many times. So, I will just state the same fact here and then we will move ahead. So, idea is this I have a switch it is now connecting to many other switches actually in the middle stage. So far, these ports are higher than this or these ports are higher than this both these conditions have to be satisfied blocking can only happen because of the interconnection. So, it is possible if I keep on expanding on these intermediate stuff keep on adding more and more at some point I will become strictly non-blocking. So, Cantor actually take up the same idea ultimately, but he could build up the proof that was the thing. What he said? I can actually have what it did he took a rearrangeable non-blocking network, but he was not using any rearrangements. He used something called Benz network and many of them and for any every input he started using something called demultiple actually it is not a is a switch 1 by n switch. So, one port is connecting here and one port connecting here for every input port it has that. So, what is actually happening is earlier if it is only a rearrangeable non-blocking switch I require only one single Benz network. This is again basically 2 by 2 basic elements 2 log 2 and minus 1 stages and connection is the way we build up the recursive just rearrangeable non-blocking switch is same block. So, if I do not use these demults all input ports are only directed to here and they are also again directed to in same fashion here. So, forget everything else. So, all these inputs are directed here and they are directed here it is a rearrangeable non-blocking switch because this can be rearranged always to set up the connection and that is Benz network if basic element is 2 by 2 and the total 2 log 2 n minus 1 switches stages actually. So, what it is he kept on using this multiplexers now remember their complexity of these multiplexers is clearly decided by number of ports here and number of these switching elements multiplication of these two nothing more than that. He said if I keep on increasing this number at some point of time when this number is going to reach to a certain threshold I should be able to set up a path without disturbing any earlier connection. It should be possible all the time. So, the whole theory is whatever he did was he just find out what is the value of this m, name value of m required. So, that you can always set up the path without disturbing earlier one. So, there is no rearrangements and once you know you can find out the complexity of all these switching elements. So, 1 by m switch 1 by m switch m by 1 m by 1 and total answers switches actually and use that the complexity of these will be lower and complexity of these will be higher for this already complexes o n log 2 n for this the complexes n into some this particular factor multiplied by 2 by 2 if you take this one also consideration. Complexity of these switching elements will be always lower than this. So, this is what will decide and ultimately what he did is he proved that m when m will take a value of log 2 n that time this particular network will become strictly non-blocking. And how this log 2 m comes I will tell, but when m reaches log 2 n the switch will be strictly non-blocking. That was the cantors contribution and once this condition is there your complexity is n log 2 n for this one. This is a complexity because of the middle stage elements complexity because of this n log 2 n for these elements and this will done 2 times this lower order than this. So, I can neglect whenever I am computing complexity. So, ultimately you will end up in getting a complexity which is this. How the square thinking because the Baynes network is n log n. Baynes network is n log 2 n and number of switching elements number of Baynes network m is log 2 n to multiply by that. So, it is not log 2 n is for 2.58, but log 2 n square that is a bound now for a strictly non-blocking switch. We still do not know whether a bound can be still further reduced. Can it be 1.8? Maybe, but nobody knows, but the bound is certainly not more than 2. It is currently 2 n log 2 n square. And for re-enactment it is n log 2 n where power is 1 actually log 2 n power 1. So, somewhere in between actually the best possible value will exist, but currently known best possible value is 2. Yeah, it is for unicasting not for multicasting that is it is only for unicasting. I think that is true for whatever we have done. So, far we have not taken any case for multicasting. Multicasting the problem is a tricky actually. And as I was mentioning once that you can actually use graph theory basic principles to do that. So, one way for example, if I am looking for Claus network or the Paul's matrix, I was trying to mention that if you look at the input switch as a node, output switch as a node. So, these are bipartite graph. So, these are the input nodes, these are the output nodes. I can set up a connection between them. I am creating a link. So, link can be there between these. I can create a link here, I can create a link here, but total number of links which can emanate from a switch that has to be controlled. So, each one of them has to follow a different middle stage switch. So, what I have to ensure is if I start coloring these links itself. I have to ensure that at any edge, at any node, all the links which are emanating from a common node has to have different colors. They have to use different middle stage switches. Same has to be true here. And total number of colors which are required to do the coloring of edges, what is the minimum value required actually. So, if you can prove that, that number will tell you what how many middle stage switches are required. If I can put say color x here and same color can be used here. I can use same middle stage switch. That is what it means actually. But between these two, I cannot use same color because there is a, they actually have a common node. They cannot have same color. They have to have different color. They have to be routed to different middle stage switches. So, find out the minimum number of colors. And that I think theorem is known as Hall's theorem in case of graph theory. But what, the way we have done it is a slip and duvet theorem. But technically results are same for a rearrangeable non-blocking switch. So, coloring problem actually you can convert it to a edge coloring. This is not a node coloring. This is a edge coloring problem. And from there you can actually solve, find out the connections. But anyway, since we have already done through slip and duvet, I am fine with this. Even for multicasting, this will be true. That is multicasting cannot be handled by this edge coloring. This is done to a node coloring problem. So, what happens is a connection itself. So, a connection between this node and this node, this connection is counted as a node. And if two nodes, one particular connection, one two and then the similar connection is there, two, three connection is there. If they have a conflict, so I represent this thing by a node and this connection has a conflict, so I create a link. So, for one particular connection, all the connections which can have conflict with this will be the neighbors actually. Any node which is not the neighbor, this does not have a conflict with this. And then I can design what you call node coloring problem. No two neighboring nodes should have the same color because they are having conflict with each other when a connection is going to be set up. So, this is in a different domain. That is what actually is going to be used for multicasting resolution, how to set up the paths for multicasting. So, coming back to the canter network, how to prove this. So, I have given the result. Now, let us start proving it. So, we have to understand what is the Bain's network first. I will just draw that, each one of us know. So, I have taken a 8 by 8 Bain's network. So, same thing will repeat. I am assuming that you can visualize the same drawing repeated multiple times. That is what is a Bain's network. So, this box is that. So, this guy can connect to. So, we call this as a first stage all across all the Bain's networks. So, how many nodes it can reach? Compute that. So, their total m nodes and switching stages, it can reach one here, second here, third here, mth here. So, in the first stage, the nodes which can be reached by an input is m. It does not matter whether connection has been set up or not, but I can always set up a path till this particular switching element or this switching element, this switching element because if this is not connected, all these lines are free. Once these are free, I can always set up a path till that particular node at least. From first to second stage, now I will come. Now, if this you look at this particular switch, this also has second input here. In worst case, now all these second inputs and all these switching elements 1 to m, all of them will be connected to the second input here. Worst case scenario, it suppose a already path has been set up for this second guy. So, this path will be either connecting this first one here or first one here or first one here and this has to be routed to the second stage. So, it can either take this or this or in the next one, the same first second element lines or in the last one, first and second only one of them can be taken, all of them cannot be. So, this input should be able to reach how many nodes in the second stage twice of this number, because I am able to go to m first stage switching elements twice of that minus 1 which has been occupied by the second incoming port. So, a 2 which I can reach is 2 of a 1 minus 1. So, this similarly now it reaches to a 2 number of switching elements, all these switching elements are able to further now reach to how many twice of a 2, but all those elements the second stage here for example, is able to reach from here, is able to come even from here sorry from two more sorry this one and this one. So, these two also in every one of them will be able to reach these in buskers scenario, these also have been set up already. So, actually which is the number of elements in the third stage to whom it can reach is 2 a 2 minus 2. If you go to a 4 similarly unfortunately I have not drawn that bigger diagram, because goes 1, 2 and third stage is this and that is the last stage. So, I need to only go to log 2 n stage actually not any further. So, if it is a larger dimensional a 4 will exist. So, a 4 will be twice of a 3 minus how many 2 square it is 2 1 it is 2 raise power 0. In general our expression will be a k twice of a raise power k minus 1 minus 2 k minus 2. This k cannot be larger than log 2 n, this k cannot be larger than log 2 n that is a maximum you can have from the input side. So, depending on whatever with the value of m these many nodes switching elements I should be able to reach. So, once you understand you actually have cleared a big hurdle, this is only that tricky part one of the trickiest part. So, let me do it here I am able to reach here second element and m th element I am not drawing I am not drawing any extra newest thing only whatever I can reach. So, m nodes I am able to reach what I have written a 1. Now, this can reach here and here sorry some middle one in the second stage twice of these. So, I have written 2 into a 1, but this input this is also there coming second port. I am assuming in first case the second particular input port is already connected. So, if it is connected it cannot be routed in any other fashion it has to use one of these which is has to be consumed in that either it is connected from here to here, here to here or may be through this one to this any one of these. So, suppose this is gone it is already consumed, because this path has was already taken. So, how many are left 2 a 1 minus 1 next stage same thing can happen with other switch also same thing can happen with other block also this one also, but you can only set up one path this is a switch. So, I have already taken this path sorry for the first one I have already taken this particular this is from second one actually. If this is already been taken I would not be connecting through this switch that can be only one path unicast either I can set it through this through this or through this there are many alternate paths only one of them can be consumed. If I am already path has been set up through this route only this will get consumed. So, only one node can get consumed. So, next one again you will do this will not expand this has already been consumed remember. So, in the third stage is 2 times the a 2 these many will be coming, but these nodes can also be reached by some other route also something like this will be happening. So, these 2 elements are there which can also get can be reached can be reached can be reached to these particular nodes. In first case those 2 ports are also occupied. So, 2 nodes will be gone in that case. So, for example, this is gone and this is gone this possible. Sir, but then if there are other nodes then we could have considered those nodes also in the second stage. No, these 2 other ports cannot reach any other port see you have to understand this can in first stage can only reach here. In second stage this input port can only reach here and here cannot reach at these 2. In the third stage only they will reach to everywhere and if I already consumed for example, this particular switch for a path I cannot reach here those are any excluded. So, every time there is a fresh input port which will reach here and this will ensure that there is no conflict with the earlier allotments. So, I am just doing doubling and minus this. So, general expression is going to be this only you have to carefully sit down and think about it actually, but that is the only way you can understand because unless you have a very big diagram and you start actually doing calculation start counting you would not be able to appreciate. So, you actually can draw a 32 by 32 bench network then you can very well understand that. So, try doing a larger bench network and try to study them then you will appreciate what I am saying and the only thing is very which is important is this port through this switch can go to here, here and here, but only one of the path will get consumed. I am assuming whatever was the scenario that path has been set up by somebody already. So, what is not there available to me? I am trying to look at that and everybody every path has been set up except the one which I am trying only one input is free and one output is free that is the case which we are considering. So, in worst case scenario the middle stage switch a log 2 n. So, how many free nodes I how many nodes I should be able to reach in the middle stage that is the question. So, that will be a log 2 n. So, put the values here this is a recursive relation again. So, if you start solving this recursive relation I can do that actually from here. So, a k twice of a k minus 1. So, I can now put two whatever is the value of a k minus 1 this will be this in turn will be if we keep on doing recursively keep on solving you will end up in getting 2 raise power a minus 1 a 1 sum of these two is always equal to k you have to understand I am doing that same thing from there you can verify. This is just every time I am increasing the number. So, this will be base counting basically it is going to count keep on counting because 2 multiplies and normalizes the exponent. So, it always will be k minus 2. So, this is what should be your relation at the end. So, using this what is a log 2 n a 1 is m I have already given that constant a log 2 n is this m minus and this is nothing but k. So, log 2 n minus 1 log 2 n minus 1 log 2 n minus 2 I just replace k by log 2 n and this value is n by 2 m minus this fine. So, these many nodes I can reach from the left side or the input side my switch is completely symmetric construction wise. So, if I look at the incoming port or the sorry outgoing port from there I go backward to the middle stage. So, from each outgoing port I should be able to reach to these many same number of elements in the middle stage free free actually elements in the middle stage. These are free elements which I am counting in worst case. And how many middle elements are there their total m bands network each bands network will have n by 2 middle stage elements total number of middle stage elements is n m by 2. So, which actually implies if I say 2 of a log 2 n. So, number of elements which I can reach from the input port number of elements which I can reach from output port I sum all these elements free elements which is nothing but 2 a log 2 n if this value is greater than n m by 2 means what this is like from this input I am able to reach to these particular ports from these I am able to reach to these particular free ports total number of ports is already known to me which is n m by 2. So, total number of free reachable ports and total number of free reachable ports if it is more there is there are ports available in the middle which are common which are reachable from left side as well from right side there is some common free port free middle stage switching elements which are available that is the meaning. So, for example, I can take a very simple thing and explain this. For example, I have only 4 middle stage elements this in general sense I am able to reach to only one free and from here also one free. So, these 3 input lines are not free these 3 outputs are not free I cannot set up the connection. So, 1 plus 1 is less than 4 I make it 2 for example, I can reach here I can be here. So, I cannot set up the connection I can reach 2 from left side 2 from right side which is equal to middle stage elements this is a worst case scenario. But suppose I can reach 3 from this side and 3 from this side and there are only 4 middle stage elements then you try all combinations you will find out there is going to be some middle stage elements which are reachable from both sides for all possible scenarios. And if I can find this I can use this to set up the path. So, my switch is a strictly non-blocking I am able to set up the connection without disturbing any of your connection. So, once you solve it you will get just place whatever I have done here in this case this will be n m by 2 minus n by 4 log 2 n minus n by 4 yes that I have not done. So, this 2 I can take this will be n m. So, this n m by 2 can be substituted. So, I can remove this thing and this will be. Sir, it will not cancel out. Oh it cannot cancel out it cannot cancel out. In your pencil you have been denominated. Oh right it will become 4 n m by 4 n m I think that is the way it has to be sorry. So, I can remove this particular thing and this will become 4 and this whole thing I can take on the right side. So, here n will cancel 4 will cancel. So, m has to be greater than I think I have missed out something. So, this has to be minus n. So, m has to be greater than log 2 n minus 1 which technically implies that m is greater than or equal to log 2 n. If this condition is satisfied I can always find out some free element in the middle stage which can be reached from both sides. And this can be used to set up the connection and thus the switch is strictly non blocking. And so cross point complexity in this case will be you have n d multiplexer switches and they are one by log 2 n each one of them. So, they require log 2 n cross bars. They are n log 2 n complexity in the d multiplexer side multiplexer side also same twice plus the middle stage is going to be n log 2 n log 2 n such base network. So, all with your cross point complexity is n log 2 n square and that is what is the cantor network. So, with that I think we finish today and next class tomorrow we will be looking into one of the examples of what we call wide sense non blocking system. Where you actually start using an algorithm if you use a proper algorithm switch will always remain in non blocking state it will never be in the blocking state. But if you do not have not careful you just choose anything absurdly you might end up in a blocking state. In this case irrespective of algorithm you can always you will are always in non blocking state. So, far that is what we have done. So, wide sense non blocking example we will do tomorrow. The same example the middle stage how many elements are there middle stages is n m by 2. So, what I can reach from this side and what I can reach from this side some of these number of situation number of 2 by 2 will be n m by 2. Number 2 by 2 elements each base network will have n by 2 and they are such m bands element. Can you do it otherwise I mean only half is less than n m by 2. Half. I mean in the sense the maximum number of networks what you called earlier from maximum number of middle stage switches which I can either from the input side or from the output side has to be symmetrical. Yeah. So, I just double that. In case you do not double it will you get the same relation? No, without doubling you cannot. See reachability from this side and reachability from this side total sum if it is greater than whatever is available there is something which has been counted more than one times which is common. I am trying to just prove that there is some common element in the middle stage which is free. And if I can reach to that point from here this side I can reach from here to this side there is a path available and I can always use that to set up the connection. This is a reachability analysis technically. I am trying to analyze the reachability. It is n by 2 is coming from. Banes network. Banes network you remember that. So, this is 8 by 8 network. Basically it is what I decided to do it is a recursive construction of. There is no there is no recursion here. Middle stage is a recursively constructed. It is a Banes network. Banes gave the configuration network is known as Banes network. You can also do it through recursive construction of using 2 by 2 elements not 3 by 2 anywhere. It is only through 2 by 2. For a specification only it is a Banes network.