 So, last lecture I think what we were doing was a class network and that particular condition was for unicast condition, not for multicasting. So, in fact, after that I went back and then searched into the literature, I figured out it is still an unresolved issue, unresolved problem pending and still people have been investigating this thing, how to figure out the bounds. But I could actually sit down yesterday night and could actually figure out certain insights and from there I can actually build up a bound, but I think this can be further improved a lot and there is also classification which also has to further come in. So, my thing multicasting in multi stage interconnection switching networks is still an open area, open field which needs lot of investigation and I think the one of the best reference will be that one of the gentleman whose paper actually has been already uploaded from Taiwan, who actually has written a book only on multicast interconnection, multicast multi stage interconnection networks. So, whatever I actually have done yesterday night, so this is something new which is not there in my notes, this is a new addition and for last 8, 9 years I was actually teaching incorrectly this particular portion and no student has actually has ever told me that I am teaching it incorrect, they should have figured it out that is incorrect. So, but it just stuck to me while teaching in the previous class, this happens once in a while. So, and I always get excited when this happens. So, coming back to the same class configuration and remember it is all argumentative I am not doing any mathematics, but can be done through Paul's matrix, but Paul's matrix is not a good approach, which I also figured out while reading the paper by John Turner. There is also one paper which is also loaded inside from him, there is an alternative approach for doing this, I will just give an idea and leave it, I think you people have to do your own investigations because it is open ended research now. So, this is the situation and so far what we know is you have R 3, you have R 1, I am just keeping the same notations which I have been using, I am not using the notations which are used in the paper, they use a different notation. So, you have to be careful while you are reading the paper because you will I also got confused, you will chances are that you will also get confused, but I think some practice you will be able to appreciate that. So, N 3 outputs, M 1 inputs, R 3 switches. So, class theorem actually simply says that for a unicast connection because if you make only one connection, so M minus M 1 minus 1, in worst case these many are occupied, 1 is left out which has to be connected, this would have occupied all these lines. So, in fact, we call this thing as a unicast is a special case of multicast where fan out is 1. Now, what is the fan out f factor, this I have not introduced earlier. So, fan out actually says that what will be the total maximum size which is permitted for a multicast group, the output ports. So, because I am only permitting only one output port to be connected to input port f is equal to 1. I think I can take a case of f is equal to 2 also where only 2 output connections are permitted. Now, this f factor will actually play a role in figuring out what will be the hardware requirement. When f is equal to see all possible nodes can be connected, now you have to look at there is going to be somewhere an optimization. If I have to connect all the output ports to one port, any switch will work, any switch will work. So, far this R 3 will become equal to M 1 that is good enough. So, you have reduced this number of elements, but if you start making it 1, the extreme case on the other side is going to be M 1 plus N 3 minus 1. That is the one case when f is equal to 1. And if I take a fan out case of when f is equal to R 3 into N 3, then you require only R 2, here R 2 has to be greater than or equal to, this here R 2 will be greater than or equal to how much, any node you should be able to connect R 2 should be equal to M 1 N 3 maximum of this under this condition, which is obvious I think intuitively you can figure it out. The problem happens in between and I also do not know I am not going to do that, I am just going to give my estimate at least if you have whatever I am saying equal to or higher than that it will be strictly non blocking. Anything lower that I cannot say there is a possibility you can actually have strictly non blocking, but I do not know the proof, that again it has to be worked out. Now, I am also now going to add one more definition earlier I have only told you strictly non blocking. So, there is something called because this also term has been very extensively used and I also figured out that even for class network algorithms are available which will make it wide sense non blocking and it require less hardware, there has been again lot of proofs on that. So, I have defined strictly non blocking earlier and I think it is a good idea that if we separate out strictly non blocking for unicast and strictly non blocking for multicast, two definitions should be separate always same is true for wide sense non blocking. So, wide sense non blocking there will be certain connections which have to be done between input and output. If already some connections have been done and you want to do a new one you cannot be you may not be able to do the connection it is a blocking in that sense, but the strictly non blocking you can always make the connections without bothering about the earlier connections. But take a case when it is possible to know all I O maps and circuit is you know all connections. So, input I 1 to some output something. So, I 2 O map is known to you already and all connections are torn apart none of them are connected and you are able to invent an algorithm by which you can pick up connections in certain order and they are set up as per certain pattern. If this algorithm you can invent and if that algorithm is used you can always set up all possible I O map combinations. If that is possible that technically means you are avoiding certain switch states and switch will be always non blocking you can set up all possible permutation combinations of input to output only if you are following certain algorithm. For strictly non blocking you do not need any algorithm any kind of map which is there I O is free you can always set up the connection. But here you require an algorithm that is the only condition and rearrangeable non blocking even if you cannot build up an algorithm of this kind you might have to now decide on rearrangements that that that will not be used that will not be used. Random routing is for that that was only for finding out estimating the blocking probability here I am not I am trying to find out the characteristic of a interconnection network. So, that is why it is non blocking this I think is the good way of defining if you have an algorithm. So, I do one by one every connection and based on the connection I will choose an algorithm to set up and this algorithm will ensure it will be always non blocking. You cannot just simply pick up anything which is free and set up a connection. Rearrangeable non blocking is I think let me elaborate on this you have this some switch I am giving an example there only 4 by 4 how it is done inside do not worry about it. So, there is 1 2 3 and 4 I am giving you 4 scenarios. So, I have created some map say let me put primes 2 to 3 prime 4 to 1 prime these are the 2 connections which are already set up. Now, without bothering about without disturbing these if I can set up say any combination. So, now what is left is 1 and 3 and what is left on this side is 2 prime and 4 prime any possible combination I can take they are 2 into 2 total 4 combinations which are possible. So, it can be 1 4 if it is a unicast thing I can always set up this thing without disturbing this that is a strictly non blocking whatever way this connection has been set up this this connection also can be set up in this switch in multiple different ways with the multiple possibilities multiple switches states are there, but have I built up an algorithm when I am setting up these paths I follow that algorithm to avoid certain states of the switch. And now when this connection request comes in when I set up because I am avoiding certain switch states I will have to set up these that is a wide sense non blocking I have to follow an algorithm. Now rearing I am not doing any rearrangement when they were set up at that time I followed an algorithm which was permitting me to maintain this as strictly non blocking. Now, if I dismantle all these connections and then I can always find out a combination that all maps can be done that is a rearrangeably non blocking you can follow in less hardware wide sense non blocking requires slightly more always wide sense non blocking requires more amount of hardware than rearrangeably non blocking. But whereas as you are setting up connections you are following a certain algorithm that what we call a switch engineer's thumb rule rule of thumb is that try to push the connection towards the heavily loaded side as far as possible. If it is not possible then go to the least loaded side in the network and you will minimize on the blocking property now that is a rule which you are following. If you do not follow the rule you might end up in blocking this actually wide sense non blocking I will give an example then you will understand later on. What you are saying there is a if there is a blocking network if you look in terms of switches all switches by default set of all switches if you look in terms there will be a blocking switches within blocking there will be this is what we call blocking in the sense you cannot set up without disturbing or with disturbing it all depends on that now making event I know whether the block all blocking will get encompassed by by this no blocking is a separate set all together if there is a strictly non blocking thing with wide sense will be a small part of it ok right no not minimum I am talking about all these thing you need do not do any rearrangement you do not do any rearrangement or do a rearrangement is actually the rearrangement rearrangement of zero entities. So, this also rearrangement is not blocking in that sense you do not avoid certain states that as good as avoiding certain states. So, this also becomes subset of wide sense only thing addition thing which is coming here is avoiding certain states here you are not avoiding and here you further now you are able to do the rearrangements here you are not doing rearrangements not doing rearrangements plus doing rearrangements is equal to doing rearrangements is like this. So, in that sense I think this should be ok it has to figure out what is the current state and what new has to be set up and based on that usually the new connection when you want to set up can lead to more than one few many states. So, you have to choose one of those states which one you have to choose will be given by the algorithm. So, you have to avoid certain states. So, that you should not end up in blocking states like that is basically is the idea no it all depends on the switch design. So, once we will do it at some point for 5 states then you will appreciate that ok. So, that I will do later on once I finish up with the counter network after that it is not blocking in any switch here because this now these ports are more than this only blocking is because of interconnection. Not switches are all strictly non blocking they are cross bars or if you want to implement them we are assuming that you are recursively making them also by 3 stage network which is strictly non blocking. If you want to maintain them strictly non blocking switch and if it is a rearrangement on blocking each block should be further can be implemented by 3 stage rearrangement on blocking switch you have to ensure that. So, you can keep on doing it till you come to the fundamental element. So, it will not be 3 stages, but technically it will be more number large number of stages, but it is a cascade recursive construction we will come to that later on. So, that we can estimate the cross point complexity. So, this one is pretty simple what I did I am doing now for f fan out f is general switches this. So, I will assume this is the one input which has to go to f outputs. If all f outputs are one single switch life is very simple I have to just simply root only one and then this will do the fan out, fan out happens in third stage. Fan out also can happen in first stage because I can do a fan out here and then this can do the fan out that is also possible I am not taking that case as of now I am looking at worst case scenario. So, there m minus 1 m 1 minus 1 these are occupied only one is free which has to be rooted to somewhere. Now, these are occupied switches I require some free switch to connect to the f possibilities and f fan outs are going to happen at this point at this point at this point. So, I am assuming that f is less than r 3 f is going to be less than r 3 less than or equal to r 3. The moment f is greater than or equal to r 3 I will simply take r 3 as the fan out that is very important. So, this comes condition between minimum of the two kind of thing will come. Now, this particular switch I can assume that n 3 minus 1 are occupied and they are connecting to the middle stage switches and not overlapping with these. There is only one guy whom I have to do the fan out worst case scenario. I can keep on doing this n 3 minus 1 are occupied n 3 minus 1. So, I take only f inputs only those switches where I need to do the f fan outs f switches. So, how many these middle stage switches will be occupied f into n 3 minus 1 plus m 1 minus 1. I need one extra to whom I can just put this free connection and since only n 3 minus 1 are occupied each one of them can be connected to this free one. These are all independent remember I am taking this one this one is free not occupied any one of them. So, all the links from all of these fan out output is a switches is free to that. So, I can just root 1 here and this can do the fan out to all f's. So, only one extra will be required. So, you require plus 1. So, r 2 has to be greater than or equal to this for f multicast. So, the condition will turn out to be this that is what I am assuming in worst case scenario. Now, you can actually look into the your pulse matrix it will become far simpler. This is also I think known as this is actually theorem also comes from the graph theory from where this can be easily derived. This is fine. So, next is possibilities that my fan outs are more than r 3 worst case scenario. So, then in that case I have to actually have min of f n 3 minus 1 plus m 1 r 3 n 3 minus 1 plus m 1 r 2 has to be greater than this much minimum of these two which is obvious because when my fan out becomes more than r 3, rest everything is same. So, this will be only smaller than this when f is larger than r 3. So, you do not require more than this that is upper bound I get for multicast. I think there are better bounds which are possible. As I told you when fan out f is equal to r 3 into n 3 you require actually r 2 has to be very small r 2 has to be equal to maximum of m 1 and n 3. When f is equal to 1 it is m 1 plus n 3 minus 1 and when I am looking at some other f's these are nothing but in these two ranges f is equal to 1 and f is equal to the maximum value of r 3 n 3. You are in this two range your f cannot be anywhere else f has minimum value 1 and maximum value this. So, all intermediate value will require larger hardware which is obvious and somewhere the optimum happens. This optimum will never be greater than this which is obvious this optimum will never be greater than this. So, I have given you a bound on that. So, coming to pulse matrix 2 actually derive the same thing. So, I can forget this and do the pulse matrix I think for some of you now by this time you can figure out what is pulse matrix. So, once I you know the middle stage cross overs the stuff. So, I am doing exactly same thing in pulse matrix. What it means you have a row you have a column you know how many columns are there r 3 columns 1 2 r 3 ok 1 2 set up a connection. So, you have only m 3 minus 1 symbols this guy is going to have one output free remaining are all occupied. So, it has m 3 minus 1 symbols. So, worst case scenario and I want to do f fan out. So, there are f columns only to whom I can connect at worst case not more than that. So, we will have 1 2 3 and some f in worst case scenario each one of them will have n 3 minus 1 symbols. So, n 3 minus 1 symbols here n 3 minus 1 here n 3 minus 1 here n 3 minus 1 here all symbols put together if they are all distinct which is a worst case scenario you make some total of them and if your r 2 is more than that at least one higher than that you can find out a free symbol which can be placed everywhere because that symbol also has not been used here has not been used anywhere. So, and a symbol can repeat in multicast scenario only one extra will be required and that is how you get f into n 3 minus 1 plus m 1. Now, there is an alternative approach which is known as ordering of conflict drafts rho maximum m 1 right right it is m 1 you are right it is m 1. Now, there is an alternative approach I will just give the idea of the approach I think and I will leave it to you to do the further investigation ok. And may be sometime later I will try to explain this stuff. So, again I will be doing it for first time. So, I will kick out something from the syllabus to do this this is known as colouring of conflict drafts. So, idea is very simple I am just going to give the idea here and then when we will move over to slap and do it theorem which is for rearrangeably non-blocking ok. Now, slap and do it theorem again is only for a unicast connections not for multicast ok. So, similar I think treatment is required for multicast scenario even in that case. So, in this case the way it is done I am just going to take a very simple example. So, these are 2 keep it 3. So, there are 4 outputs in this case and I think let me keep it 4 because all switches then these will be 4 by 4 switches ok. So, what will be the minimum number of required switches in the middle stage for a spin on blocking I am not bothered about it as of now I am looking at the conflict graphs ok. I am looking at a giving you the philosophy how it is going to work. So, pulse matrix also is nothing, but a graph theoretic approach because you can see in pulse matrix they are rows and columns and I am putting something. So, the middle stage switch is nothing, but a link that is what I am doing. So, when I am saying that one is connected to 2 I am now looking at an edge this edge which is defined is the middle stage switch. So, I can connect I can actually say this edge as a there is a vertical graph inversion which actually can be done. So, I can see this edge as a node and these as a the switches not the basically the input ports these are the switch numbers in the input stage ok. So, for this case for example, if I set up the connection this way only this much connection is there how to set up this graph. So, in this case these are the edges which are there. So, 1 to 1 this particular switch I am passing a route through 1. Similarly, when I am passing a route through 2 there will be another edge actually here. Now, since the edges nodes are common I cannot use same color here I cannot use same color. Number of edges which can emanate is actually equal to the number of input ports which are there and number of output ports which are there that is a degree of the nodes. You have to ensure when 2 nodes are sharing something they have to have. So, 1 to 1 there is nothing here right right it has to 1 to 2 this will be this will be 3. Now, there is I think is a problem here I am making some mistake somewhere in this case ok. So, I think let us because multicast will come back again anyways at that time I will take care of this we can skip this particular part. So, when doing multicast I will come back to this. So, let us move to the our regular stuff the slap and do the theorem the next one. So, I think because of the same conditions it is only true for unicast connections. So, in this case the statement is a 3 stage closed network is a rearrangeably known blocking if n only if r 2 is greater than maximum of m 1 and n 3 that is a condition in particular a symmetric network with m 1 is equal to n 3 is equal to n is a rearrangeably known blocking if n only if r 2 is greater than or equal to n which actually is nothing, but from here we just put m 1 is equal to n 3 is equal to n and this is what will be true written in different form that is the only thing. Now, we have to prove it actually this will also tell us how you do the rearrangements. So, we will start with the proof. So, first condition we have to prove is when establishing a connection between switch a input stage switch a and output switch b r 2 is greater than or equal to maximum of m 1 n 3 either then there are two conditions which are possible. The first one is a symbol is there not found in as well as column b what I actually implies these are rows and columns in the pulse matrix I want to set up a connection between them and I have to prove if this condition is satisfied either I will get when I will look into this look at all the elements here look at all the elements here at most there will be r 2 elements I will be able to find out an element which can be put here that is one possibility, but this may not be true. So, this is not true then what will happen. So, either is this or is the next condition or says there exist now this is important because once I am able to prove this I can do the rearrangements this gives that idea or and we have to prove this always happens this is always true there exist a symbol c in row in row a which is not found in column b and I think remaining stuff I can write here further it continues from here on that side and a symbol in column b which is not found in row a what actually means is either you will be able to find out the element which is not here as well as not here you can put that if that is not true it actually means all elements you take here all elements you take here you make a union of all these elements all elements are consumed there is no free element that is what if the free element would have been there after combining these that you would have put here that is the case 1 case 2 can only happen if you take all the elements here and all the elements here put all of them together in one basket all elements are consumed there is no free element which can be put here and if that happens you will always find out an element which is missing here but which is present in the column so that is what I am saying there exist a symbol c in the row a there is existing some symbol c here and this c is not present in column b and also correspondingly there will be another symbol d which will be existing which is there somewhere in the column but which is not present in the row you can always that actually means you can always find out a pair you can always find out a pair now proof for this is going to be very simple once if I am able to prove it I can then as a consequence prove that I can make the rearrangement and new connection can always be set up so this actually means so now let us go to the proof so for case 2 r 2 symbols must be found in fact it should be must must be found in row and column together if first is not true and since what is happening you are having a switch how many of the input ports are busy m 1 minus 1 so there is one which is available one port and how many symbols are there in total r 2 symbols ok and this actually means because of this condition that only m 1 minus 1 this actually means since r 2 is greater than m 1 minus 1 it has to be r 2 is either equal to m 1 when m 1 is equal to n 1 ok so it has to be always greater than m 1 minus 1 otherwise the switch itself will be become blocking ok so for rearrangement on blocking this has to be true so once this is true there are at most m 1 minus 1 symbols in row only m 1 minus 1 symbols are there and r 2 is greater than this where has to be some symbol which is not present in the row but when you are combining row and column you are consuming all r 2 symbols so that symbol should be present in the column ok so my first statement sorry this first statement this is about symbol d which exist in column b and not found in row is true look at from the output side there n 3 so n 3 minus 1 must be occupied so 1 is free which you want to connect same rationally that r 2 is using same principle I call it using symmetric argument so this actually in here you can write there must be a D in column B which is not present in row A and using symmetric argument there must be a C in row A which is not present in column B so one of the two conditions will always be true we have proven it a very simple argument gives it ok so once this is there I can now figure out a what we call rearrangement procedure if case 1 is true you can find out an element neither in row and nor in column place that here and you can set up the connection if there is some element of that kind exist I can set up the connection if that is not true I can always find out a C and a D pair second condition will always be true ok one of the two always has to happen so first case is straight forward second case you will find out a pair look into this row can a D repeat can a C be here actually now I can always find out a C in worst case if C is not there for example in this column there is no C very nice I can always replace this C here and D here C was not there in the column so I can always use that I can do the rearrangement but if I do the C that two C's cannot be there in a row so what we will do is we will not do the replacement first we will find out D we will search for C here we will search for C somewhere if C is there if C is not available my search stops if you can find out a C I can find out search in the whole column whether there is a D available there somewhere or not if now you look into this row now one of the important thing when you are going to search for this column you cannot find a C here C cannot repeat in a column the valid pulse matrix condition C cannot be here so you will never come to this column back again when you have search you have come here D you are searching we will be searching a new column this column will be excluded this column will be excluded when you search for a D you cannot search for this row because D was not present here ok and D is already here so D cannot be there you cannot come back to any other older searched row that is not possible actually ok so now once you come to D and you will again search for C this column is avoided this column is avoided you will find out somewhere here another C you will search now in this column for a D ok you will find out a D D cannot be here it is a unicast connection I am not looking at a multicast scenario I am looking at a unicast scenario ok so it means D can I will not be coming here I will be doing search somewhere here and I will keep on doing search and search will stop that is guaranteed every time I am visiting a row or column that is excluded from the search and maximum rows and columns are you forget this and this is R 1 plus R 3 minus 2 these are the new columns which will be there rows and columns first case only those many searches will be required in fact it will be even lesser than this I will tell you how that will be done ok so once this is there and at some point you will stop you cannot find well you have found D there is no C here so you stop at this point now what has to be done replace this by C this by D this by C this by D this by C and put the D here you can set up a connection this is a rearrangement this is a rearrangement which has been done now I think on graph it is fine but let me show you what on a switch that is the best way of doing it ok so are you able to appreciate this no not clear ok so conditions are ok the text thing which I have done that when R 2 is greater than or equal to maximum of m 1 and n 3 maximum of these two so first condition is I should be able to when this condition is satisfied I should be able to get an element which is not there in row A and column B if that is there I will just put that element and set up the connection if that is not true I can find out two element pair C and D for example here so if C is in the row it will not be in the column and corresponding D should be in the column and it will not be in the row. Now why that happens is because R 2 symbols must be there taking rows and column together and row cannot contain more than m 1 minus 1 symbols and my condition is it is maximum of m 1 and n 3 there is one additional symbol which is not present there which is D now if you look at the column similarly column will have n 3 minus 1 symbols but together I am already consuming all R 2 symbols and my R 2 is again greater than maximum of m 1 and n 3 so there has to be a symbol C which is not in the column but it is in the row so I can find out C and D pair so I found out this C and D pair ok so usually is if I what I can do is I can just use replace this C by D because C is not used here so I can use that C for this connection so whatever connection being done by this D can be now made through a C and I can put a D here to set up the connection between A and B that is a rearrangement but the problem is this row itself might be having somewhere another C so what will happen to that that C was already used for that connection ok so I will replace this by D because D was already used here so C certainly has become D has become free D has been freed up by assigning this connection to C ok so I can do this but then there can be a D here so I am now starting swapping the connections I am doing rearrangements I can keep on doing it till I stop and I have proven that every time when I am going I am trying to find out the corresponding element so if I am here C in the row I am searching for a D if there is a D I am in the column searching for a C I am always going to a new row or new column so in worst case I will require these many searches how we get this ok let me do it again so at least till this point you agree C and D pair ok so what we have to do is I have to just use this put a C here and put D here that would have made the rearrangement but I cannot do that all the time I can only use C here if it has already not been used in this corresponding row C can only be placed D can only be replaced by C if C has not been used there so I will search for the C if it has been used I have to take care of that C first because C cannot happen twice it has to only happen once if the C would not have been there in this row I just life would have been very simple C here and D here but that is not happening so the D is here so I will search for C I will first of all have to handle this C so what I can do is I can now search for the column find out if there is another D so what I will do is I will replace this C by a D this by C and I can then put a D here and this by a C because then in this case this row should not have another C so best is you actually now search for all these cross elements D you will search for a C you will never visit this particular column this is excluded C cannot happen twice in a column ok I am now visiting this particular column when I am now searching for a row I cannot visit this row because D was not present here I cannot visit this row because D is already there I will be visiting some other row say here I will search for a C I cannot come here I cannot come here this is already having a C so I might be getting somewhere here for example a C I will now search I will keep on doing it how many times every time I am ending up in either a new row or new column I cannot revisit the older rows or in older columns in fact somebody who is smart enough will figure out this is incorrect by this time no I will actually ok you will think what will be the correct value this is not the correct value you think you I will I will come back to this this value is not correct ok this value is not correct no no no ok I will write you think how this comes in fact this is also incorrect there is still better value but anyway at least you should be able to get from here to here I am only doing searching in the one I am actually searching a chain remember I am doing a chain search ok and chain will finish when either either I will complete all rows or all columns so whichever is the minimum I will do only those many so that is why 2 into one row one column one row one column that is how I am doing the search if number of rows are less I will finish first so I am taking minimum of those 2 and multiplied by 2 this will actually become equal to this when R 1 is equal to R 3 symmetric case but actually this should be modified to this but this also is the incorrect result no I got this so only one row has been done when I am coming here I am searching a column not the row so 2 elements have been done in one row then I am doing next row 2 elements even done in this row so when you look at the number of rows every time 2 has been searched 2 elements if the number of rows are less I will finish up the rows all the rows then I will stop this one is not included and there is a final one which also also will not be included actually somewhere you will stop so it will become minus 2 because of that so idea here is one row one column sorry number of rows number of columns minus 2 one is this and one is this but I think more exact value will be this ok but I let me come back to how you will do the rearrange search the chain chain will stop at some point replace all C's by D and all D's by C in the chain your D will get freed up and put that here to set up the connection ok now regarding how you will do number of searches which are required this is known as Paul's theorem I think becomes a theorem here and it is argument which is the proof or you can write it formally does not matter so I will use two colors here to actually identify now what we will do is we will do slightly something smarter so there is a D here what I will do is I will start with D and find out if there is a C I could find out a C now I would not search here I will search here find out a D I got a D alternatively I am extending the chains once this then this then this then this so next I will find out a D now I cannot visit this particular column row it has to be something else so it is here ok then this will find out a C can I visit this column no then I will search for a C I cannot visit this column I cannot visit this I will be visiting somewhere here ok so now I am trying to cover up when I will stop if R 1 is less R 1 R 3 so if R 1 is less I will stop at R 3 minus 1 searches ok so what I will require is minimum of R 1 R 3 minus 1 this is the exact value and that is what is simply the Paul's theorem Paul's theorem is says that if that condition is satisfied you will require only these many at post these many rearrangements to set up a connection so you have come from here to here and here to here but this comes from a double chain search alternative search so one of the chain will finish first in worst case scenario this will be doing only these many changes will be required rearrangements this is known as Paul's theorem in the text slip and duvet theorem that is a part of slip and duvet theorem double this chain is Paul's theorem that is his invention so I think this finishes up with the slip and duvet theorem and Paul's theorem and the next lecture we will now go to recursive construction of rearranging non-blocking switches clause network as well as structuring on blocking clause network both and we will try to estimate what is known as cross point complexity of recursively constructed switches which will be better than O and this power 3 by 2 so that is the best which we got for a clause thing if you remember earlier we will get something better than this actually by recursive construction so that is the part which I will be covering in the next lecture.