Proces CCS dla dystrybutora napojów w dwóch różnych cenach


11

Dozownik napojów wymaga od użytkownika włożenia monety ( c¯ ), a następnie naciśnięcia jednego z trzech przycisków: prosi o filiżankę herbaty , to samo na kawę, i prosi o zwrot pieniędzy (tzn. maszyna zwraca monetę: ). Dozownik można modelować za pomocą następującego procesu CCS :eherbaty ˉ R ˉ bre¯herbatamiherbatar¯b¯

M.=remifado.(reherbata.mi¯herbata.M.+reKawa.mi¯Kawa.M.+r.b¯.M.)

Wojna domowa podnosi cenę kawy do dwóch monet, podczas gdy cena herbaty pozostaje jedną monetą. Chcemy zmodyfikowanego urządzenia, które dostarcza kawę dopiero po dwóch monetach, i przyznaje zwrot pieniędzy po jednej lub dwóch monetach. Jak możemy modelować zmodyfikowaną maszynę za pomocą procesu CCS?


1
Co to jest model / proces CCS? Czy są one równoważne z oznakowanymi systemami przejściowymi (LTS)?
Raphael

1
@Raphael CCS to rachunek procesowy, prekursor rachunku różniczkowego pi. Model CCS to tylko model w CCS. Dodałem link do Wikipedii i tag wiki.
Gilles „SO- przestań być zły”

Myślę, że logika i języki programowania są odpowiednie dla tego pytania. Algebry procesowe są badane w tych obszarach i dla tego pytania logika wydaje się bardziej odpowiednia, np. Sprawdź tutaj znaczniki obszaru .
Kaveh

Odpowiedzi:


9

W ten sposób możesz łatwo czerpać zyski z działań wojennych:

M.=remifado.(reherbata.mi¯herbata.M.+r.b¯.M.+do.(reKawa.mi¯Kawa.M.+r.b¯.b¯.M.))

pamiętaj, że musisz wcisnąć zwrot, aby dostać herbatę, jeśli włożysz zbyt wiele monet. Jeśli tego nie chcesz, możesz go dostosować (lub może skonfigurować licznik (wystarczy skończonego)):

M.=remifado.(reherbata.mi¯herbata.M.+r.b¯.M.+do.(reKawa.mi¯Kawa.M.+reherbata.b¯.mi¯herbata.M.+r.b¯.b¯.M.))

Nie rozumiem twojej odpowiedzi. Pierwszy pokazany proces ma cenę kawy za jedną monetę, a urządzenie w jakiś sposób powoduje, że użytkownik wkłada monetę. Nie widzę żadnego związku z pytaniem. Drugi proces wygląda na dobrej drodze, ale co robić ?? do¯
Gilles „SO- przestań być zły”

@Gilles: oddaje pieniądze, ale byłoby lepiej, że podałeś nam inną nazwę, by je odesłać. do¯
Stéphane Gimenez

@ StéphaneGimenez Masz rację, dodałem to.
Gilles „SO - przestań być zły”

@Gilles i Stéphane: masz rację, jest bardzo złym wyborem na refundację. (Na przykład możesz wymagać, aby maszyna była asynchroniczna: r . ( ˉ cM ), a następnie maszyna sama by to do¯r.(do¯M.)
zrobiła,

@Gilles: Ja też wybrałem , niezależnie od ciebie. Myślę, że to kanoniczny wybór :-)b¯
jmad

5

Ta maszyna jest wygodniejsza niż ta, którą proponujesz:M.0

M.0: =do.M.1

M.1: =reherbata.mi¯herbata.M.1+r.b¯.M.0+do.M.2)

M.n: =reherbata.mi¯herbata.M.n-1+reKawa.mi¯Kawa.M.n-2)+r.b¯.b¯.nM.0+do.M.n+1

(Ale używanie nieskończonych procesów jest jak oszustwo).


Podoba mi się tutaj aspekt kompozytorski. Wydaje mi się jednak, że automat nie dopuszcza więcej niż dwóch monet?
Raphael

Cóż, daje to także wyobrażenie o tym, jak radzić sobie z monetami o różnych wartościach :-)
Stéphane Gimenez,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.