Что такое лямбда – принципы его работы и особенности замены

Слово ЛЯМБДА — Что такое ЛЯМБДА?

Слово состоит из 6 букв: первая л, вторая я, третья м, четвёртая б, пятая д, последняя а,

Слово лямбда английскими буквами(транслитом) — lyambda

Значения слова лямбда. Что такое лямбда?

Лямбда-куб

Ля́мбда-куб (λ-куб) задает единообразное описание восьми различных систем типизированного лямбда-исчисления с явным приписыванием типов (систем, типизированных по Чёрчу).

ru.wikipedia.org

Лямбда Змеи

Лямбда Змеи, (англ. Lambda Serpentis) — звезда, которая находится в созвездии Змея на расстоянии около 38,3 световых лет от нас. λ Змеи относится к тому же классу звёзд, что и наше Солнце — жёлтым карликам главной последовательности.

ru.wikipedia.org

Лямбда-зонд

Лямбда-зонд (λ-зонд) — датчик кислорода в выпускном коллекторе двигателя. Позволяет оценивать количество оставшегося свободного кислорода в выхлопных газах.

ru.wikipedia.org

Лямбда-зонд — датчик концентрации кислорода применяемый в системе впрыска с обратной связью и устанавливается на приемной трубе глушителя. Название датчика происходит от греческой буквы λ (лямбда)…

Энциклопедический фонд России

Лямбда Тельца

Лямбда Тельца принадлежит к классу затменных двойных звёзд типа Алголя, с видимой яркостью третьей звёздной величины (3.41m) и находится на расстоянии 370 световых лет от нас.

ru.wikipedia.org

Лямбда-барион

Ля́мбда-барио́ны (Λ-барионы, Λ-частицы) — группа элементарных частиц, представляющих собой барион с изотопическим спином 0, содержащих ровно два кварка первого поколения (u- и d-кварк).

ru.wikipedia.org

Лямбда Эридана

Лямбда Эридана (Lam Eri/λ Eridani/λ Eri) — звезда четвертой величины (4,27m) в созвездии Эридана. По яркости она сравнима с многими другими звездами довольно тусклого созвездия.

ru.wikipedia.org

Фаг лямбда

Фаг λ (фаг лямбда) — умеренный бактериофаг, который заражает Escherichia coli. Как только фаг попадает внутрь клетки хозяина, он может интегрировать себя в его ДНК. В этом состоянии λ называют профагом, он остается в геноме хозяина…

ru.wikipedia.org

Фаг лямбда (lambda phage) Фаг лямбда (lambda phage) — Бактериофаг с двухцепочечной геномной ДНК, размножающийся в клетках E.coli; в зависимости от характера взаимодействия вируса и клетки-хозяина развитие фага лямбда может происходить по литическому…

www.xumuk.ru

Фаг лямбда — Инфицирующий E.coli бактериофаг, обычно используется как клонирующий вектор. См. участок ингеграции-эксцизии.

Заид А. Словарь терминов по биотехнологии

Лямбда Волопаса

Лямбда Волопаса (λ Boo / λ Boötis) — белая звезда главной последовательности спектрального класса A0, находящаяся на расстоянии 97 световых лет от Земли в созвездии Волопаса.

ru.wikipedia.org

Лямбда-выражения

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

ru.wikipedia.org

Русский язык

Ля́мбд/а.

Морфемно-орфографический словарь. — 2002

  1. ляллеманция
  2. лялька
  3. ляля
  4. лямбда
  5. лямблиоз
  6. лямблия
  7. лямзить

wordhelp.ru

функция — это… Что такое лямбда-функция?


лямбда-функция
мат. lambda function

Большой англо-русский и русско-английский словарь. 2001.

  • лямбда-распределение
  • лямбдаграмма

Смотреть что такое «лямбда-функция» в других словарях:

  • Лямбда-функция — в математике представляет собой показательную функцию, у которой число x возведено в степень самого себя, возведённого в (b−1): Если b стремится к бесконечности, то лямбда функция стремится к 1 при |x| < 1, и к бесконечности при x > 1.… …   Википедия

  • Лямбда-выражения — Лямбда выражение (в программировании)  это специальный синтаксис для объявления анонимных функторов по месту их использования. Используя лямбда выражения, можно объявлять функции в любом месте кода. Обычно лямбда выражение допускает… …   Википедия

  • Лямбда-исчисление — (λ исчисление)  формальная система, разработанная американским математиком Алонзо Чёрчем, для формализации и анализа понятия вычислимости. λ исчисление может рассматриваться как семейство прототипных языков программирования. Их основная… …   Википедия

  • Лямбда исчисление — (λ исчисление, лямбда исчисление) формальная система, разработанная американским математиком Алонзо Чёрчем, для формализации и анализа понятия вычислимости. λ исчисление может рассматриваться как семейство прототипных языков программирования. Их… …   Википедия

  • Лямбда-выражение — В программировании лямбда или лямбда выражения это безымянная функция, объявляемая по месту ее непосредственного использования. Обычно лямбда допускает замыкание на лексический контекст, в котором она объявлена. Смотри также Лямбда исчисление… …   Википедия

  • Функция (математика) — У этого термина существуют и другие значения, см. функция. Запрос «Отображение» перенаправляется сюда; см. также другие значения …   Википедия

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

  • Однородная функция

    — степени   числовая функция такая, что для любого и выполняется равенство: причём называют порядком однородности. Различают также положительно однородные функции, для которых равенство …   Википедия

  • Рекурсивная функция (теория вычислимости) — У этого термина существуют и другие значения, см. Рекурсивная функция (значения). Термин рекурсивная функция в теории вычислимости используется для обозначения трёх классов функций примитивно рекурсивные функции; общерекурсивные функции; …   Википедия

  • Примитивно рекурсивная функция — Термин рекурсивные функции в теории вычислимости используют для обозначения трёх множеств функций примитивно рекурсивные функции; общерекурсивные функции; частично рекурсивные функции. Последние совпадают с множеством вычислимых по Тьюрингу… …   Википедия

  • Частично рекурсивная функция

    — Термин рекурсивные функции в теории вычислимости используют для обозначения трёх множеств функций примитивно рекурсивные функции; общерекурсивные функции; частично рекурсивные функции. Последние совпадают с множеством вычислимых по Тьюрингу… …   Википедия

dic.academic.ru

исчисление — это… Что такое Лямбда-исчисление?

Ля́мбда-исчисле́ние (λ-исчисление) — формальная система, разработанная американским математиком Алонзо Чёрчем, для формализации и анализа понятия вычислимости.

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

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

Чистое λ-исчисление

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

Аппликация и абстракция

В основу λ-исчисления положены две фундаментальные операции:

  • Абстракция или λ-абстракция в свою очередь строит функции по заданным выражениям. Именно, если  — выражение, свободно содержащее , тогда запись означает: функция от аргумента , которая имеет вид , обозначает функцию . Таким образом, с помощью абстракции можно конструировать новые функции. Требование, чтобы свободно входило в , не очень существенно — достаточно предположить, что , если это не так.

β-редукция

Поскольку выражение обозначает функцию, ставящую в соответствие каждому значение , то для вычисления выражения

,

в которое входят и аппликация и абстракция, необходимо выполнить подстановку числа 3 в терм вместо переменной . В результате получается . Это соображение в общем виде записывается как

и носит название β-редукция. Выражение вида , то есть применение абстракции к некому терму, называется

редексом (redex). Несмотря на то, что β-редукция по сути является единственной «существенной» аксиомой λ-исчисления, она приводит к весьма содержательной и сложной теории. Вместе с ней λ-исчисление обладает свойством полноты по Тьюрингу и, следовательно, представляет собой простейший язык программирования.

η-преобразование

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

Функция двух переменных и может быть рассмотрена как функция одной переменной , возвращающая функцию одной переменной , то есть как выражение . Такой приём работает точно так же для функций любой арности. Это показывает, что функции многих переменных могут быть выражены в λ-исчислении и являются «синтаксическим сахаром». Описанный процесс превращения функций многих переменных в функцию одной переменной называется

карринг (также: каррирование), в честь американского математика Хаскелла Карри, хотя первым его предложил М. Э. Шейнфинкель (1924).

Семантика бестипового λ-исчисления

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

Эту трудность в начале 1970-х годов преодолел Дана Скотт, построив понятие области D (изначально на полных решётках[1], в дальнейшем обобщив до полного частично упорядоченного множества со специальной топологией) и урезав D → D до непрерывных в этой топологии функций[2]. На основе этих построений была создана денотационная семантика языков программирования, в частности, благодаря тому, что с помощью них можно придать точный смысл таким двум важным конструкциям языков программирования, как рекурсия и типы данных.

Связь с рекурсивными функциями

Рекурсия — это определение функции через себя; на первый взгляд, лямбда-исчисление не позволяет этого, но это впечатление обманчиво. Например, рассмотрим рекурсивную функцию, вычисляющую факториал:

f(n) = 1, if n = 0; else n × f(n — 1).

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

g := λr. λn.(1, if n = 0; else n × (r r (n-1)))
f := g g

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

Y = λg.(λx.g (x x)) (λx.g (x x))

В лямбда-исчислении, Y g — неподвижная точка g; продемонстрируем это:

Y g
λh.((λx.h (x x)) (λx.h (x x))) g
(λx.g (x x)) (λx.g (x x))
g ((λx.g (x x)) (λx.g (x x)))
g (Y g).

Теперь, чтобы определить факториал, как рекурсивную функцию, мы можем просто написать g (Y g) n, где n — число, для которого вычисляется факториал. Пусть n = 4, получаем:

   g (Y g) 4
   (λfn.(1, if n = 0; and n·(f(n-1)), if n>0)) (Y g) 4
   (λn.(1, if n = 0; and n·((Y g) (n-1)), if n>0)) 4
   1, if 4 = 0; and 4·(g(Y g) (4-1)), if 4>0
   4·(g(Y g) 3)
   4·(λn.(1, if n = 0; and n·((Y g) (n-1)), if n>0) 3)
   4·(1, if 3 = 0; and 3·(g(Y g) (3-1)), if 3>0)
   4·(3·(g(Y g) 2))
   4·(3·(λn.(1, if n = 0; and n·((Y g) (n-1)), if n>0) 2))
   4·(3·(1, if 2 = 0; and 2·(g(Y g) (2-1)), if 2>0))
   4·(3·(2·(g(Y g) 1)))
   4·(3·(2·(λn.(1, if n = 0; and n·((Y g) (n-1)), if n>0) 1)))
   4·(3·(2·(1, if 1 = 0; and 1·((Y g) (1-1)), if 1>0)))
   4·(3·(2·(1·((Y g) 0))))
   4·(3·(2·(1·((λn.(1, if n = 0; and n·((Y g) (n-1)), if n>0) 0))))
   4·(3·(2·(1·(1, if 0 = 0; and 0·((Y g) (0-1)), if 0>0))))
   4·(3·(2·(1·(1))))
   24

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

В языках программирования

В языках программирования под «λ-исчислением» зачастую понимается механизм «анонимных функций» — callback-функций, которые можно определить прямо в том месте, где они используются, и которые имеют доступ к локальным переменным текущей функции.

См. также

Примечания

  1. Scott D.S. The lattice of flow diagrams.— Lecture Notes in Mathematics, 188, Symposium on Semantics of Algorithmic Languages.— Berlin, Heidelberg, New York: Springer-Verlag, 1971, pp. 311—372.
  2. Scott D.S. Lattice-theoretic models for various type-free calculi. — In: Proc. 4th Int. Congress for Logic, Methodology, and the Philosophy of Science, Bucharest, 1972.

Литература

  • Барендрегт X. Ламбда-исчисление. Его синтаксис и семантика: Пер. с англ. — М.: Мир, 1985. — 606 с.
  • Чечулин В. Л. О непротиворечивости лямбда-исчисления // В мире научных открытий, серия Математика. Механика. Информатика, 2011, № 1, сс. 203—206

dis.academic.ru

Лямбда — это… Что такое Лямбда?

Λ, λ (название: ля́мбда, греч. λάμδα) — 11-я буква греческого алфавита. В системе греческой алфавитной записи чисел имеет числовое значение 30. Происходит от финикийской буквы ламед — ламед. От буквы «лямбда» произошли латинская буква L и кириллическая Л, а также их производные.

Использование

Прописная Λ

Строчная λ

Лямбда в культуре

  • В вымышленной вселенной «Звездных Войн» существует космический корабль, известный как «корабль класса Лямбда», похожий на букву «λ», если смотреть вдоль оси симметрии.
  • В серии популярных компьютерных игр Half-Life лямбда является логотипом «Комплекса Лямбда», части исследовательского центра Чёрная Меза, в котором изучаются технологии телепортации. Позднее в игре лямбда становится символом сопротивления людей против инопланетного Альянса. Символ также стал символом серии Half-life и часто используется в названии «Half-Life», заменяя букву «a» (H λ L F — L I F E). Помимо этого, Лямбда заменяет букву «А» в названиях модов и различных роликов. Этот символ присутствует и на костюме главного героя — Гордона Фримена. Также напоминает руку, держащую монтировку — известное оружие этой игры.
  • В песне Михаила Щербакова «Австралия» лирический герой мечтал дать имя «Лямбда» своему так и не заведённому жирафу, муравьеду или кенгуру.
  • В некоторых шрифтах заглавная латинская A рисуется без горизонтальной палочки, т. е. как Λ например, на старом логотипе НАСА или современном логотипе компании Samsung.
  • На эмблеме Renault Megane, расположенной на багажнике, в слове Megane используется буква лямбда.
  • На эмблеме Kia используется буква лямбда.

Примечания

dik.academic.ru

Отправить ответ

avatar
  Подписаться  
Уведомление о