Грамматика ложбана/4.12

From Lojban
Jump to navigation Jump to search

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 (это вопрос вкуса), наконец - слова с бо́льшим количеством гласных. Каждый следующий уровень предпочтения уточняет выбор на основе предшествующих, и последующий уровень иногда может оказать решающее влияние на рейтинг.

Вот примеры рейтингов для нескльких lujvo (это не обязательно lujvo с минимальным числом очков, и даже не обязательно 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