Archive for Maj 2017

h1

Proces określania korzystnych wyników

Maj 26, 2017

Wielu kibiców polskiej ligi zastanawia się kto zostanie mistrzem. Jedni ze 100% pewnością mówią, że to drużyna, której kibicują. Inny patrzą z niedowierzaniem na tabelę, na 2 kolejki przed końcem. Bo prawda jest taka, że 4 drużyny – oznaczmy je jako LP, LG, LW, JB – walczą o mistrzostwo oraz miejsce w pucharach. Jedna z drużyn pozostanie z niczym. Kolejna drużyna w kolejności ma taką stratę, że nie trzeba jej brać pod uwagę. Wskazane drużyny są obecnie ułożone w kolejności:  LW, JB, LB, LG z dorobkiem punktowym odpowiednio: 40, 38, 38, 38. Jest to punkt wyjściowy do próby określenia szans wybranej drużyny na zwycięstwo. Kroki są opisane na poniższym diagramie.

wyniki428px

Po określeniu punktu startowego, trzeba wygenerować wszystkie możliwe układy wyników w 2 kolejkach, z uwzględnieniem tego, że w pierwszej kolejce każda z drużyn walczy z drużyną spoza pierwszej czwórki, a w drugiej kolejce, walczą między sobą. Opieramy się tutaj tylko na wszystkich możliwych wynikach. Można to wygenerować następująco:

lp = 38
lw = 40
lg = 38
jb = 38
Określenie puntku startowego, poprzez określenie liczby punktów dla każdej z drużyn, przed kolejką.
for lp1 in [3,1,0]:
for lw1 in [3,1,0]:
for lg1 in [3,1,0]:
for jb1 in [3,1,0]: (…)
Generowanie wszystkich możliwych rozstrzygnięć dla pierwszej kolejki, wybierając odpowiedni wynik dla każdej z drużyn.
for lp2 in [3,1,0]:
for lw2 in [3,1,0]:
jb2 = wynikiodwr[lp2]
lg2 = wynikiodwr[lw2]
Generowanie dla każdego zestawu wyników z pierwszej kolejki, wszystkich możliwych rozstrzygnięć dla drugiej kolejki, wybierając odpowiedni wynik dla każdej z drużyn, z uwzględnieniem tego, że JB gra z LP oraz LG gra z LW.
(lp1,lw1,lg1,jb1,
lp2,lw2,lg2,jb2,
lpk = lp+lp1+lp2,
lwk =lw+lw1+lw2,
lgk =lg+lg1+lg2,
jbk = jb+jb1+jb2)
Zebranie możliwe zestawu wyników dla 1 I 2 kolejki wraz z osiągniętą liczbą punktów na koniec. Taki rekord jest dodawany do określonej struktury danych – określmy ją jako Wyniki.

Tym sposobem mamy 729 różnych rozstrzygnięć.

Teraz na bazie utworzonej struktury danych Wyniki możemy sprawdzić jakie rozstrzygnięcia powodują mistrzostwo określonej drużyny. Założmy, ze interesuje nas drużyna LP to wtedy możemy wyszukać wygenerowane pozycje, które spełniają na przykład warunek:

(Wyniki.lpk > Wyniki.lwk) & (Wyniki.lpk >= Wyniki.lgk) & (Wyniki.lpk > Wyniki.jbk)

Dla tego warunku mamy 91 rozstrzygnięć, co stanowi około 12,5% biorąc pod uwagę wszystkie wyniki bez uwzględnienia dotychczasowych rozstrzygnięć między drużynami grającymi w danej kolejce, statystyk, problemów drużyn, zmęczenia, kartek itp. Powyższy warunek nie uwzględnia tez innych relacji z ta samą liczbą punktów, które mogą powodować mistrzostwo określonej drużyny.

Powyższy przykład pokazuje, że pod określonymi krokami w procesie, kryją się określone działania w systemie lub wykonywane przez użytkownika. Wraz z diagramem mógłby być opis, który mniej lub bardziej technicznie pokazuje, na czym polega dany krok. Takie elementy jak powyżej można byłoby potraktować jako warstwę implementacyjną procesu.

Już w niedzielę okaże się, które z wygenerowanych wierszy można pominąć, skupiając się tylko na wynikach drugiej kolejki.

Reklamy
h1

Gdy chcesz wysłać paczkę

Maj 18, 2017

Dzwoni domofon. Pytasz kto to? Pada krótka odpowiedź: kurier. Nie przypominasz sobie czy na coś czekasz, więc wpuszczasz i weryfikujesz co to za przesyłka. Sprawdzasz i przyjmujesz paczkę lub nie. Gdy znasz nadawcę jest łatwiej i dane odbiorcy w pełni się zgadzają – przyjmujesz paczkę. W innych sytuacjach – kwestia pozostaje do wyjaśnienia. Te wyjaśnienia ułatwia dołączony do paczki list przewozowy/nalepka adresowa. Oprócz nadawcy i odbiorcy przesyłki zawiera informacje o jej wymiarach, wadze, nazwie firmy oraz dodatkowe informacje. Są one efektem procesu zlecenia wysyłki paczki. Tzw. wyjścia poszczególnych kroków.

paczka350px

Diagram przedstawia standardowy proces w takim przypadku. Przeglądając różne strony internetowe firm kurierskich można zauważyć, że na samym początku następuje pytanie o wagę i wymiary paczki, następnie miejsce dostarczenia. Paramatry te pozwalają określić cenę paczki. Jeżeli nadawca akceptuje te koszty, może podać szczegółowe dane nadawcy i odbiorcy. Czasami najpierw następuje rejestracja nadawcy, a potem reszta procesu. Bez podawania jakichkolwiek danych można wycenić paczkę i określić czy jest standardowa, czy może wymaga innych działań. Na odpowiednim etapie konieczne jest także opłacenie wysyłki.

W sytuacji, gdy zależy nam na ubezpieczeniu lub gwarancji dostarczenia paczki do określonej godziny jesteśmy zobowiązani do poniesienia wyższej opłaty, wykonania dodatkowych kroków lub zlecenia wysyłki paczki w określonych godzinach i miejscu. Elementów tych nie uwzględniłem na diagramie.

Wartość dodana w takim procesie może być tworzona przez dodatkowe udogodnienia, w tym poprzez możliwość śledzenia położenia paczki – jej wysyłki, transportu, dostarczenia, dzięki poznaniu z góry określonym identyfikatorom dla paczki.