Author
|
Topic: Tower of Brahma (Read 2321 times) |
|
opsima
Initiate
Gender:
Posts: 40 Reputation: 5.66 Rate opsima
Don't worry, the worst is yet to come!
|
|
RE: virus: Re:Tower of Brahma
« Reply #15 on: 2004-02-28 19:37:19 » |
|
> the funny thing is that the woman who put together this puzzle book calls > herself the 'human computer'... > > how will you write a computer program to get the solution for this problem?
I wish I had jumped on this thread earlier, but since equation manipulation and generation is one of my "things", I'll add on to this:
The funny things about computers is that they're very very fast and powerful, but very stupid and foolish when it comes down to it. For a human to solve these sorts of puzzles, the process is usually built around objectives, like getting the right digit in the 100's place and such. Computers won't have any conception of this unless you spend a lot of time teaching them.
The easiest way to get solutions to this is to actually solve it with brute force, I think. For instance, one can define +, -, *, /, as binary operators, and also bracket things with ( and ), and then just iteratively construct every possible tree out of those symbols, where each of the leaves may only be 8, 88, 888, or .8, etc., and there may be only eight leaf nodes. There are a finite number of possible trees, and a decent program could probably go through all of them (excluding things that won't produce anything useful) in a matter of a couple of minutes.
I've played around with equation generation in a small program of mine- http://www.icosilune.com/icosilune/cgraph/index.html Which generates equations that will supposedly produce "interesting" images.
The key to it is to basically abstract the equation, that it is basically a tree. One of the intriguing things about the way we solve problems is that often we make these kinds of abstractions without really realizing it...
-Calvin
--- To unsubscribe from the Virus list go to <http://www.lucifer.com/cgi-bin/virus-l>
|
|
|
|
rhinoceros
Archon
Gender:
Posts: 1318 Reputation: 8.27 Rate rhinoceros
My point is ...
|
|
Re:Tower of Brahma
« Reply #16 on: 2004-02-28 21:45:49 » |
|
About the eight 8s puzzle again:
[Mermaid] how will you write a computer program to get the solution for this problem?
[rhinoceros] There is one slow and certain way to find all the solutions of any such problem with the help of a computer. Remember Goedel's incompleteness theorem? We have talked a lot about it here. Well... in the first part of his proof, while trying to lay down the problem, Goedel devised a method of enumerating all possible arithmetic expressions. This method takes into account the numbers and the symbols of any arithmetic expression as well as their arrangement and produces a unique serial number for any arithmetic expression. It is a proven and thorough method and (in theory) one can use it to step through all arithmetic expressions which satisfy some criteria and to check them.
The only problem is that -- if we really want to get results in a reasonable time -- this method sucks.
A brute force computer method would do something similar to this, producing search trees by sprouting branches of possible arithmetic expressions and checking them. The efficiency of the program depends on how good it is at ignoring many branches without even checking them and proceeding straight to "the right" branches.
In the field of Artificial Intelligence, where the experts have been trying to take advantage of "the human way" of reasoning, a lot of work has been done on software agents and heuristics.
Software agents act either randomly or in response to what they (or other agents) have found so far.
A heuristic is essentially a metric or a "utility function" which tells an agent "how close" to the solution it has reached. In the case of the eight 8s problem, for example, we might use a heuristic function which would take maximum values when we approach 1000 by using a paticular combination of eight 8s. It is not so simple of course... there can be "local maxima" which do not really lead to a solution (there is a whole methodology called "hill climbing": the top of a hill is not necessarily a solution -- it can be a dead end from where you can't go higher, and the agent must decide to head downhill again).
Well, maybe I am just babbling and all this is not really necessary for solving the eight 8s puzzle. There is a way to know. Just solve the same problem with eight 8s giving a sum of 700 instead of 1000. I just made it up myself, so you can't google it.
I didn't look into the 10 divisions problem yet. I hope I will find some time for that. It looks discouragingly interesting.
|
|
|
|
rhinoceros
Archon
Gender:
Posts: 1318 Reputation: 8.27 Rate rhinoceros
My point is ...
|
|
Re:Tower of Brahma
« Reply #17 on: 2004-02-29 15:32:13 » |
|
An update on the the problem of the 10 divisions:
<quote> problem #3:"Can you name the smallest number, which when divided by 10 gives a reminder of 9, when divided by 9 gives 8 as the reminder, when divided by 8 gives 7 as the remainder and so on, down to a remainder of 1 when divided by 2?"
how does the human brain come up with an answer...... <end quote>
This problem is trivial for a computer. It spits out the answer (2519) in a fraction of a second just by checking the numbers sequentially.
Now, the human brain is an animal of a different kind. It is not satisfied with this kind of answers. It needs to know "why". What does "why" mean in this case? I think humans demand that a solution should tell them how to handle similar problems in the future. They demand a generalization, something to fit in with other things they know how to do.
But if you think of it, today we have the computer which we can instruct to do these simple jobs for us. Isn't this enough? Could it be that this attitude of ours evolved in a pre-technological age? Even so, that is who we are.
Heh, I'll keep looking for a "why".
|
|
|
|
Rhysenn
Initiate
Gender:
Posts: 41 Reputation: 5.34 Rate Rhysenn
|
|
Re:Tower of Brahma
« Reply #18 on: 2004-02-29 17:24:21 » |
|
as to the problem of the ten divisions, maybe most of you have figured this out already but if not, 2519 = (5 * 7 * 8 * 9) - 1. I guess you start out with 2*3*4*5*6*7*8*9*10, and then break it down into factors: 2*3*2*2*5*2*3*7*2*2*2*3*3*2*5. Of these factors, leave in only the ones you need to accounts for all the numbers 2-10: 2= the first two, 3= the first three, 4= the first two twos, 5= the five, 6= the first two and three, 7= the seven, 8= the first 3 twos, 9= the first two threes, 10 = the first two and five. Then we end up with 2*3*2*2*5*3*7 = 2520, and subtracting one we have 2519.
|
|
|
|
rhinoceros
Archon
Gender:
Posts: 1318 Reputation: 8.27 Rate rhinoceros
My point is ...
|
|
Re:Tower of Brahma
« Reply #19 on: 2004-02-29 20:59:25 » |
|
[Rhysenn] as to the problem of the ten divisions, maybe most of you have figured this out already but if not, 2519 = (5 * 7 * 8 * 9) - 1. I guess you start out with 2*3*4*5*6*7*8*9*10, and then break it down into factors: 2*3*2*2*5*2*3*7*2*2*2*3*3*2*5. Of these factors, leave in only the ones you need to accounts for all the numbers 2-10: 2= the first two, 3= the first three, 4= the first two twos, 5= the five, 6= the first two and three, 7= the seven, 8= the first 3 twos, 9= the first two threes, 10 = the first two and five. Then we end up with 2*3*2*2*5*3*7 = 2520, and subtracting one we have 2519.
[rhinoceros] Great! Thanks Rhysenn. You saved me at least a couple of hours which I had good reasons to use elsewhere!
So, this calculation works because if we add 1 to the solution it becomes exactly divisible by all these numbers. After finding the number we subtract the 1 that we borrowed.
|
|
|
|
rhinoceros
Archon
Gender:
Posts: 1318 Reputation: 8.27 Rate rhinoceros
My point is ...
|
|
Re:Tower of Brahma
« Reply #20 on: 2004-05-21 17:16:42 » |
|
[rhinoceros] I am reviving this thread for a reason. I stumbled on something exciting about the general question "how do we think when trying to solve a puzzle." It involves the evolutionary aspect of heuristics. (Ok, no need to comment on what gets me excited, i know )
While preparing a post with the stuff I found (maybe tomorrow), let me return to a couple of points from past posts.
(A) <quote from a previous post of mine> "Well, maybe I am just babbling and all this is not really necessary for solving the eight 8s puzzle. There is a way to know. Just solve the same problem with eight 8s giving a sum of 700 instead of 1000. I just made it up myself, so you can't google it. " <end quote>
I saw no answer to how you can combine eight 8s to form the number 700, using only the eight 8s, the +-*/ signs and parentheses. If nobody finds an answer by tomorrow this is automatically declared a "TDCoV problem" (Too Difficult for the Church of Virus).
(B) The last puzzle of this thread was the problem of the 10 divisions.
"Can you name the smallest number, which when divided by 10 gives a reminder of 9, when divided by 9 gives 8 as the reminder, when divided by 8 gives 7 as the remainder and so on, down to a remainder of 1 when divided by 2?"
That was perhaps the easiest of the 3 problems posted, but it poses an inetersting issue:
Solution 1: You write a trivial program to start from number 1 and check them sequentially one by one until it finds a number which does what we wanted. In a fraction of a second the computer arrives at the number 2519.
Solution 2: You notice that if you add 1 to the number you want it will be exactly divisible by all 10 numbers. So you construct that number by factoring-in the 10 numbers (2^3*3^3*5*7=2520), subtract 1 and find 2519.
Solution 2 requires some school knowledge, perception, and intuition. Solution 1 requires only a trivial technical competence and some equipment. However, Solution 2 gives me a sense of "satisfaction" while Solution 1 gives me a feeling that I didn't really understand "why" this was the answer. Can you offer any explanations for this feeling?
|
|
|
|
Blunderov
Archon
Gender:
Posts: 3160 Reputation: 8.90 Rate Blunderov
"We think in generalities, we live in details"
|
|
RE: virus: Re:Tower of Brahma
« Reply #21 on: 2004-05-21 18:23:58 » |
|
rhinoceros Sent: 21 May 2004 11:17 PM
<snip> Solution 2 gives me a sense of "satisfaction" while Solution 1 gives me a feeling that I didn't really understand "why" this was the answer. Can you offer any explanations for this feeling? <snip> [Blunderov] Looking forward to your post tomorrow.
I seem to recall, I think in a recent Scientific American, that an experiment was devised in which people were given a 'problem' to solve to which there was in fact no solution. It was a random sequence. They discovered that as people became more and more frustrated at their lack of success in detecting a pattern, they began to base their decisions on emotional criteria rather than logical ones.
Solving puzzles, even trivial ones, using conscious thought rather than subconscious, is deeply pleasurable to humans. (One sees this everyday in a million ways - it is our species nature. It provides us with a reassuring illusion of mastery over the universe.) Perhaps, then, if a particular problem can only be understood in an intuitive way, it is less pleasurable therefore, and one becomes aware of the discrepancy?
I'll see if I can find the article I mentioned.
(Sign me up as a Virian unable to solve the problem BTW!) Best Regards
--- To unsubscribe from the Virus list go to <http://www.lucifer.com/cgi-bin/virus-l>
|
|
|
|
rhinoceros
Archon
Gender:
Posts: 1318 Reputation: 8.27 Rate rhinoceros
My point is ...
|
|
Re:Tower of Brahma
« Reply #22 on: 2004-05-22 11:33:43 » |
|
[rhinoceros 1] I saw no answer to how you can combine eight 8s to form the number 700, using only the eight 8s, the +-*/ signs and parentheses. If nobody finds an answer by tomorrow this is automatically declared a "TDCoV problem" (Too Difficult for the Church of Virus).
[rhinoceros] Update: It was not "technically" a TDCoV problem after all. I received a solution from an unnamed lurking virian, which proves that we do have the potential...
<begin quote>
Solution: 88 * 8 - (8 + 8 + 8 + 8) / 8
Methodology: I began by considering "888 - n" where the result of n would have to equal 188, and to generate the 188 started by exploring the power series (i.e. 8, 64, 512, 4096). I realized this was a false path as it would take too many of the eights. So I tried "88 * 8", yielding 704, which I immediately observed left the trivial problem of finding a means of providing a result of 4 while consuming 5 eights. Combining the two made for the above.
While the BODMAS precedence rules allow for 'most terse' expression of solutions, I personally prefer and encourage the use of a more explicit (and computer friendly) articulation reflecting the precedence clustering, e.g.:
(88 * 8) - ((8 + 8 + 8 + 8) / 8)
My actual notes (I used a text editor) during the "hunt": 8 8 8 8 8 8 8 8
888 - 188
188 =
8 * 8 * 8 * 8 = 4096 8 * 8 * 8 = 512 8 * 8 = 64
88 * 8 = 704
Writing this note and explaining the method used took much longer than finding the solution... as is so often the case.
<unnamed virian's greeting> <unnamed virian's signature> <end quote>
[rhinoceros] I take notice of the last comment which may be of some value regarding "how we think".
|
|
|
|
|