ברוכים הבאים לאתר תחרויות קודגורו! › פורומים › ראשי › q. 32 – a message i´ve sent to CodeGuru
- This topic has 26 תגובות, 7 משתתפים, and was last updated לפני 23 שנים, חודש 1 by אורי יאנובר.
-
מאתתגובות
-
30 בספטמבר 2001 בשעה 01:21 #78875
כותרת: האיש אמר פעם גם ש-
If it ain´t funny, don´t say it.))))))))
30 בספטמבר 2001 בשעה 04:22 #78876Michaelמשתתףכותרת: What I have to say
Uri, now you are wrong, I think
That´s exactly what I was talking about – the "either through Class.byName or simply by copy-and-pasting its source" is another input. Why should I tell you what´s my source and what´s my name anyway? Most commercial products won´t, as you know.
BTW, out of curiosity, where did you hear about Turing´s theorem?Talking of philosophy and logic, does nybody have something to say about my original claim about the AI?
I don´t think somebody contradicted it. We´re discussing only the applicability of Turing´s theorem…….30 בספטמבר 2001 בשעה 17:09 #78880דניאל קמשתתףכותרת: הבעיה עם אמרות של אי אפשר זה שהן תמיד מוכחות כלא
נכונות.1 באוקטובר 2001 בשעה 15:46 #78883אורי יאנוברמשתתףכותרת: I don´t think it to be another input
First of all, if such an algorithm exists, then it must surely have _some_ code. Now for Java you can invoke it with the said-above methods; or you can write a JVM-on-JVM which will do that for you; or you can write an x86 CPU emulator with Java, and use it to run another JVM to run your code, but there must be some way to run it anyway, or how else would you execute it in the first place?Also, note that a software being closed-source does not mean that it is not algorithmic: it always comes down to machine code, which can be disassembled an reused, if such a desire exists.
As to the AI argument, any AI system that one builds with a computer also comes down to the machine code. Now, it is equivalent to an algorithm (a program for a Turing machine), and we´ve already proved that it is impossible to construct a halting algorithm.
One should also note that it is possible to construct a heuristic algorithm which detects some of the halt conditions. (i.e. things like int i = 1; while(i){}). It seems that humans also use some sort of a heuristic to do this. However it is impossible to construct an algorithm that does so for all problems (as we´ve been discussing for a while now).
4 באוקטובר 2001 בשעה 21:54 #78885כותרת: Michael might be right
I heard that our universe came from one spot. Thus I can suppose that energy in our universe is finite.Now, the problem with q. 32 is that it speaks of a JAVA app, which requires energy to run. We´re not talking about algorithms, things that "run" in our brains. We talk about JAVA apps, things which run on a computer, and require energy.
Thus, we can safely say *every java function will eventually halt", either because it has finished it´s running cycle, or ran low in energy.
function Halt( s, t : string ) : boolean
begin
Halt := true;
end;Here you go. It will always return the true answer. Every JAVA app will halt eventually.
-Venndigram
4 באוקטובר 2001 בשעה 23:00 #78886Michaelמשתתףכותרת: re: venndigram´s point
Thx, venndigram!!!
In case the post isn´t one of those sarcastic notes…
But, officially, this is not one of my points.
!Someone!!! respond to the AI part, let Turing alone
Don´t think i did, i have some ideas about Turing….
===Consider this: the halting problem was solved 25 years before the Turing test was introduced…. What does it mean?
5 באוקטובר 2001 בשעה 14:56 #78887אורי יאנוברמשתתףכותרת: I´ve already made an AI argument
I´ve already written an (counter-)AI argument, under the title "I don´t think it to be another input". It is basically because every AI implementation comes down to the machine code of a CPU, and the machine code is equivalent to an algorithm in Turing´s understanding (a program for a Turing´s machine). So an AI is still algorithmic, and its ability or inability to determine a halt comes down to the previous part of our discussion.Also, please note that concerns about power, disk space or CPU power are not so relevant, the question is abstract. Everything in this universe is finite, however logic is not.
5 באוקטובר 2001 בשעה 20:16 #78888כותרת: אורי ! לא הבנת !
זאת בדיוק הנקודה, אורי !
בגלל זה כל הויכוח !
אנחנו *לללללאאאאאא* מדברים על בעיה אלגוריתמית, אלא על בעיה *מעשית* לחלוטין !!!!!!!!!!!
ג´אווה ! ולא אלגוריתם !
עכשיו תקרא שוב מה שכתבתי – תבין מה קו המחשבה שלי ושל מיכאל.5 באוקטובר 2001 בשעה 21:26 #78889אורי יאנוברמשתתףכותרת: Java IS infinite
First of all, I´d like to say that both of you (Venndigram and Michael) have raised interesting points throughout our discussion. If the question´s wording had been different, your argument would have solved it. However, since the question is as it is, I still disagree with you.When we talk about Java programs, we sometimes talk about the binaries that are compiled with javac and run with a JRE. That Java, of course, may not run endlessly. But that Java might also have a bug in the compiler, a stack overflow or a spontaneous change of a bit because of a passing gamma-particle from the Sun.
In order to avoid such unpredictable behaviors, we should always talk with a certain degree of abstraction. This Java does not run in our universe; it is abstract. We could, of course, argue whether the abstraction should be infinite in the dimension of time. I think that yes, since otherwise we will have difficulty declaring what is a halt, thus making the whole question senseless.
This abstract Java is in some aspects more powerful than the "real" Java. It is not constrained with things like time or (memory) space. It is fully equivalent to a Turing machine (which has an endless tape). But it still cannot be the means to write an algorithm that checks whether another algorithm halts or not, exactly because of this equivalence.
If you want to put Java in our universe – fine, so be it. But there´s no way it will be capable of answering a question about unlimited time, because any time is limited. And if make it abstract, you still won´t be able to write such an algorithm because Turing proved it impossible.
6 באוקטובר 2001 בשעה 04:53 #78890Michaelמשתתףכותרת: re: AI
Oh, come on, it´s not a contr-AI argument
I meant a real contr-AI argument. Like, show me where
I am wrong in my reasoning, if you think I am…..That´s what I meant, at least….
And, sure, if we don´t consider memory issues, I have
nothing to say about the use of Turing´s theorem.
Only that the question was about a program in a specific language.
I wasn´t about algorithms, but about real code.As I wrote, if it´s about real code, Turing´s proof might not work, do we agree here?
Now, back to the memory (:. The algorithm Halt is unable to declare how much memory it needs. Now, if my algorithm doesn´t know how much memory does an algorithm need, how the hell is it supposed to work??? A little unfair, isn´t it? Or not? One would consider it (sorry for my repetitions, I´m quite out of arguments…..) as another input.
BTW, mind that there is no "new" operator in Java, I think. (I´m not quite sure, and have no mood to check. I learned Java about 3 yrs. ago when I wasn´t quite aware of the existence of quadratic equations…
Now, that I´m aware of the existence of a continuum of different algorithms, it´s different).6 באוקטובר 2001 בשעה 05:00 #78891Michaelמשתתףכותרת: P.S.
Sorry, didn´t read your very last post.Next time I am in the right mood – My response
M.
8 באוקטובר 2001 בשעה 17:09 #78892אורי יאנוברמשתתףכותרת: As to the energy…
You are right that the energy in the universe is finite. However, the energy is preserved, so that even if your computer "uses" energy, it also "gives" it, in the form of heat, light, radiation etc. It can be proved, though, that the entropy always increases, so that for every amount of energy required, there´s going to be a moment when it will be too dispersed to be useful. -
מאתתגובות
- יש להתחבר למערכת על מנת להגיב.