Lambda hesablanması (λ-hesablama) — hesablama anlayışını formalaşdırmaq və təhlil etmək üçün Amerika riyaziyyatçısı Alonzo Çörç tərəfindən hazırlanmış rəsmi bir sistem.
Saf - hesablama
Saf - hesablamasışərtləri həmçinin , obyektləri ("obami")və ya Lambda (hərf-λ) şərtləri adlanan tətbiq və abstraksiya istifadə edərək yalnız dəyişənlərdən qurulmuşdur. Əvvəlcə hər hansı bir sabitliyin olması ehtimal edilmir.
Tətbiq və abstraksiya
Əsasən λ-hesablama iki əsas əməliyyata əsaslanır:
- Tətbiq (lat. applicatio — qoşma, qoşulmaq) müəyyən bir dəyərlə əlaqədar bir funksiyanı tətbiq etmək və ya çağırmaq deməkdir. Adətən onun işarəsi,hardaki, — funksiya, a isə — arqumentdir.Bu riyaziyyatda ümumi olan notasiyaya uyğun gəlir,bəzən də həmçinin də istifadə olunur,lakin, λ-hesablama üçün -in nəticəni verilən giriş dəyərindən hesablayan alqoritm kimi qəbul etməsi vacibdir. Bu mənada , tətbiqinə iki cür baxmaq olar: tətbiqi nəticəsində -dan -ya və yaxudda hesablama prosesi olaraq . Tətbiqin son şərhi β-azalma anlayışı ilə əlaqədardır.
- Abstraksiya və ya λ-abstraksiya (lat. abstractio — yayındırma,bölmə) öz növbəsində verilmiş ifadələrə uyğun olaraq funksiyalar qurur. Eynilə,əgər — ifadəsi sərbəst olan , onda qeyd bu mənanı verir: arqumentdən funksiyası , formaya sahibdir ,bir funksiyanı ifadə edir . Beləliklə, abstraksiya istifadə edərək yeni funksiyalar qura bilərsiniz. Tələb belə ki, sərbəst şəkildə -ya,daxil edilirsə, çox əhəmiyyətli deyil — fərz etmək kifayətdir,əgər bu belə deyilsə.
α-ekvivalentlik
Lambda baxımından müəyyən edilən ekvivalentliyin əsas forması alfa ekvivalentliyidir. Məsələn, və : alfa ekvivalent lambda şərtləri və hər ikisi eyni funksiyanı təmsil edir: alfa ekvivalent lambda terminləri və hər ikisi eyni funksiyanı təmsil edir. Lambda abstraksiyasında olmadığı üçün və şərtləri alfa ekvivalenti deyildir.
β-reduksiyası
ifadəsi bu funksiyanı ifadə edir,qəbulu hər birinə görə dəyəri , sonra ifadəni hesablamaq üçün
həm tətbiqi, dəyişən əvəzinə həm də mücərrədliyi ehtiva edən müddətdə 3 sayının dəyişdirilməsini yerinə yetirmək lazımdır. Nəticədə alınır. Bu mülahizə ümumi şəkildə
yazılır və β-azalma adlanır. İfadənin növü {\displaystyle (\lambda x.t)\ a}(\lambda x.t)\ a-ya, yəni müəyyən bir müddətə bir abstraksiya tətbiq etmək, redex adlanır (redex). Baxmayaraq ki,sonra, o β-azalma lambda — hesablanmasının əslində çox əsaslı və mürəkkəb bir nəzəriyyəyə səbəb olan yeganə "əsas" aksiomadır{\displaystyle \lambda }\. Onunla birlikdə - hesablaması Tyurinq tamlıq xüsusiyyətinə malikdir və buna görə də ən sadə proqramlaşdırma dilidir.
η-çevrilməsi
— çevrilməsi iki funksiyanın eyni və yalnız olduqda eyni olduğunu düşüncəsini,nə zaman, hər hansı bir dəlil tətbiq olunanda eyni nəticələri ifadə edir. - dönüşümü и düsturlarını bir-birinə çevirir(əgər ki,-ın -ya sərbəst girişi yoxdursa: əks halda sərbəst dəyişən çevrilmədən sonra əlaqəli xarici abstraksiya və ya əksinə olacaq).
Əyrilmə(Kurrinq)
İki dəyişənin funksiyası и -ın bir dəyişənin funksiyası hesab edilə bilər, bir dəyişən funksiyasını qaytaran, yeni bir ifadə olur. Bu texnika istənilən ariyanın funksiyaları üçün eyni şəkildə işləyir. Bu göstərir ki, bir çox dəyişənlərin funksiyaları — hesablaması ilə ifadə edilə bilər və "Sintaktik şəkər"dir. Bir çox dəyişkənliyin funksiyalarını bir dəyişənin funksiyasına çevirmək təsvir edilən proses, Amerika riyaziyyatçısı Haskell Kurrinin şərəfinə, karinq adlanır (M.E.Sheinfinkel (1924)).
Tipsiz hesablama -semantikası
Bu bir faktdır ki,— lambda hesablamasının şərtləri funksiyaları kimi fəaliyyət göstərir,— şərtlərə tətbiq olunur(bu bəlkə də,özü-özünə),— hesablaması adekvat semantikanın qurulmasında çətinliklərə səbəb olur. — hesablanmasına hər hansı bir məna vermək üçün, çoxluğunu almaq zəruridir,hansıki,onun funksional məkanına sərmayə qoyulacaqdı. Bunun ümumi vəziyyətində və -dan -yə qədər funksiyalarbu iki çoxluğun gücünün məhdudlaşdırılması səbəbindən mövcud deyildir: ikincisi birincisindən daha çox gücə malikdir.
Bu çətinliyi 1970-ci illərin əvvəllərində Dana Skott aradan qaldırdı, bir domen anlayışını quraraq (əvvəlcə tam rəflərdə,daha sonra tam bir qismən sifariş edilmiş xüsusi bir topologiya ilə ümumiləşdirərək) və kəsərək davamlı olaraq bu funksiyasını yaratdı. Bu konstruksiyaların əsasında,bunların köməyi ilə proqramlaşdırma dillərinin rekursion və məlumat növləri kimi iki vacib quruluşa dəqiq məna verə bilməsi üçün xüsusən proqramlaşdırma dillərinin [en] yaradıldı.
Rekursiv funksiyalarla əlaqə
Rekursiya — özü vasitəsilə bir funksiyanın tərifidir; ilk baxışdan lambda hesablaması buna imkan vermir,lakin bu təəssürat yanıldır. Məsələn, faktorial hesablayan bir rekursiv funksiyasını nəzərdən keçirək:
- f(n) = 1, if n = 0; else n × f(n - 1).
Lambda hesablamasında bir funksiya birbaşa özünə edə bilməz. Bununla birlikdə, bir funksiya funksiyaya ötürülə bilər. Bir qayda olaraq, bu mübahisə əvvəlcə gəlir.Bir funksiya ilə əlaqələndirərək yeni, onsuz da təkrarlanan bir funksiya əldə edirik. Bunun üçün özünə istinad edən bir dəlil (burada olaraq təyin olunur),funksiya orqanına ötürülməlidir.
- g := λr. λn.(1, if n = 0; else n × (r r (n-1)))
- f := g g
Bu, faktorial hesablama problemini həll edir, lakin ümumi bir də mümkündür. Rekursiv bir funksiya və ya dövrü təmsil edən bir lambda müddəti alaraq, özünü ilk dəlil olaraq keçərək sabit nöqtəli kombinator lazımi rekursiv funksiyanı və ya dövrü geri qaytaracaqdır. Funksiyaların hər dəfə açıq şəkildə özlərini keçməsinə ehtiyac yoxdur.
Sabit nöqtəli kombinatorların bir neçə tərifi var. Onlardan ən sadəsi:
- Y = λg.(λx.g (x x)) (λx.g (x x)) lambda hesablamasında, — sabit nöqtə ; bunu nümayiş etdirir:
- 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). İndi faktorialı müəyyən etmək üçün, rekursiv funksiyası olaraq sadəcə yaza bilərik,hardaki, — nömrə hansıki faktorialın hesablandlğı nömrədir. -dən,əldə edirik:
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
Bir rekursiv funksiyanın hər tərifi müvafiq funksiyanın sabit bir nöqtəsi kimi göstərilə bilər, buna görə də istufadə edilərək,hər rekursiv tərif lambda ifadəsi kimi ifadə edilə bilər. Xüsusilə, toplama işlənməsini, vurma, natural ədədlərin müqayisəsini rekursiv olaraq təyin edə bilərik.
Proqramlaşdırma dillərində
Proqramlaşdırma dillərində "-hesablaması" tez-tez " anonim funksiyaların" mexanizmi başa düşülür — callback funksiyaları,hansı ki,istifadə edildikləri yerlərdə və cari funksiyanın (dəyişmə) lokal dəyişənlərinə giriş imkanı olan yerlərdə müəyyən edilə bilər.
İstinadlar
- 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.
- 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.
Ədəbiyyat
Барендрегт X. Ламбда-исчисление. Его синтаксис и семантика. M.: Мир. 1985. səh. 606 .
Həmçinin bax
Xarici keçidlər
- λ-Hesablama: Sonra & İndi (ing.)
- Lambda hesablaması (ing.)
- Lambda Hesablamasına qısa bir giriş (ing.)
- Lambda hesablaması — addımbaaddım (ing.)
wikipedia, oxu, kitab, kitabxana, axtar, tap, meqaleler, kitablar, oyrenmek, wiki, bilgi, tarix, tarixi, endir, indir, yukle, izlə, izle, mobil, telefon ucun, azeri, azəri, azerbaycanca, azərbaycanca, sayt, yüklə, pulsuz, pulsuz yüklə, haqqında, haqqinda, məlumat, melumat, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, şəkil, muisiqi, mahnı, kino, film, kitab, oyun, oyunlar, android, ios, apple, samsung, iphone, pc, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, web, computer, komputer
Lambda hesablanmasi l hesablama hesablama anlayisini formalasdirmaq ve tehlil etmek ucun Amerika riyaziyyatcisi Alonzo Corc terefinden hazirlanmis resmi bir sistem Saf l displaystyle lambda hesablamaSaf l displaystyle lambda hesablamasisertleri hemcinin obyektleri obami ve ya Lambda herf l sertleri adlanan tetbiq ve abstraksiya istifade ederek yalniz deyisenlerden qurulmusdur Evvelce her hansi bir sabitliyin olmasi ehtimal edilmir Tetbiq ve abstraksiyaEsasen l hesablama iki esas emeliyyata esaslanir Tetbiq lat applicatio qosma qosulmaq mueyyen bir deyerle elaqedar bir funksiyani tetbiq etmek ve ya cagirmaq demekdir Adeten onun isaresif a displaystyle f a hardaki f a displaystyle f a funksiya a ise a displaystyle a arqumentdir Bu riyaziyyatda umumi olan f a displaystyle f a notasiyaya uygun gelir bezen de hemcinin de istifade olunur lakin l hesablama ucun f displaystyle f in neticeni verilen giris deyerinden hesablayan alqoritm kimi qebul etmesi vacibdir Bu menada f displaystyle f a displaystyle a tetbiqine iki cur baxmaq olar tetbiqi neticesinde f displaystyle f dan a displaystyle a ya ve yaxudda hesablama prosesi olaraq f a displaystyle f a Tetbiqin son serhi b azalma anlayisi ile elaqedardir Abstraksiya ve ya l abstraksiya lat abstractio yayindirma bolme oz novbesinde verilmis ifadelere uygun olaraq funksiyalar qurur Eynile eger t t x displaystyle t equiv t x ifadesi serbest olan x displaystyle x onda qeyd lx t x displaystyle lambda x t x bu menani verir l displaystyle lambda arqumentden funksiyasi x displaystyle x formaya sahibdir t x displaystyle t x bir funksiyani ifade edir x t x displaystyle x mapsto t x Belelikle abstraksiya istifade ederek yeni funksiyalar qura bilersiniz Teleb bele ki x displaystyle x serbest sekilde t displaystyle t ya daxil edilirse cox ehemiyyetli deyil ferz etmek kifayetdirlx t t displaystyle lambda x t equiv t eger bu bele deyilse a ekvivalentlikLambda baximindan mueyyen edilen ekvivalentliyin esas formasi alfa ekvivalentliyidir Meselen lx x displaystyle lambda x x ve ly y displaystyle lambda y y alfa ekvivalent lambda sertleri ve her ikisi eyni funksiyani temsil edir alfa ekvivalent lambda terminleri ve her ikisi eyni funksiyani temsil edir Lambda abstraksiyasinda olmadigi ucun x displaystyle x ve y displaystyle y sertleri alfa ekvivalenti deyildir b reduksiyasilx 2 x 1 displaystyle lambda x 2 cdot x 1 ifadesi bu funksiyani ifade edir qebulu her birine gore x displaystyle x deyeri 2 x 1 displaystyle 2 cdot x 1 sonra ifadeni hesablamaq ucun lx 2 x 1 3 displaystyle lambda x 2 cdot x 1 3 hem tetbiqi x displaystyle x deyisen evezine hem de mucerredliyi ehtiva eden muddetde 3 sayinin deyisdirilmesini yerine 2 x 1 displaystyle 2 cdot x 1 yetirmek lazimdir Neticede 2 3 1 7 displaystyle 2 cdot 3 1 7 alinir Bu mulahize umumi sekilde lx t a t x a displaystyle lambda x t a t x a yazilir ve b azalma adlanir Ifadenin novu displaystyle lambda x t a lambda x t a ya yeni mueyyen bir muddete bir abstraksiya tetbiq etmek redex adlanir redex Baxmayaraq ki sonra o b azalma lambda hesablanmasinin eslinde cox esasli ve murekkeb bir nezeriyyeye sebeb olan yegane esas aksiomadir displaystyle lambda Onunla birlikde l displaystyle lambda hesablamasi Tyurinq tamliq xususiyyetine malikdir ve buna gore de en sade proqramlasdirma dilidir h cevrilmesih displaystyle eta cevrilmesi iki funksiyanin eyni ve yalniz olduqda eyni oldugunu dusuncesini ne zaman her hansi bir delil tetbiq olunanda eyni neticeleri ifade edir h displaystyle eta donusumu lx f x displaystyle lambda x f x i f displaystyle f dusturlarini bir birine cevirir eger ki x displaystyle x in f displaystyle f ya serbest girisi yoxdursa eks halda serbest deyisen x displaystyle x cevrilmeden sonra elaqeli xarici abstraksiya ve ya eksine olacaq Eyrilme Kurrinq Iki deyisenin funksiyasi x displaystyle x i y displaystyle y f x y x y displaystyle f x y x y x displaystyle x in bir deyisenin funksiyasi hesab edile biler bir deyisen funksiyasini qaytarany displaystyle y yeni bir ifade lx ly x y displaystyle lambda x lambda y x y olur Bu texnika istenilen ariyanin funksiyalari ucun eyni sekilde isleyir Bu gosterir ki bir cox deyisenlerin funksiyalari l displaystyle lambda hesablamasi ile ifade edile biler ve Sintaktik seker dir Bir cox deyiskenliyin funksiyalarini bir deyisenin funksiyasina cevirmek tesvir edilen proses Amerika riyaziyyatcisi Haskell Kurrinin serefine karinq adlanir M E Sheinfinkel 1924 Tipsiz hesablama l displaystyle lambda semantikasiBu bir faktdir ki l displaystyle lambda lambda hesablamasinin sertleri funksiyalari kimi fealiyyet gosterir l displaystyle lambda sertlere tetbiq olunur bu belke de ozu ozune l displaystyle lambda hesablamasi adekvat semantikanin qurulmasinda cetinliklere sebeb olur l displaystyle lambda hesablanmasina her hansi bir mena vermek ucun D displaystyle D coxlugunu almaq zeruridir hansiki onun funksional mekaninaD D displaystyle D to D sermaye qoyulacaqdi Bunun umumi veziyyetindeD displaystyle D D displaystyle D ve D displaystyle D dan D displaystyle D ye qeder funksiyalarbu iki coxlugun gucunun mehdudlasdirilmasi sebebinden movcud deyildir ikincisi birincisinden daha cox guce malikdir Bu cetinliyi 1970 ci illerin evvellerinde Dana Skott aradan qaldirdi D displaystyle D bir domen anlayisini quraraq evvelce tam reflerde daha sonra tam bir qismen sifaris edilmis xususi bir topologiya ile umumilesdirerek ve keserek D D displaystyle D to D davamli olaraq bu funksiyasini yaratdi Bu konstruksiyalarin esasinda bunlarin komeyi ile proqramlasdirma dillerinin rekursion ve melumat novleri kimi iki vacib qurulusa deqiq mena vere bilmesi ucun xususen proqramlasdirma dillerinin en yaradildi Rekursiv funksiyalarla elaqeRekursiya ozu vasitesile bir funksiyanin terifidir ilk baxisdan lambda hesablamasi buna imkan vermir lakin bu teessurat yanildir Meselen faktorial hesablayan bir rekursiv funksiyasini nezerden kecirek f n 1 if n 0 else n f n 1 Lambda hesablamasinda bir funksiya birbasa ozune ede bilmez Bununla birlikde bir funksiya funksiyaya oturule biler Bir qayda olaraq bu mubahise evvelce gelir Bir funksiya ile elaqelendirerek yeni onsuz da tekrarlanan bir funksiya elde edirik Bunun ucun ozune istinad eden bir delil burada r displaystyle r olaraq teyin olunur funksiya orqanina oturulmelidir g lr ln 1 if n 0 else n r r n 1 f g g Bu faktorial hesablama problemini hell edir lakin umumi bir de mumkundur Rekursiv bir funksiya ve ya dovru temsil eden bir lambda muddeti alaraq ozunu ilk delil olaraq kecerek sabit noqteli kombinator lazimi rekursiv funksiyani ve ya dovru geri qaytaracaqdir Funksiyalarin her defe aciq sekilde ozlerini kecmesine ehtiyac yoxdur Sabit noqteli kombinatorlarin bir nece terifi var Onlardan en sadesi Y lg lx g x x lx g x x lambda hesablamasinda Y g displaystyle operatorname Y g sabit noqte g displaystyle operatorname g bunu numayis etdirir Y g lh lx h x x lx h x x g lx g x x lx g x x g lx g x x lx g x x g Y g Indi faktoriali mueyyen etmek ucun rekursiv funksiyasi olaraq sadece yaza bilerikg Y g n displaystyle operatorname g Y g n hardaki n displaystyle n nomre hansiki faktorialin hesablandlgi nomredir n 4 displaystyle n 4 den elde edirik g Y g 4 lfn 1 if n 0 and n f n 1 if n gt 0 Y g 4 ln 1 if n 0 and n Y g n 1 if n gt 0 4 1 if 4 0 and 4 g Y g 4 1 if 4 gt 0 4 g Y g 3 4 ln 1 if n 0 and n Y g n 1 if n gt 0 3 4 1 if 3 0 and 3 g Y g 3 1 if 3 gt 0 4 3 g Y g 2 4 3 ln 1 if n 0 and n Y g n 1 if n gt 0 2 4 3 1 if 2 0 and 2 g Y g 2 1 if 2 gt 0 4 3 2 g Y g 1 4 3 2 ln 1 if n 0 and n Y g n 1 if n gt 0 1 4 3 2 1 if 1 0 and 1 Y g 1 1 if 1 gt 0 4 3 2 1 Y g 0 4 3 2 1 ln 1 if n 0 and n Y g n 1 if n gt 0 0 4 3 2 1 1 if 0 0 and 0 Y g 0 1 if 0 gt 0 4 3 2 1 1 24 Bir rekursiv funksiyanin her terifi muvafiq funksiyanin sabit bir noqtesi kimi gosterile biler buna gore de Y displaystyle operatorname Y istufade edilerek her rekursiv terif lambda ifadesi kimi ifade edile biler Xususile toplama islenmesini vurma natural ededlerin muqayisesini rekursiv olaraq teyin ede bilerik Proqramlasdirma dillerindeProqramlasdirma dillerinde l displaystyle lambda hesablamasi tez tez anonim funksiyalarin mexanizmi basa dusulur callback funksiyalari hansi ki istifade edildikleri yerlerde ve cari funksiyanin deyisme lokal deyisenlerine giris imkani olan yerlerde mueyyen edile biler IstinadlarScott 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 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 EdebiyyatBarendregt X Lambda ischislenie Ego sintaksis i semantika M Mir 1985 seh 606 Hemcinin baxLambda CDM model Standart Model Lambda zondXarici kecidlerl Hesablama Sonra amp Indi ing Lambda hesablamasi ing Lambda Hesablamasina qisa bir giris ing Lambda hesablamasi addimbaaddim ing Vikianbarda Lambda hesablamasi ile elaqeli mediafayllar var