• Welcome to the new COTI server. We've moved the Citizens to a new server. Please let us know in the COTI Website issue forum if you find any problems.

CT Only: Eurisko and TCS

It doesn't have to optimize the fleet at all. The battle simulator is straightforward to write (I've done that). Having a way to efficiently fling two sets of fleets together quickly shows trends which can be used to tweak fleets.
I agree that making a damage calculator is easy.

But you have to make tactical decisions each round, like "Which ships do I place in the battle line?" and "Which enemy ships do I target with what weapons?". I don't find that all that straight forward to program...
 
Its more a issue of not understanding what AI is, it is not a simulation of a human intelligence as it is more about an Intelligence that is non-organic in nature.

From what I've seen of Eurisko base, its more a combination of rules engine and simulator with some logic to allow for filling in holes in the logic of the rules supplied.

One of the interesting anecdotes from lenat was the suggestion to "cheat' by Eurisko.

I have a feeling this is anthropomorphic projection, where Eurisko merely pointed out a hole in the rules that could be exploited but Lenat felt it would be seen as cheating.
 
Certainly, but they don't need massive numbers...

Yep and you are already more experienced and ready to think outside the box than most of those who turned up in 1981 and 1982 looking to try out their ideal fleet and hoping their view of CT fleet combat would be reflected in the game. The irony is that many looked to spinals as ship killers that will result in a fast decisive game while the designers built a slug-fest.

Whartung observes often the outcome can be determined after only a turn or two. To a point that is correct, but the determining factor is the imbalance in player preparation and analysis. My first campaign game in the 80's one of my friends only spent 60% of his budget, obviously that didn't help his cause, but he genuinely felt that was all he needed to spend. The rest under-estimated how effective fighters were at TL12. I had fighter carriers supported by a few spinal armed cruisers and fast frigates to screen any retreat. Sadly most of my opponents in that game lost interest after the first combat. One persons careful analysis is another persons min-max cheating.

The Lenat fleet is not invincible, but it was good against fleets based on spinal mounts. You could read this as Cruisers beat Battleships. But as you starting to figure out, at TL12 Fighters and Frigates beat Cruisers.

There is a useful combat pattern at TL12 which sees small ship and fighter combat first while the heavies are held back hoping to preserve their spinals for use against other heavies. The ideal is that you present only small ships and take factors off the other guys spinals without losing any spinal factors yourself. Sometimes your small ships end up winning the engagement without the heavies :)

Most of my experience is at TL12. Combat tactics change at TL13/14 in that sub 100ton fighters get too expensive (you need max computers to be combat effective).
 
Software to run TCS battles for HG

Who has or who would want software to run TCS battles for fleets of high guard ships? I am trying to get one written to save the grunt work and breaking a wrist rolling that many dice. When the statistical method is not quite satisfactory at damage resolution and tactical decisions.

Lenat had several munchkin ideas over the years; shoot your own slowest boat to keep fleet agility high, build boats with no drives to float and shoot. And his greatest, if fuels hits are what you want fuel hits are what you will get. Why carry all that pesky hydrogen in doors under armor when you can sacrifice it AS armor. It was not until later editions said that tanks are fragile and go kabloom all at once.
 
Yep and you are already more experienced and ready to think outside the box than most of those who turned up in 1981 and 1982 looking to try out their ideal fleet and hoping their view of CT fleet combat would be reflected in the game.
More information than '81 I can agree to, but not '82, they had every scrap of information then and a full year to consider the system.

Whartung observes often the outcome can be determined after only a turn or two. To a point that is correct, but the determining factor is the imbalance in player preparation and analysis.
I agree that the battle is mostly decided on the drawing board, and to some degree by tactical choices.

My first campaign game in the 80's one of my friends only spent 60% of his budget, obviously that didn't help his cause, but he genuinely felt that was all he needed to spend. The rest under-estimated how effective fighters were at TL12. I had fighter carriers supported by a few spinal armed cruisers and fast frigates to screen any retreat.
Fighters? Something like this?
BibULWz.png


I fail to see the attraction. They are difficult to hit, but they can't hit anything themselves. If the enemy has a few bays they die fairly quickly?

Isn't it just a gamble that the enemy doesn't have any missile bays?

The Lenat fleet is not invincible, but it was good against fleets based on spinal mounts. You could read this as Cruisers beat Battleships. But as you starting to figure out, at TL12 Fighters and Frigates beat Cruisers.
And Battle Riders kill them all?

What I can see is that a missile line is vital to hide and repair behind, but they can't win if the enemy has a reasonably competent missile line of their own. Only spinals can kill ships.

There is a useful combat pattern at TL12 which sees small ship and fighter combat first while the heavies are held back hoping to preserve their spinals for use against other heavies. The ideal is that you present only small ships and take factors off the other guys spinals without losing any spinal factors yourself.
Agreed, but against something like the Euriskos wearing them down is kind of hopeless. Your tactical choice of how to deploy your spinals should be decisive.
 
I agree that making a damage calculator is easy.

But you have to make tactical decisions each round, like "Which ships do I place in the battle line?" and "Which enemy ships do I target with what weapons?". I don't find that all that straight forward to program...

Maybe for a player it is, but not a computer.

A facet of High Guard is how few decisions players actually have to make round to round.

You have 2 decisions: range (if you have initiative) and the battle line.

The answer to #2 is the answer to #1, so, in fact, you have one decision.

It is mostly trivial to run a statistical analysis of simulated play using your battle line. The battle line that "gets the most hits", wins. Thats how you determine what ships to fire at. You don't worry about how much damage you take. If you want to reduce the damage you take, destroy the other players guns. It's simultaneous play anyway, so each round effectively has no "history", rather simply the state of the fleet as is.

"What ship can I hit that has the best chance of reducing how much I get hit next round."

That's base statistics as well.

What you as a player do not know is any things like Ship Tactics or Pilot skill of the opposing forces. But, again, a computer can suss that out reasonably quickly. Give a volley as portrayed by a ship, what was the statistical chance of hits, and how many did they actually do. Since even small DMs can have reasonable impact on the results, those ships that "sneak in" an extra DM due to a skill bonus fall out of the matrix pretty quickly.

Handling things like the "battle line that can not be penetrated" is done via a special case.

Frankly, in most battles, it's hard to imagine repair being decisive, but if you have endless time sitting behind that impenetrable battle line, then, sure, I guess. As if you'll have any crew to do anything with anyway. Frozen watch is more important than repair.
 
That software would be lovely...

I have this, it's in Common Lisp.

I think I have it running a round of combat, which means that it has a concept of fleets, concept of battle lines, can choose targets, can shoot at targets, and apply the damage to said targets.

Ships choose their own targets, fleets organize their units.

It's currently putting any ship that can fire on the battle line, and selecting a random ship on the other fleets battle line to target. But, that's all stuff that can be coded up.

You can sort of see an example of pieces of it running here:

http://www.travellerrpg.com/CotI/Discuss/showpost.php?p=569288&postcount=33

Looking at the code, I can't actually run a round of combat -- never finished that. But I have all the elements.
 
I have this, it's in Common Lisp.

Did you knock up or jot down any design notes or architecture? I had intended to knock up a combat simulator to sit with my ship designer, but RL kinda got in the way.

Last year I tried putting an undergrad student team on the job, but the task proved a little too much.

If you do and don't mind sharing, my email address is on the ship builder site.
 
More information than '81 I can agree to, but not '82, they had every scrap of information then and a full year to consider the system.
Yes, but opponents were and still are few and far between. The gamers prepared to spend weeks number crunching are even rarer, especially in those days of pen, paper and if you were lucky, a calculator with a paper tape roll.

Fighters? Something like this?
BibULWz.png


I fail to see the attraction. They are difficult to hit, but they can't hit anything themselves. If the enemy has a few bays they die fairly quickly?

Isn't it just a gamble that the enemy doesn't have any missile bays?

Yep, only that design is no longer legally able to use emergency agility. That aside, like the Eurisko, they are very good at scrubbing BB's and cruisers.

Yes, #9 missile bays can hit them, but almost nothing else can. And you should ask yourself how many fleets will you face with enough #9 missile bays? For that matter how many is enough and given each one requires a thousand ton of ship to support it, versus fighters coming in at under 100 ton, how many can be transported to battle?

And Battle Riders kill them all?
Not at TL12, but the dynamics change at higher and lower techs. TL12 is the sweet spot for fighters.

What I can see is that a missile line is vital to hide and repair behind, but they can't win if the enemy has a reasonably competent missile line of their own. Only spinals can kill ships.
If you need, I think you suggested 35 turns, between every time you present your spinals, I suspect the fleet that scrubbed them will have scrubbed everything else by then.

Agreed, but against something like the Euriskos wearing them down is kind of hopeless. Your tactical choice of how to deploy your spinals should be decisive.
At some tech levels it is decisive, but not all tech levels. A TL15 fleet engagement has a very different feel to a TL12 fleet engagement.
 
Maybe for a player it is, but not a computer.

A facet of High Guard is how few decisions players actually have to make round to round.

You have 2 decisions: range (if you have initiative) and the battle line.

The answer to #2 is the answer to #1, so, in fact, you have one decision.
I agree that we only have a few decisions, but they are not remotely as easy as you describe.

What you have described is the basic modelling of how missile lines attirit each other, but for the Eurisko fleet it does not handle how to most efficiently handle the special ships, such as Cisors and Quellers. If you just toss them into the battle line they will be scraped and the enemy will be able to use his spinals with impunity for the next 45 - 100 rounds.

You should never ignore how many hits the enemy can inflict. You should strive for a favourable rate of hits. In my example above I choose short range even though it cost me hits, because it denied the enemy even more hits. This is statistically easy to determine for missile exchanges, but how do you value 1000 missile batteries against a single meson spinal?

With the algorithm you described I could build soak off ships with slightly worse defences than my more important ships, making the enemy waste their attacks while my important ships are unscathed.


If two Eurisko fleets face off the battle will be decided by the Cisors (meson spinal) since they are the only thing that can kill an Eurisko. Can your software realise this, and devise a strategy for killing the enemy's Cisors, while protecting his own Cisors?

Can your software determine that the Quellers should remain in the reserve until they are needed to break through a battle line of a single lifeboat? Can your software correctly guess when the enemy will present such a weak battle line?


If the enemy instead use fast frigates for the main line the Quellers (spinal PA) will become key.

If the enemy use fighters, missile bays (Wasps?) become more important.
 
Yes, but opponents were and still are few and far between. The gamers prepared to spend weeks number crunching are even rarer, especially in those days of pen, paper and if you were lucky, a calculator with a paper tape roll.
The microcomputer revolution was well under-way, spearheaded by spreadsheets:
Visicalc.png


I agree few people played with TCS, but I suspect not all that few. The wargaming community still existed and had, in my experience, some overlap with roleplaying and especially Traveller. People willing to spend the time to play ASL, 3R, or GoA wouldn't think much of spending the time to design a fleet (or find the rules very complicated). At least I didn't, a few years later.

Yep, only that design is no longer legally able to use emergency agility.
Certainly, but in the context of Eurisko emergency agility was still allowed.

That aside, like the Eurisko, they are very good at scrubbing BB's and cruisers.
Sure they are good at hitting slow ships, but no better than ships, and completely unable to hit other fighters or fast frigates.

Yes, #9 missile bays can hit them, but almost nothing else can. And you should ask yourself how many fleets will you face with enough #9 missile bays? For that matter how many is enough and given each one requires a thousand ton of ship to support it, versus fighters coming in at under 100 ton, how many can be transported to battle?
With carriers you get roughly 10 fighters for a bay in a frigate. The frigate would take ~60 rounds (~120 rounds at short range) to kill all the fighters while taking no damage in return.

If fighters are a common threat most fleets will have plenty of bays?

If you need, I think you suggested 35 turns, between every time you present your spinals, I suspect the fleet that scrubbed them will have scrubbed everything else by then.
It takes ~43 turns to repair a C spinal.

Two fleets of Euriskos will reach steady state after about 65 rounds, with an equal number of inflicted damage and repaired damage each round. They will never completely scrape each other.
 
You should never ignore how many hits the enemy can inflict. You should strive for a favourable rate of hits. In my example above I choose short range even though it cost me hits, because it denied the enemy even more hits.

Net hit exchange is important, but if you're taking more hits then you're giving out -- the game is already over.

This is statistically easy to determine for missile exchanges, but how do you value 1000 missile batteries against a single meson spinal?

The missiles either have chance to damage, or they don't. If they do, then the 1000 batteries represent guaranteed damage each turn that will scrap that meson in due time. If they don't have a chance to hit, then the ships won't even show up. Why bother.

Mesons are hard to hit and penetrate with, they just hit very hard when they do. It does not take more than a few hits to dramatically lower the efficacy of a meson gun. So, even if the 1000 batteries were on a single ship, a ship that would likely be taken out by a single hit of the meson gun. If the meson ship gets lucky on the first combat round, then, you know, c'est la guerre. If it does not, the meson gun will likely be ineffective after the first round.

If I had to choose between the 1000 missile ship and a single meson ship, I'd go with the missile ship. STATISTICALLY, it's the better call -- assuming it can hit at all. Turreted missiles are right on the edge at TL15. A single DM -1 can take them out of the game wholesale.

If two Eurisko fleets face off the battle will be decided by the Cisors (meson spinal) since they are the only thing that can kill an Eurisko. Can your software realise this, and devise a strategy for killing the enemy's Cisors, while protecting his own Visors?

My software doesn't intuit anything - it does what it's told. Right now, it puts anything that can shoot on the line, selects a random enemy ship, and pounds it with everything it has.

Can your software determine that the Quellers should remain in the reserve until they are needed to break through a battle line of a single lifeboat? Can your software correctly guess when the enemy will present such a weak battle line?

No, and I doubt Eurisko's software could. Rather it simply helped him facilitate fleet optimization so that he could, indeed, run "hundreds of battles" easily to see how his fleet did in several cases.

I don't know what the rules were regarding ship destruction, but scraping the weapons off of a ship makes them ineffective as a combat unit. If the line has no weapons, then you get breakthrough to the reserve. The worst case of a ship being able to to damage to another ship is a weapon hit. So, the outcome is one side has no weapons. With 2 more points on the die roll, you get a fuel hit and get to reduce the enemy fleet to weaponless, fuel-less hulks waiting for the crews to freeze and die in space.

Reducing a target to non-combat status is a "win", no need to blow it up.

If you both have ships that have weapons that can not damage each other at all, then it's a draw.

If I had nothing but 1000 battery missile ships and you had nothing but single spinal meson ships, over the 1000 year war, I would probably lose as, over time, I would lose ships that would have to be replaced while you only would have meson guns to replace. So, my war would "cost more" than yours, and I eventually run out of money. But at the same time, your entire fleet would be reduced having to replace all of the meson guns vs the slow attrition of my fleet -- so, maybe it's a wash.
 
The microcomputer revolution was well under-way, spearheaded by spreadsheets:
Absolutely, I had to google it but the Vic-20 I owned at the time was released in 1980. I probably got mine 1981. Spreadsheets back then... well I didn't have one and I didn't build my first ship builder spreadsheet until the late '90s. Happy to accept I'm a slow learner..

The reference to a calculator with a paper tape roll being required comes from TCS page 6 which famously recommends the use of an adding machine. It also suggests programming a home computer, but that wasn't in my skill set at the time.

I agree few people played with TCS, but I suspect not all that few. The wargaming community still existed and had, in my experience, some overlap with roleplaying and especially Traveller. People willing to spend the time to play ASL, 3R, or GoA wouldn't think much of spending the time to design a fleet (or find the rules very complicated).
Agreed, which is why I believe it is more likely that Lenat had enthusiastic club support than designed an actual AI..

At least I didn't, a few years later.
Good to find another ASL and 3R player all these years later :)

Sure they are good at hitting slow ships, but no better than ships, and completely unable to hit other fighters or fast frigates.
Meh, I'm not here to convince you one way or another. I've played a few games but that doesn't mean I have all the answers.

If fighters are a common threat most fleets will have plenty of bays?
Yes. Of course your assumption is that most players agree that fighters are a threat. I find that even telling people in advance still leaves them unprepared.

Two fleets of Euriskos will reach steady state....
I have never seen two identical fleets generated by two different players.
 
[ . . . ]
With the algorithm you described I could build soak off ships with slightly worse defences than my more important ships, making the enemy waste their attacks while my important ships are unscathed.


If two Eurisko fleets face off the battle will be decided by the Cisors (meson spinal) since they are the only thing that can kill an Eurisko. Can your software realise this, and devise a strategy for killing the enemy's Cisors, while protecting his own Cisors?

Can your software determine that the Quellers should remain in the reserve until they are needed to break through a battle line of a single lifeboat? Can your software correctly guess when the enemy will present such a weak battle line?[ . . . ]
This could certainly be analysed with a monte-carlo model, which just runs a large number of simulations fed with random parameters (i.e. simulated dice rolls). From those you can see which side wins the most often for a given fleet composition. From what I read about Eurisko I think this is the technique that it used to determine the outcome of battles.

You could evolve the fleet with a genetic algorithm and random mutations (different spinal mount size, different battery sizes etc.). Genetic algorithms work by taking a base, iterating through specific variations driven by random changes to the 'genes' and picking the mutations that are most successful. Optimisation is done by iterating mutations on successful gene sets and running until the model converges on an optimal strategy.

Although this process is still subject to local maxima (a solution that wins against anything it can mutate to but is not necessarily optimal globally) it is still likely to be better than just putting together a fleet by hand. TCS is still subject to rock-paper-scissors phenomena where a particular fleet may be better against specific enemy fleet compositions.

Battle strategy could also be optimised in a similar way. You could start with a gene set, which represents what you present in the line. Running iterations of the simulation with mutations based on successful gene sets would let the algorithm converge on an optimal line strategy for whatever parameters the simulation had for the enemy fleet. If you didn't know the enemy fleet you could use a mish-mash of other fleets generated by the system as a proxy - and they are probably stronger than anything a human player would come up with in 1981.
 
The microcomputer revolution was well under-way, spearheaded by spreadsheets:
In 1981 you wouldn't have been runing monte-carlo simulations on anything much smaller than a VAX. Floppy disks would not have been big enough to store the output from a run of 10,000 or 100,000 simulations in order to calculate stats, and the 48k or so of RAM you could get on an Apple II certainly wouldn't have been enough.

As far as I'm aware none of the '80s vintage 8 bit machines ever supported double precision floats in BASIC and I really, really can't see EURISKO being coded up in assembly language to do the DP floats. Running means are troublesome enough with double precision floats so I really can't see them being used on a micro or any platform that could only do single precision. That means that neither storing the outputs nor calculating running means were practical on any affordable personal computer at the time. This was years before the IBM PC/XT came out so hard disks were not an option on desktop machines either.

My money is on EURISKO running on something far too big to lug along to a wargaming tournament, and I really can't see the university letting you pack their mainframe up in a van and borrow it for the weekend.

It's possible that he could have used a terminal to connect if the tournament had access to a spare phone line that he could borrow for this.
 
Last edited:
Agreed, which is why I believe it is more likely that Lenat had enthusiastic club support than designed an actual AI..
Which is why I thought about it...


Good to find another ASL and 3R player all these years later :)
If you want to waste a few months you may take a look at Heart of Iron, a grand-strategy WW2 game that is actually playable, yet not trivial. It even has an active modding community.


Meh, I'm not here to convince you one way or another. I've played a few games but that doesn't mean I have all the answers.

Yes. Of course your assumption is that most players agree that fighters are a threat. I find that even telling people in advance still leaves them unprepared.
Given my attitude you are likely to find me just as unprepared...

I have never seen two identical fleets generated by two different players.
Of course not, but they serve as a widely available example of a fleet with a missile line that can hardly be ground down by missile fire alone. You could just as well use the Eurisko fleet and the fleet I suggested earlier in the thread.
 
Net hit exchange is important, but if you're taking more hits then you're giving out -- the game is already over.
I agree, but it's really only a problem if you take more hits than you can repair.


The missiles either have chance to damage, or they don't. If they do, then the 1000 batteries represent guaranteed damage each turn that will scrap that meson in due time. If they don't have a chance to hit, then the ships won't even show up. Why bother.

Mesons are hard to hit and penetrate with, they just hit very hard when they do. It does not take more than a few hits to dramatically lower the efficacy of a meson gun. So, even if the 1000 batteries were on a single ship, a ship that would likely be taken out by a single hit of the meson gun. If the meson ship gets lucky on the first combat round, then, you know, c'est la guerre. If it does not, the meson gun will likely be ineffective after the first round.

If I had to choose between the 1000 missile ship and a single meson ship, I'd go with the missile ship. STATISTICALLY, it's the better call -- assuming it can hit at all. Turreted missiles are right on the edge at TL15. A single DM -1 can take them out of the game wholesale.
I agree, but the point I was trying to make is that it depends on the current situation, which is not trivial to express as an algorithm, hence program.


My software doesn't intuit anything - it does what it's told. Right now, it puts anything that can shoot on the line, selects a random enemy ship, and pounds it with everything it has.
Quite, I have never even tried to write anything better, yet this is to simplistic to evaluate the Eurisko fleet, and hence to allow an ai to determine that the Eurisko fleet is actually a good idea.


No, and I doubt Eurisko's software could. Rather it simply helped him facilitate fleet optimization so that he could, indeed, run "hundreds of battles" easily to see how his fleet did in several cases.
I think that is the point Matt123 tried to make. If the battle software can't fight the Eurisko fleet effectively, it can't evaluate it to be a good fleet.


I don't know what the rules were regarding ship destruction, but scraping the weapons off of a ship makes them ineffective as a combat unit. If the line has no weapons, then you get breakthrough to the reserve. The worst case of a ship being able to to damage to another ship is a weapon hit. So, the outcome is one side has no weapons. With 2 more points on the die roll, you get a fuel hit and get to reduce the enemy fleet to weaponless, fuel-less hulks waiting for the crews to freeze and die in space.

Reducing a target to non-combat status is a "win", no need to blow it up.
All hits, but critical hits, Crew, and Fuel Tanks Shattered can be repaired, and fuel replenished. So, a ship that is scraped is only temporarily out of the battle, and will return as good as new in 30 - 100 turns. Only meson guns and size crits cause permanent damage.

The trick with Eurisko is that you basically can't do enough damage keep all of them out of battle.
 
You could evolve the fleet with a genetic algorithm and random mutations (different spinal mount size, different battery sizes etc.). Genetic algorithms work by taking a base, iterating through specific variations driven by random changes to the 'genes' and picking the mutations that are most successful. Optimisation is done by iterating mutations on successful gene sets and running until the model converges on an optimal strategy.
Agreed, but if the battle software can't effectively fight the different fleets, we can't select the better mutations. The Eurisko class might be evolved this way, but hardly the entire fleet.
 
In 1981 you wouldn't have been runing monte-carlo simulations on anything much smaller than a VAX.
Agreed, but an Apple ][ or similar would have been enough to run a spreadsheet for manual ship design.


My money is on EURISKO running on something far too big to lug along to a wargaming tournament, and I really can't see the university letting you pack their mainframe up in a van and borrow it for the weekend.
Agreed, but there is no need to transport more than a few papers with the finished ships to the tournament?
 
Back
Top