Abierto
Cerca

Un programa informático que simula los movimientos humanos. Uso exitoso de bots en marketing

Tecnología científica

Un interlocutor virtual (ing. chatterbot) es un programa informático que se crea para imitar el comportamiento del habla humana al comunicarse con uno o más usuarios. En 1966, Joseph Weizenbaum creó el primer programa conversacional, Eliza. Ella parodió el comportamiento de habla de un psicoterapeuta, a saber: implementó la técnica de escucha activa, preguntando nuevamente al usuario y usando frases como “Por favor continúa”.

Se espera que un programa de interlocutor ideal supere la prueba de Turing, desarrollada en 1950 para determinar el éxito de los proyectos de inteligencia artificial. Su esencia radica en el hecho de que una persona se corresponde con dos interlocutores, uno de los cuales es una persona y el otro es un programa de computadora. Si no es posible determinar quién es quién, se considera que la computadora ha pasado la prueba. Sin embargo, ni un solo interlocutor virtual ha logrado hacerlo todavía. La funcionalidad de la mayoría de los programas modernos se limita a la capacidad de mantener una conversación sencilla.

Programas de interlocutores

Maestro de conversación

ChatMaster es uno de los primeros buenos interlocutores virtuales de habla rusa. Es un programa de autoaprendizaje. La calidad de su diálogo con una persona puede calificarse de "decente". ChatMaster lleva a cabo una conversación sensible al contexto, es decir, comprende el significado de una réplica que se basa en otras anteriores. Se puede utilizar cualquier idioma no jeroglífico (todo europeo y algo asiático) para el diálogo. Además, el programa tiene una interfaz fácil de usar y una base de datos de palabras bastante grande. La desventaja de ChatMaster es que lleva demasiado tiempo pensar y recordar todo, incluso las cosas que no deberían recordarse.

Cerebro electrónico 1300

Electronic Brain 1300 es un agradable programa conversacional. Tiene una buena base de conocimientos: bastante amplia y con réplicas originales. La nueva versión utiliza una base de datos basada en árboles. Además, al programa se le pueden enseñar fácilmente frases nuevas. La desventaja de Electronic Brain es que la interfaz no es fácil de usar: los elementos de control están ubicados en lugares inusuales.


Parlanchín

Chatterbox es un buen programa de interlocutores con una buena base y buen sentido del humor. Las respuestas aquí se dan muy rápidamente. Un charlatán no necesita necesariamente un interlocutor; puede hablar solo. Aunque es un programa de autoaprendizaje, su base de datos se puede ampliar agregando archivos de actualización. Además, Chatterbox ofrece al usuario la posibilidad de reemplazar iconos por los suyos propios en la barra de título de la ventana y en la vista de la barra de herramientas.


DIALA

Este programa dialoga con una persona en ruso sobre cualquier tema, intentando imitar la inteligencia artificial. Según los desarrolladores, DIALA se considera una mujer y es bastante crítica con los hombres y con la humanidad en general. Para tener un diálogo más o menos coherente, solo debe ingresar frases completas, cada una de las cuales contiene un pensamiento completo. No se recomienda cambiar abruptamente e irrazonablemente el tema del diálogo. DIALA es un programa de autoaprendizaje, por lo que no debes decirle nada estúpido, de lo contrario las recordará inmediatamente y las recuperarás pronto. Entonces será difícil sacarla de esto.


Putin virtual

Quienes quieran hablar con V.V. Putin, hazle un par de preguntas o simplemente regañalo por su mala vida, pueden comunicarse con su doble virtual a través del programa “Putin Virtual”. Es un programa de interlocutor conveniente con una interfaz agradable. Según los usuarios que ya han logrado comunicarse con Putin virtual, el programa mantiene una conversación completamente inteligente y versátil con una persona, a veces sorprende por su erudición y pensamiento progresista. Además, Virtual Putin puede apoyar fácilmente cualquier tema de conversación. Solo hay un requisito: comunicarse en ruso normal y no usar malas palabras. El Putin virtual puede ofenderse fácilmente.

¡Hola Habr!

Recientemente completé un curso sobre algoritmos genéticos en el programa Darwinbots y decidí que sería interesante para la comunidad. Además, por el momento la comunidad del proyecto es bastante pequeña. Los artículos serán mitad traducciones de documentación y mitad su propia investigación sobre el programa.

1. Primer contacto

2.

Entonces, el programa Darwinbots es un simulador de vida artificial. Las primeras versiones fueron escritas por el programador italiano Carlo Comis utilizando el lenguaje de programación Visual Basic. La última versión del programa en este momento es la 2.45.02D, lanzada el 21 de agosto de 2012. Actualmente se está desarrollando la tercera versión de la aplicación, completamente reescrita en C#. También hay un puerto en C++. El código fuente del proyecto se publica en el sistema de control de versiones de Subversion y está disponible para todos.

El programa simula la vida de una población de organismos: bots (robots), cuyo ADN se describe manualmente utilizando un lenguaje especialmente desarrollado. El ADN es esencialmente una gran máquina de estados que lee información de muchas entradas diferentes, la modifica y la conecta a resultados procesables. El código del bot (en adelante ADN) se describe en un archivo de texto con extensión .txt, que permite trabajar con él en cualquier editor, incluido el Bloc de notas. La esencia de la simulación es realizar el ADN para cada ciclo, teniendo en cuenta posibles interacciones de organismos, mutaciones, virus, etc.

El elemento principal de la interfaz del programa Darwinbots es el mundo de los bots (o campo de simulación). El mundo de los bots es un gran plano no discreto (sí, el mismo rectángulo azul que era antes). De forma predeterminada, los bots pueden moverse por toda el área del mundo. La configuración mundial se establece en la configuración de simulación.

Cada bot está representado por un círculo de cierto tamaño y color, con algún patrón en el centro. El "ojo" del robot está indicado por un punto blanco. Incluye 9 ojos simples. Cuando seleccionas un bot en el campo de simulación, puedes ver una cuadrícula de los campos de visión de cada ojo. Los ojos transmiten al programa un valor que corresponde aproximadamente al tamaño del objeto en el campo de visión.

El robot tiene un sistema de sensaciones táctiles simples que le permite sentir una colisión o ataque de otro robot. Las entradas sensoriales de los robots se analizan en ADN, que está escrito en un lenguaje que utiliza la abstracción FILO (primero en entrar, último en salir), basada en el principio de platos apilados. La mayoría de los robots tienen de 6 a 20 procedimientos de ADN llamados genes, que pueden realizar hasta 200 operaciones. Cada operación puede mutar.

Cada bot tiene su propia reserva de energía. La mayoría de las acciones reducen la cantidad de energía. Cuando la energía llegue a cero, el robot morirá, y cuando supere el nivel determinado en el ADN, comenzará a reproducirse. La energía se puede reponer absorbiendo otros robots (análogo a cazar en un entorno normal) y almacenando energía del propio "cuerpo". Si el robot es seleccionado como autótrofo, la energía se repone automáticamente durante un largo período de tiempo.

El robot puede disparar proyectiles intangibles, atacar, recuperar basura, infectarse e intercambiar información con otros robots. Un proyectil es un punto en el campo de modelado que no tiene masa ni dimensiones físicas.

El robot también puede comunicarse con otros robots, formando una estructura multicelular compleja dentro de la cual los robots pueden intercambiar energía, operaciones y moverse por el campo.

Cuando un robot se reproduce, su ADN se transmite a su descendencia, a veces con algunos cambios que afectan el comportamiento del robot. Como en el mundo real, la evolución puede ocurrir con un cambio en el ADN: la próxima generación de robots puede volverse más capaz de atacar, reproducirse, evitar el contacto, etc. Estas mutaciones se transmiten de generación en generación o desaparecen. Con el tiempo, el ADN puede acumular código no deseado que no sirve para nada. Consumirá más energía y hará que el ADN esté más ocupado.

Dado que el programa no decide qué organismo crecer, las habilidades del robot se manifiestan a largo plazo mediante una combinación de estrategias de movimiento, gestión de energía, reproducción, etc. No hay restricciones en cuanto a la complejidad del código de ADN.

La evolución en Darwinbots lleva bastante tiempo. Una generación de robots puede vivir durante varios miles de ciclos, y la mayoría de las simulaciones se ejecutan a unos 15 ciclos por segundo, por lo que pueden pasar de horas a días antes de que se produzca una selección natural significativa.

Por supuesto, en este artículo introductorio difícilmente podría interesarles este proyecto, pero como cebo puedo decirles que el programa tiene un modo de Internet (una especie de PvP) y los desarrolladores de bots pueden participar en ligas, una especie de competencia.

En el próximo artículo hablaremos sobre la configuración de simulación y la programación de bots.

Y por último, fotografías para llamar la atención.