I've been thinking about this a bit and concluded (surprisingly!) that it is probably not an asymptotic speed up!
First thoughts: The memoization algorithm is linear in n, and the repeated squaring algorithm is logarithmic in n, so the second one is faster.
Second thoughts: Fibonacci numbers grow exponentially, so we should consider the speed of actually adding and multiplying them. Adding is linear in the number of digits, so linear in n (because F(n) grows exponentially). Multiplication is quadratic in n! The memoization algorithm is repeated adding, so we get an extra linear factor, total complexity O(n^2). The repeated squaring uses multiplication, so we get an extra quadratic factor, total complexity O(n^2 log n). The first is faster!
Third thoughts: the fastest known algorithm for multiplying numbers is actually O(n log n) in the number of digits. We're down to O(n log n log n). The second is faster! That's probably terribly impractical, but there are apparently multiplication algorithms that are less impractical, with a smaller exponent than 2, so still an improvement over the first method.
But without specialized multiplication routines, the first is asymptotically faster.
As an unimportant bit of trivia, that's only true on the non-existent platforms with O(1) bignum operations. The output size is exponential in the input, guaranteeing that any non-approximate answer requires O(exp(n)) computations to produce on a real-world register machine.
Maybe embrace is the wrong word. Rather, it was hard for your left hand to know what your right was doing so to speak. So you could easily separate parts of your life. Maybe you were totally normal but had some weird hobby that you engaged in with a group of people every third Saturday. You could successfully construct alternate personae for different groups. Nowadays, your entire life has to be bared out for everyone, and this means that everyone wants to do the same things.
Vast sprawling suburban wastelands with no services is not the solution. Just build houses is easily said but it’s not necessarily where people want to live.
Also, with heavier vehicles, you aren’t going to magically be able to use less overall power to drive them. ICEs aren’t as efficient as larger power factories, but they also don’t have dozens or hundreds of miles of transmission losses and transformers to run through. All renewables combined just surpassed coal in the US (report date Feb 2023) but that’s still only about half as much as comes from natural gas: https://www.eia.gov/tools/faqs/faq.php?id=427&t=3
Public transit would still be an order of magnitude or two better. Bikeable / walkable cities would be better still.
I’m not saying EVs bad, but I am saying that EVs won’t solve climate change. We need to do a whole lot more, and I have zero confidence that we will. It’s just a matter of how bad and how soon. As someone in my 30s, I very much doubt that we’ll get to enjoy retirement with the same standards of living as the previous couple of generations, and as for our children and their children…I don’t think a Mad Max scenario is more than a hundred years away.
1) EV’s are more efficient. It’s already more efficient to burn the gasoline in a power plant to power your EV. Yes, transmission has losses, but gas cars are an atrocious 15-20% efficient. (Not that we should do this)
2) even if EVs don’t cut the transportation energy as much as we wish, they allow the entire fleet to smoothly transition to climate-friendly energy.
I love bikes. I have an e-bike that is 10x as efficient as an EV. But the public simply isn’t willing to switch to public transit and bikes. Even if they were, a fleet of gas-powered busses will probably be worse for the climate than wind-powered EVs.
P.S. microplastics are a real problem, but if you believe climate change is an existential threat, microplastics are not a very good reason to argue against EVs.
> Yes, transmission has losses, but gas cars are an atrocious 15-20% efficient
I thought you had to be exaggerating, but I just looked it up and you're right.
Holy moly. I'm genuinely surprised this isn't more widespread knowledge. I never hear it come up in most conversations around the pros and cons of EV's.
Your comment might be more insightful if you clarified why. Because they didn’t come fast enough? Or because you were hoping to politicize the climate crisis as an opportunity to kill the automobile?
I don’t want cities to build stupid EV charging crap everywhere. They could invest that in public transport instead. EVs have all the same social problems as cars.
Stupid charging crap is easy to do piecemeal. A bus line that only covers two blocks doesn't make sense. A bus line that only covers the major street doesn't help a lot of people. A public transit system that can get most people where they want to go is hugely expensive in time, money, and space, and can't replace the public roads + private car transit system until it's nearly complete.
Use a programming that is decoupled from stateful manipulations and control flow?
Programming does not need to involve itself with the hardware, that’s just a tool for evaluation. A program is an idea expressed in a language. It’s some formal statement of intent. Sometimes we can evaluate it to produce an output. Sometimes these statements are muddied by underlying representations.
The length of a declarative program seems a pretty good rough measure of complexity in the way you are talking about. Operational complexity of course, in the number of steps to actually evaluate it is a bit different, based on what you are using.
Why are there so many water from x devices from MIT. Water from air, water from salt water etc. Is this all they do lol? Is there a group of people responsible?
Yes. There's government money for "water and sanitation issues". NGO money too, but most of that is government money.
All of which issues have conventional solutions, but it's hard to assert you have a breakthrough with an incremental improvement to conventional solutions. And most of the time, deep incremental improvements require a lot of practical domain knowledge of the sort academics and especially their graduate students don't have.
You can probably still win an award for proposing using a lawn roller, as described in U.S. patent 1538550, filed in 1924, for transporting water in developing countries. If you're the right sort of person. More than one person has.
Actually figuring out how to bring sewers and water treatment and indoor plumbing to people in developing nations, that's too hard, too much like work, undeserving of your unique genius.
Megacorp scraping the entire internet vs individuals sharing knowledge on a platform are a completely different scale.