Finding Max Product in NxM Matrix Without Duplicate Rows/Cols

  • Context: Undergrad 
  • Thread starter Thread starter Chuck37
  • Start date Start date
  • Tags Tags
    Matrix Max Product
Click For Summary
SUMMARY

The discussion focuses on finding the maximum product of M entries in an NxM matrix without sharing any rows or columns, specifically when N is greater than or equal to M. Participants suggest starting with a brute force approach, calculating all combinations using the formula \(\frac{n!}{(n-m)!}\), but acknowledge that this method becomes inefficient for larger matrices. The conversation highlights the challenge of handling both positive and negative values in the matrix, emphasizing the need for a solution that prioritizes speed and efficiency, especially when working with large datasets.

PREREQUISITES
  • Understanding of combinatorial algorithms
  • Familiarity with matrix operations
  • Knowledge of brute force search techniques
  • Basic programming skills for algorithm implementation
NEXT STEPS
  • Research optimization techniques for brute force algorithms
  • Learn about dynamic programming approaches for matrix problems
  • Explore heuristics for improving search efficiency in combinatorial problems
  • Study the implementation of greedy algorithms in matrix selection problems
USEFUL FOR

This discussion is beneficial for algorithm developers, data scientists, and anyone involved in optimizing matrix computations, particularly in scenarios requiring efficient product calculations without row or column duplication.

Chuck37
Messages
51
Reaction score
0
I'd like to find a simple algorithm to do the following.

If I have an NxM matrix, with N≥M, find the M entries with the maximum product that do not share a row or column.

It doesn't seem hard, but I'm not seeing it right off.
 
Mathematics news on Phys.org
Hey Chuck37.

I've never heard of the maximum product: can you outline what this corresponds to?
 
Wait, do you mean the maximum product as simply the result of multiplying the greatest non-intersecting plots of a MN matrix? Just to clarify

For example, in the 6-schematized matrix:

(1) (2)
(3) (4)
(5) (6)

the maximum product would be (5)(4) = 20 etc.
 
I'm not sure what it physically corresponds to, but it sounds like an interesting problem. :smile:

Well let's start with brute force. If N,M are not too large you could try all \frac{n!}{(n-m)!} combinations.

There might be a nice neat algorithm that does this really cleanly, but if that "ideal" algorithm can't be found then modifying brute force to add heuristics might work out ok.
 
This sems a very hard problem if the matrix entries can be either positive or negative, because a positive maximum value might involve some negative elements of the matrix. It's hard to see how to solve that except by brute force.

If you want to think about more efficient searching strategies, it would probably be better to restruct the problem to positive numbers.
 
Sorry I'm just getting back to this after the weekend. The values inside are probabilities and thus always positive. I have brute force currently implemented, but when the matrix gets big, there are a lot of combinations and since I have to do it a lot, it adds up.

Maximum product was intended just how it sounds, the N entries that when multiplied together give the biggest values - with no entries sharing a row or column (the example from Alcatrace IV is right). At this point I'd be happy with something that is close most of the time since I need speed.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 10 ·
Replies
10
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 21 ·
Replies
21
Views
3K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K