FTC_Zero Posted August 13, 2020 Posted August 13, 2020 (edited) I hope they find a way to improve am fighting capabilities (deflection shooting!) of faster BnZ planes. FW190 and P47 indeed do die left and right. How would you rate the AI of other comparable Sims? Edited August 13, 2020 by ZeroCrack01
AEthelraedUnraed Posted August 13, 2020 Posted August 13, 2020 46 minutes ago, PatrickAWlson said: ML is all about thousands/millions/billions of repeats to refine the best course of action - thus the "learning" part. The IBM chess program spend years learning before it was actually let loose to play. Similar to the chess program, I guess an ML system could be trained in house and then turned loose. I assume that is where you would go with this. That sounds a whole lot harder than a state machine but I must admit that I may be seeing the problem as a nail because I know how to use a hammer. I am very comfortable with complex state transitions. I admit that I lack expertise in ML. I also must admit that I have a failure bias towards ML. I have worked at several organizations, including one very well known one, where there has been all sorts of talk about ML and very little action. I have yet to see or hear of a small organization pull off a major feat like successfully teaching a computer WWII combat techniques. Most "ML" that I have seen has in fact been statistics and randomization, not true ML. Well the hard part about machine learning is teaching it what you actually want it to learn. There's a great - but regrettably little-known - anecdote about a rather large company that shall not be named but rhymes with "oogle". They had trained their image recognition algorithm, and everything worked as intended, until someone searched for the word "chimpanzee" and got images of dark-skinned people ?. Turns out the dataset they trained their algorithm with had mainly/exclusively caucasian people, so the algorithm had simply learned that if a humanoid creature has a light skin it's a human, a dark skin is a chimpanzee. Oops.? Only goes to show that machine learning, while it can offer great results, can be incredibly hard to train well and can lead to all kinds of unexpected results for which no real solution exists other than to re-train your entire algorithm with a different dataset.
flagdjmetcher Posted August 13, 2020 Posted August 13, 2020 10 hours ago, AEthelraedUnraed said: Besides, I don't quite agree with your statement that it's extraordinarily hard to prioritise based on threat level in a state machine. It can be as simple as just adding threat levels based on some of the following properties: - speed/height (=energy) relative to you - position relative to you - aircraft type - is it firing? - heading relative to you It's not too hard to program your AI in such a way that a high, fast target flying away gets less attention than a bandit on your six with blazing guns. Maybe first and second derivates of all of the above as well? Sounds hard to me, but I'll defer to your and Patrick's greater experience. Also worth pointing out that it's not either/or. Even for humans there's a rules-based part, and then there's the bit where no expert can really explain why they did what they did. Both humans and state machines at some point have to rank their alternatives and choose one, and that weighting function can behave chaotically (in the mathematical sense) wrt win/lose or live/die, so maybe ML can help with that part of the problem. I don't claim to know where the devs could or should put their effort, it just seems to me that with so much data available from every sortie it might be worth throwing it at a model. Would be interesting to know what approach is being used for autonomous fighter research IRL. I guess we'll find out in about 100 years.
Tinku74 Posted August 14, 2020 Posted August 14, 2020 As a non-IT guy, what I draw from Pat and Aethelraedunraed’s very interesting discussion is that I better manage my expectations regarding AI improvements. Very complex and time consuming regardless which path you choose. Although I might now lean a bit more towards the less ambitious and therefore probably more realistic decision tree approach suggested by Pat. Nevertheless I hope Devs keep at it. Every little improvement is welcome.
AEthelraedUnraed Posted August 14, 2020 Posted August 14, 2020 (edited) 13 hours ago, flagdjmetcher said: Maybe first and second derivates of all of the above as well? Sounds hard to me, but I'll defer to your and Patrick's greater experience. Also worth pointing out that it's not either/or. Even for humans there's a rules-based part, and then there's the bit where no expert can really explain why they did what they did. Both humans and state machines at some point have to rank their alternatives and choose one, and that weighting function can behave chaotically (in the mathematical sense) wrt win/lose or live/die, so maybe ML can help with that part of the problem. I don't claim to know where the devs could or should put their effort, it just seems to me that with so much data available from every sortie it might be worth throwing it at a model. Yes, a combination between ML and "traditional" programming would work. Still, there's the problem of gathering data. What you'd want is basically an event-based system (an enemy is sighted, someone appears on your six, your target takes evasive action, ....) while the flight data is chronological and hence by definition not event-based. So you'd need to have someone analyse hundreds of hours of footage and mark down all the "events", actions taken and the results of that action. Still, it's likely there's not enough data as to properly train a neural network you need at the very least some 10,000 or so examples in your dataset. Other kinds of machine learning (e.g. SVM, kNN, etc.) will work with less datapoints, but these are basically not much different from a simple if... else.... structure, except that the machine learning part finds out what should be in the if statement(s) for you. 13 hours ago, flagdjmetcher said: Would be interesting to know what approach is being used for autonomous fighter research IRL. I guess we'll find out in about 100 years. I would say a combination between traditional programming and ML. Especially for things such as military equipment the unpredictability and "black box" of ML can pose a big problem. You don't want your autonomous fighter to bomb a schoolyard because it has learned that a compound filled with people are often ISIS fighters. ML could be used for some of the subsystems as you describe (with the money involved in Defense, gathering enough datapoints is less of a problem than with a small underfunded game studio). Especially visual identification and classification is very suited to ML as it is next-to-impossible to classify some object as friend or foe with traditional programming methods. As an example, to classify a fighter as GER/RUS, you might take the colour which is green for the Russians and grey for the Germans. That works, *except* for the rare German camo scheme that looks green as well. And *except* for post-summer 1943 Russians that are grey as well. ML can make use of thousands of features such as colour or shape to ID/classify something, which is why it's much better than traditional programming for this. Of course, for a game that already has all the locations and nationalities of all objects, visual classification isn't particularly useful ? Traditional programming should be used for most other parts to build in a couple of safety checks, or simply because it provides the most consistent results: if (is_identified_as_enemy(target) && !check_civilians_near(target) && firing_solution_obtained(target) && ok_given_by_human_controller()){//you want very basic checks to determine whether you can fire. Do note that classification as enemy or civilian is likely ML based, as stated above. fire_missile(target);//this is a simple mathematical calculation; no ML needed fancy_ML_to_get_the_hell_out_of_here();//ML could be used to evade ground fire after someone spots the missile launch. On the other hand, it's quite feasible to hardcode the best solution for a couple of different situations. } Another advantage would be that a traditional program is easy to modify or extend; suppose you want to not only check for nearby civilians but also nearby houses. With a standard algorithm, you can just add an additional check. If everything would be ML-based, your only option is to re-train your *entire* machine. 11 hours ago, Tinku74 said: Nevertheless I hope Devs keep at it. Every little improvement is welcome. In Dev Blog 253, they mention that next in line in the AI improvements is "the choice of targets and operational solutions" - so that's exactly the thing that on the previous page of this thread most of us agreed on needs the most work.? Edited August 14, 2020 by AEthelraedUnraed
AEthelraedUnraed Posted August 15, 2020 Posted August 15, 2020 (edited) I just had a very interesting experience when chasing an Ace-level Bf-109 G14 in a P-51. He went into a rather steep high-speed dive, only to pull up at the very last second at treetop level. At that time I suddenly realised that due to the high speed my control surfaces were barely working anymore (unlike the Bf-109 which seemed to maneouvre just fine) and found myself heading straight towards a forest with barely any elevator response. Only by quickly moving my trim all the way down while pulling at full strength with no regard for G-forces I was able to get my nose to pitch up a bit. I passed out just as my plane reached the horizontal not more than an arm's length above the trees. I came to my senses a few seconds later, only to find out that the G-forces/speed had ripped off both of my wings and was flying way too fast and low to bail out.? AI - 1 Æthelræd Unræd - 0 Edited August 15, 2020 by AEthelraedUnraed
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now