á€áá±á¬ááºážáá«ážááẠáá¬áá¬ááŒááºáá
áºáá¯ááŒá
áºáááºá
ááŒááºááá¯ááºáá¬áá²á·
habrokat ááŒá®ážáá±á¬ááºá ááááºáá±á¬á·á ááœá±ážááœá±ážááœá²ááá¬áá¬ááŒááºá
áááºáááºá áááºááŸá¯áá¶á
á¬ážáá«á
áááºá¡áá¯ááºáá²áá¯ááºáá¯ááºá á¡ááá·áºáá¯á¶ážááá·áºááᯠá¡ááŒá²áááºáž áá»áŸá±á¬ááºáááŸá¬á
- áááºá¡á±á¬ááºááŒááºááá¯ááá·áºáááºážááá¯ááºááᯠáá¯á¶ážááŒááºáá«á
- ááá·áºáááºážááá¯ááºááᯠáááºááá¯á·á¡á±á¬ááºááŒááºáááºááᯠáá¯á¶ážááŒááºáá«á
- áááºážáá²á·áááºážááá¯ááºááá¯áá±á¬ááºá
áááºážááẠprogramming ááŸáá·áºáááºážáááºááá¯ááºáááºá áá¯ááºáá±ážáá²á·á¡áá«á
- áááá¯ááááºá áá¬áá¯ááºááá·áºáááºááá¯áᬠáá¯á¶ážááŒááºáá«á
- áááºážááá¬áááºááᯠáááºááá¯á·áá¯ááºáá±á¬ááºááá·áºáááºááᯠáá¯á¶ážááŒááºáá«á
- áááºááá¯ááºáá¬áá¯ááºááá¯áá±ážáá«á
áá±á¬ááºáá¯á¶ážá¡ááá·áºá á¡áááºážá¡áá±ážááŒá®ážáá«áááºá áá«áá±ááá·áº áá®áá±á·áá±á¬á· áá®á¡ááŒá±á¬ááºážááᯠáááŒá±á¬áá±á¬á·áá«áá°ážá á¡á²áá®á¡á á¬áž áááááŸá áºáá¯ááᯠááœá±ážááœá±ážáá«áááºá áááá¯ááááºáá¬ááá¯ááºážááẠá¡áá¯ááºáá áá® áááºážááá¯á·ááᯠáá¯ááºáá±á¬ááºáááºá ááá±á¬ááºáᬠ(ááá¯á·) áá±áá¬áá±á·á áºááᯠáá±ážááá¬áž ááá¯á¶ážááŒááºááá»ááºáž á á¬áá±ážááá¯á· ááá¯ááºáá±ááŸá¬ ááá¯ááºáá«áá°ážá áááºááŸááºážáá»ááºááá±áá»á¬áá±á¬á áááºáá°ážáá áºáá¯áá á¹á á¯áá¹áááºááŒá áºááá«áááºá áááá¯ááááºá áá¬áá¯ááºáááºááá¯áá¬ááᯠáá±áá»á¬á ááºážá á¬ážááŒá®áž áá¯ááºá ááá±á¬ááºáá¬á¡ááŒá Ạáá áºáááºážáááºážáá²á· ááŒá±á¬ááºážáá²ááœá¬ážáááá·áºáááºááá¯á· áá»áŸá±á¬áºááá·áºááŒá®áž áá áºáááºážáááºážáá²á· ááá±ážáá«áá²á·á
á€áá¯ááºááᯠá¡ááá¡áá» áááºááá¯á·ááŒáá¯áááºááœá±ážáá±á«áºááááºážá áá«ááᯠáá»áœááºáá±á¬áºááá¯á· áááºáá±á¬áẠá¡á¬ážáá¯ááºááá·áºáá²á á¡á¬ážáá¯á¶ážá ááŒá¿áᬠáááºáá±á¬áẠááŸá¯ááºááœá±ážááá² ááá¯áá²á·á¡áá±á«áºááŸá¬ áá°áááºáááºá á¡ááŸá¬áž-áá¶ááá¯ááºáááºááŸááá±á¬ ááŒáá·áºáá±ááŸá¯á áá áºááᯠáá±ážááá¯áááºááá¯áá«á áá¯á·á á€ááá á¹á ááœááºá áá»áœááºá¯ááºááá¯á·ááẠáá¯ááºááá¯áááá¯ááºáá®ááœáẠáá±áá±áá»á¬áá»á¬ á ááºážá á¬ážááá·áºáááºá áá»áœááºá¯ááºááá¯á·ááẠááááºážááŒáá·áºááááºážááŸááºááᯠ1 ááŒáá·áº ááá¯ážááá¯áá»áŸááºáá±á¬á á¡á ááá¯ááºážááœááºá á¡áá¬á¡á¬ážáá¯á¶ážááẠá€áá±áá¬ááœáẠá¡áá±ážá¡ááœá²ááŒá áºááŒá®áž ááœá±ážá áá¬áááá¯á¡ááºáá±á¬áºáááºážá ááá¯á·áá±á¬ááºááœáẠáá»áŸá¶áááºáá¬ááá¯ááºáááºááᯠáááááááá«áááºá ááá¯á·ááŒá±á¬áá·áº ááŒá¿áá¬áá áºáá¯ááẠááá¯ážááŸááºážáááºááŒá áºá á±á ááŸá¯ááºááœá±ážáááºááŒá áºá á± áá¬ážáááºáááºááẠáŠážá áœá¬á ááºážá á¬ážááẠááá¯á¡ááºáá«áááºá
ááŒá¿áá¬á¡ááœáẠááŒá áºááá¯ááºáá»á±ááŸááá²á· ááŒá±ááŸááºážáááºážááœá±ááᯠááŒáá¯áááºá ááºážá á¬ážááẠá¡ááŸá¬ážááœá±ááᯠááŸá±á¬ááºááá¯ááºáá«áááºá áá«áá±ááá·áº áá«á áááºážáá²á· ááœá±ážáá±á«áºááŸá¯ááᯠááŸááºážááŸááºážáááºážáááºážááŸáááá¯á· ááá¯áááºá áá®ááá¯á¡á±á¬ááºááŒááºááá¯á·á¡ááœáẠáááºážáá²á·á¡ááœá±ážááœá±ááᯠáá»áá±ážááááºá Dick Guindon ááá¯ážáá¬ážáá»ááºááᯠáá«á¡áááºážááŒáá¯ááºáááº- "áááºážáá±ážáá²á·á¡áá« ááá¬áááá¬ážá áááºážáá²á·ááœá±ážáá±á«áºáá¯á¶á áááºáá±á¬ááºááá¯ááºááá¯ááºážáááºááá¯áá¬ááᯠááŒáááºá" á á¬ááá±ážááẠááœá±ážáá¬ááœá±ážáá«á áááºá á¡ááœá±ážá¡ááŒááºáá»á¬ážááᯠáááºááŸááºáá»ááºáá¯á¶á á¶ááŒáá·áº áá»áá±ážááẠááá¯á¡ááºáááºá
Specifications áá»á¬ážááẠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá áœá¬ááᯠáá¯ááºáá±á¬ááºáááºá á¡áá°ážáááŒáá·áº ááŒá®ážáá¬ážáá±á¬ ááá±á¬áá»ááºáá»á¬ážááœáẠáá¯ááºáá±á¬ááºáááºá áá«áá±ááá·áº áá°ááá¯á·áá²á áá áºáá±á¬ááºá¡ááŒá±á¬ááºážáá² ááŒá±á¬áá«áááºá áá°ááá¯á·á áá»áœááºáá±á¬áºááá¯á·ááᯠááŸááºážááŸááºážáááºážáááºáž á ááºážá á¬ážááá¯á· áá°áá®áá±ážáááºá ááŸááºážááŸááºážáááºážáááºážááœá±ážáá±á«áºááŒááºážááẠá¡ááœááºá¡áá±ážááŒá®ážááŒá®áž áááºáá²áá±á¬ááŒá±á¬áá·áº á€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á· á¡áá°á¡áá®ááá¯á¡ááºáá«áááºá áá»áœááºá¯ááºááá¯á·ááẠáááºááá·áºáá¬áá¬á áá¬ážááŒáá·áº áááºááŸááºáá»ááºáá»á¬ážááᯠáá±ážáá¬ážááá·áºááááºážá á€áááºááŸá¬ áááá¯ááááºáá¬áá»á¬ážá¡ááœáẠáá±áá¯áá»á¡á¬ážááŒáá·áº á¡ááŒá²áááºáž ááááá¯á¶ážáá±ážááœááºážááŒá áºáááº- áá»áœááºá¯ááºááá¯á·ááẠáááºááá·áºáá¬áá¬á áá¬ážááŒáá·áº áá±ážáá¬ážáááºáááºážá á¡á²áá«á¡ááœáẠááŸááºáááºáá²á· á¡ááŒá±áá áºáá¯á០áááŸááá°ážá áá»áœááºáá±á¬áºááá¯á· ááŒá±ááŸááºážáá±áá²á· ááŒá¿áá¬ááœá±á ááœá²ááŒá¬ážááœááºážáááºá á¡áá»áá¯á·á¡ááœááºá TLA+ ááẠáá»áœááºá¯ááºáá®ááœááºáá²á·áá±á¬ áááºááŸááºáá»ááºáá¬áá¬á áá¬ážáá áºáá¯ááŒá áºáááºá áááŒá¬ážáá°ááœá±á¡ááœááºáá±á¬á· ááá¯ááºáá¯á¶ážááᬠááá¯á¡áááºááŒá±áááºá á¡áá¬á¡á¬ážáá¯á¶ážá á¡ááŒá±á¡áá±áá±á«áºáá°áááºáááºá
ááá¯á¡áá±ážááŒá®ážáá¬á áá±á¬ááºáááºáá±ážááœááºážáá áºáá¯ááá±á¬á· ááŸááºážááŸááºážáááºážáááºážááœá±ážáá±á«áºááŸá¯ááᯠáááºááá¯á¡á±á¬ááºááŒááºááá¯ááºááá²á á¡ááŒá±- áááá¹áá¶ááá¬ááŸááºááœá±ááᯠááœá±ážááááºá áá«áᬠááœááºáá²á·áá²á· ááŸá Ạ500 áá»á±á¬áºá áááºáá±ááŒáá²á·áá²á· ááœá±ážáá±á«áºááŸá¯áá áºáá¯áá«á áááá¹áá¶ááœááºá áá»áœááºá¯ááºááá¯á·ááẠáááºááœá±á·ááá áááºá¹áá»á¬áá¯á¶á á¶áá»á¬ážááᯠáááºáá±á¬ááºáááºá ááá¹ááá¹ááá±áááẠá áá¬ážáá¯á¶ážá áááºážáá»ááºáá±á¬ á¡áááá¹áá¬ááºááœáẠááááá¯á¶ážáá±á¬ áááá¹áá¶ááᬠááŒá áºááá¯ááºáááºá ááá¹ááá¹ááá±áááœááºá¡áá¯á¶ážááŒá¯áá±á¬ áááºá¹áá»á¬áá¯á¶á á¶ááœááºá áá±á¬ááºážáááºáá¶áá¯ááºá¡áá±á¬ááºážáá»á¬ážááẠááŒááºáá¯á á¡áá±á¡áá¬ážááŸáá·áº á¡ááŸáááºá¡áá¯ááºááŒáá·áº á¡ááŸááºáá»á¬ážá¡ááŒá Ạáá±á«áºáá¬áá±á¬áºáááºáž áááºááœá±á·ááœáẠáááºážááá¯á·ááẠáá±á¬ááºáá»á¬ážá ááá¯áá¹ááá¬áá»á¬ážá áá®áá±ááŸáá·áº áá®áá±áá»á¬ážááŸáá·áº á¡ááœááºááŸá¯ááºááœá±ážáá±á¬ á¡áá¬áá»á¬ážááŒá áºáááºá á€áá¯á¶á á¶ááẠá¡ááŒá¬ážáá±á¬ááŒá¿áá¬áá»á¬ážáá²á·ááá¯á·áááºá á¡áá»áá¯á·áá±á¬ááŒá¿áá¬áá»á¬ážááá¯ááŒá±ááŸááºážááẠáááºáá®ážáá¬ážáááºá ááŒáá¯ááºáá áºáá¯á¶ážááŸá¬ááá¯á· ááá¯á¡ááºááẠá¡áá±ážááŒáá·áºááŸááºááŒá±á¬ááºážááᯠáááºááŸá¬ ááœáŸááºááááºááá¯áᬠáá¯á¶ážááŒááºááá¯á· áá±á¬ááºážáá«áááºá áá«áá±ááá·áº áá®ááá¹áá¬áá±á«áºá áá¬áá®á¥áá¯ááᯠááá·áºááŸááºážáá»ááºáááºááá¯áááºáá±á¬á· áá®áá¯á¶á á¶á á¡áá¯ááºáááŒá áºáá«áá°ážá
áááºá¹áá»á¬ááẠáá»áœááºá¯ááºááá¯á·á¡á¬áž áá±á¬áºáááºá áá¯ááºááá¹áááá»á¬ážááᯠáá¯á¶ážááŒááºááá¯ááºá á±áá«áááºá ááŒá®ážáá±á¬á· áá®áá¯ááºááá¹ááááœá±á áááºááœá±á·áá²á· áááºááá¯áááºá ááºáááºááá¯áá¬ááᯠáááá¹áá¶ááá¬á ááŒááá«áááºá áá»áœááºáá±á¬áºááá¯á·áá²á· áááá¹áá¶á ááœááºáá»á°áá¬áááá¹áá¶á¡ááŒá±á¬ááºáž ááŒá±á¬ááŒáá¡á±á¬ááºá áá»áœááºá¯ááºááá¯á· áá¯ááºáá±á¬ááºáá±ááá·áº áááºááœá±á·ááŸá¬ áááá¯áááºáá¬áá»á¬ážá ááááºážááœááºááá¯ážáá»á¬ážá ááœááºáá»á°áá¬áá»á¬ážá á á®á á¥áºáá±ážáááá¯ááááºáá»á¬áž á¡á ááŸááááºááŒáá·áº á¡áá»áá¯ážáá»áá¯ážáá±á¬ ááœááºáá»á°áá¬á áá áºáá»á¬ážááŒá áºáááºá ááœááºááŒá°áá¬ááŸá¬ áááá¯ááááºáá áºáᯠáááºáááºááŒááºážá¡ááŒá±á¬ááºáž ááŒá±á¬ááŒááẠáá«áá±ááá·áº áá±áá¯áá»á¡á¬ážááŒáá·áº áá®áá±á¬ááºáá»ááºááœá±á¡á¬ážáá¯á¶ážáᬠááœááºáá»á°áá¬á áá áºáá²á· áááºááá¯ááºáá«áááºá áá»áœááºá¯ááºááá¯á·ááááá¹áá¶ááá¬ááœááºá áá»áœááºá¯ááºááá¯á·ááẠááá°áá®áá±á¬ áá±á¬áºáááºáá»á¬ážá áœá¬ááᯠá¡áá¯á¶ážááŒá¯áááº- Turing á ááºá áá áºá áááºáá áºááá¯ááºáž á¡áááá·áºáá±ážáá¬ážáá±á¬ ááŒá áºáááºáá»á¬ážááŸáá·áº á¡ááŒá¬ážáá»á¬ážá áœá¬áá±á¬
áááá¯ááááºááá¯áᬠáá¬áá²á á€ááẠáááºááá·áºáá¯ááºááá¯áááᯠááœááºáááºá áœá¬ áá°áááá¯ááºáááºá ááá±á¬ááºáá¬áá áºáá¯áá±ážááá¯á·ááá¯áááºááá¯áá«á áá¯á·á áá»áœááºá¯ááºááá¯á·ááẠáá¯ááºáá±á¬ááºá áá¬áá¯á¶ážáá¯ááá¯áá¯ááºáá±á¬ááºáááº- áá»áœááºá¯ááºááá¯á·ááẠáááá¯ááááºáá¡áá¯á¶ážááŒá¯áá°áá¡ááŒááºááᯠáá®ááá¯ááºážáá±ážááœá²ááŒá®ážáá±á¬ááºá áááá¯ááááºáá¡ááá·áºááŒáá·áºáá¯á¶ááŒááºážááᯠáá±ážáá¬ážááŒááŒá®ážá áá±á¬ááºáá¯á¶ážááœáẠáá»áœááºá¯ááºááá¯á·ááẠáá¯ááºááá¯áá±ážááŒáááºá áá»áœááºá¯ááºááá¯á·ááẠáá¯ááºááá¯áá±ážáá±á¬á¡áá«ááœááºá áá»áœááºá¯ááºááá¯á·ááẠá á¬áá¬ážáá±á¬áºáááºáááááá¬ááᯠáá±ážááẠááá¯á¡ááºááŒá±á¬ááºáž ááááŸááá¬ááŒáááºá á€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááẠááŒá¿áá¬áá¯á¶ážáá¯ááᯠáááºáá¶ááŒá±ááŸááºážááẠááá¯á¡ááºáááº- á€áááááá¬á áááºááá·áºá á¬áá¬ážááᯠááŒááºáá±ážáááºááᯠáá¯á¶ážááŒááºáá«á áá±á¬áºáááºáá»ááŒááºážá¡ááœáẠá¡ááºáááá¯áá®áááºáá áºáá¯ááᯠááœá±ážáá»ááºáá«á áá¯ááºáá±ážáá«á á€áá¬áááºááẠáááºážáááá¯ááºááá¯ááºáá¯ááºáá±á¬ááºá áá¬ááœá²áá áºáá¯áá«ááŸááááº- áá¯á¶ážááá¯áá áºáá¯ááᯠá áá¬ážáá¯á¶ážáá»á¬ážáá²ááá¯á· ááŸááºáááºá áœá¬ááá·áºáá«á áá»áœááºá¯ááºááá¯á·ááẠá€áá¯ááºáááºážááœá²ááᯠá¡ááá·áºáá¯á¶ážááá·áºááŒáá·áº ááŒá±ááŸááºážááẠ- áááºááœá±á·ááŒááºáááá·áºá¡ááá¯ááºáž áááºážááá¯á·ááᯠá¡ááá·áºáá»á¬ážá áœá¬ááœáẠáááºáá«ááá²áá² áá¯ááºáá±á¬ááºáá«áááºá
áááá¡ááá·áºááᯠá¡áá±ážá áááºá ááºážá á¬ážááŒáá·áºáá¡á±á¬ááº- áááºáááá¯ááááºá áááºááŒá¿áá¬ááᯠááŒá±ááŸááºážáá±ážááá²á á€ááœááºá áá»áœááºá¯ááºááá¯á·ááẠá¡áá»áá¯á·áá±á¬ input ááá¯áá°á output á¡áá»áá¯á·ááá¯áá¯ááºáá±ážááá·áº function áá áºáá¯á¡áá±ááŒáá·áº áááá¯ááááºáá áºáá¯ááᯠá á¶ááá°áá¬ááŒá¯áá±á·ááŸááá«áááºá áááºá¹áá»á¬ááœááºá function áá áºáá¯á¡á¬áž á¡á ááºááá¯ááºá¡ááœá²áá»á¬ážá¡ááŒá Ạáá±á¬áºááŒáááºá á¥ááá¬á¡á¬ážááŒáá·áºá ááá¬áááááºážáá»á¬ážá¡ááœáẠsquaring function ááᯠset {<0,0>, <1,1>, <2,4>, <3,9>, ⊠} á¡ááŒá Ạáá±á¬áºááŒáá«áááºá ááá¯ááá¯á·áá±á¬ áá¯ááºáá±á¬ááºáá»ááºáá áºáá¯á ááá¯ááááºážááẠá¡ááœá²áá áºáá¯á á®á áááááŒááºá ááºáá»á¬ážááŒá áºááŒá®ážá ááá¯ááá¯áááºááŸá¬ ááá¬ááá¶áá«ááºáá»á¬ážááŒá áºáááºá áá¯ááºáá±á¬ááºáá»ááºáá áºáá¯ááᯠáááºááŸááºáááºá áááºážá áááºáááºááŸáá·áº áá±á¬áºááŒá°áá¬ááᯠáááºááŸááºááẠááá¯á¡ááºáááºá
ááá¯á·áá±á¬áº áááºá¹áá»á¬ááœáẠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááẠáááá¯ááááºážáááºážáá¬áá¬á
áá¬ážáá»á¬ážááœáẠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááŸáá·áº ááá°áá«á áááºá¹áá»á¬á ááá¯ááœááºáááºá ááŸá¯ááºááœá±ážáá±á¬ á¥ááá¬áá»á¬ážá¡ááœáẠáá»áœááºá¯ááºááœáẠá¡áá»áááºáááŸááá±á¬ááŒá±á¬áá·áºá ááá¯ážááŸááºážáá±á¬áá
áºáá¯ááᯠáá¯á¶ážáááºááŒáá·áºááŒáá«á
áá¯á·- C ááœááºááŸááá±á¬ áá¯ááºáá±á¬ááºáá»ááºáá
áºáᯠááá¯á·ááá¯áẠááááºážááŒáá·áºááŸá
áºáá¯á á¡ááŒá®ážáá¯á¶ážáá¯á¶ááá¯ááºážááŒá¬ážááŸá¯ááᯠááŒááºáá±ážááá·áº Java ááŸá static method áá
áºáá¯ááŒá
áºáááºá á€áááºážáááºážá áááºááŸááºáá»ááºááœááºá ááœááºáá»ááºááŸá¯áá»á¬ážááᯠáá±ážáá¬ážáá«áááºá GCD(M,N)
áááºááŒá±áá»á¬ážá¡ááœáẠM
О N
áááºááŸá¬ GCD(M,N)
- domain ááẠintegers á¡ááœá²áá»á¬ážááŒá
áºááŒá®ážá return value ááẠá¡ááŒá®ážáá¯á¶áž integer ááŒáá·áº ááœá²ááá¯ááºáá±á¬ function áá
áºáá¯ááŒá
áºáááºá M
О N
. á€áá¯á¶á
á¶ááẠáááºááœá±á·ááŸáá·áº áááºááá¯á·áááºá
ááºááááºážá áá±á¬áºáááºááẠC ááá¯á·ááá¯áẠJava ááœáẠáá»áœááºá¯ááºááá¯á·ááœáẠ32-bit ááŸáááŒá®áž ááááºážááŒáá·áºáá»á¬ážáá±á«áºááœáẠáá¯ááºáá±á¬ááºáááºá int
. á€áá¯á¶á
á¶ááẠáá»áœááºá¯ááºááá¯á·á¡á¬áž algorithm ááŸááºáááºááŸá¯ááŸááááŸá áá¯á¶ážááŒááºááá¯ááºá
á±áá«áááºá GCD
áá«áá±ááá·áº ááŒáá·áºáá»áŸá¶áá±áá²á·á¡ááŸá¬ážááœá±ááᯠáá¬ážáá®ážáá±ážááŸá¬ ááá¯ááºáá«áá°ážá áááºážááẠá¡áá»áááºáááŸáááá·áºá¡ááœáẠááá¯ááá¯ááŸá¯ááºááœá±ážáá±á¬áá¯á¶á
á¶áá
áºáᯠááá¯á¡ááºáááºááŒá
áºáááºá
áá±á¬áºáááºáá áºáá¯á¡áá±áá²á· áá¯ááºáá±á¬ááºáá»ááºáá áºáá¯áá²á· ááá·áºáááºáá»ááºááœá±ááᯠááŒá±á¬ááŒáá¡á±á¬ááºá á¡áá»áá¯á·áá±á¬ áááá¯ááááºáá»á¬áž (áá¯ááºáááºážáááºáááºááŸá¯á áá áºáá»á¬ážáá²á·ááá¯á·) á¡áá»áá¯á·áá±á¬ á¡ááŒá±á¬ááºážááŒáá»ááºáá»á¬ážá¡ááœáẠá¡áá»áá¯á·áá±á¬áááºááá¯ážááᯠááŒááºáá±ážáá¯á¶áá»áŸááá áááºážááá¯á·ááẠá ááºáááºáááŒáẠáá¯ááºáá±á¬ááºááá¯ááºáááºá ááá¯á·á¡ááŒááºá áá±á¬áºáááºáá áºáá¯á¡áá±ááŒáá·áº áá¯ááºáá±á¬ááºáá»ááºááẠáá¯áááá¡ááá·áºá¡ááœáẠáá±á¬ááºážá áœá¬áááá·áºáá±á¬áºáá«- ááŒá¿áá¬ááá¯ááŒá±ááŸááºážáááºážááᯠá á®á ááºáá«á á¡ááŒááºá¡áá»áá¯ážá¡á á¬ážááœá²ááŒááºážááŸáá·áº áá°áá±á¬ááºážá¡áá»áá¯ážá¡á á¬ážááœá²ááŒááºážááá¯á·ááẠáá°áá®áá±á¬áá¯ááºáá±á¬ááºáá»ááºááá¯ááœááºáá»ááºáá±á¬áºáááºáž áááºážááá¯á·ááẠáá¯á¶ážáááœá²ááŒá¬ážááŒá¬ážáá¬ážáá±á¬ á¡ááºáááá¯áá®áááºáá»á¬ážááŒá áºáááºá ááá¯á·ááŒá±á¬áá·áºá áááá¯ááááºááááºážááá¯ááºááá¯áááºááá¯á·á¡á±á¬ááºááŒááºááŒá±á¬ááºážáá±á¬áºááŒáááºá áá»áœááºá¯ááºááẠááá°áá®áá±á¬áá¯á¶á á¶ááá¯á¡áá¯á¶ážááŒá¯áááºá áááºážááᯠá á¶á¡ááŒá¯á¡áá°áá¯á¶á á¶áá¯áá±á«áºááá¯ááŒáá«á áá¯á·á áááºážááœáẠáá«ááŸáááá·áº áááá¯ááááºááᯠááœáá·áºááŒá¯ááá¯ááºáá±á¬ á¡ááŒá¯á¡áá°á¡á¬ážáá¯á¶ážá á¡á á¯áá áºáá¯á¡ááŒá Ạááá¯ááºá á¬ážááŒá¯ááŒá®áž áá áºáá¯á á®ááẠááŒááºáááºáá»á¬ážá á¡á á®á¡á á¥áºáá áºáá¯ááŒá áºááŒá®áž ááŒááºáááºááẠááááºážááŸááºáá»á¬ážá¡ááœáẠáááºááá¯ážáá»á¬ážááᯠáá¬áááºáá±ážá¡ááºáááºá
Euclid algorithm á¡ááœáẠáá¯áááá¡ááá·áºá áááºááá¯áá¯á¶á
á¶áá²ááá¯áᬠááŒáá·áºáá¡á±á¬ááºá ááœááºáá»ááºááá¯á· ááá¯áááºá GCD(M, N)
. áá»áœááºá¯ááºááá¯á· á
áááºáá¯ááºáá±á¬ááºáá«áááºá M
áááºááᯠx
ááŸáá·áº N
áááºááᯠy
ááá¯á·áá±á¬áẠá€ááááºážááŸááºáá»á¬ážá áá±ážáááºáá±á¬ ááááºážááŸááºáá»á¬ážááᯠáá®áá»áŸáááºá¡áá ááŒá®ážáá±á¬á០áááºáá«áááºáá« áá¯ááºáá«á á¥ááá¬ááá¯áá«á
áá¯á· M = 12
ááŸáá·áº N = 18
á¡á±á¬ááºáá«á¡ááŒá¯á¡áá°áá»á¬ážááᯠáá»áœááºá¯ááºááá¯á· áá±á¬áºááŒááá¯ááºáá«áááºá
[x = 12, y = 18] â [x = 12, y = 6] â [x = 6, y = 6]
áá»áŸáẠM = 0
О N = 0
? áá¯áááᯠááááºážá¡á¬ážáá¯á¶ážááŒáá·áº ááœá²ááá¯ááºáá±á¬ááŒá±á¬áá·áº á€ááá
á¹á
ááœáẠá¡ááŒá®ážááŒááºáá¯á¶áž ááá¯ááºážááŒá¬ážááŒááºážáááŸááá«á á€á¡ááŒá±á¡áá±ááœááºá áá»áœááºá¯ááºááá¯á·ááẠáááá¡ááá·áºááá¯á· ááŒááºááœá¬ážááŒá®áž áá±ážááẠááá¯á¡ááºáááº- á¡ááŒá¯ááá±á¬ááá¯ááºáá±á¬ áá¶áá«ááºáá»á¬ážá¡ááœáẠGCD ááᯠá¡ááŸááºáááẠááœááºáá»ááºááẠááá¯á¡ááºáá«ááá¬ážá áááºážáááºáááá¯á¡ááºáá«áá áááºáááºáááºááŸááºáá»ááºááá¯ááŒá±á¬ááºážáá²áááºáá¬ááá¯á¡ááºáááºá
á€áá±áá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááẠáá¯ááºáá¯ááºá áœááºážá¡á¬ážááŸáá·áº áááºáááºá á¡áááºážááẠááá±á¬áá¬ážááœá²ááœá²ááá·áºáá«áááºá áááºážááᯠáá áºáá±á·áá»áŸáẠáá±ážáá¬ážáá±á¬ áá¯ááºááá¯ááºážá¡áá±á¡ááœááºááŒáá·áº ááá¯ááºážáá¬áá±á·ááŸááááºá áá«áá±ááá·áº ááá·áºááŸá¬ bug ááœá±á¡ááœáẠáá±áá¬áááºážáá¬ááŒá±á¬áá·áº ááá¯ááºážáá¶áá«ááºááœá±ááᯠáááºááŸá¬ážááẠááá·áºá¡áá¯ááºá ááá¯á¡áá¯á¶ážáááºáá«áááºá Code ááá¯áááºááŸá¬ážáááºá¡ááœááºáá°áá¯á¶ážáááºážáááºážááŸá¬áááá¡ááá·áºááœááºááŒá áºáááºá áááºá¡áá±á¬ááºá¡áááºáá±á¬áºááẠááŒáá¯ážá á¬ážáá±ááá·áº áá±á«ááºážáá±á¬ááºážáá»á¬ážááŸáá·áº áá±áá»áœááºáá¶áá»á¬áž á¡á¬ážáá¯á¶ážááᯠáááá¯á¡ááºáá² ááŒá áºááá¯ááºáááºá áááá¯ááááºáá áºáá¯ááᯠááá¯ážááŸááºážááœááºáá°á á±ááŒá®áž á¡áá»áááºáá¯ááºáááºáá¬á á±ááẠá¡ááŒááºáá¯á¶ážáááºážáááºážááŸá¬ ááá¯ááºááá·áºáá±á¬á¡áá¬áá»á¬ážááᯠááá¯ááºáááºááŒá áºáááºá áá¯áááá¡ááá·áºááẠáá¯áááá¡áá»áááºáá»áœá±áá¬ááá¯ááºááŒá±á¡áá»á¬ážáá¯á¶ážááŒá áºáááºá áá±ážáá¬ážáá±á¬á á¬ááŒá±á¬ááºážáá»á¬ážááŒáá·áº áá¯ááºáá¯ááºá áœááºážá¡á¬ážááᯠááá¯ááºážáá¬áá«áá á¡áá¯ááºáá áºáá¯ááᯠááŒá®ážááŒá±á¬ááºá¡á±á¬áẠáááºááá¯á·áá¯ááºáá±á¬ááºááááºááᯠááœá±ážáá±á¬áá±áááºááŒá áºáááºá áá¯ááºáá¯ááºááŸá¯áááºážáááºááá¯ááºáááºážáá±á¬ ááŒá¿áá¬ááᯠáááºááŒá±ááŸááºážááá¯ááºáá±á¬ááŒá±á¬áá·áºááŒá áºáááºá á€áá±áá¬ááœáẠáá»áœááºá¯ááºááẠááááºážááááºážá¡ááá¡áá»ááᯠá¡ááá¡áá» áááŒá±á¬ááá¯ááºáá«á á¡ááŒá±á¬ááºážááŸá¬ áá»áœááºá¯ááºááẠáááá¡ááá·áºááŸáá·áº áá¯áááá¡ááá·áºáá»á¬ážááœáẠá¡áá»áááºááŒá¯ááºážáá²á·áá±á¬ááŒá±á¬áá·áº áá»áœááºá¯ááºááá±ážáá¬ážáá±á¬ á á¬ááŒá±á¬ááºážá¡áá±á¡ááœááºááᯠáá±ááœááºááẠáááºážáááºážáááŸááá«á á ááºážáááºááŸá¯á¡á¬áž á€áá±áá¬ááœáẠáááºááŸááºá ááááá¯ááºáá«á á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº á ááºážáááºááŸá¯ááœáẠáá»áœááºá¯ááºááá¯á·ááẠáááá¡ááá·áºááᯠááŒá®ážááŒá±á¬ááºááẠá¡ááœáá·áºá¡áá±ážáááŸááá±á¬ááŒá±á¬áá·áºá á¡áá¯ááºá¡á¬áž ááŒáá¯áááºáááºááŸááºáá¬ážáááºá
á¡ááœááºááá±á¬ áááºááŸááºáá»ááºáá»á¬ážááœáẠá¡áááºá¡áá²áá»á¬ážá áœá¬ááᯠáá±á·áá¬ážááẠááœááºáá°áááºá áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá¡ááœáẠáááºážáá»ááºáá±á¬ áááºááŸááºáá»ááºáá»á¬ážááᯠáá±ážáá¬ážáá¬ááœáẠá¡áááºá¡áá²áááŸááá«á áá»áœááºá¯áẠá€á¡áá¬ááᯠááœá±ážááœá±ážáááºááá¯ááºáá«á áááºážá¡á á¬ážá á á¶á¡ááŒá¯á¡áá°áá»á¬ážá¡ááœáẠááá¯ááºáá¬áá±á¬ áááºááŸááºáá»ááºáá»á¬áž áá±ážáá¬ážááŒááºážá¡ááŒá±á¬ááºáž ááœá±ážááœá±ážáá«áááºá áá¯á¶ááŒá¯á¶áá±ážááá¯ááºááá¯ááºááŸá¯ááᯠá¡áá¯á¶ážááŒá¯á áááºááá·áºá¡ááŒá¯á¡áá°á¡á á¯á¡áá±ážááá¯áááᯠáá±á¬áºááŒááá¯ááºááŒá±á¬ááºáž áá®á¡áá¯áá®áá áºáá¯ááŸááááºá (áá±ážáááºážáá±áž) ááŸááºáááºááá¯ááºááŸá¯áá¯ááºááá¹áááá»á¬áž (á¡áááºááŸááºááŒááºáž). áá¯á¶ááŒá¯á¶áá±ážááá¯ááá¯áááºááŸá¬ áááºááá·áºá¡áá¬áá»áŸ ááá¯ážááœá¬ážáááºááá¯ááºáá«á áááá¯ááááºááẠááŸá¬ážááœááºážáá±á¬á¡ááŒá±ááᯠáá±ážáááºááá¯ááºáá«á Survivability ááá¯áááºááŸá¬ áááŒá¬áá® ááá¯á·ááá¯áẠáá±á¬ááºááá¯ááºážááœáẠáá±á¬ááºážááœááºáá±á¬á¡áá¬áá áºáá¯áᯠááŒá áºáá±á«áºáá¬áááºá ááá¯ááá¯áááºááŸá¬ áááá¯ááááºááẠáááŒá¬áá® ááá¯á·ááá¯áẠáá±á¬ááºááá¯ááºážááœáẠá¡ááŒá±ááŸááºááᯠáá±ážáá«áááá·áºáááºá á ááºážáááºážá¡áá áá¯á¶ááŒá¯á¶áá±ážááẠááá¯áá¡áá±ážááŒá®ážáá±á¬ ááœáŸááºááŒáá»ááºááŒá áºááŒá®ážá á¡ááŸá¬ážá¡ááœááºážáá»á¬áž á¡áá»á¬ážáá¯á¶ážááŒá áºááœá¬ážáááºáááºá ááá¯á·ááŒá±á¬áá·áºá á¡áá»áááºáá¯ááºáááºáá¬áááºá ááŸááºáááºááá¯ááºááŸá¯á¡ááŒá±á¬ááºáž áá«ááŒá±á¬áááºááá¯ááºáá±á¬áºáááºážá áá«áááºážá¡áá±ážááŒá®ážáá«áááºá
áá»áœááºá¯ááºááá¯á·ááẠááááŠážá
áœá¬ ááŒá
áºááá¯ááºáá»á±ááŸááá±á¬ áááŠážá¡ááŒá±á¡áá±áá»á¬ážááᯠáááºááŸááºáá±ážááŒááºážááŒáá·áº áá»áœááºá¯ááºááá¯á·ááẠáá¯á¶ááŒá¯á¶áá±ážááᯠáááŸááá«áááºá áá¯áááá ááŒááºáááºáá
áºáá¯á
á®á¡ááœáẠááŒá
áºááá¯ááºááŒá±ááŸááá±á¬ áá±á¬ááºáááºááŒááºáááºá¡á¬ážáá¯á¶ážááŸáá·áº áááºáá¶áá±ážá áááá¹áá¶ááá¬ááŸááºáá»á¬ážáá²á·ááá¯á· ááŒá¯áá°ááŒá®áž ááŒááºáááºáá»á¬ážááᯠáááºá¹áá»á¬áááºážááŒáá·áº áááºááŸááºááŒáá«á
áá¯á·á á¥ááá¬á¡á¬ážááŒáá·áºá Euclid algorithm áááá
á¹á
ááœááºá áááŠážááŒááºáááºáá»á¬ážá¡á
á¯á¡áá±ážááᯠáá±á¬áºááŒá°áá¬áá
áºáá¯ááŒáá·áº áá±á¬áºááŒáááº- (x = M) ⧠(y = N)
. á¡áá»áá¯á·áá±á¬áááºááá¯ážáá»á¬ážá¡ááœáẠM
О N
áááŠážá¡ááŒá±á¡áá±áá
áºáá¯áá²ááŸááá«áááºá áá±á¬ááºááŒááºáááºááŸáá·áº áááºááœáŸááºááŸá¯ááᯠáá±á¬ááºááŒááºáááºá variable áá»á¬ážááᯠprime ááŒáá·áºáá±ážáá¬ážááá·áºáá±á¬áºááŒá°áá¬ááŒáá·áºáá±á¬áºááŒááŒá®áž áááºááŸáá¡ááŒá±á¡áá±á variable áá»á¬ážááᯠprime ááá«áá²áá±ážáá«áááºá Euclid á á¡ááºáááá¯áá®áááºááá
á¹á
ááœááºá áá±á¬áºááŒá°áá¬ááŸá
áºáá¯á ááœá²ááœá²ááŸá¯ááᯠááá¯ááºááœááºááŒá±ááŸááºážáááºá x
áááºááá¯ážá¡ááŒá®ážáá¯á¶ážááŒá
áºááŒá®áž áá¯áááá y
:
áááá¡ááŒá±á¡áá±ááœáẠy ááááºááá¯ážá¡áá áºááẠy áááááºáááºááá¯ážááŸáá·áºáá®áá»áŸááŒá®áž áá±ážáááºáá±á¬ááááºážááŸááºá¡á¬áž á¡ááŒá®ážááŒá®ážááŸáá¯ááºááŒááºážááŒáá·áº x ááááºááá¯ážá¡áá áºááá¯áááŸááááºá áá¯áááááá á¹á ááœááºá áá»áœááºá¯ááºááá¯á·ááẠááá·áºáá»ááºáááºááŒá¯áááºá
Euclid á algorithm ááá¯á· ááŒááºááœá¬ážááŒáá«á
áá¯á·á á¡á²áá«ááᯠáááºááŒá®áž áá°áááŒáá·áºáá¡á±á¬áẠM = 12
, N = 18
. áá«á áááŠážá¡ááŒá±á¡áá±áá
áºáá¯ááá¯á· áááºááŸááºáá«áááºá (x = 12) ⧠(y = 18)
. ááá¯á·áá±á¬áẠá¡ááá¯áá«áááºááá¯ážáá»á¬ážááᯠá¡áááºáá±á¬áºááŒá°áá¬ááœáẠááá·áºááœááºážááŒá®áž ááá°ááá¯ááºáá«-
á€áááºááŸá¬ ááŒá
áºááá¯ááºáá»á±ááŸááá±á¬ áá
áºáá¯áááºážáá±á¬ ááŒá±ááŸááºážáá»ááºááŒá
áºáááºá x' = 18 - 12 ⧠y' = 12
ááŒá®ážáá±á¬á· á¡áá°á¡áá»áá·áºááᯠááááºá [x = 12, y = 18]
. á¡áá¬ážáá°áááºá áá»áœááºá¯ááºááá¯á·áá¡ááŒá¯á¡áá°ááŸá ááŒááºáááºá¡á¬ážáá¯á¶ážááᯠáá±á¬áºááŒááá¯ááºáááº- [x = 12, y = 18] â [x = 12, y = 6] â [x = 6, y = 6]
.
áá±á¬ááºáá¯á¶ážá¡ááŒá±á¡áá±ááŸá¬ [x = 6, y = 6]
á
áá¬ážáááºá á¡á
áááºá¡ááá¯ááºáž ááŸá
áºáá¯á
áá¯á¶ážááẠááŸá¬ážááœááºážáá±ááẠááŒá
áºáá±á¬ááŒá±á¬áá·áº áááºážááœáẠáá±á¬ááºááŒááºááẠáááŸááá«á ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááœáẠáá¯áááá¡ááá·áºá ááŒá®ážááŒáá·áºá
á¯á¶áá±á¬ áááºááŸááºáá»ááºáá
áºáá¯ááŸáááẠ- áááºááœá±á·ááŒááºáááá·áºá¡ááá¯ááºážá á€á¡áá¬ááẠá¡ááºáá»ááºáá®áá¬áá»á¬ážááŸáá·áº áááá¹áá¶ááá¬ááŸááºáá»á¬ážáá²á·ááá¯á·ááẠáá¬áááºáááºá¹áá»á¬ááŒá
áºááŒá®ážá ááœááºáá»á°áá¬áááá¹áá¶áá²á·ááá¯á·ááẠááá°ážáááºážáá«á
á€áá±á¬áºááŒá°áá¬ááŸá áºáá¯ááᯠáá¬áá®áá¯áá¹áááá±ááá±á¬áºááŒá°áá¬áá áºáá¯á¡ááŒá Ạáá±á«ááºážá ááºááá¯ááºáááºá áá°áááẠááŒá±ááŒá áºááŒá®áž ááŸááºážááŒáááœááºáá°áá±á¬áºáááºáž ááá¯á¡áá»áááºááœáẠáá°áá¡ááœáẠá¡áá»áááºáááŸááá±á áá»áœááºá¯ááºááá¯á·ááẠáááºááŸááááºááŸá¬ážááŸáááŸá¯ ááá¯ááºááá¯ááºááŸá¯á¡ááœááºáᬠáá¬áá®áá¯áá¹ááááŸáááẠááá¯á¡ááºááá¯ááºáááºá áááºážááẠáá¯á¶ááŒá¯á¶áá±ážá¡ááœáẠáááá¯á¡ááºáá«á áá¬áá®áá¯áá¹ááááᯠáááŒáá¯ááºáá°ážá ááá¯ážááá¯ážáááºá¹áá»á¬áá±á¬á· ááá¯ááºáá°ážá áá«áá±ááá·áº áááºáááºááŸá¯ááºááŸá¬ážááá¯á·áá±á¬á· áááŸááááŒá áºááá¯á¡ááºáá²á· ááá±á¬ááºážááá¯ážáá«ážáá«áá²á
Euclid á algorithm ááœááºá áááºááá¯ážáá
áºáá¯á
á®á¡ááœáẠx
О y
áá°ážááŒá¬ážáá±á¬áááºááá¯ážáá»á¬ážááŸááááºá x'
О y'
áá±á¬ááºááŒááºáááºáá²á· áááºááœáŸááºááŸá¯ááᯠá¡ááŸááºááŒá
áºá
á±áááºá áá
áºáááºážááá¯ááá±á¬áº Euclid á algorithm ááẠá¡áá¯á¶ážá¡ááŒááºááŒá
áºáááºá áááºááŸááºáá¬ážáá±á¬ááá¯ááºáá±á¬ á¡ááºáááá¯áá®áááºáá
áºáá¯ááᯠá
á¶ááá°áá¬ááŒá¯áááºá¡ááœáẠáááºááŸáá¡ááŒá±á¡áá±ááœáẠááŒá
áºááá¯ááºááŒá±ááŸááá±á¬ á¡áá¬áááºááŒááºáááºáá»á¬ážá
áœá¬ááŸáááẠááá¯á¡ááºááŒá®áž áá±á¬ááºá¡ááŒá±á¡áá±áá
áºáá¯ááŸáá·áº áááºááœáŸááºááŸá¯ááẠá¡ááŸááºááŒá
áºááŒá±á¬ááºáž ááááºááŸááºáá¬ážáá±á¬ ááááºážááŸááºáááºááá¯ážáá
áºáá¯á
á®ááœáẠááááºážááŸááºáááºááá¯ážáá»á¬áž á¡áá»á¬ážá¡ááŒá¬ážáá«ááŸááááºá áá«áá¯ááºááᬠááœááºáá±ááá·áº á¡áá¯ááá°áá¬áá±á¬á· áááŒá±á¬áá±á¬á·áá«áá°ážá
á¡áá¯ááºáá¯ááºááá·áºáááááá¬áá
áºáá¯ááŒá¯áá¯ááºáááºá áááºááẠááá¬ážáááºáááºá¹áá»á¬ááá¯á¡ááºáááºá áááºááŸááºáá»ááºááᯠááá¬ážáááºááŒá
áºá¡á±á¬áẠáááºááᯠáá¯ááºááá²á áá®ááá¯áá¯ááºááá¯á·á á¥ááá¬á ááá¬ážáááºáá¬áá¬á
áá¬ážááá¯áááºá
ááŒááá¶áá áºáá¯áá«áá±á¬ áá°áá®áá±á¬áááºá¹áá±ááááºá¹áá±áááá¯áááºááŸá¬ áááºá¹áá±áááááºáááºááŸááááºááá¯ážááᯠáááºá¹áá±áááá¬áááºááŸááááºááá¯ážááŸáá·áºáá®áááºáá¯áááºááŸááºáááºá á¡ááŸá áºáá¬áá¡á¬ážááŒáá·áºá áááºááŸááºáá»ááºááẠáá»áœááºá¯ááºááá¯á·áááá á¹á ááœáẠá¡áááá¹áá«ááºááŸá áºáá»áá¯ážááŒá áºáááºá TLA+ ááŸá áááºááŸááºáá»ááºá¡ááœááºá áááºááẠá¡áááºáá±á¬áºááŒáá« slide ááœááºáá²á·ááá¯á· ááŒá±ááŒá¬áá»ááºáá»á¬ážááŸáá·áº syntax á¡áá»áá¯á·ááᯠáá±á«ááºážááá·áºááẠááá¯á¡ááºáá«áááºá ASCII ááœááºáááºážáááºá€áá²á·ááá¯á·ááŒá áºáááá·áºáááºá
áááºážááŒááºáá²á·á¡ááá¯ááºáž áá¬á០áááŸá¯ááºááœá±ážáá°ážá TLA+ á¡ááœáẠáááºááŸááºáá»ááºááᯠá
ááºážáááºááá¯ááºáááºá ááá¯ááá¯áááºááŸá¬ áá±á¬áºáááºáááºáá
áºáá¯ááœáẠááŒá
áºááá¯ááºááá·áº á¡ááŒá¯á¡áá°á¡á¬ážáá¯á¶ážááᯠáá»á±á¬áºááŒááºááá¯ááºáááºá áá»áœááºá¯ááºááá¯á·áá¡ááŒá±á¡áá±ááœááºá á€áá¯á¶á
á¶ááẠá¡áá»áá¯á·áá±á¬áááºááá¯ážáá»á¬ážááŒá
áºáááá·áºáááºá M
О N
. á€áááºááŸá¬ áá¯á¶ážáá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááá¯ááºáá±á¬ á¡ááœááºáááá±á¬ááºááŒá®áž ááá¯ážááŸááºážáá±á¬ á¡áááºááŒá¯áááºážáááºážááŒá
áºáááºá ááá¬ážáááºá¡ááŸááºááá¬áž á¡áá±á¬ááºá¡áá¬ážáá»á¬ážááᯠáá±ážááŒá®áž á
ááºááá¯ááºážááá¯ááºáᬠá
á
áºáá±ážáááºáááºáž ááŒá
áºááá¯ááºáá±á¬áºáááºážá á¡áá»áááºá¡áá»á¬ážááŒá®ážáá°ááá±á¬ááŒá±á¬áá·áº áááºáá°áá»áŸ ááá¯ááºááá·áºáá±á
TLA+ á á¡áááá¡á¬ážáááºážáá»ááºááŸá¬ áááºá¹áá»á¬ááŒá
áºááŒá®áž áááá¯ááááºáá¬áá»á¬ážááŸáá·áº ááœááºáá»á°áá¬áááá¹áá¶ááá¬ááŸááºáá»á¬ážááẠáááºá¹áá»á¬ááᯠááŒá±á¬ááºááŒáááºá ááááá
áºáá»ááºááŸá¬á áá«ááá¬áááá¯á·áááºááá±ááá·áº áá¶ááá±á¬ááºážá
áœá¬áá²á á¡á²áá«ááᯠá¡áá±ážá¡áááºáá¬ážááŒá®áž ááŒá±á¬áá¬áá«á áá»áœááºá¯ááºááá¯ááºáá±á¬áºááá¯ááºáááºááẠáá±á¬á·ááºáá²áá±ážáá¬ážáá°á¡áá»á¬ážá¡ááŒá¬ážá¡á¬áž TLA+ ááᯠááŸááºážááŒááẠááŒáá¯ážá
á¬ážáá¯á¶ááᯠááŒá±á¬ááŒáá±áá«áááºá áá±á¬áºááŒá°áá¬áá»á¬áž áááºáá¬ážááŒááºáá±á«áºááœáẠáá±á«áºáá¬áááºááŸáá·áº áááŒáá¯ááºááẠáááºážááá¯á·ááẠáá»ááºáá»ááºážááẠáá»ááºááŸááºáá»á¬áž ááŒá
áºáá¬ááŒáááºá áá«ááŒá±á¬áá·áº TLA+ á ááá·áºááᯠááŒá±á¬ááºáá±áááºááá¯ááẠáááºáá¯á¶ážááá¯ááºáá«áááºá
TLA + ááŸáá·áº PlusCal ááá¯á·ááẠáááºá¹áá»á¬ááŒá áºááŒá±á¬ááºáž áá áºá á¯á¶áá áºáŠážá០ááá·áºááœááºáááá·áºáááºááŒá áºááŒá®áž áááºá¹áá»á¬ááẠáá®ááœááºáá¬ážáá±á¬ á¥ááá¬áá»á¬ážááŒáá·áºáᬠá¡áá¯ááºáá¯ááºáá«áááºá áááºááœá±á·ááœáẠáááºááẠá¡áá»áá¯ážá¡á á¬ážáá»á¬ážá áá¯ááºáá¯á¶ážáá¯ááºáááºážáá»á¬ážá á¡áá¬ááá¹áá¯áá»á¬ážááŸáá·áº á¡ááŒá¬ážá¡áá¬áá»á¬ážáá«ááŸááá±á¬ áááá·áºáá¬áá¬á áá¬ážáá áºáᯠááá¯á¡ááºáá«áááºá áá«áááŸá¬ážáááºá Amazon ááŸá¬ á¡áá¯ááºáá¯ááºáá²á·áá²á· Chris Newcomb á áá®ááá¯áá±ážáá²á·áá¬áá« á "áá»áœááºá¯ááºááá¯á·ááẠTLA+ ááᯠá¡ááá ááá±á¬áá»ááºáááºáá¯ááœáẠá¡áá¯á¶ážááŒá¯áá²á·ááŒá®ážá ááá á¹á áááºáá áºáá¯á á®ááœáẠáááºážááẠáá¯ááºáá¯ááºáá±ážáá áááºáá®ááœáẠá¡áá¹ááá¬ááºááŸááá±á¬ áá»áá¯á·ááœááºážáá»ááºáá»á¬ážááᯠáááºážááááá¯ááºáá±á¬ááŒá±á¬áá·áº ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á¡ááœáẠáááá¬áááºááŸá¬ážáá±á¬ ááŒá¬ážáá¬ážáá»ááºáá áºáááºááᯠáááºáá®ážáá±ážáá²á·ááŒá®ážá áááºážááẠáá»áœááºá¯ááºááá¯á·á¡á¬áž ááŒááºážáááºáá±á¬á áœááºážáá±á¬ááºáááºááᯠáá¯ááºáá±á¬ááºááẠááá¯á¡ááºáá±á¬ ááá¯ážááœááºážááááŒááºááŸá¯ááŸáá·áº áá¯á¶ááŒááºááŸá¯ááá¯á·ááᯠáá±ážáá±á¬ááŒá±á¬áá·áºá áááá¯ááááºá á¡ááŸááºááá¬ážááᯠáááááá¯ááºá á±áá² ááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºááŒá¯áá¯ááºááŒááºáž". ááá¬ážáááºáááºážáááºážáá»á¬ážááá¯á¡áá¯á¶ážááŒá¯áá±á¬á¡áá«á áá»áœááºá¯ááºááá¯á·ááẠáááá±á¬ááºááŸá¯áááŸááá±á¬áá¯ááºááá¯áááŸáááẠ- áááºááœá±á·ááœáẠá¡áá¬á¡á¬ážáá¯á¶ážááẠááá·áºáá»ááºáááºááŒá áºáááºááᯠáááŒá¬ááááŒá¬ážááá¯ááºáááºá ááá¯á·á¡ááŒááºá áááá¯ááááºáá¬áá»á¬ážááẠáááºážááá¯á·áá¡áá¯á¶ážáááºááŸá¯ááᯠáá¯á¶áá»áŸááºááẠáááºáá±áá»á¬áá»á¬ážááẠááá¬ážáááºáááºážáááºážáá»á¬áž ááá¯á¡ááºááŒá±á¬ááºáž á áááºáá»áá¯á¶ááŒááºááá¯ááºáááºááá¯ááºáᯠáááºááŒááºáá»ááºáá áºáá¯ááŸááááºá Newcomb ááá±ážáá¬ážáá²á·ááẠ"áááºáá±áá»á¬áá»á¬ážááẠááᯠTLA + á¡ááœáẠáááºááŸááºáá»ááºáá»á¬ážááᯠáá±ážááẠááŒááºážááŒááºážáááºááẠááœááºážá¡á¬ážáá±ážáá±ááŒá®áž áááºážá¡ááœáẠá¡áá»áááºááᯠá¡áá°ážááœá²áá±áá±ážáááº". ááá¯á·ááŒá±á¬áá·áº TLA+ ááẠá¡áá¯ááºáá¯ááºáá±ááŒá±á¬ááºáž áááºáá±áá»á¬áá»á¬ážá ááŒááºáá±á¬á¡áá« áááºážááá¯á·á áááºážááᯠáááºáá¶ááẠáá»á±áááºááŒáááºá Chris Newcomb ááẠááœááºáá²á·áá±á¬ ááŒá±á¬ááºáááá·áºá (á¡á±á¬ááºááá¯áᬠ2014) á áá±ážáá¬ážáá²á·áááºá ááá¯á·áá±á¬áº ááᯠáá»áœááºáá±á¬áºááááá±á¬áẠTLA+ ááᯠááá±á¬áá»áẠ14 áá¯ááœáẠááá¯ááºáá² 10 ááœáẠá¡áá¯á¶ážááŒá¯áá«áááºá á¡ááŒá¬áž á¥ááá¬áá áºáá¯ááẠXBox 360 á áá®ááá¯ááºážááŸáá·áº áááºááá¯ááºáááºá á¡áá¯ááºáááºáá áºáŠážááẠCharles Thacker ááá¯á· áá±á¬ááºáá¬ááŒá®ážá Memory system á¡ááœáẠspecification ááœá± áá±ážáá¬ážáááºá á€áááºááŸááºáá»ááºááŒá±á¬áá·áº ááááááŒá¯áááá²ááŒá áºááá·áº áá»áá¯á·ááœááºážáá»ááºáá áºáá¯ááœá±á·ááŸááá²á·áááŒá®áž XBox 360 ááá¯ááºážááẠáá±ážáá¬áá®ááŒá¬á¡áá¯á¶ážááŒá¯ááŒá®ážáá±á¬áẠáá»ááºá á®ážááœá¬ážáááºáá±á¬ááŒá±á¬áá·áºááŒá áºáááºá IBM á¡ááºáá»ááºáá®áá¬áá»á¬ážááẠáááºážááá¯á·á á ááºážáááºááŸá¯áá»á¬ážááœáẠဠbug ááᯠááœá±á·ááŸááááºááá¯ááºááŒá±á¬ááºáž á¡áááºááŒá¯áá²á·áááºá
á¡ááºáá¬áááºáá±á«áºááœáẠTLA+ á¡ááŒá±á¬ááºáž ááá¯ááá¯áááºááŸá¯ááá¯ááºáá±á¬áºáááºáž ááá¯á¡áá« á¡ááœááºááá±á¬ áááºááŸááºáá»ááºáá»á¬ážá¡ááŒá±á¬ááºáž ááœá±ážááœá±ážááŒáá«á áá¯á·á á¡áá²áá¯á¶áž áá¯á¶ááááºážááœá²ááᯠááœááºáá»ááºáá²á· áááá¯ááááºááœá± áá±ážááá¯á· ááŸá¬ážáá«áááºá TLA+ á¡ááœáẠáá»áœááºáá±á¬áºáá±ážáá²á·áá²á· ááŸááá²á· ááááºáá¬áá°ážááºááá¯áá»áá¯áž áááá¯ááááºááœá±ááᯠáááŒá¬áá áá±ážáá«áááºá á¡ááá¯ážááŸááºážáá¯á¶ážáá¯ááºáá±á¬ááºááŒá®ážáá±á¬ááºá TLA + áá¯ááºááẠá€áá²á·ááá¯á·ááŒá áºáá±áááá·áºáááº-
ááá¯á·áá±á¬áº á¡áááºáá±á¬áºááŒáá« á¥ááá¬ááœááºá á¡áá¯á¶ážááŒá¯áá°ááẠáááºá ááºááŸá¯ááŸáá·áº áá°áá®áá±á¬ ááá¹ááá¬áá»á¬ážááᯠáá»áááºááŸáááẠááá¯áá¬ážáááºá ááá¯á·ááŒá±á¬áá·áº ááŸááºáááºáá±á¬ áá±á¬áºáááºáá¯á¶á á¶ááẠá€áá²á·ááá¯á· ááá¯ááá¯ááŒááºááááá·áºáááº-
áá±á¬ááºá¥ááá¬á ááºážá á¬ážááŒááºá·áá«:
á€ááœááºá ááá·áºáá»ááºáááºá¡áá±ááŸáá·áºá á¡áááºážá¡ááŒá áºááŸá áá®áá»áŸááŒááºážá áááºááá¯ážááŒááºážááŸáá·áº ááŒáŸá±á¬ááºááŒááºážá áá»áááºááŸáááŸá¯ááẠáá»áááºážááŒá áºáááºá ááá¯á·ááŒá±á¬áá·áº á¡ááá¯ážááŸááºážáá¯á¶ážáá¯ááºáá±á¬ááºááŒááºážááẠáá¯á¶áá±á¬ááºáá«áááºá áá±áá¯áá»á¡á¬ážááŒáá·áºá ááŸááºáááºáá±á¬ áá±á¬áºáááºáá»ááŒááºážá áááºá¹áá»á¬ááá¯ááºáᬠáááá»áá±á¬ á¡áááá¹áá«ááºááœáá·áºááá¯áá»áẠáááŸááá«á á€ááá á¹á ááœáẠ"ááŸááºáááºáá±á¬" ááá¯áááºááŸá¬ "á¡áá¯á¶ážááŒá¯áá° ááá¯áá»ááºáá±á¬á¡áá¬" ááŒá áºááŒá®áž áááºážááᯠáááºá¹áá»á¬áááºážááŒáá·áº áá¯á¶ážááŒááºááááá«á
á¡ááŸááºááá¬ážáá²á· á¡áááá¹áá«ááºááœáá·áºááá¯áá»ááºáááŸáááẠáááºááŸááºáá»ááºá á¡áá¯á¶ážááááºáá°ážááá¯á· áááºááá«áááºá áá«áá±ááá·áº ááá¯ááºáá°ážá áááá¯ááááºáá
áºáᯠáá¬áá¯ááºááááºááᯠáá»áœááºá¯ááºááá¯á·ááááá±á¬ááŒá±á¬áá·áº áááºážááẠáááºááá¯á·áá¯ááºáá±á¬ááºááááºááᯠááœá±ážáá±á¬áááºáááá¯á¡ááºáᯠáááá¯ááá¯áá«á ááá·áºáá»ááºáááºá¡áá±ááŸáá·áº áá»áœááºá¯ááºááá¯á·ááẠáááºážááᯠááá¯ááááºá¡á¬ážáá¯ááºááá±áááºá á€áá±áá¬ááœáẠáááºááŸááºáá»ááºááẠá¡áá°ážá¡áá±ážááŒá®ážáá«áááºá ááœá²á·á
ááºážáááºáá±á¬ááºáá¯á¶áá¯á¶ááŸáááºááŒááºážá¡ááœáẠá¡áá±á¬ááºážáá¯á¶ážáááá¯ááááºááᯠáá¯á¶ážááŒááºááẠáááŒá
áºááá¯ááºáá±á¬áºáááºáž áááºážááᯠáá»áœááºá¯ááºááá¯á· áá¯á¶ážá ááá°ááá·áºáᯠáááá¯ááá¯áá²á á¡ááá
áááºáá
áºáá¯á¡áá±ááŒáá·áº áá¯ááºáá±ážááŒááºážááẠáá±á¬ááºážááœááºáá±á¬á¡áá¬ááá¯ááºáá«á á¡áá¯á¶ážááŸá¬áá±á¬á· á
ááºážáááºážááŒá±á¬ááºáá»ááºááᯠá¡áááá¹áá«ááºááœáá·áºááá¯áá»ááºáá
áºáᯠáá±ážáá²á·áááºá ááŸááºáá»ááºáá»á¬ážáá¯á¶á
á¶ááŒáá·áº java ááá¯ááºáá
áºáá¯ááœááºá á€áááºááŸá¬ á
ááºážáá»ááºážáá»á¬ážáá²á០á¥ááá¬áá
áºáá¯ááŒá
áºáááºá a left-comment token is LeftComment aligned with its covering token
. á€á
ááºážáá»ááºážááᯠáááºá¹áá»á¬ á¡ááºá¹áááááºáá¬áá¬ááŒáá·áº áá±ážáá¬ážáááº- LeftComment aligned
, left-comment
О covering token
- á¡áááá¹áá«ááºááœáá·áºááá¯áá»ááºáá»á¬ážá á€áááºááŸá¬ áááºá¹áá»á¬ááá¬ááŸááºáá»á¬ážá áááºá¹áá»á¬ááᯠáá±á¬áºááŒáá¯á¶ááŒá
áºáááº- áá±á«áá¬ááá»á¬ážá á¡áááá¹áá«ááºááœáá·áºááá¯áá»ááºáá»á¬ážááᯠáá±ážáá¬ážááŒááŒá®áž áááºážááá¯á·ááᯠá¡ááŒá±áá¶á á
ááºážáá»ááºážáá»á¬áž á ááá¯ááá¯á·áá±á¬áááºááŸááºáá»ááºáá¡áá»áá¯ážáá»á±ážáá°ážááŸá¬ á
ááºážáá»á¥áºážááŒá±á¬ááºáá¯ááẠáá¯ááºááá¯ááºáž 850 ááẠááá¯ááá¯áá¬ážáááºáááºááŸáá·áº á¡ááŸá¬ážááŸá¬ááẠááá¯ááá¯ááœááºáá°áá«áááºá áá®á
ááºážáá»á¥áºážááœá±áá±ážááᬠáááœááºáá°ážááá¯á· ááŒá±á¬ááááºá á¡á²áá«ááœá±ááᯠá¡ááŸá¬ážááŸá¬ááá¯á· á¡áá»áááºáá±á¬áºáá±á¬áºáá°ááááºá á¡áá°ážáááŒáá·áº á€áááºááœááºáá»ááºá¡ááœááºá áá»áœááºá¯ááºááẠáááºááá·áºá
ááºážáá»ááºážááᯠá¡áá¯á¶ážááŒá¯áá²á·ááŒá±á¬ááºáž áá±á¬áºááŒááá·áº áá¯ááºáá
áºáá¯ááᯠáá±ážáá²á·áááºá á¥ááá¬áá»á¬ážá
áœá¬ááŒáá·áº á€á
ááºážáá»ááºážááŒá±á¬ááºáá¯ááᯠáá«á
ááºážáááºáá²á·áá±á¬ááŒá±á¬áá·áºá áá¯ááºááá¯ááºáž 850 ááᯠá¡ááŸá¬ážááŸá¬áááºáááá¯á¡ááºáá² bugs áá»á¬ážááᯠááŸá¬ááœá±ááẠá¡ááœááºááœááºáá°ááœá¬ážáá«áááºá Java ááœáẠá€á¡áá¬á¡ááœáẠáá±á¬ááºážááœááºáá±á¬áááááá¬áá»á¬ážááŸááááºá áá»áœááºáá±á¬áºáᬠáá¯ááºááá¯áá±ážáá²á·áá»áŸáẠá¡áá»áááºááá¯ááŒá¬áááºááŒá
áºááŒá®áž áá±á¬áºáááºáá»ááŒááºážááẠá¡áááºá¡ááœá±ážááá¯áá¶á·áááá·áºáááºá
ááá¬ážáááºáááºááŸááºáá»ááºááᯠáá¬ááŒá±á¬áá·áº á¡áá¯á¶ážááá»ááá¯ááºáá²á·áá¬áá²á ááááºááŸá¬áá±á¬á· ááŸááºáááºáá²á· á á®áááºááŸá¯áᬠáá®áá±áá¬ááŸá¬ ááááºá¡áá±ážáááŒá®ážáá«áá°ážá ááœá²á·á ááºážáááºáá±á¬ááºáá¯á¶áá¯á¶ááŸáááºááŒááºážáá»á¬ážááẠáááºáá°á·ááá¯áá»áŸ áááŸá áºáááºá á±áá ááá¯á·ááŒá±á¬áá·áº áá°ážáá°ážááŒá¬ážááŒá¬ážá¡ááŒá±á¡áá±á¡á¬ážáá¯á¶ážááœáẠáááºážááᯠááŸááºáááºá áœá¬áá¯ááºáá±á¬ááºááẠáááá¯á¡ááºáá«á ááá¯á¡áá±ážááŒá®ážáá¬á áá»áœááºáá±á¬á·áºááŸá¬ áá¯á¶áá±á¬ááºáá²á· áááááá¬ááœá± áááŸáááá¯á·áá«áá²á TLA+ áá±á¬áºáááºá á áºáá±ážááá·áºáááááá¬ááẠá€áá±áá¬ááœáẠá¡áá¯á¶ážááááºáá±á¬ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯ááºááá¯áẠá¥ááá¬áá»á¬ážááᯠáá±ážáá¬ážááááºááŒá áºáá«áááºá
á¡áááºáá±á¬áºááŒáá« Specification ááẠSpecification á¡á¬ážáá¯á¶ážááœáẠáá°áá®áá±á¬ á¡ááºá¹áá«áááºáá»á¬ážááŸááááºá áá¯ááºáááºá¡ááá·áºááŒáá·áºáááºá áááºááá·áºáá¬áá¬á áá¬ážááŒáá·áº á¡áá±á¬ááºá¡áááºáá±á¬áºááá¯ááºáááºá áááºááá·áºáááááᬠááá¯á·ááá¯áẠáááºážáááºážáááᯠáááºážááá¯áá±ážááẠá¡áá¯á¶ážááááºáá«á á€áááºááŸááºáá»ááºááá¯áá±ážááẠááá·áºá¡á¬áž áááá¯ááááºážáááºážáááºáááºážá០áá°áá®áá±ážáááºááá¯ááºáá«á ááá¯á·á¡ááŒáẠáááºááẠTLA+ ááœáẠááœá²á·á ááºážáááºáá±á¬ááºáá¬ážáá±á¬ áááá·áºáááá¯ááááºáá»á¬ážááᯠáá±ážáá¬ážáááºá¡ááœáẠá¡áá°ážáá¬áá¬á áá¬ážáá áºáá¯ááᯠáá±ážáá¬ážáá±ááŒááºážáááŸááá«á á€áááºááŸááºáá»ááºááᯠáááá¯á¡ááºáá²ááŒá áºá á±ááẠáááºááá·áºáááááá¬áá»áŸ áááŸááá«á áá±á¬ááºáá¯á¶ážááœááºá á€áááºááŸááºáá»ááºááẠáá»áœááºá¯ááºááá¯á·ááẠáá¯ááºááᯠáááºááá¯á·áá±ážáááºááᯠá¡ááá¡áá» áááŒá±á¬áá²á áááºážááẠá€áá¯ááºá áá¯ááºáá±á¬ááºáá¯á¶ááá¯áᬠáá±á¬áºááŒáááºá áá¯ááºá¡ááŒá±á¬ááºáž áá ááºážá á¬ážáá® ááŒá¿áá¬ááᯠááœá±ážáá±á¬áá¬ááœáẠáá°áá®áá±ážááẠáááºááŸááºáá»ááºááᯠáá±ážáá«á
áá«áá±ááá·áº áá® Specification á áááŒá¬áž Specifications ááœá±áá²á· ááœá²ááŒá¬ážáá²á· Features ááœá±ááŸááá«áááºá á¡ááŒá¬áž specs áá»á¬ážá 95% ááẠáááááá¬áᬠááá¯ááá¯ááŒá®áž ááá¯ážááŸááºážáááº-
ááá¯á·á¡ááŒáẠá€áááºááŸááºáá»ááºááẠá ááºážáááºážáá»ááºáá áºáá¯ááŒá áºáááºá á ááºážáááºážá¡áá áá«á áá¶á·áá»ááºážáá²á· ááá¹ááá¬áá áºáá¯áá«á á ááºážáá»á¥áºážáá áºáá¯á á¡áá»áá¯ážáááºáá»á¬ážááᯠáá¬ážáááºáááºááŸá¬ á¡ááœááºáááºáá²áá±á¬ááŒá±á¬áá·áº áááºážááá¯á·ááᯠá¡ááŸá¬ážááŸá¬ááẠá¡áá»áááºáá»á¬ážá áœá¬ áá¯ááºáá¯á¶ážáá²á·ááááºá ááá¯á·áá±á¬áº á€ááá á¹á ááœáẠáá»áœááºá¯ááºááẠááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ áááºážáááºážááᯠááŸá¬áááœá±á·áá²á·áá«á
á¡áááºáááŒááºáááºáááºáá±áá²á· áááá¯ááááºááœá±á¡ááŒá±á¬ááºáž á áá¬ážá¡áááºážáááºááŒá±á¬ááá¯á· ááá¯ááºáááºáá«áááºá á ááºážáááºážá¡áá á¥ááá¬á áááºáááºááŸá¯á áá áºáá»á¬áž ááá¯á·ááá¯áẠááŒáá·áºáá±ááá·áºá áá áºáá»á¬áž á¡ááŒáá¯ááºá¡áá¯ááºáá¯ááºááŒáááºá áá°ááá¯á·ááᯠá áááºááá¯ááºážááá¯ááºáᬠáá«ááŸááá¯áẠá á¬ááœááºáá±á«áºááŸá¬ áá¬ážáááºááá¯ááºáá²á· áá°á¡áááºážáááºáá¬ááŸáááŒá®ážá áá áºáá»áááºá áá»áœááºáá±á¬áºáá¯ááºááá¯ááºáá²á·áá±ááá·áº áá»áœááºáá±á¬áºááá±á¬á· áá°ááá¯á·áá²á áá áºáá±á¬ááºá០ááá¯ááºáá«áá°ážá ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·áá¡áá¯ááºá¡á¬áž á á áºáá±ážááá·áºáááááá¬áá»á¬áž ááá¯á¡ááºááẠ- á¥ááá¬á TLA + ááá¯á·ááá¯áẠPlusCalá
áá¯ááºá¡ááá¡áá»ááᯠáááá¬ážááŒá®ážááŒá áºáá«á áááºááŸááºáá»ááºáá áºáá¯áá±ážááẠá¡áááºááŒá±á¬áá·áº ááá¯á¡ááºááááºážá ááááºáá±á¬á· áá«áááááºááá¯á·áá² áááºáá²á·áá¬á ááá¯á·á¡ááŒááºá áááºááŸááºáá»ááºáá áºáá¯ááŒáá·áºá á¡ááŒááºáá°áá áºáŠážááẠáá°áá¬áá¯ááºáááºááᯠá¡ááá¡áá»áá¬ážáááºááẠáá¯ááºáá²ááá¯á· áááºáááºáááá¯á¡ááºáá±á¬á·áá«á áá«á·ááŸá¬ á ááºážáááºážááŸááááºá áá±áá°áá»á ááºážáá»ááºážááœá± áááŸáááá·áºáá°ážá á€á ááºážáá»ááºážááœáẠááŒáœááºážáá»ááºáá áºáá¯ááŸááááºá áá¯ááºáá«áááºá áááºážááẠáá»áœááºá¯ááºááá¯ááºáá¬áááá·áº áá áºáá¯áááºážáá±á¬ áá±áá°áá»á ááºážáá»ááºážááŒá áºáááº- áá¯ááºáá¯ááºááá·áºá¡áá¬á áááºááŸááºáá»ááºááẠáá¯ááºááá¯á¡áá¯á¶ážááŒá¯ááá·áºá¡áá« ááááá¯ááá»áŸááᯠáá°ááá¯á·á¡á¬áž ááŒá±á¬ááŒááá·áºáááºá
áá®áá±á¬á· áááá¯ááááºáá¬ááœá±áᬠááœá±ážáá±á«áºáá¯á¶áá²á· áááºáááºááŒá®áž áá¬ááœá±ááᯠáááááá»áá» áááá¬ážááá¯á· ááá¯áá²á á¡á ááá¯ááºážááœááºá á¡ááŒá¬ážáá°áá»á¬ážááŸáá·áºá¡áá°áá°áááºááŒá áºáááº- áááºááá±ážáá«áá áááºááœá±ážáá±áá¯á¶ááááºá áá«á·á¡ááŒáẠáá¯ááºááá¯ááºááẠá ááºážá á¬ážááá¯á· ááá¯á¡ááºááŒá®áž ááá¯ááá¯áá¬á áá¯ááºááá±ážááẠáá±ážááá¯á· ááá¯áá«áááºá áá¯ááºáá áááºáá® áá»áœááºá¯ááºááá¯á·áá±ážáá¬ážááá·áº áááºááŸááºáá»ááºááŒá áºáááºá áááºáá°áááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáá±á¬ ááá¯á·ááá¯áẠááŒá¯ááŒááºááá¯ááºáá±á¬ áááºááá·áºáá¯ááºá¡ááœááºáááᯠáááºááŸááºáá»ááºáá áºáᯠááá¯á¡ááºáá«áááºá ဠ"áá áºá á¯á¶áá áºáá±á¬ááº" ááẠáááºážááá¯áá±ážááŒá®áž áá áºáá¡ááŒá¬ááœáẠáá°á·ááá¯ááºáá° áá¯ááºáá±ážáá¬ážáá° ááŒá áºááá¯ááºáááºá ááŒá®ážáá¬ážáá±á¬ áááá¯ááááºáá»á¬ážááŸáá·áº á áá áºáá»á¬ážá á¡áááºážáá»á¬ážá¡ááœááºá áááºážáááºážáá»á¬ážá¡ááœááºá ááŸáá·áº áá áºáá«áá áºáᶠáááºážáááºážáá áºáá¯áááºážá ááŸá¯ááºááœá±ážáá±á¬á¡ááá¯ááºážáá»á¬ážá¡ááœáẠáááºááŸááºáá»ááºáá áºáᯠááá¯á¡ááºáá«áááºá áá¯ááºáá²á·áááºáááºááŒá®áž áá¬á¡ááá¡áá»áá±ážáá¬ážááá·áºáá²á á€áá¯ááºááá¯á¡áá¯á¶ážááŒá¯áá°ááá¯ááºážá¡ááœáẠáááºááá·áºá¡áá¬á á¡áá¯á¶ážáááºááá¯ááºáááºááᯠáááºáá±á¬áºááŒáááºááá¯á¡ááºáááºá áá áºáá«áá áºáá¶ááœáẠáá¯ááºááẠáááºážááááºááœááºáá»ááºááᯠáááºáá²á·ááá¯á· ááŒá®ážááŒá±á¬ááºááŒá±á¬ááºáž áááºááŸááºáááºáááºáž ááá¯á¡ááºáá«áááºá á¡áááºá áá»áœááºá¯ááºááá¯á·ááẠá€áááºážáááºážááᯠalgorithms ááœááºááŒááºáááºážáá²á·áá»áŸáẠáááºážááᯠalgorithm áá¯áá±á«áºáááºá ááá¯áá°ážááŒá¬ážááŒá®áž á¡áá áºá¡áááºážááŒá áºááẠá¡á²áá«ááᯠá¡ááá·áºááŒáá·áºáá®ááá¯ááºážááá¯á·áá±á«áºáááºá á€áá±áá¬ááœáẠááá¬ážáááºááœá¬ááŒá¬ážáá»ááºáááŸááá«- ááŸá áºáá¯áá¯á¶ážááẠáááá¯ááááºáá áºáá¯á á ááá¹áááá¯á¶á á¶áá áºáá¯ááŒá áºáááºá
áá¯ááºáááºááŸááºáá»ááºááᯠáááºááá¯á¡ááá¡áá»áá±ážááá·áºáá²á á¡áááá¡áá¬- áááºážááẠáá¯ááºááá¯ááºááá¯ááºááẠá¡ááá·áºáá áºáá¯ááŒáá·áºááá·áºáááºá ááŒááºáááºáá»á¬ážááŸáá·áº á¡ááŒá¯á¡áá°áá»á¬ážááᯠáá±á¬áºááŒááá·áºáááºá áá¯ááºáááºážááá¯á¡ááºáá»ááºá¡á áááºážáá»ááºááá·áºáááºá á¡áááºá áááºááẠá¡áá¯ááºáá áºáá¯á¡á¬áž áááºááá¯á·á¡áá±á¬ááºá¡áááºáá±á¬áºááááºááᯠáááºááŸááºáá»ááºáá áºáá¯áá±ážáá±áá«á áááºážááᯠpseudocode ááá¯á·ááá¯áẠPlusCal ááŒáá·áº áá±ážáá¬ážááá¯ááºáááºá ááá¬ážáááºáááºááŸááºáá»ááºáá»á¬ážááœáẠáááºááŸááºáá»ááºáá»á¬ážááᯠáááºááá¯á·áá±ážááááºááᯠáá±á·áá¬ááẠááá¯á¡ááºáááºá áááºážááẠááá·áºá¡á¬áž á¡ááœááºááá±á¬ááá¯ááºáá°áá»á¬ážááŸáá·áºáááºáž áá°áá®áá±ážááá·áº ááá¯á¡ááºáá±á¬á¡áááºá¡áá»ááºážáá»á¬ážááᯠáá±ážáá«áááá·áºáááºá ááá¬ážááẠáááºááŸááºáá»ááºáá»á¬áž áá±ážááẠáááºáááºáá²á·ááá¯á· áááºáá°ááááºážá áááá¯ááááºááᯠáááºáá°áá²á·á¡áá«á áááá¯ááááºááœá±ááᯠáá±ážááŒá®áž á¡ááŸá¬ážááŸá¬áá¯ááºáááºá áááºážááẠá€áá±áá¬ááœáẠá¡áá°áá°áááºááŒá áºáááº- spec ááá¯áá±ážáá«á áááºážááᯠáá±á¬áºáááºá á áºáá±ážááá·áºáááááá¬ááŒáá·áº á á áºáá±ážáá«á áá»áá¯á·ááœááºážáá»ááºáá»á¬ážááᯠááŒááºáááºáá«á TLA+ ááẠááá¬ážáááºáááºááŸááºáá»ááºáá áºáá¯á¡ááœáẠá¡áá±á¬ááºážáá¯á¶ážáá¬áá¬á áá¬ážááá¯ááºááá¯ááºáááᯠá¡ááŒá¬ážáá¬áá¬á áá¬ážááẠáááºá áá®ážááŒá¬ážááá¯á¡ááºáá»ááºáá»á¬ážá¡ááœáẠááá¯ááá¯áá±á¬ááºážááœááºááœááºááŸááááºá TLA+ á á¡á¬ážáá¬áá»ááºááŸá¬ áááºá¹áá»á¬ááœá±ážáá±á«áºááŸá¯ á¡ááœááºáá±á¬ááºážááœááºáá«áááºá
áááºááŸááºáá»ááºááŸáá·áº áá¯ááºááᯠáááºááá¯á·áá»áááºáááºááááºáááºážá áááºá¹áá»á¬ááá±á¬ááá¬ážáá»á¬ážááŸáá·áº áááºážááá¯á·áá¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááᯠáá»áááºáááºáá±ážááá·áº ááŸááºáá»ááºáá»á¬ážáá¡áá°á¡áá®ááŒáá·áºá á¡áááºá áááºááẠááááºáá áºáá»á¬ážááŸáá·áº á¡áá¯ááºáá¯ááºáá«áá áááá¯ááááºá¡ááá·áºááœáẠááá·áºááœáẠarrays á node áá»á¬ážááŸáá·áº arrays áá»á¬ážá links áá»á¬áž ááŸááááá·áºáááºá ááá¯á·ááŒá±á¬áá·áºá á€áááá¯ááááºážáááºážááœá²á·á ááºážáá¯á¶áá»á¬ážá ááááºááᯠáááºááá¯á·á¡áá±á¬ááºá¡áááºáá±á¬áºááŒá±á¬ááºáž á¡ááá¡áá» áá±ážáá¬ážááẠááá¯á¡ááºáááºá
á¡áááºáá±á¬áºááŒáá«á¡áá»ááºáá»á¬ážááẠáá¯ááºáá±ážáá¬ážááŒááºážá á¡ááŸááºááááºáá¯ááºáááºážá ááºááŸáá·áº áááºááá¯ááºááŒááºážáááŸáááŒá±á¬ááºáž áááááŒá¯ááá·áºáááºá áá¯ááºááá¯áá±ážáá±á¬á¡áá«á ááá¯ááá¯áááºááŸá¬á áááºáááºááááá¡ááá·áºááá¯áá¯ááºáá±á¬ááºáá±á¬á¡áá«á áááá¯ááááºááŸáááá·áºááœá±ážáá±á«áºá ááºážá á¬ážáááºááá¯áááºá á¡áá¯ááºááœá²áá áºáá¯ááẠááŸá¯ááºááœá±ážááẠááá¯á·ááá¯áẠáááºááŸá¬ážááŒááºážáááŸááá«áá áááºážá¡ááœáẠáááºááŸááºáá»ááºáá áºáá¯áá±ážááẠááá¯á¡ááºáááºá áá«áá±ááá·áº áá®ááŸá¬áá¯ááºá¡ááŒá±á¬ááºáž áááŒá±á¬áá«áá°ážá áááºááá·áºáááá¯ááááºážáááºážáá¬áá¬á áá¬ážá áááºááá·áºáááºážá áá áºááá¯áááᯠáááºá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá áááºážááá¯á·ááŸáá·áºááááºáááºáá«á ááá¯á·á¡ááŒááºá á¡áááºáá±á¬áºááŒáá«áá áºáá¯ááŸááẠá ááºážáááºááŒááºážááŸáá·áº á¡ááŸá¬ážááŸá¬ááŒááºááá·áºáá¯áẠááá¯á¡ááºááŸá¯ááᯠáááºááŸá¬ážáá±ážáááºááá¯ááºáá«á Abstract Model ááᯠááŸááºáááºá áœá¬ áá±ážáá¬ážáá±á¬áºáááºážá áááºážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá¬ááœáẠáá»áœááºááœááºážáá»ááºáá»á¬áž ááŸáááá¯ááºáá«áááºá
áááºááŸááºáá»ááºáá»á¬ážááᯠáá±ážáá¬ážááŒááºážááẠáá¯ááºáá±ážááŒááºážáá¯ááºáááºážá ááºá¡ááœáẠáá±á¬ááºáááºááŒá±ááŸááºážáá áºáá¯ááŒá áºáááºá áááºážááŒá±á¬áá·áº á¡ááŸá¬ážá¡ááœááºážáá»á¬ážá áœá¬ááᯠá¡á¬ážáá¯ááºááŸá¯áááºážá áááºážááááá¯ááºááẠ- Amazon á០áááá¯ááááºáá¬áá»á¬ážá á¡ááœá±á·á¡ááŒá¯á¶á០áááºážááᯠáá»áœááºá¯ááºááá¯á· áááá«áááºá áááºááŸááºáá»ááºáá»á¬ážááŒáá·áº áááá¯ááááºáá»á¬ážá á¡áááºá¡ááœá±ážááẠááá¯ááá¯ááŒáá·áºáá¬ážáá¬áááºá áá«ááᯠáá¬ááá¯á· áá°ááá¯á·ááá«áá² áááŒá¬áá ááœá¬ážáá±ááá¬áá²á áá¬ááŒá±á¬áá·áºáá²ááá¯áá±á¬á· á á¬áá±ážáᬠáááºáááºá á á¬áá±ážáá¬á áááºáááºá áá¬ááá¯á·áá²ááá¯áá±á¬á· á¡á²áá«á¡ááœáẠáááºážá ááºážá á¬ážááá¯á· ááá¯áááºá á ááºážá á¬ážááá¯á·áááºáž áááºáááºá áááºážáááºáá¬ááᯠáááºáá±á¬ááºááá¯á· á¡ááŒá²áááºáž ááá¯ááœááºáááºá á€áá±áá¬ááœáẠáááºááẠá¡ááŒá±ážááŒáá·áº ááŸáá¯ááºážááŸá¥áºááŒááá¯ááºááẠ- áááºááŒá±ážáá±áá± áááºááŒá±ážáá± ááŸá±ážáá±áá±ááŒá áºáááºá ááŒáœááºáá¬ážááœá±ááᯠáá±á·áá»áá·áºááŒá®áž á á¬áá±ážáá±á·áá»áá·áºááá¯á· ááá¯áá«áááºá á¡áá±á·á¡áá»áá·áºááá¯áááºá
áááºááŸááºáá»áẠáááŸááºááá¯ááºáá«á áááºááẠáá áºáá±áá¬áá¬ááœáẠá¡ááŸá¬ážáá¯ááºááááœá¬ážááŒááºáž ááŒá áºááá¯ááºáááºá ááá¯á·ááá¯áẠááá¯á¡ááºáá»ááºáá»á¬áž ááŒá±á¬ááºážáá²ááœá¬ážááŒááºáž ááŒá áºááá¯ááºáááºá ááá¯á·ááá¯áẠááá¯ážáááºááŸá¯áá áºáᯠááŒá¯áá¯ááºáááºááá¯á¡ááºáá±áááºá áááºáá°áááᯠá¡áá¯á¶ážááŒá¯ááá·áºáá¯ááºááᯠááŒá±á¬ááºážáá²ááááºááŒá áºáá±á¬ááŒá±á¬áá·áº áááŒá¬áá® ááá¯á·ááá¯áẠáá±á¬ááºááá¯ááºážááœáẠáááºááŸááºáá»ááºáá»á¬ážááẠáááá¯ááááºááŸáá·áº ááá¯ááºáá®áá±á¬á·ááẠááá¯ááºáá«á á¡áá±á¬ááºážáá¯á¶ážááá±á¬á·á á€ááá á¹á ááœááºá áááºááẠáááºááŸááºáá»ááºá¡áá áºáá áºáá¯áá±ážááŒá®áž áá¯ááºááᯠá¡ááŒá®ážá¡ááá¯áẠááŒááºáá±ážááẠááá¯á¡ááºáááºá áá«ááᯠáááºáá°á០ááá¯ááºáá°ážááá¯áᬠáá»áœááºáá±á¬áºááá¯á· áá±á¬ááºážáá±á¬ááºážáááá«áááºá áááºááœá±á·ááœááºá áá»áœááºá¯ááºááá¯á·ááẠáá¯ááºááᯠpatch áá¯ááºááŒá®áž áááºááŸááºáá»ááºááᯠá¡ááºááááºáá¯ááºááá¯ááºáááºá á¡áááºá áááºážááẠá¡ááŸá±ážááŸáá·áºá¡ááŒáẠááŒá áºáá¬áááºááá¯áá«á áááºááŸááºáá»ááºáá»á¬ážááᯠá¡áááºááŒá±á¬áá·áº áá±ážáá«ááááºážá ááááŠážá áœá¬á áááºááá¯ááºááᯠáááºážááŒááºááá·áºáá°á¡ááœááºá áááºááŸááºáá»ááºáá»á¬ážááŸá á¡ááá¯á áá¬ážáá¯á¶ážááá¯ááºážááẠáááºážáá¡áá±ážáá»áááºááᯠááœáŸá±ááŒáá·áº áááºááá¯ážááŸááááºááŒá áºááŒá®ážá á€áá°ááẠáááºááá¯ááºááá¯ááºááẠááŒá áºááá¯ááºáá«áááºá áá»áœááºá¯ááºááẠáá»áœááºá¯ááºááá¯ááºááᯠáááºážááŒááºáá±á¬á¡áá« áá¯á¶áá±á¬ááºáá±á¬ áááºááŸááºáá»ááºááááŸáááá·áºá¡ááœáẠáááŒá¬áá ááŒáááºážáá«ážáá±áá«áááºá ááŒá®ážáá±á¬á· áá¯ááºááẠáááºááŸááºáá»ááºááœá± ááá¯áá±ážáááºá ááá¯á·ááŒá±á¬áá·áºá áááºááẠáá¯ááºááᯠáááºážááŒááºáá±á¬á¡áá«á áááºááŸááºáá»ááºááᯠá¡ááŒá²áááºáž á¡ááºááááºáá¯ááºááẠááá¯á¡ááºáááºá áá¯áááá¡áá»ááºá ááŒááºáááºááŒááºáááºááŸá¯áá áºáá¯á á®ááá¯ááºážááœááºá áá¯ááºááá¯ááá¯ážáá¬áááºá áááºážááẠáááºáááºááŸáá·áº ááááºážááááºážááẠááá¯áááá¯ááááºáá²áá¬áááºá á€áááºááŸá¬ á¡ááºáááá¯áá® ááá¯ážáá¬ááŒááºážááŒá áºáááºá áá«áá±ááá·áº áááºáᬠspec áá²á· áá áá°ážááá¯áááºá áááºáá±ážáá²á· á á¬ááŒá±á¬ááºážááá¯ááºážá edit ááŒá áºáá«áááá·áºáááºá áá¯ááºá áá»á±á¬á·áá¶á·ááŒá®áž á¡á ááá± áááºááááºáá«áááá·áºáááºá
ááŒá±á¬áá²á·áááá¯áá«áá²á
á¡áá°ážáááºááá¯ááºááœáẠTLA + ááŸáá·áº PlusCal á¡ááŒá±á¬ááºážááá¯ááá¯áááºááŸá¯ááá¯ááºáááºá áá»áœááºá¯ááºááááºáá
á¬áá»ááºááŸá¬á០ááá¯áá±áá¬ááá¯á·ááœá¬ážááá¯ááºáááºá
á€á¡áá¬ááẠáá¬áá¬ááŒááºáá áºáá¯ááŒá áºááŒá±á¬ááºáž áááááŒá¯áá«á ááŸááºáá»ááºáá»á¬ážáá±ážáá±á¬á¡áá« á á¬áá±ážáá°ááẠáááºážááá¯á·ááᯠáááºáááºááá¯ááºááŒá±á¬ááºáž áááááá«á á¡áááºá áááºááẠá á¬áá±ážááá¬ááŸáá·áº á¡ááŸááºáááẠá áá¬ážááŒá±á¬ááá¯áá«áá á ááá·áºáá®áá¬á áááºááœáẠ2019 áá¯ááŸá áºá áá°ááá¯ááºá 11-12 áááºá¡áá áá»ááºážáááá·áº Hydra 2019 áá®áá¬áá¶ááœáẠáá°ááŸááááá·áºáááºá áááºááŸááºáá»á¬ážáááºáá°ááá¯ááºáá«áááºá
ááá¬ážááẠwebsite ááœáẠ.
source: www.habr.com