Hi all!

Say I have a table with shape 'm n' (m rows, n columns) populated with ones and zeros.

Let's say I would like to create the largest table possible by selecting the most rows and the most columns where all intersections of said rows and columns consist of all ones.

I'm having difficulties coming up with an expression that gives me two lists... one for the rows and one for the columns that 'selects' the rows/columns that would make up this maximal table.

Wow... I probably didn't explain that very well. Let me try an example.

  t =. 6 10 $ 0 1 1 0 0 1
  t
0 1 1 0 0 1 0 1 1 0
0 1 0 1 1 0 0 1 0 1
1 0 0 1 0 1 1 0 0 1
0 1 1 0 0 1 0 1 1 0
0 1 0 1 1 0 0 1 0 1
1 0 0 1 0 1 1 0 0 1

By inspection, it appears that one of three solutions is possible that all tie for the maximum-sized table of all-ones (in this case, a shape '2 5' table.
rows 0 and 3 with columns 1,2,5,7,8  or in J:

  (< 0 3 ; 1 2 5 7 8) { t
1 1 1 1 1
1 1 1 1 1

or

  (< 1 4 ; 1 3 4 7 9) { t
1 1 1 1 1
1 1 1 1 1

or

  (< 2 5 ; 0 3 5 6 9) { t
1 1 1 1 1
1 1 1 1 1

   The problem I'm having is coming up with these lists algorithmically...

   Any ideas on how to solve this?

   Thanks!
-- Glenn Lewis

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to