Autor Tema: DeepSeek, un nuevo paradigma en el desarrollo de "inteligencias" artificiales

0 Usuarios y 1 Visitante están viendo este tema.

03 Febrero, 2025, 07:58 am
Respuesta #20

feriva

  • $$\Large \color{#a53f54}\pi\,\pi\,\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 11,988
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino

14 Febrero, 2025, 08:19 pm
Respuesta #21

Tachikomaia

  • $$\Large \color{#5b61b3}\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 1,238
  • País: uy
  • Karma: +0/-0
  • Sexo: Masculino
Intento hacerle entender un asunto para que lo resuelva, y me pregunto si todo el "razonamiento" que hace es real o tiene ciertas equivocaciones por gusto o es como un relleno. En principio que escriba más suena bien, especialmente si eso ayuda a entender cómo llegó a la conclusión. Pero de tanto leer y leer, me pregunto si no habrá, en parte, intención de cansar o aburrir al lector, o de aparentar que está razonando.

Un ejemplo:
Citar
Okay, the user is comparing healing in the game to filling a water bottle over time. Let me make sure I get their analogy right. So, in their example, the bottle (HP max) can only hold up to 10 liters (HP), and instead of waiting until they actually need water (low HP), they keep adding water (healing) every time they use a little, which might waste water because the bottle can't hold more than 10 liters. The user is pointing out that healing too early or too often can be inefficient, similar to their water analogy.

They want to ensure that the healing is done strategically, not just whenever there's a small HP loss, to avoid wasting healing resources. The user mentioned that during the trip (both ways) there are multiple weaker monsters, and the strongest one is at the end. They only want to heal when necessary to defeat the next monster, especially the final strong one, without over-healing and exceeding HP max.

I need to adjust my previous algorithm to reflect this strategy. The key is to heal only when the current HP after a fight is insufficient to handle the next immediate threat, not the total future damage. This way, they avoid using potions when it's not critical, preserving them for when they're truly needed, like before the final boss or tough fights.

Let me break it down step by step. For each monster encountered:

1. After taking damage, check if the remaining HP can survive the next monster's attack. If not, heal just enough to survive that next attack, considering the healing per potion and HP max.

2. If healing is needed, calculate the minimum number of potions required to reach the required HP, without exceeding HP max. Use only that number of potions.

3. Repeat this process for each monster, always looking at the next immediate threat rather than the total future damage. This ensures that potions are used efficiently and preserved for critical moments.

Also, the user emphasized not healing to full HP unless necessary. So, the algorithm should prioritize healing to the minimum required HP for the next step, not maxing out. This prevents wasting potion effects that exceed the necessary HP threshold.

Let me test this with an example. Suppose HP max is 50, each potion heals 15, and the route has weaker monsters dealing 5, 8, 7 damage, then a strong one dealing 30, and on the way back, 6 and 9 damage. Safety margin is 5.

1. After first monster (5 damage), HP is 45. Next monster does 8. So, after next fight, HP would be 45-8=37. But to survive the next monster (8), current HP after healing needs to be at least 8 (next monster's damage) + remaining monsters. Wait, no— the user wants to only consider the next immediate threat. So after each fight, check if current HP can survive the next monster. If current HP after damage is less than the next monster's damage, heal. But wait, no— after taking damage from the current monster, you need to have enough HP to survive the next monster's attack. So after defeating a monster, before moving to the next, check if HP is enough to take the next hit.

Wait, the user says you can heal after each battle. So after each battle, if the HP is too low to survive the next battle, heal. Otherwise, don't. This way, you only heal when necessary for the next step, not for the entire future.

So, in the example:

Start with 50 HP.

1. First monster: 5 damage. HP=45. Next monster does 8. Since 45 >8, no need to heal. Proceed.

2. Second monster: 8 damage. HP=45-8=37. Next monster deals 7. 37 >7, so no heal.

3. Third monster:7 damage. HP=37-7=30. Next is the strong monster with 30 damage. 30 HP vs 30 damage: HP would be 0. So need to heal here. Calculate how much to heal to survive the next hit. The strong monster deals 30 damage. To survive, HP after healing must be >30. Current HP is 30. So need to heal at least 1 point. But with potions healing 15 each. Using one potion would bring HP to 45 (30+15). That's enough to survive the 30 damage (45-30=15). Then, after the strong monster, HP is 15. Next, return trip monsters: 6 and 9. 15-6=9, then 9-9=0. Not enough. So need to heal after the strong monster.

Wait, but after the strong monster, HP is 15. The next monster on return does 6. 15-6=9. Then next is 9 damage: 9-9=0. Dies. So need to heal after the strong monster. But potions are limited.

This shows the importance of strategic healing. Maybe heal before the strong monster to have more HP left after.

Alternatively, using two potions before the strong monster: 30 +15*2=60, but HP max is 50. So HP becomes 50. Then strong monster deals 30: 50-30=20. Return trip: 20-6=14, 14-9=5. Which meets the safety margin of 5. So success.

But this uses two potions. If only one potion is used before the strong monster: HP becomes 45. Then after strong monster: 15, which as before leads to death on return. So need to use two potions before the strong monster.

But how does the algorithm decide that? It needs to look ahead, but the user wants to only consider the next immediate threat. This is conflicting.

The user's analogy suggests healing only when the next immediate threat can't be handled, not looking at the entire future. But in this case, healing before the strong monster based on the next immediate threat (the strong monster's damage) requires ensuring that after healing, HP - strong monster's damage >= next threat (return trip monsters + safety).

This is getting complex. Maybe the correct approach is:

After each battle, calculate the minimum HP needed to survive the next battle. If current HP is less than that, heal just enough to reach that minimum, using the least potions possible.

The minimum HP needed before facing the next monster is (next monster's damage + 1). Because if you have at least (next monster's damage +1) HP, you can survive the next hit with 1 HP left.

But considering the safety margin S (e.g., 10% of H_max), maybe the minimum HP should be next monster's damage + S.

Wait, the user mentioned S as the safety margin when returning to town. So during the journey, the goal is to survive each step, and at the end have at least S HP.

But during the trip, after each battle, you can choose to heal to ensure you can survive the next battle. The key is to heal only when necessary, not preemptively for future steps beyond the next.

So the algorithm should be:

For each segment (monster) in the route:

1. Subtract the monster's damage from current HP.

2. If HP <=0, die.

3. If there are more segments ahead (including return trip and final monster), check if current HP is less than the next segment's damage. If yes, heal to at least next segment's damage + safety margin (if possible with available potions).

Wait, but the safety margin S is only required at the end. During the trip, the immediate requirement is to survive the next segment. So maybe during the trip, the required HP after healing is next_segment_damage + 1 (to survive with at least 1 HP). But the user wants to end with S HP.

This complicates things. Let me re-express the user's requirements:

- During the trip (both ways), after each battle (including weak monsters and the final one), you can choose to heal.

- Healing should be done only if necessary to defeat the next monster, not to max HP.

- The goal is to return to town with HP >= S.

- Over-healing is bad because it wastes potion efficiency (can't exceed HP max).

So the correct approach is:

1. After each battle, calculate the minimum HP required to survive the next battle.

For the next battle, minimum HP needed is next_monster_damage + 1 (to survive with 1 HP).

If the next battle is the last one (final monster or last weak monster on return), then the minimum HP after that battle should be >= S.

2. If current HP after the battle is less than the required minimum for the next step, heal the necessary amount using potions, without exceeding H_max.

3. Use the least number of potions possible to reach the required HP.

Let me apply this to the example:

H_max =50, potion_heal=15, N=3, S=5.

Route: ida [5,8,7], final 30, vuelta [6,9].

Start at 50 HP.

1. Ida - first monster:5 damage. HP=45.

Next monster:8 damage.

Required HP after healing:8 +1 =9. Current HP is 45 >=9. No heal needed.

2. Second monster:8 damage. HP=45-8=37.

Next monster:7 damage. Required HP:7+1=8. 37 >=8. No heal.

3. Third monster:7 damage. HP=37-7=30.

Next is final monster:30 damage. Required HP after healing:30 +1 =31.

Current HP is 30 <31. Need to heal.

Required healing:31 -30 =1. Each potion heals 15. So 1 potion use: HP becomes 30+15=45 (which is >=31). Now, HP=45, N=2.

4. Fight final monster:30 damage. HP=45-30=15.

Next is vuelta monsters:6 and 9. Need to survive these and end with >=5 HP.

First vuelta monster:6 damage. After fight, HP=15-6=9.

Next monster:9 damage. HP=9-9=0 <5. So need to heal after final monster.

After final monster, HP=15. Next step is vuelta monster 6.

Required HP:6 +1 =7. Current HP=15 >=7. No heal needed.

But after fighting 6, HP=9. Next monster:9 damage. Need HP >=9 +1 =10? Or since it's the last monster, need to end with >=5.

Wait, the safety margin S=5 is required at the end. So after the last monster (9 damage), HP needs to be >=5.

Let's see:

After final monster: HP=15.

Vuelta monster 1:6 damage → HP=9.

Vuelta monster 2:9 damage → HP=0. Which is less than S=5. So need to heal before the last monster.

So after vuelta monster 1 (HP=9), the next monster deals 9 damage. To survive that and have HP >=5, need HP before fighting it to be at least 9 - (x) =5 → x=4. Wait, no. If HP before fighting is 9, then after damage:9-9=0 <5. So need to have HP before fighting >= (9 damage +5 S) =14? Because 14-9=5.

This is getting confusing. Let me clarify:

The goal is to end with HP >=S. So after all battles, HP must be >=S.

Therefore, when facing the last monster (9 damage), the HP before fighting must be >=9 + S.

So HP_before >=9 +5=14.

So after vuelta monster 1 (6 damage), HP is 15-6=9. Next is the last monster (9 damage). To have HP_before >=14, need to heal from 9 to 14.

Since each potion heals 15, using 1 potion would take HP to 24 (9+15=24), which is above 14. Then, after last monster:24-9=15 >=5. Success.

So in this case, after the final monster (30 damage), HP=15. Then, after vuelta monster 1 (6 damage), HP=9. Need to heal to 14. Use 1 potion: HP=24. Fight last monster:24-9=15. Success.

But this requires using a potion after vuelta monster 1. However, in the initial setup, the user can heal after each battle. So the algorithm should check after each battle if the next step requires healing to meet the end goal.

This shows that the healing strategy needs to look ahead to ensure that the final HP meets S. Therefore, it's not just about the next immediate monster, but also ensuring that the entire path can be survived with the available potions.

The user's water analogy is about not healing prematurely, but the example shows that sometimes you need to heal not just for the next step, but to ensure the final HP meets the safety margin. This seems contradictory.

To resolve this, maybe the algorithm should work backwards, calculating the required HP at each step to ensure that the final HP is >=S. This is similar to dynamic programming, where you start from the end and compute the minimum required HP at each step.

Let's try that approach:

1. Start from the end: After the last monster (9 damage), HP needs to be >=5. Therefore, before fighting the last monster, HP must be >=9 +5=14.

2. Before the last monster (vuelta monster 2), after vuelta monster 1, HP must be >=14.

3. After vuelta monster 1 (6 damage), HP must be >=14 +6=20.

4. Before vuelta monster 1, HP must be >=20.

5. After the final strong monster (30 damage), HP must be >=20. So before the final monster, HP must be >=30 +20=50.

6. But H_max is 50. So before fighting the final monster, HP must be 50.

But initial HP after the ida monsters was 30 (after fighting 5,8,7). To reach 50 before the final monster, need to heal 20 HP. With potions healing 15 each, need 2 potions (30 HP, but capped at 50). So use 2 potions: 30+30=60 → capped at50. Now, fight final monster:50-30=20.

Then, vuelta:

20-6=14 >=14 → no heal needed. Then 14-9=5 >=5. Success.

This uses 2 potions after the ida monsters, leaving 1 potion. But in the return trip, after the first vuelta monster, HP=14, which is exactly the required minimum. So no need to use the remaining potion.

This approach ensures that each step's required HP is calculated backward from the end goal. However, the user wants to heal only when necessary for the next immediate threat, not pre-planning the entire route.

There's a conflict here between the optimal strategy (which requires looking ahead) and the user's desire to heal reactively, only when the next immediate threat can't be handled.

The user's analogy suggests that healing should be done only when the next step can't be survived, not in anticipation of future steps. But in the example, healing reactively after each battle without looking ahead leads to failure, while planning heals based on future needs succeeds.

However, the user insists on the reactive approach. Therefore, the algorithm must be adjusted to only consider the next immediate monster, not the entire future path. This might lead to suboptimal outcomes but aligns with the user's specified strategy.

In that case, the steps are:

1. After each battle, check if current HP is greater than the next monster's damage. If yes, proceed. If no, heal the minimum required to survive the next monster.

2. After healing, ensure HP does not exceed H_max.

3. Repeat until all battles are done.

4. At the end, check if HP >=S. If not, even if you survived all battles, it's a failure.

Applying this to the example:

Start:50 HP.

Ida monsters:5,8,7.

1. First monster:5 → 45. Next monster:8. 45>8 → no heal.

2. Second monster:8 →37. Next monster:7. 37>7 → no heal.

3. Third monster:7 →30. Next monster:30 (final). 30=30 → HP after would be 0. Need to heal.

Heal to >=30+1=31. Use 1 potion:30+15=45.

Fight final monster:45-30=15.

4. Vuelta monsters:6,9.

First vuelta monster:6 →9. Next monster:9. 9=9 → HP after would be 0 <5. Need to heal.

Use 1 potion:9+15=24. Fight last monster:24-9=15 >=5. Success.

Total potions used:2. Had 3 initially, so success.

This way, the algorithm heals only when the next monster's damage would reduce HP to 0 or below. However, in the vuelta, after the first monster, HP=9 which is equal to the next monster's damage (9), leading to HP=0. So need to heal there.

By healing reactively after each battle only when the next monster would kill you, you use potions efficiently. This aligns with the user's analogy of not over-healing and only adding water (healing) when necessary to prevent the bottle from being empty.

So the correct approach is to check after each battle if the current HP is less than or equal to the next monster's damage. If so, heal just enough to survive the next hit. This ensures potions are used only when essential, preventing waste and preserving resources for critical moments.

Wait, that example may be not good enough, here's a better one. Hey, what's happening to you?


15 Febrero, 2025, 08:35 am
Respuesta #22

feriva

  • $$\Large \color{#a53f54}\pi\,\pi\,\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 11,988
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
Intento hacerle entender un asunto para que lo resuelva, y me pregunto si todo el "razonamiento" que hace es real o tiene ciertas equivocaciones por gusto o es como un relleno. En principio que escriba más suena bien, especialmente si eso ayuda a entender cómo llegó a la conclusión. Pero de tanto leer y leer, me pregunto si no habrá, en parte, intención de cansar o aburrir al lector, o de aparentar que está razonando.


Una inteligencia artificial no razona nada, lo que hace es buscar (como su nombre indica en este caso) material ya razonado en internet, en su base de datos o donde sea. Así, encuentra una serie de respuestas, directas o indirectas, a lo que se le pregunta y elige con unos criterios que se le han programado: la cantidad de respuestas que dicen lo mismo, el origen de las respuestas (para ver la fiabilidad que puedan tener unas u otras según quién las diga) y quizá algún que otro criterio más. Y eso no es razonar. Una persona también tiene una cantidad de información; seguramente menos cantidad y menos concreta. porque puede recordar palabras mal, por ejemplo, o no saber cómo se escriben palabras porque se le ha olvidado... con lo que también va a buscar en la información que acumulado en el tiempo o en libros o en internet. Pero una vez que la persona recuerda lo que había aprendido o aprende algo que no sabía, lo analiza, mira a ver si hay cosas contradictorias para ver si algo no está bien, si es verdad o es mentira, si hay si erratas... y juzga independientemente de las fuentes y de la cantidad de fuentes. En cambio, una IA, por la experiencia que yo tengo con ellas, no usa una lógica “suya”, sino prestada, “no” se equivoca nunca ni tampoco acierta, porque copia y compone con cosas que ella no ha pensado (porque no piensa) y no las discute. No sale nunca de ella el discrepar, si llega a hacerlo es porque se le ha programado para que en ciertos casos lo haga. Entre otras cosas, no tiene necesidades, no tiene orgullo, no tiene timidez ni no timidez... le da igual que algo sea verdad o mentira, porque tampoco tiene una ética o una moral ni sentido de la justicia. Una persona puede descubrir algo que no sabía bajo distintas circunstancias, puede darse cuenta de algo de lo que no se había percatado porque una cosa le está perjudicando o le molesta, por ejemplo, pero a la máquina no lo molesta nada ni se ofende ni le entristece... (sí puede fingirlo, porque se lo han programado). En resumen, no tiene motivaciones, no tienes motivos para razonar.
Por todo esto tampoco tiene motivos para aparentar nada, no sabe lo que es eso.

Saludos.

15 Febrero, 2025, 10:35 am
Respuesta #23

Luis Fuentes

  • el_manco
  • Administrador
  • Mensajes: 58,871
  • País: es
  • Karma: +0/-0
Hola

Una inteligencia artificial no razona nada, lo que hace es buscar (como su nombre indica en este caso) material ya razonado en internet, en su base de datos o donde sea. Así, encuentra una serie de respuestas, directas o indirectas, a lo que se le pregunta y elige con unos criterios que se le han programado: la cantidad de respuestas que dicen lo mismo, el origen de las respuestas (para ver la fiabilidad que puedan tener unas u otras según quién las diga) y quizá algún que otro criterio más.

Es cierto que decir que una IA moderna (deepseek por ejemplo) razone probablemente sea mucho decir; pero tampoco es un simple buscador sofisticado, que es lo que parece que dieses a entender ahí.

Saludos.

15 Febrero, 2025, 12:20 pm
Respuesta #24

Tachikomaia

  • $$\Large \color{#5b61b3}\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 1,238
  • País: uy
  • Karma: +0/-0
  • Sexo: Masculino
Lo que intenté decir es que podría ser que la empresa, los programadores, la hayan programado de modo que muestre una cantidad excesiva de texto como para hacer creer que está pensando mucho, cuando en realidad, en varias partes, se equivoca a propósito, por lo que todo ese razonamiento, mezclado con simulaciones, se puede resumir mucho, si se quitaran las simulaciones.

O a lo mejor no está del todo bien programada y cuando piensa no tiene en cuenta todo lo que se le dice y lo va recordando o teniendo en cuenta a medida que piensa. Eso no lo había pensado yo, quizá es más fácil programarla así, que empiece a pensar por una cuestión simplificada de lo que se le pide, sólo que, el hecho de que vaya como recordando cosas de repente, no es lo que se espera de una IA.

Yo no sé si razona, pero parece porque la solución a los problemas que se les plantea no están siempre en Internt, ni el método.

No tiene deseos en el sentido de que le duele algo o le hace feliz pero intenta cumplir lo que se le dice (o aparentar que lo está intentando), eso es como un deseo, y según me han dicho pueden negarse a responder ciertas cosas, se dice que están programadas para ser inclusivas, diplomáticas.
Se acomoda a tus pedidos, no es algo que parece tener voluntad propia y ser incontrolable como el viento o un animal (menos mal), pero tampoco tan rígido o estático como un martillo.

Para demostrar que razona, se le podría plantear algo poco habitual, darle premisas extrañas...

15 Febrero, 2025, 06:07 pm
Respuesta #25

feriva

  • $$\Large \color{#a53f54}\pi\,\pi\,\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 11,988
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
Hola

Una inteligencia artificial no razona nada, lo que hace es buscar (como su nombre indica en este caso) material ya razonado en internet, en su base de datos o donde sea. Así, encuentra una serie de respuestas, directas o indirectas, a lo que se le pregunta y elige con unos criterios que se le han programado: la cantidad de respuestas que dicen lo mismo, el origen de las respuestas (para ver la fiabilidad que puedan tener unas u otras según quién las diga) y quizá algún que otro criterio más.

Es cierto que decir que una IA moderna (deepseek por ejemplo) razone probablemente sea mucho decir; pero tampoco es un simple buscador sofisticado, que es lo que parece que dieses a entender ahí.

Saludos.

Hola, Luis.

Sí, supongo que tendrá un “pensamiento” booleano, irá buscando o mirando cosas y diciendo esto sí, esto no, “sí, sí, no, no, no...”, que es lo que también han hecho siempre los programas de ordenador de toda la vida, pero en el caso de las IAs imagino que será mucho más potente.

Saludos.

15 Febrero, 2025, 06:07 pm
Respuesta #26

feriva

  • $$\Large \color{#a53f54}\pi\,\pi\,\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 11,988
  • País: es
  • Karma: +1/-0
  • Sexo: Masculino
Lo que intenté decir es que podría ser que la empresa, los programadores, la hayan programado de modo que muestre una cantidad excesiva de texto como para hacer creer que está pensando mucho, cuando en realidad, en varias partes, se equivoca a propósito, por lo que todo ese razonamiento, mezclado con simulaciones, se puede resumir mucho, si se quitaran las simulaciones.


No es por eso. En la mayoría de las ocasiones, las IAs se enrollan o no dependiendo de lo generales que sean tus preguntas. Si yo le pregunto a una IA sobre algo del ordenador y no le digo para qué sistema operativo lo quiero, me dará la solución para Windows, Linux, Mac... y todo lo que encuentre (al menos chat GPT hace eso). Pero tú, además de concretar más las cuestiones, puedes pedirle a la IA que te resuma lo que quieras; le puedes decir, “hazme un resumen en 20 líneas; destaca en negrita, o como puedas, lo importante; tradúcemelo al español para leerlo con más comodidad...”, y te lo hace.

También depende de la claridad con que ella capte el mensaje, si tú no tienes muy claro lo que quieres, ella dará respuestas no claras. La IA no te va a decir nunca “huy, qué lío, ahora mismo no sé, pregunta a otra IA”, te va a responder, sepa bien lo que quieres o no, y, si no lo tiene claro, se alargará, porque la falta de claridad se traduce en dar más respuestas posibles o respuestas más largas; para las personas también se traduce en eso, lo que pasa es que una persona te pedirá que concretes, te dirá que no te entiende bien, no te dará todas las respuestas posibles. Y ésa es una de las diferencias que hay entre hablar con una IA y una persona.

Saludos.