Лямбда чему равна: Основные соотношения и единицы измерения

что это, как проверить, неисправности :: Autonews

Когда лямбда-зонд сбоит, это вызывает ряд симптомов, некоторые из которых потенциально опасны для мотора. Разбираемся, что такое лямбда-зонд, о каких видах и частых неисправностях стоит знать водителю.

  • Что это
  • Где находится
  • Виды
  • Неисправности

adv.rbc.ru

Эксперт в этой статье: Дмитрий Дегтев, руководитель отдела сервиса группы компаний «Обухов», официального представителя марок Volvo, Geely, GAC, DFM и Changan

Что такое лямбда-зонд

Лямбда-зонд — это электронный датчик для измерения состава продуктов сгорания, образующихся в результате работы двигателя внутреннего сгорания. Свое название он получил по букве греческого алфавита λ (лямбда), которую в автомобилестроении используют для обозначения коэффициента избытка воздуха в топливно-воздушной смеси (ТВС).

Работа двигателей внутреннего сгорания строится на принципе воспламенения воздуха и топлива. Для стабильной работы мотора важно приготовить смесь в нужных пропорциях. Эталонное, или стехиометрическое, весовое соотношение этих двух компонентов составляет 14,7:1 (воздух/топливо). В этом случае лямбда равна единице. При отклонении этого значения говорят об обедненной или обогащенной смеси.

Фото: Shutterstock

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

В автомобилестроении кислородные датчики применяют с конца 1970-х годов. Изобретение принадлежит компании Bosch, а первыми серийными моделями, на которые ставились лямбды, стали Volvo серии 240/260 для рынка США. Сегодня в конструкции авто может быть от одного до четырех таких датчиков. Их основные задачи:

  • контроль уровня кислорода в выхлопных газах;
  • передача информации электронному блоку управления (ЭБУ) о том, насколько полно сгорает ТВС;
  • обратная связь от каталитического нейтрализатора;
  • снижение уровня вредных выбросов;
  • повышение производительности мотора.

Каждый лямбда-зонд соответствует определенной марке и модели авто, поскольку его работа напрямую связана с «мозгами» машины. Подбирают элемент по VIN- номеру или по году, объему мотора и мощности.

Где находится лямбда-зонд

Лямбда-зонд обычно расположен в выхлопной системе автомобиля. В современных авто используют сразу несколько датчиков, которые можно найти как под капотом, так и на выхлопной трубе.

Первый располагается рядом с двигателем. Его хорошо видно, и он легко заменяем — это небольшой цилиндрический элемент, вкрученный в выпускной коллектор (иногда их сразу два). Основная задача такого лямбда-зонда — считывать информацию об уровне кислорода и вредных примесей в отработанных газах до их очистки каталитическим нейтрализатором. Второй зонд крепится под днищем автомобиля к выхлопной трубе до глушителя. Он фиксирует показатели после катализатора и также отправляет информацию ЭБУ. Электроника сравнивает два потока данных на предмет разницы.

Фото: Shutterstock

В более старых автомобилях, как правило, только один нижний датчик. В конструкции современных моделей с двигателем объемом 1,6 л и более предусмотрена система из двух лямбда-зондов. Автомобили с двойным выхлопом оснащаются тремя-четырьмя элементами. Два перед катализатором, ближе к двигателю, и по одному на каждую трубу выпускного коллектора.

В некоторых случаях в конструкцию датчика вводят дополнительный элемент — обманку. Это может быть некая металлическая проставка или электронный эмулятор. Чаще ее ставят на вторую лямбду. Таким образом удается обмануть ЭБУ об уровне кислорода и чистоте выхлопов. Подобная манипуляция может потребоваться в случае удаления катализатора или его неисправности. В противном случае компьютер автомобиля будет постоянно сигнализировать о проблеме (горящий Check на панели), что может негативно сказаться на продуктивности мотора.

Виды лямбда-зондов

Наиболее распространенные виды кислородных датчиков — из диоксида циркония и широкополосные. Реже встречают титановые. По количеству контактов бывают датчики с одним проводом (сигнальным) или сразу четырьмя, включая заземление и подогрев. Тип крепления элемента также варьируется. Наиболее распространен винтовой, когда датчик просто вкручивается в выхлопной коллектор, но может быть крепление и на фланец. Вот нюансы работы наиболее распространенных сегодня кислородных датчиков:

Циркониевый лямбда-зонд

Особенность этого датчика в том, что он сам генерирует напряжение. Электрический разряд возникает из-за разницы уровня кислорода в атмосфере и выхлопных газах. Рабочая температура циркониевой лямбды от 300 градусов Цельсия, ниже этого значения он просто не заработает. Первые модели таких датчиков нагревались исключительно от тепла выхлопов. Таким образом, элементу требовалось время, и двигатель работал определенный промежуток  вслепую. Благодаря системе подогрева, которая сегодня монтируется внутри кожуха, рабочая температура достигается почти сразу, что особенно актуально в зимнее время. Соответственно, слепой промежуток в современных моделях сведен к минимуму. Главные рабочие элементы циркониевого лямбда-зонда это:

  • твердый электролит из диоксида циркония;
  • внутренний и внешний электроды;
  • защитный колпак с перфорацией;
  • нагревательный элемент.

Конструктивно внутренняя часть керамики сообщается с воздухом, а ее внешняя поверхность с отработанными газами. Разница в концентрации молекул кислорода снаружи и внутри формирует сигнальное напряжение в 0,45 В (в этом случае лямбда равна единице). В случае отклонения значений ЭБУ дает команду исполнительным механизмам увеличить или уменьшить подачу топлива в зависимости от показаний.

Титановый датчик кислорода

Такой датчик не сообщается с атмосферой и не генерирует электрический ток. В отличие от циркониевого, титановый снижает свое сопротивление, когда двигатель богат топливом, и увеличивает его, когда топливо обеднено. Рабочая температура титанового лямбда-зонда начинается от 700 градусов Цельсия. Сегодня такие элементы применяют в ограниченном количестве моделей авто, главным образом из-за дороговизны.

Широкополосный лямбда-зонд

Конструктивно такой элемент сложнее двух предыдущих, но зато он точнее. Главное отличие от циркониевого в том, что широкополосный элемент показывает величину обеднения или обогащения смеси, а не просто сам факт отклонения от нужных значений.

Такой лямбда-зонд состоит из двух камер: измерительной и насосной. В первой за счет разного напряжения поддерживается эталонный состав. Отработанные выхлопные газы из коллектора проникают в специальную диффузионную щель, где происходит их дожигание. Далее датчик кислорода измеряет эталонные значения в измерительной камере и показатели из диффузионной щели. Полученные результаты отправляются ЭБУ. Рабочая температура широкополосного датчика не менее 600 градусов Цельсия. Для этого в его конструкции также используется система подогрева.

Признаки неисправности лямбда-зонда

В отличие от масляных и воздушных фильтров датчики кислорода не требуют регулярной замены, но в случае поломки покупка нового элемента неизбежна. В целом это уязвимая деталь. Лямбда все время находится в крайне агрессивной среде: ее поверхность раскалена до высоких температур, на датчик воздействует сильное давление, вибрации, не меньшую роль играет качество топлива и, в частности, присадки в нем. В случае неисправности лямбда-зонда на приборной панели загорается лампочка Check Engine. Чтобы точно диагностировать проблему, специалисты в сервисе считают ошибку, но иногда может помочь простой визуальный осмотр.

Например, сажевые отложения на защитном кожухе характерны для мотора, работающего продолжительное время на переобогащенной смеси. Серый или белый налет указывает на чрезмерное количество присадок в моторном масле и топливе. Блестящие отложения говорят об избытке свинца, который образуется при использовании некачественного топлива.

В среднем производители автомобилей рекомендуют проводить замену кислородных датчиков с интервалом 50–100 тыс. км в зависимости от типа рабочего элемента. Как правило, верхний (установленный до катализатора), выходит из строя быстрее.

Дмитрий Дегтев, руководитель отдела сервиса группы компаний «Обухов», официального представителя марок Volvo, Geely, GAC, DFM и Changan:

«Глобально проблем с лямбда-зондом может быть всего две: это нарушение проводки или внутренняя неисправность самого датчика, поскольку он не разборный.

Определить наличие неисправности легко — помимо сигнала Check, будет наблюдаться повышенный расход топлива, пропадание мощности при ускорении, сильный запах из выхлопной трубы и перепады оборотов ДВС.

Неисправный датчик начнет отправлять неправильные показания в блок управления ДВС. Головной компьютер корректирует неустойчивую работу ДВС, поднимает обороты и дополнительно обогащает смесь. В результате увеличивается расход топлива. В дальнейшем это может привести к выходу из строя свечей зажигания».

Что такое лямбда зонд в машине и как его проверить

Для чего нужен лямбда зонд? Экология на сегодняшний день является очень острым вопросом. На новые автомобили ставится все больше катализаторов, которые значительно снижают содержание вредных веществ в выхлопных газах. Но без контроля и правильных условий эффективно работать эта система не сможет. Для этого и нужен лямбда зонд, который следит за составом выхлопных газов.

Из чего состоит и какое устройство работы лямбда зонда?

Лямбда зонд — один из важных датчиков в автомобилях с инжекторным впрыском топлива. Он считает количество кислорода в выхлопных газах. ЭБУ (Электронный блок управления) системы впрыска топлива принимает сигнал от датчика и, с его помощью, может регулировать количество подаваемого топлива в цилиндры и выставляет угол опережения зажигания для получения максимально производительной топливо-воздушной смеси.

Электронный блок изначально получает информацию об объеме воздуха, который попал во впускной коллектор от расходомера воздуха, который находится за воздушным фильтром автомобиля. Еще одним «источником информации» электронного блока управления является датчик абсолютного давления. Вакуумная трубка подключена одним концом к датчику абсолютного давления, а другим — к впускному коллектору. Именно по показаниям этой вакуумной трубки датчик абсолютного давления отправляет сигнал на ЭБУ.

Ориентируясь по полученным данным, Электронный блок управления «решает» сколько впрыснуть топлива в цилиндр через форсунки, а по датчику лямбда зонд он решает нужно лить больше или меньше бензина для оптимальной работы автомобиля. Это и есть принцип работы лямбда зонда.

В большинстве автомобилей стоит один лямбда зонд, но сегодня можно встретить машины и с двумя датчиками. Применение двух датчиков кислорода, позволяет усилить контроль, за выхлопными газами автомобиля. Это поможет достигнуть наиболее эффективной топливо-воздушной смеси и работы катализатора с учетом всех факторов.

Чтобы разобраться, как работает лямбда зонд лучше, нужно понять, из чего он состоит.

Датчик кислорода — это два электрода: внешний и внутренний. Внешний электрод датчика кислорода изготовлен из металла с керамическими изоляторами и его наконечник покрыт платиной методом напыления и из-за этого очень чувствителен к кислороду. Он просчитывает количество кислорода в выхлопных газах.  Внутренний электрод изготавливается из циркония и его рабочая  температура до 1000°С, именно по этой причине кислородные датчики оснащены подогревателями. Это очень помогает лямбда зонду работать в момент холодного запуска двигателя.

Датчик кислорода бывает двух видов:

  • двухточечный датчик
  • широкополосный датчик.

Внешний вид конструкции датчиков почти одинаковая, но выполняют они свои функции по-разному.

Двухточечный датчик содержит два электрода. Он подсчитывает коэффициент избытка воздуха в топливной смеси. Есть определенные параметры и нормы. Этот коэффициент в идеальных условиях равен единице. Но из-за некачественного бензина и не слишком чистого кислорода в наших городах он равен приблизительно 1,03 — 1,05.

Широкополосный датчик — это более новая версия лямбда зонда. В нем находятся два керамических элемента, закачивающий и двухточечный. Закачивающий элемент – физически закачивает в себя кислород из отработанных газов автомобиля, с использованием определенной силы тока.

Признаки неисправности лямбда зонда?  

Лямбда зонд — уязвимый датчик автомобиля. Его срок службы зависит от условий эксплуатации двигателя автомобиля. Но в среднем ресурс лямбда зонда составляет от 40 тысяч до 80 тысяч километров. 

Лямбда зонд признаки неисправности:

  1. увеличение расхода бензина;
  2. нехарактерный запах из выхлопной трубы;
  3. лампочка «check engine».       

Датчик улавливает большое количество факторов, которые влияют на работу автомобиля, но особенно чувствителен датчик лямбда-зонд к качеству топлива. Так как основная функция его связана именно с выхлопными газами, а качество бензина является самой первой причиной неправильного соотношения углекислого газа и кислорода из топливо-воздушной смеси.

Самый главный момент в автомобиле — впрыск топлива. Именно поэтому неисправность этого датчика влияет на расход топлива. ЭБУ автомобиля не получает правильную информацию о составляющей выхлопных газов и из-за этого может лить больше топлива. Оно не успевает полностью сгорать и просто остается в выхлопной системе в виде черного нагара. Этот налет мешает датчику работать. Можно использовать жидкости для чистки и самостоятельно протирать датчик, но не проще ли просто проконсультироваться на ближайшей СТО?

Если же ЭБУ не получает никакой информации от лямбда зонда, то он начинает работать по аварийной карте. Аварийная карта — это шаблон, который загружен в «мозги» автомобиля для оперативного реагирования. При этом на приборной панели обязательно должен загореться значок  «check engine», который даст сигнал автовладельцу, что нужно обязательно обратиться к автомеханику и выяснить причину поломки. 

Есть еще несколько «сигналов», которые могут свидетельствовать о неисправности лямбда зонда. Один из самых заметных это нехарактерный запах из выхлопной трубы. Значит лямбда зонд не справляется со своей задачей и не посылает сигнал на ЭБУ. Но этот признак очень «обобщенный», так как запах может означать еще и выход из строя свечей, катушек, катализатора и т. д.

 В случае поломки лямбда зонда также может пострадать и EGR система. В этом случае вакуумный клапан системы EGR будет неправильно функционировать.  

Как проверить лямбда зонд?

У всех инжекторных автомобилей есть блок управления, он позволяет диагностировать причину поломки в определенном узле. При неисправности на приборной панели автомобиля обязательно загорится лампочка «Check Engine». Сейчас автоконцерны делают все возможное для того, чтобы автовладельцы быстро могли понять и предотвратить выход из строя любого узла автомобиля. Лампочка «Check Engine» — это один из главных знаков, что нужно ехать на станцию.

Проверить работу датчика лямбда зонда можно при посещении станции, где проведут компьютерную диагностику и выяснят причину неисправностей. На станции механики должны будут подключить провод в диагностический разъем авто и снять цифровой код ошибки. По показаниям компьютерной диагностики будет понятно, что не так с узлами автомобиля и какая причина поломки. Если компьютерная диагностика не показала ошибок, то есть еще «механическая» проверка лямбда зонда. Можно снять датчик и проверить нет ли там нагара из-за неполного сгорания топлива. Тогда его можно просто почистить. Так же можно использовать другие виды проверки. Такие как проверить лямбда зонд тестером или подключить вольтметр. На станциях механики меряют сопротивление лямбда зонда, подключив тестер, или меряют вольтметром напряжение, которое лямбда зонд посылает на электронный блок управления. Проверка датчика вольтметром — это не самая точная и продуктивная диагностика, так как вольтметр не покажет реальные причины поломки. Он может проверить только подачу тока на «мозги» автомобиля. Но если на станции нет возможности проверить с помощью компьютера, то механики используют вольтметр.

Лучше всего не заниматься диагностикой и починкой такого сложного узла автомобиля, как лямбда зонд, самостоятельно, а обратиться за помощью на СТО. Через сервис «Autobooking» можно выбрать самую удобную станцию техобслуживания и найти квалифицированную команду автомехаников для ремонта Вашего автомобиля. Специалисты качественно и быстро смогут произвести процедуру «замена лямбда зонда» или проверить состояние этого узла.

Если Вам необходимо провести замену лямбда зонда, воспользуйтесь формой ниже для поиска СТО:

Lambda — SubSurfWiki

См. также: 1-й параметр Ламе

Закон Гука гласит, что сила F , действующая на пружину, зависит только от ее смещения x от положения равновесия и постоянной пружины k пружины:

F=−kx {\displaystyle F=-kx\ }

Мы можем думать о k — и ощущать это — как жесткость. Жесткость пружины является свойством пружины. В каком-то смысле это весна. Камни подобны пружинам в том смысле, что они обладают некоторой эластичностью. Мы хотели бы знать постоянную упругости наших камней, потому что это может помочь нам предсказать такие полезные вещи, как пористость.

Закон Гука лежит в основе теории эластичности, в которой мы формулируем закон как:

Напряжение [сила на единицу площади] равно деформации [деформации], умноженной на константу

На этот раз константа пропорциональности называется модулем упругости. И не один из них. Почему сложнее? Камни похожи на пружины, но они трехмерны.

В трех измерениях, при условии изотропии, модуль сдвига μ играет роль упругой постоянной для поперечных волн. Но для волн сжатия нам нужно λ+2μ, величина, называемая модулем P-волны. Так λ — это часть термина, который говорит нам, как скалы раздавливаются P-волнами.

Эти загадочные величины λ и μ являются первым и вторым параметрами Ламе. Это неотъемлемые свойства всех материалов, в том числе горных пород. Как и все модули упругости, они имеют единицы силы на единицу площади или паскали [Па].

Содержание

  • 1 Так что же такое λ?
  • 2 Каталожные номера
  • 3 См. также
  • 4 Внешние ссылки

Так что же такое λ?

Мы потратили несколько часов на обсуждение того, как описать лямбду. В отличие от модуля Юнга E или коэффициента Пуассона ν , наш друг λ не имеет простого физического описания. Модуль Юнга просто определяет, насколько длиннее становится объект, когда я его растягиваю. Коэффициент Пуассона показывает, насколько что-то станет толще, если я его сожму. Но лямбда… что такое лямбда?

  • λ иногда называют несжимаемостью, этого названия лучше избегать, потому что оно иногда также используется для обозначения модуля объемного сжатия, К .
  • Если мы приложим напряжение σ 1 вдоль направления 1 к этому линейно-упругому изотропному кубу (справа), то λ представляет собой «постоянную пружины», которая масштабирует деформацию ε вдоль направлений, перпендикулярных приложенному напряжению.
  • Для вывода закона Гука в 3D нужны тензоры, которые мы здесь не рассматриваем. Дело в том, что λ и μ помогают получить простейшую форму уравнений (справа, показано для одного измерения).

Значение упругих свойств заключается в том, что они определяют, как материал временно деформируется проходящей сейсмической волной. Сдвиговые волны распространяются ортогональными смещениями относительно направления распространения — эта деформация определяется величиной µ . Напротив, P-волны распространяются со смещениями, параллельными направлению распространения, и эта деформация обратно пропорциональна M , что составляет 2 µ + λ .

Лямбда поднимает голову в сейсмической петрофизике, инверсия AVO, и является первой буквой в аббревиатуре популярного метода инверсии LMR Билла Гудуэя (Goodway, 2001 [1] ). Несмотря на то, что это фундаментально для сейсмики, нет сомнения, что λ интуитивно не понимается большинством ученых-геологов. Вы когда-нибудь пытались объяснить кому-то значение лямбда? Какое описание λ вы считаете полезным? Я открыт для предложений.

Ссылки

  1. ↑ Goodway, B., 2001, Константы AVO и Lame для параметризации пород и обнаружения флюидов: CSEG Recorder, 26, no. 6, 39-60.

См. также

  • 1-й параметр Ламе
  • Elastic Modulus

Внешние ссылки

  • L — для Lambda — пост в блоге по адресу agile

Расчет Lambda для абсолютных чайников (как и я)

в современной философии это 90 129 вычислений 90 130. Почему это так важно? Потому что вычислительность — это новый механизм. На протяжении тысячелетий философы боролись, когда хотели выразить или усомниться в том, что вселенную можно объяснить механически, потому что очень трудно объяснить, что такое машина, а что нет. Срок 9Вычисление 0129 делает именно это: оно точно определяет, что машины могут делать, а что нет. Если вселенная/разум/мозг/кролики/Бог поддаются механическому объяснению, то это компьютер, и наоборот.

К сожалению, большинство людей, не связанных с программированием и информатикой, не знают точно, что такое вычисления. Многие, возможно, слышали о машинах Тьюринга, но эти вещи, как правило, приносят больше вреда, чем пользы, потому что они оставляют сильное интуитивное представление о движущихся колесах и лентах вместо того, что они делают на самом деле: воплощение природы вычислений.

(Машина Тьюринга, приносящая больше вреда, чем пользы. Но, тем не менее, очень крутая!)

Лямбда-исчисление делает то же самое, но без колес, которые затуманивают ваше зрение. Издалека он может выглядеть пугающе математическим (в конце концов, в нем есть греческая буква!), поэтому никто за пределами академической компьютерной науки не склонен на него смотреть, но его невероятно легко понять. И если бы вы поняли это, вы могли бы получить гораздо лучшую интуицию вычислений.

Лямбда-исчисление было изобретено примерно в то же время, что и машина Тьюринга (середина 19 века).30-е годы) Алонзо Черча. Не пугайтесь слова «расчет»! В нем нет сложных формул или операций. Все, что он делает, это берет строку букв (или символов) и выполняет над ней небольшую операцию вырезания и вставки. Как вы увидите, лямбда-исчисление может вычислить все, что можно вычислить, просто вырезав и вставив.

Строка символов называется выражением . Это может выглядеть так: (λx.xy) (ab)

У нас есть только следующие символы:

  • Отдельные буквы (например, a, b, c, d …), которые называются переменными . Выражение может состоять из одной буквы или из нескольких букв подряд. В более общем случае мы можем записать любые два или более выражений вместе, чтобы получить другое выражение.
  • Скобки: ( ) . Скобки можно использовать для обозначения того, что какая-то часть выражения принадлежит друг другу (так же, как фигурные скобки вокруг этой части предложения делают ее связанной). Там, где у нас нет скобок, мы смотрим на выражения просто слева направо.
  • Греческая буква λ (произносится, конечно: Лямбда ) и точка: . С помощью λ и точки мы можем писать функции. Функция всегда начинается с λ и переменной, за которой следует точка, а затем идет выражение. λ не имеет сложного значения: это просто говорит о том, что здесь начинается функция. λ -_переменная_- . часть функции называется ее головкой , а остаток (выражение) называется 0129 кузов .

Функция А.

Q: Каково значение или значение переменной?

А: Нет. Переменные ничего не обозначают. Это просто пустые имена. Даже имя не имеет значения. Единственное, что имеет значение, это то, что когда две переменные имеют одинаковое имя, они одинаковы. Вы можете переименовывать переменные как хотите, не меняя выражение.

В: Что вычисляет функция?

А: На самом деле ничего. Это просто вид выражения, с головой и телом. Он просто стоит там. Единственное, что мы можем сделать с этим, это решить его.

В: Почему « λ »?

A: Возможно, несчастный случай. Первоначально Алонзо Черч просто нарисовал небольшую крышу, чтобы обозначить переменную головы, например так: (ŷ xy) ab . В машинописной рукописи он поставил крышу перед головой, так что получилось (⋀y.xy) ab . Наборщик превратил его в (λy.xy) ab , что визуально достаточно близко.

Чуть более формально мы можем сказать: Все переменные являются лямбда-термами (допустимое выражение в лямбда-исчислении). Если x и y являются лямбда-термами, то (x y) являются лямбда-термами, а (λx.y) являются лямбда-термами. Из этих трех правил мы можем построить все допустимые выражения. Если мы также согласимся читать все лямбда-выражения слева направо, мы можем опустить несколько скобок: (λy.xy) ab является упрощенной версией (((λy.(x y)) a) b) .

Вырезать и Вставить

Функции могут быть разрешены если за ними следует другое выражение. Разрешение работает, беря переменную, упомянутую в заголовке , и заменяя все ее вхождения в теле выражением после функции. Мы вырезаем выражение после функции и вставляем его в тело, во все места, указанные головой. Сделав это, мы отбрасываем головку, потому что она выполнила свою задачу: сообщила нам, какую переменную заменить.

Разрешение функции: Замена всех вхождений `y` выражением `(ab)`

Разрешение функций – это единственное, что мы можем сделать в лямбда-исчислении. После того, как мы избавились от всех лямбда-выражений или если после оставшихся функций больше нет выражений, мы больше не можем ничего заменить. Теперь мы можем идти домой.

Q: Могут ли функции содержать другие функции?

Ответ: Абсолютно. Функции — это выражения, а выражения могут содержать другие выражения, поэтому функции могут быть частями тел других функций или частью замещающего выражения. На самом деле у нас есть такие выражения, как λx.λy.xzy так часто, что нам нравится сокращать их как λxy.xzy . Это означает, что мы попытаемся заменить первую переменную в голове ( x ) на первое выражение после тела ( xzy ), вторую переменную ( y ) на следующее за ней и так далее. .

Переменные, упомянутые в заголовке (помеченные для замены), называются связанными переменными . Неупомянутые переменные — это свободных переменных . Поскольку функции могут быть частью других функций, переменная может быть как связанной, так и свободной в одном и том же выражении.

В: Я нахожу это немного запутанным.

A: Подумайте об этом так: представьте, что вы редактируете минималистскую газету сплетен. Все, о чем когда-либо пишет газета, — это имена (у нас нет артиклей, глаголов, местоимений — только имена). Люди не хотят, чтобы их узнавали в вашей газете, и вы анонимизируете их, заменяя все имена произвольными псевдонимами. Итак, имена ничего не значат, но если два имени в одном тексте совпадают, то они относятся к одному и тому же человеку.

Минималистская газета «Лямбда»

Весь текст в газете разбит на текстовых блоков . Текстовый блок в конечном итоге состоит только из имен и может иметь заголовок, но не обязательно. Заголовки напечатаны жирным шрифтом и состоят из одного имени. Все вхождения этого имени в текст, принадлежащий заголовку, являются знаменитыми , то есть они относятся к этому лицу из заголовка. Все имена, которые не являются заголовком, являются обычными . Текстовые блоки могут содержать другие текстовые блоки, включая их заголовки (которые работают как подзаголовки или под-подзаголовки и т. д.). Таким образом, имя может быть обычным в одном подтексте, но в другом оно может стать известным благодаря заголовку этого подтекста.

Это точно так же, как лямбда-исчисление: имена — это переменные, текстовые блоки — это выражения, а заголовки — это заголовки функций, только вместо того, чтобы печатать их жирным шрифтом, они окружены λ и точкой, поэтому мы знаем, где они начать и закончить.

Операция разрешения представляет собой простую операцию поиска/замены . Мы находим все вхождения связанного имени в текстовом блоке с заголовком и заменяем каждое из них следующим текстовым блоком. (Однако обратите внимание, что замена названий целыми абзацами и т. д. редко имеет смысл для настоящих газет.)

Кстати: мы можем столкнуться с небольшой проблемой, если замещающий текст содержит имена, которые также упоминаются в исходном тексте, в который мы его объединяем. Все имена являются анонимными псевдонимами, но мы могли использовать один и тот же псевдоним для разных людей в разных текстах. Если мы объединим эти тексты сейчас, мы должны убедиться, что разные люди называются разными псевдонимами, поэтому, возможно, нам придется переименовать некоторые из них.

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

Q: Что произойдет, если переменная связана в заголовке функции, но не встречается в теле?

A: Переменная, конечно, привязана. Но при замене заменяющее выражение просто исчезнет, ​​так как мест, куда его можно было бы вставить, не будет. Это нормально, на самом деле: это упрощает наш результат, так что же может не нравиться?

Числа

Отбросив все технические детали (ура! Это было легко, не так ли?), давайте посмотрим, какие интересные трюки мы можем проделать с лямбда-исчислением. Вы можете возразить, что вычисления должны уметь работать с числами, поэтому давайте построим их. Математикам часто нравится начинать с натуральных чисел, а затем двигаться дальше, определяя всевозможные операции, которые дают нам другие типы чисел.

Самый простой способ одновременного определения всех натуральных чисел заключается в том, что сначала определяется первое (которое равно нулю) и последующая операция. Используя операцию преемственности над любым натуральным числом, мы получаем другое, большее натуральное число, и поэтому мы можем получить их все, считая вперед.

Выразим нуль в виде:

 0 :⇔ λ сз.з
 

(Помните: это сокращение от λs.λz.z и означает то же самое, что и λab.b или λqx.x .) У этого выражения есть интересное свойство: при разрешении оно отбрасывает первое после себя выражение, а второе оставляет нетронутым. Связанная переменная s будет заменена ничем (она не встречается в теле), а переменная z — самой собой.

Аналогично, мы можем использовать:

 1 = λ sz.s(z)
2 = λsz.s(s(z))
3 = λ sz.s(s(s(z)))
4 = λ sz.s(s(s(s(z))))
...
 

Другими словами, наша система записи чисел работает путем вложения выражения s( ) вокруг нашего z так часто, как говорит число (что также означает: если мы разрешим число n , оно будет повторять следующее выражение n раз). Мы также можем сказать: мы применяем s n раз к z .

Хорошей функцией-наследником является

 S :⇔ λ abc.b(abc)
Давайте вычислим преемника 0 с ним:
S0 = (λ abc.b(abc)) (λ sz.z)
     = λbc.b((λsz.z)bc)
     = λ bc.b((λ z.z) c)
     = λbc.b(c)
 

Это последнее выражение не может быть далее упрощено (больше никаких выражений не следует за телом функции), и, сюрприз! –

 λ bc.b(c) = λ sz.s(z) = 1
 

Другими словами, функция преемника, примененная к нашему обозначению 0 , даст обозначение для 1 . Можем ли мы сделать это снова?

 S1 = (λ abc.b(abc)) (λ sz.s(z))
     = λ bc.b((λ sz.s(z)) bc)
     = λ bc.b((λ z.b(z)) c)
     = λbc.b(b(c))
 

и о чудо! и вот:

 λ bc.b(b(c)) = λ sz.s(s(z)) = 2
 

Как мы видим, наша функция-преемник делает именно то, что и должна делать: начиная с 0 , она может выдавать любое натуральное число. Он делает это, связывая еще одну часть s( ) вокруг тела любого натурального числа, переданного ему. О, волшебная сила вырезания и вставки!

Q: Это очень странный способ записи чисел…

A: На самом деле, с точки зрения математики, это не более странно, чем использование символов 1, 2, 3… и так далее , или римские литералы (I, II, III, IV, V…), или китайские (一, 二, 三, 四, 五, …), или двоичные записи (1, 10, 11, 100, 101…). Не существует правильного способа записи чисел, есть только условности. Натуральные числа не заботятся о том, как мы их пишем.

Дополнение

Добавление чисел можно понимать как автоматизацию функции преемника. Если мы хотим добавить 5 к числу 3 , это можно интерпретировать как пятикратное использование функции-преемника для 3 . (Или наоборот, потому что 3 + 5 = 5 + 3.)

К счастью, в наш способ записи чисел уже заложена эта автоматизация. выражение после него п раз. Если выражение после него является функцией-преемником, оно будет прописано n раз, а если мы разрешим его, то функция-преемник будет применена n раз к числовому выражению после него.

 3+5 = 3S5 = (λ sz.s(s(s(z))))) (λ abc.b(abc)) (λ xy.x(x(x(x(x(y))) )))
 

Если вы чувствуете себя игривым, вы можете попробовать и убедиться, что оно правильно разрешается до 8: λ xy.x(x(x(x(x(x(x(x(y)))))))) .

Умножение

Аналогичная умная функция дает умножение:

 УМНОЖИТЬ :⇔ λ abc.a(bc)
 

Эта функция принимает два аргумента, например, так:

 2 x 3 = УМНОЖИТЬ 2 3 :⇔ (λ abc. a(bc)) (λ sz.s(s(z))) (λ xy.x (х(х(у))))
     = λ c.(λ sz.s(s(z)))((λ xy.x(x(x(y))))c)
     = λ cz.((λ xy.x(x(x(y))))c)(((λ xy.x(x(x(y))))c)(z))
     = λ cz.(λ y.c(c(c(y)))) (c(c(c(z))))
     = λ cz.c(c(c(c(c(c(z)))))) = 6
 

Почему это работает? Если мы посмотрим внимательно, то увидим, что наша функция умножения принимает два аргумента ( 2 и 3 ) и расположить их следующим образом:

 УМНОЖИТЬ 2 3 = (λ abc.a(bc)) 2 3 = λ c.2(3c)
 

Решение этого дает нам λ cz.(3c)(3c(z)) . Это эквивалентно применению второго c три раза к z: c(c(c(z))) , и применению первого c три раза к этому результату: c(c(c( c (с(с(z))) ))) . Вместе с функцией head λ cz удобно получить 6 (т. е. шестикратное применение первого аргумента ко второму).

Лучший способ избавиться от оставшегося недоумения, это если вы возьмете лист бумаги и ручку и сами попробуете несколько умножений. Вы обнаружите, что быстро освоитесь.

Считаем в обратном порядке

До сих пор мы шли только от меньших чисел к большим. Для вычитания мы могли бы также захотеть иметь предшествующую операцию, чтобы мы могли считать в обратном порядке. Как мы можем построить один

Согласно нашему предыдущему определению, любое число является преемником другого, за исключением 0, который мы просто записываем (как λ сз.з ). Мы можем использовать это определение и описать предшественника как число, которое даст нам первоначально заданное число, применяя операцию преемника.

На обычном математическом языке мы могли бы сказать: y = P(x) ⇔ x = S(y) , то есть y является предшественником x тогда и только тогда, когда x является преемником и . К сожалению, это только спецификация, а не расчет. Спецификация сообщает нам, каким условиям должна удовлетворять предшествующая функция, но не обязательно, как эта функция работает. Лямбда-исчисление только вычисляет, то есть мы должны точно и в мельчайших подробностях сказать ему, как мы можем получить из 9от 0145 х до и .

Один из возможных способов сделать это, начав с 0 и применив функцию-преемник x раз:

 x S 0 = x (λ abc.b(abc)) (λ sz.z)
 

Результирующее выражение будет представлять собой числовое значение x . Если бы мы могли найти способ запомнить состояние выражения в последовательности 90 145 x–1 90 146 st (за одно до последнего применения 90 145 s( 90 146 … 90 145 ) 90 146 ), у нас было бы выражение для 9Предшественник 0145 x .

Сделаем это с помощью пары чисел. Вместо x давайте использовать (y, y-1) . Затем определите функцию-наследник, которая получает 90 145 (y+1, y) 90 146 из пары. Мы начинаем с установки y в 0 и повторяем применение функции-преемника x раз, после чего пара будет иметь значение (x, x-1) . Теперь выберите вторую половину пары, и все готово. Итак, приступим: напишем пару (а, б) как λp.pab . Наименьшая возможная пара λp.p00 , записанная как λp.p(λsz.z)(λuv.v) . Мы можем сформировать последующую пару, захватив первый член a и создав из него новую пару (a+1, a) . Первый член пары λp.pab получается путем применения его к λxy.x .

 (λp.p a b) (λxy.x)
= (λxy.x) а б
= (λy.a) b
= а
 

(Как видим, λxy.x сохраняет после себя первое выражение, но стирает второе. Аналогично, другой член пары будет выбран λxy.y .) Новая пара (a+1, a) может быть получена из a с помощью функции-преемника S = λ abc.b(abc) на a и вставки S a и и в новую пару.

 СЛЕДУЮЩАЯ ПАРА пара :⇔ (λ пара z.z S (пара λxy.x) пара λxy.x) = (a+1, a)
 

(Не смущайтесь, что я использую λ пару . Это просто означает, что пара (a, a-1) будет вставлена ​​в тело лямбда-функции.)

Давайте теперь применим эту функцию n раз к начальной паре (0, 0) и выберем вторую половину пары, которая будет нашим окончательным результатом. Вы могли заметить, что я немного схитрила: (0, 0) не совсем то же самое, что (0, –1 ), так что это не блестящий пример пары (a, a-1 ) . Однако у нас пока нет отрицательных чисел для работы, и для нашей вспомогательной функции NEXT-PAIR это не имеет никакого значения, поскольку она все равно игнорирует вторую половину пары. Повторное применение СЛЕДУЮЩАЯ ПАРА на (0, 0) даст нам (1, 0) , (2, 1) , (3, 2) , (4, 3) и так далее .

 P n :⇔ (λn.n СЛЕДУЮЩАЯ ПАРА(0, 0)) λxy.y
 

Используя функцию предшественника P , мы действительно можем считать в обратном порядке в пределах натуральных чисел. Обратите внимание, что как только мы достигнем 0, мы останемся на 0, что, вероятно, хорошо. Определение отрицательных чисел, деления, степеней и мнимых чисел я оставлю читателю в качестве упражнения. (Ну, если серьезно: мы могли бы легко заполнить много страниц воссозданием стандартного перечня теории множеств и чисел, но это не сильно расширит наши базовые знания.)

Q: Я вижу, как мы можем выполнять вычитание: многократно применяя предшествующую операцию. Но каждый раз мы должны возвращаться к 0 и производить все промежуточные числа с помощью операции-преемника, просто чтобы выполнить одну операцию-предшественник. Разве это не очень неэффективно?

Ответ: Какая разница! Лямбда-исчисление только претендует на эффективное вычисление всего, что можно вычислить, но не обещает сделать это эффективно. (Кроме того, это математическая идея, поэтому она может работать с бесконечной скоростью в какой-то эфемерной математической вселенной. )

Логика

Лямбда-исчисление не ограничивается вычислением чисел. Он может так же легко вычислять логические выражения. Помните две маленькие функции выбора пар? Мы можем использовать их как определения истинности и ложности:

 ИСТИНА :⇔ λ xy.x
ЛОЖЬ :⇔ λ xy.y
 

Булева логика использует несколько операторов, таких как И , ИЛИ и НЕ для определения значения логических выражений. Мы можем осуществить это и с помощью лямбда-исчисления. Например, мы можем отрицать ИСТИНА в ЛОЖЬ , а ЛОЖЬ в ИСТИНА с

 НЕ :⇔ λ a.a (λ bc.c) (λ de.d)
 

Как это работает? Если мы напишем что-то вроде NOT TRUE (прописано как (λ a.a (λ bc.c) (λ de.d)) λ xy.x ), начальное λ a.a потянет TRUE в перед выражением (λ bc.c) (λ de.d) = FALSE TRUE . Помните, что ИСТИНА — это та же функция, которую мы использовали для выбора первого члена пары, поэтому ИСТИНА ЛОЖЬ ИСТИНА аналогична: выбрать первую из пары (ЛОЖЬ, ИСТИНА) .

Вот И и ИЛИ ; если хотите, узнайте, почему они работают:

 И :⇔ λ ab.ab (λ xy.y)
ИЛИ :⇔ λ ab.a (λ xy.x) b
 

Условные выражения

Мы не можем просто вычислять логические значения из других логических значений. Следующая функция сообщает нам, равно ли заданное значение 0. Если это так, мы получаем TRUE и FALSE в противном случае. Такой тест очень полезен при написании программ.

 IS-ZERO :⇔ λ a.a ЛОЖЬ НЕ ЛОЖЬ
 

Если мы применим IS-ZERO к любому значению n , мы получим

 IS-ZERO n = n FALSE NOT FALSE
 

Это применит функцию ЛОЖЬ n раз к функции НЕ , а результат к оставшимся ЛОЖЬ . Каждый раз первое FALSE (= λ xy.y ) стирает выражение сразу после него. В конце концов (после n раз) оно достигает НЕ ЛОЖЬ , стирает НЕ и возвращает ЛОЖЬ . Таким образом, результатом IS-ZERO n всегда будет FALSE . (Если вас это сбивает с толку, попробуйте пример.)

Единственным исключением является случай, когда n = 0. Если мы применим 0 к FALSE NOT FALSE , первое выражение будет удалено, и только NOT FALSE = ИСТИНА остается:

 IS-ZERO 0
      = (λ sz.z) ЛОЖЬ НЕ ЛОЖЬ
      = НЕ ЛОЖЬ
      = ИСТИНА
 

Теперь, когда мы знаем, равно ли число 0, мы можем узнать, больше или равно (≥) одно число другому:

 БОЛЬШЕ ИЛИ РАВНО n m :⇔ λ n m. IS-НУЛЬ(n P m)
 

Другими словами, мы выполняем n раз функцию предшественника на m . Если n точно такое же число, как m , результат будет 0, а если n больше m , результат все равно будет 0. Только если m больше n результат будет ненулевым.

С помощью ≥ также можно определить равенство: n = m , если n m и m n . Мы можем выразить это прямо сейчас:

 EQUAL n m :⇔ λ n m. И (БОЛЬШЕ-ИЛИ-РАВНО(n m) БОЛЬШЕ-ИЛИ-РАВНО(m n))
      = λ н м. И (ЕСТЬ-НУЛЬ(n P m) ЕСТЬ-НУЛЬ(m P n))
 

Более того…

Как видите, лямбда-исчисление — это (минималистский) язык программирования. Так и должно быть, поскольку любая возможная компьютерная программа в конечном итоге может быть преобразована в лямбда-функцию. Фактически, почтенный и мощный язык программирования Lisp был построен непосредственно на идее лямбда-исчисления, в основном за счет полезной настройки синтаксиса, формализации создания макросов функций и добавления нескольких практичных типов данных.

Наше небольшое введение в общих чертах основано на превосходном учебном пособии Рауля Рохаса «Введение в лямбда-исчисление», которое также охватывает рекурсию и в целом является немного более техническим, поскольку предназначено для студентов, изучающих компьютерные науки. Кроме того, используя свое новое понимание, вы теперь можете пойти и проложить себе путь через более продвинутые введения, такие как то, что дано в Википедии.

Все, что можно вычислить

Лямбда-исчисление не может решить всю математику, потому что многие математические задачи не имеют решения, а многие математические формулы невозможно вычислить (что не одно и то же). Итак, что мощнее, машина Тьюринга или лямбда-исчисление? Как оказалось, всегда можно отобразить записи ленты машины Тьюринга в лямбда-выражение (которое также включает информацию о состоянии и положении головки чтения/записи) и построить лямбда-функцию, которая изменяет это выражение дает точно такой же результат, как и соответствующая машина Тьюринга.

И наоборот, любое лямбда-выражение можно отобразить на ленту и построить машину Тьюринга, которая выполняет на нем все необходимые операции поиска/замены. Таким образом, можно доказать, что лямбда-исчисление и машина Тьюринга имеют одинаковую мощность. Таким же образом можно показать, что любой другой компьютер, который мы можем (или могли бы) построить, имеет такую ​​же мощность. Сюда входят персональные компьютеры, суперкомпьютеры, квантовые компьютеры и даже iPhone.

Leave a Reply