Hacker Newsnew | past | comments | ask | show | jobs | submit | Hauthorn's commentslogin

This is in fact not how a chess engine works. It has an evaluation function that assigns a numerical value (score) based on a number of factors (material advantage, king "safety", pawn structure etc).

These heuristics are certainly "good enough" that Stockfish is able to beat the strongest humans, but it's rarely possible for a chess engine to determine if a position results in mate.

I guess the question is whether we can write a good enough objective function that would encapsulate all the relevant attributes of "good code".


An automated objective function is indeed core to how alphago, alphazero, and other RL + deep learning approaches work. Though it is obviously much more complex, and integrated into a larger system.

The core of these approaches are "self-play" which is where the "superhuman" qualities arise. The system plays billions of games against itself, and uses the data from those games to further refine itself. It seems that an automated "referee" (objective function) is an inescapable requirement for unsupervised self-play.

I would suggest that Stockfish and other older chess engines are not a good analogy for this discussion. Worth noting though that even Stockfish no longer uses a hand written objective function on extracted features like you describe. It instead uses a highly optimized neutral network trained on millions of positions from human games.


Maybe I am misunderstanding what you are saying, but eg stockfish, given time and threads, seems very good at finding forced checkmates within 20 or more moves.


I think watchmakers have been pushing this for quite a while.

If you want more recent examples, see Richard Mille.


I think you work in different domains.

Expecting a good outcome is different from expecting to get exactly what you intended.

Formal specifications are useful in some lines of work and for some projects, less so for others.

Wicked problems would be one example where formal specs are impossible by definition.


>Anyway, the disabled are pretty much always allowed to be collateral damage by society, so this will just be senseless pain.

For games, you don't really need nor desire formal specs. But it also can really show how sometimes a director has a low tolerance for interpretation despite their communication being very loose. This leads to situations where it feels like the director is shifting designs on a dome, which is a lose-lose situation for everyone involved.

If nothing else, formal specification is for CYA. You get what you ask for, and any deviation should go in the next task order or have been addressed beforehand.


> For games, you don't really need nor desire formal specs.

Whoah is this wrong. Maybe when you hear "formal specs" you have something specific in your mind...

Formal spec can mean almost literally anything better than natural language vibes in a "few words about a desire", which is what I replied to because I was triggered by it


> Formal specifications are useful in some lines of work and for some projects, less so for others

There is always formal specification. Code is final formal specification in the end. But converting vague vibes from natural language into a somewhat formalized description is key ability you need for any really new non trivial project idea. Another human can't do it for you, conversational UI can't do it for you...


I believe this is a capability that the Switchblade 600 or STM KARGU already has.

https://en.wikipedia.org/wiki/STM_Kargu


Or maybe just implying that Meta isn't up for the task of complying with GDPR, and lack the necessary ability to comply with regulations.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: