Posts for andymac

Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
I read an article about this. It's actually because the level has slopes in it. All levels with slopes in them have different terrain detection. The first difference is that you get ejected upwards instead of to the right, and you get ejected upwards VERY FAST. This stops you from glitching through slopes. The check for Mario landing is only performed when his vertical velocity is downwards, so Mario cannot land if he is still rising from a jump. If Mario were to rise slower than a slope, he would go into the slope, so to correct this, the game ejects Mario upwards. (It also prevents Mario running from a flat portion of ground into the body of an upward slope for more than 1 frame) The second difference is about standing on the corners of blocks. Mario can stand on the corner of a block if and only if he is in a level without slopes. Normally, Mario can stand in such a way that his center is off the side of the block and only the very edge of his graphic is touching the block, allowing him to seemingly stand in midair sometimes. However, in levels with slopes, Mario's center has to be on the block, and we get a few less pixels of extra movement. This has to do with the fact that it allows Mario to run from a flat portion of ground, to a downward slope seamlessly without running off the edge into the air, and falling onto the slope. Without the ability to stand on the very edge of a block, we lose the ability to do a walljump. With the ejection upwards instead of to the right, we lose the ability to fall through blocks (because it will push you upwards, back on top of the block.) Reference: "Programming M.C. Kids" (Under: Terrain) http://games.greggman.com/game/programming_m_c__kids/ This article describes terrain detection from a programmer's point of view and makes several references to Mario 3.
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Couldn't you just use HSWK in that version? or is that fixed too?
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Okay, so we agree... what's your point?
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Let me disambiguate this situation. I use "Symbol" to mean two different things. So I'll introduce two new words, let's use "digit" and "character". Digit will represent length, and character will represent type. For example, the number 1111 is four digits long, but it only uses one character. We can represent all rational numbers using one character. However, we cannot place a limit on the number of digits. If you tried to represent all of your integers using only three digits, you would need an infinite selection of characters (which is what I meant by an infinite alphabet). If you place a limit on the number of characters, then you will need a potentially infinite number of digits to represent all of your numbers. However, if your number is finite, then the number of digits required to represent your number will be finite as well.
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
So far there are only 10 numbers, 26 letters of upper and lower case and however many other special symbols you want to add to your alphabet. If you want to represent all the integers with only three symbols, you're going to have a bad time. You would need the aleph-naught members in your alphabet in order to represent all the integers if you only wanted to use 3 letters/numbers/characters. Or are you talking about how many unique symbols you need? In which case, you can use one symbol to represent all rational numbers.
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
When we say symbol, we are talking about individual digits of a number, a decimal point, or an addition sign for example, and not numbers themselves. If you are talking about referring to rational numbers of the form a/b, and saying that requires only two symbols, you are mistaken (unless you have an infinite alphabet). It only requires one integer to represent all rational numbers anyway, since the number of rational numbers is countable.
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Here's a system which I believe fits your criteria (or at least gets close) Each number can be represented by a sign plus a set of integers. How it works? The nth integer in the series represents the power in which you take the nth prime to get your number. Decimal points and numbers afterwards are not defined in this system. We assume infinite trailing zeroes. let's define 1 as negative, 0 as positive and 2 as zero. A number such as 5 would be represented by [0, 0, 0, 1] = ( 1 * 2^0 * 3^0 * 5^1). A number like -12 would be [1, 2, 1] = ( -1 * 2^2 * 3^1 ) A number like 2.5 would be [0, -1, 0, 1] = (1 * 2^-1 * 3^0 * 5^1) There is a unique representation for every rational number. Taking all the primes with negative exponents, we get the denominator of the fraction. Taking all of the primes with positive exponents, we get the numerator. They must be coprime because they have no prime factors in common. We also know that there is only one unique representation for any rational number using a fraction where both the numerator and denominator are coprime. Unfortunately this method does not have a very good way to express 0. Introducing a third number for the sign can fix this However, that means you can put whatever you like for anything past the first 2, however if you do decide to remove the sign digit, it does provide a way to express all positive rational numbers uniquely. Maybe this isn't exactly what you're looking for, but I think it gets pretty close. EDIT: Actually, there is a simpler way which also includes 0. Define all rational numbers in this way: One integer and one natural number. The integer will represent the numerator of the fraction. It can be any number, even negative, but it must be an integer. The natural number n is the nth smallest natural number that is coprime with the integer described above. For example, 5 would be [5,1] = (5 / 1 (1 is the first coprime number to 5)) , -3.33333 would be [-10, 2] = (-10 / 3 (3 is the 2nd natural number coprime to 10)). 0 is [0,1]. There is no other way to express 0 because there is only one natural number coprime to 0, an that's 1. [0,2] is not valid as it implies there is a second natural number coprime to 0.
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Using any language composed of a finite number of countable symbols, we can't express any real number anyway, there are just more numbers than there are combinations of symbols, however, we can get as close as we want to any number. If we are only concerned about getting as close as we need to, then the decimal system should work just fine. 0.9999999999... is not a valid representation of a number in a strictly defined decimal system. Why? Because in order to represent that the number is recurring, we needed to add an ellipsis. Strictly speaking, we can say the ellipsis is not a defined symbol, therefore, 0.999999999... is not a valid representation of the number 1, and 0.999999999 is a different number than 1. We can get as close to any number you want with only a finite number of symbols. If we have an uncountable number of symbols, then you could just give each real number it's own unique symbol, therefore satisfying your criteria.
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Let's say you symbols are a number of dots. The distance between successive dots is used to carry information. If for a minute, we ignore that we are in a quantum reality, and that you can place the dots anywhere along a straight line, and we can measure the distance without error, then we can use the distance to represent any real number (as you can have any real distance between the dots). Note: in this scenario, even if we limited the maximum distance between successive dots to be, say 10 cm, we could still represent all reals with only two dots. More dots are not strictly necessary.
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Scepheo wrote:
andymac wrote:
I don't remember the initial question asking about the expression of numbers. I thought it was about the naming and referencing conventions.
Yes it is. However, "the 315th busy beaver number" is, in fact, a formal expression of a number.
... that's what I said. We move on from busy beaver numbers of turing machines to busy beavers of hypercomputers. My point was that really, if you allocate yourself a finite number of symbols n, then generally, you can reference a number that is a) impossible to find, even given an infinite amount of computing power (so busy beaver numbers do not fall into this category, eventually, if we had an infinite amount of time, we could solve them), and b) larger than any definitively named and referenceable number with n symbols. Allthough you can still technically name these numbers, the point was that even if the number was written down in front of you, you still couldn't tell that it was the number you were referencing, even if you could solve the halting problem, and also it would be larger than any number you could find definitively. Therefore, referencing a number in this way, you may as well say the number is "very large" because it doesn't provide any more or less information about the size of the number. http://en.wikipedia.org/wiki/Hypercomputation
If your set of symbols is uncountable you can represent the reals just fine.
That's only always true if the continuum hypothesis is true, and we can't prove that. Generally it's true.
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
I don't remember the initial question asking about the expression of numbers. I thought it was about the naming and referencing conventions. The question was whether or not numbers exist which cannot be named or referenced using a language i.e. they are so large, that you cannot say exactly what the number is. I think depending on your definitions, there are multiple answers to this question. If we use a symbolic, sequential language to define numbers ( for example, the ASCII alphabet) then the upper bound on numbers that you can express using this language is 256^n where n is the number of symbols you used. the reals are not countable, and so some numbers may require an infinite number of symbols to be expressed. I brought up the concept of busy beaver numbers, because their digits cannot necessarily be found, also, it is known they grow faster than any computable function, however that does not mean they cannot be written down. A finite amount of resources is required to write down the digits of any busy beaver number, not to mention, you can always say "the 315th busy beaver number" to reference a busy beaver number. Therefore, the largest number referenceable with n symbols (for many languages, not all) will be greater than a busy beaver number. However, bringing up "super" busy beaver numbers now brings up a new point. Previously, we could run an algorithm that could calculate busy beaver numbers, albeit, it would take an infinite time to do so, hypercomputation is not even conceivable, because it is not possible physically (yet), and definitely not possible by our brains. We have no real conceivable notion about what these machines do, so really, not only do we know that these large numbers exist, we have referenced them in such a way that there is no algorithm at all, not even one that would run in an infinite amount of time that could calculate the value of such a number. Therefore, you may as well have said that these numbers are just "very large" or "larger than the limit of defineable numbers written in n symbols". Such a number is too large for any naming conventions, as it cannot be definitively named. However, let's say we managed to stumble upon the digits of the nth super busy beaver number, and wrote it down, not knowing that it was in fact the nth super busy beaver number. You could probably use the same number of symbols to define an even larger super busy beaver number. so if we allocate ourselves a finite n, the largest number we can reference definitively, is less than than the largest number we can define, but not find at all (even with an infinite amount of time).
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Uncomputable functions such as busy beaver numbers have proven to grow faster than any computable function in existence. If such a number existed that was so large that it could not be referenced, then it would have to be uncomputable, since these are the largest kinds of numbers. We need to search not only for a number which is uncomputable, but in order to find a number that is uncomputably referenced, it's name has to be uncomputable itself. I think by their very nature, these numbers may be difficult if not impossible to prove to exist at all, however, I can still define a theoretical finite number N, the smallest uncomputably named number in existence, and if it exists, I have just given it a name, however, it seems to me that there is no probable way of proving whether or not these numbers exist at all. I think this may be similar to the idea of a "super" turing machine. A machine which is capable of solving the halting problem. The busy beaver numbers for those machines are in a way uncomputably named.
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
This reminded me of this XKCD comic (3rd panel). Graham's number is very very large. Knuth's up arrow notation is used to describe how large this number really is. Multiplication is just repeated addition of one number again and again and again, the same way exponentiation is repeated multiplication again and again. Knuth decided to extend this concept to tetration, which is repeated exponentiation, and so on and so forth:
a+a+a...a+a+a = b*a (multiplication)
\-----v-----/
   b many a's

a*a*a...a*a*a = b^a (exponentiation)
\-----v-----/
   b many a's

a^a^a...a^a^a = b^^a (tetration)
\-----v-----/
   b many a's

a^^a^^a...a^^a^^a = b^^^a (ect.)
\-------v-------/
   b many a's
Forgive my horribly ASCII curly brackets. Grahams number is defined as such:
3^^...        ...^^3    \
\--------v---------/    |
                        |
 3^^...      ...^^3     |
 \-------v-------/      |
         .              |
         .              > 64 layers.
         .              |
  3^^...    ...^^3      |
  \-------v------/      |
                        |
       3^^^^3           /
So it is very large indeed. Then putting it into the ackermann function (which increases very fast) is horrifying prospect. Even so, there is another notation, called conway's chained arrow notation which makes numbers increase even faster. Even so, these numbers are computable and real and can be referenced. This brings me to the topic of some truly terrifying numbers which grow larger than any computable function in existence: Busy beaver numbers. The halting problem in mathematics has been proven to be incomputable. The problem is whether or not a turing machine with n operational states will ever halt. The problem is proven impossible for any computer to figure out. The busy beaver number is the number of operations it takes for the longest running program on a turing machine before it halts. Therefore, we know that if a turing machine runs longer than this, it will never halt, and run indefinitely. If we knew what the busy beaver number was for an n state turing machine, we could simply run the program, and if it runs for more operations than that number, we know it will never halt. Thus we would have a foolproof solution to the halting problem. Unfortunately, we already know a solution doesn't exist, so we can't know what these numbers are. Similarly, if we could compute a number larger than the busy beaver number, we could use that number instead to find a solution to the halting problem. Therefore, the nth busy beaver number is larger than any computable number with an n state turing machine. If we could implement chained arrow notation or up arrow notation in an n state turing machine, then we already know that the nth busy beaver number will be larger than any number possible with chained arrow, or up arrow notation, (or any other notation for large numbers). So yes, in a way, there are numbers that are finite, but not reference able. (by the way, busy beaver numbers do in fact exist, and they are finite, the first four are 1, 4,6,13, and the next one is at least 47,176,870)
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Honestly, how many one and a half hour runs on this site have no known improvements anyway? The ones that do have probably never been scrutinised by anyone except the author, let alone a significant community. Known improvements are just a way of life for long runs, especially 3d ones. What's really appalling is that we have a published run on this site that is being rivaled by real time runs. There will always be improvements anyway, you just won't know about them.
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Would anyone be interested in seeing a super hard completion 100%? maybe without zipping to make it more interesting... EDIT: or maybe an "all gems" run, as that would force a run that goes through all of the puzzle rooms.
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
I was going to do a super hard run beforehand, but I stopped because I found the zipping glitch, and I also was informed that it would not obsolete the old run, and would therefore probably not be accepted on the grounds of being too similar.
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Good work! Very happy for this to replace my old run.
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
I started a quick dirty run for the SNES a while ago if someone wants to use that as a baseline...
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
sonicpacker wrote:
If you have 118 stars and find an improvement on star number 2...let's just say you no longer have 118 stars.
SM64 is still very hex friendly. It fits a lot of the criteria. Encountering the RNG is a problem for any game with an RNG, and most games have an RNG. However, most games have additional complications as well. I have only encountered one game that is more hex friendly than SM64.
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
I thought we already tried this, You can't skip the intro stage by pipe glitch...
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Whose runs are you comparing to? I think one of them is mine, and the other is Chef Stefs is that right?
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Honestly, I think that humans are pretty much deterministic, otherwise, A lot of people I know would be out of a future job (they study medicine at my university) I don't think belief has much to do with anything, apart from the placebo effect in this field. Medicine works, but it wouldn't if we didn't know how humans worked first. Otherwise, As far as free will is concerned, I still think it exists, even if we are deterministic or not. Free will is so poorly defined anyway.
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Not even close. I think skate or die takes the cake for that. Over a year on the WB.
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
http://dehacked.2y.net/microstorage.php/info/1793179306/SuperMarioAllStars.smv I did this as a filler for my youtube channel a while ago, it's 100% up to the the world 3 autoscroller in SMBAS. It's improvable in a few places, and I frequently misjudged HB manipulation, but there's a start.
Measure once. Cut twice.
Experienced Forum User, Published Author, Experienced player (619)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Here's my desktop: •Debian wheezy running GNOME. •I generally go through computers fast enough that it's not worth messing around with configuration too much, but I have changed the theme a little •As for GNOME vs KDE, I don't really care. They're all the same to me. •I don't put anything on my desktop. All of my common programs are on shortcut keys, and on the quick launch bar at the bottom. •My main screen is the one on the right, with no toolbars. •Terminal is probably the third most used program on my computer. Except for the file and web browsers.
Measure once. Cut twice.