Dlatego liczę na to, że mnie naprowadzicie jeżeli zafiksowałem się w swoim myśleniu.
Ostatnio chciałem stworzyć sobie mieszarkę do tekstów, która z tak przygotowanego tekstu będzie w stanie mi wygenerować tekst powiedzmy z 80% unikalnością.
{{Przykładowy|Wzorcowy} {tekst|materiał}|{Unikalny|Niepowtarzalny} {mechanizm|skrypt}}
To są przykładowe dwa pierwsze wyrazy zdania które chcę wymieszać.
I nie ma problemu z taką ilością bo jestem w stanie wygenerować 8 unikalnych opcji. Problem pojawia się z unikalnością w przypadku kiedy mam takich opcji dla kilku zdań ponad 100 i powstaje dzięki temu kilka zdań.
W czym tkwi problem

Stworzyłem sobie tekst który ma około 10k znaków z opcjami tak jak w tym przykładzie, wygenerowałem prawie 3mln kombinacji. I zawiesiłem się na moment bo stwierdziłem ze te 3mln kombinacji to w 80% tekst powtórzony. Znalazłem narzędzie do excela nazywa sie SeoTools, które po pierwsze jest też wstanie wymieszać mi tekst a po drugie sprawdzić powtarzającą się treść ile ciągów znaków (nie mam dostępu do kodu tej funkcji więc nie wiem dokładnie jak ona działa). Ale idąc tropem tego dodatku stwierdziłem, że napisze tekst który będzie miał około 5k kombinacji i na zasadzie porównania sprawdzę każdy z każdym co da mi 25k sprawdzeń i z tych wybiorę tylko te które, mają najmniejszą ilość powtórzonego tekstu. I wydaje mi się w jakiś 80%, że to jest słuszna metoda.
Ale excel ma tylko lekko ponad 1mln rekordów i czas przerabiania tych funkcji jest koszmarnie dług. Dlatego stwierdziłem, że przerobie to skryptem php.
Na początku stwierdziłem, że stworze skrypt który będzie mi generowała tekst bez jakichkolwiek powtórzeń. I w sumie to jest ok. Poczytałem poszukałem i znalazłem skrypt do permutacji bez powtórzeń, dodałem cały tekst w tablicę i działa ale przy około ponad 3mln kombinacji powstało mi tylko kilka tekstów, które są w 100% różne a mi zależy na tym, żeby teksty były powiedzmy w 80% różne.
Nie wiem za bardzo jak mierzyć unikalność.
I czy np metoda metoda wygenerowania tekstów a później sprawdzenia na zasadzie stworzonej tablicy gdzie będą dane z pierwszego nawiasu {} a w nim kolejne opcje z nawiasu zagnieżdżonego {} itd. aby sprawdzić ile jest unikalnych dla jednego rekordu tablicy i później kolejny i kolejny.
Kolejne co mi przychodzi do kłowy to wygenerować tablicę z wszystkimi zagnieżdżeniami i generować teksty na podstawie tej tablicy ale wtedy wyjdą tylko 100% unikaty a ja bym chciał wstawić jakąś zmienną która generowała mi 80% powtarzalności.
Może się zafiksowałem tak jak powiedziałem na początku, może są gotowe algorytmy na tego typu zagadnienia.