Supongamos que tengo una situación en la que estoy diseñando un sitio web para un revendedor de zapatos. Tienen diferentes marcas y tipos de zapatos y, por supuesto, quieren una función de búsqueda realmente buena.
Entonces, hay diferentes propiedades que los zapatos pueden tener. Pueden tener propiedades exclusivas, como tamaño, ancho, género y niños / adultos. O pueden tener propiedades no exclusivas, como el color (podría haber dos o más colores en un zapato). Algunas categorías pueden entrar en conflicto con ciertas otras, como 'vestido' y 'casual' (un zapato no puede ser tanto un zapato de vestir como una zapatilla de deporte (ignorando los zapatos de vestir de "comodidad" para este ejemplo)), mientras que aún no entran en conflicto con otros, como 'vestido' y 'bota' (un zapato puede ser una bota de vestir). Las propiedades exclusivas son fáciles de modelar, pero ¿qué hay de las propiedades potencialmente conflictivas? ¿Sería esto un problema para la teoría de conjuntos?
¿Cómo se llamaría este tipo de informática aplicada, en general? ¿Modelado de datos o algo más específico? Quiero entrar en los principios filosóficos más abstractos, como las propiedades exclusivas y no exclusivas, y ver cómo se implementan esos principios en código, estructuras de datos y esquemas de bases de datos.
Un buen ejemplo de lo que estoy hablando sería el algoritmo transversal del árbol de pedidos anticipados modificado . Es una excelente manera de hacer un sistema de categorización jerárquica anidado. Entonces tiene un problema organizacional de la vida real: categorías, y luego tiene una estructura de datos que modela ese problema.
¿Dónde puedo obtener más información sobre este tipo de cosas?