Shannon V. OKeets -> RE: Artifical Intelligence for World in Flames (4/19/2007 10:04:21 PM)
|
quote:
ORIGINAL: npilgaard (Re: post 57 in thread: AI for MWiF - USSR - since this is the AI thread and the other is for Russia strategy I found it better to reply here) quote:
ORIGINAL: Shannon V. OKeets Here are some excepts from the current AIO design document about the value of hexes. (...) Very impressive! Since the post is 1.5 years old, a lot of the stuff have probably been changed, but nevertheless, a few comments: quote:
ORIGINAL: Shannon V. OKeets Attacking units Focusing on a single front line, the FM determines the land units he has available with which to attack. (...) What he now knows is the highest number of combat factors that he can bring to bear on 1, 2, 3, or more hexes. Generally the number of combat factors are used in the description of the AI evaluation to define the 'combat-value' of a stack. However, I find it also very important (and sometimes even more important) to look at the various bonuses, especially if using 2d10 attack table. Fx. when Germany doing blitz attack in Russia from fx 3 sides against a hex, there can easily be +7 to +9 blitz bonus for ARM/MECH, which will almost guarantee a succesful attack. Other situations where bonuses are more important than factors when attacking, are when attacking many enemy factors with fairly few factors (ie at low odds). Fx Japanese attacks on Chinese mountain hexes (using the non-MWiF Asia map), or when invading key hexes (eg Gibraltar). Even at odds 1:1 (+2) or 2:1 (+4) other types of bonuses can changes this to a reasonable attack (attacker must be ready to task loses of course), fx flipped units (up to +5), HQ support (up to +3), PARAs, etc. This is also the case when creating a defensive line. When in the open in clear weather, any MECH is usually better than any INF no matter their combat factors, since the MECH provides a -2 modifer to attacks. There are of course exceptions, eg.: - it can be nice to have a 'casualty-unit' in a stack. Fx 1 ARM, 1 good DIV and then a GAR, MIL or maybe INF to take the loss. Depending on how important it is to hold the hex, compared to how important it is to avoid taking heavy loses. - if only fairly low number of combat factors are in the hex, then a few combat factors extra have a significant effect, since attack bonuses based on odds are relative. Fx: One 5-factor MECH in a hex is attacked by 25 factors. This is a +10-2 = +8 attack One 8-factor INF is defending the hex instead: +6.25 attack This aspect is also important when flying ground support. Defensive ground support can be very effective if only a few factors are defending and the attacker gets most of his bonuses from odds (eg an invasion: 14 factors attacking 2 factors: +14; 14 factors attacking 2 factors+2 ground support: +7). Offensive ground support are rarely that effective - usually better to ground strike. One exception is when attacking few defending factors but don't have enough factors yourself to get very high odds (i.e. attacking with 10 factors against 2 defending factors: +10. 5 ground support factors would increase this to 15 vs 2: +15 attack) So ideally it is all about bonuses when using 2d10 - the combat factors are just one of the ways to get bonuses. quote:
ORIGINAL: Shannon V. OKeets Tactical mode What the FM needs to determine is which of 4 modes of attack to use: (1) destroy enemy units this impulse, (2) disrupt enemy units this impulse so they can be destroyed in a later impulse (or turn), (3) maneuver so better attacks can be made in the future, or (4) push the enemy back. (...) By extrapolating the change from A1 to A2 over the remaining impulses in the turn, the FM judges whether disruption is a viable tactic for the current turn. Most often it is a matter of disrupting enemy units for attacking the current turn also, I think. The choice of selecting a 'full' disrupting tactic for the current impulse with no follow up land attacks until next impulse, is probably mostly related to an air-action, which is fairly uncommon. Even during a combined impulse most powers have a decent number of air moves and can do ground strikes and after having seen their effects determine whether to attack this impulse or to wait. Another aspect (which is somehow adressed in the AI description already, though): two major powers working together: Eg Italy doing the bombing and Germany doing the land attacking (or CW/US working together). Thus Italy trying to disrupt should not only be checked against italian benefit, but also against German benefit this impulse. (Same for invasions: one power moving ships, another doing the invasions). quote:
ORIGINAL: Shannon V. OKeets Direct attacks to kill enemy units is usually the best tactic but it might cause too many friendly casualties or disruptions. Perhaps add some aggresiveness-variable for each power, which is randomly determined for each new game. So in some games eg Germany is slightly more aggressive (ie willing to attack on a slightly lower 'potential benefit per casualty') than in other games. That will add some variation and unpredictability (sp?). This may also be linked to overall strategies - ie high risk strategies (ie Sea Lion, Japan goes for Pearl Harbour) requires more willingness to do risky attacks. quote:
ORIGINAL: Shannon V. OKeets At the beginning of each impulse, the FM makes assessment A1 for each of his frontlines and records for each side the number of: (1) face up/down corps, (2) face up/down divisions, (3) face up/down tactical bombers, (4) face up/down strategic bombers (re: carpet bombing), (5) face up/down fighters, (6) face up/down ATRs, (7) units capable of immediate paradrops, (8) units capable of immediate invasions, and (9) offensive chits available Maybe add some more information when determining the status of a front, than only the numbers of units. Fx combat factors (there is a large difference between a red circled 4 or 5 factor bomber, and an old regular 2 or 3 factor bomber), and potential combat bonuses (i.e. blitz bonuses, but only if clear terrain is available, and the weather is fine). Thus some sort of point system showing 'total strength' in current front - maybe some average of number of units (more units meaning more versaility, more aircraft allows more air missions etc.), unit factors and potential unit bonuses. quote:
ORIGINAL: Shannon V. OKeets Based on the assessments and estimates of land units only, decide on your situation: (1) desperate defense, (2) strongly defensive, (3) somewhat defensive, (4) balanced, (5) somewhat aggressive, (6) attacking, or (7) going in for the kill. To some degree the 1st and 7th will depend on the proximity of objective hexes to the front line. Not sure whether you have included air units in this assessment since then, but imho they are very important in determining the overall situation on the ground. If in an air superiority-situation, a few bombers make significant difference. If land-units-only suggests '(4) balanced' or '(5) somewhat aggressive' a few lucky ground strikes may make it worth attacking, while it would otherwise be far to risky. Similarily, the defender being able to double the defending combat factors plays a significant role as to whether to attack or not. quote:
ORIGINAL: Shannon V. OKeets 1. Hexes that have direct value in CVs define what we are trying to defend (or capture from the German point of view). 2. The relative strength of land forces in the theater of operations tells us whether we are attacking or defending. 3. When defending we look for other units that might come to our aid, be they our own units from other theaters or from our allies. Actually, we might look for other units to help even when on the attack. 4. We calculate the length of the frontline we need to hold, and the average number and defensive strength of units we can put in each hex. 5. We decide whether to hold every hex, every other hex, or every third hex depending on the strength we can muster per hex for each possibility. 6. We worry about overruns. 7. We choose hexes with good defensive terrain. 8. We try different placements protecting the more valuable hexes first. 9. We perform post evaluations of placements critically, looking for weaknesses that the attacker might exploit. 10. We reduce the number of valuable hexes we are trying to defend if the post evaluations find too much fault with the placements. Very well tought out, I think [:)] Maybe add some kind of 'buying time' variable - i.e. Russia may not be so interested in trying to defend her hexes as to keep her army intact and wait for her counterattack. Placing the speed bumps will slow down the Germans, even though they are not placed as a part of a line of defence, and are 100% sure to be killed, with minimal losses for the Germans. Also, 'hero-cities' may be worth considering. All in all - very interesting to see how such a complex AI can be designed by keeping reducing each aspect into smaller parts. When I fist heard on an AI for WiF I thought it to be rather impossible, but I must say that I am being converted by reading about the details of this approach [;)] Regards Nikolaj Thank you for your comments. They are helpful to me. I am planning on converting everything to Infantry CVs. For example, the value of tactical bombing factors will be based on the recent history in the game (in each theater of operations). The value would be the largest of using those factors for ground strike, offensive ground support, and defensive ground support. The logic is that a measure of how effective tactical air was over the last turn that had the same weather as the current weather, is a good estimate for the current turn. At times, the weather will have to be predicted, but the logic stays the same (using a weighted average of the possible weather). For the 2D10 CRT, an odds modification is roughly equivalent to a 50% increase in the strength factors in the hex. Doubling the attacking strength on the hex is +2; tripling it is +4. This calculation/estimation could be done more precisely, but I believe a rough approximation here is sufficient. An important piece of information that is needed is the average defensive strength in land attacks. If the front line contains stacks worth 4 each (say in China) versus 8 each (say in Russia) versus 10 each (say in France), then the worth of ground support changes dramatically. The number of units in each hex is crucial for estimating the worth of ground strikes. So, if a tactical air unit is used for offensive ground support, it will add its tactical factors to the hex. For a 6 factor Stuka, that could be from a 150% increase (for a 4 factor hex) to a 50% increase (for a 12 factor hex). A successful ground strike is likely to disorganize 2 of 3 units in a hex (.6 * 3 = 1.8). Given that each disorganized unit is a +2 modification, that yields +4 or a 200% increase in CVs. This could be simplified to using tactical air for ground support against a hex containing a single unit and for ground strike against a hex with multiple units, but I want something more precise at this point. From these rather convoluted calculations come a single ratio to convert tactical air strength into land CVs. Actually this whole subsystem is much more complicated because of the need to calculate the effect of fighters and AA in stopping the air mission from succeeding. I also have adjustments for the range of the air units, just as I do for the movement points of the land units. Then there is also terrain. I haven't thought that through completely yet, but it will be based on the current front line. If there are occupied Clear hexes in the front line, then I will use those hexes for the calculations. There might be only a single Clear terrain hex in the front line, but since there are multiple impulses per turn, many tactical air units could be used against that single hex. Defending France in 1940 comes to mind. The worth of fighters in an indirect value, based on the worth of air missions. Fighters either enable and prevent the success of air missions, so the probability of the fighter enabling or preventing is multiplied times the value of the air mission (e.g., tactical air factors converted to land CVs). I have this laid out for strategic, naval air, paradrops, air transports, and air resupply missions too. I also have made a first pass at doing something similar for converting the value of naval units into land CVs. It is hard given the 3 types of naval combat that are possible. However, the worth of armor, mech, AT, tank buster units etc. is straightforward with this design principle of basing current value on the current front line and/or past perfromance. As for cooperation between major powers, I see each major power evaluating what it can do with its units and then comparing those values to what could be achieved if an ally decided what they do (or where they go). The negiotiation between major powers' Foreign Liaison will be tricky to write at first, but I do not see any real problems there. I am hesitant about adding aggressiveness as a variable to the AIO. First I want predictability to see how well it performs when always trying to maximize some metric (probably a net CV gain/loss). After I know that it is doing its best reliably, then I can start tweaking things. Besides the average strength per hex for the front line, I also will track the average strength (CV value) per unit by unit type. Several aggregations will be maintained too. For instance, for air superiority, offensive armor, and defensive armor. The purpose behind tracking these numbers is to assess whether the major power (in a specific theater) is ahead or behind, and whether to attack or defend.
|
|
|
|