knewjade / solution-finder

Tetris: Find perfect clears, combos, T-spins
https://solution-finder.readthedocs.io
MIT License
103 stars 12 forks source link

Issue with solution-finder minimal #2

Closed cosin307 closed 4 years ago

cosin307 commented 4 years ago

http://fumen.zui.jp/?v115@GhA8HeD8DeF8CeE8JeAgWhANI98AwXfzBKOEHBEoA6?AFLHSAVjjFDUHcSAVG88ARAAAA

When I run this pattern on solution-finder, it gives 9 minimal patterns. However, the actual number of pattern needed is one, and it can be also seen on the html pattern output file. Although I am aware that it is not possible to find a strict minimal, I think it should give only one minimal when there is 100% solution present.

すみません、日本語が話せません。 質問でGoogle翻訳を使用しました

このパターンをsolution-finderで実行すると、9つの最小限のパターンが得られます。 ただし、必要なパターンの実際の数は1つであり、htmlパターン出力ファイルでも確認できます。 厳密な最小値を見つけることができないことは承知していますが、100%の解が存在する場合、最小値は1つだけになるはずです。

eight04 commented 4 years ago

I wrote a script to find strict minimal sets: https://github.com/eight04/sfinder-strict-minimal Which works with your example.

However, when testing it with other PC setups, I found that the minimal set might not be the best set. It doesn't consider if the solution is easy to spot, execution speed (softdrop, spins, hold), which mino is left to the next bag, etc.

eight04 commented 4 years ago

1 minimal solutions
Success rate: 100.00% (240 / 240)

Summary

fumen image

Details

fumen image

240 patterns (100.00%)

IJZSLOT,JISTZLO,JISTZOL,JITSZOL,JITSZLO,JITSLZO,JITLSZO,JILTSZO,IJTSZOL,IJTSZLO,IJTSLZO,IJTLSZO,IJLTSZO,IJLTSOZ,IJTLSOZ,IJTSLOZ,IJTSOLZ,IJTSOZL,IJTOSZL,IJZLSOT,IJLZSOT,JILTSOZ,IJLZSTO,JITLSOZ,IJZLSTO,JITSLOZ,IJZSLTO,IJZSTLO,JITSOLZ,IJZSTOL,JITSOZL,IJSZTOL,JITOSZL,IJSZTLO,JITOSLZ,IJSZLTO,JILOSTZ,IJSLZTO,IJLSZTO,JILSOTZ,IJLSZOT,IJSLZOT,IJSZLOT,JIZLSTO,JISLOTZ,JIZSLTO,JISOLTZ,JIZSTLO,JISOTLZ,JIZSTOL,JISZTOL,JISOTZL,JISZTLO,JISTOZL,JISZLTO,JISTOLZ,JISLZTO,IJSZOLT,JILSZTO,JISTLOZ,JILSZOT,JISLTOZ,JISLZOT,JISZLOT,JILSTOZ,JISZOLT,JILSTZO,JISZOTL,JISLTZO,JISOZTL,JISTLZO,JITLOZS,JISOZLT,JISOLZT,JISLOZT,IJSZOTL,JILSOZT,IJSOZTL,JILOSZT,IJSOZLT,IJSOLZT,IJSLOZT,IJLSOZT,JIOLSZT,IJLOSZT,JIOSLZT,IJOLSZT,JIOSZLT,IJOSLZT,JIOSZTL,IJOSZLT,JIOSTZL,IJOSZTL,IJOSTZL,JIOSTLZ,IJOSTLZ,JITOLZS,IJOSLTZ,JITOZLS,IJOLSTZ,IJOLZTS,JIOSLTZ,IJOZLTS,JIOLSTZ,IJOZTLS,JIOZLST,IJOZTSL,JIOLZST,IJOZSTL,JILOZST,IJOZSLT,IJOZLST,JITOZSL,IJOLZST,JITZOSL,IJLOZST,JITZOLS,IJLZOST,JILZOST,JITZLOS,JIZLOST,JITLZOS,JIZOLST,JILTZOS,JIZOSLT,JILTZSO,JIZOSTL,JITLZSO,JIZSOTL,JIZSOLT,JIZSLOT,JIZLSOT,JILZSOT,JILZSTO,JIZTOLS,JIZTOSL,JIZOTSL,JIZOTLS,JIZOLTS,JIZLOTS,JILZOTS,JILOZTS,JIOLZTS,JIOZLTS,JITZLSO,JIOZTLS,JIOZTSL,JIOZSTL,JIOZSLT,JITZSLO,JITZSOL,IJTZLOS,IJTLZOS,IJLTZOS,IJLTZSO,IJTLZSO,IJTZLSO,IJTZSLO,IJTZSOL,JIZTSOL,JIZTSLO,JIZTLSO,JIZLTSO,JILZTSO,JILZTOS,JIZLTOS,JIZTLOS,IJOLTSZ,IJZLOST,JITOLSZ,IJZOLST,IJZOSLT,IJZOSTL,JITLOSZ,IJZSOTL,IJZSOLT,JILTOSZ,IJZTSOL,IJZTSLO,IJZTLSO,IJZLTSO,IJLZTSO,IJLZTOS,JILOTSZ,IJZLTOS,IJZTLOS,IJZTOLS,IJZTOSL,IJZOTSL,IJZOTLS,JIOLTSZ,IJZOLTS,IJZLOTS,IJLZOTS,IJLOZTS,IJLOSTZ,IJLSOTZ,IJSLOTZ,IJSOLTZ,IJSOTLZ,IJSOTZL,IJSTOZL,IJSTOLZ,IJSTLOZ,IJSLTOZ,IJLSTOZ,IJLSTZO,IJSLTZO,IJSTLZO,IJSTZLO,IJSTZOL,JIOTLSZ,JIOTSLZ,JIOTSZL,JIOTZSL,JIOTZLS,JIOTLZS,JIOLTZS,JILOTZS,JILTOZS,IJTOSLZ,IJOTLSZ,IJTOLSZ,IJOTSLZ,IJOTSZL,IJOTZSL,IJOTZLS,IJOTLZS,IJTLOSZ,IJOLTZS,IJLTOSZ,IJLOTSZ,IJLOTZS,IJLTOZS,IJTLOZS,IJTOLZS,IJTOZLS,IJTOZSL,IJTZOSL,IJTZOLS
knewjade commented 4 years ago

thank you! It looks nice. I'd like to try it later.

Certainly there are many criteria for choosing solutions. At least, I want to add one with hold in sfinder (when I have time). but sfinder doesn't plan to provide any complex selectors now.

knewjade commented 4 years ago

This issue has been supported in v0.720 by adding --specified-only. thank you. https://github.com/knewjade/solution-finder/releases/tag/v0.720