> able to subtract 0.2 billionth of a trillionth of a trillionth of a percent ... > “This is a result I have wanted all my career,” said David Williamson of Cornell University, who has been studying the traveling salesperson problem since the 1980s I love this. Oh to be a theoretician. Here's hoping for a flood of further improvements.
Meanwhile in an agile dev team.... "can you optimize it in the next sprint?"
Computer Scientists Break Traveling Salesperson Record
171–180 of 188 posts
Re: Computer Scientists Break Traveling Salesperson Record
#172Earlier quoted context omitted.
I agree. It’s sad. Agile principles are awesome, but by the time you run them through many company’s implementations of Scrum or SAFe or (God forbid) Jira, you may as well just do waterfall. I don’t think waterfall is necessarily bad, that agile is always right, or that there aren’t other good practices. But practicing waterfall and calling it “agile” is rarely going to end well for anyone.
We do Scrum at my office. But really, it's just applying sprints to waterfall. We do get some shorter feedback loops to improve features before going live. But the whole scope is still set at the start of the project, and that scope needs to be completed at the end of it. And to be very honest. It doesn't work if the people in the team don't think Agile. Your team needs to be able to self-reflect and try to improve t…
You cannot appoint somebody to the strange title of “scrum master” (which I guess makes the rest of us scrum slaves?) to lead a process of “daily scrum” where we look together at a kanban board and make sure that we are “sprinting” and then turn around to insist that you value “individuals and interactions over processes and tools,” which is ¼ of the Manifesto. You have voted with your intention and your vote was to value your process and tools over trusting the individual developers and letting them have direct interactions with your customers.
Even the word “sprint.” I used to play Ultimate in one of the teams in the Dutch national league, it is a sprinting sport. The word “sprint” means exhaustion. It means stopping. If you jog around in Ultimate you lose, you have to rest, sprint, rest, sprint. If your model is “always sprinting” then do not tell me that you value “individuals and interactions.” And if you do value the latter please either (a) remove the metaphor “sprint” from your process or (b) add “rest weeks” after each sprint to “clean up” the mess you made! Anything else is lying to yourself.
The phenomenon of estimating “story points” is even worse, no? It is intrinsically about processes and tools and the idea of a developer having a phone call or face-to-face with the client directly to see if this feature request is actually accurate, deciding that it is not, and trashing it to open a different request... it's not just “do we claim those juicy story points when this happens?” but also “was part of your measure of ‘complexity’ the complexity of determining that the Ask did not meet the Need?” ...And so the fundamental idea of estimating a “todo” does not fit well with agile, whereas you can estimate “in progs” and “done” just fine.
And before you say “no by the time we estimate we should already know that we want the feature, devs should never have to talk to clients,” please be aware that this response explicitly abdicates another ½ of the Agile manifesto, “customer collaboration over contract negotiation” and “responding to change over following a plan.” The whole point of the Agile manifesto is that your kanban board is stale. Not because it's a kanban board, but because it is written down. Like one of the four principles (the last ¼ not covered in the above ¾) is explicitly anti-literary.
This is sort of “no true Scotsman” of me but my read is that the moment Agile was systematized, it died a little on the inside. It was a “screw your systems!” reaction that then got steamrollered by the real world, where “bullshit jobs” and middle management reign even though they bespeak a bureaucratic feudalism rather than a lean-and-mean capitalism.
Re: Computer Scientists Break Traveling Salesperson Record
#173Earlier quoted context omitted.
Except that Google uses an average of the recorded speed of vehicles using a road segment, linked to time of day, and not the speed limit.
... which, given that most people are speeding, makes their estimates completely unrealistic if you want to actually obey the law.
Re: Computer Scientists Break Traveling Salesperson Record
#174Earlier quoted context omitted.
So much less than the 0.01% of the variation in identical computers due to 100ppm crystal variation. Also less than the 0.0001% variation due to the temperature in the room changing 1 degree.
This is very interesting. Where can I find more details on crystal quality in popular CPUs like Intel's Xeons?
https://www.intel.com/content/www/us/en/products/docs/proces...
Re: Computer Scientists Break Traveling Salesperson Record
#175Earlier quoted context omitted.
When someone is routinely dropping lit matches in a dry forest, "he only started one wildfire" is obviously no defense. Anyone who sincerely wanted to follow the rules at https://news.ycombinator.com/newsguidelines.html would be behaving completely differently. Sincere misunderstandings are generally quite easy to clear up. If someone doesn't sincerely want to follow the site guidelines, they shouldn't be posting her…
No one can sincerely follow those rules, because they are too subjective. The only reason people tolerate them is because they are not enforced. But when you do enforce something from them, it's always unjust and unfair, like in this case. > When someone is routinely dropping lit matches in a dry forest, "he only started one wildfire" is obviously no defense. He has lots and lots of comments of which only a couple th…
Re: Computer Scientists Break Traveling Salesperson Record
#176> able to subtract 0.2 billionth of a trillionth of a trillionth of a percent ... > “This is a result I have wanted all my career,” said David Williamson of Cornell University, who has been studying the traveling salesperson problem since the 1980s I love this. Oh to be a theoretician. Here's hoping for a flood of further improvements.
> Yet this minuscule improvement breaks through both a theoretical logjam and a psychological one. Researchers hope that it will open the floodgates to further improvements. Please don't take quotes out of context
This wasn't intended to be read as sarcastic. It really is a great development. It's still amusing that the number is so tiny.
Re: Computer Scientists Break Traveling Salesperson Record
#177Earlier quoted context omitted.
We do Scrum at my office. But really, it's just applying sprints to waterfall. We do get some shorter feedback loops to improve features before going live. But the whole scope is still set at the start of the project, and that scope needs to be completed at the end of it. And to be very honest. It doesn't work if the people in the team don't think Agile. Your team needs to be able to self-reflect and try to improve t…
I mean it is a ️️hot-take but I don't regard scrum as any sort of subset of agile. Rather scrum emerged when big companies wanted to basically do what they were already doing, but call it agile. A framework emerged to teach these companies a “safe word” rendition of agile, don't worry it's only agile until you say “banana.” You cannot appoint somebody to the strange title of “scrum master” (which I guess makes the re…
Re: Computer Scientists Break Traveling Salesperson Record
#178Earlier quoted context omitted.
Route-finding is much simpler than traveling salesperson. The hard part for real-world directions is getting the cost-function right. Older map systems used to make some very questionable assumptions that made them quite inaccurate (one example; assume all highway miles are equal; some were 55MPH and have traffic lights, railroad crossings and stop-signs others were 65 with no at-grade intersections -- today even hig…
As someone that sees 65 as an overly cautious limit and not precisely born in the US, what do you mean by the effects have worn off?
Even after 1995, many states were very slow to raise the speed limit (I lived near the Maryland/Virginia boarder and remember Maryland did well before Virginia), and when they did raise the speed limit it was by small amounts.
Today, you can drive from Los Angeles to New York and not hit any significant stretches of freeway with speedlimits under 65, and west of the Mississipi river, you will spend most of it at 70mph or higher.
On top of that, the actual speed that will get you pulled over can be much higher (In CA you are very unlikely to get pulled over for single-digit MPH speeding on a freeway, making a 65 speed limit a de-facto 74; in the northeast US it's not uncommon to get pulled over for going just 5MPH over the posted limit).
Re: Computer Scientists Break Traveling Salesperson Record
#179I was just thinking on the TSP the other night, would a practical application of this problem(and solution) be to use it in processor circuit layout and trace routing? Then using the improved processor to solve the problem again?
Maybe, but a real challenge of circuit layout and routing is that you want to generate (mostly) planar graphs, since your options for intersecting connection lines are limited and expensive. For the TSP, this does not really matter since the problem is more abstract.
Re: Computer Scientists Break Traveling Salesperson Record
#180Earlier quoted context omitted.
I mean it is a ️️hot-take but I don't regard scrum as any sort of subset of agile. Rather scrum emerged when big companies wanted to basically do what they were already doing, but call it agile. A framework emerged to teach these companies a “safe word” rendition of agile, don't worry it's only agile until you say “banana.” You cannot appoint somebody to the strange title of “scrum master” (which I guess makes the re…
Is there some sort of guidance/explanation you could point to for implementation of "proper" agile development? I'm really interested in learning more about it :)
What I am challenging in the above is that there is a "lip service" given rather than a deep assimilation. So when the principles say "business people and developers must work together daily throughout the project" they mean that there should be an open-door policy, “hey Amanda I am working on the Estimating-Work-in-Process application and I was wondering what you do with ____” “Oh, that is not supposed to be possible,” type of interactions. The ‘lip service’ is “your boss will answer any questions at daily stand-up.”
Because these interactions are routine, the idea of needing constant scheduling and progress updates ideally ‘should be’ a lesser issue. People want progress updates to make sure that you are not spending all your time on Reddit, they will be able to see that more readily if they see you working.
The core of agile is anti-establishment thinking. One of the principles is “The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.” Elsewhere Don Wells elaborates on it, “Don't panic. With professional software engineers on our project we can relax knowing that the team will do what is needed to get the job done. Any activity needed with any combination of people will just get done without any further scheduling or ceremony. This is the spirit and benefit of a self organizing team.”
And so a fundamental idea of agile, perversely enough, is that you’re not going to have one size fits all, there is no one ‘proper implementation.’ There is just the way that you made it work. If you have different personalities it’s gonna express differently.
I am not being facetious here, though I realize it sounds kind of like it! Adam Savage had a great video a little while back about something unrelated—weathering prop money—where he took live questions from the audience, and one question was about “the best way” to make that money look bloody, and he answered in true artisan style:
> So, your question though, “what is the best way”... The answer is, there is no, there is no best way! There is the way you figure out how to do it. Yeah! That’s really the thing. It may be that you’ve gotta, like, take a brush and kinda work at a whole bunch of different bills, and then take the stack and then effect the stack, right?, I think that’s like a multi-stage process, and then you should do some tests with different paints and see, like, under the lighting conditions these will be seen—I don’t know if it’s for a theater or a film—does it communicate? Does it tell you that it’s bloody, dirty money? That’s the question to be asking, you gotta hold it up, look at it, [mimes looking at it and pausing and thinking] “does that sell to me?”—and ask other people, “does this sell?”... and like most of the time they’re gonna go, “no,” and you’re gonna keep on going. But it’s trial and error.
And like the fundamental story about agile is that agile is trial and error, it is about trying to work together as a team and being like “did that work” and the answer is usually “no, Leah is totally burned out after she had to work 60+ hours of straight development that one week,” or “Alvin is having trouble with nobody inviting him in, he wants to start contributing to this project and everybody is like ‘nah man we got it’ and he is being excluded” and you’re gonna have to reshape. There is a necessary aspect of vulnerability in other words in any proper development strategy whether top-down design-first waterfall or agile or something else.
There is no one agile software development process. There is a set of agile software development values. It is a values-driven approach, “how are we living up to our self-commitments today?” rather than “did I follow the appropriate procedure?” And thus it is quite anarchist at its fundamental core. This is probably why I am ragging on scrum in the end, scrum came in and said “there is a non-anarchist way to do agile” and I am sitting here like “uh, do you know what you just said?”
With that said, all the usual caveats, I understand that you want to be able to state what all is likely to be in an upcoming release and what all isn’t and this requires creating estimates and so forth. But perhaps the most damning thing is when estimates turn into deadlines. When an estimate becomes a deadline it gets padded and re-padded, then the urgency of the feature gets de-emphasized because you have such an abundance of time to do it in, so you spend a bunch of time up-front completing your “design doc” about what you are about to build and then someone asks to weigh in and “approve it” and you have reinvented waterfall.