Я пишу какое-то приложение, которое находит (по какому-то вопросу) информацию о каком-то человеке (скажем, что это вес, рост и возраст человека).
С другой стороны, у меня есть список продуктов(может быть очень большим) и в соответствии с информацией о продукте мне нужно найти наилучшее соответствие между информацией о человеке и продуктом (у меня есть информация о продукте: вода, азот и др.)
Я не могу использовать алгоритм блок-схемы или поиск в ширину, потому что номер продукта динамически (читать список продуктов из БД ...)
добавлена дополнительная информация, предоставленная в ответе
Дополнительная информация: у меня есть таблица соответствия для каждого поля продукта.Я могу сказать, что если человек field_X имеет значение A =>, то продукт, который соответствует, является product_1.
Это просто, и я могу использовать хеш-таблицу - но мне нужно лучшее соответствие по всем полям.
Использование эвристики может быть полезным в этом случае - но в случае, если у меня есть некоторая мера, все поля человека =>, и у меня есть также мера полей продукта ... я могу найти лучшее соответствие - но каждыйцикл, у меня есть новый продукт, и сканирование всего продукта может быть тяжелой работой и займет время.
Я ищу (если есть) какой-то лучший способ.