рддреЛ рдПрдХ рдЖрдиреБрд╡рдВрд╢рд┐рдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреНрдпрд╛ рд╣реИ? рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЖрдиреБрд╡рдВрд╢рд┐рдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдПрдХ рд╣реЗрдпреЛрд░рд┐рд╕реНрдЯрд┐рдХ рдЦреЛрдЬ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреБрдХреВрд▓рди рдФрд░ рдореЙрдбрд▓рд┐рдВрдЧ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдЪрдпрди рдХрд░рдиреЗ, рд╕рдВрдпреЛрдЬрди рдХрд░рдиреЗ рдФрд░ рд╡рд╛рдВрдЫрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдЬреИрд╡рд┐рдХ рд╡рд┐рдХрд╛рд╕ рдХреА рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рдХрд╛рд╕рд╡рд╛рджреА рд╕рдВрдЧрдгрдирд╛ рд╣реИред рдЖрдиреБрд╡рдВрд╢рд┐рдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ "рдХреНрд░реЙрд╕рд┐рдВрдЧ" рдСрдкрд░реЗрдЯрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдЬреЛрд░ рд╣реИ, рдЬреЛ рдЙрдореНрдореАрджрд╡рд╛рд░ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рдкреБрдирд░реНрд╕рдВрдпреЛрдЬрди рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рднреВрдорд┐рдХрд╛ рд╡рдиреНрдп рдЬреАрд╡рди рдореЗрдВ рдкрд╛рд░ рдХрд░рдиреЗ рдХреА рднреВрдорд┐рдХрд╛ рдХреЗ рд╕рдорд╛рди рд╣реИред
рдпрд╛рдиреА рдЖрдиреБрд╡рдВрд╢рд┐рдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣рдорд╛рд░реЗ рд╡рд┐рдХрд╛рд╕ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╢реБрд░реБрдЖрддреА рдЖрдмрд╛рджреА рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ, рдлрд┐рд░ рд╡реЗ рдЗрдВрдЯрд░рдмреНрд░рд┐рдб (рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди рд╕рдВрднрд╡ рд╣реИрдВ)ред рдкреНрд░рд╛рдХреГрддрд┐рдХ рдЪрдпрди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЬреАрд╡рд┐рдд рдЖрдмрд╛рджреА рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдорд╛рдирджрдВрдбреЛрдВ рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рд╡реЗ рд╕рдВрддреБрд╖реНрдЯ рд╣реИрдВ, рддреЛ рд╣рд░ рдХреЛрдИ рдЦреБрд╢ рд╣реИ, рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рд╡реЗ рдЕрдВрддрд┐рдо рдЬреАрдд рддрдХ рдлрд┐рд░ рд╕реЗ рдкрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
рдпрд╣ рд╕рдм рдХреИрд╕реЗ рджрд┐рдЦрддрд╛ рд╣реИ рдЖрдк рдирд┐рдореНрди рдЖрдХреГрддрд┐ рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рджреЗрддрд╛ рд╣реВрдВ рдЬреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ "рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб!" рдмрдирд╛рддрд╛ рд╣реИред
рдЗрд╕ рдЖрдиреБрд╡рдВрд╢рд┐рдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ:
рдЬрдирд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЖрдХрд╛рд░: | 2048 |
рдореНрдпреВрдЯреЗрд╢рди (%): | 25 |
рдкрд░реЛрдкрдХрд╛рд░рд┐рддрд╛ (%): | 10 |
рд╕реНрд░реЛрдд рдХреЛрдб
# рдЗрдХрд▓реМрддрд╛ <iostream> // cout рдХреЗ рд▓рд┐рдП, рдЖрджрд┐ред рд╡реЗрдХреНрдЯрд░ рдХреНрд▓рд╛рд╕ рдХреЗ рд▓рд┐рдП #include <рд╡реЗрдХреНрдЯрд░> // #include <string> // string class рдХреЗ рд▓рд┐рдП #include <рдПрд▓реНрдЧреЛрд░рд┐рдердо> рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд▓рд┐рдП рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЪрд░ рдХреЗ рд▓рд┐рдП #include <time.h> // #include <math.h> // рдПрдмреНрд╕ рдХреЗ рд▓рд┐рдП () #define GA_POPSIZE 2048 // рдЬрдирд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЖрдХрд╛рд░ #define GA_MAXITER 16384 // рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ #define GA_ELITRATE 0.10f // Elitism #define GA_MUTATIONRATE 0.25f // рдореНрдпреВрдЯреЗрд╢рди #define GA_MUTATION RAND_MAX * GA_MUTATIONRATE #define GA_TARGET std :: string ("рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб!") рдирд╛рдо рд╕реНрдерд╛рди std рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛; рд╕рдВрд░рдЪрдирд╛ ga_struct { рд╕реНрдЯреНрд░рд┐рдВрдЧ str; // рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЗрдВрдЯ рдлрд┐рдЯрдиреЗрд╕; // рдЙрдкрдпреБрдХреНрддрддрд╛ }; рдЯрд╛рдЗрдкрдбрд┐рдл рд╡реЗрдХреНрдЯрд░ <ga_struct> ga_vector; // рдХрдо рдХреЗ рд▓рд┐рдП рд╢реВрдиреНрдп init_population (Ga_vector рдФрд░ рдЬрдирд╕рдВрдЦреНрдпрд╛, рдЧрд╛_рд╡реЗрдХреНрдЯрд░ рдФрд░ рдмрдлрд░) { int tsize = GA_TARGET.size (); for (int i = 0; рдореИрдВ <GA_POPSIZE; i ++) { ga_struct рдирд╛рдЧрд░рд┐рдХ; рдирд╛рдЧрд░рд┐рдХрддрд╛ред рд╕рд╛рдХреНрд╖реА = реж; Cit.str.erase (); for (int j = 0; j <tsize; j ++) Cit.str + = (rand ()% 90) + 32; рдЖрдмрд╛рджреАред рдкрд╢_рдмреИрдХ (рдирд╛рдЧрд░рд┐рдХ); } рдмрдлрд░.рд╕реЗрд░реАрдЬрд╝ (GA_POPSIZE); } рд╢реВрдиреНрдп calc_fitness (Ga_vector рдФрд░ рдЬрдирд╕рдВрдЦреНрдпрд╛) { рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓рдХреНрд╖реНрдп = GA_TARGET; int tsize = target.size (); рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЗрдВрдЯ рдлрд┐рдЯрдиреЗрд╕; for (int i = 0; рдореИрдВ <GA_POPSIZE; i ++) { рдлрд┐рдЯрдиреЗрд╕ = 0; for (int j = 0; j <tsize; j ++) { рдлрд┐рдЯрдиреЗрд╕ + = рдПрдмреНрд╕ (рдЗрдВрдЯ (рдЬрдирд╕рдВрдЦреНрдпрд╛ [i] .str [j] - рд▓рдХреНрд╖реНрдп [j])); } рдЖрдмрд╛рджреА [i]ред рдЧрд╡рд╛рд╣ = рдлрд┐рдЯрдиреЗрд╕; } } рдмреВрд▓ fitness_sort (ga_struct x, ga_struct y) {рд╡рд╛рдкрд╕реА (x.fitness <y.fitness); } рдЗрдирд▓рд╛рдЗрди рд╢реВрдиреНрдп sort_by_fitness (Ga_vector рдФрд░ рдЬрдирд╕рдВрдЦреНрдпрд╛) {рдХреНрд░рдордмрджреНрдз (рдЬрдирд╕рдВрдЦреНрдпрд╛.рдмреАрдЬрд┐рди) (, рдЬрдирд╕рдВрдЦреНрдпрд╛.рдПрдВрдб), рдлрд┐рдЯрдиреЗрд╕_рд╕реЛрд░реНрдЯ); } рд╢реВрдиреНрдп рдЕрднрд┐рдЬрд╛рддреНрдп (Ga_vector рдФрд░ рдЬрдирд╕рдВрдЦреНрдпрд╛, Ga_vector рдФрд░ рдмрдлрд░, int esize) { for (int i = 0; рдореИрдВ <esize? i ++) { рдмрдлрд╝рд░ [i] .str = рдЬрдирд╕рдВрдЦреНрдпрд╛ [i] .str; рдмрдлрд░ [i]ред рдЧрд╡рд╛рд╣ = рдЬрдирд╕рдВрдЦреНрдпрд╛ [i]ред рдЧрд╡рд╛рд╣; } } рд╢реВрдиреНрдп рдЙрддреНрдкрд░рд┐рд╡рд░реНрддреА (Ga_struct рдФрд░ рд╕рджрд╕реНрдп) { int tsize = GA_TARGET.size (); int ipos = rand ()% tsize; int delta = (rand ()% 90) + 32; member.str [ipos] = ((member.str [ipos] + delta)% 122); } рд╢реВрдиреНрдп рджреЛрд╕реНрдд (Ga_vector рдФрд░ рдЬрдирд╕рдВрдЦреНрдпрд╛, ga_vector рдФрд░ рдмрдлрд░) { int esize = GA_POPSIZE * GA_ELITRATE; int tsize = GA_TARGET.size (), spos, i1, i2; рдЕрднрд┐рдЬрд╛рддреНрдп (рдЬрдирд╕рдВрдЦреНрдпрд╛, рдмрдлрд░, рдПрд╕рд╛рдЗрдЬрд╝); // рдЖрд░рд╛рдо рдХрд░реЗрдВ for (int i = esize; рдореИрдВ <GA_POPSIZE; i ++) { i1 = рд░реИрдВрдб ()% (GA_POPSIZE / 2); i2 = рд░реИрдВрдб ()% (GA_POPSIZE / 2); spos = rand ()% tsize; рдмрдлрд░ [i] .str = рдЬрдирд╕рдВрдЦреНрдпрд╛ [i1] .str.substr (0, spos) + рдЬрдирд╕рдВрдЦреНрдпрд╛ [i2] .str.substr (spos, esize - spos); рдЕрдЧрд░ (рд░реИрдВрдб) (<GA_MUTATION) рдореНрдпреВрдЯреЗрдЯ (рдмрдлрд░ [i]); } } рдЗрдирд▓рд╛рдЗрди рд╢реВрдиреНрдп Print_best (ga_vector & gav) {cout << "рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда:" << gav [0] .str << "(" << gav [0] .fitness << ")" << endl; } рдЗрдирд▓рд╛рдЗрди рд╢реВрдиреНрдп рд╕реНрд╡реИрдк (ga_vector * рдФрд░ рдЬрдирд╕рдВрдЦреНрдпрд╛, ga_vector * рдФрд░ рдмрдлрд░) {ga_vector * рдЕрд╕реНрдерд╛рдпреА = рдЬрдирд╕рдВрдЦреНрдпрд╛; рдЖрдмрд╛рджреА = рдмрдлрд░; рдмрдлрд░ = рдЕрд╕реНрдерд╛рдпреА; } int main () { рд╕рд░рдВрдб (рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд (рд╕рдордп (NULL))); ga_vector pop_alpha, pop_beta; ga_vector * рдЬрдирд╕рдВрдЦреНрдпрд╛, * рдмрдлрд░; init_population (pop_alpha, pop_beta); рдЖрдмрд╛рджреА = & pop_alpha; рдмрдлрд░ = & pop_beta; for (int i = 0; рдореИрдВ <GA_MAXITER; i ++) { calc_fitness (* рдЬрдирд╕рдВрдЦреНрдпрд╛); // рдЙрдкрдпреБрдХреНрддрддрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ Sort_by_fitness (* рдЬрдирд╕рдВрдЦреНрдпрд╛); // рдЬрдирд╕рдВрдЦреНрдпрд╛ рдЫрд╛рдБрдЯреЗрдВ Print_best (* рдЬрдирд╕рдВрдЦреНрдпрд╛); // рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдЖрдмрд╛рджреА рдкреНрд░рд┐рдВрдЯ рдЕрдЧрд░ (* рдЬрдирд╕рдВрдЦреНрдпрд╛) [0]ред рдЧрд╡рд╛рд╣ == 0) рд╡рд┐рд░рд╛рдо; рджреЛрд╕реНрдд (* рдЬрдирд╕рдВрдЦреНрдпрд╛, * рдмрдлрд░); // рдореЗрдЯ рдЖрдмрд╛рджреА рд╕реНрд╡реИрдк (рдЬрдирд╕рдВрдЦреНрдпрд╛, рдмрдлрд░); // рдмрдлрд╝рд░реНрд╕ рд╕рд╛рдлрд╝ рдХрд░реЗрдВ } рд╡рд╛рдкрд╕реА 0; }
рдмрд╕ рдХреЛрдб рдкрд░ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгреА рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдордиреЗ рдзреЛрдЦрд╛ рджрд┐рдпрд╛ рдЬрдм рд╣рдордиреЗ рдЖрдиреБрд╡рдВрд╢рд┐рдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реЗрдЦрд╛ рдЖрдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП, рдЬреЛ рд╡рд╛рдВрдЫрд┐рдд рд░реЗрдЦрд╛ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИрдВред рдпрд╣ рдХреЛрдб рдХреА рдмреЗрд╣рддрд░ рд╕рдордЭ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджреВрд╕рд░реЗ, рдПрд╕рдЯреАрдПрд▓ рд╡рд░реНрдЧ рд╡реЗрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдпрд╣ рдХреНрд░рдордмрджреНрдзрддрд╛ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдВрдд рдореЗрдВ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдЖрдмрд╛рджреА рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ - рдПрдХ рд╡рд░реНрддрдорд╛рди рдХреЗ рд▓рд┐рдП, рджреВрд╕рд░рд╛ рдЕрдЧрд▓реА рдкреАрдврд╝реА рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдлрд░ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкреАрдврд╝реА рдореЗрдВ, рдЧрдгрдирд╛рдУрдВ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрдХреЛрдВ рдХреЛ рдирд┐рдХрдЯрддрдо рдкреВрд░реНрдгрд╛рдВрдХ рддрдХ рдЧреЛрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЙрдкрдпреБрдХреНрддрддрд╛ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг
рдЖрдЗрдП рдПрдХ рдЖрдмрд╛рджреА рдХреА рдЙрдкрдпреБрдХреНрддрддрд╛ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:
void calc_fitness(ga_vector &population)
{
string target = GA_TARGET;
int tsize = target.size();
unsigned int fitness;
for (int i=0; i<GA_POPSIZE; i++) {
fitness = 0;
for (int j=0; j<tsize; j++) {
fitness += abs(int(population[i].str[j] - target[j]));
}
population[i].fitness = fitness;
}
}
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдмрд╛рджреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рджрд╕реНрдп рдХреЛ рдпрд╣рд╛рдВ рд╕реНрдХреИрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд▓рдХреНрд╖реНрдп рд░реЗрдЦрд╛ рдореЗрдВ рдЙрд╕рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рдкреНрд░рддреАрдХреЛрдВ рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рдВрдЪрд┐рдд рд░рд╛рд╢рд┐ рдХреЛ рдлрд┐рдЯрдиреЗрд╕ рдореВрд▓реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрд╣ рдЬрд┐рддрдирд╛ рдЫреЛрдЯрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЙрддрдирд╛ рдЕрдЪреНрдЫрд╛)ред
рдкрд░рд┐рдгрд╛рдо
рдЬрдм рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдЖрдмрд╛рджреА рдФрд░ рдЗрд╕рдХреА рдЙрдкрдпреБрдХреНрддрддрд╛ (рдХреЛрд╖реНрдардХ рдореЗрдВ рд╕рдВрдЦреНрдпрд╛) рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
Best: IQQte=Ygqem# (152)
Best: Crmt`!qrya+6 (148)
Best: 8ufxp+Rigfm* (140)
Best: b`hpf"woljh[ (120)
Best: b`hpf"woljh4 (81)
Best: b`hpf"woljh" (63)
Best: Kdoit!wnsk_! (24)
Best: Kdoit!wnsk_! (24)
Best: Idoit!wnsk_! (22)
Best: Idoit!wnsk_! (22)
Best: Idoit!wnsk_! (22)
Best: Idoit!wnsk_! (22)
Best: Ifknm!vkrlf? (17)
Best: Ifknm!vkrlf? (17)
Best: Gfnio!wnskd$ (14)
Best: Ffnjo!wnskd$ (14)
Best: Hflio!wnskd$ (11)
Best: Hflio!wnskd$ (11)
Best: Kflkn wosld" (8)
Best: Ifmmo workd" (6)
Best: Hfljo wosld" (5)
Best: Hflmo workd" (4)
Best: Hflmo workd" (4)
Best: Hflmo workd" (4)
Best: Iflmo world! (3)
Best: Iflmo world! (3)
Best: Hflmo world! (2)
Best: Hflmo world! (2)
Best: Hflko world! (2)
Best: Hflko world! (2)
Best: Hdllo world! (1)
Best: Hfllo world! (1)
Best: Hfllo world! (1)
Best: Helko world! (1)
Best: Hfllo world! (1)
Best: Hfllo world! (1)
Best: Hfllo world! (1)
Best: Hello world! (0)
рдирд┐рд╖реНрдХрд░реНрд╖
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЫреЛрдЯрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдЖрдиреБрд╡рдВрд╢рд┐рдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕рдмрд╕реЗ рдХреБрд╢рд▓ рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрд╕рдЯреАрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдереЛрдбрд╝реА рдорджрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЖрд╡реЗрджрди рдЙрджрд╛рд╣рд░рдг
рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдПрдХ рд╕реАрдорд╛ рдкрд░ рдПрдХ рдЯреНрд░реЗрдбрд┐рдВрдЧ рд░реЛрдмреЛрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк "рдЪрдХреНрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ" (рдЕрдм рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ) рд░реЗрдВрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдиреБрд╡рдВрд╢рд┐рдХ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рд╕рдордп 9-12 рдЧреБрдирд╛ рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред #
рдореВрд▓ рд▓реЗрдЦ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВред
рдЖрдиреБрд╡рдВрд╢рд┐рдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреНрдпрд╛ рд╣реИ?