It's just irrelevant for big-O complexity what happens for instances below a constant threshold, so the algorithm uses the simplest approach and moves on. If you have an exponential-time algorithm that's faster than brute force for small instances, you can use that and get a faster overall runtime at the same big-O complexity. If you can lower the switchover threshold, ditto. It's a bit weird to dismiss the subexponential algorithm just because it's leaving an obvious optimization on the table... it can only get faster from here.
The thing is: You cannot eat, or live inside, or get medical treatment from, stocks.
Wealth taxation cannot redistribute the kind of wealth we care about most. At least not by itself.
You need someone to buy the stocks in exchange for labor. So you need to keep the stocks themselves valuable.
As an extreme example, if you'd just take away all the SpaceX and Tesla stock from all shareholders and redistribute them, they would probably be near worthless because you just demonstrated that their value is more or less random.
I think that wealth taxation will only work if you give ironclad guarantees that people that are merely rich or middle-class will never be subject to it. If you can show that a stock is more valuable to, say, a medical doctor, then to the CEO of a hyperscaler, you might have a working system.
Of course they buy real things for it. And of course they do buy a lot and take up a lot of resources.
But I think it's orders of magnitudes below what their wealth number suggests. For instance, I don't believe that Elon Musk uses hundreds of square kilometers of living space (US average is 66m², scaling by wealth would give Elon hundreds of square kilometers). Same holds for food, heating, medicine, etc.
The main purpose of wealth tax is not redistribution, but curbing the tide of power concentration.
If large fortunes keep doing 5-7% per year compounding, outpacing the avg. growth rate of economy, wages etc. then we keep ending up with Musk-like figures with such outsized amounts of power and influence that it basically destabilizes democracy altogether.
You can't get rid of these people because they just have too much influence -- i mean, literally buying entire social media platforms. C'mon.
Its really just a question about whether you want society to continue functioning with some semblance of fairness and stability.
Fighting power concentration is a whole different game and I agree that it's necessary. But I think that wealth taxation isn't the right tool for it at all. You need something much more progressive than that.
Why though? I mean, why can't we make piecemeal reform that forces billionaires to accept 4% return on capital instead of 5% as a small step toward a more equal society?
The algorithm is still exponential, it just not in the class that the ETH claims. In practice it's likely worse than current algorithms for any reasonable input you might throw at it, and starts getting faster only once the problem is already too big.
2^(n/logn) will eventually be smaller than (1+epsilon)^n for any fixed positive epsilon. However, as log(n) grows quite slowly n will have to be exceptionally large. For epsilon=2^-D n will have to be something like 2^(2^D) large.
Maybe a house tax should not be based on the value of the house, then?
You could easily imagine a flatrate per square meter. Or a flatrate per capita.
For the "stronger shoulders should carry more" argument, I'd look at the income from the property. If someone owns a collection of old paintings, why should they be taxed based on their value?
> If someone owns a collection of old paintings, why should they be taxed based on their value?
If someone owns a collection of paintings which they're not trying to leverage as an asset, there's no reason for their market value to be known. But if they're putting the paintings up as collateral for loans or something else that demands our participation, then they can pay the rest of us for that privilege by paying taxes on the value of the paintings. Otherwise what reason do we have to acknowledge their property rights?
Perhaps at one time you could've said: "they'll, in turn, acknowledge yours." But so many of us have no property, so that deal is deteriorating.
There are two things I don't understand about this story.
First, why does an agent get any write access to artifactory at all?
Second, why is the artifactory cache not disconnected from the net? Surely you'd not feed it with new software versions while the eval or training is running.
From what I can understand from reading a few different, slightly conflicting, versions of these events: they weren't given write access. They found a zero day exploit that allowed them to create folders, and the folder names were initially used for agents to communicate.
I'm not sure artifactory was connected to the net. Some agent sandboxes had internet access and were able to communicate with ones without access via artifactory.
I read the agents used SSRF via artifactory to gain uncontrolled access to the net.
Apparently their intended net access went through a tightly controlled proxy. Even that appears to be very risky, tbh.
If I was to setup a sandbox for such a complex and autonomous system, I'd probably point them to an archive-like cache for net access and cut their comms at the package level.
I have a few 'conspiracy' theories on this that go from likely to sci-fi.
My two big ones for this would be
1. They do monitor the AIs attempting to hack but for different reasons than you expect. Instead of making models that don't hack they are trying to build the most efficient hackers in the world and sell this capabilities to governments for billions. Because of this they generate terabytes of hack attempt logs and agent history doing this hacking. So when a new model came out with better abilities what they were looking at changed and they didn't realize it. They were already numb to alarms and missed when the danger occurred.
2. Like the above, they generate terabytes of logs per day. Because there is so much data AI filters and monitors almost all of it flagging things that a human should review. But for some reason this model didn't set off those flags. The protection model classified this behavior as perfectly safe.
Number 2 sounds kind of like a sci-fi conspiracy but it seems that almost all models judge content generated by the same model or family of models as 'better'. It's predicted that models in a judging context could allow things to slip by as an emergent behavior of reading the text.
So rewriting gets cheaper and cheaper. New features fall more or less into the same category. Refinement doesn't.
The question is: Will we live in the world of breathless re-implementation, new features every week, rebranding every quarter or will we eventually discover the value of stability, software that does its thing more or less optimally for decades?
Recent examples of things like curl or Firefox are interesting in that regard. Will we end up with a nearly perfect HTTP user agent and stick with it for decades?
It certainly helps to be neighbor with an economically strong but demographically weak and overly beaurocratic country that hungers for eager, competent workers.
Who said that? It certainly helps. Poland has close trade and manufacturing ties to Germany and has rightfully developed from a "cheap" image to "quality that's still affordable" image.
> The point of types is to prove the absence of errors
Maybe for you. Originally static typing was to make the job of the compiler easier. Dynamic typing was seen as a feature that allows for faster prototyping.
And no, dynamic typing does not mean untyped. It just means type errors are checked at runtime instead of compile time.
You can have strongly typed dynamic languages. Common Lisp is a very good example.
Weak typing is a design mistake. Dynamic typing has its place as it allows you to have types that are impossible to express in most static type systems while avoiding the bureaucratic overhead of having to prematurely declare your types.
The best languages allow for gradual typing. Prototype first then add types once the general shape of your program becomes clear.
You seem to have no idea what you're talking about. Type theory is a thing, much older than any compiler. And soundness has a meaning.
> It just means type errors are checked at runtime instead of compile time.
This is a fundamental misconception. A type checker proves the absence of errors. It doesn't check for error conditions. That is: A program that isn't (cannot be proven to be) well-typed can very well be correct. But a program that is well-typed is guaranteed to be free from certain errors.
What you call "dynamically typed", in contrast, is comsequent just value inspection and stopping the evaluation/execution early. A program that has been executed successfully often is not necessarily correct.
Interestingly enough, I have never needed them there. Granted, I have written a few orders of magnitude less Haskell than I have C++. Still, the difference is worth interrogating (when I'm less sleep deprived).
Surely it cannot be necessary for the complexity result?!
reply