Hola
No sé muy bien qué título poner a esta pregunta ni qué etiquetas utilizar, porque no es mi especialidad y no estoy familiarizado con la terminología. Es un problema que surgió al tratar de escribir un programa para enumerar algunos grafos, sin embargo no hay teoría de grafos en este problema.
Permítanme empezar definiendo los distintos componentes. Tengo un conjunto $C$ y dos funciones: $s:C\rightarrow \mathbb{N}$ y $r:C\rightarrow \mathbb{N}$ . Los valores de estas funciones son completamente conocidos. También es cierto que $\forall c \in C: r(c)=s(c) \vee r(c)=\frac{s(c)}{2}$ . No sé si esto supondrá una diferencia para la solución de mi problema, pero puede ser una información relevante.
Ahora estoy interesado en encontrar todas las funciones posibles $m:C\rightarrow \mathbb{N}$ que cumplan las siguientes condiciones:
- $\sum_{c\in C}\frac{s(c)}{m(c)}=\sum_{c \in C}\frac{s(c)}{4}$
- $\forall c \in C: r(c) \mid m(c)$
Realmente necesito un algoritmo para encontrar todas las soluciones posibles, pero por supuesto también estoy interesado en cualquier resultado teórico que pueda ayudarme a encontrar dicho algoritmo. Como ya he dicho, no estoy muy familiarizado con este tipo de problemas, así que no tengo ni idea de qué buscar y por dónde empezar. Las primeras condiciones hacen que sea imposible tener un número infinito de soluciones, pero en algunos casos tengo algunos mejores límites superiores y límites inferiores disponibles para el valor de la función $m$ en ciertos puntos. Estaría bien tener esto en cuenta, pero creo que no sería el cuello de botella si simplemente filtrara las soluciones para tener en cuenta estos límites.
Cualquier ayuda es muy apreciada. Y, por supuesto, haré todo lo posible para aclarar cualquier cosa en mi explicación que no esté clara.
Edita: Permítanme decir primero que $C$ siempre será finito.
Un pequeño ejemplo también podría ser más clarificador. Supongamos que tenemos $C=\{1,2\}$ la función $s:C\rightarrow\mathbb{N};c\mapsto 2$ y la función $r:C\rightarrow\mathbb{N};c\mapsto 1$ .
Tenemos entonces tres posibles soluciones para $m$ :
- $m(1)=3$ , $m(2)=6$
- $m(1)=4$ , $m(2)=4$
- $m(1)=6$ , $m(2)=3$