- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
function isVowel(char){
return "аоэиуыеёюя".indexOf(char.toLocaleLowerCase())>=0 ? 1 : 0;
}
function vorefy(text)
{
// Г => C 0.85
// Г => Г 0.15
// С => С 0.30
// С => Г 0.70
var markov = [[0.3,0.7],[0.85,0.15]];
var mCorr = [ 1/Math.sqrt(0.3*0.7), 1/Math.sqrt(0.85*0.15) ];
//степень влияния марковских вореантностей
var pow = x => Math.pow(x,2);
var prev=null;
return text.replace(/./g,(char,offset,text) =>
{
if (E2R[char]){
var replace = Object.entries(E2R[char]);
if (1==replace.length) {
prev = replace[0][0];
return prev;
}
var r = Math.random()*200, probability=0;
for (const [k, v] of replace) {
vowel = isVowel(k);
probability += v * ((null==prev) ? 1
: pow(
mCorr[vowel]*2*markov[isVowel(prev)][vowel]
));
if (r<=probability) {
prev = k;
return prev;
}
}
}
prev=null;
return char;
});
}
Марковым отмечена еще одна устойчивая закономерность открытых текстов, связанная с чередованием гласных и согласных букв. Им были подсчитаны частоты встречаемости биграмм вида гласная-гласная (г, г), гласная-согласная (г, с), согласная-гласная (с, г), согласная-согласная (с, с)
[color=blur]https://ideone.com/VpkwXT[/color]