I am sure all of you have encountered CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) tests before. CAPTCHA tests are generated by computers, but only humans should be able to solve them. Hence, one can tell human users from computers.

A few weeks ago, Yaroslav Bulatov wrote a post about a Russian CAPTCHA that he encountered at the Московский физико-технический институт library website:

Tags: ,

### 7 Responses to “Russian CAPTCHA”

It’s e-library of MIPT, Moscow Institute of Physics and Technology, university I graduated from :), so test is some crazy equivalent of on-campus access restriction.

Holy Kirchhoff!

That’s from MIPT for sure! :)

In Russian it’s “МФТИ”, “Московский физико-технический институт” [Moskovsky fiziko-tekhnicheskiy institut], literally Moscow physical-technical institute. MIPT is most commonly referred to as simply “ФизТех” (“PhysTech”).

Fewf, it was really tough. I tried solving it in the general case, here is an illustration so you can get the designations:

http://www.box.net/shared/5to9xaow08

The answer is (numerator and denominator split by “—-”):

(n2+n4)*(n1*y+n5*x)+(n1+n2)*n4*x
——————————————–
(n1+n2)*y

, where:

x = n3*n2-n1*n4
y = (n1+n2)*(n3+n4)+(n1+n2+n3+n4)*n5

I’ll post the complete solution later as a trackback from my blog

PS Note that you don’t have to reduce the resulting fraction in this captcha, e.g. if 5/20 is the answer, you can enter 5/20, 1/4, 10/40 etc.

PPS A question of ethics, do you think I have the right to disclose the answer?

5. Yaroslav Bulatov Says:

I also ended up sidetracking for more than a few hours because of this problem, mostly because of stumbling onto some fascinating connections of resistor networks to other field of math, a few papers at http://www.citeulike.org/user/yaroslavvb/tag/resistance

The lazy approach to solve this is to use a general formula for 2-point resistance between nodes in an arbitrary graph, see second formula on page 7 of http://arxiv.org/abs/math-ph/0402038 and recognize that the limiting definition of g is equivalent to Penrose-Moore pseudo-inverse

Function resmat (Mathematica) below generates the matrix of effective resistances from a matrix of edge-wise resistances
lapl[m_] := DiagonalMatrix[Array[1 &, Length[m]].m] – m;
resmat[m_] := Module[{n = Length[m]},
g = PseudoInverse[lapl[m /. {x_?Positive -> 1/x}]];
Table[g[[i, i]] + g[[j, j]] – g[[i, j]] – g[[j, i]], {i, 1, n}, {j,
1, n}]
];

To get an answer for the problem above you do
resmat[{{0, 1, 3, 0}, {1, 0, 6, 2}, {3, 6, 0, 3}, {0, 2, 3, 0}}][[1, 4]]
to get 147/74

I’m curious, could this approach be adapted to work in Matlab? (ie, how would you get an exact fraction?)

6. Yaroslav Bulatov Says:

Here’s an outline of 8 ways you can solve this problem, feel free to suggest any I missed

7. Armen Says:

http://reblot.am/capcha/ResistanceCalculator.html

Use this link to calculate Resistance :)