List all partial orders

How to efficiently list all partial orders on a finite set?

I want to check if a partial order exists with the specified properties. To verify this, I am going to brute-force enumerate all possible partial orders on small finite sets.

+7
source share
1 answer

They must be really small finite sets to make your project practical.

The number of marked positions with n marked elements is the Sloan sequence A001035 , the values โ€‹โ€‹of which are known up to n = 18:

0 1 1 1 2 3 3 19 4 219 5 4231 6 130023 7 6129859 8 431723379 9 44511042511 10 6611065248783 11 1396281677105899 12 414864951055853499 13 171850728381587059351 14 98484324257128207032183 15 77567171020440688353049939 16 83480529785490157813844256579 17 122152541250295322862941281269151 18 241939392597201176602897820148085023 

The sequence A000112 is the number of untagged posets; unsurprisingly, the numbers are smaller, but still growing rapidly out of reach. It seems that they are known only up to n = 16; p 16 - 4483130665195087.

There is an algorithm in an article by Gunnar Brinkman and Brendan Mackay listed in the links on the OEIS A000112 page above. The work was performed in 2002 using about 200 workstations, and counting 4483130665195087 unmarked positions of size 16 took about 30 machine years (the reference machine was a Pentium III with a clock frequency of 1 GHz). Today it can be done faster, but then the value of p 17 is supposedly two decimal orders higher.

+11
source

All Articles