¿Existen programas web auto modificables, ya que el navegador web es perfecto para el código auto modificable?

Es posible escribir programas que generen programas, que es lo que hace un virus, pero un programa “normal” también podría modificarse solo. Por lo general, no tiene sentido hacer que al azar intente pegar bits sobre sí mismo. Hacemos eso con complementos, que deben estar bien escritos y probados, y el usuario elige.

Solo Javascript puede ejecutarse en todos los navegadores sin la ayuda de un complemento. Es el único lenguaje que puede hacer eso, y está cuidadosamente diseñado para no ser capaz de meterse con cosas que no deberían. Aun así, las personas encuentran lagunas para permitir que propague virus.

Hay un tipo de IA conocida como GA, algoritmos genéticos o programación genética, donde evolucionan los programas informáticos. Son útiles para resolver problemas del mundo real, pero nuestras computadoras actuales son demasiado lentas para realmente aprovecharlas al máximo y tenemos que especificar cuidadosamente la tarea que se supone que deben resolver.

No podemos, por ejemplo, crear una computadora que pueda aprender cosas desde cero en la misma medida que un humano puede (incluso dejando de lado que los humanos vienen con una gran cantidad de programación “innata” incorporada). Así que no podemos crear una computadora que pueda ser laboriosamente entrenada para hablar como un ser humano; nos vemos obligados a usar atajos que al final hacen un mal trabajo al producir algo parecido al discurso humano. Suenan bien, pero tener una conversación con ellos es como hablar con alguien que tiene una afección cerebral grave y que apenas ha visto el mundo exterior u otros humanos.

Pero hay programas que puede descargar que procesan, con algún incentivo u otro, y pueden vincularse y enviar los resultados del cálculo realizado en su computadora a alguna ubicación central. Por lo tanto, pueden crear efectivamente “nubes” masivas que pueden procesar grandes cantidades de datos. Pero la velocidad de comunicación entre PC separadas es uno de los muchos factores que aún no los hacen como un cerebro humano.

Es un trabajo difícil para un programa de computadora modificarse de manera inteligente. Hasta ahora solo puede funcionar si le decimos qué resultado queremos al final, y con la mayoría de las tareas de software, explicar el resultado final es más difícil que escribir el software usted mismo, aunque hay excepciones notables a eso.

Si las computadoras fueran mucho más poderosas, la programación genética también se volvería mucho más poderosa. Y quién sabe qué podríamos hacer entonces. Entonces, tal vez veremos qué tipo de diferencias existen realmente entre un cerebro digital y un cerebro analógico, a menos que de alguna manera podamos construir “analógico” en una computadora de escritorio, tal vez a través de alguna forma de computación cuántica.

Sin embargo, a menudo me he preguntado si sería posible hacer crecer una computadora a partir de células nerviosas vegetales.

No llamaría al navegador web “perfecto” en ese sentido.

De hecho, es bastante malo: JavaScript, el lenguaje que usan los navegadores, no tiene soporte incorporado para la metaprogramación, y los programas no pueden ver su propio código de máquina. Prefiero usar C y código de máquina (¿Puedes escribir un programa en C para demostrar un código auto modificable?) O Common Lisp (¿Cuáles son algunas cosas interesantes sobre Lisp?).

Cuidado, ¿podrías crear un ai marcado que se enfade y ddos ​​/ malware en todo Internet?

Las probabilidades de que eso suceda son probablemente similares a las probabilidades de arrojar un montón de rocas y arena al aire y tener un bombardero sigiloso completamente funcional functional Lo que significa que tal vez no sea imposible, pero ridículamente improbable 🙂

Si estas cosas te parecen interesantes, hay un juego llamado Core War, donde puedes dejar que los programas luchen entre sí *. La gente ha usado algoritmos genéticos para evolucionar guerreros allí, a veces incluso ganadores de torneos (un aspecto interesante es que, de hecho, esos guerreros generados se ven un poco biológicos, hinchados, con muchas cosas aparentemente inútiles que suceden todo el tiempo, pero resistentes y si observan por mucho tiempo De hecho, hay un comportamiento significativo, fuera de la aparente aleatoriedad).

* – Al igual que las primeras versiones de Windows: una batalla en la que, sin importar quién gane, el usuario siempre pierde.

Ciertamente es posible que el código del lado del servidor genere un código Javascript diferente en cada carga de una página determinada, de la misma manera que puede usar el código del lado del servidor para generar HTML diferente cada vez.

Pero, en términos generales, cualquier lenguaje de programación admite código con lógica empresarial auto modificable. Eso no está cambiando el código en sí, sino el comportamiento del código basado en la configuración de variables y llamadas a la API, etc.

Cómo lo conectas a una IA enojada, no lo sé.

TiddlyWiki

es un programa web y entorno de programación auto modificable que se ejecuta en JavaScript dentro de un navegador.