© Distribution of this video is restricted by its owner
Transcript ×
Auto highlight
Font-size
00:00 Uh huh. Okay, yes. that composition is it says here

00:07 So the idea is basically for clusters you use the collection of notice solve

00:15 problem. So that means using this compute role, where most of the

00:24 associated with data is done on the where the recites and there is a

00:30 amount off data that may be needed the computation locally, that is elsewhere

00:38 the system. So this is basically of today how you than distribute or

00:50 what goes swear. And then another is, where does it go,

00:56 ? So it is kind off. methods has been out there that I

01:01 talk about today and yeah, I not even managed to get to the

01:06 of the list today. And then will continue with a few more

01:10 Um, next time so I'll start giving a bit of examples. And

01:18 mostly coming from ah, sign and application because that's sitting again. That

01:26 the whole process in terms off both clusters. Andi the type of problems

01:33 from them had today there is in larger type, problems done in relation

01:43 social networks that are not engineering type , as well as many other type

01:51 Internet computing type problems that I was to mention and talk a little bit

01:59 next time. Today, it's more less following the evolution of how this

02:06 structure petitioning mhm has been the methods they have pin interrupt. So it's

02:16 goals is one way to get a balance in some form, and that's

02:26 points out on the slides. There's two aspect is one is memory

02:31 So yeah, ideas get roughly about same amount of data on each one

02:38 the notes in a computing system and then hopefully balance the computation effort on

02:50 notes in the system. Now it's all, um, subsets off the

03:03 structures or parts of the data structure not necessarily require the same amount of

03:08 . So just because you, perhaps some measure use about the same

03:14 uh, parts of the data structure the different notes does not mean that

03:20 computation balance is good. So for the different methods, they account

03:31 this difference in terms off memory as as the complications associated with the parts

03:37 the data structure that is allocated you know. And while that in

03:44 is not easy, it's kind of when I can acknowledge the data communication

03:50 between the different notes and the clusters , and for that communication part one

03:59 to minimize the bandwidth, our best them out of data that needs to

04:05 communicated on. There are many different off that to where they want minimizes

04:12 worst case or the average case. in terms of the notes, what

04:19 require in terms of the communication. another part is the number of messages

04:25 you may need to send. And another one is the Leighton See in

04:32 among notes. Well, for some these aspects, it may be independent

04:39 the interconnection networks reduced between the In other cases, it's not so

04:44 that case, you know the interconnection properties needs to the accounted for when

04:52 comes to communication costs, including rounding sizes in the network, because that

04:59 the contention as well as potentially See um, so that's why this

05:08 and then be complete problems that's hard what is being used is all kinds

05:14 . Different jurist ICS and I were about the few of them,

05:19 and today and next time on Melissa's . So the normal uses that one

05:27 a Zeman E petitions as one as in the system. But it's not

05:32 the this case. Obviously, you like to have at least as many

05:38 or every note gets used in what using. But it's also a they

05:45 to do some over, petitioning the you generate more petitions than you have

05:52 that can sometimes improves a little and you can also use it,

05:59 zit says. On this slide, kind of try to generate petition that

06:05 , in a sense, a memory in each one of the notes.

06:13 . And that's what a little what we've done when we talked about

06:18 nation process in trying to do. that case, it was very simplistic

06:23 using loop, petitioning and blocking or of in a loop versus data that

06:31 in the various levels of the So here's no use to wrap it

06:39 through some of the things people. to give you an idea there scientific

06:44 engineering applications. This was something that the convictions on the magma inside our

06:54 . Here's another one as people similar flares and try to figure out this

07:00 happens in the sun in terms of shooting out, and it takes a

07:05 amount of um So these methods, , they use partitioning off the space

07:15 smaller and kind of cells. that maybe not so familiar to computer

07:22 . But if you work but somebody computational science, you know that there

07:29 networks like final government or finite volume being used to partition the three D

07:35 into small volumes. Uh, here's things in terms again computational fluid dynamics

07:45 , uh, may also some construction in terms off figuring out stresses on

07:54 . This is his image is more electro Magnetics. What happens when,

08:00 construction, airplane and you, the both of the space around the

08:06 as well as figuring out how to the body of the aircraft itself from

08:12 currency's induces in the body on the on here is one with the structural

08:18 again, submarines or some other mechanical and the different colors. Then tried

08:25 illustrate the partitions that may be in . So green may be assigned to

08:30 note and read to another node. wish to get another notice.

08:36 come off. There are other systems anyone does electrodynamics of biochemistry, where

08:42 have atoms and molecules that interact through forces on you try to figure

08:51 are things potentially move in fluid in or some other kind of solvent and

08:59 is hardly relevant. And these times Kobe, Uh, and there is

09:05 of more things that modeling in terms being prosthetics and, uh, medical

09:13 , I guess, um or are in this kind of crew scheduling in

09:18 ? So justice is a big Well, it's not the big

09:22 but a set of examples from most and science applications. But here's this

09:30 is kind of the logistics problems are planes and crews in the right place

09:35 the right time. So in some , the problem of the data structure

09:43 this purpose is typically than modeled by kind of a graph. Wow,

09:50 of the graph. This representing computation edges in the graph, represents interaction

09:59 notes. Mhm uh, on. think that's pretty much what this science

10:06 . Uh, so it's a What examples by text, one of

10:12 early ones for using this type of methods who are all right, both

10:22 Princess Circuit Board designs for putting components on a circuit board, as well

10:29 then running the singles on the person board to the various components on the

10:37 . So this is a computational, hard problem, and increasingly, that's

10:44 very much used also for during chip , because it's placement and routing is

10:49 big problem. The other ones, think, cover dimensions. Um,

10:58 it says quality is affected performance, that is the architecture dependence that

11:09 um, the other aspect of the partition that is good to keep in

11:13 that effects how What type of methods like to use is whether the data

11:22 is static or if it's dynamics or keep changing. So if you have

11:31 kind of a so or even in molecular things that were more smaller molecules

11:38 around and you try to figure out part then, um, Humanae Thio

11:46 the data structure and also in mechanical . You may. It's natural,

11:53 guess, to think of it part the fairly static structure on that may

11:59 the case in many situations, but of the things that is being done

12:05 , for instance, the automotive industry simulation of car crashes. Onda,

12:11 you can imagine, there car looks different in the process of it crashed

12:18 being your normal cart or something that totally different. And that is very

12:25 problem, in fact, to not the dynamic part but actually how to

12:29 with things from Trump. So that kind of a very quick illustration off

12:40 where graph partitioning off fairly large paragraphs important. So and some of these

12:54 you have tens of millions, or possibly even up to billions on nose

13:01 your graph. Andi, an even number of edges most of the

13:10 So so it and they questions on general background. I will soon start

13:17 talk about these particular methods, how work. We'll stop for a second

13:23 terms of the motivational part. All , so I think to keep in

13:34 that's for all of these methods that will talk about again are effectively graph

13:45 problems. Hm? How you then from your application to model that this

13:52 is fairly application dependent, as a . But the general, like the

13:58 that notes represent computing and edges, data interaction. And, uh,

14:09 is so because it's an important problem a lot of things are problem

14:15 So there's no way so far, is so that they catch all method

14:23 works great in all cases. So a good toe. Have an understanding

14:30 a range of different methods. That won't You won't get an assignment

14:35 doing petitioning. So this is Mawr for life after class or potentially,

14:42 somebody wants to do the project on data petitioning methods, our approach is

14:53 I will cover most of these methods , so I won't talk more about

14:59 on this particular slide. Um, it is just the first the concept

15:06 this craft petitioning where you have the collection of notes and eh? Just

15:15 I mentioned. Not everything is equal all applications. So that's why one

15:21 needs also assign the weight to each of the edges that is reflective off

15:30 amount of data or the communication that thio take place between the nodes at

15:37 end points of an edge. And also mentioned that you know, each

15:44 may not the Korean equal amount that . And that's why there's also in

15:51 and wait just associated with each one the notes to reflect their work associated

15:57 that note. So, um, there they are is basically than Thio

16:08 . There's no So you get the so you get a number off petitions

16:13 least equal to the number off. knows that one has in, in

16:19 custom, the target cluster. I think that's pretty much what this

16:26 says. So here is kind of example there now, a particular partitioning

16:32 was made where knows our group. in this case that I'm being four

16:39 . Andi, um, with the that the nose in the box and

16:44 the partition on them, I can of get the aggregate weight off the

16:50 between the petition based on the number edges and their way that goes between

16:56 petitions. This basically says that, , this is a complication, A

17:03 hard problem because it grows exponentially in number off. Um, no such

17:09 heaven address. So now this is some of the notion off separators that

17:25 , when you want to petition the , it's is that one needs

17:32 That's the slice. The graph somehow two or more parts than one can

17:37 trick coercively as my section. Or can do this. What that thing

17:42 on an earlier slide. Uh, okay, way. So you generate

17:47 partitions in one step, per supposed generate them over a number of by

17:54 steps now and during the partition of graph, one can either select a

18:05 of nodes on that. If you those notes from the graph, it

18:11 apart in two or more parts. in this case, the red virtus

18:16 here are kind of example off. separator overtake separator that remove the red

18:25 stand. You get to separate one on the left and one on

18:32 right of black notes from the night craft. Others. There's also age

18:40 that basically means that different. They , they set of edges. I

18:45 got two different petitions or more. in this case, both the green

18:53 the blue I just is colored by represent an edge separators on this case

19:01 to hedge separators illustrated. Those are no means the only ones. But

19:06 to illustrate the concept off No than separators. And then there are some

19:13 in terms. Off size is basically terms of size and notes separated relative

19:21 . And there's, um, you , properties off those separators that are

19:28 good to know that at least that where starter works, we'll decide toe

19:32 with notes and separators that that's kind a small except then for at least

19:39 bigger than the edge separator. And also some bound on the edge separator

19:45 to the north separator. There's a famous result that I will talk

19:54 Maybe it comes later. Sorry if has, uh, and and there's

20:01 lift on chargin separated Terram that I it is in their slides or I

20:07 remember the sequence on top of my that there was one of the early

20:12 that waas derived. Actually, four printed circuit board or really side design

20:20 design purposes that shows if you have plane or graph. What can I

20:26 that exists? Balance for has small separator has to be such a lower

20:35 . And of course, that's something would like to try to get close

20:38 you and designing a good petitioning Then there Early results system being not

20:50 improved. But it has been extended all kinds of different, uh,

20:58 in terms of the craft properties and different measures. And on the property

21:04 the graph, that may not be . So, um, any questions

21:14 far before I dive into specific Okay, coordinated by section is,

21:32 , I said we'll see. hopefully something that feels intuitive, and

21:38 very simple. Method on a mere just fine may not need any more

21:44 method, but it doesn't always work well. So that's fine. There

21:48 a whole host of other methods. right, so here is now what

21:53 coordinate perception does so in this in the context of a three dimensional

21:59 . So the way it works is that, uh, again, this

22:03 based on the graph. So your coordinates So the corners for the nodes

22:09 then you can sort them respect to one of these coordinate actions X,

22:14 and Z in this case. And you find in the sort of water

22:21 medium point or media note along that orbits. Behalf of the nose has

22:29 smaller X value, and half of has a larger X value. So

22:36 you can figure out them if you This is a no separator,

22:43 Uh huh. Many edges does gets , so to speak or removed from

22:52 graph. No, I didn't say explicitly, but the point if you

22:57 this measure picture with the green and . Um, and just those ages

23:04 the communication. Then that means to place between the two parts of the

23:11 . So so what? This algorithm basically look in the x y and

23:16 direction. It does this exercise for one of the independently and then it

23:23 the one direction. X violence. which one of the coordinates Directions should

23:31 the first cut. That is the that then minimize the number of edges

23:38 the communication for that. And then proceeds to take the other two directions

23:44 the first. Now you have two and Dan countries each of these two

23:51 independently and tried, but well, , predominantly one do not continue or

24:00 the direction that was just bisected. take the other two and figure out

24:06 one is the best. And then the third one And then we try

24:11 get enough petitions, but through there direction. So here is kind of

24:19 a little bit of illustration. Where ? Some of the the shades of

24:23 represents it the kind of density off . And this is just the two

24:30 illustrations on this case. This red kind of presumably because the number of

24:39 on the left hand side and the hand side to be about the

24:43 And, um, this compared to y axis this waas apparently,

24:52 Cut That generates fewer. It just down cutting it. We respect their

25:00 access. So then the next time , Wanda's separately for the two

25:07 and she was this kind, the dimension for expecting things into two

25:15 And I'm gonna keep going and generate and more partitions. So this is

25:22 . Um, so focus obviously depends the problem contacts. And then this

25:27 , it was we got sort of partitioning what was done because of the

25:32 of the area. But for every that we apply this technique to is

25:37 up to us to determine the mapping the problem domain to some sort of

25:43 interpretation so that we can apply Yes, there will be a fan

25:48 . So this type of coordinate per . So I will talk about methods

25:56 do not require coordinates in a So for many, engineering, if

26:01 have a physical domain that you are and this examples I mentioned earlier

26:07 um, you know this I think mentioned it to the solar jet figure

26:13 the physical demand gets partitioned into small . Typically find it volume will find

26:20 elements as they're called and then because have a geometry to start with against

26:27 . You have coordinates for each one the elements, and then it's fairly

26:32 to use this method. If you something that is more just the relationship

26:37 , for there is basically topology, would call it more than geometry.

26:42 it may not be obvious how you use this kind of a method and

26:46 to force it geometry on it, there's no natural reasons for it to

26:52 . Process. So this is kind a reflection off. A lot of

27:00 things started out that a lot of came from engineering problems or science problems

27:06 one had the geometry mhm, There's a little bit of example that's

27:12 that, Yeah, this kind of , but it doesn't always work that

27:18 on, so I can use things one doesn't try to divide things

27:24 and sometimes that may help. And the two things behind again this driving

27:35 approach is not only that you have , but the notion that is this

27:42 compute rolls. So you associate computation the amount of data. That's why

27:47 first tried toe have even sizes, I would assume unless you have note

27:53 and you need to include the note and then the dickens uneven in terms

27:58 the number of nodes you want to respective petitions, and the other part

28:05 as a rule of thumb one tend use this surface the volume idea.

28:14 basically you want to minimize the surface the surface to some degree is related

28:20 the amount of communication needed. So giving bombs in the smaller the

28:25 um, the better off you So in that case, very as

28:30 structures or off the physical demand tend to be particularly good in terms off

28:39 criteria to minimize or keep the communication low. So very kind of first

28:52 on this by section strategy is by a little bit rotating rectangle. To

29:00 is not to do things by the access, but do things according to

29:07 , moments of inertia. So in case, when looks at moments of

29:11 and now follow that that's supposed to things by a vertical or horizontal.

29:18 you do it in this case, to the um, sort of main

29:25 of inertia in this case. And you use this access or inertia thio

29:33 audience effectively the coordinate system that instead of juicing day perhaps Cartesian coordinate

29:40 you may have to start with. in this case, just clicking cool

29:47 on the next few slides. It's very quickly. There's things in the

29:51 deck that I think I'm skipping that detail if, how you can use

29:58 , you know, short partitioning But here is basically try Thio,

30:03 , find and then the a good line by in this case, using

30:11 least cars fit effectively to the points you have. And then to find

30:17 cut, you want to find a line or, in general, a

30:23 or hyper plane proposal perpendicular to, this case, into the case the

30:31 . So then your project, the points on two this line and then

30:37 whatever sort of, uh, starting to pick on the line, you

30:43 the productive points respect to the distance that point, and then it takes

30:48 sort of a median point along that , and then you separate them before

30:54 after this medium point along the and then you have to petitions that

30:59 it for sites. So this is of this inertial petitioning, um,

31:09 . And yeah, here's a little more of it algorithm in case one

31:13 interested to use it. But it's the least course fit and productions onto

31:20 line into the, um, So an illustration off. Just you know

31:28 you want there many different slices in case, but there's two illustrated

31:35 Both are kind of least squares, of the line l more or

31:43 And then it's clear that on the hand side graph, if you use

31:48 plane perpendicular or lying perpendicular to it than in the left hand side.

31:55 four ages cut. On the other , if it happens to be the

32:00 line than plane perpendicular to, that a lot more edges to become.

32:09 this is just and the outcome of illustration work and these authority in all

32:16 by section under picks, the left one automatically, that's Oh, here's

32:23 . Like I talked about about the sergeant petitioning thing, and for a

32:30 scientist, I would say you should about. He slipped and Harden is

32:35 very famous uH huh, hear him computer science. And basically, what

32:43 proved is that there's always existed Good, No partitioning or notes

32:51 That's or guarantees that the two parts not too unbalanced for any plane in

32:57 graph that is really one. And notion that are separators as them being

33:06 by many groups to try to understand it works for other types of

33:15 Now, another thing. Um, has been used quite a lot.

33:20 some notion. No space feeling But before I talk about that,

33:24 ask if there's any other questions about coordinate or inertial by section methods,

33:37 talking about the space feeling curves. the idea behind the space feeling curves

33:45 , um, that one find the or basically, in the graph that

33:59 have, you kind of walk around the graph on bond. But there

34:06 are that hopefully only visit the note once, and then you cover or

34:13 notes in the graphs a little bit you're traveling salesman type problem. So

34:19 , once you have visited all the in your graph than, um,

34:29 have a linear ordering all those and then you can do so that

34:35 medium point and says, Well, ones on the before and the ones

34:40 the medium points on to half. then, of course, the Captain

34:45 gets to be this a separator auras to one of the two petitions.

34:54 , yeah, there are a all these space feeling curves that has

35:00 around for a long time, as see famous name and at least husband

35:04 A and the animal he also known something anyone in taking enemy of

35:10 probably seeing an angel, but and give you some examples of what these

35:16 are. So these are space feeling that has been used and trying to

35:24 petitioning for clusters, you know, some examples on them and as well

35:31 what this curves looks like. So the piano type of curves and this

35:38 , just trying to illustrate that it a recursive structure on. You can

35:44 see that your gap refinement on what out on the left hand side as

35:49 basic unit, um, by rotations reflections on. Then you can build

36:00 and signer structures wrong. So this a looks of this guy on a

36:11 ? Nope, I guess I did quick through here on the rotation and

36:15 of being done and then you can it can recur Sali to build more

36:21 more refined structures. But these are simple to use in the case you

36:27 a very regular type of the main him mass structure in 23 or higher

36:36 . But it may not be so impossible to use them if you have

36:40 much more of an orbiter and type and this is kind of the Hilbert

36:49 that looks a little bit different. here is a gun. Same

36:54 How do you feel that ordering to or cover more and more notes re

37:01 again by rotations and reflections on Dhere also okay, So the Hilbert

37:10 You can use it for kind of non uniforms partitioning on space so you

37:15 record so many refined regions and work that. And this has actually been

37:21 in terms off finite element measures. just before that, you see in

37:30 well, I guess. Upper right corner. Now these lines. Skylar

37:35 put on the line in terms off things. Pointer points on graph knows

37:43 when they are separated just a little in space. But there's a number

37:47 notes, uh, and equal, in the different partitions are about to

37:55 on my mark, and I think yes. On this a little bit

38:00 the different partitions are about different That has been about the same number

38:05 notes in them. So this is way in which one can use the

38:15 will be carving and the left hand shone the mapping between the points on

38:20 space feeling curve, and it's just it, according to their read I

38:25 on the top left. But it in terms of notes and the original

38:32 , and on the right hand side kind of illustration of Gilbert turned walking

38:37 in space, and then I'm gonna it in three D on do all

38:43 of things. No on. And is also sometime known as a Z

38:51 energy. Go back and look at slides are that I used in way

39:01 on in terms off, um, album, something I talked about in

39:10 claim that they make this vector matrix multiplication. It was sort of blocking

39:16 the order in which you treat the my country blocks, you know,

39:21 row and column Major order. It's term, but there's also are the

39:26 have talked about. So the compiler they actually looked at how to order

39:32 in memory to make the maximum, , use of locality in terms off

39:41 hierarchy on the Mortons e. Ordering just see ordering was quite popular in

39:48 off, trying to figure out how they things out in memory or traverse

39:54 in memory for optimal use. So hierarchy Um, this was last space

40:07 curve that I included in my slides , and E. I asked us

40:17 by chance heard about great codes. , they kind of resemble where some

40:28 of busy a curve charged. no, I think it's a good

40:39 on top of my head. I say no without looking at it so

40:44 can tell you the principle is So great code was designed way

40:54 And the idea waas in encoding things safe transmission that the great code had

41:08 properties. Or if you look at normal decimal numbers, um, take

41:15 example of the seven and eight on has three bits set, and eight

41:22 only one bit set in the normal encoding. So in that case,

41:27 bits flips on going from 7 to . So the great code has the

41:33 that if you work to go from to 8 and instead of using the

41:37 encoding using great coding coding than a bit has changed. So the great

41:45 is constructed. So in terms of integers, then there's only one with

41:53 changes. So coding. People you know, found this very useful

42:01 of encoding off sending information in order be also simply doing correctness checks because

42:11 was just the one day trip. this thing wants then really re

42:18 as perhaps I should say, um, interconnection work networks in the

42:25 off was known as binary cube tubes and higher dimensions. That on

42:33 has to, um, the extent , too along each axis. So

42:40 basically have a zero and a And that's the number of,

42:45 points in any given dimension. So it turns out that the critical was

42:52 very efficient way for walking around this cube and only sleep one bit at

42:58 time. And that Z what kind illustrated on this particular slide?

43:07 so I think on the next I will show you some examples of

43:14 Jews and then I'll stop again, , take some more questions on these

43:19 of space. Feeling curves, but So this is by a group at

43:26 . P I Rensselaer Polytechnic Institute and are very famous. I was one

43:33 the leading groups in terms of finite methods. Um, and but the

43:43 different pictures on this slide shows is different objects that they studied. So

43:52 is a simple just a cone. is another aircraft win structured in there

43:57 wing on. Then what is the ? And then there's some ordinary that

44:04 did the descriptor session of the space on again. Then you get geometry

44:09 you can work with that. And there is they tried the Hilbert ordering

44:17 Morton Z ordering and the great code So those other three colored curves only

44:23 one of the graphs. Now, there is solving and dashed lines in

44:31 one of the four crafts and the is this on this guy's? That's

44:41 surface index that is the number As I said, Partition surface element

44:54 Thio. The total number of element eso that has run again. It's

45:00 continues domain. I get sliced up small sub domains, and for each

45:07 of the faces off this small sub , the elements In this case there

45:14 a neighbor. So the elements that on the surface of the sub domain

45:21 to know that implies that those faces are on the sub domain surface requires

45:34 with some other. No. So , um, elements that are in

45:45 internal to the note that basically is local memory references. So the index

45:51 gives an indication off the external or communication relative to our local number of

46:01 references. Andi, on the horizontal is the number of partitions. So

46:11 there to, you know, once average line, then solid line

46:16 um, the average overall partitions generated the dash lines are there maximum for

46:27 off the partitions. So I kind in some ways worse case versus average

46:33 in terms off, uh, communication local memory references. So now if

46:42 compare the three different partitioning methods that used, we'll see that the Hilbert

46:50 terms off they look at I'll at cone first, that the Hilbert on

46:57 did better than the other two a bit, but they did better in

47:02 of the maximum. It's kind most of the time most of the

47:08 of positions that seem to be doing better, but it's a little

47:12 you know, they're in who is of the winner as a functional number

47:17 petitions being used, and the similar is on the other cases. But

47:26 we can see that for the muzzle a kind off mostly somewhat,

47:34 larger or not as great worst case the other two methods on the other

47:41 . But order it kind of did in both average and worst case e

47:48 I had one more slide here. is another aspect of the petitioning.

47:55 the previously was basically, um, versus memory references. It did not

48:04 into account another aspect that is That is, how many partitions does

48:15 partition need to interact with? So is what they call the inter processor

48:25 . So ideally, you want also have a lower minimize the number off

48:34 nodes need to interact with, because reflects the number of messages that needs

48:41 because into the network. So in case again, the pictures somewhat

48:52 But when it came to the A , sensing with the number of notes

48:56 need to send messages to, it's always so in this case that the

49:02 , in terms of the near a , did not do as well as

49:06 other methods, even though for the off day that the communicated it was

49:13 better choice. If you go back look at the previous craft, so

49:19 point is simply that yes, first, that there is no obvious

49:26 that's winner. Even in this simple cases, a swell as the table

49:32 been used quite frequently because it tends perform rather well in many cases.

49:42 , I'll stop there before I move to the next and see if there's

49:45 questions. Okay, so is the method I want to talk about.

49:59 by section and pretty clever method, would say an interesting and it

50:06 So coming back to the fine I just talked about So this r

50:14 I group and then you all there and that does final element of simulation

50:21 physical spaces. They at least for long time they used this space filling

50:29 idea. Uh, I don't know they still do their other methods started

50:34 about being a bit, uh, most developed a deep later that it

50:42 quite popular and widely used once. space feeling carb idea is the something

50:53 I just wanted you to be aware because is useful in many other

50:59 Um, a za side remark. for this particular course, but recently

51:07 one of my students will work with group that looked up, um,

51:14 of brain imaging. And in that , it turns out, in order

51:19 the data compression Sometimes Lynn arising the three d space from image ing in

51:32 off signal intensities by ordering and according this place, feeling curves. It

51:38 out that one get the much better than taking them in whatever order that

51:44 naturally, respect to the image. space feeling curves is something I think

51:51 should keep in mind. All Yeah. Um, I'm not sure

51:58 familiar you might be with the but can one make use of,

52:04 , nonlinear dynamics to help out with special filling curves? Mhm.

52:11 Okay, so I'm thinking in terms like attractors, right? No,

52:21 understand. I am trying to figure how to think about it.

52:30 yeah, I don't have a good . Maybe we'll come back to it

52:37 I talk about some of the other that may actually have some relation to

52:42 question. So I'm what I'm talking . Don't When I thought they can

52:50 back to it when I talk about a couple of lines down on the

52:55 , spectral by section, which is of a bit of a clustering type

53:01 , but not quite, but I'm right. I'll talk about this,

53:11 , geometric by section and so way and talked about major cities and mostly

53:20 doing, blocking or matrices. I fairly simple again. It's a very

53:24 structure. And now if you think measures kind of also regular structures,

53:30 pretty easy to find. The cutting that split things evenly, as was

53:36 on um, when I talked about and blue edges right there was just

53:43 to the measure is pretty obvious. didn't prove that those were optimal?

53:48 stops can also be grow that the obvious petitions are in fact as good

53:55 any. And then the petition. best petitioning may not be unique

54:02 So if you have this kind of regular structure, as I said,

54:06 finding a cut in plain that is . It's not too hard, and

54:11 intuitive one tends to be optimal, one doesn't need to be about the

54:16 to find out. No, if don't have this kind of structure but

54:22 something again like final tell emissions along an airplane or the various mechanical parts

54:31 about, it may not be so to figure out how to us cut

54:35 into pieces of about, say, sizes and, well, communication taking

54:42 account on edge cuts and their So, um, what man group

54:52 was actually at Carnegie Mellon did years was try to use this notion in

55:00 graphic protection. So it's kind of neat idea. So what to take

55:05 this is just illustrated now for points the plane, because off making it

55:10 of intuitive to see what's happening is context in this case points in the

55:17 and projected to sphere than in three of this. They always this fear

55:24 one dimension higher than the dimensionality of data set. So in this production

55:32 the factory jobs the point between the in this case in the plane and

55:37 , the North Pole in the sphere then figures out where this straight line

55:45 the surface of the sphere, and the projected point. Okay, so

55:51 way one goes about doing this, one take, um well, these

55:58 and I'll show some pictures, but guess I'll just comment on what it

56:02 on this line. So basically do protection of all the points and in

56:07 the space onto the sphere in the higher dimensional space. Ah, and

56:15 once on a made all the projection all the points onto the sphere,

56:20 does come formal mapping or basically rotation stretching of the points on the

56:28 So the center point on the points gravity off these points, projected points

56:33 this fear ends up and the center the sphere, once one have done

56:42 , one desk could do cutting planes the sphere and what this fellows did

56:49 the best way didn't try to be clever of hard to choose a cutting

56:55 but basically use randomly oriented cutting planes did a bunch of trials and then

57:01 out or selected the A plane that's in the minimum number, all cuts

57:11 that waas so they can tune it trying to figure out the number of

57:15 and decide when to stop trying more planes, and said that this is

57:21 enough. And then they proved that doing this, um, a

57:26 you will get a very good petitioning in practice you didn't need to be

57:33 many random cuts before running up something close to the best possible cut.

57:44 here is now the illustration what they . So there's now plainer triangular finite

57:52 mesh. So then they represent each by as a node in a graph

57:59 then an edge represent, um, that share an edge. So you

58:10 this clean edge from one triangle to Adjacent Triangle and adjacent may also be

58:18 that shares and note. So someone got stand, except the nodal

58:26 like this that represents the triangles. then knowing the triangle, which is

58:33 shown on this slide, one knows the edges are that relates to other

58:38 in the graph. So these are their notes that should be projected onto

58:43 three DS here in this case and the play. So here is kind

58:47 what happened when they did the production it looks more like the protector to

58:52 South Pole rather than the North It doesn't matter which ones you do

58:56 take one of the goals. That's simplest option. So now you can

59:01 , I guess the notion that it like maybe points on a sphere

59:08 then, the next step waas to of rotate and stretch things on the

59:15 . So the center of gravity that think was shown area on this point

59:20 is no longer on this sort of access of the sphere. Um,

59:26 by the rotation and stretching on this , banking got the central gravity or

59:33 point of the points to fall into center of the sphere on then.

59:40 sort of circle and you see here kind of an example of a playing

59:44 cuts through the center of this year then splits, then notes on this

59:53 and roughly two equal parts and then . Given what the cut, this

60:01 can figure out how maney edges of being associated with this cut as well

60:07 how balanced is the captain. The of the number of notes from either

60:12 of this cut in plain so and once when I've decided, always cut

60:17 plane to use one can projected that cutting plane onto the to deplane and

60:27 on Bester has can see the two off the petitions and then one time

60:38 , return it back to looking actors define it. Elements, goods where

60:44 cut is on decided, you on the exact cut which elements goes

60:50 to the top and which ones goes the bottom. So this is a

60:55 what, uh, this geometric method does. So conceptual is quite simple

61:03 coding wise. It's quite simple, , to use. And it does

61:09 pretty decent cuts With the few trials , uh, in the slide deck

61:15 there is a bunch of examples. not sure I used Thio showed all

61:21 . Many of them are. We'll what the next slide is. That

61:25 it, I guess, in terms But there is example Sahara, then

61:30 tries when needed to do and how improvement that cuts change with the number

61:35 trials is by no means wanna tonics some additional trials make it worse.

61:43 . So and at some point, need to decide when you want to

61:50 . So these were the coordinate based I plan to talked about. So

61:58 questions on these coordinates based methods? . Um, yeah. So now

62:17 won't talk about it. Also noted section methods and then about this so

62:23 spectral deception. The normal by section like, I would say, the

62:28 by section. Pretty straightforward, except doesn't necessarily need any coordinate points.

62:35 it's just basically, you can do through the breadth First, search eso

62:41 one creates what sometimes calls a level . So you pick one point in

62:49 graph that job and they make it the route and then you figure out

62:58 what nodes are a distance one from road and then from them. You

63:03 out what are the Children knows such have not already accounted for. Um

63:11 I got this kind off a level that reflects how far best from the

63:24 the various notes in the graphs And then you can best the slice

63:32 according Thio, the level for which have about half of them closer to

63:38 roots and half of them so that the roof. Okay, so this

63:46 the very I would say simplest. , not the simple, but it's

63:50 very simple method for doing things, you don't necessarily have coordinates, but

63:56 have a topology. Now there, , how you pick the route?

64:06 , there many different matters, and is typically and one way is basically

64:12 pick randomly one and you try it see what kind of a cut you

64:20 . And then you can just take random one. Or if I can

64:28 a notes based on the degree of notes on all different versions, that

64:35 fine has been tried. There is that is known as, um

64:43 that uses reverse. Um, when have to, your first attempt to

64:50 a random note, you bigotry then off the notes that are then

64:56 of at the bottom of the tree picked among the ones that are at

65:01 furthest away from the root Makes that one of them. If there's more

65:08 one, you make that the new . And so you kind of flipped

65:13 tree and then start to proceed the tree from they know they leave.

65:19 , that was one of them furthest from the room. And it turns

65:25 there to do that. Sometimes you , um, a better cut so

65:31 of them simply picture of do the and then let's not think of

65:37 Basically, hang the tree upside down see what happens. And then they

65:42 do that a few times and get , um, no, that furthest

65:49 and try a few times or just picked yet another starting point. This

65:56 so this is one way that the first search can be done to,

66:01 , there's the level graph and then petition based on the level graph.

66:09 here is an example off. it may work out in terms of

66:14 regular mesh. We're in this the center point of the mess when

66:18 kicked us The rule on, as can see, with various,

66:26 squares that are kind of rotated, , 45 degrees with respect Thio the

66:33 of the knish you can see The center point is just the root

66:41 of one little square in the and that distance one from the

66:46 There are four notes and then you to distance to accept, so you

66:53 see how many nodes there are at different distances from the root and they

67:00 kind of, as I said, for the five degrees visually respect to

67:05 mesh on its account. You can see that the total number off Yellow

67:13 knows is almost identical to the total of notes in this case in the

67:21 including or illustrated squares. So this the seven by seven measures 49 notes

67:29 one is 24 1 is 25. this is just an example how they

67:35 . First thing worked out in terms partitioning in this case, 22 part

67:47 . And there is, I and the slide that can swallow is

67:51 little bit of pseudo code for out generate the bread first dealing with it

68:00 . One comment. I should make guess. It's a good point.

68:05 many on the partitioning algorithms are actually algorithms, um, or husband.

68:19 of course, that means you're restricted what you can do on a single

68:29 . Or it may take a very time if you need to bring in

68:34 of image from disk or some other um, memory. So parallel partitioning

68:46 are sometimes not too straightforward generalization off sequential out with its soul. This

68:57 a comment because the sue the codes have on the slides that don't show

69:04 it's in the slide that they tend be most sequential arguments. Any question

69:16 the breath? First one of or idea not what happened now?

69:30 , there is one more on right? Two more other than the

69:37 in um so this is kind of interactive refinement type algorithm where I'm are

69:45 means, yeah, have a partition two parts on typically and deception again

69:57 a starting point. Um, and you figure out the number is just

70:03 cut and then you try Thio figure how to get the better partitions by

70:13 notes in this case between the A B domain. So this is what's

70:23 as a cardigan, Lynn and And it was on the way back

70:28 people at A T and T, guess figure out needed to figure out

70:32 to build communication networks from networks. , on this algorithm is actually forms

70:46 basis, I would say for one the very popular petitioning methods, but

70:55 and this, um, direct But it is that the core off

71:01 I will talk about most likely next . So it says here the cost

71:09 basically the number of edges that go the two domains. And it should

71:18 knows between, say, x uh, providers who knows between the

71:24 and B domains than, um, used to be, um,

71:32 I just as I just that connects point. So the other domains of

71:40 two edges going from X two points be And it only has one edge

71:48 to another point within a sort of to move from A to B.

71:57 again, so to speak to men reduce the number of edges from A

72:02 B by two on you get one edges, so there is a net

72:07 of one. Andi, if one at why that has to internal edges

72:17 two edges going from B to So if you move, why from

72:23 to B, then there's basically no in terms of the number of edges

72:29 , um, a crossing from A B on. The idea with this

72:36 is you need to be keeping the balance. Or if you move something

72:42 A to B, then you also to move something from BBA toe A

72:47 order to keep the partition sizes. balance. So this is what this

72:54 does, um, a little bit there algebra for figuring out what the

73:02 costs are on this life on. think this is a little bit more

73:08 of what I just talked through, to figure out what cut sizes and

73:17 it's certainly slide. It's relatively expensive essentially you end up doing,

73:24 n Square trials, checking all and then you dio decide on which

73:32 to swap. And after the you need to try again. So

73:37 why you get something. And that complexity. Wise should stabilizer converging about

73:45 CUC operations, which is quite The reason why this is still method

73:52 is that this a synthetic behavior, fact, is very pessimistic, pessimistic

74:00 practice. So that's why the few may actually be sufficient to do

74:08 and I'll talk about that more next , and I was that and let

74:13 spend a few words on this that by section and then, uh,

74:18 about the other things. Next any question on this corner gone Lynn

74:26 algorithm and basically attracted refinement off by that has been made. Okay,

74:38 number section is something quite different. , so as a fellow by the

74:49 of Fiedler that realize that one can argon value analysis to partition crafts

75:04 I think the analogy that is tickle as this notion of a vibrating string

75:13 to see in the middle of this . Okay. And so there is

75:21 vibration modes. You know, if have the two and points on the

75:24 , there are basically six lights in violin or get arms that the end

75:33 are fixed on your pocket and you different wave forms of the string between

75:39 two young points. So these, , modes on there, as you

75:49 , illustrate in the middle of corresponds different Eigen values of the model off

75:58 string. And if one looks at center point here, center graph in

76:07 center, that is kind of almost a sine wave thing. F

76:14 what? To look at the plus and the minus part on the parts

76:20 the strings. It is kind of good, um, point Thio.

76:28 of whatever is on the left side one half and whatever is on

76:32 negative side is another house. So can be applied thio much more general

76:42 in a stream. But in kind this, then then the I get

76:50 or again, yeah, I get off. The structure is reflected in

76:56 values and Eigen vectors, and one think of that. If you have

77:03 least some playing sheet on you, you need some partitioning again to use

77:13 dynamics off the sheep that it bends flexes? And then it turns out

77:22 that then the Eigen modes on. a good way off partitioning the structure

77:30 . I guess my time is actually , so I should continue with the

77:36 by section next time and take some before so next collection. And let's

77:47 the question. So I'll tell you more exactly what to do in this

77:51 . But it involves computing Aryan values Eigen vectors, but you only

77:57 and some of you may say that's very expensive computation, and in principle

78:01 is, Ah, but normally, only cares about one Eigen value and

78:10 corresponding Eigen vector, so one doesn't to solve the full. I can

78:16 a problem. I can just focused methods that compute a single I can

78:26 . On the other part, it not necessarily have to be computed very

78:31 . So that means one thing you ejected onion value methods to get the

78:37 good estimate off the Aryan value. is interested in that without expanding too

78:48 much in computing. We'll talk more that as well as where it has

78:55 used in the outcome. And so authors off not and it's important,

79:06 data, Sanya National Labs and our . They developed a very good software

79:13 for doing these things, and they got lots of the washing prices for

79:19 . Okay, take questions. So need to think about everyone's question about

79:36 dynamic are chaotic type methods. how that may be related. I

79:45 have a good as they're gets about more for the case of so they

79:50 be useful for a static graph, O b A dynamic growth. But

79:53 you know that based on certain industrial , you'll never leave a certain area

79:59 I was thinking. It would be . Yeah. No, it's a

80:05 idea. I'm sorry. I need think about it. I don't have

80:08 good answer, but let's see if can get, uh, look around

80:17 see a little bit put people may done and not to use it.

80:22 a good question. So thank Probably It was more of a shot

80:26 the dark. Yeah, it's Yeah. Um, yeah. Dynamic

80:38 . There are not always intuitive, many times they do give interesting and

80:42 results. So any other questions? ? Okay. If not, I

81:01 stop the recording. Stop sharing This one. I do e didn't

81:08

-
+