To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

4,5
Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
Live Statistics
English Articles
Improved in 24 Hours
Added in 24 Hours
Languages
Recent
Show all languages
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.
.
Leo
Newton
Brights
Milds

Zero one infinity rule

From Wikipedia, the free encyclopedia

The Zero one infinity (ZOI) rule is a rule of thumb in software design proposed by early computing pioneer Willem van der Poel.[1] It argues that arbitrary limits on the number of instances of a particular type of data or structure should not be allowed. Instead, an entity should either be forbidden entirely, only one should be allowed, or any number of them should be allowed.[2] Although various factors outside that particular software could limit this number in practice, it should not be the software itself that puts a hard limit on the number of instances of the entity.

Examples of this rule may be found in the structure of many file systems' directories (also known as folders):

  • 0 – The topmost directory has zero parent directories; that is, there is no directory that contains the topmost directory.
  • 1 – Each subdirectory has exactly one parent directory (not including shortcuts to the directory's location; while such files may have similar icons to the icons of the destination directories, they are not directories at all).
  • Infinity – Each directory, whether the topmost directory or any of its subdirectories, according to the file system's rules, may contain any number of files or subdirectories. Practical limits to this number are caused by other factors, such as space available on storage media and how well the computer's operating system is maintained.[citation needed]

In real-world software design, violations of this rule of thumb are common. For example, the FAT16 file system imposes a limit of 65,536 files to a directory.[3]

YouTube Encyclopedic

  • 1/5
    Views:
    3 311 549
    19 641
    205 114
    20 182
    576 129
  • Introduction to limits | Limits | Differential Calculus | Khan Academy
  • Check Point Cyber Security: Network, Firewall, Data Security Solutions | Cyber Security Software
  • Hilbert's Curve: Is infinite math useful?
  • Check Point: Introducing Software-defined Protection | Cyber Security Software
  • Newton's Method

Transcription

In this video, I want to familiarize you with the idea of a limit, which is a super important idea. It's really the idea that all of calculus is based upon. But despite being so super important, it's actually a really, really, really, really, really, really simple idea. So let me draw a function here, actually, let me define a function here, a kind of a simple function. So let's define f of x, let's say that f of x is going to be x minus 1 over x minus 1. And you might say, hey, Sal look, I have the same thing in the numerator and denominator. If I have something divided by itself, that would just be equal to 1. Can't I just simplify this to f of x equals 1? And I would say, well, you're almost true, the difference between f of x equals 1 and this thing right over here, is that this thing can never equal-- this thing is undefined when x is equal to 1. Because if you set, let me define it. Let me write it over here, if you have f of, sorry not f of 0, if you have f of 1, what happens. In the numerator, we get 1 minus 1, which is, let me just write it down, in the numerator, you get 0. And in the denominator, you get 1 minus 1, which is also 0. And so anything divided by 0, including 0 divided by 0, this is undefined. So you can make the simplification. You can say that this is you the same thing as f of x is equal to 1, but you would have to add the constraint that x cannot be equal to 1. Now this and this are equivalent, both of these are going to be equal to 1 for all other X's other than one, but at x equals 1, it becomes undefined. This is undefined and this one's undefined. So how would I graph this function. So let me graph it. So that, is my y is equal to f of x axis, y is equal to f of x axis, and then this over here is my x-axis. And then let's say this is the point x is equal to 1. This over here would be x is equal to negative 1. This is y is equal to 1, right up there I could do negative 1. but that matter much relative to this function right over here. And let me graph it. So it's essentially for any x other than 1 f of x is going to be equal to 1. So it's going to be, look like this. It's going to look like this, except at 1. At 1 f of x is undefined. So I'm going to put a little bit of a gap right over here, the circle to signify that this function is not defined. We don't know what this function equals at 1. We never defined it. This definition of the function doesn't tell us what to do with 1. It's literally undefined, literally undefined when x is equal to 1. So this is the function right over here. And so once again, if someone were to ask you what is f of 1, you go, and let's say that even though this was a function definition, you'd go, OK x is equal to 1, oh wait there's a gap in my function over here. It is undefined. So let me write it again. It's kind of redundant, but I'll rewrite it f of 1 is undefined. But what if I were to ask you, what is the function approaching as x equals 1. And now this is starting to touch on the idea of a limit. So as x gets closer and closer to 1. So as we get closer and closer x is to 1, what is the function approaching. Well, this entire time, the function, what's a getting closer and closer to. On the left hand side, no matter how close you get to 1, as long as you're not at 1, you're actually at f of x is equal to 1. Over here from the right hand side, you get the same thing. So you could say, and we'll get more and more familiar with this idea as we do more examples, that the limit as x and L-I-M, short for limit, as x approaches 1 of f of x is equal to, as we get closer, we can get unbelievably, we can get infinitely close to 1, as long as we're not at 1. And our function is going to be equal to 1, it's getting closer and closer and closer to 1. It's actually at 1 the entire time. So in this case, we could say the limit as x approaches 1 of f of x is 1. So once again, it has very fancy notation, but it's just saying, look what is a function approaching as x gets closer and closer to 1. Let me do another example where we're dealing with a curve, just so that you have the general idea. So let's say that I have the function f of x, let me just for the sake of variety, let me call it g of x. Let's say that we have g of x is equal to, I could define it this way, we could define it as x squared, when x does not equal, I don't know when x does not equal 2. And let's say that when x equals 2 it is equal to 1. So once again, a kind of an interesting function that, as you'll see, is not fully continuous, it has a discontinuity. Let me graph it. So this is my y equals f of x axis, this is my x-axis right over here. Let me draw x equals 2, x, let's say this is x equals 1, this is x equals 2, this is negative 1, this is negative 2. And then let me draw, so everywhere except x equals 2, it's equal to x squared. So let me draw it like this. So it's going to be a parabola, looks something like this, let me draw a better version of the parabola. So it'll look something like this. Not the most beautifully drawn parabola in the history of drawing parabolas, but I think it'll give you the idea. I think you know what a parabola looks like, hopefully. It should be symmetric, let me redraw it because that's kind of ugly. And that's looking better. OK, all right, there you go. All right, now, this would be the graph of just x squared. But this can't be. It's not x squared when x is equal to 2. So once again, when x is equal to 2, we should have a little bit of a discontinuity here. So I'll draw a gap right over there, because when x equals 2 the function is equal to 1. When x is equal to 2, so let's say that, and I'm not doing them on the same scale, but let's say that. So this, on the graph of f of x is equal to x squared, this would be 4, this would be 2, this would be 1, this would be 3. So when x is equal to 2, our function is equal to 1. So this is a bit of a bizarre function, but we can define it this way. You can define a function however you like to define it. And so notice, it's just like the graph of f of x is equal to x squared, except when you get to 2, it has this gap, because you don't use the f of x is equal to x squared when x is equal to 2. You use f of x-- or I should say g of x-- you use g of x is equal to 1. Have I been saying f of x? I apologize for that. You use g of x is equal to 1. So then then at 2, just at 2, just exactly at 2, it drops down to 1. And then it keeps going along the function g of x is equal to, or I should say, along the function x squared. So my question to you. So there's a couple of things, if I were to just evaluate the function g of 2. Well, you'd look at this definition, OK, when x equals 2, I use this situation right over here. And it tells me, it's going to be equal to 1. Let me ask a more interesting question. Or perhaps a more interesting question. What is the limit as x approaches 2 of g of x. Once again, fancy notation, but it's asking something pretty, pretty, pretty simple. It's saying as x gets closer and closer to 2, as you get closer and closer, and this isn't a rigorous definition, we'll do that in future videos. As x gets closer and closer to 2, what is g of x approaching? So if you get to 1.9, and then 1.999, and then 1.999999, and then 1.9999999, what is g of x approaching. Or if you were to go from the positive direction. If you were to say 2.1, what's g of 2.1, what's g of 2.01, what's g of 2.001, what is that approaching as we get closer and closer to it. And you can see it visually just by drawing the graph. As g gets closer and closer to 2, and if we were to follow along the graph, we see that we are approaching 4. Even though that's not where the function is, the function drops down to 1. The limit of g of x as x approaches 2 is equal to 4. And you could even do this numerically using a calculator, and let me do that, because I think that will be interesting. So let me get the calculator out, let me get my trusty TI-85 out. So here is my calculator, and you could numerically say, OK, what's it going to approach as you approach x equals 2. So let's try 1.94, for x is equal to 1.9, you would use this top clause right over here. So you'd have 1.9 squared. And so you get 3.61, well what if you get even closer to 2, so 1.99, and once again, let me square that. Well now I'm at 3.96. What if I do 1.999, and I square that? I'm going to have 3.996. Notice I'm going closer, and closer, and closer to our point. And if I did, if I got really close, 1.9999999999 squared, what am I going to get to. It's not actually going to be exactly 4, this calculator just rounded things up, but going to get to a number really, really, really, really, really, really, really, really, really close to 4. And we can do something from the positive direction too. And it actually has to be the same number when we approach from the below what we're trying to approach, and above what we're trying to approach. So if we try to 2.1 squared, we get 4.4. If we do 2. let me go a couple of steps ahead, 2.01, so this is much closer to 2 now, squared. Now we are getting much closer to 4. So the closer we get to 2, the closer it seems like we're getting to 4. So once again, that's a numeric way of saying that the limit, as x approaches 2 from either direction of g of x, even though right at 2, the function is equal to 1, because it's discontinuous. The limit as we're approaching 2, we're getting closer, and closer, and closer to 4.

Authorship

Van der Poel confirmed that he was the originator of the rule, but Bruce MacLennan has also claimed authorship (in the form "The only reasonable numbers are zero, one and infinity."), writing in 2015 that:

Of course, the Zero-One-Infinity Principle was intended as a design principle for programming languages, and similar things, in order to keep them cognitively manageable. I formulated it in the early 70s, when I was working on programming language design and annoyed by all the arbitrary numbers that appeared in some of the languages of the day. I certainly have no argument against estimates, limits, or numbers in general! As you said, the problem is with arbitrary numbers. I don't think I used it in print before I wrote my 1983 PL book [Principles of Programming Languages: Design, Evaluation, and Implementation]. Dick Hamming encouraged me to organize it around principles (a la Kernighan & Plauger and Strunk & White), and the Zero-One-Infinity Principle was one of the first. (FWIW, the name “Zero-One-Infinity Principle” was inspired by George Gamow’s book, “One, Two, Three… Infinity,” which I read in grade school.) [4]

References

  1. ^ "Willem Louis Van Der Poel". Retrieved 2023-08-25.
  2. ^ "Zero-One-Infinity Rule". Jargon File.
  3. ^ "NTFS vs. FAT vs exFAT". NTFS.com. Retrieved 2015-03-09.
  4. ^ "The Zero, One, Infinity Disease". Retrieved 2019-06-30.

See also

This page was last edited on 25 August 2023, at 10:12
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.