Mécanisme de propagation

1

Identifier les voisins-ancres

Les ancres sont un ensemble de types fixes, pas un seuil de confiance : {bedroom, kitchen, living_room, balcony, storage}.

2

Réunir les voisins

Pour chaque pièce non verrouillée (not is_locked) : on collecte les voisins (portes + adjacences) dont le type appartient à ANCHOR_TYPES.

3

Appliquer les règles R_anchor_*

Selon le type courant et les types-ancres voisins, une des règles explicites ci-dessous s'applique.

🛡️
Conservatisme — Seuls les types-ancres (fiables) influencent, et les pièces verrouillées en Passe 0/0.5 ne sont jamais modifiées.

Règles anchor-based

RègleCondition→ TypeNotes
R_anchor_1corridor + voisin storage (pas déjà adj. à une entrée sûre)entrance_hall65% des entrées ont un placard voisin
R_anchor_2corridor + voisin living_room, sans storagecorridor (conf ↑ 0.88)Renforce le corridor
R_anchor_3bedroom (conf < 0.80) + voisin bedroom/storagebedroom (conf 0.85)Chambre robuste par voisinage
R_anchor_4entrance_hall (8.5-15m², fenêtre) + voisin bedroom, sans storagebedroomFausses entrées
R_anchor_5bedroom (no window, 2-10m²) + voisin storageentrance_hallEntrées sans fenêtre
R_anchor_6corridor (no anchor neighbors, boundary ≥ 7, segs ≥ 12)entrance_hallEntrées isolées

R_leaf_1 — WC leaf → SDB

Un « WC » qui est un nœud feuille (1 seule connexion) et dont le parent est une chambre → c'est une salle de bain.

Fiabilité 100% — Cette règle n'a jamais produit de faux positif sur P1+P2. Les WC n'ont pas de SDB privée ; les chambres, si.

Données leaf-node

TypeTotalLeaf% leaf
toilet674466%
bathroom874956%
storage241771%
laundry201365%
entrance_hall6346%
corridor28518%

R_btw — Discriminateur betweenness

Si betweenness > 0 dans le sous-graphe de l'appartement → la pièce ne peut pas être bathroom, toilet, storage ou laundry.

TypeDegreeBetweennessEigenvector
entrance_hall0.4360.3310.548
corridor0.3040.2660.392
living_room0.2930.1770.402
bathroom/toilet/storage/laundry<0.100.000<0.19