В чем смысл понятия монотонности? - PullRequest
0 голосов
/ 07 января 2019

Я читал о MRO в Python и нашел концепцию монотонности в линеаризации C3. Я понимаю, но мне было интересно узнать о происхождении этой концепции. Кто-нибудь может мне объяснить?

1 Ответ

0 голосов
/ 07 января 2019

Мне трудно представить себе значимую линеаризацию, которая является не монотонной: это не имело бы никакого смысла.

Но для чего стоит происхождение концепции монотонности в этом контексте, можно проследить до публикации 1992 года Механизмы разрешения монотонных конфликтов для наследования , автор Ducournau, R., M. Habib , M. Huchard, & ML Mugnier.

В ней авторы исследуют существующие тогда алгоритмы линеаризации, которые были ошибочными, поскольку они не удовлетворяли монотонности. Другими словами, эти алгоритмы приводили к переупорядочению цепочки линеаризации путем добавления нового подкласса в иерархию. Это свойство было определено как проблемное и впоследствии исправлено в линеаризации С3.

...