Процес CCS для дозатора напоїв з двома різними цінами


11

Напій дозатор вимагає, щоб користувач , щоб вставити монету ( ), а потім натисніть одну з трьох кнопок: ˉ d чай просить чашку чаю е чаю , Ditto для кави, а ˉ г вимагає повернення (тобто машина дає назад монета: ˉ б ). Цей дозатор можна моделювати за допомогою наступного процесу CCS :c¯d¯teaetear¯b¯

M=defc.(dtea.e¯tea.M+dcoffee.e¯coffee.M+r.b¯.M)

Громадянська війна піднімає ціну на каву до двох монет, тоді як ціна чаю залишається однією монетою. Ми хочемо модифіковану машину, яка доставляє каву лише після двох монет, і повертається після повернення однієї або двох монет. Як ми можемо моделювати модифіковану машину за допомогою процесу CCS?


1
Що таке модель / процес CCS? Чи вони еквівалентні міченим системам переходу (LTS)?
Рафаель

1
@Raphael CCS - це технологічне числення, попередник обчислення pi. Модель CCS - це лише модель у CCS. Я додав посилання у Вікіпедії та вікі з тегами.
Жил "ТАК - перестань бути злим"

Я думаю, що логіка та мови програмування підходять для цього питання. Алгебри процесу вивчаються в цих областях, і для цього питання логіка здається більш прийнятною, наприклад, будь ласка, перевірте тут теги областей .
Каве

Відповіді:


9

Ви можете легко отримати прибуток від ведення війни таким чином:

M=defc.(dtea.e¯tea.M+r.b¯.M+c.(dcoffee.e¯coffee.M+r.b¯.b¯.M))

зауважте, що вам потрібно подати відшкодування, щоб отримати чай, якщо ви покладете занадто багато монет. Якщо ви цього не хочете, ви можете адаптувати його (або, можливо, встановити (достатньо скінченного) лічильника):

M=defc.(dtea.e¯tea.M+r.b¯.M+c.(dcoffee.e¯coffee.M+dtea.b¯.e¯tea.M+r.b¯.b¯.M))

Я не розумію вашої відповіді. Перший процес, який ви показуєте, має ціну кави за одну монету, і машина має якось змусити користувача вставити монету. Я не бачу зв'язку з цим питанням. Другий процес виглядає на правильному шляху, але що повинен робити ?? c¯
Жил "ТАК - перестань бути злим"

@Gilles: повертає гроші, але було б краще , я вам дав нам інше ім'я , щоб відправити гроші назад. c¯
Стефан Гіменез

@ StéphaneGimenez Ти маєш рацію, я це додав.
Жил "ТАК - перестань бути злим"

c¯r.(c¯M)

b¯ too, independently of you. I guess this is the canonical choice :-)
jmad

5

This M0 machine is more convenient than the one you propose:

M0:=c.M1

M1:=dtea.e¯tea.M1+r.b¯.M0+c.M2

Mn:=dtea.e¯tea.Mn1+dcoffee.e¯coffee.Mn2+r.b¯.b¯.nM0+c.Mn+1

(But using infinite processes is like cheating).


I like the compositional aspect here. However, I guess it is fine for the automaton to not allow more than two coins?
Raphael

Well this also gives an idea of how to deal with coins that have different values :-)
Stéphane Gimenez
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.