Органы и как их спрашивают
Заявки с основанием, выбор по правилу, способности и след решения.
Что такое орган
Орган (узел) — самостоятельный дом со своим знанием и своими словами. Их 37: справочник C++,
справочник PHP, словарь, морфология, грамматика, логика, причина, следствие, память, планировщик,
собеседник, браузер, файлы, зрение, безопасность, правописание, перевод и другие.
Орган не знает ни о ядре, ни о соседях. Он умеет три вещи: заявить, ответить и
услужить.
Заявка: чем орган объясняет своё право отвечать
Когда дела не вышло, ядро показывает вопрос всем органам и собирает заявки. Заявка — это не
«я хочу», а уверенность и основание:
заявка 0.95 толкование | точное совпадение: понятие «кошка» ← translator_rus-rus#кошка
заявка 0.93 php | об этом есть страница документации: array_sum
заявка 0.70 морфология | слово «кошка» есть в моих формах — могу разобрать
заявка 0.94 причина | спрошено о причине: объясняю связью толкованийОснование обязательно. Заявка без основания не считается: «могу» без «почему» — это угадывание.
Как выбирается ответчик
Не по громкости. Исход решает правило, и порядок правил — данные, а не код:
- правило отбирает кандидатов по признаку (способность, род узла, слово в основании);
- среди отобранных побеждает сильнейший по уверенности;
- ни одно правило не подошло — исход не выдумывается, а объявляется нехваткой правил.
Раньше побеждал первый подошедший, и ответ зависел от порядка подключения узлов: на «что такое
сочинение» латышский словарь опережал книгу о сочинениях. Порядок подключения — не довод.
Неоднозначность разрешает человек
Если одним правилом прошли несколько областей, движок не берёт сильнейшую молча, а спрашивает:
о какой области речь.
Способности: как органы спрашивают друг друга
Орган не зовёт соседа напрямую — он просит способность у ядра, и ядро находит того, кто её
даёт:
| Способность | Что отвечает |
|---|---|
| лемма | начальная форма слова |
| часть речи | помета морфологии |
| определение | толкование с родом источника |
| речь | как сказать по-русски то, что решено |
| сказанное | что человек говорил в этом разговоре |
| доказательство | «да» или «нет» на утверждение, с источником |
| поручение | рука движка: записать, собрать, запустить, прочитать |
Так узел остаётся сменным: он объявляет, что даёт и что ему нужно, а сеть связывает их сама.
След: почему выбран именно этот
Каждый ход оставляет след, и его видно снаружи (GET /api/trace):
- все заявки с уверенностью и основанием;
- кто выбран и каким правилом;
- ход работы: что наблюдалось, что отвергнуто, что проверено делом;
- для расследования — дело целиком: цель, связи, версии, чего не хватает, вывод.
Молчаливый отбор неотличим от угадывания. Поэтому движок обязан показывать, чем он мерил.