Грамматика ложбана/4.12
12. Алгоритм подсчёта рейтинга lujvo
Этот алгоритм был разработан Бобом и Норой Ле-Шевалье в 1989 году. Это не единственный возможный алгоритм, но обычно он выбирает lujvo, предпочтительные и с точки зрения людей. Возможно, в будущем этот алгортм будет изменён. В словарь обычно вносится вариант lujvo, набравний наименьшее число очков. (В преждних версия алгоритма это был вариант, набравший наибольшее число очков.)
1)
Подсчитать общее количество букв, включая соединители и апострофы. Результат назвать “L”.
2)
Подсчитать количество апостровов. Результат назвать “A”.
3)
Подсчитать количество соединителей “y”, “r” и “n”. Результат назвать “H”.
4)
Для каждой rafsi, найти число в нижеследующей таблице. Сложить эти числа для всех rafsi. Результат назвать “R”:
CVC/CV (в конце слова) (-sarji) 1 CVC/C (-sarj-) 2 CCVCV (в конце слова) (-zbasu) 3 CCVC (-zbas-) 4 CVC (-nun-) 5 CVV с апострофом (-ta'u-) 6 CCV (-zba-) 7 CVV без апострофа (-sai-) 8
5)
Подсчитать количество гласных, не учитывая “y”. Результат назвать “V”.
Рейтинг равен:
(1000 * L) - (500 * A) + (100 * H) - (10 * R) - V
Не существует формального критерия выбора между вариантами, набравшими равное число очков. Такие случаи редки. Заметим, что этот алгоритм воплощает ряд уровней предпочтения: прежде всего, предпочитаются более короткие слова (апостроф считается половиной буквы), затем слова с меньшим количеством соединителей, затем - содержащие более благозвучные rafsi (это вопрос вкуса), наконец - слова с б́ольшим количеством гласных. Каждый следующий уровень предпочтения уточняет выбор на основе предшествующих, и может оказаться, что последующий Each decision principle is applied in turn if the ones before it have failed to choose; it is possible that a lower-ranked principle might dominate a higher-ranked one if it is ten times better than the alternative.
Here are some lujvo with their scores (not necessarily the lowest scoring forms for these lujvo, nor even necessarily sensible lujvo):
12.1) zbasai
zba + sai (1000 * 6) - (500 * 0) + (100 * 0) - (10 * 15) - 3 = 5847
12.2) nunynau
nun + y + nau (1000 * 7) - (500 * 0) + (100 * 1) - (10 * 13) - 3 = 6967
12.3) sairzbata'u
sai + r + zba + ta'u (1000 * 11) - (500 * 1) + (100 * 1) - (10 * 21) - 5 = 10385
12.4) zbazbasysarji
zba + zbas + y + sarji (1000 * 13) - (500 * 0) + (100 * 1) - (10 * 12) - 4 = 12976