Jump to content

Стратегия сокращения

В переписывании стратегия сокращения или стратегия переписывания — это отношение, определяющее перезапись для каждого объекта или термина, совместимое с данным отношением сокращения. [1] Некоторые авторы используют этот термин для обозначения стратегии оценки . [2] [3]

Определения [ править ]

Формально для абстрактной системы переписывания , стратегия сокращения является бинарным отношением на с , где является транзитивным замыканием (но не рефлексивное закрытие). [1] Кроме того, нормальные формы стратегии должны быть такими же, как нормальные формы исходной системы переписывания, т. е. для всех , существует с если только . [4]

Стратегия одношагового сокращения – это стратегия, при которой . В противном случае это многошаговая стратегия. [5]

стратегия Детерминированная – это стратегия, в которой является частичной функцией , т.е. для каждого есть максимум один такой, что . В противном случае это недетерминированная стратегия. [5]

Переписывание термина [ править ]

В системе переписывания терминов стратегия переписывания определяет из всех сокращаемых подтерминов ( редексов ), какой из них следует сократить ( сжать ) в пределах термина.

Одноэтапные стратегии переписывания терминов включают в себя: [5]

  • Самый левый-внутренний: на каждом шаге сжимается самый левый из самых внутренних редексов, причем самым внутренним редексом является редекс, не содержащий каких-либо редексов. [6]
  • Крайний левый-внешний: на каждом шаге сжимается самый левый из крайних редексов, где крайний редекс — это редекс, не содержащийся ни в одном редексе [6]
  • Крайний правый внутренний, Крайний правый крайний: аналогично

Многошаговые стратегии включают в себя: [5]

  • параллельный-внутренний: одновременно сокращает все самые внутренние редексы. Это четко определено, поскольку редексы попарно не пересекаются.
  • параллельно-внешний: аналогично
  • Редукция Гросса-Кнута, [7] также называется полной заменой или редукцией Клини: [5] все редексы в терме одновременно сокращаются

Параллельная внешняя редукция и редукция Гросса-Кнута гипернормализуют для всех почти ортогональных систем переписывания терминов, а это означает, что эти стратегии в конечном итоге достигнут нормальной формы, если она существует, даже при выполнении (конечного множества) произвольных редукций между последовательными применениями стратегии. [8]

Stratego — это предметно-ориентированный язык, разработанный специально для стратегий переписывания терминов программирования. [9]

Лямбда-исчисление [ править ]

В контексте исчисления лямбда - сокращение нормального порядка относится к крайнему левому сокращению в смысле, указанном выше . [10] Приведение к нормальному порядку является нормализацией в том смысле, что если терм имеет нормальную форму, то приведение к нормальному порядку в конечном итоге достигнет ее, отсюда и название «нормальный». Это известно как теорема стандартизации. [11] [12]

Крайнее левое сокращение иногда используется для обозначения нормального уменьшения порядка, поскольку при обходе предварительного порядка понятия совпадают, и аналогичным образом крайний левый редекс - это редекс с самым левым начальным символом, когда лямбда-термин рассматривается как строка символов. [13] [14] Когда «крайний левый» определяется с помощью обхода по порядку, понятия различны. Например, в термине с определено здесь , самый левый редекс упорядоченного обхода равен в то время как крайний левый редекс представляет собой все выражение. [15]

Аппликативное снижение порядка относится к самому левому и самому внутреннему сокращению. [10] В отличие от нормального порядка редукция аппликативного порядка может не прекращаться, даже если термин имеет нормальную форму. [10] Например, с помощью аппликативного приведения порядка возможна следующая последовательность приведений:

Но при использовании приведения к нормальному порядку та же самая отправная точка быстро приводится к нормальной форме:

Полная β-редукция относится к недетерминированной одношаговой стратегии, которая позволяет уменьшать любой редекс на каждом этапе. [3] Такахаши Параллельная β-редукция — это стратегия, которая уменьшает все редексы в термине одновременно. [16]

Слабое сокращение [ править ]

Нормальное и аппликативное приведение порядка сильны тем, что позволяют приводить к лямбда-абстракциям. Напротив, слабая редукция не приводит к лямбда-абстракции. [17] Сокращение вызова по имени — это слабая стратегия сокращения, которая уменьшает самый левый внешний редекс не внутри лямбда-абстракции, тогда как сокращение вызова по значению — это слабая стратегия сокращения, которая уменьшает самый левый внутренний редекс не внутри лямбда-абстракции. вызова по имени и вызова по значению Эти стратегии были разработаны для отражения стратегий оценки . [18] Фактически, аппликативное понижение порядка также было первоначально введено для моделирования метода передачи параметров по значению, используемого в Algol 60 и современных языках программирования. В сочетании с идеей слабой редукции результирующая редукция вызова по значению действительно является точным приближением. [19]

К сожалению, слабая редукция не является сливной. [17] а традиционные уравнения приведения лямбда-исчисления бесполезны, поскольку они предполагают отношения, нарушающие режим слабой оценки. [19] Однако можно расширить систему до конфлюэнтности, разрешив ограниченную форму редукции в рамках абстракции, в частности, когда редекс не включает переменную, связанную абстракцией. [17] Например, λ x .(λ y . x ) z находится в нормальной форме для стратегии слабой редукции, поскольку редекс y . x ) z содержится в лямбда-абстракции. Но термин λ x .(λ y . y ) z все еще можно уменьшить с помощью расширенной стратегии слабой редукции, поскольку редекс y . y ) z не относится к х . [20]

Оптимальное сокращение [ править ]

Оптимальное сокращение мотивировано существованием лямбда-членов там, где не существует последовательности сокращений, которая уменьшает их без дублирования работы. Например, рассмотрим

((λg.(g(g(λx.x))))
 (λh.((λf.(f(f(λz.z))))
      (λw.(h(w(λy.y)))))))

Он состоит из трех вложенных терминов, x=((λg. ... ) (λh.y)) , y=((λf. ...) (λw.z)) , и z=λw.(h(w(λy.y))) . Здесь можно сделать только две возможные β-редукции: по x и по y. Уменьшение внешнего термина x сначала приводит к дублированию внутреннего термина y, и каждая копия должна быть уменьшена, но уменьшение сначала внутреннего термина y приведет к дублированию его аргумента z, что приведет к дублированию работы, когда значения h и мы стали известны. [а]

Оптимальное сокращение не является стратегией сокращения для лямбда-исчисления в узком смысле, поскольку при выполнении β-редукции теряется информация об общих замененных редексах. Вместо этого он определен для помеченного лямбда-исчисления , аннотированного лямбда-исчисления, которое отражает точное представление о работе, которой следует поделиться. [21] : 113–114 

Метки состоят из счетного бесконечного набора атомарных меток и конкатенаций. , зачеркивания и подчеркивания этикеток. Помеченный термин — это термин лямбда-исчисления, в котором каждый подтерм имеет метку. Стандартная начальная маркировка лямбда-терма дает каждому подтерму уникальную атомарную метку. [21] : 132  Меченое β-восстановление определяется: [22]

где объединяет метки, и замена определяется следующим образом (с использованием соглашения Барендрегта ): [22]

Можно доказать, что система является конфлюэнтной. Оптимальное сокращение тогда определяется как нормальное сокращение или самое левое сокращение с использованием сокращения по семействам, то есть параллельное сокращение всех редексов с одной и той же меткой функциональной части. [23] Стратегия оптимальна в том смысле, что она выполняет оптимальное (минимальное) количество шагов сокращения семейства. [24]

Практический алгоритм оптимального сокращения был впервые описан в 1989 году. [25] спустя более десяти лет после того, как оптимальное сокращение было впервые определено в 1974 году. [26] Болонская оптимальная машина высшего порядка (BOHM) — это прототип реализации расширения метода на сети взаимодействия . [21] : 362  [27] Lambdascope — это более поздняя реализация оптимального сокращения, также использующая сети взаимодействия. [28] [б]

Звонок по сокращению потребности [ править ]

Сокращение вызова по необходимости можно определить аналогично оптимальному сокращению как слабое крайнее левое сокращение с использованием параллельного сокращения редексов с одной и той же меткой для немного другого помеченного лямбда-исчисления. [17] Альтернативное определение заменяет бета-правило на операцию, которая находит следующее «необходимое» вычисление, оценивает его и заменяет результат во все места. Это требует расширения бета-правила, чтобы позволить сокращать термины, которые не являются синтаксически смежными. [29] Как и в случае с вызовом по имени и вызовом по значению, сокращение количества вызовов по необходимости было разработано для имитации поведения стратегии оценки, известной как «вызов по необходимости» или ленивая оценка .

См. также [ править ]

Примечания [ править ]

  1. ^ Кстати, приведенный выше член сводится к тождественной функции (λy.y) и создается путем создания оболочек, которые делают функцию идентификации доступной связующим. g=λh... , f=λw... , h=λx.x (сначала), и w=λz.z (сначала), все из которых применяются к самому внутреннему члену λy.y .
  2. ^ Краткое изложение недавних исследований по оптимальному сокращению можно найти в короткой статье « Об эффективном сокращении лямбда-членов» .

Ссылки [ править ]

  1. ^ Jump up to: Перейти обратно: а б Киршнер, Элен (26 августа 2015 г.). «Стратегии переписывания и программы стратегического переписывания» . В Марти-Олье Нарцисо; Ольвечки, Петер Чаба; Талкотт, Кэролайн (ред.). Логика, переписывание и параллелизм: очерки, посвященные Хосе Месегеру по случаю его 65-летия . Спрингер. ISBN  978-3-319-23165-5 . Проверено 14 августа 2021 г.
  2. ^ Селинджер, Питер; Валирон, Бенуа (2009). «Квантовое лямбда-исчисление» (PDF) . Семантические методы в квантовых вычислениях : 23. doi : 10.1017/CBO9781139193313.005 . ISBN  9780521513746 . Проверено 21 августа 2021 г.
  3. ^ Jump up to: Перейти обратно: а б Пирс, Бенджамин К. (2002). Типы и языки программирования . МТИ Пресс . п. 56. ИСБН  0-262-16209-1 .
  4. ^ Клоп, Джон Уиллем; ван Остром, Винсент; ван Раамсдонк, Фемке (2007). «Стратегии сокращения и ацикличность» (PDF) . Переписывание, вычисление и доказательство . Конспекты лекций по информатике. Полный. 4600. стр. 89–112. CiteSeerX   10.1.1.104.9139 . дои : 10.1007/978-3-540-73147-4_5 . ISBN  978-3-540-73146-7 .
  5. ^ Jump up to: Перейти обратно: а б с д и Клоп, Дж. В. «Системы переписывания терминов» (PDF) . Статьи Нахума Дершовица и его студентов . Тель-Авивский университет. п. 77 . Проверено 14 августа 2021 г.
  6. ^ Jump up to: Перейти обратно: а б Хорвиц, Сьюзан Б. «Лямбда-исчисление» . CS704 Примечания . Университет Висконсина в Мэдисоне . Проверено 19 августа 2021 г.
  7. ^ Барендрегт, HP; Экелен, MCJD; Глауэрт, JRW; Кеннауэй-младший; Пласмейер, MJ; Спи, МР (1987). Переписывание графика термов . Параллельные архитектуры и языки Европы. Полный. 259. стр. 141–158. дои : 10.1007/3-540-17945-3_8 .
  8. ^ Антой, Серджио; Мидделдорп, Аарт (сентябрь 1996 г.). «Стратегия последовательного сокращения» (PDF) . Теоретическая информатика . 165 (1): 75–95. дои : 10.1016/0304-3975(96)00041-2 . Проверено 8 сентября 2021 г.
  9. ^ Кибурц, Ричард Б. (ноябрь 2001 г.). «Логика переписывания стратегий» . Электронные заметки по теоретической информатике . 58 (2): 138–154. дои : 10.1016/S1571-0661(04)00283-X .
  10. ^ Jump up to: Перейти обратно: а б с Маццола, Гуэрино; Мильмейстер, Жерар; Вайсманн, Джоди (21 октября 2004 г.). Комплексная математика для специалистов по информатике 2 . Springer Science & Business Media. п. 323. ИСБН  978-3-540-20861-7 .
  11. ^ Карри, Хаскелл Б .; Фейс, Роберт (1958). Комбинаторная логика . Том. I. Амстердам: Северная Голландия. стр. 139–142. ISBN  0-7204-2208-6 .
  12. ^ Касима, Рё. «Доказательство теоремы стандартизации в λ-исчислении» (PDF) . Токийский технологический институт . Проверено 19 августа 2021 г.
  13. ^ Виал, Пьер (7 декабря 2017 г.). Неидемпотентные операторы типизации, выходящие за рамки λ-исчисления (PDF) (доктор философии). Сорбонна Париж Сите. п. 62.
  14. ^ Партейн, Уильям Д. (декабрь 1989 г.). Сокращение графа без указателей (PDF) (доктор философии). Университет Северной Каролины в Чапел-Хилл . Проверено 10 января 2022 г.
  15. ^ Ван Оостром, Винсент; Тояма, Ёсихито (2016). Нормализация методом случайного спуска (PDF) . 1-я Международная конференция по формальным структурам вычислений и дедукции. п. 32:3. doi : 10.4230/LIPIcs.FSCD.2016.32 .
  16. ^ Такахаши, М. (апрель 1995 г.). «Параллельные редукции в λ-исчислении» . Информация и вычисления . 118 (1): 120–127. дои : 10.1006/inco.1995.1057 .
  17. ^ Jump up to: Перейти обратно: а б с д Блан, Томаш; Леви, Жан-Жак; Маранге, Люк (2005). «Совместное использование слабого лямбда-исчисления». Процессы, сроки и циклы: шаги на пути к бесконечности: очерки, посвященные Яну Виллему Клопу по случаю его 60-летия . Спрингер. стр. 70–87. CiteSeerX   10.1.1.129.147 . дои : 10.1007/11601548_7 . ISBN  978-3-540-32425-6 .
  18. ^ Сестофт, Питер (2002). «Демонстрация сокращения лямбда-исчисления» (PDF) . Ин Могенсен, Т; Шмидт, Д; Садборо, Айдахо (ред.). Сущность вычислений: сложность, анализ, преобразование. Очерки, посвященные Нилу Д. Джонсу . Конспекты лекций по информатике. Том. 2566. Шпрингер-Верлаг. стр. 420–435. ISBN  3-540-00326-6 .
  19. ^ Jump up to: Перейти обратно: а б Феллейзен, Матиас (2009). Семантическая инженерия с помощью PLT Redex . Кембридж, Массачусетс: MIT Press. п. 42. ИСБН  978-0262062756 .
  20. ^ Сестини, Филиппо (2019). Нормализация путем оценки типизированной слабой лямбда-редукции (PDF) . 24-я Международная конференция по типам доказательств и программ (TYPES 2018). doi : 10.4230/LIPIcs.TYPES.2018.6 .
  21. ^ Jump up to: Перейти обратно: а б с Асперти, Андреа; Геррини, Стефано (1998). Оптимальная реализация функциональных языков программирования . Кембридж, Великобритания: Издательство Кембриджского университета. ISBN  0521621127 .
  22. ^ Jump up to: Перейти обратно: а б Фернандес, Марибель; Сиафакас, Николаос (30 марта 2010 г.). «Помеченные лямбда-исчисления с явным копированием и стиранием». Электронные труды по теоретической информатике . 22 : 49–64. arXiv : 1003.5515v1 . дои : 10.4204/EPTCS.22.5 . S2CID   15500633 .
  23. ^ Леви, Жан-Жак (9–11 ноября 1987 г.). Совместное использование оценки лямбда-выражений (PDF) . Второй франко-японский симпозиум по программированию компьютеров будущего поколения. Канны, Франция. п. 187. ИСБН  0444705260 .
  24. ^ Тереза ​​(2003). Системы переписывания терминов . Кембридж, Великобритания: Издательство Кембриджского университета. п. 518. ИСБН  978-0-521-39115-3 .
  25. ^ Лампинг, Джон (1990). Алгоритм оптимального сокращения лямбда-исчисления (PDF) . 17-й симпозиум ACM SIGPLAN-SIGACT по принципам языков программирования - POPL '90. стр. 16–30. дои : 10.1145/96709.96711 .
  26. ^ Леви, Жан-Жак (июнь 1974 г.). Безопасное сокращение лямбда-исчисления (PDF) (доктор философии) (на французском языке). Парижский VII университет. стр. 81–109. OCLC   476040273 . Проверено 17 августа 2021 г.
  27. ^ Асперти, Андреа. «Болонская оптимальная машина высшего порядка, версия 1.1» . Гитхаб .
  28. ^ ван Остром, Винсент; ван де Лоой, Кес-Ян; Цвицерлоод, Марин (2004). ] (Lambdascope): еще одна оптимальная реализация лямбда-исчисления (PDF) . Практикум по алгебре и логике в системах программирования (ALPS).
  29. ^ Чанг, Стивен; Феллейзен, Матиас (2012). «Лямбда-исчисление по требованию, новый взгляд» (PDF) . Языки и системы программирования . Конспекты лекций по информатике. Том. 7211. стр. 128–147. дои : 10.1007/978-3-642-28869-2_7 . ISBN  978-3-642-28868-5 . S2CID   6350826 .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f431a6eeeef55959a1b4db7047e6b470__1712724840
URL1:https://arc.ask3.ru/arc/aa/f4/70/f431a6eeeef55959a1b4db7047e6b470.html
Заголовок, (Title) документа по адресу, URL1:
Reduction strategy - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)