Hacker News new | past | comments | ask | show | jobs | submit | H8crilA's comments login

Are you sure there is only one solution to the set of max/min equations? I've been trying to solve the probabilistic tic-tac-toe since it was published, and I believe there are actually multiple solutions here.

In fact I'm not sure that given a board there exists a best solution. I.e. I suspect that for most boards and for most fixed strategies you can create a counter-strategy that outperforms the given strategy (but perhaps then loses to some other strategy).

My code looks completely different, but I suspect you can uncover alternate solutions if you mess with the binary search. For example replace `x = (a + b) / 2` with `x = (a + b) / 3`, or even better pick a random point between a and b.


There is no hidden information and turns are sequentially. This means both players have full access to all information, and that implies there must be a single "best" move. If the board is at a certain state and one player is to play next, the strategy of the opponent is irrelevant for determining the optimal move.

Proof:

Suppose that it is possible that different strategies exist that outperform each other. Lets consider the case that there are three "optimal" strategies that counter each other, call them Rock Paper and Scissors. Since these are the three "optimal" strategies, both players know the exact move produced by these strategies. The first important part to note is that there is no cost to changing strategy during the game. If an opponent has one fixed strategy, say Rock, the "optimal" strategy is to change your strategy to Paper. Since you have full information on the state of the board, you do not have to guess the strategy of the opponent, because there is no hidden information. Now you could consider the opponent strategy to be hidden information, but this doesn't hold for the following reason: If knowing the opponent strategy would alter your choice of move (by for example changing to Rock that specifically counters his hidden Scissors), the opponent can freely change to Paper after you made your move, because he can see that you changed to Rock before making his next move. If it was impossible for the opponent to tell that you changed your strategy, that implies that each strategy produces the same board state, and that implies the strategies are identical.


Aren't the same conditions true for chess, though there is no proof that a best strategy exists?

What if it's not just rock/paper/scissors, and there are more than 3 strategies?


There is no fundamental difference between Chess and Tic-Tac-Toe other than the computational complexity. It is not feasible to compute all of the game states in Chess, and so we cannot determine (at this time) a single optimal strategy the same way we can for Tic-Tac-Toe. But that does not imply that it doesn't exist. From a pure game theoretical perspective, they are the same category of game.

If there are more than 3 strategies, the same argument stands. IF there are multiple "optimal" strategies, AND these strategies create different "optimal" moves on the same board state, the opponent can just play the optimal counter-strategy after you make your move, because your move is enough information to give away your strategy. If your opponent cannot determine your strategy after you make your move, that implies the different strategies have the same "optimal" move.


At least one of the players has a strategy that cannot be countered though. That is, either white can force a win, black can force a win, or both players can force a draw. There is no situation where every strategy can be countered.

The article give the bellman equation that you need to solve.

V(s)=max c sc×V′(s+c) + fc×V′(s−c) + nc×V′(s)

V′(s)=min c sc×V(s−c) + fc×V(s+c) + nc×V(s)

You have to solve for all states simultaneously.

One way to solve them is by using fixed point iteration. aka successive approximation.

Pick some small alpha and update the value function in a gradient ascent kind of way.

Vi+1(s) = (1-alpha)Vi(s)+alpha ( max c sc×V′i(s+c)+ fc×V′i(s−c) + nc×V′i(s) )

V′i+1(s) = (1-alpha)V'i(s)+ alpha ( min c sc×Vi(s−c) + fc×Vi(s+c) + nc×Vi(s) )

https://en.wikipedia.org/wiki/Fixed-point_iteration


I believe there is either only one solution or multiple equivalent solutions (e.g. in board where all squares are an equal probability, it doesn't matter which corner you start with.) You should assume an optimal counter-strategy when figuring out your move.

I don't have the time to rigorously prove there's always an optimal solution, but it seems to be the case.


I think there is. In this case we have to clarify that an optimal strategy can still lose due to random chance, so the optimal strategy will only be clear after some large number of games.

Placebo is very strong in all depression studies, also because most depressions disappear or at least improve on their own - patients are most likely to seek help closer to the random/periodic bottom, than to the top. This device may be similar to transcranial magnetic stimulation, or even the good old, scary, but reliable electroshocks. I do wonder if they are able to run enough current through the brain to cause any effect.

Placebo in depression is strong because placebo effect involves the opioid system, particularly the mu receptor. That receptor is known to have antidepressant effects when stimulated.

If you mean ECT by electroshocks, then yes, it's reliable but poorly tolerated with possible memory loss and cognitive impairment. It's still unknown how it works. TMS is very different from tDCS as the power in the brain is very different.


BTW, this is the actual oldest server (and it's still up): https://minecraftonline.com/

This is a close contender (it's is also up, and really thriving; it's even on close to the latest version): https://en.wikipedia.org/wiki/2b2t

I can recommend 2b2t if you don't mind the 4chan-like mentality in the chat. Probably the only server where coding is actually a desired, core skill in factions/teams/groups.


While yes 2b2t is on a modern version most of its history was spent on 1.12. Only last year did they jump to 1.9 and only in the last few months to 1.20. Not knocking it, just most of the old builds and metas were based on 1.12.

Is 1.12 not more modern than 1.9?

I think they dropped a 1, i.e. they meant to type 1.19

He means 1.19

Yes, meant 1.19.

Do you mean 1.19?


I don't think that server is German though? Headline at this moment in time is "Oldest largest German Minecraft server shut down..."

I saw this and thought it was MinecraftOnline that shutdown. MCO has a great community, and is pretty much the anti-2b2t. MCO is also German.

They really are the Yin and Yang of Minecraft.

Indeed, MCO has a special place in my heart.

This is true. But keep in mind that they wouldn't tell you anyways, pretty much no matter what you did, you were simply not in the "club".

Consider that they were both German speaking, and Einstein had never fully switched to English. For example he would only publish his research in German.


Exactly. To see why notice that in a curriculum you are presented with both a problem and a solution. You are encouraged to find your own solutions to many problems, but regardless of whether you do you are also presented with the correct (optimal) solutions. This removes inaccuracies in your thinking, which would otherwise pile up multiplicatively, yielding a log-normal distribution of the time needed to master some topic.


The real question is why there isn't any official API that details the nature of the danger. You shouldn't have to scrape Telegram to figure out the type/speed of the air assault weapon, and the likely time on target.

BTW, also check out Kropyva, it's like Uber for artillery strikes. Very helpful with deleting Russians.


Any single API for this would be constantly attacked.

They're distributing the attack surface by using other services.


Let's not exaggerate. There are APIs that distribute the list of oblasts (regions) that are deemed to be under attack (for example https://alerts.com.ua/). The only problem is that you don't know if the attack is expected in 10 minutes, or 6 hours, and this is something that the military intelligence has, and could share with a small amount of effort. They effectively already share it via people running those channels.

Also, nothing stops you from redistributing the structured messages through multiple channels.


The problem is that you let the enemy know the detail of your intel. Using compartmentalization, they can locate leaks and determine how you are getting the intel.

As a military, you never want to give that away. Looking at WWII, the UK/US were able to decrypt messages daily from the Germans (thanks to Turing!), but they pretended they couldn't so the Germans wouldn't change their encryption scheme.


But they already share it, just in a messy format. No need to philosophise.


I'm not philosophising, this was literally my job in the military and worked with a number of analysts who worked on this sort of thing.


I see, but this military does share this very information.


They share enough information to be useful to the civilians but not enough information to show capabilities. If everything is automated, the enemy can subscribe to the automation and work out radar capabilities, response times, and accuracy. Those are all terrible things for an enemy to use and abuse.


This is a significant mistelling of the history of the German "Enigma" device. Significant usage of Enigma was done during the war in a manner that was secure enough to prohibit interception.

Turing's methods are brilliant as are the contributions of numerous other cryptographers. They relied on numerous operational failures of some branches of the military to be possible. So it was not from "the Germans", but from specific branches of the military that failed to follow already established best practices


I'm not sure what you mean. They used daily weather reports to decrypt the enigma for that day, so I'm not sure how that is an operational failure. If you know part of the cleartext, it's possible to brute-force any encryption given enough time.

https://www.accuweather.com/en/weather-news/how-british-cryp... gives a pretty decent summary.


Sure, but those known text attacks were made significantly easier by German operators using (and reusing) non-random and easily guessable encryption parameters. Once the keyspace became small enough to search, they were able to brute force the encryption.


You're mentioning one technique as if it was the comprehensive method of compromising the Enigma. It was not. The example you give would only work for the Kriegsmarine transmissions for example. The Luftwaffe had its own system with its own operational failings.


Not sure outsourcing it to a Russia affiliated messaging app is the best choice then.


What would you choose?


Not an easy questions as it depends what's popular in the local market, you need to be where the users are even if you don't like it in cases like this. Telegram also has a great bot API, which makes it a harder sell to use alternatives (Signal, WhatsApp) or open technology like Matrix, where it's only useful for people that like to play around with technology and not regular people.


The chief reason is decentralization.

Journalists who are updating these channels have their own sources in the Ukrainian air defense network as well as OSINTers who, for example, monitor Russian radio traffic using SDR, or even sometimes have people on the ground observing the take-off of planes in Russia and Belarus (horrifically dangerous, but there are ways to send this information somewhat safely; planes tend to be loud). If one of the journalists goes down for any reason, there will be other people writing updates. Each oblast also has their own channels where they announce attacks, some of them owned by the local administration, some by the emergency services. The air defenders themselves are a bit too busy to monitor and write this stuff; often, the best they can do is to write some short messages into a group chat or a Telegram bot before things go down, and even then, all parties involved have to balance providing an appropriate warning window with not letting the timing of this information to reveal the capabilities and locations of different kinds of Ukrainian observation stations. And this whole system has to be simple, since not every trained air defender is tech-savvy in general. Many don't know what an API even is. Many Ukrainians, too, wouldn't understand how to work with an API, but they can read the warnings in Telegram.

Also don't forget that the journalists who curate monitoring channels often also accept reports about the flight paths of missiles and drones from the general public, and while there are a couple of apps for that as well that send data from the phone's GPS and compass while the user is pointing the phone at the object, again, it's a matter of having several information channels that non-technical people can easily use. Even just writing to one of them that you just heard a cruise missile fly by, specifying your rough location, can be helpful, since radar coverage is not 100%. These messages then get relayed back to the people in the Ukrainian AA who are trying to intercept these things in real time.

Then there are the obvious security concerns, personal communications and group chat access can be vetted and it's hard to break the anonymity of Telegram channels from the outside to even be able to target the authors' devices with cyberattacks. While an API must be open to the world, and thus it immediately becomes a target.

It's a messy system but it works.

Kropyva is not available to the general public and it's very far from the capabilities of similar NATO systems, its strength lies in the fact that it's an Android app that can be used on cheap tablets, so it doesn't rely on the military-industrial complex provided hardware, which is safer and more robust, but far more expensive.


> it's like Uber for artillery strikes

...


It's not "moralfagging", it's just so idiotic to do this while being an employee. It is in fact so insanely stupid that one should get fired for the ineptitude alone.

I am glad this service exists and exposes some of the toughest cases holed up in the corpo employment space.


100% agree. Would never take money for something like this feels irresponsible. But it is a reaction to a very real problem that everyday people have all the time, and the comments all being "omg im sooo angry u deserve to be fired" instead of something useful is sad


I don't know this case, but there were many cases before that:

1. No, in most cases it is CAT (clear air turbulence). CB turbulence is easily detected by radar and avoided; CAT doesn't show on radar as there are no clouds involved.

2. No, since it comes without a warning. I mean there are forecasts of CAT, and you also hear what other aircraft report (the ATC takes that into account too), but every now and then someone has to be the first to enter some more shaky air.

Also, in most cases this is at best moderate turbulence (meaning it doesn't really affect the handling of the plane), but that is enough to temporarily get from 1g to 0g or below, and make some passenger fly up in the cabin, then fall down.


I recommend `??` from GitHub Copilot. It's basically this, but for any command, not just ffmpeg. I use it all the time. And it asks for confirmation to execute the command :)

https://githubnext.com/projects/copilot-cli/


How long until someone finds a way to maliciously SEO-ify these tools and cause remote code execution incidents? Is it less malicious if the script only does marketing things instead of more serious harm?

What safeguards are in place to sanitize the output of copilot? I ask this because of course a more experienced user might do that sanitization or sandbox testing themselves, but they probably wouldn't get much use out of copilot in the first place.


There's also aichat's shell integration [1]. Instead of typing a command I describe what I want in plain English in a terminal and then press Alt-E. It replaces the text with a command.

[1] https://github.com/sigoden/aichat/tree/main/scripts/shell-in...


Seems like it now defaults to `ghcs` and `ghce` instead of `??`, `git?` and `explain`. It took me a while to figure that out.


indeed - and because it's a special character you need to do something like this to replicate the ?? shortcut.

  alias \?\?="gh copilot suggest"


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

Search: