Home World Forum
Stars! AutoHost web forums

Jump to Stars! AutoHost


 
 
Home » Stars! 2.6/7 » The Academy » Identify ship design by weight
Identify ship design by weight Tue, 18 April 2006 15:34 Go to next message
PricklyPea is currently offline PricklyPea

 
Lieutenant

Messages: 534
Registered: February 2005
Has anyone written a tool to do this? I thought of doing so and came up with an algorithm, but never got around to it.

M@Stars... surely I can count on you for some javascript implementation Razz


[Updated on: Tue, 18 April 2006 15:35]

Report message to a moderator

Re: Identify ship design by weight Tue, 18 April 2006 16:13 Go to previous messageGo to next message
NingunOtro is currently offline NingunOtro

 
Master Chief Petty Officer

Messages: 105
Registered: September 2005
Location: Brussels, Belgium
Paul Lydiate once wrote a series of articles called "First Contact", where in one of them he discussed the identification of starting scouts by weight when spotted, and even was able to suggest a few useful things based on fleet numbers for those ships.

But this information is about the early stages of gameplay when available hulls have not many slots, few of these carry more than one item in each slot, and low research levels limit the scope of different items to put in any slot.

Once some of these assumptions are no longer valid, specially once all tech is maxed, there are way too many different combinations of hulls, items, cargo bay load, etc. that give exactly the same weight for completely different designs.

It might be marginally useful to know some specific ship designs that have a specific weight because they use hulls or components that are only available to a few based on PRT, LRT or MT, but I doubt these few exceptions make it worth implementing algorithms and writing software for, as you need too much complementary information to discard an sizable chunk of the possible random combinations between hulls and components. An awful coding effort for little practical use.

The best tool for the job I have seen so far is the standard Stars! shipyard of a maxed tech battle-simulator.

If you are able to substitute human input in there with some kind of AI to achieve the job, you are more than welcome. Razz



If we were esteemed intelligent 'enough', they would have contacted us.
If we can not find them, either we are not smart enough, or they are smarter at hiding.

Report message to a moderator

Re: Identify ship design by weight Tue, 18 April 2006 16:32 Go to previous messageGo to next message
PricklyPea is currently offline PricklyPea

 
Lieutenant

Messages: 534
Registered: February 2005
It should be possible to enumerate all the potential designs for a given weight and hull. It's not as difficult as you think.

Report message to a moderator

Re: Identify ship design by weight Tue, 18 April 2006 16:43 Go to previous messageGo to next message
Micha

 

Messages: 2342
Registered: November 2002
Location: Belgium GMT +1
PricklyPea wrote on Tue, 18 April 2006 22:32

It should be possible to enumerate all the potential designs for a given weight and hull. It's not as difficult as you think.

The program should be assuming not completely filled slots or even empty ones. For example pocket BBs or no full armor slots to keep high enough battle movement.

There will be more potential designs that make no sense than useful and real possible designs. (Not to mention designs that only make sense in one particular situation depending on own tech, enemy tech, mineral supply, available resources, timing, ...)

mch

Report message to a moderator

Re: Identify ship design by weight Wed, 19 April 2006 00:29 Go to previous messageGo to next message
Marduk is currently offline Marduk

 
Ensign

Messages: 345
Registered: January 2003
Location: Dayton, OH
I started to do this myself, but gave up quickly when it became apparent there would often be hundreds of combinations for some of the hull/mass combinations. There are a few components that produce weights impossible to achieve using any combination of other components, but a tool like this wasn't worth the effort required to make it. Intelligent guessing was accurate enough and took little effort.

Since you are going to disappointed here, I'll let you know you can identify PRTs by initial .m file sizes. There is a bit of overlap with varying starting techs, but I was able to correctly identify the PRT of all players in the last three games I was in (with random maps).

Alternate starts, like remapped games, alter the initial file sizes that the players see on Autohost, so that you can only tell reliably who is JoaT (pen-scanning) and who is either PP or IT (two worlds). And if the tech is altered, that can screw it up even more.

It's been quite a while since I last played, so I don't have my notes handy, but it didn't take long to pin down the starting file sizes. The main causes are number of worlds (more information if you have two worlds, or can penscan some), and number of starting ships and designs.

I found this out in the first game I played, long, long ago. I wondered why my .m file was so much larger than everyone elses... I was the only IT/PP in a JoaTless universe, and had ARM to boot. Lots of ships, and full info on two worlds when everybody else had only one world and only a few ships.

Report message to a moderator

Re: Identify ship design by weight Wed, 19 April 2006 01:18 Go to previous messageGo to next message
Dogthinkers is currently offline Dogthinkers

 
Commander

Messages: 1316
Registered: August 2003
Location: Hiding from Meklar
Marduk wrote on Wed, 19 April 2006 14:29

I started to do this myself, but gave up quickly when it became apparent there would often be hundreds of combinations for some of the hull/mass combinations. There are a few components that produce weights impossible to achieve using any combination of other components, but a tool like this wasn't worth the effort required to make it. Intelligent guessing was accurate enough and took little effort.

Since you are going to disappointed here, I'll let you know you can identify PRTs by initial .m file sizes. There is a bit of overlap with varying starting techs, but I was able to correctly identify the PRT of all players in the last three games I was in (with random maps).

Alternate starts, like remapped games, alter the initial file sizes that the players see on Autohost, so that you can only tell reliably who is JoaT (pen-scanning) and who is either PP or IT (two worlds). And if the tech is altered, that can screw it up even more.

It's been quite a while since I last played, so I don't have my notes handy, but it didn't take long to pin down the starting file sizes. The main causes are number of worlds (more information if you have two worlds, or can penscan some), and number of starting ships and designs.

I found this out in the first game I played, long, long ago. I wondered why my .m file was so much larger than everyone elses... I was the only IT/PP in a JoaTless universe, and had ARM to boot. Lots of ships, and full info on two worlds when everybody else had only one world and only a few ships.


This is the sort of information the game designers didn't want us to see... Makes me glad AH now requires a password to DL m files. Very Happy

I'm thinking a tool such as described might still be of some small use, even if it only considers simple hulls. Obviously scouts. Ideally FFs and DDs also. Colonisers are trivial to guess but usefull to evaluate as it can help determine your opponents LRTs and/or prop level.

Certainly it's tough to guess CCs accurately (beyond just Missile/Beamer) and harder still for BBs and beyond. But watching ship weights is of great value in the early-mid game. In my last duel I (correctly) guessed my opponent's tech level several times based on DD or FF hull weights, and built ships that were only marginally higher tech - just enough to knock them back without revealing my hand too much (I was close to Jihads and was trying to lure him into building a colloidal or delta based fleet... I'm not sure how well he was tricked, but I did annihilate an attack fleet when a small space dock suddenly armed itself with a small number of Jihads.)

Report message to a moderator

Re: Identify ship design by weight Wed, 19 April 2006 02:07 Go to previous messageGo to next message
PricklyPea is currently offline PricklyPea

 
Lieutenant

Messages: 534
Registered: February 2005
Firstly, it is entirely possible to do via brute force and so computational speed is not an issue. However, it can easily be recast as a nested knapsack problem and so full brute force is not required.

Allowing assumptions on tech and slots always full or empty would also narrow things down.

For this purpose, components of the same class and weight are considered equivalent and so there are not as many components as you would initially think.

Report message to a moderator

Re: Identify ship design by weight Wed, 19 April 2006 04:02 Go to previous messageGo to next message
m.a@stars is currently offline m.a@stars

 
Commander

Messages: 2765
Registered: October 2004
Location: Third star to the left
Hey, congrats on your shiny new rank! Not Worthy

PricklyPea wrote on Tue, 18 April 2006 21:34

Has anyone written a tool to do this? I thought of doing so and came up with an algorithm, but never got around to it.

M@Stars... surely I can count on you for some javascript implementation Razz


Doh. I wrote one such tool a year ago, in *javascript* Yuck just for listing all possible combos for any given hull/mass. Though it was mainly a proof-of-concept effort, it even allowed for empty or underfilled slots, but sheer time of execution made me abandon it until a C version could be built. Whip

It was useful for identifying initial-tech scouts and very little else. 2 Guns

I should perhaps have tried grouping components by mass to save a *lot* of computing... Wall Bash

Perhaps if you explained your algorithm, sir?


[Updated on: Wed, 19 April 2006 04:19]




So many Stars, so few Missiles!

In space no one can hear you scheme! Deal

Report message to a moderator

Re: Identify ship design by weight Wed, 19 April 2006 04:06 Go to previous messageGo to next message
m.a@stars is currently offline m.a@stars

 
Commander

Messages: 2765
Registered: October 2004
Location: Third star to the left
NingunOtro wrote on Tue, 18 April 2006 22:13

Paul Lydiate once wrote a series of articles called "First Contact", where in one of them he discussed the identification of starting scouts by weight when spotted, and even was able to suggest a few useful things based on fleet numbers for those ships.


Massively interesting, those. Very Happy


Quote:

The best tool for the job I have seen so far is the standard Stars! shipyard of a maxed tech battle-simulator.

If you are able to substitute human input in there with some kind of AI to achieve the job, you are more than welcome. Razz


Most of the time the player is trying to guess just what kind of missiles one BB or Nubian carries, and already knows older designs of the same ship. So, there's conceivably a way to automate a part of the task. Sherlock

Then there's battle-worthiness: you need only to worry about the dangerous designs. The rest you should be able to comfortably discard. Wink



So many Stars, so few Missiles!

In space no one can hear you scheme! Deal

Report message to a moderator

Re: Identify ship design by weight Wed, 19 April 2006 04:12 Go to previous messageGo to next message
m.a@stars is currently offline m.a@stars

 
Commander

Messages: 2765
Registered: October 2004
Location: Third star to the left
Marduk wrote on Wed, 19 April 2006 06:29

I started to do this myself, but gave up quickly when it became apparent there would often be hundreds of combinations for some of the hull/mass combinations.


Or thousands... Confused


Quote:

There are a few components that produce weights impossible to achieve using any combination of other components, but a tool like this wasn't worth the effort required to make it. Intelligent guessing was accurate enough and took little effort.


One approach would be just listing *everything* (no intelligence needed) and then discarding most of it by thanks to some set of rules, starting with overall firepower/survivality of each combo. Very Happy


Quote:

Since you are going to disappointed here, I'll let you know you can identify PRTs by initial .m file sizes. There is a bit of overlap with varying starting techs, but I was able to correctly identify the PRT of all players in the last three games I was in (with random maps).


I've long suspected this was possible. Pirate



So many Stars, so few Missiles!

In space no one can hear you scheme! Deal

Report message to a moderator

Re: Identify ship design by weight Wed, 19 April 2006 04:17 Go to previous messageGo to next message
m.a@stars is currently offline m.a@stars

 
Commander

Messages: 2765
Registered: October 2004
Location: Third star to the left
Dogthinkers wrote on Wed, 19 April 2006 07:18

This is the sort of information the game designers didn't want us to see... Makes me glad AH now requires a password to DL m files. Very Happy


Same here. Cool


Quote:

I'm thinking a tool such as described might still be of some small use, even if it only considers simple hulls. Obviously scouts. Ideally FFs and DDs also. Colonisers are trivial to guess but usefull to evaluate as it can help determine your opponents LRTs and/or prop level.


Mmmhh, those early engines... Wink


Quote:

Certainly it's tough to guess CCs accurately (beyond just Missile/Beamer) and harder still for BBs and beyond. But watching ship weights is of great value in the early-mid game.


That was my original goal. Very Happy But my sluggish javascript implementation, while able to spit out hundreds of Scout and Frigate combos, choked on most Destroyer designs... Sad


Quote:

I did annihilate an attack fleet when a small space dock suddenly armed itself with a small number of Jihads.


Cunning, that. Wink I achieved the same a couple games ago, too. Nice shower of much-needed debris. Pirate



So many Stars, so few Missiles!

In space no one can hear you scheme! Deal

Report message to a moderator

Re: Identify ship design by weight Wed, 19 April 2006 04:40 Go to previous messageGo to next message
PricklyPea is currently offline PricklyPea

 
Lieutenant

Messages: 534
Registered: February 2005
m.a@stars wrote on Wed, 19 April 2006 04:02

I should perhaps have tried grouping components by mass to save a *lot* of computing... Wall Bash


Yes, I group all components by mass. Therefore a blue laser is equivalent to a red laser etc. This gives you your basic components. And cuts down your components by a lot.

Then I look at individual slots to see what can be put in them, e.g. engine slot on cruiser must be filled with 2 engines. Other slots generally may be 0,1,2,3 or 4.

Then for each slot, I create a pseudo component e.g. 1x 1kt weap, 2x 1kt weap etc. This gives a list of pseudo components available. (An optimisation might be to allow only empty or full since this is true for most hulls).

I subtract the hull from the target weight so that I just try to match components to the new target weight. At this point you may also want to exclude components based on MT, PRT, LRT, tech etc. or fix certain components you think you know e.g. engine is prop-23 engine. or that the cruiser design does not have any missiles etc.

If any p-components exceed target weight, these are discarded from the list.

Then I just enumerate all possibilities from the remaining list starting by putting in the heaviest components first.

It's may also be possible to create bounds for each class of slot e.g. weapons may be 1-35kt in mass. so if only weap slot is left and the remainder is not 1-35kt, then you can eliminate that design without going through all possibilities of weap. But I think this may not increase the speed.

Report message to a moderator

Re: Identify ship design by weight Wed, 19 April 2006 04:55 Go to previous messageGo to next message
m.a@stars is currently offline m.a@stars

 
Commander

Messages: 2765
Registered: October 2004
Location: Third star to the left
PricklyPea wrote on Wed, 19 April 2006 10:40

Yes, I group all components by mass. Therefore a blue laser is equivalent to a red laser etc. This gives you your basic components. And cuts down your components by a lot.


I guess you do that by pre-scanning the allitems table?


Quote:

(An optimisation might be to allow only empty or full since this is true for most hulls).


That's what I started with. Seemed fast enough until I allowed any quantity of items per slot. Sad


Quote:

you may also want to exclude components based on MT, PRT, LRT, tech etc. or fix certain components you think you know e.g. engine is prop-23 engine. or that the cruiser design does not have any missiles etc.


Interesting. I'll have to think about these, too, now that it seems I'll have a C-version to play with. Smile


Quote:

Then I just enumerate all possibilities from the remaining list starting by putting in the heaviest components first.


Hhhmm. I used "lighter first". Perhaps your way allows discarding more components earlier? Sherlock


Quote:

create bounds for each class of slot e.g. weapons may be 1-35kt in mass. so if only weap slot is left and the remainder is not 1-35kt, then you can eliminate that design without going through all possibilities of weap. But I think this may not increase the speed.


Sounds cool enough, at least for Destroyers, CCs and other hulls lacking General Purpose slots. Very Happy

For example: You guessed a ramscoop on a Cruiser, but then you notice no 4-weapon or 6-weapon combo can possibly match observed mass, thanks to those bounds. Hence, you can skip a lot of branches, and go straight for the IS-10 engine. Whip




So many Stars, so few Missiles!

In space no one can hear you scheme! Deal

Report message to a moderator

Re: Identify ship design by weight Wed, 19 April 2006 04:59 Go to previous messageGo to next message
PricklyPea is currently offline PricklyPea

 
Lieutenant

Messages: 534
Registered: February 2005
m.a@stars wrote on Wed, 19 April 2006 04:55

Hhhmm. I used "lighter first". Perhaps your way allows discarding more components earlier? Sherlock


I did this intuitively from experience as a kid trying to put different size blocks into a tray (cool old toys Smile ). However, I think this makes sense since heavier blocks gets you closer to your target weight quicker and/or busts you so you can skip that branch.

Report message to a moderator

Re: Identify ship design by weight Wed, 19 April 2006 05:08 Go to previous messageGo to next message
PricklyPea is currently offline PricklyPea

 
Lieutenant

Messages: 534
Registered: February 2005
m.a@stars wrote on Wed, 19 April 2006 04:55

That's what I started with. Seemed fast enough until I allowed any quantity of items per slot. Sad


If you look at the weapons slot on a cruiser (assume GP takes only weapons) and assume that we look only at 35kt missiles and that there are 10 of these.

Then without grouping, you have 20 choices as to what could be in a slot (ignoring empty option) i.e. 10x 1 missile, 10x 2 missiles.

Then combination of 3 slots gives 20x20x20=8,000.

If you group the missiles, you get 1 component type, with max 2 per slot you get 2 p-components (1 filled, 2 filled). Therefore combination are:

2x2x2 = 8

Therefore you get an 1,000x speedup. Of course, the numbers examples above are not accurate, but give an idea as to how much quicker this simple optimisation has.

The p-grouping simplifies and also precomputes on a slot basis also saving some compuation time (i.e. eliminating a smaller loop).

Report message to a moderator

Re: Identify ship design by weight Wed, 19 April 2006 06:33 Go to previous messageGo to next message
iztok is currently offline iztok

 
Commander

Messages: 1206
Registered: April 2003
Location: Slovenia, Europe
Hi!
PricklyPea wrote on Tue, 18 April 2006 21:34

Has anyone written a tool to do this?

It's already in game. It's called Warmonger. Wink
BR, Iztok

Report message to a moderator

Re: Identify ship design by weight Wed, 19 April 2006 06:58 Go to previous messageGo to next message
PricklyPea is currently offline PricklyPea

 
Lieutenant

Messages: 534
Registered: February 2005
iztok wrote on Wed, 19 April 2006 06:33

It's already in game. It's called Warmonger. Wink
BR, Iztok

Laughing

Report message to a moderator

Re: Identify ship design by weight Wed, 19 April 2006 07:12 Go to previous messageGo to next message
m.a@stars is currently offline m.a@stars

 
Commander

Messages: 2765
Registered: October 2004
Location: Third star to the left
PricklyPea wrote on Wed, 19 April 2006 12:58

iztok wrote on Wed, 19 April 2006 06:33

It's already in game. It's called Warmonger. Wink
BR, Iztok

Laughing


Indeed, Very Happy

One might argue that such a tool might lose the WM one of its few remaining advantages... Razz



So many Stars, so few Missiles!

In space no one can hear you scheme! Deal

Report message to a moderator

Re: Identify ship design by weight Wed, 19 April 2006 07:20 Go to previous messageGo to next message
PricklyPea is currently offline PricklyPea

 
Lieutenant

Messages: 534
Registered: February 2005
This technique still can't distinguish between components of the same weight. e.g. do they have Jihads or Juggs etc.

Report message to a moderator

Re: Identify ship design by weight Wed, 19 April 2006 11:36 Go to previous message
multilis is currently offline multilis

 
Lt. Commander

Messages: 789
Registered: October 2003
Location: Edmonton, Canada
Suggest you can have list of most common designs, and then show those that are closest to weight of ship, and let human intuition finish the rest.

I can usually guess options for frigates, destroyers, privateers and cruisers fairly closely manually. It helps that the others tend to be fuel mizer fans.

Battleships are a little harder, often need insights into the thinking of the opponent to have good guesses. It helps that most people try to load them up with most expensive/best components available.

Report message to a moderator

Previous Topic: transferred robber baron
Next Topic: New item for the known bugs / features list
Goto Forum:
  


Current Time: Fri May 03 12:58:00 EDT 2024