11-09-2018, 05:31 PM
From what I know, PCFG-based algorithm can hardly provide functions like sc_pcfg_keyspace and sc_pcfg_seek as it has only a partial view of the ongoing candidates. Correct me if I'm wrong.
The fact that sc_pcfg_seek is mandatory sounds a bit too much requirement from my point of view. It means that only algorithms with an index function* (like Markov-based one from Arvind Narayanan) could be implemented. I think algorithms without index function are still worth them, even if you can't "resume" them or distribute their work. Of course you can bypass that lack of index function, but it would require to actually generate candidates without using them so there is no much interest to do that because the main bottleneck of such algorithms is the candidate generation, not candidate handling (memory copying, output, ...).
* By index function, I mean a function which takes a position integer N in input, and returns (or seek to) the candidate number N.
The fact that sc_pcfg_seek is mandatory sounds a bit too much requirement from my point of view. It means that only algorithms with an index function* (like Markov-based one from Arvind Narayanan) could be implemented. I think algorithms without index function are still worth them, even if you can't "resume" them or distribute their work. Of course you can bypass that lack of index function, but it would require to actually generate candidates without using them so there is no much interest to do that because the main bottleneck of such algorithms is the candidate generation, not candidate handling (memory copying, output, ...).
* By index function, I mean a function which takes a position integer N in input, and returns (or seek to) the candidate number N.