Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Tachikomaia

#941
Aún no vi que el siguiente código halle alguna solución, por lo que quizá no funciona.
Escena 1
  actions for fotograma 1
     MejorMetodo = "¿?";
     MMIntentosRequeridos = 100;
     MaxIntentosporSecreto = 3;
     // Nodos.
     // El nombre describe la situación.
     // El contenido es sustituido por V(X).
     N = 1;
     N00 = 1;
     N01 = 1;
     N02 = 1;
     N10 = 1;
     N0000 = 1;
     N0001 = 1;
     N0002 = 1;
     N0010 = 1;
     N0100 = 1;
     N0101 = 1;
     N0102 = 1;
     N0110 = 1;
     N0200 = 1;
     N0201 = 1;
     N0202 = 1;
     N0210 = 1;
     N1000 = 1;
     N1001 = 1;
     N1002 = 1;
     N1010 = 1;
     // Valores. También usados por NúmeroSecreto.
     V1 = 12;
     V2 = 13;
     V3 = 21;
     V4 = 23;
     V5 = 31;
     V6 = 32;
     // Referencias. Usado para variar fácilmente el contenido de los nodos.
     R0 = "N";
     R1 = "N00";
     R2 = "N01";
     R3 = "N02";
     R4 = "N10";
     R5 = "N0000";
     R6 = "N0001";
     R7 = "N0002";
     R8 = "N0010";
     R9 = "N0100";
     R10 = "N0101";
     R11 = "N0102";
     R12 = "N0110";
     R13 = "N0200";
     R14 = "N0201";
     R15 = "N0202";
     R16 = "N0210";
     R17 = "N1000";
     R18 = "N1001";
     R19 = "N1002";
     R20 = "N1010";
  actions for fotograma 2
     NumeroSecreto = 1;
     Intentos = 0;
     MetodoProbandose = N+""+N00+N01+N02+N10+N0000+N0001+N0002+N0010+N0100+N0101+N0102+N0110+N0200+N0201+N0202+N0210+N1000+N1001+N1002+N1010;
  actions for fotograma 3
     Chequear = "N";
     ChequearTraducido = eval("V"+eval(Chequear));
     IntentosEnesteSecreto = 0;
     NumeroSecretoTraducido = eval("V"+NumeroSecreto);
  actions for fotograma 4
     IntentosEnesteSecreto = IntentosEnesteSecreto+1;
     if (NumeroSecretoTraducido == ChequearTraducido) {
        // Secreto adivinado.
        Intentos = Intentos+IntentosEnesteSecreto;
        if (NumeroSecreto<6) {
           // Probar el método con otro secreto.
           NumeroSecreto = NumeroSecreto+1;
           gotoAndPlay (3);
        } else {
           // El método adivinó todo secreto dentro del plazo.
           if (Intentos<MMIntentosRequeridos) {
              // El método es el mejor por ahora, guardarlo.
              MMIntentosRequeridos = Intentos;
              MejorMetodo = MetodoProbandose;
              trace ("El mejor método por ahora es "+MejorMetodo);
           }
           // Modificar método.
           gotoAndPlay (6);
        }
     } else if (NumeroSecretoTraducido.charAt(0) == ChequearTraducido.charAt(0)) {
        Chequear = Chequear+"10";
     } else if (NumeroSecretoTraducido.charAt(0) == ChequearTraducido.charAt(1)) {
        if (NumeroSecretoTraducido.charAt(1) == ChequearTraducido.charAt(0)) {
           Chequear = Chequear+"02";
        } else {
           Chequear = Chequear+"01";
        }
     } else if (NumeroSecretoTraducido.charAt(1) == ChequearTraducido.charAt(0)) {
        Chequear = Chequear+"01";
     } else {
        Chequear = Chequear+"00";
     }
  actions for fotograma 5
     if (IntentosEnesteSecreto<MaxIntentosporSecreto) {
        // Probar siguientes nodos.
        ChequearTraducido = eval("V"+eval(Chequear));
        gotoAndPlay (4);
     }
     // sino modificar método.
  actions for fotograma 6
     // Modificar método.
     Puntero = 0;
  actions for fotograma 7
     if (eval(eval("R"+Puntero))<6) {
        set (eval("R"+Puntero), eval(eval("R"+Puntero))+1);
        gotoAndPlay (2);
     } else {
        if (Puntero<20) {
           set (eval("R"+Puntero), 1);
           Puntero = Puntero+1;
        } else {
           // Ya se probaron todos los métodos. Mostrar el mejor.
           trace (MejorMetodo);
           stop ();
        }
     }
     // Problema en casos más difíciles: Está abierto a dar números con subnúmeros repetidos. No debería.
  actions for fotograma 8
     gotoAndPlay (7);

Vale decir, no obstante, que cuando hice las pruebas, en el frame 4 donde por ejemplo dice +"00" antes era +00 y por lo que acabo de ver, en el modo Explorador de películas se mostraba como +0, por lo que quizá el intérprete, compilador o lo que sea, lo interpretaba así también. Extraño. Pero le puse las comillas por las dudas.
Ayer dejé la compu prendida pero se apagó, y no sé cuánto tarda el código pero es mucho. Creo que debe probar 6^20 métodos variando a su vez los números secretos, o sea (6^20)*6 aunque descartando un método cuando no haya un número, lo cual ocurre en la mayoría de esos nuevos casos.

Definitivamente sería bueno agilizar ese código. ¿Ideas?

En cuanto a cómo funciona, escribí esto:
CitarEl árbol es más o menos así:

  /-N00 -> N0000, N0001, etc
 /-N01
N
 \-N02
  \-N10

No está completo porque me aburre mucho completarlo, pero eso que ven son los nombres de las variables que marcan qué número se usará al inicio (N), al recibir la pista 0-0 (N00), al recibir la pista 00 y luego de nuevo 00 (N0000), etc.
Por ejemplo N puede ser 12. Inicialmente digamos que todas son 11 (recuerden que el juego sólo admite poner subnúmeros distintos, pero por ahora para no complicarme lo dejo así)..

¿Por qué esos nombres?
Porque así me resulta fácil referirme a la variable que necesito. Si me estoy refiriendo a la variable N y obtengo la pista 00, agrego 00 a lo que ya tenía (en este caso N) y sé que la siguiente variable a usar será N00.

El programa tomará uno de los números secretos posibles y usará el árbol para intentar adivinarlo.
Si lo adivina en 3 tiradas o menos, cambia el número secreto.
Si adivina todos los números así, entonces ese método se guarda si es mejor que los anteriores guardados.

Sea que el método resultó malo o bueno, ahora hay que variarlo, probar otro. Esto es un problema, porque debido al nombre que puse a las variables, no puedo decir "varía la V1, si está al máximo entonces la V2, etc",. hablamos por ejemplo de 0000, luego 0001, luego 0002, luego 0010, no es fácil o rápido indicar cual variar luego de cual.
La solución que hallé, es crear R1, R2, etc, que son referencias a las variables de nombres raros. Así:
R0 = "N"
R1 = "N00"
R2 = "N01"
etc
Entonces si eval(eval(R1)) no está al máximo eso aumenta, sino aumenta evalevalR2, etc.
Pero otra cosa más es necesaria para simplificar. Como los posibles códigos secretos dan saltos de por ejemplo 13 a 21, los he puesto en una lista y las variables N00, etc, no contienen 12 por ejemplo, sino referencias a una posición de la lista, donde sí está el 12, etc.
La variación del número secreto también hace eso.

Esto es el árbol inicial, es decir, el contenido de las variables, no sus nombres.

  /-1 -> 1, 1, etc
 /-1
1
 \-1
  \-1

Esto es la lista de la que toman valores cuando se necesita ver qué números indican esos nodos:
V1 = 12
V2 = 13
etc (los nombré al inicio del tema).

Bueno, espero que se entienda, pero sino, si conocen otro método y me lo dicen de modo que yo lo pueda entender buenísimo.
#942
WS:
Acabo de darme cuenta que la respuesta es no. Porque como dije en el 1er post, y lo olvidé, muchos me han dicho que yo no sé programar o programación y entonces ya ni lo discuto.

De momento tengo esto:
Escena 1
   actions for fotograma 1
      MejorMetodo = "¿?";
      MMIntentosRequeridos = 10;
      MaxIntentosporSecreto = 3;
      // Nodos.
      // El nombre describe la situación.
      // El contenido es sustituido por V(X).
      N = 1;
      N00 = 1;
      N01 = 1;
      N02 = 1;
      N10 = 1;
      N0000 = 1;
      N0001 = 1;
      N0002 = 1;
      N0010 = 1;
      N0100 = 1;
      N0101 = 1;
      N0102 = 1;
      N0110 = 1;
      N0200 = 1;
      N0201 = 1;
      N0202 = 1;
      N0210 = 1;
      N1000 = 1;
      N1001 = 1;
      N1002 = 1;
      N1010 = 1;
      // Valores. También usados por NúmeroSecreto.
      V1 = 12;
      V2 = 13;
      V3 = 21;
      V4 = 23;
      V5 = 31;
      V6 = 32;
   actions for fotograma 2
      NumeroSecreto = 1;
      Intentos = 0;
      MetodoProbandose = N+""+N00+N01+N02+N10+N0000+N0001+N0002+N0010+N0100+N0101+N0102+N0110+N0200+N0201+N0202+N0210+N1000+N1001+N1002+N1010;
   actions for fotograma 3
      Chequear = "N";
      ChequearTraducido = eval("V"+eval(Chequear));
      IntentosEnesteSecreto = 0;
      NumeroSecretoTraducido = eval("V"+NumeroSecreto);
      trace ("El número secreto es "+NumeroSecretoTraducido);
   actions for fotograma 4
      IntentosEnesteSecreto = IntentosEnesteSecreto+1;
      trace (MetodoProbandose+" probó "+ChequearTraducido);
      if (NumeroSecretoTraducido == ChequearTraducido) {
         // Secreto adivinado.
         trace (MetodoProbandose+" adivinó "+NumeroSecretoTraducido);
         Intentos = Intentos+IntentosEnesteSecreto;
         if (NumeroSecreto<6) {
            // Probar el método con otro secreto.
            NumeroSecreto = NumeroSecreto+1;
            gotoAndPlay (3);
         } else {
            // El método adivinó todo secreto dentro del plazo.
            if (Intentos<MMIntentosRequeridos) {
               // El método es el mejor por ahora, guardarlo.
               MMIntentosRequeridos = Intentos;
               MejorMetodo = MetodoProbandose;
               trace ("El mejor método por ahora es "+MejorMetodo);
            }
            // Modificar método.
            gotoAndPlay (6);
         }
      } else if (NumeroSecretoTraducido.charAt(0) == ChequearTraducido.charAt(0)) {
         Chequear = Chequear+10;
      } else if (NumeroSecretoTraducido.charAt(0) == ChequearTraducido.charAt(1)) {
         if (NumeroSecretoTraducido.charAt(1) == ChequearTraducido.charAt(0)) {
            Chequear = Chequear+0;
         } else {
            Chequear = Chequear+0;
         }
      } else if (NumeroSecretoTraducido.charAt(1) == ChequearTraducido.charAt(0)) {
         Chequear = Chequear+0;
      } else {
         Chequear = Chequear+0;
      }
   actions for fotograma 5
      if (IntentosEnesteSecreto<MaxIntentosporSecreto) {
         // Probar siguientes nodos.
         ChequearTraducido = eval("V"+eval(Chequear));
         gotoAndPlay (4);
      }
      // sino modificar método.
   actions for fotograma 6
      // Modificar método.
      if (N10<6) {
         N10 = N10+1;
      } else {
         N10 = 1;
         if (N02<6) {
            N02 = N02+1;
         } else {
            N02 = 1;
            if (N01<6) {
               N01 = N01+1;
            } else {
               N01 = 1;
               if (N00<6) {
                  N00 = N00+1;
               } else {
>>>           // Hay que seguir poniendo ifs aquí, por ej para N0000.
                  // Ya se probaron todos los métodos. Mostrar el mejor.
                  trace (MejorMetodo);
                  stop ();
               }
            }
         }
      }
   actions for fotograma 7
      gotoAndPlay (2);
Independientemente de lo que falta, no sé si funciona bien. Hallé una solución para las referencias, pero me hice un poco de lío porque hice un código para resolver el problema 2/2 y de repente estaba haciendo el 2/3, sin haber chequeado que el 2/2 lo resolviera bien.
Los ifs creo que pueden mejorarse con algo de eval, pero de momento no lo intenté, otro día será.

En cuanto a las referencias, no sé si se entiende.
Estos son los nombres de los nodos:
   /--> N00 --> Dependiendo de cual sea la pista: (N0000, N0001, N0002, N0010)
   /--> N01 -->
N
   \--> N02 -->
    \--> N10 -->
Se entiende que no los escribí todos en eso, pero que los nombres están basados en las pistas. Se pueden hacer más cortos, pero para mí sería más complicado.
Estos son los contenidos iniciales:
   /--> 1 --> (1, 1, 1, 1)
   /--> 1 --> (1, 1, 1, 1)
1
   \--> 1 --> (1, 1, 1, 1)
    \--> 1 --> (1, 1, 1, 1)
Sí, todos 1. Sí, obviamente eso no es la solución, es tonto probar eso, pero así es la fuerza bruta, sólo pensar cómo hacer que la compu resuelva el problema, no pensar más de lo necesario.
Y esos contenidos se interpretan o traducen a valores marcados por variables V.

¿Y por qué rayos eso?
En este momento no sé explicarlo, me perdí (pronto me voy a dormir). Pero háganlo de otra forma si saben, me serviría.

Por otro lado, tengo esta versión anterior, una parte:
function AumentarSecreto () {
if (NumeroSecreto.charAt(1) < 3) {
NumeroSecreto = Number(NumeroSecreto.charAt(0)+""+(NumeroSecreto.charAt(1)+1));
} else {
NumeroSecreto = Number(NumeroSecreto.charAt(0)+"1");
if (NumeroSecreto.charAt(0) < 3) {
NumeroSecreto = Number((NumeroSecreto.charAt(0)+1)+NumeroSecreto.charAt(1));
} else {
//Imposible aumentar, avisar.
}
// Chequear que no haya repets.
}
function AumentarvalordeNodos () {
if (X < 13) {
X = X+1;
} else if (X == 13) {
X = ;
A pesar de todo, lo que hice me parece más simple que eso. Para variar el número secreto, como no podía hacer+1 porque por ejemplo de 13 pega un salto a 21, tenía que modificar el último caracter, y si llega al límite entonces también el 1ero. Además, de esa forma podía haber números repetidos, cosa que en el juego no sucede.
Lo que hice en la nueva versión fue hacer una lista de los valores y que la variable a aumentar tuviese una referencia a una parte de dicha lista, así que al aumentar el valor de esa referencia pasa al siguiente valor, sin que sea posible que haya números repetidos.

En cuanto a aumentar el valor de los nodos, es igual pero con un montón de ifs porque es uno para cada nodo, pero es algo que tendré que optimizar.
Ahora bien, lo que estaba haciendo en la versión vieja es intentar evitar manejar cambios por caracteres, entonces iba a hacer varios ifs como que si es 11 o 12 se le suma 1, sino si es 13 salta a 21, etc.
La X era un intento de reducir los ifs, porque imagínense, por cada nodo había que poner como 10 ifs.

En fin, creo que lo peor ha pasado. Gracias por el apoyo.
#943
WS:
Me pones en un lío, porque mira:
Si sé hacerlo,
   y te digo que sí,
      creo que desmostrártelo me tomaría mucho tiempo/esfuerzo que no tengo ganas de perder/hacer, por lo tanto no me creerías y me haría más mal que bien decirte que sí. Y a la conversación supongo que igual. También podría decirte que sí y que si no me crees no es mi problema, pero creo que estaríamos más o menos en la misma, o peor. O es un riesgo que no quiero correr.
   sino si te digo que no,
      me siento mal porque yo es como si creyera en el karma, lo cual en este sentido, me causaría perder la habilidad de hacer algo que sí sé.
si no sé hacerlo
   y te digo que no sé,
      no hay problema.
   sino si te digo que sí
      sería un imbécil
Así que, o lo sé y no te daré pruebas, o no lo sé. Quizá soy demasiado soberbio como para admitir que no lo sé. Lo dejo a tu criterio.

Pero antes de intentar un árbol que se cree sólo, intentaría hacerlo manualmente. Precisamente eso haré. Además, como te dije, hacer referencia a los nodos me resulta muy complicado. Si por ejemplo lo hago así:

   /--M11
  M1-M12
/
M
Entonces para volver al nodo anterior simplemente llamo a una variable que tenga un número menos. Si fuesen más de 10 nodos (posibles movimientos a partir de una situación) en un caso se me complica, pero (se me acaba de ocurrir) podría llamarles M01 y sé que siempre tengo que borrar 2 números por cada nodos a los que vuelva. Lo que me complicaría de ese modo, creo, es la creación del árbol. No quisiera hacerlo manualmente.
Pero yo no lo quiero hacer de ese modo...
¿Vos me planteas representar en 1 árbol todas las posibles situaciones del juego? Entonces yo no tengo problema con las referencias.
Pero yo en el juego que te dije quiero que los posibles caminos representen las pistas, mientras que el contenido de los nodos sea variable. Y eso es lo que me resulta difícil. Supongamos que varío el M44. Cuando ya no quedan más opciones, variaré el M43 y el M44. Así sucesivamente, hasta el 41. Luego tengo que bajar al 34. Eso es lo que me complica, esos saltos que tengo que dar. No le veo mucho sentido a poner ifs indicando esos saltos. Si no me entendés esperá algunos días a que haga el code en modo super simplificado. Estoy más enganchado con el juego 2d que con esto, por eso en parte tardo.
Con mi método creo que el árbol sería más pequeño, no representa todo en 1 imagen, y aún así encuentra la solución.


tincopasan:
Es lo que quiero, si es posible que eso funcione. En cuanto al nombre me baso en esto:
https://es.wikipedia.org/wiki/B%C3%BAsqueda_de_fuerza_bruta
"consiste en enumerar sistemáticamente todos los posibles candidatos para la solución de un problema, con el fin de chequear si dicho candidato satisface la solución al mismo."

"es sencilla de implementar y, siempre que exista, encuentra una solución."

¿Qué es lo que está ocurriendo entonces? ¿el jueguito en cuestión es tan complicado que hasta este método "sencillo de implementar" no es tal?
#944
Deberían hacer esas papas sin sal o con 50% o vaya a saber. Me gustan pero son muy saladas.

Por cierto yo intenté cultivar papas en mi casa pero generalmente me salen pequeñitas o se las come algún bicho (a la planta). Hormigas, caracoles, babosas, escarabajos extraños, unos bichitos marrones que las llenan de telas, y ahora tengo una (y sólo tenía 1 en ese lugar) que de un día a otro quedó sin hojas y justo tenía una tapa blanca abajo y quedó llena de unas cositas negras que parecen ser cada de algún bicho no muy pequeño.
#945
Creo que fue ayer cuando googlé y no me apareció algo especial. Hoy tampoco, y eso que hoy vi que era en imagenes según tu foto. Pero la 1era foto no me aparece. ¿Será porque mi Chrome está desacualizado?
CitarError 1011 Ray ID: (borré esto)
Access denied
#946
Cita de: srWhiteSkull en 27 Abril 2019, 03:12 AM
Para ganar en juegos de tablero o en juegos donde las posibles jugadas abran ramas de múltiples decisiones se usan sistemas de redes neuronales.
Lo que había visto de eso eran unos árboles en los que cada punto o neurona multiplicaba el valor por un número que se iba ajustando, y me pareció algo confuso y menos eficiente u ordenado que una fuerza bruta. Además, como está tan de moda, qué sé yo, prefiero ir por otro lado.

CitarYo que tú primero aprendería a programar algo menos ambicioso
Es que no pensé que lo fuera tanto. De momento lo que me jode como comenté en el 2ndo post es que no sé cómo nombrar las variables como para poder llamarlas o modificarlas sin problema.
Algo que quizá me serviría es poder convertir conteos de 10 números (0, 1, 2, 3, 4... 10, 11...) a 4 (1, 2, 3, 4, 12) pero salteando repeticiones (olvidé eso) uf...
No hice aún lo que dije que haría, veré.

Citarun algoritmo que use ese sistema (árboles n-arios) para ganar un cuatro en línea contra un humano.
Con mi antiguo sistema no sé cómo hacerlo debido a que hay un rival. Capaz que no es tan difícil pero nunca probé y como digo estoy muy olvidado de aquello y desganado de volver a usarlo por ahora.
Para lo que me pides y cómo lo pides, se me ocurren 2 posibles formas:
Los casilleros del tablero son numerados de esta forma:
1, 2, 3, 4
5, 6, 7, 8
etc

Y:
0 significa que hay un 0
1 significa que está vacío
2 significa que hay cruz

Método A:
2111111111111111
   2011111111111111
   2101111111111111
   etc
1211111111111111
etc
Eso habría que generarlo con código. Son todos los posibles tableros en el orden conque pueden ocurrir, si empieza la X.
Desventaja: Es posible producir situaciones repetidas, en que sólo cambia el cómo se llega a ella. Supongo que no es mucho problema si hay forma de dejar marcado que sí se llegó a ella y ya fue revisada.
Se parece mucho a mi antiguo método.

Método B:

        /-2-Win
       /-1
      /-0
  /-2
2--1
\-0

1

0
Obviamente tampoco está completo. Eso muestra, en cada "columna", los posibles estados de un casillero. En la izquierda, el casillero 1, más a la derecha el 2, etc.
Ventajas: Más fácil de hacer.
Desventajas: Se generan situaciones imposibles.
Si puedes evitar la desventaja, bárbaro, pero veo otra...: No sé cómo esto puede servir para que el programa aprenda, es decir, le estás dando las soluciones, eso no es que aprenda experimentando, es que copie...


El video no me pareció muy instructivo que digamos... Habla de muchas cosas complejas que no explica y que no sé si en última instancia sirven (quizá son sólo optimizadores, pero no son algo necesario; yo por ahora sólo necesito lo necesario).

¿Qué opinas de lo que había dicho? ¿no es la fuerza bruta un método que puede resolver cualquier problema? ¿por qué entonces parece que no puedo aplicarlo aquí? ¿es que no logro ingeniarme o que el método no sirve aquí? ¿qué propiedades así de determinantes hay en los problemas? En el sentido de qué cosas en ellos hacen que la fuerza bruta u otros métodos conocidos se vuelvan inaplicables. El video habla por ejemplo de variables desconocidas, pero me gustaría ver una clasificación más clara, o algo más explicado.
¿Y cómo hago referencia a variables cuando...? Lo planteado en el 2ndo post.

Mira, puede que no sepa hacer siquiera un 2 en línea (tablero de 2x2 imagino), pero más cierto me parece que no tengo ganas de intentarlo, pues siento que me desviaría mucho. Lo que haré es intentar el juego que propose pero con 2 números y sólo 2 posibles números, y luego 3. Luego, recién los 4, y luego sí 3 números y 6 posibles. A ver qué sale.
#947
Si quieres "unirte" un poco a mí responde alguno de los 48932873 temas que tengo en programación general sin respuestas. O sino seguí intentando unir a la gente del foro mediante un medio que no sea el foro. Yo hago lo mismo: Voy a foros de reguetoon a decirle a la gente que venga a este foro. Vienen despacito pero vienen.
#948
Juegos y Consolas / Re: Jugadores Brabucones
26 Abril 2019, 23:20 PM
El título dice bravucones y luego dice que son más fuertes.

No es lo mismo mijo. Bravucones es que insultan o cosas así porque sí. Es un problema para el cual mereces ayuda. Pero si sólo son más fuertes entonces es problema tuyo, busca una guía del juego, podrías estar queriendo hacer trampa en el juego, si es así deberías decirlo claro, pero si ni siquiera has dicho el juego. Es lógico que se burlen de ti si te expresas tan mal o no tienes nociones mínimas de cómo pedir algo ni probablemente de otras cosas. Lo lamento por ti, yo era más o menos igual. Deberías dejar los jueguitos un poco y leer cosas de filosofía por ejemplo.
#949
Es que es obvio que no responden y el cartel se mete encima de cualquier otra cosa que esté haciendo, así que molesta, sólo sirve para enlentecer más la carga supongo.

He googleado en distintas ocasiones pero no encontré la solución.
#950
Me parece que, desde que quité las actualizaciones automáticas de Avast, sucede.

Es que en aquél entonces supuestamente Avast iniciaba un proceso llamado instup.exe que prácticamente trancaba mi computadora (y no me pasa sólo a mí, pero en el foro de Avast no me dieron la solución), no podía cerrarlo, ni bajarle la prioridad, y ni taskkill, ni taskill, o algo similar, funcionaron.

Por supuesto quizá nada tiene que ver con eso es un problema de hardware. Por ejemplo al encender la computadora me dice que tengo un disco checksum status bad, replace, o algo así, y tengo que presionar F4. Sí, uno de mis discos funciona mal. A veces la computadora deja de captarlo. Y quizá no es casualidad que, cuando se autoreinicia (auto porque yo no la mandé hacerlo) mi computadora no me aparece el mensaje. En este momento... exacto, según veo el disco no está siendo reconocido. Probablemente sea eso...

¿Y sino? ¿qué me recomiendan?

Ah, sí, tengo windows Xp sp3 (32 bits creo).