పక్షుల పేర్లు, భాగం 4
యూరోపియన్ స్టార్లింగ్ ఒక సుందరమైన పక్షి, అయితే ఇది ప్రాదేశికంగా, ధ్వనించే మరియు దూకుడుగా ఉంటుంది. దురదృష్టవశాత్తు, వారు ఉత్తర అమెరికాలో చాలా దూకుడుగా ఉన్నారు. ఇప్పుడు అమెరికాలో నివసిస్తున్న వందల మిలియన్ల యూరోపియన్ స్టార్లింగ్లలో చాలా మంది శీతాకాలంలో నా సూట్ ఫీడర్పై పోరాడుతున్నారు.
కెస్ట్రెల్ గుర్తింపును పాటిస్తుంది అని మేము చివరిసారి చెప్పాము Kxy=x అన్ని పక్షులకు x మరియు వై అడవిలో. స్టార్లింగ్ కొంచెం సంక్లిష్టమైన గుర్తింపును కలిగి ఉంది: Sxyz=xz(yz).
మళ్ళీ, ఇది కుండలీకరణం చేయబడిందని గుర్తుంచుకోండి ((Sx)y)z=(xz)(yz).
అవును నేను ఉపయోగించానని నాకు తెలుసు ఎస్ పార్ట్ 2లో “వారసుడు పక్షి” కోసం; గందరగోళానికి క్షమించండి, ఇది వేరే పక్షి.
ఒక అడవిలో స్టార్లింగ్ మరియు కెస్ట్రెల్ రెండూ ఉంటే, అడవిలో ఒక పక్షి ఉందని మీరు చూపించగలరా, అది ఇష్టపడేది? ప్రతి అడవిలో పక్షి? (అడవిలో కనీసం రెండు విభిన్నమైన పక్షులు ఉన్నాయని నేను ఇక్కడ సూచిస్తున్నాను, అందువల్ల గత ఎపిసోడ్ నుండి ఒంటరి అహంకార కేస్ట్రెల్ లేదని గమనించండి.)
ఒకసారి ప్రయత్నించండి, ఆపై క్రిందికి స్క్రోల్ చేయండి.
.
.
.

.
.
.
.
పిలుద్దాం కె కు ఎస్; స్టార్లింగ్ మరొక పక్షిని తిరిగి పిలుస్తుంది. అప్పుడు పిలుస్తాం కె దానికి. అది వేరే పక్షిని తిరిగి పిలుస్తుంది. మేము అప్పుడు ఏదైనా పక్షిని పిలుస్తాము z అడవిలో అని పక్షి.
Sxyz=(xz)(yz)
SKKz=(Kz)(Kz)
కానీ Kz అనేది స్థిరంగా ఉండే పక్షి zకాబట్టి మనం దేనికి పిలిచినా పర్వాలేదు Kzమేము ఎల్లప్పుడూ పొందుతాము z వెనుకకు:
SKKz=(Kz)(Kz)=z
మేము పిలుస్తాము SKK ది గుర్తింపు పక్షి Iఎందుకంటే నుండి=తో అందరికీ z అడవిలో. ప్రతి విలువ గుర్తింపు యొక్క స్థిర బిందువు ఫంక్షన్ పక్షి.
(ప్రక్కన: గమనించండి స్కై ఏదైనా పక్షికి గుర్తింపు పక్షి అని పేరు పెట్టింది వై; మేము ఉపయోగించాల్సిన అవసరం లేదు కె.)
రెండిటితో ఏదైనా అడవి అని ఇప్పుడు మనకు తెలుసు ఎస్ మరియు కె దానిలో కూడా ఉంది I అందులో, అడవికి కూడా ఉందని నిరూపించగలరా ఎం అందులో? (అది గుర్తుకు తెచ్చుకోండి Mx=xx అందరికీ x.) ఒకసారి ప్రయత్నించండి ఆపై క్రిందికి స్క్రోల్ చేయండి.
.
.
.

.
.
.
.
SIIz=(Iz)(Iz)=zzకాబట్టి ఇవ్వండి ఉంది ఎం.
ఈ విచిత్రం అంతా సరదాగా ఉంటుంది, అయితే పక్షులను సంప్రదాయబద్ధంగా పిలుస్తారని మీరందరూ గ్రహించారని నేను ఖచ్చితంగా అనుకుంటున్నాను కాంబినేటర్లు. కాంబినేటర్లు ఒకే కాంబినేటర్ను తీసుకొని ఒకే కాంబినేటర్ను తిరిగి ఇచ్చే విధులు; అడవులు కాంబినేటర్ల సమితి.
కంబినేటరీ లాజిక్ అధ్యయనం కంప్యూటర్ శాస్త్రవేత్తలకు ఆసక్తికరంగా ఉంటుంది. ఏదైనా వ్యక్తీకరణను రూపొందించడానికి సాపేక్షంగా సరళమైన మార్గం ఉందని ఇది మారుతుంది ఎస్ మరియు కె మరియు సమానమైన లాంబ్డా కాలిక్యులస్ వ్యక్తీకరణను కనుగొనండి మరియు వైస్ వెర్సా. లాంబ్డా కాలిక్యులస్లోని ఏదైనా వ్యక్తీకరణ స్ట్రింగ్గా వ్యక్తీకరించబడుతుంది ఎస్ మరియు కె కాంబినేటర్లు. మీరు ఉపయోగించవచ్చు ఎస్ మరియు కె పూర్ణాంకాలపై బూలియన్లు, సంఖ్యలు, ఏకపక్ష విధులను వ్యక్తీకరించడానికి కాంబినేటర్లు, మీరు దీనికి పేరు పెట్టండి; ఒక ట్యూరింగ్ యంత్రం దానిని గణించగలిగితే, ఒక ఉంది ఎస్/కె వ్యక్తీకరణ అదే విషయాన్ని కంప్యూటింగ్గా అర్థం చేసుకోవచ్చు.
దాని గురించి నేను ఇంకా చాలా చెప్పగలను, కానీ నేను వివరాలలోకి వెళ్ళడం లేదు.
ఓహ్, మరియు నేను ఆ రోజు C# 3కి లాంబ్డాస్ని జోడించినప్పుడు, టైప్ అనాలిసిస్ పని చేస్తుందని నిర్ధారించుకోవడానికి నేను వ్రాసిన మొదటి టెస్ట్ కేస్ ఇలా ఉంటుంది:
delegate C C(C x);
...
C i = x=>x;
C m = x=>x(x);
C k = x=>y=>x;
C s = x=>y=>z=>x(z)(y(z));
కానీ నేను దాని గురించి మరింత చర్చించను, కనీసం ఇప్పుడే కాదు. బీన్ మెషీన్ను కంపైల్ చేయడంలో నా సిరీస్ నుండి మేము ఇప్పటికే ట్రాక్ నుండి దూరంగా ఉన్నాము. దానికి తిరిగి వద్దాం.
FAICలో తదుపరిసారి: కంపైలర్లోని భాగాలను రూపొందించడానికి కాంబినేటర్లచే ప్రేరణ పొందిన విధానాన్ని ఎలా ఉపయోగించాలో మరియు కాంబినేటర్లకు ఫిక్స్పాయింట్లు ఉన్నాయని నిర్ధారించుకోవడం ఎందుకు ముఖ్యం అని మేము చూస్తాము.
మీరు ఈ పజిల్లను ఆస్వాదించినట్లయితే, నేను చూపించినవి కొన్ని పరిచయ పజిల్లు మాకింగ్బర్డ్ని వెక్కిరించడంఇది సంతోషకరమైనది మరియు విద్యాపరమైనది మరియు గణన సిద్ధాంతం మరియు గోడెల్ అసంపూర్ణత వరకు పొందుతుంది. ఒక కాపీని తీయండి!

