Monthly Archives: August 2016

Opentaflvecken: AI progress

If you’re a regular reader over at Many Words Main, you’ll undoubtedly have thought that I’m some kind of bum, missing another update so soon. Not so! I’ve been very busy on other projects; very busy indeed. In a series of articles this week, I’ll be going through improvements I’ve made to OpenTafl’s AI. I’ll be releasing a stable version out of v0.4.3.x soon, which will feature the structural improvements I’ve made so far; next up will be puzzles in v0.4.4.x, then AI state evaluation improvements in v0.4.5.x.

So, what have I been up to? Well, let me open up my source control log, and I’ll tell you. Note I’m not reporting my progress in chronological order here: I present to you a natural-seeming order of features which bears little resemblance to reality, but which does make for a neater story.

Before embarking on a project as fuzzy as AI improvements, I needed tools to tell me whether my changes were making a positive effect. I started with a simple one: a command which dumps the AI’s evaluation of a particular state. This lets me verify that the evaluation is correct, and it turns out (to nobody’s great surprise) that it is not. When playing rules with weak kings, the AI places far too much weight on having a piece next to the king. When playing rules with kings which aren’t strong (tablut, for instance), the AI still mistakenly assumes that placing one piece next to the king is the same as putting the king in check. An improvement to make for phase 2!

The next thing on the docket was a test. As I wrote about what feels like a lifetime ago, OpenTafl is a traditional game-playing artificial intelligence. It uses a tree search algorithm called minimax with alpha-beta pruning, which is an extension of the pure minimax algorithm. The latter simply plays out every possible game to a certain depth, then evaluates the board position at the end of each possibility, then picks the best one to play toward, bearing in mind that the other player will make moves which are not optimal from its perspective1. Alpha-beta pruning extends minimax by taking advantage of the way we search the tree: we go depth first, exploring leaf nodes from ‘left’ to ‘right’2. As we move to the right, we discover nodes that impose bounds on the solution. Nodes which fall outside those bounds need not be considered. (The other article has an example.)

Anyway, the upshot of the preceding paragraph is that, for any given search, minimax and minimax with alpha-beta pruning should return the same move3. Previously, I had no way of verifying that this was so. Fortunately, it turned out that it was, and out of the whole endeavor I gained an excellent AI consistency test. It runs several searches, starting with all of OpenTafl’s AI features turned off to do a pure minimax search, then layering on more and more of OpenTafl’s search optimizations, to verify that none of the search optimizations break the minimax equivalence4.

Extension searches
Strong chess engines do something called extensions: after searching the main tree to a certain depth, they find interesting positions among the leaf nodes—captures, checks, and others—and search those nodes more deeply, until they become quiet5. OpenTafl does something similar, albeit on a larger scale. After it runs out of time for the main search, it launches into a two-stage extension search.

First, it attempts to deepen its view of the tree overall, a process I’ve been calling ‘continuation search’. Rather than clear the tree and start again, as OpenTafl does on its other deepening steps, continuation search starts with the tree already discovered and re-searches it, exploring to the next depth and re-expanding nodes. This process is much slower, in terms of new nodes explored, than a new deepening step, but as you’ll recall, deepening goes from left to right. A new deepening step discards useful information about the rightmost moves, in the hopes of discovering better information. Continuation search assumes that we don’t have the time to do that well, and that a broad, but not exhaustive, search to the next depth is more correct than half of a game tree6.

Continuation search takes time, too, though. It has to muddle its way down through the preexisting tree, potentially expanding lines of play previously discarded, before it gets to any truly new information. When there isn’t enough time for continuation search, the AI does something I’ve been calling horizon search, which resembles the traditional extension searches found in chess engines. The AI repeatedly makes deeper searches, using the end of the best nodes as the root. Frequently, it discovers that the variation it thought was best turns out not to be: I’d put it at about half the time that horizon search runs, discovering some unrealized weakness in the position that the evaluation function did not correctly account for.

But then again, it isn’t the evaluation function’s job to predict the future. The history of traditional game-playing AI is one of a quest for greater depth; a simple evaluation function and a deep search usually gives better results than a heavyweight evaluation function and a shallow search. With this philosophical point I think I will leave you for now. I have at least one more of these posts running later in the week, so I’ll see you then.

1. Hence minimax: one player is traditionally known as max, whose job it is to maximize the value of the position evaluation function, and the other is known as min, whose job is the opposite. The best move for max is the move which allows min the least good response.
2. Or whatever other natural ordering you prefer.
3. Or a move with the same score.
4. Since minimax is known to produce the optimal move from a given situation, any search which is not the same as minimax is no longer optimal. It turned out that, depending on the search optimizations, moves might be considered in a different order, and in case of identical scores, the first one encountered would be selected. The test runs from the start, so there are eight symmetrical ways to make the same move, and some searches came up with mirrored or rotated moves. Out of the bargain, I got methods to detect rotations and mirrors of a given move, which will serve me well for the opening book and the corner books I hope to do down the road.
5. Another point where chess AI developers have an edge on tafl fans: there’s more research on what makes for a quiet chess position (one where the evaluation is not likely to dramatically shift) than there is for tafl positions.
6. This was the source of a particularly pernicious bug, because it evaded most of my tests: most of the tests had search times just long enough to get near the end of the tree for a given depth, and the best move occurred at the start of the search in the rest. Continuation search also caused another bug, in response to which I wrote the AI consistency test. (I told you I wasn’t going in chronological order here.) That one was all my fault: I have a method to revalue the parents of a node, which is important for the next kind of search I’ll be describing. I was calling it after exploring the children of any node, propagating alpha and beta values up the tree too fast and causing incorrect, early cutoffs (which meant that the AI failed to explore some good countermoves, and had some baffling weaknesses which are now corrected).

M1A2 Abrams SEP v3: Upgrade Time

Well, the Russians have a new tank. And, for all its failings, the US Army is poking General Dynamics Land Systems for some Abrams upgrades to keep pace. Let’s see what they look like.

A brief aside: A separate program, and therefore not included in the SEP v3 upgrade package is a new anti-armor round. It’s the M829E4 round. It’s an APFSDS-T round, and it uses depleted uranium. It’s awesome, but very classified. Interestingly, I saw this a couple weeks after the T-14 was unveiled in a parade, which I find to be interesting timing. Connect two facts…

Anyway, SEP v3!
GDLS has added an under-armor auxiliary power unit (the UAAPU). It’s in the rear left quarter, replacing part of a fuel tank there. This should help with the inefficiency of the big AGT 1500 when it’s idling. Judging by the exhaust the UAAPU probably uses a very small gas turbine. It’s a good application for one, since turbines are small for their power and reasonably efficient under load. It should also help with providing all of the power needed for today’s fancy electrical systems. The UAAPU should provide enough power to run the turret (and everything in it) with the engine off. About time.

The SEP v3 also brings out the armor upgrades. The turret face and the front hull are better than they were before. How much better? Classified. Hooray for a new composite armor array though. I’m not sure if either section has gotten thicker, since I don’t have time up close with the SEP v3 and older v2 units. But the front armor is better now.

The Abrams has gotten some changes to its roof-mounted remote weapons stations. Tank crews in the field complained that the existing units tended to block their view a lot when the buttoned up. Also, they’re quite large, which makes going under bridges and things annoying. So there are new remote weapons stations that are lower profile and placed better to not obstruct the view as much. Happily, there are two RWSes as standard: one with an M2 for the tank commander and one with an M240 for the loader. I always approved of the number of machine guns on the Abrams. It takes advantage of that fourth man to operate another machine gun if he’s not slinging shells for the main gun. This is a big plus in urban areas.

The Abrams finally sees an upgrade to the M256 that lets it interface with guided rounds. There’s a new breechblock that can now perform this task. So integrating gun-launched missiles (such as the Israeli LAHAT) or airburst rounds can actually proceed. About damn time. The Israelis and the Germans have been able to do this on their 120 mm guns for years now. There are also plans to integrate a new airburst round to replace some other antipersonnel and demolition rounds that are currently in the inventory.

The thermal sights on the SEP v3 have been improved to be ‘third generation’ units. So they can see in both long-wave and mid-wave infrared. This allows for better images on the screens as well as better ability to see through obscurants like smoke or fog. Obvious capability win.

Finally, let’s talk about what’s not included: a new gun. It is not clear to me that the Abrams needs one, given the new round and the changes to the M256 to enable linking with smart rounds. They could deploy the XM360E1. They could also field a new 120mm/L55 gun, though this would require some upgrades to the stabilization system.1 If they’re going that far, they might wait to see/opt for the Rheinmetall 130 mm gun. We shall see. For the foreseeable future, I don’t think this is a huge concern.

No side armor changes have been announced. This is unsurprising to me. It is not feasible to provide protection from MBT main gun rounds on the sides. The concern you can do something about is RPG-type attacks, and the Abrams already has an excellent armor kit for the hull skirts and turret sides from the Tank Urban Survival Kit program.2 These systems are tough and combat proven. No more is needed. The TUSK program also added some optional belly armor to counter the IED threat. Again, more isn’t likely needed in the immediate future.

The SEP v3 still lacks active protection systems. Several are under evaluation, and may show up in a follow-on program. The US Army is particularly keen on Trophy, but there are also some promising systems from Raytheon.

Overall, this is a really good set of upgrade features, and there are more follow-ons coming. There are at least two engineering change proposals floating around out there. For once, this is a reasonably well managed program, introducing phased upgrades to keep an older platform competitive. Way cheaper than designing a new one, but it keeps the factories busy (and therefore open). Also, not trying to do everything at once keeps budgets under control and reduces the chance of the dreaded budget kill.

I would love to compare this to the German Leopard 2 improvements (2A8 anyone?), but nothing concrete has been announced. The US Army is doing a really good job of keeping on top of upgrades right now. These new upgrades should help make sure that the Abrams is a match for any tank out there. I’m also pretty happy about the lack of gold plating so far. Better knock on wood there.

1.) This drove the cost up too much back in the 90s when this was last considered. Back when there was no Russian threat to speak of. The US Army has been happy with their depleted uranium alloy rounds. Which tend to perform about as well as a similar-vintage tungsten-based-alloy round from the L55 gun, so maybe Big Army bet right on this.
2.) Specifically the XM-19 ARAT-1 and XM-32 ARAT-2 reactive armor packages.I’ll have a write-up as soon as I can get more information. There’s not much out there on these, especially on the newer XM-32s.

The Panhard CRAB

France has a long history of building excellent, if quirky, reconnaissance vehicles. Reconnaissance vehicles tend to be small and lightly armed. But the French have always sought to use them as the heirs to the light cavalry tradition, and have armed their recon vehicles appropriately. In some cases, the result is basically a light tank. We’ll look at those later. Today, we’re looking at something quite a bit smaller but still well armed. Today, we look at the petite Panhard CRAB.

The Panhard Crab weighs eight to ten tons, depending on protection level. It is a 4×4 vehicle with some particularly interesting suspension and drivetrain capabilities. It has a crew of three, and a turret that can be fitted with a bunch of armament options.

The turret is designed to be modular. Display models have tended to have turrets equipped with the M242 25 mm autocannon and about 150 rounds. Also available is a turret mounting the M230LF 30 mm autocannon. Note that this is a variant of the M230 chain gun used in the AH-64 Apache. It is chambered in 30×113 mm, not 30×173 mm. Both autocannons are fully stabilized. Another available option is a missile turret. This turret can be configured with four launch tubes for the new French MMP ATGM or the Mistral MANPADS missile. Other missiles could probably be integrated with some extra funds and work. This is where the Crab might suffer a little. It would be nice if it could use the Spike or Javelin missiles. In any case, all turrets have a 7.62 mm machine gun (coaxially mounted for the autocannon turrets) and are unmanned.

The Crab has a few different protection levels available. The heaviest (STANAG level IV) is good against 14.5 mm AP rounds and 155 mm fragments at least 30 m away from the burst. This is a light, easily deployed vehicle. This protection level is pretty typical for a lot of small utility and reconnaissance vehicles. We’ll find a way to deal.

Most interesting is the drivetrain of the Crab. It has an active pneumatic suspension, so it can be lifted for extra ground clearance. Tire pressure is centrally regulated, which helps deal with soft or hard ground. Both axles are independently steerable, which makes the turning radius very small–the Crab can make a u-turn with a 5 meter radius. It has a 320 hp engine, giving a top speed of 68 miles an hour. Finally, it can actually drive sideways by turning both axles to the same side. This is as close to go-anywhere as you can get in a wheeled vehicle. The light weight will also help with ground pressure.

The Crab can accommodate 3 men. It has a battle management system, and comes equipped with all of the networking gear and radios to transmit information to other units. It also has 360 degree camera coverage, to help with information gathering or movement in any direction. Mast mounted sensor systems are also available. Optics or a short-range radar system can be mounted on a telescoping mast.

So what do we think? It’s light for Borgundy, but so are most things that have ‘telescoping sensor mast’ as a factory option. It is well armed, networked, and extremely agile. We’ll take the superlative agility and armament, since it’s as good as it’s going to get in the light reconnaissance vehicle role. Bonus that it resembles Halo’s Warthog vehicle, if that was designed for humans who don’t wear fancy power armor.

The Crossbox Podcast: Episode 10

In which we have no special theme for you, but we do have: a squee-worthy news topic immediately following a weighty warlike one, some further competition kit chit-chat, some defenses of indefensible procurement errors, and a proper savaging of a game that we describe as, “Factorio, but boring,” as well as, “EVE Online for shut-ins”. Listen and see for yourself.

Further reading
Glock trigger connector improvement
Geissele AR trigger
History of the Abrams and MBT-70
John’s Leopard 2 reference of choice
Armiger Solutions: our match sponsor!
Kytex-brand Kydex gear (that isn’t confusing at all)
Rebel Galaxy
What Price Glory, purveyor of reproduction military kit

Continue reading

French Carbine Downselect

A bit of old news, but I’m finally getting around to it.

The French are looking into replacing their FAMAS carbines with something new, because the FAMAS rifles are about 40 years old. And, because the French small arms industry is basically nonexistent1, they have to look elsewhere for a new carbine. The manufacturer must be European though. Sorry Colt and LMT.

Anyway, seeing as the new design had to be European, five companies stepped up to the plate to bat for this contest:

Heckler & Koch (HK 416A5)
Fabrique Nationale (FN SCAR 16)
Beretta (ARX 160)
HS Produkt (VHS 2)
Swiss Arms (aka SiG; MCX)

Of note is that the only bullpup design was the VHS 2.

A brief comment on the MCX. It’s a super new design; another AR with some not-so-small changes. SiG put in a truncated bolt carrier and a gas tappet operating system. The return spring setup is straight off an AR-18. It’s very, very light, and but for the lame looking stock, I rather like the design concept. And light is generally good. That said, of late SiG doesn’t have the best QC reputation2, and being the newest design, it doesn’t have the testing/refinements of some of the other designs. And this one is a bit more complicated than just adding an op rod, excuse me, a tappet gas system David ‘Carbine’ Williams. Truncated bolt carriers have been done before, but never with all that much reliability. Still, I commend them for entering it.

And now we have the results of the downselect. Still in the contest are HK and FN. So we’ll be watching the SCAR 16 and the HK416 go head to head to battle it out. This should not come as a surprise; both of these rifles have been used by some French special forces units, and both have been quite well tested and abused already. Honestly, I think the favorite at this point is the HK416.3 I’m pretty sure it’s the better gun, and it’s already got a pretty big contract up in Norway.

But this is a good choice. Going with the proven guns was a no-brainer here.

Also, not being a fan of bullpups, I’m quite happy to see the French return to the conventional layout.

1.) This makes me very, very sad. Such a shame that the nation that first developed smokeless powder can’t make it’s own small arms anymore. On the bright side, Col. Nicholas Lebel is probably spinning in his grave so fast that you could hook up a generator and power half of Paris.
2.) And this is with classic, proven designs: the P226 and P229. Which were *fine* until some genius decided to start messing with the designs to squeeze some more profit out of the margins.
3.) The favorite to win is a rifle made by la Boche? Sacre Bleu! At this point M. Lebel is going to be able to power all of Paris with his spinning.

Mechanized Infantry Platoon 2: Experimentation

Now that I’ve hit my monthly quota of Obvious Fishbreath Provocations, we can get back to our regularly scheduled theory posts.

I’ve talked about these before, and that was fun. Of course, that posited a CV9035 with eight man capacity. As you’ll recall, my original choice of IFV was for the Puma, with a capacity of six, and I’ve gone back and forth since. Besides, CV90s tend to get uparmored and loaded with stuff, with reduced capacities of seven or even six men. But let’s get back to the Puma. I’m still fond of it, and it’s still the best protected actual IFV in the world. It doesn’t really need to worry about RPGs of any type or DPICM-type bomblets. Yay. And it’s going to take the least amount of fussing to get the design pretty close to where I want it. At least, if I can get over the dismount capacity. So, what if we damned the cost (or accepted GAO’s estimates, which seem reasonable), and built our mechanized infantry platoon (‘Zug’ to you Germans out there) around the Puma?

We’re stuck with a six-man dismount capacity in the Puma. No changing it. We can get three eight-man squads with four Pumas. I think it might be easier to think of these as four smaller ‘squadlike units’ though, where each vehicle and its dismounts is considered a “squad.” At least for planning purposes. The infantry in the field can organize as they like. Thinking this way gives us a basis of issue of ‘per man’, ‘per vehicle’, and ‘per platoon’, which is awfully convenient. And it encourages improvisation. I’m beginning to think that on-paper squad organization doesn’t really matter too much, since there are so many good enough answers out there. And it is unlikely the platoon will be at full strength, anyway. So I’ll settle for a convenient planning conceit, and let the men in the field sort stuff out. They’ll certainly have enough firepower.

Further, there are many reasonable organizations for 24 men, and four vehicles is a nice cost/dismount balance. There are another twelve men who are vehicle crews, bringing our total platoon strength to 36 men. It is assumed by me that three of the four vehicle commanders are the platoon headquarters component1, though they can take which seats they like. I will also assume the fourth vehicle commander, plus the four gunners and the four dismount team leaders, are some flavor of NCO. The rest of the platoon can be whatever rank, but there’s our on-paper minimum NCO staffing level.

There’s a bunch of stuff that is issued on a per-man basis. Of biggest note to you, I’m sure, are: the helmet, the standard protective vest (which I’ll discuss elsewhere), and the carbine. Dismounts get a fixed-magnification optic.2, plus sling and NVG-compatible aiming laser3. Dismounts also get a night vision monocular4 and a radio (specifically the SRX 2200) to communicate amongst themselves if separated. The dismount element leader additionally gets a PRC-148 radio to communicate with other elements of the platoon, and a handheld GPS receiver (the PSN-13). Vehicle crews are issued an Aimpoint Comp M4 red dot and sling for their carbines. I won’t discuss ammo or numbers of grenades or number of rations here. There are lots. I chose a capacious IFV deliberately to let me haul things. How many? Shut uP. The P is for Plenty.

Before we get to vehicle-issued stuff for the men, let’s refresh our memory on the Puma. The Puma is armed with a 30 mm autocannon, a 5.56 mm machine gun, and a twin-tube launcher for the Spike LR. The Spike Launcher still hasn’t been seen on Pumas in the Bundeswehr, or at least, not in the pictures I’ve seen, but it is fitted to all of the various Lance turrets flavors that are out in the wild. So I’m stipulating it. The fittings are there. Additionally, the Bundeswehr Pumas have a 5.56 mm coax machine gun. Presumably this was to make weight for the A400m, and because of the stowed kills argument. Alternatively, I’ve heard space in the turret might be a problem. Anyway, I’d really like to see the stowed kills argument analysis, and if you could fit a 7.62 mm MG in the turret. I’m not convinced you couldn’t make one fit. To keep things simple, we will stipulate that the caliber of the coax match that of the dismount MG. So, for now, let’s assume it’s the 5.56 mm MG4, since that’s what’s in the design, and I’m trying not to go nuts with changes. COTS, remember? If the 7.62 mm coax is preferred after the above tests (and perhaps a blogpost of thought experimenting), give the dismounts the Negev NG7 accordingly. Of course, since the Puma does carry plenty of 30×173 mm rounds, we can use those against targets too tough for the 5.56. I think we’ll also see an increasing number of up-armored soft vehicles that would resist 7.62×51 mm just as well as the 5.56 stuff, so the difference may not be of concern in the future.

Anyway, each vehicle has an MG4 mounted in the turret as a coax weapon. Each vehicle has a second MG4 for the dismount team. Note that the dismount machine gunner also has a carbine available should he need it. This will help for building clearing. Again, each machine gun has a fixed power optic, a sling (with extra padding), and another of those night-vision-compatible laser sighting units. Note that the vehicle coax and the squad can share belts of ammo. And, only one kind of belted ammo has to be supplied to the platoon. We’re also keeping the number of belt-fed weapons down to keep the number of riflemen up in the platoon and “squad.” We still have machine guns in the vehicles. Plus, tests have shown that if a squad has multiple machine guns, it’s a lot harder to keep it in the fight as it takes casualties.

As noted above, the Puma carries a launcher for two of the excellent Spike-LR ATGMs. These are rather heavy. We’ll figure that each vehicle should carry at least two additional Spike-LRs, plus a tripod and command launch unit should the dismount team wish to use them, perhaps in an ambush. The weight of the Spike-LR and launcher is quite heavy, so we also figure that this is not going to be lugged around very much. Additional, somewhat lighter antitank capability, at ranges more in line with those of the rest of the dismount element’s weapons, is provided by a Panzerfaust 3 launcher, Dynarange sighting unit, and at least three Panzerfaust 3 rockets. Most of these should be the newer PzF3T rockets with tandem warheads, but the PzF3B demolition round is also very useful. In both cases, more rockets and missiles is better, but the above should provide a reasonable baseline. Additional disposable rockets like the M72A7 or the AT4 can be provided as needed. The Puma has plenty of storage space.

Each vehicle is also provided with a 40 mm underbarrel-type grenade launcher (e.g. the M320) and some grenades. I do love high explosives. Field reports seem to indicate that soldiers prefer having these with the little stock units attached, so their rifle isn’t super heavy most of the time. So let’s provide a stock unit with each grenade launcher. The option for independent use is there.

On to things issued at the platoon level. Distributed amongst the platoon is the following supplemental hardware: the PRC-150 manpack radio, two LGI F1 spigot commando mortars, and two 7.62 mm marksman rifles.5 The manpack radio provides a backup option for communication, useful if separated from the vehicles. The LGI F1s are easy for a single man to use, and give us some indirect fire options. Much cheaper and more convenient than that lame XM25. Plus, it actually works. Finally, the marksman rifles give us an option for a bit of precision at range. These items can be divvied up amongst the vehicles as desired.

So there we have it. I like this. I didn’t specify a table of equipment in my previous platoon post, so let’s compare with some real-world examples. I’m giving up two machine guns when compared to the standard US Army Mech platoon, and three 40mm grenade launchers. I have the three Panzerfaust 3s and two LGIs, which gives me some platoon level indirect fire and some very heavy HE projection. Coordination abilities should be similar. I also have the 7.62 mm rifles at the platoon level, which give some extra reach if desired. I’m taking a page or two out of a Russian Motorized Rifle Platoon book. The American squad has a Javelin, plus the Bradley has some TOW missiles. I’ve got a similar long range guided antitank punch in the Spike LR missiles. And I’m similarly high tech, with plenty of comms in the above table. One other thing I like is that the above TO&E is pretty adaptable to any other IFV I might choose to design around, including the Bradley, the CV90 (even the versions with fewer dismounts), or the ASCOD.

1.) I.e. Platoon Leader (a lieutenant), Platoon Sergeant, and Platoon Guide (another sergeant).
2.) E.g. an ACOG. I might go with a HAMR or SpecterOS though. Regardless, fixed 4x optic. I should write a blog post on this.
3.) E.g. PEQ-15, but I might find one I like more.
4.) E.g. PVS-14. I’ll probably go PVS-14 here.
5.) It occurs to me I haven’t picked a heavy rifle. It will be select fire (not that full auto with 7.62×51 mm rounds will be used much), and have some optic and a night vision laser. The optic might have more than 4x magnification. Basically something to fill a ‘modern Dragunov’ role.

Mightiest Warship, May 1941 Edition

It’s commonly thought that the Bismarck was the mightiest warship in May of 1941, when she sortied with Prinz Eugen, sunk the Hood, was crippled by Swordfish torpedo planes, and then sunk by a vengeful Royal Navy flotilla.

However, this is wrong. Wrong wrong WRONG!

Okay then.
“Magic mirror, on the wall, who’s the mightiest ship of all?”

Well now. The magic mirror would tell us the tale of the legendary Billy Mitchell, and that airpower is superior. Proven when he took out the Ostfriesland with bombs. The aircraft has more range and more effective antiship striking power. It is the carrier that is champion of types.

But which carrier? Well, she must be active, and therefore must be commissioned. And clearly the two navies that had carriers worth noting in the Second World War were the US Navy and the Imperial Japanese Navy, so let’s look at those.

For the Imperial Japanese Navy, the mightiest flattop gal from the Far East is IJN Zuikaku1. Technically, the Kaga carries more planes, but both carry the same number of planes in ready, immediately flyable condition. No points for more stowed aircraft, which are disassembled. Plus Zuikaku has better anti-aircraft armament and thus better defense. She’s also faster, and speed helps generate wind over the flight deck, making takeoffs easier. Sorry Kaga.

For the US Navy, the mightiest flattop gal from the West is USS Enterprise2. The Big E. The Grey Ghost. One of three American carriers to be active at the start and survive the war. She had the biggest air wing in the USN in May of ’41.

Let’s get it on!

First, design compliment. Zuikaku was designed to carry 72 flyable aircraft, plus 12 disassembled spares. Enterprise was designed around a compliment of 90 flyable aircraft. The US Navy liked big air wings on its carriers, and to that end designed operations on using half the flight deck as a deck park, even during flight operations. So that’s points to the Enterprise.

A brief interlude. Many of you are no doubt wondering why I don’t compare the air wings themselves. The USN had the excellent SBD Dauntless dive bomber, the good F4F Wildcat fighter, and the outmoded TBD Devastator torpedo bomber. The IJN had the superlative A6M Zero fighter, the solid B5N Kate torpedo bomber, and the obsolescent D3A Val Dive bomber. I might also talk about the relative experience levels of the flight crews. But I won’t. Neither aircraft purchasing decisions, nor delays in production, nor failures to secure timely replacements, nor even how much time had been spent beating up on minor league air forces are the purview of ship designers. It isn’t reasonable to award or deduct points for things beyond their control. Besides, adding planes into the mix then brings up a question of doctrine, and the Japanese favored using float planes from cruisers as scouts. But the US Navy used SBD Dauntless dive bombers as scouts, which were embarked on the carrier. This will get very complicated very quickly if you’re trying to pick a winner from a hypothetical battle, as you might expect to be able to do if you were adding an aircraft comparison into the mix. Do we spot the Japanese some cruisers so they can scout too? Do we magically assume they can see the US Navy? Are we instead trying to make a hypothetical battle modeling of task forces, since these ships never travel alone? I should also point out that down that road lies the madness of trying to figure out how many fighters are on CAP duty/alert, and how many are in a strike force, and then comparing dissimilar types with unequal numbers. Lunacy. So I shan’t waste any more time discussing the matter.

Defensively, the best defense is the carrier’s own air wing. But that is not always enough. What about the guns? No points for antiship capability, of course. It is somewhat difficult to evaluate antiaircraft guns comparatively, so we’ll take as couple of proxy measures total throw weight per minute of all embarked guns in May of ’41, and AA Ceiling for the heavy AA. In my calculations, I will take the best rating I can find for sustained rate of fire, as a simplifying metric for comparison.

Enterprise had, in 1941, eight 5″/38 guns in single mounts, plus sixteen 1.1″/75 autocannons in quad mounts, and twenty four .50″ M2 machine guns. The 5″/38 is the best DP AA naval gun of the war. In the Enterprise’s pedestal mounts, these are good for about fifteen rounds per minute, with each shell weighing 55.18 lbs. So the 5″/38s give 6,621.6 lbs per minute. The Quad 1.1″ guns were less well liked, and were generally replaced with the more powerful Bofors 40mm as the war progressed. But that is in the future. Each shell of the 1.1″/75 weighed 0.917 lbs and the guns had a rate of fire of 100 rounds per minute. This gives us 1,467.21284 lbs per minute. The famous M2 Browning fired a round weighing 0.107 lbs at a rate of 550 rounds per minute. We have 24, so that’s another 1,284 lbs per minute. So in one minute, Enterprise’s AA guns can put out 9,372.8 lbs of aircraft killing pain. Maximum ceiling on the 5″/38s is 37,200 ft.

Zuikaku had, in 1941, sixteen 5″/40 guns in eight twin mounts, plus 36 25mm/60 autocannons in a dozen triple mounts. The 5″/40 gun was the standard DP heavy AA gun for the Imperial Japanese Navy. It fired 51.7 lb projectiles at a rate of eight rounds per minute, giving a total of 7,052.8 lbs. The Japanese 25 mm autocannon was a clone of a Hotchkiss design. Later in the war, the Imperial Japanese Navy would regret not developing something punchier, given how heavily built American naval aircraft were. The thirty six guns each had a rate of fire of 120 rounds per minute, and fired a 0.55 lb. shell, yielding another 2,376 lbs. So Zuikaku can put out 9,428.8 lbs of defensive firepower. Maximum ceiling on the 5″/40s is 30,840 ft.

So Zuikaku has a more powerful antiaircraft suite at this point in the war. On a raw points tally basis, that’s one point each, but we want to weight air wing heavier. That’s more useful for an aircraft carrier. The Enterprise was fitted with radar before the war. Zuikaku never got any.

So, overall, the Enterprise is the more powerful carrier. So she gets the crown of Most Powerful Warship in May of ’41.

Those of you who aren’t grumbling about me ignoring aircraft design are no doubt thinking “Fine, parvusimperator. But what about the old battlewagons? Surely Bismarck is the most powerful battleship in May of ’41. Yamato hasn’t been commissioned yet!

Wrong again.

“Magic mirror, on the wall, who’s the mightiest battleship of all?”

Battleships are a lot easier to compare than aircraft carriers. Pesky debates about aircraft don’t enter into it. Battleships fight with guns. Bismarck had eight 15″ guns, each firing an armor piercing shell that weighed 1,764 lbs. Well and good.

As mentioned before, Yamato isn’t commissioned yet. So her monster 18″ guns don’t enter the picture. And, my personal favorites, the Iowas aren’t done yet either. Nor are the South Dakotas or Britain’s Vanguard. What we have are treaty built battleships, and pre-1922 things.

Let’s start with which ships have 16″ guns? That would be the Nelsons, the Colorados, the Nagatos, and the North Carolinas. The Colorados have eight guns, and all the rest have nine. Of these, the North Carolinas are the only ones built after the end of the 1922 Washington Treaty-imposed ‘building holiday’. We might expect them to be better, being newer.

And for once, we’re totally right. The North Carolinas are not only the prettiest of the 16″ gunned battleships in commission in May of 1941, but they’re also the most powerful by far. The US Navy’s Ordnance Bureau had done a bunch of testing between the wars, and reckoned that heavy shells were best. As a result, when they went to design a new 16″ gun, they not only made the gun lighter and simpler, but also made the shells really heavy. The resulting Mark 8 “Superheavy” AP rounds weighed 2,700 lbs. North Carolina’s broadside is an impressive 24,300 lbs. Bismarck can only manage 14,112 lbs.

Discussion of armor protection is more complicated, and I’ll leave that for another article. But suffice it to say North Carolina does that better too.

There you have it. The mightiest battle wagon in May of ’41 is the USS North Carolina.

1.) Shokaku would also work here, and she’s the class leader and namesake. So perhaps the honor should be hers. But Zuikaku was luckier. And survived longer. Shokaku was damaged a bunch first, and sank first. So Zuikaku gets the nod here. Luck is important for a ship.
2.) Or Yorktown, who is the class leader (again, and namesake). But Enterprise is a legend, and the most decorated American ship of WWII. How could I not pick her?

OpenTafl v0.4.2.4b released!

Undoubtedly the release number will continue to increment as I find and fix little bugs in my work on the AI improvements branch. Either way, v0.4.2.x is now the stable branch, carrying with it two major features: variations in replays, and some additions to the stable of rules.

First, variations: the headline feature for v0.4.x, variations provide players the ability to play out alternate histories in replay mode. These alternate histories can be saved and loaded, as well as annotated (and, annotations now have a handy new in-game editor for ease of production).

Second, rules: I finally got around to implementing the last two rules preventing OpenTafl from playing almost all known tafl variants. Not coincidentally, OpenTafl now supports every rule supported by, so the bot player there can compete on every front. Poorly.

That brings me to my last point for today: AI improvements. What’s on the list? Well, I have a few things on my list.

First thing’s first: I have to characterize OpenTafl’s particular failings. The ones I can most easily fix rest in the evaluation function. If the evaluation function provides inaccurate evaluations of board states, then all the rest—heuristics and fancy pruning alike—rests on an unsteady foundation. The analysis engine feature aids me in this quest. My workflow for this initial phase goes like this: I play a game against the AI, using the analysis engine to feed me the AI’s moves. When the AI makes a move which is obviously bad, I go to the replay, then tell the analysis engine to dump its evaluations for the states in question. By comparing those evaluations with evaluations of the move I would prefer, I can begin to see what the AI sees.

I’ve already made two interesting discoveries regarding AI weights and preferences. First, it places far too much importance on guarding or attacking the king, to the point that the attacker AI will happily sacrifice piece after piece if only it puts the king in ‘check’. Second, flowing out of the first item, it has a badly inaccurate view of what constitutes threatening an opposing piece. When it decides to threaten an enemy piece, it will happily do so by moving one of its own pieces into a position where it can immediately be recaptured. Oops.

So, once I’ve made changes to fix those mistakes, how do I verify that I’ve made a positive difference? I play the AI against old versions. Thankfully, building older versions of OpenTafl is trivial. (If you’ve been following development, you’ll no doubt have noticed that there’s a Mercurial tag for every release.) I have a little tool which is intended to do Elo ratings for chess clubs, but which will serve to do Elo ratings for OpenTafl versions just fine. This helps quantify not only whether a version is better than another version, but by how much.

Once I have the evaluation function a little more settled, I can move onto some extra heuristics. I have two in mind for the moment: the killer move heuristic, and the history heuristic (or some related heuristic). The killer move heuristic is the more promising one. It assumes that most moves don’t change the overall state of the board too much, and there are likely to be, at a given depth in the tree, only a few plausible moves to push the evaluation in your direction. Therefore, if any of those moves are possible at that depth, the AI should try them first.

The history heuristic is more complicated. There are three variations I’m considering. First, the straight history heuristic, which orders moves by how often they’ve caused a cutoff. This prefers, in the long run, making moves which have been good elsewhere in the tree. Straightforward, compared to the others.

Second, the butterfly heuristic, which orders moves by how often they occur anywhere in the tree. This prefers making moves which are frequently considered. This one is a little more subtle. Alpha-beta search, by its very nature, ends up searching only the most interesting moves, pruning away the rest. The butterfly heuristic, by tracking moves which turn up a lot, is essentially tracking which moves are more interesting.

Finally, the countermove heuristic, which tracks which moves are the best responses to other moves, and weights moves matching the known good countermove more heavily. This one requires very little explanation.

So, in the next month or two, I expect the strength of OpenTafl’s AI to improve considerably. Stay tuned!

Light Reloadable Antitank Shootout: RPG-7 vs. Carl Gustav

It’s time for another head to head. Let’s look at two extremely popular light(ish) antitank weapons.1 In the blue corner, fighting out of Sweeden, is the Carl Gustav Recoilless Rifle. And in the red corner, fighting out of Russia, is the RPG-7. Let’s dig a little deeper into these two weapons and see what we think of them.

The Carl Gustav was designed just after the Second World War. It’s a recoilless rifle, which means it’s got a rifled barrel and it vents propellant gasses backward to counteract the recoil of the round. This recoilless principle allows for a relatively high projectile velocity of 230-290 m/s. This is twice as fast as an RPG-7 rocket, and allows the Carl Gustav to have a longer effective range against fixed targets. Available rounds include: HE, HEDP, HEAT, tandem-HEAT, illumination, smoke, programmable airburst, and flechette. Variants are available (currently for HEAT rounds) with rocket assist for a little more range, or backblast-reduction to allow use in confined spaces, like from within a building. HEAT rounds are rated for penetration of 400 mm of ERA; the Tandem-HEAT version is rated for 500 mm (plus neutralization of some ERA). This is not going to scare a modern tank unless you hit it from the side. It’s more than adequate for older tanks, or for lighter armored vehicles.2 The Carl Gustav has a caliber of 84mm, and of course, all weapons fired must fit in the tube. Since a reasonable first-order approximation of the effectiveness of a shaped charge is its diameter,3 this puts a pretty strong limitation on how much armor you can punch through.4 The standard version of the Carl Gustav is known to the US DoD as the M3 Carl Gustav, which weighs about 19 lbs empty. There’s also a shorter, lighter version, the M4 Carl Gustav, which weighs about 15 lbs empty.

The RPG-7 is somewhat newer, dating back to 1961. Interestingly, the tube is only 40mm, because it holds only the rocket motor. The warhead is fatter than the tube in most cases. This looks kinda goofy, and contributes to the weapon’s relatively poor accuracy at range, since the round is less stable. On the other hand, it means we remove a significant constraint on our warhead design. So while it will turn into the wind, which isn’t what you’d expect, we can fit some really big things onto the RPG-7 without issue. These include the tandem-HEAT PG-7VR rocket, which is rated for up to 750mm of RHA penetration. That’s actually starting to get dangerous for modern MBTs, though it’s still generally considered inadequate for the latest types5. This is a 9.9 lb. rocket, because you can’t cheat physics. Oh well–it means your light antitank weapon still has some bite in it if you happen upon things with treads. Lighter, older, HEAT rockets are also available, as is a fragmetation warhead rocket and a thermobaric warhead rocket. Finally, there’s an interesting bunker-clearing warhead that combines an explosively-formed penetrator with a follow up fragmentation warhead. Weight of the RPG-7 in basic form matches the lightened M4 Carl Gustav at 15 lbs or so. There’s also a Chinese copy, the Type 69, which cuts weight to 12.3 kg. And, if you actually want to apply modern materials to the design, there’s a US company, Airtronic, that’s made a clone called the Mk 777, which weighs only 7.77 lbs, or 3.5 kg.

So let’s break it down. The Carl Gustav has much better range. The RPG-7 (and it’s clones) are much lighter. The Carl Gustav has available Airburst rounds. The RPG-7 has available thermobaric rounds, which could be made for the Carl Gustav, but are unlikely because someone’s likely squeamish. The RPG-7 also has a tandem HEAT warhead that’s still decently formidable, and that’s not likely a capability to come to the Carl Gustav anytime soon. The Carl Gustav has rounds designed to accommodate confined-space operation, but the RPG-7 does not.

What’s our pick? This may shock you, but we prefer the RPG-7. We like theromobarics. We like having a light AT weapon that still has some AT punch left in it. And we like the lighter weight, especially if you’re going to take it on a long patrol. The Carl Gustav isn’t a bad choice by any means, but it’s a little outclassed by it’s Soviet competitor. Now, if range became a bigger issue, like in Afghanistan, then the Carl Gustav becomes worth its weight. But I think Afghanistan is an outlier.

For mechanized troops, for whom the weight is less of an issue, we still really, really like the Panzerfaust 3, since that has a proper antitank warhead on it.

1.) I’m looking at things that can be operated by a single person, and aren’t guided. Interestingly, guided weapon shootouts are a lot less fun to write, because the winner is much more obvious.
2.) This is actually true for the vast majority of light antitank weapons. There are a few (that really stretch the definition of ‘light’), including the Panzerfaust 3 which I wrote about here.
3.) At least, for similar generation designs. Also, I said ‘first order’ so some roughness is implied.
4.) You’ll notice modern weapons that actually are rated to defeat modern armor are significantly bigger in diameter than 84mm.
5.) This was about the armor penetration rating of the standard Panzerfaust 3 rocket. It has since been replaced by an improved model with a more powerful warhead for the antitank role.

Overdue Apologies

Inspired by a wonderful TV spot by Colin Cowherd and Jason Whitlock for their new sports show. Which I also thoroughly enjoyed. Probably more of these to come next time I feel like letting ‘smartass’ go to 11.

I am sorry I hate the shotgun component of 3-Gun.

I am sorry I think the T-72 is a worthless piece of garbage.

I am sorry I don’t think the J-20 is very stealthy.

I am sorry I think BMPs are deathtraps.

I am sorry I think Chinese jet engine manufacturing capability is a joke.

I am sorry the Olympics bore me.

I am sorry I’m not an “AK Person”.

I am sorry I think hosting the Olympics is a colossal waste of money.

I am sorry I doubt the value of America’s NATO allies who aren’t Great Britain or France.

I am sorry I would never have let the Baltic States into NATO.

I am sorry I don’t believe in the ‘Olympic ideal.’

I am sorry I take mutual defense pacts seriously.

I am sorry I hate planning for COIN.

I am sorry I don’t like double action semiautomatic pistols.

I am sorry I’m not a gun hipster.

I am sorry I’m not a sports viewing hipster.

I’m sorry I’m not a hipster anything.

I am sorry my gun tastes are pedestrian.

I am sorry I’m a trigger snob.

I am sorry I’m a huge optics snob.

I am sorry I still think about big conventional wars.

I am sorry I’m not a safety nazi.

I am sorry I still plan around big conventional wars.

I am sorry my cynical distrust of politicians is rewarded by being right.

I am sorry I think nylon is a stupid fabric to have in a combat uniform.

I am sorry I don’t think linux is the greatest OS ever.

I am sorry I think the USN camo uniforms are stupid.

I am sorry I hate when my computer asks me for permission to do the thing I just told it to do.

I am sorry I’m still patriotic.

And, I’m sorry for fake apologies.