The best algorithm critically depends on the size of N and M, and also whether you’re doing this just once with a pair, or perhaps testing one string with many others, or with many independent pairs.
One basic strategy is iterative blockwise dynamic programming with imperfect edge communication… you iterate (perhaps redundantly) until each block converges,
This is a strategy that can work for Smith Waterman string matching (which is similar to LCS computation.)
The best algorithm critically depends on the size of N and M, and also whether you’re doing this just once with a pair, or perhaps testing one string with many others, or with many independent pairs.
One basic strategy is iterative blockwise dynamic programming with imperfect edge communication… you iterate (perhaps redundantly) until each block converges,
This is a strategy that can work for Smith Waterman string matching (which is similar to LCS computation.)
I will test for many pair of string (with length from 1000 to 10000 char)
the smith-waterman appraoch uses a system of scoring to get string matching and he compares the sequence with a database which isn’t my case.
my problem is how may i fix the block_size and the index of blocks to fil the matrix (which i have to get as result) by crossing it anti-diagonal by anti-diagonal (where the parallelism exists in my problem)
I will test for many pair of string (with length from 1000 to 10000 char)
the smith-waterman appraoch uses a system of scoring to get string matching and he compares the sequence with a database which isn’t my case.
my problem is how may i fix the block_size and the index of blocks to fil the matrix (which i have to get as result) by crossing it anti-diagonal by anti-diagonal (where the parallelism exists in my problem)