Розум про недетерміновано закінчуються петлі


10

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

Фон

Я хочу моделювати мову на той час з недетермінізмом. Я думаю, що це очевидний (або, принаймні, наївний) спосіб моделювання такої мови за допомогою домену Сміта, але виправте мене, якщо я помиляюся. Ми будемо моделювати значення команди в цій мові як функція, домен якої - це множина станів і кодоміном якої є набір , де є найменшим елементом, що представляє неприпинення, а - набір потужностей станів.P ( S ) = { } P ( S ) P ( S )SP(S)={}P(S)P(S)

Ми інтерпретуємо команди як карти зі станів або події без припинення або наборам станів які представляють можливі результати. - недетермінований вибір.σ{σ1,σ2,}PQ

  • skipσ={σ}
  • x:=Eσ={σ[(Eσ)/x]}
  • abortσ=
  • if E then P else Qσ=Pσ якщо Eσ=true , інакше Qσ
  • PQσ= якщо Pσ= або Qσ= , інакше PσQσ
  • P;Qσ= якщо або для деякого , інакшеPσ=Qτ=τPστPσQτ

Існує спрямований повний частковий порядок , де для будь-якого і якщо обидва і є правильними наборами, а , і ми можемо поширити це на функції від до : якщо для кожного та - це функція, яка відображає кожен стан до .SSP(S)S1S2S1S2S1S2fSP(S)f1f2f1(σ)f2(σ)σf

Значення циклу - - найменша верхня межа ланцюга , де якщо , інакше якщо або для деякого , інакше . (Це визначення передбачає, що я щойно визначив, є Скоттом безперервним, але я думаю, що це безпечно залишити в стороні.)while E do Pσff(f)f(f(f))f(g)(σ)={σ}E(σ)=falsePσ=g(τ)=τPστPσg(τ)f

Питання

Розглянемо цю програму:

x:=0;
b:=true;
while b do
x:=x+2;
b:=falseb:=true

Інтуїтивно це петля, яка може повернути будь-яке додатне парне число або не припинити, і це відповідає тому, що ми можемо довести про цю петлю, використовуючи найслабшу ліберальну передумову (можна показати, що - це цикл інваріант). Однак, оскільки цикл має можливість не припинятись (ми можемо уточнити недетермінований вибір програмою, яка завжди займає праву гілку), значення цієї програми з урахуванням будь-якого початкового стану - . (Менше неофіційно: функція, яка відображає будь-який стан, де є неправдивим для себе, і будь-який стан, коли вірно є фіксованою точкою використовується для визначення циклу.)n.x=2nbbf

Це означає, що запропонована мною наївна семантика не відповідає тому, як я очікую, що зможу міркувати про програми. Я звинувачую свою семантику, але не можу їх виправити.


4
Я думаю, що, використовуючи в якості кодового значення значення програми, ви фактично відмовилися від міркувань про щось, що може розходитися. Наївна думка - використовувати , але я не знаю, чи це спричинить ще одну проблему. {}P(S)P(S{})
Tsuyoshi Ito

Так, ви абсолютно праві, що дивлячись на множину , вже очевидно, що втрачається надія ще до того, як ми потрапимо до прикладу. Ваша пропозиція трапилася і в мене, але я думаю, що у вас є одна і та ж проблема в цьому прикладі, поки потенційне неприпинення моделюється не , і якщо ми вибрали останнє, це буде заважати нашій здатності надавати значення циклу як найменш фіксованій точці звичайним чином. {}P(S)S{}{}
Роб Сіммонс

Ви дивилися на динамічну логіку? Семантика задана з точки зору відносин від станів до станів, і ви можете використовувати логіку, щоб міркувати про часткову і повну правильність, тобто про властивості обчислень, які закінчуються, і що всі обчислення закінчуються заданою властивістю.
Дейв Кларк

Я не замислювався над динамічною логікою в цій обстановці, але бачу, наскільки це може бути доречно - я побачу, що думають Платцер та його студенти, коли я повернувся в Пітсбург.
Роб Сіммонс

Відповіді:


10

У дослідженні [dB80] аналіз Хічкока і Парка щодо термінальних властивостей рекурсії відповідає семантичному аналізу, заснованому на так званій інтерпретації відносин Еглі-Мілнера [Egl75, Plo76], що виражає помилковий недетермінізм. Це поняття фіксує, що недетермінований союз відносин є правильним, якщо він генерує хоча б одне обчислення, що призводить до бажаного результату (навіть за наявності обчислень, що не припиняються). Здається, це відповідає тому, що ви намагаєтесь зробити.

Далі охарактеризуйте значення висловлювання як функції відображає кожен початковий стан до деякого непорожнього набору станів, можливо, містить , таким чином, щоб був суворим у тому сенсі, що . Недетермінований вибір між операторами і описується функцією, яка відображає кожен початковий стан до об'єднання окремих результатів . Таким чином, щоразу, коли абоSfSσfSfS()={}S1S2σfS1(σ)fS2(σ)S1S2має недетерміновану можливість спричинити небажаний результат, тоді це робить і їх недетермінований вибір. Оскільки отримані набори кінцевих станів отримують у цьому аналізі так званий набір станів Еглі-Мілнера:

PE--M(S)={ sS | s є кінцевим і непорожнім, або містить}

Чому нескінченні підмножини не вважаються можливими наборами кінцевих станів у цій моделі? За припущенням, що всі основні будівельні блоки реляційних термінів створюють лише кінцеві, непусті набори можливих кінцевих станів, нескінченна сукупність можливих кінцевих станів може бути сформована лише тоді, коли можливе нескінченне обчислення. Це можна побачити наступним чином. Структуруйте набір усіх можливих обчислень, починаючи з заданого стану як дерево з коренем і констатує як вузли. Набір листя - це точно той самий набір можливих кінцевих станів, доступних від , за виняткомSσ0σ0σ0, який може бути відсутнім серед листя, але представлений у безлічі кінцевих станів тим, що в дереві є нескінченний шлях. За припущенням вище, і оскільки доступний лише кінцевий недетермінований вибір, це дерево є кінцево розгалуженим. Таким чином, існує лише кінцева кількість листя на будь-якій заданій кінцевій глибині. Отже, нескінченна кількість можливих кінцевих станів може бути сформована лише за наявності нескінченного обчислення (додаток лемми Кеніга [Kön32]).

(PE--M(S),E--M) - це посилання для визначено: для ,E--Ms,tPE--M(S)

sE--Mt=(ss{}t)(ss=t) .

Тут може розглядатися як заповнювач, через який -величі набори можуть бути створені, вставляючи більше станів замість . Тому є найменшим елементом . Крім того, група має мазки для ланцюгів. Аналогічно, строгі функції від до частково впорядковані по розширенню . Причому найменше такої функціїE--M{}(PE--M(S),E--M)(PE--M(S),E--M)ωS{}PE--M(S)E--Mλσ.{} і луби таких ланцюгів таких функцій також існують.ω

[dB80] JW де Баккер. Математична теорія коректності програми . Prentice Hall, 1980.

[Egl75] H Еглі. Математична модель для недетермінованих обчислень. Технічний звіт, ETH Zürich, 1975.

[Kön32] D König. Theorie der endlichen und undndlichen Graphen. Технічний звіт, Лейпциг, 1932 рік.

[Пло76] Г. Д. Плоткін. Потужна доменна конструкція. Журнал обчислень SIAM , 5 (3): 452-487, 1976.

Відмова: це взято майже дослівно з книги, якою я колись був співавтором:

WP de Roever і K Engelhardt. Уточнення даних: Модельні методи перевірки та їх порівняння . Cambridge University Press, 1998.


4
Фраза "це взято майже дослівно з книги, до якої я колись був співавтором", мабуть, має бути префіксом "Додаткова приємність:" не "Відмова від відповідальності:" :-D. Дякую, це дуже корисно.
Роб Сіммонс

Один із способів погляду на недетермінізм (і те, як я хочу на це дивитись) полягає в тому, що це форма недооцінки - програма з недетермінованим вибором удосконалюється програмою, яка завжди приймає перший вибір, завжди приймає другий вибір, або (див. велику роботу Маківера та Моргана в цій конкретній області) програму, яка вірогідно приймає той чи інший вибір .5 . Тож цикл, який не детерміновано не закінчується, уточнюється циклом, який ніколи не припиняється, а також вашим циклом монети, який закінчується (з вірогідністю 1)
Роб Сіммонс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.