Buckyball a.k.a. Fullerene-60 2 ohm resistor maze: compute average effective resistance

Can someone find a simple method? The brute force, direct computation uses a surprising amount of CPU time.

All resistors are 2 Ω 2\Omega .

Here is the edge list used:

{{1,10},{1,41},{1,59},{2,12},{2,42},{2,60},{3,6},{3,43},{3,57},{4,8},{4,44},{4,58},{5,13},{5,56},{5,57},{6,10},{6,31},{7,14},{7,56},{7,58},{8,12},{8,32},{9,23},{9,53},{9,59},{10,15},{11,24},{11,53},{11,60},{12,16},{13,14},{13,25},{14,26},{15,27},{15,49},{16,28},{16,50},{17,18},{17,19},{17,54},{18,20},{18,55},{19,23},{19,41},{20,24},{20,42},{21,31},{21,33},{21,57},{22,32},{22,34},{22,58},{23,24},{25,35},{25,43},{26,36},{26,44},{27,51},{27,59},{28,52},{28,60},{29,33},{29,34},{29,56},{30,51},{30,52},{30,53},{31,47},{32,48},{33,45},{34,46},{35,36},{35,37},{36,38},{37,39},{37,49},{38,40},{38,50},{39,40},{39,51},{40,52},{41,47},{42,48},{43,49},{44,50},{45,46},{45,54},{46,55},{47,54},{48,55}}

The edges are identified by the vertex id number at each end of the edge. There are 90 edges and 60 vertices, identified by integers from 1 to 60.

The output is a table of rational, reduced (that is, coprime numerator and denominator) fraction, effective resistance and a count of the edges with that effective resistance. There are multiple edge effective resistance classes identified by their effective resistances.

" A network of 2 Ω 2\Omega resistors is created by making each edge of a "buckyball" (a.k.a. truncated icosahedron or fullerene-60) a resistor. Between any pair of adjacent vertices (i.e., vertices connected by an edge) the network has an effective resistance. What is the average (over all pairs of adjacent vertices only ) of these effective resistances? " (wording suggested by Mark Henning ) and the size of the edge effective resistance class (definition above) with the numerically smallest effective resistance, f f . The formula to be used is: 1 000 000 Numerator [ f ] + 100 Denominator [ f ] + n 1\,000\,000\ \text{Numerator}[f]+100\ \text{Denominator}[f]+n . Using a wrong effective resistance fraction f = 355 113 f=\frac{355}{113} and effective resistance class size n = 57 n=57 as examples, here is the the problem answer so formed: 355011357 355011357 .

For the benefit of those that require a visual:

With respect to the image above, © 2019 Randolph Herber, CC BY 4.0 Randolph Herber, the image is provided "as is," and I make no representations or warranties, express or implied, of any kind with respect to it. I disclaim all representations and warranties, including, without limitation, warranties of merchantability, fitness for a particular purpose, title and non-infringement.


The answer is 59004560.

This section requires Javascript.
You are seeing this because something didn't load right. We suggest you, (a) try refreshing the page, (b) enabling javascript if it is disabled on your browser and, finally, (c) loading the non-javascript version of this page . We're sorry about the hassle.

2 solutions

Mark Hennings
Feb 10, 2019

There are two types of edge. There are 60 60 edges of type 1 1 , which connect a hexagon to a pentagon, and there are 30 30 edges of type 2 2 , which connect two hexagons. There are two edges of type 1 1 and one edge of type 2 2 at each vertex.

Consider the situation where a current I I enters the network at one vertex V V , while 1 60 I \tfrac{1}{60}I leaves the network at each vertex. By symmetry, the amount of current flowing along the type 1 1 edges from the vertex V V will be equal. Thus the current flowing on the type 1 1 edges away from V V will be 59 60 u I \tfrac{59}{60}uI , and the current flowing on the type 2 2 edge away from V V will be 59 60 ( 1 2 u ) I \tfrac{59}{60}(1-2u)I for some u u .

Superimpose this current flow with a similar one, where I -I enters the network at a vertex W W that is adjacent to V V , with 1 60 I -\tfrac{1}{60}I leaving the network at each vertex. The total effect of this is to have a current flow with I I entering at V V , and I I leaving at W W . The current flowing along the edge V W VW will be 2 × 59 60 u I = 59 30 u I 2 \times \tfrac{59}{60}uI = \tfrac{59}{30}uI if V W VW is of type 1 1 , and 2 × 59 60 ( 1 2 u ) I = 59 30 ( 1 2 u ) I 2 \times \tfrac{59}{60}(1-2u)I = \tfrac{59}{30}(1-2u)I if V W VW is of type 2 2 . Thus the potential difference between vertices V V and W W is 59 15 u I \tfrac{59}{15}uI if V W VW is of type 1 1 , and 59 15 ( 1 2 u ) I \tfrac{59}{15}(1-2u)I if V W VW is of type 2 2 . Thus the effective resistance of the network between neighbouring vertices V , W V,W is 59 15 u \tfrac{59}{15}u of V W VW is of type 1 1 , and 59 15 ( 1 2 u ) \tfrac{59}{15}(1-2u) if V W VW is of type 2 2 . Thus the average effective resistance is 1 90 [ 60 × 59 15 u + 30 × 59 15 ( 1 2 u ) ] = 59 45 \tfrac{1}{90}\big[60 \times \tfrac{59}{15}u + 30 \times \tfrac{59}{15}(1-2u)\big] \; = \; \tfrac{59}{45}

We still need to determine one of these two resistances. It turns out that u < 1 3 u < \tfrac13 , and so the answer is 59004560 \boxed{59004560} . We can either perform a brute force calculation to determine u u , or we can make a 50 : 50 50:50 guess as the whether n = 60 n = 60 or 30 30 , and get the answer in at most two gos. Solving for one resistance by solving the simultaneous equations obtained from Kirchoff's laws, particularly if we use symmetry to reduce the network somewhat, should not be too hard...

The least effort method is to look at this Mathworld page , which gives the effective resistances for a whole array of Platonic and Archimedena polyhedra, but without specifying which vertex pairs correspond to which effective resistances. There are 23 different possible values of effective resistance for the truncated icosahedron, and a simple check shows that there are only two of these effective resistances R 1 , R 2 R_1,R_2 for which 2 R 1 + R 2 = 59 15 2R_1 + R_2 \; = \; \tfrac{59}{15} and these are (note that the Mathworld calculations assume that each portion of the network has resistance 1 Ω 1\,\Omega instead of 2 Ω 2\,\Omega ) R 1 = 16273 12540 R 2 = 8389 6270 R_1 \; = \; \tfrac{16273}{12540} \hspace{2cm} R_2 \; = \; \tfrac{8389}{6270} Then R 1 R_1 must be the Type 1 resistance, and R 2 R_2 the type 2 resistance. Since R 1 < R 2 R_1 < R_2 , we deduce that n = 60 n=60 .

Yes. Exactly. You said you had Mathematica available. My answer is my Mathematica code used.

A Former Brilliant Member - 2 years, 4 months ago

Log in to reply

The point of my solution is that we do not need to calculate the full pseudoinverse, since the average of the effective resistance over all edges can be determined by theoretical methods. Finding a single resistance would involve solving for one nonsingular matrix equation. Using Gaussian elimination for an n n -dimensional problem takes O ( n 3 ) O(n^3) calculations, and I think that would be faster than using the Mathematica code you provide.

My original solution used essentially the same pseudocode as yours, but you asked for a simpler method. That is what I have come up with.

Mark Hennings - 2 years, 4 months ago

I marked your response as helpful for that reason. The code runs in a few minutes. But, I do not expect that most people have the resources that I have here at home; hence, my request for a simpler method. Thank you.

A Former Brilliant Member - 2 years, 4 months ago

name = "Buckyball" ; \text{name}=\text{"Buckyball"};

nvertices = PolyhedronData [ name , VertexCount ] ; \text{nvertices}=\text{PolyhedronData}[\text{name},\text{VertexCount}];

edges = Table [ e [ [ 1 ] ] \unicode f 3 d 4 e [ [ 2 ] ] , { e , PolyhedronData [ name , Edges ] } ] ; \text{edges}=\text{Table}[e[[1]]\unicode{f3d4}e[[2]],\{e,\text{PolyhedronData}[\text{name},\text{Edges}]\}];

The resistors are entered as conductances; hence, the 1 2 \frac12 .

g = PlanarGraph [ Range [ nvertices ] , edges , VertexLabels Name , EdgeWeight ConstantArray [ 1 2 , Length [ edges ] ] ] ; g=\text{PlanarGraph}\left[\text{Range}[\text{nvertices}],\text{edges}, \\ \ \ \text{VertexLabels}\to \text{Name},\text{EdgeWeight}\to \text{ConstantArray}\left[\frac{1}{2},\text{Length}[\text{edges}]\right]\right];

resistance = With [ { Γ = PseudoInverse [ With [ { wam = WeightedAdjacencyMatrix [ $#$1 ] } , DiagonalMatrix [ Tr/@ wam T ] wam ] ] } , Outer [ Plus , Diagonal [ Γ ] , Diagonal [ Γ ] ] Γ Γ T ] & ; \text{resistance}=\text{With}\left[\left\{\Gamma =\text{PseudoInverse}\left[\text{With}\left[\{\text{wam}=\text{WeightedAdjacencyMatrix}[\text{\$\#\$1}]\},\text{DiagonalMatrix}\left[\text{Tr}\text{/@}\text{wam}^T\right]-\text{wam}\right]\right]\right\}, \\ \ \ \text{Outer}[\text{Plus},\text{Diagonal}[\Gamma ],\text{Diagonal}[\Gamma ]]-\Gamma -\Gamma ^T\right]\&;

r = resistance ( g ) ; r=\text{resistance}(g);

result = Tally [ Table [ r [ [ e [ [ 1 ] ] , e [ [ 2 ] ] ] ] , { e , edges } ] ] ( 16273 12540 60 8389 6270 30 ) \text{result}=\text{Tally}[\text{Table}[r[[e[[1]],e[[2]]]],\{e,\text{edges}\}]] \Longrightarrow \left( \begin{array}{cc} \frac{16273}{12540} & 60 \\ \frac{8389}{6270} & 30 \\ \end{array} \right)

f = Plus@@Table [ Times@@ k , { k , result } ] Plus@@Table [ k [ [ 2 ] ] , { k , result } ] 59 45 f=\frac{\text{Plus}\text{@@}\text{Table}[\text{Times}\text{@@}k,\{k,\text{result}\}]}{\text{Plus}\text{@@}\text{Table}[k[[2]],\{k,\text{result}\}]} \Longrightarrow \frac{59}{45}

1 000 000 Numerator [ f ] + 100 Denominator [ f ] + 60 59 0045 60 1\kern 0.125em 000\kern 0.125em 000\ \text{Numerator}[f]+100\ \text{Denominator}[f]+60 \Longrightarrow 59\kern 0.125em 0045\kern 0.125em 60

0 pending reports

×

Problem Loading...

Note Loading...

Set Loading...