Załóżmy mam następujące kategorie (wraz z ich możliwych wartości):zasad dopasowania podane dane wejściowe (algorytm)
animal: any, cat, dog
color: any, white, black, gray
gender: any, male, female
[...]
lub bardziej ogólnie ...
category: <array of values>
(1) Załóżmy Mam zestaw konfigurowalnych reguł, takich jak:
when animal is any, color is gray, gender is male, call x
when animal is dog, color is gray, gender is male, call y
when animal is any, color is any, gender is any, call z
[...]
(2) I niektóre wartości wejściowe.
P. Czy istnieje algorytm, który rozwiązuje problem znalezienia pasującej reguły (z priorytetem nadanym najbardziej konkretnej znalezionej regule) zgodnie z podanymi danymi wejściowymi?
Ex.1:
input (animal:dog, color:gray, gender:male)
byłoby nazwać "y"
Ex.2:
input (color:gray, gender:female)
byłoby nazwać "z"
Czy bardziej odpowiednie sposobem na to jest budowanie drzewa wyszukiwania na podstawie reguł (każdy poziom drzewa jest kategorią)?
lubię:
- any animal
- any color
- any gender => z
- gray
- male => x
- dog
- gray
- male => y
Czy istnieje lepszy sposób to zrobić?
Dzięki!
co chcesz zrobić dla krawatów, tj. Czy zasady dowolne, szare, żeńskie i psie, szare, dowolne i dane wejściowe (kolor: szary), co powinien zrobić? – hatchet
jaka jest definicja "bardziej szczegółowa"? Czy kategorie mają porządek specyficzności, czy też liczba kategorii pasuje do tego, co określa bardziej szczegółową zasadę? IOW, który jest bardziej konkretny, pasujący do psa, dowolnego, dowolnego lub dowolnego, szarego, żeńskiego? – hatchet
@hatchet: liczba dopasowań kategorii (reguła, która ma mniej "any" w nim) –