Picture a network: dots (call them nodes) connected by lines (call them edges). It could be servers wired together, friends on a social app, or transistors on a chip. Now you have to split it in two, putting half the nodes on each side.
There is a catch. Every edge that ends up with one endpoint on the left and the other on the right gets cut — and cuts are expensive. Two servers that must keep talking across the divide eat network bandwidth; two chip components on opposite sides of a board need a long, slow wire. So your goal is to split the nodes into two balanced halves while cutting as few edges as possible.
It sounds like something you could eyeball. For five nodes, sure. But as the network grows, the number of ways to split it explodes, and finding the truly minimal cut becomes one of the genuinely hard problems in computer science.
Comments
Loading comments...