matematykaszkolna.pl
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. emotka
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 emotka
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
Trivial: To język Haskell (interpretowany przez ghci). Wszystko czego potrzebujesz to Haskell Platform. http://www.haskell.org/platform/
23 lis 22:27
Bartek: dzięki emotka 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. emotka
23 lis 22:57