liczba możliwości
Bartek: Witam, mam takie zadanko
Mam 6 zdarzeń, (a,b,c,d,e,f,g) i teraz każdej literce mogę przyporządkować 3 możliwości,
możliwość 1 i 0 i 2.
Z warunkiem ograniczającym iż musi wystąpić min .jedna 1 oraz maksimum 4 jedynki, dalej warunek
dla 0 to minimum jeden raz oraz maksymalnie cztery, dla 2 warunek zero minimum a maksimum
trzy.
np.
a,b,c,d,e,f,g
1,1,1,1,0,0
1,1,1,1,2,0
1,1,1,1,0,2
1,1,1,0,0,0
1,1,0,1,1,2
1,1,0,1,0,1
1,1,0,1,0,2
1,1,0,1,0,0
1,1,0,2,1,1
Jak obliczyć liczbę takich możliwości? Z czego skorzystać? Ile ona wynosi?
23 lis 00:41
Trivial:
Ich liczba wynosi 560, ale nie wiem jak to zgrabnie policzyć.
Prelude> :set +m
Prelude> let omega = sequence . replicate 6 $ [0,1,2]
Prelude| count e = length . filter (==e)
Prelude| pred xs = 1 <= count 1 xs && count 1 xs <= 4
Prelude| && 1 <= count 0 xs && count 0 xs <= 4
Prelude| && 0 <= count 2 xs && count 2 xs <= 3
Prelude|
Prelude> length . filter pred $ omega
560
23 lis 13:16
Bartek: ok, wielkie dzięki, a to da się jakoś w Excela wrzucić albo coś w tym stylu? tak bym tylko
wpisywał dolne i górne warunki oraz liczbę zdarzeń i by wyskakiwała liczba możliwości?
23 lis 15:12
Trivial: Mogę ten swój programik łatwo przerobić tak, żeby działał w ogólnych warunkach. A mistrzem
Excela to nie jestem.
23 lis 15:16
Bartek: a co to za programik? świetnie by było gdyby mi takie zadania liczył komputer, a nie musiał bym
ręcznie, bo mam takie zagadnienie gdzie muszę narzucić sobie optymalne ograniczenia górne i
dolne z przedziału od 0 do n gdzie n to jest to maksymalna liczba zdarzeń, w tym przypadku
n=6, dla 3 wartości (0,1,2) korzystając z rozkładu normalnego krzywej Gaussa, by stosunek
ilości powstałych możliwości (tu 560) do procentowej wartości iż cały przebieg zmieści się w
warunkach był największy(tu jakieś 80−85%).
Trochę to skomplikowane, ale jakbyś mógł mi podać z jakich funkcji korzystać, czy jak to
wprowadzić do Excela to bym był ogromnie wdzięczny
23 lis 15:25
Trivial: Nie za bardzo rozumiem jak dokładnie wygląda zadanie. Możesz jaśniej?
23 lis 15:35
Bartek: Spróbuje to wytłumaczyć na analogi do meczów piłkarskich bo oba zagadnienia opierają się na
tych samych wartościach.
Chodzi o zastosowanie ograniczeń w meczach piłkarskich dla jednej kolejki piłkarskiej.
Przykład:
Wybieram ekstraklase i w jednej kolejce mam 8 meczy(16 drużyn) może wystąpić bodajże ponad
kilkaset tysięc różnych wyników(różnych kombinacji zwycięstw, remisów i porażek), ale np. w 9
na 10 kolejkach występuje od 2 do 5 zwycięstw gospodarza czyli "1" od 1 do 4 remisy czyli "0"
i od 1 do 4 zwycięstwa gości czyli "2", dlatego wprowadzam takie ograniczenia górne i dolne
jak napisałem i ilość możliwych kombinacji jakie przy takich ograniczeniach wystąpią znacznie
spada, bo wyrzucam wiele kombinacji niespełniających któregoś z warunki min lub max.
I teraz chciałbym to porównać gdy wprowadzę ograniczenia dla "1" gospodarza od 3 do 4 dla "0"
remisu od 2 do 3 dla "2" gościa od 2 do 3 i przy takim ograniczeniu mam szanse, jakby to
napisać−że rzeczywistość, to co się wydarzy będzie przeze mnie w 1 z tych kombinacji
przewidziane/pokrytejakieś 40% (wyniki rundy piłkarskiej zmieszczą się w moim ograniczeniu)
Tą procentową wartość muszę sam policzyć na podstawie statystyki tutaj podaję tylko
orientacyjnie i tą wartość przemnożyć przez liczbę możliwości jakie determinuje ograniczenie
przeze mnie narzucone.
23 lis 16:13
Trivial: Eh. Rzeczywiście skomplikowane. Później przeanalizuję.
23 lis 16:29
Bartek: Byłbym ogromnie wdzięczny, chociaż tak na dobrą sprawę wystarczy, jak mógłbyś mi wytłumaczyć
jak obliczyłeś te 560?
Gdzie to mogę wpisać? Jak to jest wyliczone? Skąd to się wzięło? W jakim programiku mogę to
wpisać i on mi poda odpowiedź?
Prelude> :set +m
Prelude> let omega = sequence . replicate 6 $ [0,1,2]
Prelude| count e = length . filter (==e)
Prelude| pred xs = 1 <= count 1 xs && count 1 xs <= 4
Prelude| && 1 <= count 0 xs && count 0 xs <= 4
Prelude| && 0 <= count 2 xs && count 2 xs <= 3
Prelude|
Prelude> length . filter pred $ omega
bo to jest w miarę jasny zapis, wystarczy tylko zmienne zmieniać, ale nie bardzo wiem jak to
wykorzystać, bo sam to liczę przy pomocy kartki, kalkulatora i długopisu jednak to jest zbyt
skomplikowane na ręczne obliczenia.
23 lis 21:32
23 lis 22:27
Bartek: dzięki

Tak mi wiele pomogłeś,
Swoją drogą ten wynik wyszedł strasznie duży, szacowałem jakieś 80−120 a tu aż tyle.
23 lis 22:50
Trivial: W kombinatoryce, 560 to raczej mało.
23 lis 22:57