MXPA06002130A - Interfaz de usuario proactiva que incluye un agente evolutivo. - Google Patents

Interfaz de usuario proactiva que incluye un agente evolutivo.

Info

Publication number
MXPA06002130A
MXPA06002130A MXPA06002130A MXPA06002130A MXPA06002130A MX PA06002130 A MXPA06002130 A MX PA06002130A MX PA06002130 A MXPA06002130 A MX PA06002130A MX PA06002130 A MXPA06002130 A MX PA06002130A MX PA06002130 A MXPA06002130 A MX PA06002130A
Authority
MX
Mexico
Prior art keywords
user interface
proactive
agent
evolution
proactive user
Prior art date
Application number
MXPA06002130A
Other languages
English (en)
Inventor
Ran Ben-Yair
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/743,476 external-priority patent/US20050054381A1/en
Priority claimed from KR1020040067663A external-priority patent/KR100680191B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of MXPA06002130A publication Critical patent/MXPA06002130A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72427User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting games or graphical animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/545Gui

Abstract

Se describe una interfaz de usuario proactiva, la cual puede ser instalada en (o de otra manera controlar y/o estar asociada con) cualquier tipo de dispositivo computacional. La interfaz de usuario proactiva hace en forma activa sugerencias al usuario, con base en experiencias anteriores con un usuario particular y/o varios patrones preprogramados a partir de los cuales el dispositivo computacional puede seleccionar, dependiendo del comportamiento del usuario. Estas sugerencias pueden hacerse al alterar la apariencia de por lo menos una porcion del presentador visual, por ejemplo al cambiar un menu o una porcion del mismo; proporcionando menus diferentes para presentacion visual y/o alterando la funcionalidad de una pantalla de tacto. Las sugerencias tambien pueden hacerse en forma audible.

Description

WO 2Ú05/ 24649 Al ! ilil! 3ÍII1IIÍ !i S!lil! lilff l!i!i I!ili iffi ilf ill 1f IÍ! ¡üil 3ÍIÜ S!i!! lill! !lii!!!!Ii! !l!f li!!liif ZW), Eurasian (AM, AZ, B Y, KG, Z, MD. RU, TJ, TM ). For two-le.ue.r codes and ot er abbreviations, refer w ihe "Cuid- European ÍAT, BE. BG, CH, CY, CZ, DE, DK, EE, ES, FI, anee Notes on Codes and Abbreviaiions" appearing at ihebegin- FR, GB, GR, HU. ??, IT, LU, MC, L: PL. PT, RO.BE, SI, ning ofea h regular issue ofthe PCT Gazeite. SK, TR), OAPI (BF, Bl CE GG, CI, CM, GA, GN,GQ, G , L, MR, NE, SN, TD, TG). Published: — with inlemational search repon INTERFAZ DE USUARIO PROACTIVA QUE INCLUYE UN AGENTE EVOLUTIVO Campo de la invención La presente invención se refiere a una interfaz de usuario proactiva que incluye un agente evolutivo, y a sistemas y métodos de la misma, particularmente para usarse con dispositivos de información móviles. Descripción de la técnica relacionada El uso de dispositivos inalámbricos móviles y portátiles se ha expandido dramáticamente en años recientes. Existen ahora muchos de estos dispositivos que tienen funciones variables, recursos internos y capacidades, incluyendo, pero no limitados a teléfonos móviles, asistentes digitales personales, instrumentación médica y de laboratorio, tarjetas inteligentes y decodificadores para televisión. Todos estos dispositivos son dispositivos de información móviles. Tienden a ser dispositivos de funciones limitadas y propósitos especiales en lugar de la computadora personal de propósitos generales . Muchos de estos dispositivos están conectados a la Internet, y se usan para una variedad de aplicaciones. Un ejemplo de este dispositivo de información móvil es el teléfono celular. Los teléfonos celulares se están volviendo rápidamente ubicuos; y el uso de teléfonos REF. : 170142 celulares está incluso sobrepasando aquél de los teléfonos PSTN (Red de Telefonía Conmutada Pública) o teléfonos de "línea terrestre" tradicionales. Los propios teléfonos celulares se están volviendo cada vez más sofisticados, y de hecho son en realidad dispositivos computacionales con sistemas operativos integrados. Al hacerse cada vez más sofisticados los teléfonos celulares, la gama de funciones que ofrecen también se está volviendo potencialmente más extensa. Sin embargo, actualmente estas funciones están relacionadas típicamente con extensiones de funciones ya presentes en los teléfonos regulares (línea terrestre) , y/o la fusión de ciertas funciones de los asistentes digitales personales (PDA's) con aquellas de los teléfonos celulares. La interfaz de usuario provista con teléfonos celulares es similarmente no sofisticada, incorporando típicamente un teclado para girar a través de varios menús simples . La adaptación o diseño a la medida, aunque claramente deseada por los clientes quienes han gastado cantidades significativas en tonos personalizados y otros accesorios para teléfonos celulares, aún está limitada a muy pocas funciones del teléfono celular. Además, los teléfonos celulares actualmente carecen de personalización automática, por ejemplo de la interfaz de usuario del dispositivo y de funcionalidades diseñadas a la medida que se requieren para un mejor uso del dispositivo de información móvil, y/o la capacidad de reaccionar de acuerdo con el comportamiento del usuario. Sin embargo, esta falta de sofisticación también se observa con las interfaces de usuario para computadoras personales (de escritorio o portátiles) y otros dispositivos computacionales . Estos dispositivos computacionales sólo pueden ser normalmente adaptados de maneras muy simples. Esta adaptación se debe llevar a cabo por el usuario, quien podría no entender funciones de computadoras y/o podría no sentirse cómodo llevando a cabo estas tareas de adaptación. Actualmente, los dispositivos computacionales no aprenden patrones de comportamiento del usuario y ajustan su propio comportamiento en consecuencia, como sistemas adaptivos para la interfaz de usuario. Si el usuario no puede ajustar manualmente la computadora, entonces el usuario tiene que ajustar su comportamiento para adaptarse a la computadora, en lugar de que sea al revés . Se ha desarrollado software que es capaz de aprender, aunque sólo para funciones de laboratorio especializadas. Por ejemplo, se ha desarrollado software de "inteligencia artificial" (AI) . Al término "AI" se le ha dado un número de definiciones, una de las cuales es : "AI es el estudio de los cálculos que hacen posible percibir, razonar y actuar" (citado en Artificial Intelligence A Modern Approach (segunda edición) por Stuart Russell, Peter Norvig (Prentice Hall, Pearson Education Inc., 2003). El software AI combina varios conceptos diferentes, tales como percepción, lo cual proporciona una interfaz al mundo en el cual se requiere que el software AI razone y actúe. Ejemplos incluyen pero no están limitados a, procesamiento de lenguaje natural -comunicación, entendimiento de contenido de documentos y contexto de lenguaje natural; visión de computadora - percibir objetos de fuentes imaginarias y sistemas sensoriales - percepción de objetos y características de objetos percibidos analizando datos sensoriales, etc. Otro concepto importante es el de la base de conocimientos . La representación del conocimiento es responsable de representar la extracción y almacenamiento del conocimiento. Esta disciplina proporciona también técnicas para generalizar el conocimiento, extracción y enumeración de características, la construcción de estados de objetos y definiciones . La propia implementación podría llevarse a cabo usando comúnmente las estructuras de datos conocidas, tales como gráficos, vectores, tablas, etc. Otro concepto importante es el del razonamiento. El razonamiento automatizado combina los algoritmos que usan la representación y percepción de conocimiento para sacar nuevas conclusiones, inferir preguntas, respuestas y lograr las metas objetivo. Los siguientes marcos conceptuales son ejemplos de razonamiento AI: bases de regla - las reglas del sistema son evaluadas contra la base de conocimiento y el estado percibido para el razonamiento; sistemas de búsqueda -el uso de estructuras de datos bien conocidas para buscar una conclusión inteligente de acuerdo con el estado percibido, el conocimiento y metas disponibles (ejemplos incluyen árboles de decisiones, gráficas de estado, decisión de mínimo y máximo, etc.); clasificadores - el objetivo del sistema de razonamiento por clasificadores es el de clasificar un estado percibido representado como un experimento que no tiene etiqueta de clasificación. De acuerdo con una base de conocimiento preclasificada, el clasificador inferirá la clasificación del nuevo experimento (ejemplos incluyen heurística de distancia de vectores, Máquina de Vector de Soporte, Red Neural Clasificadora, etc.). Otro concepto importante es el aprendizaje. El objetivo del aprendizaje es mejorar el rendimiento potencial del sistema de razonamiento AI mediante la generalización sobre experiencias. El ingreso de un algoritmo de aprendizaje será el experimento y la salida serían las modificaciones de la base de conocimiento de acuerdo con los resultados (ejemplos incluyen aprendizaje de refuerzo, aprendizaje intermitente, máquina de vectores de soporte, etc.) . También se ha trabajado en algoritmos genéticos y algoritmos de evolución para software. Un ejemplo de este software se describe en "Evolving Virtual Creatures" , por Karl Sims (Computer Graphics, SIGGRAPH '94 Proceedings, julio de 1994, págs . 15-22). Esta referencia describe "criaturas" de software que pueden moverse a través de un mundo virtual tridimensional, el cual es una versión simulada del mundo físico real. Las criaturas podrían aprender y evolucionar mediante el uso de algoritmos genéticos, cambiando de esta manera sus comportamientos' sin algún ingreso externo dirigido. Estos algoritmos genéticos por lo tanto delinearon un hiperespacio de comportamientos potenciales que tenían diferente "condición física" o recompensas en el mundo virtual. Los propios algoritmos eran implementados mediante el uso de gráficos dirigidos, los cuales describen tanto los genotipos (componentes) de las criaturas, como su comportamiento. En el inicio de la simulación, muchas criaturas diferentes con diferentes genotipos son simuladas. Se permite que las criaturas alteren su comportamiento en respuesta a diferentes estímulos en el mundo virtual. En cada "generación" , sólo a ciertas criaturas se les permite sobrevivir, ya sea · de acuerdo con una puntuación límite relativa o absoluta, siendo la puntuación determinada de acuerdo con la condición física del comportamiento de las criaturas. Se permite que ocurran mutaciones, las cuales pueden incrementar la condición física (y por consiguiente la capacidad de supervivencia) de las criaturas imitadas, o viceversa. También se llevan a cabo mutaciones a través del gráfico dirigido, por ejemplo al cambiar aleatoriamente un valor asociado con un nodo, y/o añadiendo o eliminando nodos. En forma similar, la "copulación" entre criaturas puede dar como resultado cambios al gráfico dirigido. Los resultados descritos en la referencia mostraron que de hecho las criaturas virtuales podrían cambiar y evolucionar. Sin embargo, las criaturas sólo podrían operar dentro de su mundo virtual, y no tendrían algún punto de referencia o contacto con el mundo físico real, y/o con operadores de computadoras humanos .
Breve descripción de la invención La técnica anterior no enseña o sugiere un sistema o método para hacer posible que software inteligente al menos para dispositivos de información móviles aprenda y evolucione específicamente para interactuar con usuarios humanos. La técnica anterior tampoco enseña o sugiere un agente inteligente para un dispositivo de información móvil, el cual sea capaz de interactuar con un usuario humano a través de un avatar. La técnica anterior tampoco enseña o sugiere una interfaz de usuario proactiva para un dispositivo móvil, en donde la interfaz de usuario proactiva aprenda el comportamiento del usuario y sea entonces capaz de sugerir activamente opciones al usuario para la evolución del agente. La técnica anterior tampoco enseña o sugiere un agente inteligente para un dispositivo de información móvil, el cual use un avatar para interactuar con otro avatar de otro dispositivo de información móvil o el usuario del mismo. La técnica anterior tampoco enseña o sugiere un sistema o método para hacer posible que software inteligente al menos para dispositivos de información móviles exprese una emoción específicamente para interactuar con usuarios humanos. La técnica anterior tampoco enseña o sugiere una interfaz de usuario proactiva para un dispositivo computacional , en donde la interfaz de usuario proactiva aprende el comportamiento del usuario y es entonces capaz de sugerir activamente opciones al usuario y expresar una emoción de acuerdo con una reacción del usuario a la sugerencia. La técnica anterior tampoco enseña o sugiere un agente inteligente para un dispositivo de información móvil, el cual pueda llevar a cabo interacción con un usuario humano a través de un avatar, la interacción incluyendo expresión emocional . La presente invención supera estas deficiencias de la técnica anterior al proporcionar una interfaz de usuario proactiva, la cual podría opcionalmente ser instalada en (o de otra manera controlar y/o estar asociada con) cualquier tipo de dispositivo computacional . La interfaz de usuario proactiva sugerirla activamente opciones para la evolución del agente al usuario, con base en experiencias anteriores con un usuario particular y/o varios patrones preprogramados de los cuales el dispositivo computacional seleccionaría, dependiendo del comportamiento del usuario. Además, la interfaz de usuario proactiva haría activamente sugerencias al usuario, y/o de otra manera se involucraría en comportamiento no determinante o inesperado, con base en una experiencia anterior (interacción) con un usuario particular y/o varios patrones preprogramados de los cuales el dispositivo computacional podría seleccionar, dependiendo del comportamiento del usuario. Estas sugerencias podrían hacerse opcionalmente al alterar la apariencia de al menos una porción del presentador visual, por ejemplo al cambiar un menú o una porción del mismo; proporcionar diferentes menús para su presentación visual y/o alterar la funcionalidad de una pantalla de tacto. Las sugerencias también podrían hacerse opcionalmente en forma audible. Son posibles otros tipos de sugerencias o mecanismos de entrega. La presente invención incorpora la expresión de una emoción del agente de acuerdo con una reacción del usuario a tal sugerencia. Por "sugerencia" se debe notar que el sistema puede en realidad ejecutar la acción automáticamente y expresar una emoción correspondiente del agente, dadas ciertas preferencias de usuario y también dependiendo de si el estado del sistema permite la ejecución específica de la acción. La presente invención se caracteriza además porque la expresión emocional del agente depende de si el usuario hace o no una selección en respuesta a una "sugerencia" del agente o sobre las recompensas del usuario a la sugerencia del agente. Generalmente, es importante enfatizar que la interfaz de usuario proactiva de preferencia al menos parece ser inteligente e interactiva, y es de preferencia capaz de por lo menos una comunicación en cierta forma "libre" (por ejemplo no redactada o parcialmente redactada) con el usuario. Una apariencia inteligente es importante en el sentido de que las expectativas del usuario son satisfechas de preferencia para interacciones con un agente/dispositivo "inteligente" . Estas expectativas podrían configurarse opcionalmente por factores tales como la capacidad para comunicarse, la apariencia opcional de la interfaz, el uso de atributos antropomórficos y así sucesivamente, los cuales se usan de preferencia para incrementar el sentido de inteligencia en las interacciones entre el usuario y la interfaz de usuario proactiva. En términos de comunicación recibida desde el usuario, la interfaz de usuario proactiva es de preferencia capaz de detectar cómo desea el usuario interactuar con el dispositivo de información móvil . Opcionalmente, la comunicación puede ser sólo en una dirección; por ejemplo, la interfaz puede opcionalmente presentar mensajes o información al usuario, pero no recibir información del usuario, o como alternativa puede implementarse lo opuesto. De preferencia, la comunicación es bidireccional para interacciones preferidas con el usuario. Para comunicación con el usuario, la interfaz proactiva es capaz de presentar visualmente o demostrar emociones simuladas para interacciones con el usuario, como parte de la comunicación con el usuario. Como se describe en mayor detalle abajo, estas emociones son simuladas de preferencia para su presentación por un agente inteligente, representado por un avatar o criatura. Las emociones son creadas a través de un sistema emocional, el cual opcionalmente puede ser controlado al menos parcialmente de acuerdo con por lo menos una preferencia del usuario. El sistema emocional se usa para que las reacciones de comunicaciones del agente inteligente sean creíbles en términos de la percepción del usuario; por ejemplo, si al agente inteligente se le presenta como una criatura tipo perro, el sistema emocional activa las emociones para que sean consistentes con las expectativas del usuario con respecto al comportamiento "tipo perro" . En forma similar, el agente inteligente por lo menos parece ser inteligente para el usuario. La inteligencia puede ser provista opcionalmente a través de un mecanismo completamente determinante; sin embargo, la base para al menos la apariencia de inteligencia incluye al menos uno o más elementos aleatorios o semi-aleatorios . De nuevo, estos elementos están presentes para ser consistentes con las expectativas del usuario en relación a inteligencia con respecto a la representación del agente inteligente . La capacidad de adaptación está presente de preferencia para que de esta manera el agente inteligente sea capaz de alterar el comportamiento por lo menos en cierta forma para satisfacer la solicitud u otra comunicación del usuario. Incluso si la interfaz de usuario proactiva opcionalmente no incluye un agente inteligente para comunicarse con el usuario, la capacidad de adaptación hace posible que la interfaz sea proactiva. La observación de la interacción del usuario con el dispositivo de información móvil hace posible que se lleve a cabo esta capacidad de adaptación, aunque la reacción de la interfaz de usuario proactiva a esta observación podría ser guiada por una base de conocimientos y/o una base de reglas. Como un ejemplo especifico, no limitativo pero preferido de esta capacidad de adaptación, particularmente para un dispositivo de información móvil que incluye una pluralidad de menús, esta capacidad de adaptación puede incluir la capacidad de alterar al menos un aspecto del menú. Por ejemplo, se pueden proporcionar opcionalmente uno o más atajos, haciendo posible que el usuario llegue directamente a una opción del menú mientras pasa de largo al menos uno (y de preferencia todos) los menús o submenús anteriores los cuales son más altos en la jerarquía del menú que la elección final. Opcionalmente (como alternativa o adicionalmente) , uno o más menús pueden redisponerse de acuerdo con la capacidad de adaptación de la interfaz de usuario proactiva, por ejemplo de acuerdo con la frecuencia de uso. Esta redisposición puede incluir mover una parte de un menú, tal como una opción de menú y/o un submenú, a una nueva ubicación que sea más alta en la jerarquía del menú que la ubicación actual. Los submenús que sean más altos en una jerarquía de menú se alcanzan más rápidamente, a través de la selección de menos opciones de menú, que aquellos que se localizan en una ubicación más baja (hasta abajo) en la jerarquía. La capacidad de adaptación y/o emociones son asistidas a través del uso de recompensas por aprendizaje por la interfaz de usuario proactiva. Las sugerencias o acciones por las cuales el usuario apruebe proporcionar una recompensa, o un incentivo positivo, a la interfaz proactiva para continuar con estas sugerencias o acciones; la desaprobación por el usuario causa un desincentivo para que la interfaz de usuario proactiva continúe estos comportamientos. Al proporcionar incentivos/desincentivos-positivos o negativos a la interfaz de usuario proactiva se hace posible de preferencia que el comportamiento de la interfaz sea más matizado, en lugar de un enfogue más "blanco o negro" , en el cual un comportamiento serla permitido o prohibido. Estos matices también se prefieren para hacer posible que se manejen comportamientos opuestos o contradictorios, cuando estos comportamientos sean aprobados/desaprobados colectivamente por el usuario por lo menos hasta cierto grado . De acuerdo con una modalidad de la presente invención, un modelo del usuario es construido de preferencia a través de la interacción de la interfaz de usuario proactiva con el usuario. Este modelo integrarla bases de conocimiento AI determinadas a partir del comportamiento del usuario y/o preprogramadas . Más aún, el modelo también haría posible que la interfaz de usuario proactiva calibrara la reacción del usuario a sugerencias particulares hechas por la interfaz de usuario, adaptándose de esta manera a las preferencias implícitas del usuario. Ejemplos no limitativos de estos dispositivos computacionales incluyen ATM' s (esto tiene también implicaciones de seguridad, toda vez que ciertos patrones de comportamiento de usuario podrían apagar una alarma, por ejemplo) , computadoras regulares de cualquier tipo (tales como de escritorio, laptops, clientes infradotados, computadoras portátiles y demás) , dispositivos de información móviles tales como teléfonos celulares, dispositivos localizadores, otros dispositivos de comunicación inalámbricos, teléfonos regulares que tengan un sistema operativo, PDA' s y PDA' s inalámbricos y electrodomésticos de consumo que tengan un sistema operativo. En adelante, el término "dispositivo computacional" incluye cualquier dispositivo electrónico que tenga un sistema operativo y que sea capaz de llevar a cabo cálculos. El sistema operativo puede ser opcionalmente un sistema integrado y/u otro tipo de software y/o ambiente de tiempo activo por hardware. En adelante, el término "dispositivo de información móvil" incluye pero no está limitado a, cualquier tipo de dispositivo de comunicación inalámbrico, incluyendo, pero no limitado a, teléfonos celulares, localizadores inalámbricos, PDA's inalámbricos y similares. La presente invención se implementa de preferencia para proporcionar de esta manera una experiencia e interacción de usuario incrementada con el dispositivo computacional, así como para cambiar la interfaz de usuario no flexible y genérica actual de estos dispositivos por una interfaz flexible, y verdaderamente fácil de usar por el usuario. En forma muy preferible, la presente invención se implementa para proporcionar una experiencia emocional incrementada del usuario con el dispositivo computacional, por ejemplo de acuerdo con la modalidad opcional pero preferida de construir la interfaz de usuario en forma de una avatar que pudiera interactuar con el usuario . La presente invención es por lo tanto capaz de proporcionar una experiencia de "dispositivo vivo", particularmente para dispositivos de información móviles tales como teléfonos celulares por ejemplo. De acuerdo con esta modalidad, el usuario podría incluso formar un lazo emocional con el "dispositivo vivo" . De acuerdo con otra modalidad de la presente invención, se proporciona un dispositivo de información móvil que incluye un sistema adaptivo. Al igual que la interfaz de usuario anterior, también se basa en experiencias anteriores con un usuario y/o patrones programados. Sin embargo, el sistema adaptivo es más restringido a operar dentro de las funciones y ambiente de un dispositivo de información móvil . Cualquiera o ambos del sistema adaptivo para dispositivos de información móviles e interfaces de usuario proactivas pueden implementarse con algoritmos genéticos, algoritmos de inteligencia artificial (AI) , algoritmos de aprendizaje de máquinas (ML) , comportamiento aprendido y software/dispositivos computacionales los cuales sean capaces de evolucionar. Cualquiera o ambos también pueden proporcionar opcionalmente un nivel avanzado de comandos de voz, comandos de pantalla de tacto y ? atajos' de teclado. De acuerdo con otra modalidad preferida de la presente invención, se proporciona uno o más agentes inteligentes para usarse con un dispositivo de información móvil sobre una red de dispositivos de información móviles, que incluye de preferencia una avatar (o "criatura" ; en adelante también estos términos se usan en forma intercambiable) a través del cual el agente pueda comunicarse con el usuario humano. El avatar puede proporciona una interfaz de usuario para interactuar con el usuario. El agente inteligente también puede incluir un agente para controlar por lo menos una interacción del dispositivo de información móvil sobre la red. Esta modalidad puede incluir una pluralidad de estos agentes inteligentes que estén conectados sobre la red de dispositivos de información móviles, de esta manera formando una red de estos agentes. Varias aplicaciones también pueden proporcionarse a través de esta modalidad, incluyendo pero no limitadas a enseñanzas en general y/o para aprender cómo usar el dispositivo de información móvil en particular, enseñar idiomas, aplicaciones de comunicación, aplicaciones de comunidades, juegos, entretenimiento, compras (obtención de cupones, etc.), localizar una tienda u otro lugar, filtrar anuncios y otros mensajes no solicitados, juegos de rol u otros juegos interactivos sobre la red de teléfonos celulares, funciones de "chat" y reunión, la capacidad de comprar "regalos" para los agentes inteligentes y de otra manera accesorizar al carácter, y asi sucesivamente. En teoría, a los propios agentes se les podrían dar "mascotas" como accesorios. Los agentes inteligentes también podrían ayudar opcionalmente a proporcionar varias oportunidades de negocios/promocionales para los operadores de teléfonos celulares . Los agentes también podrían ayudar con la instalación y operación de software en teléfonos celulares, lo cual es un área de comercio. Por ejemplo, los agentes podrían ayudar opcionalmente con la determinación del tipo adecuado de dispositivo de información móvil y otros detalles que fueran esenciales para descargar y operar software de manera correcta . Por lo tanto, un número de interacciones diferentes son posibles de acuerdo con las diferentes modalidades de la presente invención. Estas interacciones incluyen cualquiera una o más de una interacción entre el usuario del dispositivo y un avatar u otro personaje o personificación del dispositivo; una interacción entre el usuario del dispositivo y el dispositivo, para operar el dispositivo, a través del avatar u otro personaje o personificación; interacciones entre dos usuarios a través de sus dispositivos respectivos, al comunicarse a través del avatar, u otro personaje o personificación del dispositivo; e interacciones entre dos dispositivos a través de sus agentes inteligentes respectivos, y se pueden hacer sin ninguna comunicación entre usuarios e incluso entre el agente y el usuario. La interacción o interacciones que son posibles se determinan de acuerdo con la modalidad de la presente invención, como se describe en mayor detalle abajo La presente invención se beneficia del ambiente relativamente restringido de un dispositivo computacional y/o un dispositivo de información móvil, tal como un teléfono celular por ejemplo, toda vez que los parámetros de este ambiente se conocen por anticipado. Incluso si estos dispositivos se comunican a través de una red, tal como una red telefónica celular por ejemplo, los parámetros del ambiente aún pueden ser predeterminados. Actualmente, los dispositivos computacionales sólo proporcionan una interfaz genérica, con muy poca o ninguna adaptación permitida por una intervención directa, incluso manual, del usuario. Se debe notar que el término "software" también puede incluir opcionalmente firmware o instrucciones operadas por hardware .
Breve descripción de las figuras La invención se describe en la presente, a manera de ejemplo únicamente, con referencia a las figuras anexas, en las cuales: La figura 1 es un diagrama de bloques de un módulo de aprendizaje ejemplar de acuerdo con la presente invención. La figura 2 es un diagrama de bloques de un sistema ejemplar de acuerdo con la presente invención para usarse con la interfaz de usuario proactiva. La figura 3 muestra una implementación ejemplar de un sistema de interfaz de usuario proactiva de acuerdo con la presente invención. La figura 4 es un diagrama de bloques de una implementación ejemplar del sistema adaptivo de acuerdo con la presente invención. Las figuras 5A ? 5B son un diagrama de bloques y un diagrama de secuencias, respectivamente, de un sistema de administración de aplicaciones ejemplar de acuerdo con la presente invención. Las figuras 6A y 6B muestran infraestructura ejemplar requerida para el sistema adaptivo de acuerdo con la presente invención para llevar a cabo una o más acciones a través del sistema operativo del dispositivo de información móvil y un diagrama de secuencias ejemplar del mismo de acuerdo con la presente invención. Las figuras 7A, 7B y 7C muestran eventos ejemplares, y cómo son manejados por las interacciones entre el dispositivo de información móvil (a través del sistema operativo del dispositivo) y el sistema de la presente invención . Las figuras 8A y 8B describen una estructura ejemplar del agente inteligente y también incluyen un diagrama de secuencias ejemplar para la operación del agente inteligente . Las figuras 9A y 9B muestran dos métodos ejemplares para seleccionar una acción de acuerdo con la presente invención. La figura 10 muestra un diagrama de secuencias de un método de ejecución de acciones ejemplar de acuerdo con la presente invención. Las figuras 11A, 11B y 11C son diagramas para describir una implementación ejemplar e- ilustrativa de un sistema emocional de acuerdo con la presente invención. La figura 12A muestra un diagrama de secuencias ejemplar para comunicación textual de acuerdo con la presente invención. La figura 12B muestra un ejemplo no limitativo de una expresión emocional "Estoy contento" que el agente lleva a cabo en un teléfono móvil. Las figuras 13A, 13B y 13C muestran un diagrama de clases de evolución ejemplar y un diagrama de mutación ejemplar y un diagrama de secuencias híbrido ejemplar, respectivamente, de acuerdo con la presente invención. La figura 14 muestra una secuencia de hibridación ejemplar entre agentes inteligentes en dos dispositivos de información móviles. Las figuras 15, 16, 17A, 17B, 17C, 17D, 17E, 17F, 18, 19A, 19B, 20 y 21 muestran pantallas ejemplares de un avatar o criatura de acuerdo con diferentes modalidades de la presente invención. La figura 22 es un diagrama de bloques de un sistema de agente inteligente ejemplar de acuerdo con la presente invención. La figura 23 muestra el sistema de la figura 23 en mayor detalle. La figura 24 es un diagrama de bloques de una implementación ejemplar de un sistema de selección de acciones de acuerdo con la presente invención y Las figuras 25A-25B muestran sólo algunas pantallas ejemplares del avatar de acuerdo con la presente invención sobre la pantalla del dispositivo de información móvil. Descripción detallada de la invención Las modalidades preferidas de la presente invención serán descritas en la presente abajo con referencia a las figuras anex s. En la siguiente descripción, las funciones o estructuras bien conocidas no se describen en detalle toda vez que oscurecerían la invención en detalle innecesario. La presente invención se refiere a una interfaz de usuario proactiva, la cual puede ser instalada en (o de otra manera controlar y/o estar asociada con) cualquier tipo de dispositivo computacional . La interfaz de usuario proactiva hace en forma activa sugerencias al usuario, con base en experiencias anteriores con un usuario particular y/o varios patrones preprogramados a partir de los cuales el dispositivo computacional puede seleccionar, dependiendo del compor amiento del usuario. Estas sugerencias podrían hacerse opcionalmente al alterar la apariencia de por lo menos una porción del presentador visual, por ejemplo al cambiar un menú o una porción del mismo; proporcionando menús diferentes para presentación visual y/o alterando la funcionalidad de una pantalla de tacto. Las sugerencias también podrían hacerse en forma audible. La presente invención incorpora la expresión de una emoción del agente de acuerdo con una reacción del usuario a esta sugerencia. La interfaz de usuario proactiva se implementa de preferencia para un dispositivo computacional, como el descrito anteriormente, el cual incluye un sistema operativo. La interfaz puede incluir una interfaz de usuario para comunicarse entre el usuario y el sistema operativo. La interfaz también puede incluir un módulo de aprendizaje para detectar al menos un patrón de interacción del usuario con la interfaz de usuario y para sugerir activamente opciones para la evolución de al menos una función de la interfaz de usuario al usuario, de acuerdo con el patrón detectado. Por lo tanto, la interfaz de usuario proactiva puede anticipar las solicitudes del usuario y de esta manera ayudar al usuario a seleccionar una función deseada del dispositivo computacional . Por lo menos un patrón se selecciona del grupo que consiste en un patrón determinado de acuerdo con al menos una interacción previa del usuario con la interfaz de usuario, y un patrón predeterminado, o una combinación de los mismos. El primer tipo de patrón representa comportamiento aprendido, mientras que el segundo tipo de patrón puede ser preprogramado o de otra manera predeterminado, particularmente para ayudar al usuario cuando un dispositivo computacional particular esté siendo operado por primera vez por el usuario. Un tercer tipo de patrón combinarla estos dos aspectos, y haria posible que el patrón fuera al menos parcialmente determinado de acuerdo con el comportamiento del usuario, pero no en forma completa,- por ejemplo, la selección del patrón podría ser guiada de acuerdo con una modalidad de reglas, y/o de acuerdo con una definición restrictiva del estado del ambiente mundial posible y/o el estado del dispositivo y/o interfaz de usuario. El patrón incluye un patrón de las preferencias del usuario para la apariencia, función o característica del agente inteligente. La interfaz de usuario incorpora de preferencia un presentador visual gráfico, de tal manera que al menos una función del presentador visual gráfico sea alterada proactivamente de acuerdo con el patrón. Por ejemplo, al menos una porción del presentador visual gráfico puede ser alterada, por ejemplo al seleccionar un menú para su presentación visual de acuerdo con el patrón detectado y presentando visualmente el menú. El menú puede seleccionarse al construir un menú a partir de una pluralidad de opciones de menú, por ejemplo para crear un menú "sobre la marcha". La interfaz de usuario podría incorporar un presentador visual de audio, de tal manera que alterar por lo menos una función de la interfaz de usuario incluye alterar al menos un sonido audible producido por el dispositivo computacional . La interfaz de usuario proactiva podría implementarse de acuerdo con un método de la presente invención, el cual se implementa de preferencia para una interacción proactiva entre un usuario y un dispositivo computacional a través de una interfaz de usuario. El método incluye de preferencia detectar un patrón de comportamiento de usuario de acuerdo con al menos una interacción del usuario con la interfaz de usuario y alterar proactivamente por lo menos una función de interfaz de usuario de acuerdo con el patrón. El patrón incluye un patrón de preferencias de usuario para la apariencia, función o característica del agente inteligente. De acuerdo con otra modalidad de la presente invención, se proporciona un dispositivo de información móvil que incluye un sistema adaptivo. Al igual que la interfaz de usuario anterior, también se basa en experiencias anteriores con un usuario y/o patrones preprogramados . Sin embargo, el sistema adaptivo puede ser más restringido a operar dentro de las funciones y ambiente de un dispositivo de información móvil, tal como un teléfono celular por ejemplo, el cual actualmente puede incluir también ciertas funciones básicas de un PDA. El sistema adaptivo opera de preferencia con un dispositivo de información móvil que incorpora un sistema operativo. El sistema operativo puede comprender opcionalmente un sistema integrado. El dispositivo de información móvil puede comprender un teléfono celular. El sistema adaptivo es de preferencia capaz de analizar el comportamiento del usuario al analizar una pluralidad de interacciones del usuario con el dispositivo de información móvil, después de lo cual muy preferiblemente el sistema adaptivo compara la pluralidad de interacciones de usuario con por lo menos ún patrón predeterminado, para ver si el patrón predeterminado está asociado con alterar al menos una función de la interfaz de usuario. El análisis puede incluir también comparar la pluralidad de interacciones de usuario con por lo menos un patrón de comportamiento de usuario previamente detectado, en donde el patrón de comportamiento de usuario previamente detectado está asociado con alterar por lo menos una función de la interfaz de usuario . El sistema adpativo puede ser operado por el propio dispositivo de información móvil. Como alternativa, si el dispositivo de información móvil está conectado a una red, el sistema adaptivo puede ser operado al menos parcialmente de acuerdo con comandos enviados desde la red al dispositivo de información móvil. Para esta implementación, los datos asociados con al menos una operación del sistema adaptivo se almacenan en una ubicación que no es el dispositivo de información móvil, en donde la ubicación es accesible a través de la red. De acuerdo con modalidades preferidas de la presente invención, el sistema adaptivo incluye también un módulo de aprendizaje para llevar a cabo el análisis de acuerdo con la información de entrada recibida y conocimiento obtenido previamente . Este conocimiento puede haber sido obtenido previamente del comportamiento del usuario, y/o puede haber sido comunicado desde otro sistema adaptivo en comunicación con el sistema adaptivo del dispositivo de información móvil particular. El sistema adaptivo se puede adaptar al comportamiento del usuario de acuerdo con cualquiera uno o más de un algoritmo de AI, un algoritmo de aprendizaje de máquina o un algoritmo genético. De acuerdo con otra modalidad opcional pero preferida de la presente invención, se proporciona uno o más agentes inteligentes para usarse con un dispositivo de información móvil sobre una red de dispositivos de información móviles, que incluye de preferencia un avatar a través del cual el agente puede comunicarse con el usuario humano. El avatar puede por lo tanto proporcionar una interfaz de usuario para interactuar con el usuario. El agente inteligente también puede incluir un agente para controlar al menos una interacción del dispositivo de interacción móvil sobre la red. Esta modalidad puede incluir una pluralidad de estos avatares que estén conectados sobre una red de dispositivos de información móviles. De acuerdo con modalidades preferidas de la presente invención, al menos una característica de una apariencia del avatar puede ser alterada, por ejemplo de acuerdo con un comando de usuario. Una pluralidad de características de una apariencia de un avatar pueden ser alteradas de acuerdo con una piel de avatar predefinida. La piel puede ser predefinida por el usuario. Por "piel" se intenta decir que una pluralidad de las características son alteradas juntas como un conjunto, en donde el conjunto forma la piel . Si esta modalidad se combina con la modalidad anterior de hacer que al menos una porción de los datos relacionados con el avatar sean almacenados en una ubicación accesible por red, entonces el usuario podría mover al mismo avatar sobre teléfonos diferentes, y/o adaptar la apariencia del avatar por diferentes razones, por ejemplo para ocasiones especiales tales como una fiesta u otra celebración. Por supuesto, estas opciones sólo intentan ser ejemplos y no se intenta que sean limitativas de ninguna manera. De acuerdo con otras modalidades de la presente invención, al menos una característica de una apariencia del avatar puede ser alterada de acuerdo con un algoritmo evolutivo automatizado, por ejemplo un algoritmo genético. El algoritmo evolutivo es un ejemplo no limitativo de un método para proporcionar la personalización del avatar para el usuario. La personalización también puede ser llevada a cabo a través de una selección directa de usuario de una o más características o pieles (grupos de características) . Esta personalización es deseable al menos en parte toda vez que incrementa la experiencia emocional del usuario con el avatar y por consiguiente con el dispositivo de información móvil . En términos de implementación técnica, la presente invención es de preferencia capaz de operar en un sistema limitado (en términos de memoria, capacidad de procesamiento de datos, tamaño de presentación visual en pantalla y resolución, y demás) en un dispositivo que también es muy personal para el usuario. Por ejemplo, el dispositivo es un dispositivo de información móvil, tal como un teléfono celular, el cual por necesidad está adaptado para ser portátil y fácil de usar, y por lo tanto puede tener una o más, o todas, las limitaciones anteriores. Los aspectos de implementación de la presente invención están diseñados de preferencia para esta combinación de características. Por lo tanto, para superar las limitaciones del propio dispositivo conservando aún la personalización y "sensación personal" deseable para el usuario, se proponen a continuación varias soluciones . Se debe notar que estas soluciones solamente son ejemplos, y que no se intenta que sean limitativas de ninguna manera.
Ejemplo 1 Interfaz proactiva - general La interfaz de usuario proactiva de la presente invención es de preferencia capaz de controlar y/o estar asociada con cualquier tipo de dispositivo computacional , para de esta manera hacer en forma activa sugerencias al usuario, con base en experiencias anteriores con un usuario particular y/o varios patrones preprogramados de los cuales el dispositivo computacional seleccionaría, dependiendo del comportamiento del usuario. Estas sugerencias podrían opcionalmente hacerse al alterar la apariencia de al menos una porción del presentador visual, por ejemplo al cambiar un menú o una porción del mismo; proporcionar diferentes menús para presentación visual y/o alterar la funcionalidad de una pantalla de tacto. Las sugerencias también podrían hacerse en forma audible. La interfaz de usuario proactiva es de preferencia implementada para un dispositivo computacional , como el descrito arriba, el cual incluye un sistema operativo. La interfaz puede incluir una interfaz de usuario para comunicarse entre el usuario y el sistema operativo. La interfaz es de preferencia capaz de detectar al menos un patrón de interacción del usuario con la interfaz de usuario, por ejemplo a través de la interacción de un módulo de aprendizaje y sería por lo tanto capaz de alterar proactivamente al menos una función de la interfaz de usuario de acuerdo con el patrón detectado. La interfaz de usuario proactiva puede anticipar las solicitudes de usuario y de esta manera ayudar al usuario a seleccionar una función deseada del dispositivo computacional. Este tipo de comportamiento proactivo, particularmente con respecto a aprender el comportamiento y deseos del usuario, requiere de cierto tipo de capacidad de aprendizaje por parte de la interfaz proactiva. Estas capacidades de aprendizaje pueden proporcionarse a través de algoritmos y metodologías que se conozcan en la técnica, que se refieran a aprendizaje (por el software) e interacciones de un objeto de software con el ambiente. Se puede decir que el software está aprendiendo cuando puede mejorar sus acciones a lo largo del tiempo. La inteligencia artificial tiene que demostrar la selección de acciones inteligentes (razonamiento) , de tal manera que el software de preferencia tenga la capacidad de explorar su ambiente (su "mundo") y de descubrir posibilidades de acción. El software también tendría la capacidad de representar el estado del mundo y su propio estado interno. El software sería entonces capaz de seleccionar una acción inteligente (usando el conocimiento anterior) y de actuar. El aprendizaje, por ejemplo por el módulo de aprendizaje de la interfaz, puede ser reforzado por recompensas, en donde el módulo de aprendizaje sea recompensado por tomar acciones particulares de acuerdo con el estado del ambiente. Este tipo de aprendizaje en realidad incluye entrenar al módulo de aprendizaje para que se comporte de cierta manera. Si se permite más de un comportamiento, entonces el proceso de aprendizaje es no determinista y puede crear diferentes comportamientos. Con respecto a la interfaz de usuario proactiva, por ejemplo, la recompensa incluye causar que el módulo de aprendizaje detecte cuando una elección ofrecida lleve a una selección de usuario, a diferencia de cuando una elección ofrecida causa que el usuario busque un conjunto diferente de una o más elecciones, por ejemplo al seleccionar un menú diferente que el ofrecido por la interfaz de usuario proactiva.
Claramente, la interfaz de usuario proactiva buscaría maximizar el porcentaje de ofertas que llevaran a una selección de usuario directa a partir de esa oferta, toda vez que esto demuestra que la interfaz ha entendido correctamente el comportamiento del usuario. La figura 1 es un diagrama de bloques de un módulo de aprendizaje ejemplar de acuerdo con la presente invención para el aprendizaje reactivo. Como se muestra, un módulo de aprendizaje 100 incluye una Base de Conocimientos 102, la cual actúa como la memoria del módulo de aprendizaje 100, al retener información acumulada por el módulo de aprendizaje 100 como un resultado de interacciones con el ambiente. La Base de Conocimientos 102 puede ser almacenada en memoria no volátil (no mostrada) . La Base de Conocimientos 102 almacena información que ayuda al módulo de aprendizaje 100 a seleccionar la acción adecuada. Esta información puede incluir valores tales como pesos numéricos para una red neural interior, o una tabla con valores de recompensa por acción, o cualquier otro tipo de información. Para que el módulo de aprendizaje 100 sea capaz de recibir información acerca del ambiente, el módulo de aprendizaje 100 incorpora una pluralidad de sensores 104. Los sensores 104 permiten que el módulo de aprendizaje 100 perciba su estado de ambiente. Los sensores 104 están conectados al ambiente y envían valores detectados . Los valores pueden provenir del propio programa (por ejemplo, posición sobre la pantalla, nivel de energía, etc.), o de valores de dispositivo reales (por ejemplo, valor de batería y estado operativo, tales como un estado de aleta para teléfonos celulares en el cual el dispositivo puede ser activado o una llamada entrante contestada al abrir una "aleta") . Los sensores 104 proporcionan claramente información valiosa; sin embargo, esta información tiene que ser procesada antes de que el módulo de aprendizaje 100 pueda comprenderla. Por lo tanto, el módulo de aprendizaje 100 incluye también una unidad de percepción 106, para procesar la salida actual de los sensores 104 en una representación uniforme del mundo, llamada un "estado". El estado es entonces la entrada para un sistema de razonamiento 108, el cual puede describirse como el "cerebro" del módulo de aprendizaje 100. Este diseño soporta la extensión del estado del mundo y el mecanismo del sensor, así como soporta una fácil portación del sistema a varias plataformas huésped (diferentes dispositivos y ambientes computacionales) , de tal manera que el estado del mundo pueda cambiarse de acuerdo con el dispositivo. El sistema de razonamiento 108 procesa el estado actual con la Base de Conocimientos 102, produciendo así una decisión en cuanto a qué acción llevar a cabo. El sistema de razonamiento 108 recibe el estado actual del mundo, envía la acción que se llevará a cabo y recibe retroalimentación sobre la acción seleccionada. Con base en la retroalimentación, el sistema de razonamiento 108 actualiza la Base de Conocimiento 102. Este es un proceso iterativo en el cual el módulo de aprendizaje 100 aprende a asociar acciones con estados. De acuerdo con una modalidad opcional de la presente invención, el dispositivo computadonal puede incorporar uno o más sensores biológicos, para detectar varios tipos de información biológica acerca del usuario, tales como estado emocional, estado físico, movimiento, etc. Esta información puede ser después alimentada a los sensores 104 para ayudar a que la unidad de percepción 106 determine el estado del usuario, y por consiguiente determine el estado adecuado para el dispositivo. Estos sensores biológicos pueden incluir pero no están limitados a, sensores para temperatura corporal, ritmo cardiaco, saturación de oxígeno o cualquier otro tipo de sensor que mida parámetros biológicos del usuario . La figura 2 muestra una modalidad ejemplar de un sistema 200 de acuerdo con la presente invención para proporcionar la interfaz de usuario proactiva, de nuevo incorporando el módulo de aprendizaje 100. El módulo de aprendizaje 100 se muestra estando en comunicación con un sistema operativo 202 del dispositivo computacional (no mostrado) con el cual el módulo de aprendizaje 100 está asociado y/o controla y/o mediante el cual el modulo de aprendizaje 100 es operado. El sistema operativo 202 controla la operación de una interfaz 204 y también al menos alguna otra aplicación de software 206 (aunque por supuesto muchas de estas aplicaciones de software pueden estar presentes opcionalmente) . El usuario se comunica de preferencia a través de la interfaz 204, por ejemplo al seleccionar una opción de un menú. El sistema operativo 202 hace posible que esta comunicación sea recibida y traducida en datos. El módulo de aprendizaje 100 recibe entonces de preferencia estos datos, y puede enviar un comando de regreso al sistema operativo 202, por ejemplo para cambiar algún aspecto de la interfaz 204 (por ejemplo al ofrecer un menú diferente) , y/o para operar la aplicación de software 206. El usuario responde después a través de la interfaz 204; a partir de esta respuesta, el módulo de aprendizaje 100 aprende si la acción (comando que fue enviado por el módulo de aprendizaje 100) fue adecuada o no. La figura 3 es un diagrama de bloques que muestra una implementación ejemplar de un sistema de interfaz de usuario proactiva 300 de acuerdo con la presente invención. Como se muestra, el sistema 300 incorpora una arquitectura de tres niveles, con una capa de aplicaciones siendo soportada por un marco AI (Inteligencia Artificial) , el cual a su vez se comunica con el dispositivo computacional de la plataforma huésped (mostrado como "plata orma huésped" ) . La capa de aplicaciones incorpora una pluralidad de aplicaciones diferentes, de las cuales pocos ejemplos no limitativos se muestran, tal como una Aplicación de Mutación 302, una Aplicación Previa 304 y una Aplicación de Enseñanza 306. La Aplicación de Mutación 302 es invocada para controlar y/o iniciar mutaciones en el sistema 300. Como se indicó arriba, el módulo de aprendizaje puede cambiar opcionalmente su comportamiento a través de evolución dirigida o semi-dirigida, por ejemplo a través de algoritmos genéticos. La Aplicación de Mutación 302 controla y/o inicia estas mutaciones a través de evolución. La modalidad de evolución se describe en mayor detalle abajo. La Aplicación Previa 304 habilita de preferencia un estado anterior del sistema 300, o una porción del mismo (tal como el estado del módulo de aprendizaje) para que sea invocada en lugar del estado actual . En forma más específica, la Aplicación Previa 304 hace posible que el usuario regrese a la etapa evolutiva previa si la presente invención está siendo implementada con un algoritmo evolutivo. Más generalmente, el sistema 300 es de preferencia directo y por lo tanto puede regresar opcionalmente a un estado anterior, ya que un historial de estos estados se mantiene de preferencia. La Aplicación de Enseñanza 306 es sólo un ejemplo no limitativo de una aplicación genérica que puede implementarse sobre la capa del marco AI. La propia capa de la infraestructura AI contiene uno o más componentes que hacen posible que la interfaz de usuario se comporte de una manera proactiva. La infraestructura puede incluir una Asociadora de Mundos de Dispositivo 308, para determinar el estado del dispositivo computacional y también el del mundo virtual, así como la relación entre los dos estados . La Asociadora de Mundos de Dispositivo 308 recibe de preferencia entradas, por ejemplo de varios eventos de un Administrador de Eventos 310, para determinar de esta forma el estado del mundo virtual y el del dispositivo. Dispositivo Asociadora de Mundos 308 también se comunica de preferencia con un módulo Al/ML (aprendizaje de máquina) 312 para analizar los datos ingresados. El módulo Al/ML 312 también determina de preferencia el comportamiento • del sistema 300 en respuesta a varios estímulos, y también hace posible que el sistema 300 aprenda, por ejemplo de la respuesta del usuario a diferentes tipos de acciones de la interfaz de usuario. El comportamiento del sistema 300 también puede opcionalmente y de preferencia mejorarse de acuerdo con un módulo de evolución 314. La modalidad de evolución se prefiere particularmente con respecto al uso de un agente inteligente en un dispositivo de información móvil (véase abajo para un ejemplo) , pero también se puede usar con cualquier interfaz de usuario proactiva para un dispositivo computacional . Esta modalidad se usa cuando la interfaz de usuario proactiva también incorpora o se usa en combinación con un avatar. La evolución puede ser simulada por un conjunto de algoritmos genéticos. La base de estos algoritmos es describir las propiedades de la interfaz proactiva (y particularmente la apariencia del avatar) en términos de genes, cromosomas y fenotipos. El gen es una propiedad individual que tiene un nivel de expresión, por ejemplo una pierna de cierto tipo. El nivel de expresión puede ser el número de estas piernas. Un fenotipo es la expresión externa de un gen; por ejemplo el gen de la pierna puede tener diferentes fenotipos en términos de longitud o tamaño de la pierna. El gen también puede opcionalmente pasar por un proceso de mutación. Este proceso (de preferencia de acuerdo con cierta probabilidad) cambia uno o más parámetros del gen, produciendo así diferentes fenotipos nuevos. Un cromosoma es un conjunto de genes que funcionan juntos. El cromosoma puede hibridar (una cruza) con el mismo tipo de cromosoma de una criatura diferente, creando así un nuevo cromosoma que sea una combinación de sus cromosomas progenitores genéticos. Esta metodología ayuda a crear una infraestructura genérica para simular la evolución visual (por ejemplo de la apariencia del avatar) y/o la evolución del comportamiento de la interfaz de usuario proactiva. Estos algoritmos también pueden usarse para determinar características de comportamiento no visuales, tales como destreza, vigor y dem s. El efecto podría opcionalmente dar como resultado por e emplo una criatura más rápida, o una criatura más eficiente. Estos algoritmos pueden usarse para cualquiera de estas características que puedan describirse de acuerdo con la estructura de gen/genotipo/fenotipo mencionada previamente, de tal manera que por ejemplo genes de comportamiento puedan determinar opcionalmente el comportamiento de algoritmos AI usados por la presente invención. . La salida de algoritmos proporciona de preferencia una variedad de avatares descendientes y/o interfaces de usuario proactivas posibles. Los algoritmos genéticos usan un proceso de selección natural para decidir cuál de los niños genéticos continuará como la siguiente generación. El proceso de selección puede decidirse por el usuario o puede ser predefinido. De esta manera la criatura puede desplegar un comportamiento de evolución interesante . La inf aestructura de algoritmos genéricos puede usarse para hacer evolucionar genes que codifiquen para otras propiedades no visuales de la criatura, tales como metas o carácter. El módulo de Evolución 314 es un ejemplo no limitativo de la aplicación para administrar las evoluciones del agente inteligente. El módulo de evolución 314 soporta y también de preferencia administra esta evolución, por ejemplo a través de la operación de la Aplicación de Mutación 302. Entre estas aplicaciones tipo AI diferentes y el Administrador de Eventos 310, uno o más administradores de bajo nivel diferentes soportan de preferencia la recepción y manejo de diferentes eventos, y también el rendimiento de acciones diferentes por el sistema 300. Estos administradores pueden incluir pero no están limitados a, un Administrador de Acciones 316, un Administrador UI 318, un Administrador de Almacenamiento 320 y un Administrador de Aplicaciones 322. El Administrador de Acciones 316 se describe en mayor detalle abajo, pero brevemente hace posible que el sistema 300 determine qué acción se debe tomar, por ejemplo a través de la operación del módulo Al/ML 312. El Administrador UI 318 administra la apariencia y funciones de la interfaz de usuario, por ejemplo al dirigir cambios a esa interfaz como se describió anteriormente. El Administrador de Almacenamiento 320 administra el almacenamiento y manejo de datos, por ejemplo con respecto a la base de conocimientos del sistema 300 (no mostrada) . El Administrador de Aplicaciones 322 maneja las comunicaciones con las aplicaciones descritas previamente en la capa de aplicaciones. Todos estos diferentes administradores de preferencia reciben eventos del Administrador de Eventos 310. Dentro de la capa del marco AI, una infraestructura AI 324 soporta la comunicación con la plataforma huésped. La propia plataforma huésped incorpora una interfaz de plataforma huésped 326, la cual puede ser proporcionada a través del sistema operativo de la plataforma huésped por ejemplo. La infraestructura AI 324 puede incluir un módulo I/O 328, para recibir entradas que provengan de la interfaz de plataforma huésped 326 y también para enviar comandos a la interfaz de plataforma huésped 326. Un módulo de pantalla 330 maneja la presentación visual de la interfaz de usuario sobre la pantalla del dispositivo computacional de la plataforma huésped. Un módulo de recursos 332 hace posible que el sistema 300 tenga acceso a los diferentes recursos de la plataforma huésped, tales como almacenamiento de datos y demás .
Por supuesto, las figuras anteriores representan sólo una configuración opcional para el módulo de aprendizaje. Por ejemplo, el módulo de aprendizaje también puede ser representado como un conjunto de agentes individuales, en el cual cada agente tenga una meta simple. El módulo de aprendizaje selecciona un agente para llevar a cabo una acción con base en el estado actual . La asociación adecuada entre el estado actual y los agentes también puede aprenderse por el módulo de aprendizaje con aprendizaje de refuerzo.
Ejemplo 2 Sistema adaptivo para dispositivo de información móvil Este ejemplo se refiere a la implementación ilustrativa de un sistema adaptivo de la presente invención con un dispositivo de información móvil, aunque se debe entender que esta implementación es preferida pero opcional, y no está destinada a ser limitativa de ninguna manera. El sistema adaptivo puede incluir opcionalmente cualquiera de las funcionalidades descritas arriba en el ejemplo 1, y también puede implementarse como se describió anteriormente. Este ejemplo se enfoca más en la arquitectura real del sistema adaptivo con respecto a la operación del dispositivo de información móvil. Asimismo, este ejemplo describe una implementación opcional pero preferida de la criatura o avatar de acuerdo con la presente invención. Las siguientes secciones describen modalidades opcionales pero preferidas de implementaciones técnicas especificas de varios aspectos del sistema adaptivo de acuerdo con la presente invención. Con el propósito de descripción únicamente y sin ninguna intención de ser limitativas, estas modalidades se basan en la modalidad opcional pero preferida de un sistema adaptivo que interactua con el usuario a través de un agente inteligente, opcionalmente representado visualmente como un avatar o "criatura" .
Sección 1: Sistema conducido por eventos Esta sección describe una modalidad preferida de un sistema conducido por eventos de acuerdo con la presente invención, incluyendo pero no limitado a un administrador de aplicaciones, e interacciones entre el propio dispositivo y el sistema de la presente invención al ser operado por el dispositivo. La figura 4 muestra un diagrama de bloques de un sistema adaptivo 400 ejemplar de acuerdo con la presente invención, y las interacciones del sistema 400 con un dispositivo de información móvil 402. También como se muestra, tanto el sistema 400 como el dispositivo de información móvil 402 interactúan de preferencia con un usuario 404. El dispositivo de información móvil 402 tiene un número de funciones estándares, las cuales se muestran divididas en dos categorías con el propósito de explicación únicamente : datos y mecanismos . Los mecanismos pueden incluir opcionalmente pero no están limitados a funciones tales como un sistema UI (Interfaz de Usuario) 406 (pantalla, teclado o entrada de pantalla de tacto, etc.); función de llamadas entrantes y salientes 408; función de mensajes 410 por ejemplo para SMS ; sonido 412 y/o vibración 414 para alertar al usuario 404 de una llamada o mensaje entrante, y/o alarma, etc.; y almacenamiento 416. Los datos pueden incluir información tal como una agenda (telefónica) 418; la información de llamadas entrantes o salientes 420; la ubicación del dispositivo de información móvil 402, mostrada como la ubicación 422; información de mensajes 424; datos de Internet almacenados 426 y datos acerca del usuario 404, mostrados como datos de propietario 428. Se debe notar que el dispositivo de información móvil 402 puede incluir cualquiera uno o más de los datos/mecanismos anteriores, pero podría no necesariamente incluir todos ellos, y/o podría incluir datos/mecanismos adicionales que no se muestren. Éstos están diseñados simplemente como ejemplos no limitativos con respecto al dispositivo de información móvil 402, particularmente para teléfonos celulares. El sistema adaptivo 400 de acuerdo con la presente invención interactúa de preferencia con los datos/mecanismos del dispositivo de información móvil 402 para que de esta manera sea capaz de proporcionar una interfaz de usuario adaptiva (y también de preferencia proactiva) , incrementando así la facilidad y eficiencia con la cual el usuario 404 interactúa con el dispositivo de información móvil 402. El sistema adaptivo 400 incorpora lógica 430, la cual funciona de preferencia de una manera similar al módulo de aprendizaje descrito previamente, y la cual también funciona de acuerdo con los algoritmos de aprendizaje AI y de máquina descritos anteriormente . La lógica 430 es capaz de comunicarse con la base de conocimientos 102 como se describió con respecto a la figura 1 (los componentes que incorporan los mismos números de referencia tienen una funcionalidad ya sea idéntica o similar, a menos que se indique lo contrario) . El almacenamiento de información 432 incluye datos acerca de las acciones del dispositivo de información móvil 402, información de usuario y demás, y de preferencia complementa los datos en la base de conocimientos 102. De preferencia, el sistema adaptivo 400 es capaz de evolucionar, a través de una lógica de evolución 434, la cual puede combinar de preferencia la funcionalidad descrita previamente del módulo de evolución 314 y la Aplicación de Mutación 302 de la figura 3. El sistema adaptivo 400 es capaz de comunicarse directamente con el usuario 404 a través de lenguaje de texto y/o audible, como el soportado por el módulo de lenguaje 436. Particularmente como se describe con respecto a la modalidad de la presente invención en el ejemplo 3 abajo, pero también opcionalmente para el sistema adaptivo 400, al usuario 404 puede presentársele un avatar (no mostrado) para la interfaz de usuario. Si está presente, este avatar puede crearse a través de un modelo de gráficos en tercera dimensión 438 y un módulo de animación 440. El avatar puede ser personalizado para el usuario 404, proporcionando así una experiencia emocional incrementada para el usuario 404 cuando interactúe con el dispositivo de información móvil 402. La figura 5A muestra un diagrama de bloques de un sistema de administración de aplicaciones 500 ejemplar, el cual es una inf aestructura central para soportar al sistema adaptivo de la presente invención. El sistema 500 también puede usarse opcionalmente para soportar modalidades tales como funcionalidad de aplicación de enseñanza, como la descrita anteriormente, y también como se describe en mayor detalle abajo. El sistema 500 incorpora un administrador de aplicaciones 502 para administrar los diferentes tipos de aplicaciones que son parte del sistema adaptivo de acuerdo con la presente invención. El administrador de aplicaciones 502 se comunica con una interfaz de aplicaciones llamada Aplicación Base 504, la cual es implementada por todas las aplicaciones en el sistema 500. Tanto el administrador de aplicaciones 502 como la Aplicación Base 504 comunican eventos a través de un Administrador de Eventos 506. El administrador de aplicaciones 502 es responsable de administrar y. proporcionar tiempo de acción para la ejecución de las aplicaciones del sistema (aplicaciones que sean partes del sistema 500) . El ciclo de vida de cada una de estas aplicaciones se define en la Aplicación Base 504, lo cual permite que el administrador de aplicaciones 502 inicie, pause, reasuma y salga (detenga) cada" una de estas aplicaciones. El administrador de aplicaciones 502 administra la ejecución de tiempo de acción a través del método de etapas de la interfaz de la Aplicación Base 504. Se debe notar que el método de etapas se usa para la ejecución, toda vez que el sistema 500 es de preferencia directo, de tal manera que cada etapa corresponde (aproximadamente) a uno o más estados. Sin embargo, la ejecución también podría basarse opcionalmente en cuerdas y/o cualquier tipo de método de ejecución. El administrador de aplicaciones 502 recibe un evento temporizador del dispositivo de información móvil. El dispositivo de información móvil incorpora un sistema operativo, de tal manera que el evento temporizador se reciba de preferencia desde la capa del sistema operativo. Cuando se invoca un temporizador, el administrador de aplicaciones 502 invoca la etapa de la aplicación actual que se está ejecutando. El administrador de aplicaciones 502 cambia de una aplicación a otra aplicación cuando el usuario activa una aplicación diferente, por ejemplo cuando se usa el sistema de menú . Se muestran algunos ejemplos no limitativos de las aplicaciones del sistema, incluyendo pero no limitadas a, una Aplicación de Máquina de Enseñanza 508, una Aplicación de Mutación 510, una Aplicación de Estudio Genético 514, una Aplicación de Asistente T 516, una Aplicación de Agente Flotante 518, una Aplicación de Mundo TC 522 y una Aplicación Híbrida 520. Estas aplicaciones se describen también en mayor detalle abajo con respecto al ejemplo 3. La Aplicación de Mutación 510 es invocada de preferencia para controlar y/o iniciar mutaciones en el sistema adaptivo, y/o en la apariencia de un avatar que represente el sistema adaptivo como una interfaz de usuario. Como se indicó arriba con respecto al ejemplo 1, el sistema adaptivo de la presente invención puede cambiar su comportamiento a través de una evolución dirigida o semi-dirigida, por ejemplo a través de algoritmos genéticos. La Aplicación de Mutación 510 controla y/o inicia estas mutaciones . La Aplicación de Estudio Genético 514 hace posible de preferencia que el usuario lleve a cabo mutaciones dirigidas y/o semi-dirigidas a través de uno o más comandos manuales. Por ejemplo, el usuario podría desear dirigir al sistema adaptivo (a través del sistema de administración de aplicaciones 500) para llevar a cabo una secuencia de tareas particular después de recibir una entrada particular. Como alternativa, el usuario podría desear cambiar directamente parte de la apariencia de un avatar, si está presente. De acuerdo con modalidades preferidas de la presente invención, estos aspectos diferentes del sistema adaptivo se implementan de preferencia por "genes" distintos, los cuales pueden ser alterados después por el usuario. La Aplicación Híbrida 520 puede ser invocado si el usuario desea recibir información acerca de una fuente externa, tal como el sistema adaptivo de otro dispositivo de información móvil, y fusionar esta información con información existente sobre el dispositivo de información móvil del usuario. Por ejemplo, el usuario podría desear crear un avatar que tuviera una apariencia híbrida con el avatar de otro dispositivo de información móvil. La Aplicación Híbrida 520 también proporciona el control principal del usuario sobre el sistema evolutivo completo del avatar. La Aplicación Híbrida 520 se puede usar para instruir al usuario acerca de las propiedades de "vida" del avatar, el cual puede tener un nombre, personalidad, comportamiento y apariencia. La Aplicación de Máquina de Enseñanza 508 es un ejemplo ilustrativo y no limitativo de una aplicación que puede relacionarse con proporcionar instrucciones sobre el uso del propio dispositivo, pero proporciona instrucciones acerca de un sujeto que no está relacionado con la operación directa del propio dispositivo. Por lo tanto, la Aplicación de Máquina de Enseñanza 508 representa un ejemplo opcional de una aplicación que se proporciona en el dispositivo de información móvil con un propósito que no sea el de usar el propio dispositivo. La Aplicación de Mundo TC 522 es una aplicación que activa al agente inteligente, controlando tanto los aspectos inteligentes del agente como también la presentación visual gráfica de la criatura o avatar. El Aplicador de Asistente T 516 es otro tipo de aplicación que proporciona información al usuario. Se describe con respecto a la aplicación de Asistente de Inicio del ejemplo 4 abajo. Brevemente, esta aplicación contiene las preferencias de usuario y la configuración del marco AI, tal como el carácter del agente inteligente, particularmente con respecto al sistema emocional, y también con respecto a establecer prioridades de metas . La Aplicación de Agente Flotante 518 controla la apariencia de la interfaz de usuario, par icularmente con respecto a la apariencia de un avatar (si está presente) . La Aplicación de Agente Flotante 518 hace posible que los aspectos de presentación visual de la interfaz de usuario sean presentados visualmente en forma independiente a la presentación visual del avatar, el cual por lo tanto podría parecer que "flota" sobre la interfaz de usuario por ejemplo. La Aplicación de Agente Flotante 518 es la aplicación por omisión que es operada cuando no está corriendo otra aplicación. La figura 5B muestra un diagrama de secuencias ejemplar para las operaciones del administrador de aplicaciones de acuerdo con la presente invención. Como se muestra, un Administrador -de Eventos 506 despacha una notificación de un evento al administrador de aplicaciones 502, como se muestra en la flecha 1. Si el evento es un evento temporizador, entonces el administrador de aplicaciones 502 invoca la etapa (acción) de la instancia de la aplicación relevante que ya fue invocada, como se muestra en la flecha 1.1.1. Si el evento es iniciar la ejecución de una aplicación, entonces el administrador de aplicaciones 502 invoca una instancia de la aplicación relevante, como se muestra en la flecha 1.2.1. Si una instancia que actualmente está corriendo de una aplicación va a ser pausada, entonces el administrador de aplicaciones 502 envía el comando de causa a la aplicación, como se muestra en la flecha 1.3.1. Si una instancia previamente pausada de una aplicación va a ser reasumida, entonces el administrador de aplicaciones 502 envía el comando reanudar a la aplicación, como se muestra en la flecha 1.4.1. En cualquier caso, la ejecución exitosa de la etapa es regresada al administrador de aplicaciones 502, como se muestra por las flechas de retorno relevantes anteriores. El administrador de aplicaciones 502 notifica después al Administrador de Eventos 506 de la ejecución exitosa, o como alternativa de una falla. Estas aplicaciones diferentes son importantes para hacer posible que el sistema adaptivo controle varios aspectos de la operación del dispositivo de información móvil. Sin embargo, el sistema adaptivo también tiene que ser capaz de comunicarse directamente con varios componentes del dispositivo de información móvil, a través del sistema operativo del dispositivo de información móvil . Esta comunicación puede llevarse a cabo a través de un sistema de comunicación 600, mostrado con respecto a la figura 6, de preferencia con los algoritmos de acción descritos abajo. Las figuras 6A y 6B muestran una implementación ejemplar de la infraestructura requerida para que el sistema adaptivo de acuerdo con la presente invención lleve a cabo una o más acciones a través del sistema operativo del dispositivo de información móvil, así como un diagrama de secuencias para la operación del sistema de comunicación 600. De acuerdo con modalidades de la presente invención, esta infraestructura es un ejemplo de un concepto más general de "envolturas AI" , o la capacidad de "envolver" un sistema UI (interfaz de usuario) existente con capacidades de aprendizaje AI y de máquina innovadoras. El sistema de comunicación 600 es capaz de administrar varios tipos de eventos, con un evento clase base 602 que se comunica con el Administrador de Eventos 506 como se describió anteriormente. El Despachador de Eventos 604 enruta entonces el evento al objeto correcto dentro del sistema de la presente invención. El enrutado se determina por el registro del objeto con el Despachador de Eventos 604 para un evento particular. El Despachador de Eventos 604 administra de preferencia un registro de administradores que implementan la interfaz del Administrador de Eventos 506 para esta notificación. Los eventos específicos para los cuales se implementan administradores particulares incluyen un administrador de eventos de aleta 606 para teléfonos celulares en los cuales el dispositivo puede ser activado o una llamada entrante contestada al abrir una "aleta" ; cuando la aleta es abierta o cerrada, ocurre este evento. Las aplicaciones que estén siendo operadas de acuerdo con la presente invención puedan enviar eventos entre sí, los cuales sean administrados de preferencia por un administrador de Eventos Entre Aplicaciones 608. Un evento relacionado con la evolución (cambio) de la criatura o avatar es manejado por un administrador de Eventos de Evolución 610. Una llamada telefónica entrante o saliente es administrada por un administrador de Eventos de Llamada 612, el cual a su vez tiene de preferencia dos administradores adicionales, un administrador de Evento de Llamada Iniciada 614 para iniciar una llamada telefónica y un administrador de Evento de Llamada Concluida 616 para concluir una llamada telefónica. Un evento SMS (mensaje entrante o saliente) es manejado por un administrador de eventos SMS 618. Los parámetros que pueden incluirse en el evento comprenden parámetros relacionados con la hibridación de la criatura o avatar de un dispositivo de información móvil con la criatura o avatar de otro dispositivo de información móvil, como se describe en mayor detalle abajo. Los eventos relacionados con la operación de las teclas son administrados de preferencia por un administrador de Eventos de Tecla 620 y/o un administrador de Evento de Código de Tecla 622. Por ejemplo, si el usuario oprime una tecla sobre el dispositivo de información móvil, el administrador de Eventos de Tecla 620 administra de preferencia este evento, el cual se refiere a información entrante para la operación del sistema de acuerdo con la presente invención. En el diagrama de secuencias, el evento de tecla es un objeto que proviene de la clase Evento de Tecla, el cual representa el objeto de mensaje del evento de tecla. El administrador de Eventos de Tecla 620 administra el propio evento de tecla, mientras que el administrador de Eventos de Código de Tecla 622 escucha el código de entrada (ambos eventos de entrada se obtienen a través de un gancho en el sistema operativo) . Un administrador de Evento de Batería 624 administra los eventos relacionados con la batería, tales como una baja batería, o alternativamente cambia de un modo de bajo consumo de energía a un modo de alto consumo de energía. El administrador de Eventos de Hora del Día 626 se refiere de preferencia a eventos de alarma, calendario o eventos diarios de recordatorio/agenda. La figura 6B es un diagrama de secuencias ejemplar, el cual muestra cómo los eventos son administrados entre el sistema operativo del dispositivo de información móvil u otra estructura de control y el sistema de la presente invención. En este ejemplo, el dispositivo de información móvil tiene un sistema operativo, aunque un flujo de operación similar podría implementarse para dispositivos que carezcan de este sistema operativo. Si está presente, el sistema operativo maneja la entrada y salida hacia/desde el dispositivo, y maneja el estado y eventos que ocurren para el dispositivo. El diagrama de secuencias de la figura 6B es una abstracción para facilitar el manejo de, y que se refiere a, estos eventos . Un módulo de sistema operativo (módulo_os) 628 causa o se refiere a un evento; opcionalmente una pluralidad de estos módulos pueden estar presentes, pero sólo se muestra uno con el propósito de claridad y sin intentar ser limitativo de ninguna manera. El módulo de sistema operativo 628 es parte del sistema operativo del dispositivo de información móvil. El módulo de sistema operativo 628 envía una notificación de un evento, ya sea recibida o creada por el módulo de sistema operativo 628 , a un gancho 630 . El gancho 630 es parte del sistema de acuerdo con la presente invención, y se usa para permitir la comunicación entre el sistema operativo y el sistema de acuerdo con la presente invención. El gancho 630 escucha eventos relevantes del sistema operativo. El gancho 630 es capaz de interpretar el evento a partir del sistema operativo, y de construir el evento en un mensaje que sea comprensible para el evento 602 . El gancho 630 también despacha el evento al Despachador de Eventos 604 , el cual se comunica con cada administrador para el evento, mostrado como Administrador de Eventos 506 (aunque puede haber una pluralidad de estos administradores) . El Despachador de Eventos 604 reporta después al gancho 630, el cual reporta al módulo de sistema operativo 628 acerca del manej o del evento . Las figuras 7A, 7B y 7C muestran eventos ejemplares, y cómo se manejan por las interacciones entre el dispositivo de información móvil (a través del sistema operativo del dispositivo) y el sistema de la presente invención. Se debe notar que algunos eventos pueden ser administrados opcionalmente dentro del sistema de la presente invención, sin referencia al dispositivo de información móvil . La figura 7A muestra un diagrama de secuencias de eventos de tecla ejemplar, descrito de acuerdo con un dispositivo de información móvil que tiene a la inf aestructura de sistema operativo DMSS de Qualcomm Inc . , para su plataforma móvil MSM (máquina de estado de mensajes) CDMA (acceso múltiple por división de códigos) . Este sistema operativo proporciona servicios de sistema operativo tales como servicio de interfaz de usuario, servicios 1/0 y entrada interactiva al usar las teclas (teclado) del teléfono. Este ejemplo muestra cómo un evento ingresado de una tecla se genera y se maneja por el sistema de la presente invención. Otros eventos son enviados al sistema casi de una manera idéntica, aunque la función del gancho 630 se altera de acuerdo con el módulo de sistema operativo que esté enviando el evento; una pluralidad de estos ganchos están presentes, de tal manera que cada gancho tenga una función diferente con respecto a interactuar con el sistema operativo. Como se muestra en la figura 7A, un módulo de evento_ui_do 700 es un componente del sistema operativo y es invocado periódicamente. Cuando una tecla sobre el dispositivo móvil es presionada, la estructura de la interfaz de usuario (UI) que transfiere información al módulo de evento_ui_do 700 contiene el valor de la tecla. El gancho 630 recibe después el valor de la tecla, identifica el evento como un evento de tecla (particularmente si el módulo de evento_ui_do 700 despacha un evento global) y genera un evento de tecla 702 . El evento de tecla 702 es después despachado al Despachador de Eventos 604. El evento es enviado después a una aplicación 704 que ha solicitado recibir notificación de este evento, de preferencia a través de un administrador de eventos (no mostrado) como el descrito anteriormente. La notificación de éxito (o falla) en la administración del evento es regresada después al Despachador de Eventos 604 y por consiguiente al gancho 630 y al módulo de evento_ui_do 700 . La figura 7B muestra un segundo ejemplo ilustrativo de un diagrama de secuencias para manejar un evento; en este caso, el evento es pasado del sistema de la presente invención al sistema operativo, y está relacionado con dibujar sobre la pantalla del dispositivo de información móvil . La información es pasada a través del método de acceso de pantalla del sistema operativo, en el cual la pantalla es representada (típicamente) por una memoria volátil de cuadros. La memoria volátil de cuadros es un segmento de memoria que es copiado mediante el uso del manejador de pantalla (manejador para el hardware de la pantalla) y presentado visualmente por la pantalla. El sistema de la presente invención produce la información necesaria para controlar el dibujo sobre la pantalla al sistema operativo. Regresando ahora a la figura 7B, como se muestra por la flecha "1" , el sistema operativo (a través del módulo principal de actualización de pantalla 710) actualiza primero la memoria volátil de cuadros para la pantalla. Esta actualización puede incluir opcionalmente dibujar el fondo por ejemplo, el cual puede ser presentado visualmente sobre cada parte de la pantalla a la cual datos no sean extraídos de la información proporcionada por el sistema de la presente invención. La presencia de este fondo soporta el uso de ventanas semitransparentes, las cuales pueden usarse para la criatura o agente como se describe en más detalle abajo. El módulo principal de actualización de pantalla 710 envía entonces una solicitud para datos actualizados a un módulo de pantalla 712, el cual es parte del sistema de la presente invención y el cual incorpora un gancho para comunicarse con el sistema operativo. El módulo de pantalla 712 envía después una solicitud a cada ventana de aplicación, mostrada como una Ventana de agente 714, de la cual opcionalmente una pluralidad puede estar presente, para información actualizada acerca de lo que se debe' llevar a la pantalla. Si ha ocurrido un cambio, de tal forma que se requiera una actualización, entonces la Ventana de agente 714 notifica al módulo de pantalla 712 que se requiere la actualización. El módulo de pantalla 712 pregunta después la ubicación y tamaño de la porción cambiada, de preferencia en dos solicitudes separadas (mostradas como flechas 2.1.2.1 y 2.1.2.2 respectivamente), para las cuales se envían las respuestas por la Ventana de agente 714. El módulo de pantalla 712 regresa la información al sistema operativo a través del módulo principal de actualización de pantalla 712 en forma de un rectángulo actualizado, de preferencia como sigue. El módulo principal de actualización de pantalla 710 responde a la notificación acerca de la presencia de una actualización al copiar la memoria volátil de cuadros en una pre-memoria volátil (proceso 3.1) . El módulo de pantalla 712 extrae después los cambios para cada ventana dentro de la pre-memoria volátil, mostrada como la flecha 3.2.1. La pre-memoria volátil es después copiada a la memoria volátil de cuadros y por consiguiente la pantalla (flecha 3.3). La figura 7C muestra la arquitectura de clases para el sistema de la presente invención para dibujar sobre la pantalla. El módulo de pantalla 712 y la Ventana de agente 714 se muestran ambos. La Ventana de agente de clase 714 se comunica también con otras tres clases de ventanas, las cuales proporcionan información que se refiere a ventanas de actualización (cambios) : la Ventana de Pantalla Posterior 716, Ventana en Memoria Volátil 718 y Ventana de Acceso Directo 720. La Ventana en Memoria Volátil 718 tiene otras dos clases de ventanas adicionales con las cuales se comunica: la TransVentana en Memoria Volátil 722 y la PreVentana en Memoria Volátil 724.
Sección 2: Sistema de selección de acciones Esta sección describe una modalidad preferida de un sistema de selección de acciones de acuerdo con la presente invención, incluyendo pero no limitada a una descripción de la selección de acciones opcional de acuerdo con incentivos/desincentivos, y demás. Para ayudar a explicar cómo las acciones del agente inteligente se seleccionan, se proporciona una explicación inicial con respecto a la estructura del agente inteligente, y a las interacciones del agente inteligente con el mundo virtual que se proporciona por el sistema de la presente invención. La figura 8A describe una estructura ejemplar del agente inteligente y la figura 8B incluye un diagrama de secuencias ejemplar para la operación del agente inteligente. Como se muestra con respecto a la figura 8A, un agente inteligente 800 incluye una pluralidad de clases. La clase principal es la Criatura AI 802 , la cual incluye información acerca del agente inteligente tal como su estado, personalidad, metas, etc., y también información acerca de la apariencia de la criatura que representa visualmente al agente, tal como ubicación, color, si es actualmente visible y demás . La Criatura AI 802 se comunica con el Mundo 804 , el cual es la clase base para el ambiente virtual para el agente inteligente. El Mundo 804 se comunica a su vez con las clases que comprenden el ambiente virtual, del cual algunos ejemplos no limitativos se muestran. El Mundo 804 se comunica de preferencia con varias instancias de un Objeto de Mundo 806 , el cual representa un objeto que se encuentra en el ambiente virtual y con el cual el agente inteligente puede interactuar. El Mundo 804 maneja estos objetos diferentes y recibe también información acerca de sus características, incluyendo sus propiedades tales como ubicación y demás. El Mundo 804 maneja también las propiedades del propio ambiente virtual, tales como tamaño, visibilidad y demás. La representación visual del Objeto de Mundo 806 puede usar gráficos bidimensionales o tridimensionales, o una mezcla de los mismos, y también puede usar otras capacidades del dispositivo de información móvil, tales como producción de sonidos y demás . El propio Objeto de Mundo 806 puede representar un objeto que pertenezca a una de varias clases. Esta abstracción hace posible que diferentes clases de objetos sean añadidas o removidas del ambiente virtual. Por ejemplo, el objeto puede ser opcionalmente una "pelota" la cual por ejemplo pueda iniciar como parte de un menú y después ser "removida" por la criatura para jugar con ella, como se representa por un Objeto Pelota de Menú 808. Un Objeto Animal Bueno 810 de preferencia se comunica también con el Objeto de Mundo 806; a su vez, las clases tales como Objeto Alimento 812 (que representa alimento para la criatura) , Objeto Animal Malo 814 (un animal que puede molestar a la criatura y hacerla pelear por ejemplo) y Objeto Casa 816 (una casa para la criatura) se comunican de preferencia con el Objeto Animal Bueno 810. El Objeto Animal Bueno 810 incluye la funcionalidad para ser capaz de dibujar objetos sobre la pantalla y demás, que es la razón por la que otras clases y objetos se comunican de preferencia con el Objeto Animal Bueno 810. Por supuesto, muchas otras clases y objetos son posibles en este sistema, ya que pueden proporcionarse opcionalmente otros juguetes a la criatura, por ejemplo. El Objeto de Mundo 806 puede también referirse al estado del agente inteligente, por ejemplo proporcionar una entrada graduada al estado. Esta entrada es de preferencia graduada en el sentido de que proporciona un incentivo al agente inteligente o un desincentivo al agente inteligente; también puede tener una influencia neutra. La agregación de una pluralidad de estas entradas graduadas hace posible que el estado del agente inteligente sea determinado. Como se describe con respecto al diagrama de secuencias de la figura 8B, y también los diagramas de estrategia de búsqueda de gráficos y de estrategia de selección de acciones de las figuras 9A y 9B respectivamente, las entradas graduadas son de preferencia agregadas para maximizar asi la recompensa regresada al agente inteligente desde el ambiente virtual. Estas entradas graduadas también pueden incluir entradas que provengan del usuario en forma de retroalimentación de alentamiento, o desalentamiento, de tal manera que el agente inteligente tenga un incentivo o desincentivo, respectivamente, para continuar el comportamiento para el cual se ha proporcionado la retroalimentación. El cálculo del estado del mundo con respecto a la retroalimentación que proviene del usuario es llevado a cabo como sigue: Grado = (factor de ponderación * recompensa de retroalimentacion) + ( (factor de ponderación-1) * recompensa de mundo) En el cual la recompensa de retroalimentacion resulta de la retroalimentacion provista por el usuario y la recompensa de mundo es el premio total agregado desde el ambiente virtual como se describió arriba; el factor de ponderación es un valor entre 0 y 1, el cual indica el peso de la retroalimentacion de usuario a diferencia de la retroalimentacion del ambiente (mundo) virtual. Ejemplos no limitativos de esta recompensa por la acción del agente incluyen retroalimentacion positiva o negativa sobre la sugerencia del agente; la provisión de un objeto de mundo tal como una pelota o alimento al agente; duración de uso del teléfono; duración de enseñanza del usuario y similares. A cada uno de estos ejemplos se le puede asignar una puntuación predeterminada, y la acción del agente puede ser restringida o expandida de acuerdo con una puntuación acumulada correspondiente. Por ejemplo, a la retroalimentacion positiva y negativa proporcionada por el usuario se le puede asignar valores positivo y negativo, respectivamente; encontrar un enemigo o animal malo: -20 puntos; obtener un alimento, juguete u objeto de casa: +5 puntos; alarma de batería baja: -1 punto; respuestas correctas e incorrectas, cuando el agente enseñe al usuario: +1 punto y -1 punto, respectivamente; inactividad durante 20 minutos: -1 punto; marcación errónea: -1; uso de SMS: +1 punto y similares. Los ejemplos anteriores pueden ser aplicados de otras formas . La figura 8B muestra un diagrama de secuencias ilustrativo para un conjunto ejemplar de interacciones entre el mundo virtual y el agente inteligente de la presente invención. La secuencia inicia con una solicitud de un módulo de mundo virtual 818 a la Criatura AI 802 para una actualización acerca del estado del agente inteligente. Un módulo de mundo virtual 818 controla y administra al ambiente virtual completo, incluyendo al propio agente inteligente. El agente inteligente considera después una acción a llevar a cabo, como se muestra por la flecha 1.1.1. La acción se selecciona de preferencia a través de una búsqueda (flecha 1.1.1.1) a través de todos los objetos de mundo, y después en forma recursiva a través de todas las acciones para cada objeto, al interactuar con el Mundo 804 y el Objeto de Mundo 806. La recompensa premio potencial por cada acción es evaluada (flecha 1.1.1.1.1.1) y graduada (flecha 1.1.1.1.1.1.2) . La acción con la recompensa más alta es seleccionada. El grado total para el agente inteligente es después determinado y la Criatura AI 802 lleva a cabo la acción seleccionada. El mundo_virtual 818 actualiza después la ubicación y el estado de todos los objetos en el mundo, al comunicarse con el Mundo 804 y el Objeto de Mundo 806. La búsqueda a través de varias acciones potenciales puede llevarse a cabo opcionalmente de acuerdo con uno o más de un número de métodos diferentes. Las figuras 9A y 9B muestran dos métodos ejemplares para seleccionar una acción de acuerdo con la presente invención. La figura 9A muestra un método ejemplar para la selección de acciones, llamado aquí una estrategia a base de reglas para seleccionar una acción. En la etapa 1, el estado del ambiente virtual se determina por el estado del Mundo. Ocurre un Evento de Mundo, después del cual el Administrador de Estados sea adecuado para ese evento es invocado en la etapa 2. El Administrador de Estados consulta de preferencia una base de conocimientos en la etapa 3. La base de conocimientos puede ser dividida en secciones separadas y/o bases de conocimiento separadas de acuerdo con el Administrador de Estados que haya sido invocado. En la etapa 4, se regresa una respuesta al Administrador de Estados. En la etapa 5, se lleva a cabo la validación de base de reglas, en la cual la respuesta (y por consiguiente la acción sugerida que a su vez lleva al agente inteligente a un estado específico) se compara contra las reglas. Si la acción no es válida, entonces el proceso regresa a la etapa 1. Si la acción es válida, entonces en la etapa 6 la acción se genera. La prioridad para la acción se determina entonces de preferencia en la etapa 7; muy preferiblemente, la prioridad se determina de acuerdo con una pluralidad de entradas, incluyendo pero no limitadas a, una probabilidad de acción, una utilidad de acción y una preferencia de usuario. En la etapa 8, la acción se pone en una cola para el administrador de acciones. En la etapa 9, el administrador de acciones retira la acción de prioridad más alta, la cual se lleva a cabo después por un agente inteligente en la etapa 10. La figura 9B muestra un método de selección de acciones ejemplar de acuerdo con una estrategia de búsqueda de gráficas. De nuevo, en la etapa 1 el proceso comienza a determinar el estado de mundo (ambiente virtual) , incluyendo el estado del agente inteligente y de los objetos en el mundo) . En la etapa 2, el agente inteligente es consultado. En la etapa 3, el agente inteligente obtiene un conjunto de acciones legales (permitidas o posibles) para cada objeto de mundo; de preferencia cada objeto de mundo es consultado como se muestra. El método se deriva ahora en dos partes . Una primera parte, mostrada a la derecha, se lleva a cabo para cada trayectoria de acción. En la etapa 4, se simula una acción que se va a llevar a cabo. En la etapa 5, el efecto dé la simulación se determina para el mundo, y se determina también de preferencia para cada objeto de mundo en la etapa 6. En la etapa 7 , se determina un grado para el efecto de cada acción. En la etapa 8, el estado de los objetos y por consiguiente del mundo se determina, al igual que la recompensa acumulada total de una acción. En la etapa 9, el efecto de la acción se simula en el agente inteligente; de preferencia el efecto entre el agente inteligente y cada objeto del mundo también se considera en la etapa 10. Volviendo ahora a la derivación izquierda del método, en la etapa 11, toda esta información se usa de preferencia para determinar la trayectoria de acción con la recompensa más alta. En la etapa 12, se genera la acción. En la etapa 13, se establece la prioridad de la acción, de preferencia de acuerdo con el grado o recompensa de acción. En la etapa 14, la acción se pone en una cola en el administrador de acciones, al igual que para la figura 9A. En la etapa 15, la acción se considera por el administrador de acciones de acuerdo con su prioridad; se selecciona la acción de prioridad más alta y de preferencia se ejecuta en la etapa 16. A continuación se proporciona una descripción de un método y estructura de ejecución de acciones ejemplares. La figura 10 muestra un diagrama de secuencias de un método de ejecución de acciones ejemplar de acuerdo con la presente invención. Un administrador 1000 envía una meta para una acción a un módulo de acciones 1002 en la flecha 1, la cual incorpora una interfaz de acción base . La interfaz de acción base hace posible que el módulo de acciones 1002 se comunique con el administrador 1000 y también con otros objetos en el sistema, los cuales son capaces de generar acciones posteriores para su ejecución más tarde por el agente inteligente, mostrado aquí como la Aplicación de Agente Flotante 1006. Estas acciones son administradas por un administrador de acciones 100 . El administrador de acciones 1004 tiene dos colas que contienen objetos de acción. Una cola es la cola de listos para ejecución, mientras que la otra cola es la cola de pendientes para ejecución. Esta última cola puede usarse por ejemplo si se ha generado una acción, pero el estado interno de la acción está pendiente por lo que la acción no está lista para su ejecución. Cuando el estado de la acción madura para estar listo para su ejecución, la acción es de preferencia movida a la cola de listos para ejecución. Un administrador de aplicaciones 1008 interactúa con la Aplicación de Agente Flotante 1006 para ejecutar una acción, como se muestra en la flecha 2. La Aplicación de Agente Flotante 1006 solicita después la siguiente acción del administrador de acciones 1004 (flecha 2.1); la propia acción es de preferencia provista por el módulo de acciones 1002 (flecha 2.2.1). Las acciones son puestas en cola desde el administrador 1000 al administrador de acciones 1004 (flecha 3) . Las metas (y por consiguiente al menos una parte de la prioridad) se establecen de preferencia para cada acción mediante comunicación entre el administrador 1000 y el módulo de acciones 1002 (flecha 4) . Las flechas 5 y 6 muestran el método harakiri () , descrito en mayor detalle abajo. Como se describió anteriormente, las acciones se ponen en cola por orden de prioridades . La prioridad se determina al consultar a la interfaz del módulo de acciones 1002 por el administrador de acciones 1004. La prioridad de la acción se determina de acuerdo con un cálculo que incluye una pluralidad de parámetros. Por ejemplo, los parámetros pueden incluir la prioridad derivada o inferida por el objeto que se genera, muy preferentemente con base en la probabilidad predicha para el éxito de la acción; la prioridad persistente para este tipo de acción, la cual se determina de acuerdo con experiencias pasadas con este tipo de acción (por ejemplo de acuerdo con la aceptación del usuario y el éxito de la acción) y la prioridad de meta, la cual se determina de acuerdo con las preferencias del usuario . Un cálculo opcional para administrar los parámetros anteriores es el siguiente: P (todos) = P (probabilidad de acción) * ( (P (prioridad persistente) + P (meta de acción) /10) ) /2 ) En forma complementaria a la ejecución de acciones a base de prioridades, cada acción tiene de preferencia un periodo de Tiempo de Vida (ttl) ; este valor ttl indica la cantidad de tiempo de ejecución que pasó entre que la acción fue puesta en la cola de listo y el tiempo de expiración de esta acción. Si una acción está lista pero no recibe la prioridad para su ejecución hasta que su ttl haya expirado, el administrador de acciones 1004 invoca de preferencia el método harakiriO, el cual notifica a la acción que no se será ejecutada. Cada una de estas invocaciones de harakiriO reduce de preferencia la prioridad de la acción hasta que se alcance un umbral. Después de que se ha alcanzado este umbral, la prioridad persistente empieza a incrementarse. Este modelo funciona para manejar acciones que fueron propuestas ejecutadas pero que fallaron porque el usuario abortó la acción. La prioridad persistente se reduce al incorporar la experiencia pasada en el cálculo de prioridades de acción. Este método muestra cómo las acciones que fueron sugeridas o ejecutadas se adaptan a las preferencias implícitas del usuario específico en tiempo real. Este modelo no está completo sin el mecanismo harakiriO toda vez que si una prioridad persistente de acción se reduce, y por lo tanto la acción no corre, tiene que permitirse ya sea que sea removida o de otra manera posiblemente corrida de nuevo, por ejemplo si las preferencias del usuario cambian. Después de varias ejecuciones de harakiriO, la acción puede volver a obtener la prioridad para correr. Las secciones anteriores proporcionan infraestructura, la cual hace posible que varias acciones y mecanismos se lleven a cabo a través del sistema adaptivo de la presente invención. Estas acciones y mecanismos se describen en mayor detalle a continuación.
Sección 3: Sistema emocional Esta sección describe una modalidad preferida de un sistema emocional de acuerdo con la presente invención, incluyendo pero no limitada a una descripción de emociones específicas y su intensidad, las cuales se pueden combinar para formar un modo general . El sistema emocional también incluye un mecanismo para permitir que los estados de ánimo cambien así como para controlar uno o más aspectos de este cambio, tales como la velocidad de cambio por ejemplo. Las figuras 11A-11C incorporan diagramas para describir una implementación ejemplar e ilustrativa de un sistema emocional de acuerdo con la presente invención. La figura 11A muestra un diagrama de clases ejemplar para el sistema emocional, mientras que las figuras 11B y 11C muestran diagramas de secuencias ejemplares para la operación del sistema emocional de acuerdo con la presente invención. Como se muestra con respecto a un sistema emocional 1100 de acuerdo con la presente invención, la clase de meta (meta 1102) representa una meta abstracta del agente inteligente. Una meta es algo para lo cual el agente inteligente tiene que llevar a cabo una acción. La meta 1102 es responsable de crear emociones con base en ciertos eventos que estén relacionados con el estado de la meta y sus probabilidades de conclusión. La meta 1102 interactúa con la Criatura AI 802 (también descrita previamente con respecto a la figura 8) . Brevemente, el agente inteligente intenta cumplir las metas, de tal forma que las interacciones entre la Criatura AI 802 se requieran para determinar así si las metas han sido cumplidas o no, lo cual a su vez impacta el estado emocional del agente inteligente. El propio estado emocional es manejado por la clase Estado Emocional 1104, la cual a su vez está conectada a la clase Emoción 1106. La Emoción 1106 está a su vez conectada de preferencia a clases para emociones específicas tales como la clase de ira Emoción de Ira 1108 y la clase de alegría Emoción de Alegría 1110. El Estado Emocional 1104 también está conectado de preferencia a una clase que determina el patrón de comportamiento, la Asociadora de Patrones de Comportamiento 1112.
La interfaz de usuario proactiva crea emociones del agente a través del sistema emocional cuando la probabilidad de éxito (LOS) de la meta abstracta del agente inteligente se incrementa o disminuye y cuando la probabilidad de falla (LOF) del mismo se incrementa o disminuye. Cuando la LOS se incrementa, entonces la emoción de esperanza se genera. Cuando la LOS disminuye, la emoción de desesperanza se genera. Cuando la LOF se incrementa, la emoción de temor se genera de preferencia, y cuando la LOF se reduce, entonces se genera la emoción de alegría. El éxito o falla de una meta tiene un efecto significativo en el estado de la meta y en las emociones generadas. Cuando una meta falla, se genera desesperanza, y si la probabilidad de éxito era alta, también se genera frustración (toda vez que la expectativa de éxito era alta) . Cuando se tiene éxito en una meta, se genera alegría, y si la expectativa y éxito acumulado fueron altos, entonces se genera orgullo. La emoción 1106 es una estructura que tiene dos propiedades, las cuales son tipos mayor y menor. El tipo mayor describe el grupo de alto nivel al pertenece cual la emoción menor, de preferencia incluyendo EMOCION_POSITI A y EMOCION_NEGATIVA. Los tipos menores incluyen de preferencia ALEGRIA, ESPERANZA, PERVERSIÓN, ORGULLO, GUSTO, IRA, ODIO, TEMOR, FRUSTACION, ANGUSTIA, DESILUSION. Otras propiedades de la emoción son la intensidad dada cuando se genera, y la política de decaimiento (es decir, la velocidad de cambio de la. emoción) . La siguiente fase después de la generación de emociones se lleva a cabo por la clase Estado Emocional 1104 que acumula emociones que fueron generadas con el tiempo por el agente inteligente. Esta clase representa la colección de casos de emoción que definen el estado emocional actual del agente inteligente. El estado emocional actual se define al mantener una jerarquía de tipos de emociones, las cuales son después generalizadas por agregación y correlación. Por ejemplo, las emociones menores son agregadas a una puntuación para EM0CI0N_P0SITIVA y una puntuación para EMOCION_NEGATIVA; estas dos categorías son después correlacionadas con ESTADO DE ÁNIMO BUENO/MALO, que describe el estado de ánimo general del agente inteligente. La clase Estado Emocional 1104 es consultada por la aplicación flotante del agente inteligente; siempre que el patrón de comportamiento dominante cambie (por emociones generadas, decaídas y generalizadas en el modelo descrito anteriormente) , el agente inteligente expresa su estado emocional y se comporta de acuerdo con ese patrón de comportamiento. El agente inteligente puede expresar su estado emocional usando una o más de la máquina de comunicación de texto (descrita en mayor detalle abajo) , animación tridimensional, expresiones faciales, efectos animados bidimensionales y sonidos. La figura 11B muestra un diagrama de secuencias ejemplar para la generación de una emoción por el sistema emocional de acuerdo con la presente invención. Como se muestra, el administrador de aplicaciones 502 envía una etapa a la Aplicación de Agente Flotante 1006 en la flecha 1. La Aplicación de Agente Flotante 1006 determina entonces la LOF (probabilidad de falla) al consultar la clase de meta 1102 en la flecha 1.1. La meta 1102 determina después la LOF; si la nueva LOF es mayor que la LOF determinada anteriormente, se genera de preferencia temor por una solicitud a la clase de emociones 1106 en la flecha 1.1.1.1. La emoción de temor también se añade al estado emocional mediante comunicación con el Estado Emocional 1104 en la flecha 1.1.1.2. Después, el administrador de aplicaciones 502 envía otra etapa (flecha 2) a la Aplicación de Agente Flotante 1006, que determina la LOS (probabilidad de éxito) consultando de nuevo la Meta 1102 en la flecha 2.1. La meta 1102 determina después la LOS; si la nueva LOS es mayor que la LOS determinada previamente, se genera de preferencia esperanza por una solicitud a la clase de emociones 1106 en la flecha 2.1.1.1. La emoción de esperanza se añade también al estado emocional mediante comunicación con el Estado Emocional 1104 en la flecha 2.1.1.2.
La flecha 3 muestra al administrador de aplicaciones 502 enviando otra etapa a la Aplicación de Agente Flotante 1006, que solicita la determinación de la emoción de acuerdo con el resultado real de una acción. Si la acción ha fallado y la última LOS fue mayor que cierto factor, tal como 0.5, lo cual indicaba que se esperaba éxito, entonces la Aplicación de Agente Flotante 1006 ocasiona que la Meta 1102 genere desesperanza por la Emoción 1106 en la flecha 3.1.1.1. La emoción de desesperanza también se añade al estado emocional mediante comunicación con el Estado Emocional 1104 en la flecha 3.1.1.2. Asimismo, si la acción falló (no obstante de la expectativa de éxito) , se genera angustia por la Emoción 1106 en la flecha 3.1.2. La emoción de angustia también se añade al estado emocional por comunicación con el Estado Emocional 1104 en la flecha 3.1.3. Después, el administrador de aplicaciones 502 envía otra etapa (flecha 4) a la Aplicación de Agente Flotante 1006, que actualiza las emociones con base en el éxito real al enviar un mensaje a la meta 1102 en la flecha 4.1. La meta 1102 ocasiona después de preferencia que se genere preferiblemente alegría por una solicitud a la clase de emociones 1106 en la flecha 4.1.1. La emoción de alegría también se añade al estado emocional mediante comunicación del Estado Emocional 1104 en la flecha 4.1.2. Si el éxito real es mayor que el predicho, entonces la meta 1102 ocasiona de preferencia que se genere orgullo por una solicitud a la clase de emociones 1106 en la flecha 4.1.3.1. La emoción de orgullo se añade también al estado emocional mediante comunicación con el Estado Emocional 1104 en la flecha 4.1.3.2. La figura 11C muestra un diagrama de secuencias ejemplar para expresar una emoción por el sistema emocional de acuerdo con la presente invención. Esta expresión es regida por las preferencias del usuario. El administrador de aplicaciones 502 inicia la expresión emocional al enviar una etapa (flecha 1) a la Aplicación de Agente Flotante 1006, que consulta a la asociadora_bp 1108 en cuanto al patrón de comportamiento del agente inteligente en la flecha 1.1. Si el comportamiento dominante ha cambiado, entonces la Aplicación de Agente Flotante 1006 envía una solicitud al presentador visual_bp 1110 para establecer el patrón de comportamiento (flecha 1.2.1). El presentador visual_bp 1110 controla la presentación visual real de la emoción. La Aplicación de Agente Flotante 1006 solicita después que se ponga en cola una acción en un mensaje al administrador de acciones 1004 (flecha 1.2.2). El administrador de aplicaciones 502 envía otra etapa (flecha 2) a la Aplicación de Agente Flotante 1006, que solicita que la acción sea removida de la cola (flecha 2.1) al administrador de acciones 1004, y que la acción se lleve a cabo por el presentador visual_bp 1110. La siguiente tabla muestra un ejemplo no limitativo de la definición de acciones que pueden tomarse por el agente de acuerdo con los niveles de puntos de recompensa obtenidos por el agente.
Tabla 1 En este ejemplo, el agente puede llevar a cabo las acciones básicas tales como sentarse, dormir, oler, ladrar, estar triste y estar contento, sin importar los puntos de recompensa obtenidos por el agente. El nivel del agente se incrementa en un nivel al incrementarse los puntos de recompensa en +200 puntos, mientras que disminuye en un nivel al reducirse los puntos de recompensa en +200 puntos (es decir, se incrementan por -200 puntos de recompensa) . Un número diferente de puntos de recompensa puede ser establecido como una base para el cambio de nivel . En caso de que el nivel básico del agente se establezca al tercer nivel, el agente puede tomar las acciones básicas y acciones especiales adicionales que correspondan al tercer nivel, tales como 2do tipo contento, pensar, correr y saltar, como se muestra en la tabla 1. En este caso, si el agente obtiene +200 puntos de recompensa, el nivel del agente se vuelve el cuarto nivel, por lo que el agente puede tomar las acciones básicas y acciones especiales adicionales que correspondan al cuarto nivel, tales como 2do tipo bailar, correr, saltar y volar. El sistema de selección de acciones descrito arriba determina qué acción se debe tomar de entre acciones disponibles en cada nivel, mientras que el sistema emocional controla expresiones emocionales que corresponden respectivamente a las acciones . Además de estas acciones y expresiones emocionales, el agente lleva a cabo una expresión emocional con base en la siguiente comunicación con el usuario . Sección 4 : Comunicación con el usuario Esta sección describe una modalidad preferida de un sistema de comunicación para comunicarse con el usuario de acuerdo con la presente invención, incluyendo pero no limitada a comunicación textual, comunicación de audio y comunicación gráfica. Con el propósito de descripción únicamente y sin ninguna intención de ser limitativa, la comunicación textual se describe como un ejemplo de estos tipos de comunicación. La comunicación con el usuario descrita en esta sección se puede usar para (pero no está limitada a) sugerencias del agente, provisión de la información del usuario o las expresiones emocionales del agente . La figura 12A es un diagrama de secuencias ejemplar para la comunicación textual de acuerdo con la presente invención. Una máquina de texto 1200 es responsable de generar texto que es relevante a cierto evento y la cual puede ser comunicada por el agente inteligente . La máquina de texto 1200 incluye de preferencia una generación de lenguaje natural de oraciones o frases cortas de acuerdo con plantillas que están predefinidas y que contienen retenedores de lugar para rellenadores . Al combinar las plantillas y los rellenadores juntos se hace posible que la máquina de texto 1200 genere un gran número de frases, las cuales son relevantes para el evento al cual pertenece la plantilla. Este marco es opcionalmente extensible para muchos eventos o sujetos nuevos y/o cambiantes porque plantillas adicionales también pueden añadirse, al igual que rellenadores adicionales .
Como se muestra en la figura 12A, la Aplicación de Agente Flotante 1006 se comunica con la máquina de texto 1200 al enviar primero una solicitud para generar texto, de preferencia para un evento particular (flecha 1) . La máquina de texto 1200 selecciona de preferencia una plantilla, de preferencia a partir de una pluralidad de plantillas que sean adecuadas para este evento (flecha 1.1) . La máquina de texto 1200 también selecciona de preferencia un rellenador para la plantilla, de preferencia de una pluralidad de rellenadores que sean adecuados para este evento (flecha 1.2.1). La plantilla rellena es después regresada a la Aplicación de Agente Flotante 1006. A continuación se da un ejemplo de generación de texto para un evento de cambio de estado de ánimo, el cual es que el agente inteligente está ahora contento, con algunas plantillas y rellenadores ejemplares y no limitativos. Ejemplos de las plantillas son los siguientes: Plantilla feliz 1: "%sustantivol es %feliz_adj2" Plantilla feliz 2: "%auto_f_pronombre%feliz_adj 1" Ejemplos de los rellenadores son los siguientes: %sustantivol= { "el mundo" , "todo" , "vida" , "este día" , "el espíritu" } %feliz_adjl = {"feliz", "alegre", "contento", "satisfecho", "animado", "de buen humor", "dichoso", "exultante", "encantado", "alegre", "jovial", "sumamente feliz" } %contento_adj2 = {"padre", "bonito", "grandioso", "feliz", "alegre", "bueno", "divertido"} %auto_f_pronombre = {"Yo soy", "Soy", "tu agente inteligente", "tu amigo agente"} Ejemplos de algunas frases de comunicación de texto resultantes a partir de las combinaciones de plantillas y rellenadores son los siguientes: estoy contento el espíritu es alegre estoy exultante la vida es bella la vida es buena estoy complacido estoy jovial estoy alegre el mundo es bello estoy contento el espíritu es de alegría el espíritu es de estar contento el mundo es bonito estoy feliz Como otro ejemplo no limitativo, una plantilla de llamadas perdidas puede opcionalmente construirse como sigue -. %usuario perdió una llamada de%perdida%reacción En este ejemplo, el nombre del usuario se usa para %usuario el nombre u otro identificador (tal como el número telefónico por ejemplo) es ingresado a %perdió; %reacción es opcional y se usa para la reacción del. agente inteligente, tal como expresar desilusión por ejemplo (por ejemplo "estoy triste" ) . Como se muestra por estos ejemplos, la máquina de texto 1200 puede generar oraciones relevantes para muchos eventos, desde eventos de llamadas perdidas hasta eventos de baja batería, haciendo la interacción del usuario con el dispositivo de información móvil más rica y más entendible. La figura 12B muestra un ejemplo no limitativo de una expresión emocional "Estoy contento" que el agente lleva a cabo en un teléfono móvil .
Ejemplo 3 Sistema de evolución para un agente inteligente Este ejemplo describe una modalidad preferida de un sistema de evolución de acuerdo con la presente invención, incluyendo pero no limitado a una descripción de ADN (ácido desoxirribonucleico) para la criatura o avatar de acuerdo con una modalidad preferida de la presente invención, y también una descripción de un estudio genético opcional de acuerdo con la presente invención. El sistema de evolución opcionalmente y de preferencia hace posible que la criatura o avatar "evolucione", es decir, altere por lo menos un aspecto del comportamiento y/o apariencia de la criatura. Este ejemplo se describe como siendo opcional y preferiblemente operativo con el agente inteligente descrito en el ejemplo 2, pero esta descripción tiene propósitos de ilustración únicamente y no está destinada a ser limitativa de ninguna forma. En otras palabras, el sistema de evolución para el agente inteligente descrito en este ejemplo puede usarse (pero no necesariamente) ¦ en conjunto con el módulo de aprendizaje y el sistema de selección de acciones descritos arriba, haciendo de esta manera posible implementar un sistema que pueda determinar las preferencias del usuario y evolucionar activamente sin solicitar el comportamiento del usuario . La evolución ¦ (cambio) del agente inteligente se describe en la presente con respecto tanto a características tangibles del agente, las cuales son presentadas visualmente por el avatar o criatura, como características intangibles del agente, las cuales afectan el comportamiento del avatar o criatura. La figura 13A muestra un diagrama de clases de evolución ejemplar 1800. El modelo genético descrito en el diagrama de clases permite que varias propiedades del agente inteligente sean cambiadas, incluyendo propiedades visuales asi como funcionales. El modelo incluye la clase ADN de Criatura 1802 que representa la estructura de ADN. La estructura de ADN es un vector de genes disponibles y puede de preferencia extenderse para incorporar genes nuevos. Un gen es un parámetro con una gama de valores posibles (es decir, genotipo) . El gen es interpretado por el sistema de acuerdo con la presente invención, de tal manera que la expresión de los datos en el gen sea su genotipo. Por ejemplo, el gen de la cabeza se localiza como el primer gen en el ADN, y su valor se expresa como la estructura visual de la cabeza de la criatura, aunque de preferencia el color de la cabeza es codificado en otro gen. Para hacer que el agente inteligente evolucione para lograr una instancia de ADN especifica que le guste al usuario, el modelo genético de acuerdo con la presente invención implementa de preferencia operaciones genéticas híbridas y mutantes que modifican el ADN. La clase Apoderado de Criatura 1804 es responsable de proporcionar una interfaz al ADN y a las operaciones genéticas para las clases del sistema. El Apoderado de Criatura 1804 también mantiene otra información no genética acerca del agente inteligente (es decir, nombre, fecha de nacimiento y demás) . La clase Evolución GR 1806 de preferencia administra las evoluciones del agente inteligente y proporciona una interfaz al Administrador de Criatura 1804 del agente inteligente y sus operaciones genéticas a aplicaciones . La clase Máquina de Evolución 1808 escucha los eventos de evolución que pueden generarse de vez en cuando, para indicar que cierta operación genética debe ser invocada y llevada a cabo en el ADN del agente inteligente. La estructura de ADN se da abajo. El ADN de Criatura 1802 escucha de preferencia los eventos de evolución que provienen del Evento de Evolución 1810. El siguiente es un algoritmo que define una estructura de ADN ejemplar.
Estructura de ADN #ifndef_C I TURA_ADN_ #definir CRIATURA ADN #incluir ¾DefsCriatura .h" #incluir "SerializableComún.h" #definirCONTEO_GEN 19 #definir GEN COLOR BASE 8 typedef struct internal_dna { unsigned char gender; unsigned char head; unsigned char head_color; unsigned char head_scale ; unsigned char body; unsigned char body color ; unsigned char body_scale ; unsigned char hand; unsigned char hand_color; unsigned char hand scale; unsigned char tail ; unsigned char tail_color; unsigned char tail scale; unsigned char leg; unsigned char leg_color; unsigned char leg scale; unsigned char dexterity; unsigned char efficiancy; unsigned char interactive; unsigned char base_color; } internal dna; typedef internal_dna p_internalDna; /** * Esta clase representa la estructura de ADN de la criatura. * El DNA mantiene todos los datos acerca de las partes del Cuerpo de la criatura y algunas * cualidades de personalidad y funcionales */ class CreatureDNA/* : public ComSerializabe*/ { public: static const int gene_count; j** * constructor por omisión, el ADN es inicializado a cero */ CreatureDNA () ; /* * Copiar constructor * ©parm otro -el DNA a copiar */ CreatureDNA (const CreatureDNA & other) ; /** * Función de inicialización, debe ser invocada si el constructor no fue * llamado. */ void init ( ) ; /** * Aleatoriza los datos de ADN * */ void randomi zeDna ( ) ; /* * * Los datos de ADN reales */ unión { intemal_drta genes; unsigned char data [GENE_COIJNT] ; }; /** * Gama de genes de género */ static const int GEMDER_RMTGE ; /** * Gama de tipos de genes */ static const int TYPE_RANGE; /** * Gama de genes de color */ static const int COLOR_RANGE; I** * Gama de genes de escala */ static const int SCALE_RANGE; /** * Gama de genes de personaj s */ static const int CHARECTER_RANGE ; static const int BASE_COLOR_RANGE ; private: /** * Ubicación de genes de escala en el triplete tipo, color, escala */ static const int SCALE_LOCATI0N; }; #endif/*_CREATURE_DNA_*/ La construcción de ADN del agente inteligente se lleva a cabo de preferencia como sigue . Cuando se proporciona una versión del teléfono móvil "vivo" , el ADN está compuesto de preferencia de un Gen para cada Bloque de Construcción del agente inteligente . El bloque de construcción puede ser una parte visual del agente, que incluya de preferencia color o escala (tamaño del bloque de construcción) , y también de preferencia que incluya una propiedad no visual que se relacione con la funcionalidad y comportamiento del agente inteligente . Este modelo de composición de ADN puede ser extendido ya que más bloques de construcción se pueden añadir y los niveles de expresión de cada bloque de construcción pueden incrementarse. La construcción de un agente inteligente a partir de la estructura de ADN se lleva a cabo con respecto a cada gen y su valor. Cada valor del gen (bloque de construcción) (nivel de expresión) describe un genotipo diferente expresado en el agente compuesto. Los bloques de construcción básicos del agente visual son modelados como prototipos, por consiguiente la cantidad de prototipos rigen la gama de cada gen visual. También es posible generar en valores de tiempo real los genes expresados que no se basen en prototipos, por ejemplo los niveles de expresión de genes de color pueden ser calculados como Indices en la tabla de colores de la plataforma huésped, o la escala también puede calcularse con respecto al tamaño de la pantalla huésped, para obtener genotipos que sean independientes de prototipos predefinidos . Los modelos de prototipos son descompuestos y luego un agente que no es prototipo es recompuesto de acuerdo con los valores génicos de cada bloque de construcción. El siguiente ejemplo proporciona una explicación ilustrativa y no limitativa de este proceso. Por simplicidad y claridad, los genes de color y escala, y otros genes no visuales, no se incluyen, pero el mismo proceso también aplica a estos genes. Sin tomar en consideración el gen de género, una versión de ADN de 16 prototipos y 5 bloques de construcción se puede dar opcionalmente como sigue. ADN0={ [cabeza, 0 : 15] , [cuerpo, 0.15] , [piernas , 0 : 15] , [manos , 0 : 15] , [cola, 0 : 15] } . Cada uno de los 5 bloques de construcción tiene 16 genotipos posibles diferentes de acuerdo con los valores génicos del bloque de construcción que se derivan del número de modelos de prototipos. Cuando se compone el agente inteligente, el bloque de construcción correcto se toma de acuerdo con el valor de ese bloque de construcción en el ADN, el cual es el valor de su gen respectivo. Por ejemplo un caso específico del esquema de ADN descrito arriba puede ser: ADN = { [3] , [5] , [10] , [13] , [0] } La variedad de composiciones de agentes posibles en esta versión de ADN simple es : V0 = (16) * (16) * (16) * (16) * (16) = (16)5 = 1048576 Si se añade un gen de color base para describir el color general del agente inteligente (es decir, verde, azul y demás) , con el nivel de expresión de 16 colores base posibles, se obtiene la siguiente variedad: ADNi = { [cabeza, 0 : 15] , [cuerpo, 0 : 15] , [piernas , 0 : 15] , [manos, 0 : 15] , [cola, 0:15], [color_bs, 0 : 15] } La variedad se vuelve entonces : Va = V0 * 16 = (16) 6 = 16777216 Si un gen de intensidad para el gen de color base (es decir de color claro a color oscuro) se añade a esta versión de ADN, con un nivel de expresión de 16 intensidades posibles del color base, se obtiene de preferencia la siguiente variedad: ADN2 = { [cabeza, O : 15] , [cuerpo, O : 15] , [piernas , 0 : 15] [manos, 0 : 15] , [cola, 0:15], [color_bs , 0 : 15] [intensidad, 0 : 15] } El cálculo de la variedad es: V2 = Va * 16 = (16) 7 = 268435456 La presente invención puede expresar una variedad de tipos de combinación de agentes como las descritas arriba sin almacenar la información de cada uno de los tipos de combinaciones completados. De acuerdo con la presente invención sólo tanto con la información de bloques de construcción de los tipos de combinación como con la información de un método para combinar los bloques de construcción es posible hacer una variedad de tipos de combinaciones de agentes como se describió arriba. En consecuencia, en caso de que el agente se use con un dispositivo computacional portátil, es posible que cada uno de los usuarios de dispositivos computacionales mantengan un tipo de agente sustancialmente único, gracias a la diversidad en los métodos de combinación. Por otro lado, de acuerdo con otra modalidad, una versión 16 prototipos y 5 bloques de construcción del ADN anterior puede darse opcionalmente como sigue: ADN0 = { [cabeza0, O : 15] , [cuerpo0, O : 15] , [piernaso, O :15] , [manos0, O : 15] , [cola0 , O : 15] } , cuando 0<Tg<Tth, y ADNX = { [cabezax, 0 : 15] , [cuerpoi, 0 : 15] , [piernasi, 0 : 15] , [manosi, 0 : 15] , [colax, 0 : 15] } , cuando Tg>Tth, (en donde "Tg" significa un tiempo de crecimiento del agente y "Tth" significa un tiempo umbral) .
En este ejemplo, el tiempo umbral Tth se establece a dos semanas, pero también puede establecerse en forma diferente. El tiempo de crecimiento Tg del agente indica un periodo de tiempo a partir de cuando el usuario del dispositivo computacional reinicia el agente o empieza a usar al agente por primera vez, al tiempo actual. En este caso, un rasgo expresado por el ADN0 puede seleccionarse a partir de una combinación de primeros bloques de construcción si el tiempo de crecimiento del agente es menor que dos semanas, mientras que un rasgo expresado por el ADNX puede seleccionarse a partir de una combinación de segundos bloques de construcción si el tiempo de construcción es dos semanas o más . Si la primera combinación de bloques de construcción se establece para representar la apariencia de un agente más joven, y la segunda combinación de bloques de construcción se establece para representar la apariencia de un agente más adulto, es posible implementar la apariencia de un agente con los mismos genes que crece automáticamente al pasar el tiempo. Después de que el usuario empieza a usar el agente por primera vez, el crecimiento del agente ocurre sólo con el lapso de tiempo. En caso de que se establezcan dos tiempos umbral, el crecimiento del agente está compuesto de tres etapas . También es posible establecer más de dos tiempos umbral . Una variedad de operaciones genéticas puede llevarse a cabo opcionalmente en el ADN, como se describió con respecto a la figura 13B y 13C, las cuales muestran un diagrama de secuencias de mutación y un diagrama de secuencias de hibridación, respectivamente. Como se muestra en la figura 13B, la operación de mutación básica selecciona en forma aleatoria un gen del conjunto de genes que pueden ser mutados, el cual puede ser opcionalmente el ADN completo, y luego cambia el valor del gen seleccionado dentro de la gama posible de ese gen (niveles de expresión) . La operación básica se puede llevar a cabo opcionalmente varias veces . Una aplicación de mutación 1812 envía una solicitud al MGR de Evolución 1806 (flecha 1.1) para crear un mutante. La clase MGR de Evolución 1806 pasa esta solicitud al Apoderado de Criatura 1804, para un número de mutantes (este valor se le puede dar en la llamada de función; flecha 1.1.1) . Para cada uno de estos mutantes, el Apoderado de Criatura 1804 selecciona de preferencia un gen aleatorio (flecha 1.1.1.1.1) y lo cambia por un valor que aún está dentro de la escala de genes (flecha 1.1.1.1.2). Los mutantes son después regresados a la aplicación de mutación 1812, y son presentados visualmente de preferencia al usuario, como se describe en más detalle abajo con respecto al ejemplo 4. Si el usuario aprueba un mutante, entonces la aplicación de mutación 1812 envía un comando para reemplazar la implementación existente del agente con el nuevo mutante (flecha 2.1) al MGR de Evolución 1806. El MGR de Evolución 1806 establece después el ADN para la criatura en el Apoderado de Criatura 1804 (flecha 2.1.1), el cual de preferencia actualiza después el historial del agente en historial_agente 1814 (flecha 2.1.1.1) . La figura 13C muestra una diagrama de secuencias ejemplar para la operación híbrida básica (u operación cruzada) , que ocurre cuando dos ADNs candidatos se alinean uno con otro. Ambos ADNs candidatos pueden obtenerse del sistema de agentes inteligentes. Uno de los dos ADNs candidatos también puede ser obtenido de un sistema de agentes inteligentes para otro dispositivo de información móvil. Por ejemplo, en caso de un agente inteligente para un dispositivo de información móvil en red en el ejemplo 5 descrito abajo, uno de los dos ADNs candidatos puede ser obtenido de un agente inteligente para un segundo dispositivo de información móvil de un segundo usuario por medio de un servicio de mensajes cortos (SMS). Tomando en consideración el gen de género, el ADN anterior puede ser representado como sigue : ADN0 = {[género, 0:1], [cabeza, 0 : 15] , [cuerpo, 0 : 15] , [piernas, 0:15], [manos , 0 : 15] , [cola, 0:15]} El gen de género determina si la operación híbrida es permitida. De preferencia, la operación híbrida se permite sólo entre genes de género diferentes. Sin embargo, si el gen de género no se toma en consideración, la operación híbrida puede permitirse en cualquier caso. Para la operación híbrida, uno o más puntos de cruce localizados en el vector de ADN se seleccionan de preferencia (los puntos de cruce y el número de puntos de cruce puede variar de 1 al número de genes en el ADN; este número puede seleccionarse opcionalmente en forma aleatoria) . La operación de seleccionar los puntos de cruce es llamada obtener_corte_índice . En cada punto de cruce, el valor para el ADN se selecciona de uno de los valores de ADN existentes. Esto se puede llevar a cabo en forma aleatoria y de acuerdo con un índice de corte asignado por llamada. La operación híbrida género-gen se lleva a cabo al seleccionar uno de los dos genes correspondientes . El resultado es una mezcla entre los dos ADNs candidatos . La operación híbrida básica puede llevarse a cabo varias veces con numerosos candidatos. Como se muestra, una Aplicación Híbrida 1816 envía un comando al MGR de Evolución 1806 para empezar el proceso de hibridación. El proceso se lleva a cabo opcionalmente hasta que el usuario apruebe el agente híbrido o aborte el proceso. El MGR de Evolución 1806 inicia la hibridación al enviar un comando para obtener ADN objetivo (flecha 2.1.1) del Apoderado de Criatura 1804, con un número de cruces (hibridaciones) que se llevarán a cabo. Como se muestra, un índice de corte se mantiene para indicar cuándo hacer un cruce entre los valores de los dos ADNs . El agente híbrido es regresado, y si el usuario lo aprueba, entonces el agente actual es reemplazado con el agente híbrido, como se describió arriba con respecto al proceso mutante. Al final, el historial del agente en historial_agente 1814 es de preferencia actualizado. La hibridación puede llevarse a cabo con ADN del agente que se ha enviado desde una fuente externa al dispositivo de información móvil, por ejemplo en un mensaje SMS, a través de infrarrojos, BlueTooth o la Internet, o cualquier otra fuente. Para el propósito de descripción únicamente y sin ninguna intención de ser limitantes, este proceso se ilustra con respecto a recibir este ADN híbrido a través de un mensaje SMS. El mensaje SMS contiene de preferencia los datos para el ADN en un tipo MIME. Muy preferiblemente, el sistema de la presente invención tiene un gancho para este tipo MIME, de tal manera que este tipo de mensaje SMS sea de preferencia automáticamente enviado para su hibridación sin requerir de la intervención manual por el usuario. La figura 14 muestra un diagrama de secuencias ejemplar de este proceso. Como se muestra, el Usuario 1 envía una solicitud para hibridar el agente inteligente del Usuario 1 con el del Usuario 2 a través del Auricular 1. El Usuario 2 puede opcionalmente aprobar o rechazar la solicitud a través del Auricular 2. Si el Usuario 2 lo aprueba, la operación híbrida se lleva a cabo entre el ADN de ambos agentes en el Auricular 1. El resultado es presentado visualmente en forma opcional a la parte solicitante (Usuario 1) , quien puede guardar este híbrido como un reemplazo para el agente actual. Si el híbrido se usa como el reemplazo, entonces el Usuario 2 recibe una notificación y guarda al híbrido en la colección de resultados de híbridos en el Auricular 2.
Ejemplo 4 Interacciones de usuario con la presente invención Este ejemplo se describe con respecto a una pluralidad de tomas de pantalla . representativas, no limitativas e ilustrativas para proporcionar de esta manera una modalidad opcional pero preferida del sistema de la presente invención que interactúa con el usuario. La figura 15 muestra una toma de pantalla ejemplar del "agente flotante" , la cual es la criatura o avatar (expresión visual del agente inteligente) . La figura 16 muestra una toma de pantalla ejemplar de un menú para seleccionar objetos del mundo virtual del agente inteligente. La figura 17A muestra la aplicación Asistente de Inicio, que permite al usuario configurar y modificar los parámetros del agente, así como las preferencias del usuario. Las figuras 17B-17F muestran tomas de pantalla ejemplares de un modo de programación inicial para un agente después de que se activa el asistente de inicio, en donde la figura 17B muestra una toma de pantalla de un modo de programación para seleccionar el tipo del agente; la figura 17C para seleccionar un color del mismo; la figura 17D para seleccionar un nombre del mismo; la figura 17E para seleccionar una personalidad del mismo y la figura 17F para indicar la conclusión de la programación del agente. Un ejemplo de una acción que se llevará a cabo con el asistente es Establecer Personalidad, para determinar los ajustes del sistema emocional del agente inteligente. Aquí, el usuario puede configurar la personalidad y tendencias de la criatura.
El usuario puede determinar las programaciones de la criatura al presionar la tecla de flecha derecha para incrementar así el nivel de la característica y para hacer lo opuesto y reducir el nivel de las diferentes características tales como Entusiasmo, Sociabilidad, comportamiento Anti_social, Temperamento (nivel de paciencia), Melancolía, comportamiento Egoísta y demás . El usuario es también capaz de establecer Preferencias de Usuario, por ejemplo para determinar qué tan rápido recibir ayuda. Algunos otros ejemplos no limitativos de estas preferencias incluyen: comunicación (grado al cual el agente se comunica) ; entretener_usuario (controla al agente que juega con el usuario) ; auto_entretener (controla al agente que juega solo) ; conservar_batería (extiende la vida de la batería) y nivel_transparencia (el nivel de la transparencia de la criatura) . El usuario también establece Detalles de Usuario con el asistente de inicio, incluyendo pero no limitados a, nombre del usuario, fecha de nacimiento (de acuerdo con una modalidad opcional de la presente invención, este valor es importante en el SMS Híbrido toda vez que definirá la posibilidad "konghup" entre usuarios, la cual es la capacidad de crear un híbrido con un patrón de astrología favorable; la opción konghup se construye de acuerdo con tablas adecuadas de horóscopos y fechas) y género. Aquí, el término "konghup" (también llamada "goong-hap") es una palabra coreana usada para describir armonía marital como la predicha por un adivino, y la posibilidad konghup puede ser definida como la posibilidad de un patrón astrológico favorable para relaciones interpersonales. El usuario también puede de preferencia establecer Detalles de la Criatura. La figura 18 muestra un menú ejemplar para llevar a cabo la hibridación a través de la aplicación híbrida como la descrita previamente. La figura 19A muestra una toma de pantalla ejemplar para ver una nueva criatura y generar de nuevo, al presionar el botón Generar, lo cual haga posible que el usuario genere una criatura aleatoriamente. La figura 19B muestra la criatura resultante en una toma de pantalla con un botón Híbrido: presionando ese botón se confirma la selección de criatura por el usuario y pasa a la ventana de vista preliminar de la criatura. La ventana de vista preliminar permite que el usuario · vea la criatura recién generada en tres dimensiones, y que opcionalmente anime la criatura usando las siguientes opciones : 1. Techa ARRIBA de navegación: Acercamiento y minimiza el tamaño de la criatura. 2. Tecla ABAJO de navegación: Alejamiento y maximiza el tamaño de la criatura. 3. Tecla IZQUIERDA de navegación: Cambia entre los botones "Ok" y "Atrás". 4. Tecla DERECHA de navegación: Cambia entre los botones "Ok" y "Atrás" . 5. Tecla Ok (OK) : Confirma selección. 6. Tecla borrar (CLR) : Salir de la ventana de vista preliminar de la criatura al Menú Móvil Viviente. 7. Tecla Fin: Salir de la ventana de vista preliminar de la criatura al menú principal. 8. Tecla ?0': Operación de iluminación y ensombrecimiento de la criatura. 9. Tecla ? 1' : Encerrar la criatura en un círculo a la izquierda con la dirección del reloj . 10. Tecla ?2': Encerrar la criatura en un círculo en la tercera dimensión. 11. Tecla ?3' : Encerrar la criatura en un círculo a la derecha contra la dirección del reloj . 12. Tecla 5 ' : Encerrar a la criatura en un círculo en la tercera dimensión. 13. Tecla ?6' : Anima la criatura en muchas formas. Cada vez que se presiona esta tecla se cambia el tipo de animación. Las animaciones que la criatura puede llevar a cabo incluyen opcionalmente pero no están limitadas a, caminar, sentarse, oler, volar y saltar. La figura 20 muestra una toma de pantalla ejemplar del historial híbrido, la cual hace posible que el usuario revise y explore el historial de los cambios de la criatura en las generaciones. El usuario puede ver la criatura actual y sus padres, y también los padres de los padres. De preferencia, para cada criatura puede haber cuando mucho dos padres. Por otro lado, si un ADN actual diferente de un primer ADN (ADN 1) se crea a partir del primer ADN (ADN1) , la creación puede establecerse para indicar que ha ocurrido una mutación. La figura 21 muestra una toma de pantalla ejemplar del estudio génico, con la secuencia de ADN de la criatura actual . El estudio génico también da de preferencia la oportunidad para que el usuario cambie y modifique la secuencia de ADN del agente. La secuencia de ADN del agente presentada visualmente sobre la pantalla de estudio génico está' compuesta de preferencia de una secuencia de cuatro letras A, G, C y T. Las cuatro letras representan las cuatro bases que constituyen el ADN biológico. La presente invención introduce las cuatro letras para que el usuario se familiarice más con el ADN del agente. En la presente invención, las cuatro letras corresponden a cuatro números requeridos para expresar los números cuaternarios . Por ejemplo, si A=0, G=l, C=2 y T=3, entonces AA=0, AG=1, y TT=15. Si el agente tiene una secuencia de ADN compuesta de dos letras para cada bloque de construcción como en el ejemplo 3 anterior, es posible expresar 16 (=4x4) genotipos diferentes para cada bloque de construcción. En consecuencia, si el agente tiene cinco bloques de construcción, el agente puede ser definido como una secuencia de ADN compuesta de 10 (=2x5) letras, y el número de combinaciones posibles del agente es 165. En forma similar, si el agente tiene 10 bloques de construcción y una secuencia de ADN compuesta de cuatro letras para cada bloque de construcción, es posible expresar 256 (=4x4x4x4) genotipos diferentes para cada bloque de construcción, una secuencia de ADN requerida para definir el agente está compuesta de 40 (=4x10) letras, y el número de combinaciones posibles del agente es 25610. Sin embargo, la presente invención no esta limitada a estos ejemplos. A continuación se dará una descripción de un sistema de agente evolutivo que funciona en conjunto con el módulo de aprendizaje y el sistema de selección de acciones. Como se describió arriba, el historial híbrido o la información en cuanto a si se selecciona una mutación es almacenado en el sistema de agentes. El módulo de aprendizaje puede determinar preferencias o tendencias del usuario con base en la información almacenada, y el sistema de selección de acciones puede proporcionar un evento de evolución, de acuerdo con las preferencias o tendencias de usuario determinadas, al diagrama de clases de evolución. La información en cuanto a si el usuario selecciona el resultado del rendimiento del evento de evolución provisto es almacenada en el sistema de agentes, por lo que la información almacenada es referida cuando se proporciona el siguiente evento de evolución.
Ejemplo 5 Agente inteligente para un dispositivo de información móvil en red Este ejemplo se refiere al uso de un agente inteligente en un dispositivo de información móvil en red, de preferencia un teléfono celular. El agente inteligente comprende un avatar para interactuar con el usuario, y un agente para interactuar con otros componentes en la red, tales como otros dispositivos de información móviles, y/o la propia red. El avatar forma la interfaz de usuario (o una porción de la misma) y también tiene una apariencia, la cual es muy preferiblemente tridimensional . Esta apariencia puede ser opcionalmente humanoide pero como alternativa se puede basar en cualquier tipo de personaje o criatura, ya sea real o imaginario. El agente maneja entonces la comunicación entre el avatar y el dispositivo de información móvil, y/o otros componentes en la red, y/o otros avatares en otros dispositivos de información móviles. También se debe notar que aunque esta implementación se describe con respecto a dispositivos de información móviles tales como teléfonos celulares, el aspecto de avatar de la implementación (o incluso el propio agente) pueden implementarse opcionalmente con el sistema adaptivo (ejemplo 2) y/o interfaz de usuario proactiva (ejemplo 1) como los descritos previamente. El agente inteligente de la presente invención está dirigido a crear experiencias emocionales incrementadas al aplicar el concepto de un "Dispositivo Vivo" . Este concepto incluye ambos énfasis en carácter único del agente inteligente, toda vez que cada criatura viva es única y en especial en apariencia y comportamiento, mientras que proporciona también variedad, tal como una variedad de las apariencias del avatar para incrementar la interacción con el usuario y el dispositivo vivo. El avatar tiene de preferencia propiedades visuales agradables, opcionalmente con objetos y ambientes circundantes complementarios adecuados . El agente inteligente despliega de preferencia toma de decisiones inteligentes, con comportamiento inesperado que indica su auto-existencia y aprendizaje independiente. Este comportamiento independiente es un aspecto importante de la presente invención, toda vez que no ha sido demostrada previamente para ningún tipo de interfaz de usuario o interacción para un usuario y un dispositivo computacional de ningún tipo, y ciertamente no se ha usado para un agente inteligente para un dispositivo de información móvil. El agente inteligente también evoluciona de preferencia con el tiempo, al igual que todas las cosas vivas, presentando un cambio visual. Esta es una de las propiedades más importantes del "Dispositivo Vivo" . La etapa de evolución inicia una respuesta emocional por el usuario de sorpresa y anticipación para la siguiente etapa de evolución. La evolución es un cambio visual de la criatura con respecto al tiempo. El marco de tiempo puede establecerse a un año por ejemplo, ya que este ciclo de vida de un teléfono celular promedio en el mercado. Durante el año, cambios periódicos ocurren de preferencia a través de la evolución. La trayectoria evolutiva (adaptación al ambiente) es un resultado de la selección natural. La selección natural puede opcionalmente ser conducida por el usuario (es decir, el usuario decide si la siguiente generación es mejor) , aunque otra opción es un proceso de selección natural predefinido al desarrollar ciertos criterios para la selección automática. El agente inteligente puede implementarse para funcionar en dos "mundos" o ambientes diferentes : el mundo del teléfono y el mundo de la criatura virtual . El mundo del teléfono (dispositivo de información móvil) hace posible que el agente inteligente controle diferentes funciones de teléfono y sugiera varias funciones de selección, al usuario, como se describió anteriormente. De preferencia, el agente inteligente es capaz de operar con base en uno o más procesos de uso del teléfono que fueron modelados para que el agente siga. Otro aspecto importante del mundo del teléfono son las expresiones emocionales que pueden ser ya sea expresiones gráficas tales como ruptura de la pantalla o dibujo libre o expresiones faciales y de texto de uno o dos mundos relevantes para el caso específico. El mundo virtual es de preferencia una presentación visual y área de juego, opcionalmente en donde objetos que no sean el avatar pueden ser insertados y el usuario puede observar al avatar aprendiendo e interactuando con ellos. Los objetos que sean ingresados al mundo pueden ser opcionalmente predefinidos, con comportamientos diferentes posibles resultando de los procesos de aprendizaje. El usuario puede dar recompensas o desincentivos y formar parte del proceso de aprendizaje. A este respecto, el agente inteligente (a través de la apariencia del avatar) puede actuar opcionalmente como un tipo de mascota o compañero virtual (por ejemplo, actuar como un cachorro corriendo o una persona riéndose) . Algunos aspectos preferidos del agente inteligente incluyen pero no están limitados a, una infraestructura gráfica en tercera dimensión (con respecto a la apariencia del avatar) ; el uso de mecanismos de aprendizaje AI y de máquina para soportar comportamiento tanto adaptivo como proactivo; la provisión de capacidades de juego; la capacidad de incrementar la capacidad de uso del dispositivo de información móvil y de proporcionar también asistencia especifica al usuario y la provisión de una capa de abstracción de plataforma de huésped. Juntas, estas características proporcionan una plataforma de contenidos robusta, promisoria e innovadora ara soportar una pluralidad de aplicaciones AI todas definidas genéricamente para que corran el dispositivo de información móvil. El avatar también tiene de preferencia un número de aspectos visuales importantes. Por ejemplo, el tamaño exterior puede ser opcionalmente de 60 x 70 pixeles, aunque por supuesto se puede seleccionar una resolución diferente de acuerdo con las características del presentador visual de pantalla del dispositivo de información móvil. El avatar es representado de preferencia como un objeto poligonal en tercera dimensión con varios colores, pero en cualquier caso tiene de preferencia · una pluralidad de características visuales en tercera dimensión diferentes, tales como sombras, texturas, soporte de animación y demás. Estas capacidades pueden proporcionarse a través de bloques de construcción visuales creados previamente que sean almacenados en el dispositivo de información móvil. La apariencia visual del avatar es de preferencia compuesta en tiempo real . El avatar puede empezar a "vivir" de acuerdo con un asistente de lanzamiento, tomando las preferencias del usuario en cuenta (la introducción del usuario al dispositivo vivo) . Además de la evolución, el avatar puede presentar opcionalmente pequeños cambios visuales que representen mutaciones (cambio de color/movimiento de algunos vértices clave en una etapa aleatoria) . La etapa de evolución visual se lleva a cabo de preferencia por la adición/reemplazo de un bloque de construcción. El avatar se puede mover de preferencia en todas las direcciones y girar, y muy preferiblemente es un personaje en tercera dimensión completamente animado. El avatar se muestra de preferencia como flotando sobre el presentador visual del dispositivo de información móvil con la interfaz de usuario de dispositivo de información móvil en el segundo plano, pero también puede ser eliminada opcionalmente a solicitud del usuario. El avatar es de preferencia capaz de entender la interacción normal del usuario actual con el dispositivo de información móvil e intenta minimizar el ocultamiento/eliminación forzada por el usuario . De acuerdo con modalidades opcionales pero preferidas de la presente invención, el avatar puede ser programado para "moverse" sobre la pantalla de una manera más natural y físicamente realista. Por ejemplo, varios tipos de algoritmos y parámetros están disponibles que intentan describir el comportamiento y movimiento físicamente realistas para controlar el movimiento de robots. Ejemplos de estos algoritmos y parámetros se describen en "Automatic Generation of Kinematic Models for the Conversión of Human Motion Capture Data into Humanoid Robot Motion" , A. Ude et al., Proc. First IEEE-RAS Int. Conf. Humanoid Robots (Humanoids 2000), Cambridge, MA, E.U.A. septiembre de 2000 (incorporada en la presente a manera de referencia como si se describiera completamente en la presente) . Esta referencia describe varias técnicas de captura de movimiento humanos, y métodos para introducir automáticamente los datos capturados en parámetros cinéticos de robots humanoides . Brevemente, se revela movimiento tanto humano como robótico, y los modelos se usan para traducir los datos de movimiento humano reales en datos que puedan usarse para controlar los movimientos de robot humanoides . Este tipo de referencia es útil toda vez que proporciona información acerca de cómo modelar el movimiento del robot humanoide . Aunque la presente invención está involucrada con el movimiento realista de un avatar (personaje virtual que se ilustra tridimensionalmente) , se pueden usar opcionalmente modelos similares para el avatar al igual que para el robot humanoide . Además, un modelo también podría construirse opcionalmente para modelar movimientos animales, permitiendo asi un movimiento más realista de un animal o avatar tipo animal. Más generalmente, el sistema puede manejar cualquier conjunto dado de datos de personajes en tercera dimensión de manera genérica. Estos modelos también podrían usarse para permitir el movimiento del avatar para evolucionar, toda vez que parámetros diferentes del modelo podrían alterarse opcionalmente durante el proceso evolutivo, cambiando asi la manera en la cual se mueve el avatar. Estos modelos también son de preferencia útiles para describir el movimiento no determinante del avatar, y también opcionalmente para hacer posible que evolucionen los movimientos no determinantes . Este compor miento no determinante también ayuda a mantener el interés del usuario . Para implementar estas diferentes funciones del avatar y/o agente inteligente, el agente inteligente puede ser construido como se describe abajo con respecto a las figuras · 7A-12B, aunque se debe notar que estas figuras sólo representan una implementación ejemplar y que son posibles muchas implementaciones diferentes. De nuevo, la implementación del agente inteligente puede incorporar opcionalmente o basarse en las implementaciones descritas en los ejemplos 1 y 2 arriba. La figura 22 es un diagrama de bloques de un sistema de agente inteligente 2700 de acuerdo con la presente invención. Como se muestra, un primer usuario 2702 controla un primer dispositivo de información móvil 2704, el cual para el propósito de este ejemplo puede ser opcionalmente implementado con un teléfono celular para ilustración únicamente y sin ninguna intención de ser limitativo. Un segundo usuario 2706 controla un segundo dispositivo de información móvil 2708. El primer dispositivo de información móvil 2704 y el segundo dispositivo de información móvil 2708 se comunican de preferencia a través de una red 2710, por ejemplo a través de mensajes. Cada uno del primer dispositivo de información móvil 2704 y el segundo dispositivo de información móvil 2708 incorpora de preferencia un agente inteligente, para interactuar con sus usuarios 2702 y 2706 respectivos y también para interactuar con otro agente inteligente. Por lo tanto, como se muestra, el sistema 2700 hace posible que una comunidad de estos agentes inteligentes interactúen unos con otros, y/o obtener información para sus usuarios respectivos a través de la red 2710, por ejemplo.
Las interacciones de los usuarios 2702 y 2706 con sus dispositivos de información 2704 , 2708 respectivos, incluyen de preferencia la operación regular del dispositivo de información móvil , pero también agregan nuevas f ncionalidades excitantes del "teléfono móvil vivo" . Estas funcionalidades pueden incluir al agente inteligente pero también el uso de un avatar para proporcionar una interfaz de usuario y también muy preferiblemente para proporcionar una experiencia emocional de usuario enriquecida. El agente inteligente incorpora de preferencia una "advertencia" y un marco de software inteligente. La operación interior de este sistema incluye de preferencia varias herramientas algoritmias, incluyendo pero no limitadas a algoritmos AI y ML. El sistema 2700 puede incluir interacciones entre varios usuarios como se muestra. Estas interacciones incrementan la capacidad de uso y disfrute de usar al dispositivo de información móvil para el usuario final . La figura 23 muestra el sistema de agente inteligente de la figura 20 en más detalle. Como se muestra, un primer agente inteligente 2800 es capaz de operar de acuerdo con datos de escenario 2802 (tal como la base de conocimientos descrita previamente) para de esta manera ser capaz de tomar decisiones, aprender y tomar decisiones en cuanto a la operación del dispositivo de información móvil.
El proceso de aprendizaje y desarrollo del primer agente inteligente 2800 se soporta por un módulo de evolución 2804 para evolucionar como se describió anteriormente. Si el primer agente inteligente 2800 se comunica con el usuario a través de un avatar, de acuerdo con una modalidad preferida de la presente invención, entonces un módulo de animación 2806 se usa para soportar la apariencia del avatar. El primer agente inteligente 2800 también puede comunicarse a través de la red (no mostrada) con un servidor de respaldo 2808 y/u otro recurso de red tal como una computadora 2810, por ejemplo para obtener información para el usuario. El primer agente inteligente 2800 también puede comunicarse con un segundo agente inteligente 2812 como se muestra. La figura 24 muestra un diagrama de bloques de una implementación ejemplar de un sistema de selección de acciones 2900 de acuerdo con la presente invención, el cual proporciona la infraestructura para hacer posible que el agente inteligente seleccione una acción. El sistema de selección de acciones 2900 incorpora de preferencia un Administrador de Acciones 2902 (véase también figura 10 para una descripción) , el cual en realidad ejecuta la acción. Una interfaz de Acciones Base 2904 proporciona la interfaz para todas las acciones ejecutadas por el Administrador de Acciones 2902. Las acciones pueden usar capacidades de dispositivo y aplicación indicadas como Administrador de Animaciones 2906 y Administrador de Sonidos 2908 que son necesarios para llevar a cabo la acción específica. Cada acción agrega a los administradores adecuados para una ejecución correcta. El Administrador de Animaciones 2906 también puede controlar una Acción Cambiar UI 2910, la cual cambia la apariencia del presentador visual en la interfaz del usuario. Además, o alterna ivamente, si se usa un avatar para representar el agente inteligente al usuario, el Administrador de Animaciones 2906 también puede controlar Acción Alejarse de Objeto 2912 y Acción Ir Hacia Objeto 2914, lo cual hace posible que el avatar interactúe con objetos virtuales en el mundo virtual del avatar. Las figuras 25A y 25B muestran dos tomas de pantalla ejemplares, ilustrativas y no limitativas del avatar de acuerdo con la presente invención sobre la pantalla del dispositivo de información móvil . La figura 25A muestra una toma de pantalla ejemplar de la interfaz de usuario para ajustar el volumen del tono de llamada a través de una interacción con el avatar. La figura 25B muestra una toma de pantalla ejemplar de la interfaz de usuario para recibir un mensaje a través de una interacción con el avatar. Aunque la invención se ha descrito con respecto a un número limitado de modalidades, se apreciará que se pueden hacer muchas variaciones, modificaciones ? otras aplicaciones a la invención. Se hace constar que con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.

Claims (1)

123 REIVINDICACIONES Habiéndose descrito la invención como antecede, se reclama como propiedad lo contenido en las siguientes reivindicaciones: 1. Una interfaz de usuario proactiva para un dispositivo computacional que tiene un sistema operativo, la interfaz de usuario proactiva se caracteriza porque comprende: (a) una unidad de interfaz para comunicación entre un usuario de la interfaz de usuario proactiva y el sistema operativo, la unidad de interfaz incluye un agente evolutivo que hace posible la comunicación con el usuario y (b) un módulo de aprendizaje para detectar al menos un patrón de interacción del usuario con la unidad de interfaz, y sugerir activamente al usuario opciones para evolucionar al menos una función de la interfaz de usuario de acuerdo con el al menos un patrón. 2. La interfaz de usuario proactiva de conformidad con la reivindicación 1, caracterizada porque el por lo menos un patrón se selecciona del grupo que consiste en un patrón determinado de acuerdo con al menos una interacción previa del usuario con la unidad de interfaz, un patrón predeterminado, y una combinación de los mismos. 124 3. La interfaz de usuario proactiva de conformidad con la reivindicación 1, caracterizada porque el agenté incluye un avatar, y por lo menos una característica de una apariencia del avatar puede alterarse opcionalmente de acuerdo con un comando de usuario . 4. La interfaz de usuario proactiva de conformidad con la reivindicación 2, caracterizada porque el agente incluye un avatar, y por lo menos uña característica de una apariencia del avatar puede alterarse opcionalmente de acuerdo con un comando de usuario. 5. La interfaz de usuario proactiva de conformidad con la reivindicación 3, caracterizada porque por lo menos una característica de una apariencia del avatar puede alterarse de acuerdo con un algoritmo evolutivo automático. 6. La interfaz de usuario proactiva de conformidad con la reivindicación 4, caracterizada porque por lo menos una característica de una apariencia del avatar puede alterarse opcionalmente de acuerdo con un algoritmo evolutivo automático . 7. La interfaz de usuario proactiva de conformidad con la reivindicación 1, caracterizada porque el dispositivo computacional se selecciona del grupo que consiste en una computadora regular, un ATM, dispositivos de información móviles que incluyen un teléfono celular, un PDA, y un electrodoméstico de consumo que tenga un sistema operativo. 125 8. La interfaz de usuario proactiva de conformidad con la reivindicación 2, caracterizada porque el dispositivo computacional se selecciona del grupo que consiste en una computadora regular, un ATM, dispositivos de información móviles que incluyen un teléfono celular, un PDA, y un electrodoméstico de consumo que tenga un sistema operativo. 9. La interfaz de usuario proactiva de conformidad con la reivindicación 3, caracterizada porque el dispositivo computacional se selecciona del grupo que consiste en una computadora regular, un ATM, dispositivos de información móviles que incluyen un teléfono celular, un PDA, y un electrodoméstico de consumo que tenga un sistema operativo. 10. La interfaz de usuario proactiva de conformidad con la reivindicación 4, caracterizada porque el dispositivo computacional se selecciona del grupo que consiste en una computadora regular, un ATM, dispositivos de información móviles que incluyen un teléfono celular, un PDA, y un electrodoméstico de consumo que tenga un sistema operativo. 11. La interfaz de usuario proactiva de conformidad con la reivindicación 5, caracterizada porque el dispositivo computacional se selecciona del grupo que consiste en una computadora regular, un ATM, dispositivos de información móviles que incluyen un teléfono celular, un PDA, y un electrodoméstico de consumo que tenga un sistema operativo. 12. La interfaz de usuario proactiva de conformidad 126 con la reivindicación 6, caracterizada porque el dispositivo computacional se selecciona del grupo que consiste en una computadora regular, un ATM, dispositivos de información móviles que incluyen un teléfono celular, un PDA, y un electrodoméstico de consumo que tenga un sistema operativo. 13. La interfaz de usuario proactiva de conformidad con la reivindicación 1, caracterizada porque el módulo de aprendizaje comprende una base de conocimientos para guardar información acumulada como resultado de interacciones con el usuario y/o el sistema operativo. 1 . La interfaz de usuario proactiva de conformidad con la reivindicación 13, caracterizada porque la base de conocimientos comprende una pluralidad de conocimientos integrados determinados a partir del comportamiento del usuario y a partir de información preprogramada. 15. La interfaz de usuario proactiva de conformidad con la reivindicación 13, caracterizada porque el módulo de aprendizaje comprende además una pluralidad de sensores para percibir un estado del sistema operativo. 16. La interfaz de usuario proactiva de conformidad con la reivindicación 15, caracterizada porque el módulo de aprendizaje comprende además una unidad de percepción para procesar salidas de los sensores para determinar un estado del sistema operativo y un estado de la unidad de interfaz. 17. La interfaz de usuario proactiva de conformidad 127 con la reivindicación 13, caracterizada porque el módulo de aprendizaje comprende además un sistema de razonamiento para actualizar la base de conocimientos y para aprender una asociación entre una alteración de la unidad de interfaz y un estado del sistema operativo. 18. La interfaz de usuario proactiva de conformidad con la reivindicación 13, caracterizada porque el módulo de aprendizaje maximiza un porcentaje de alteraciones proactivas que llevan a una selección de usuario directa a partir de la sugerencia activa. 19. La interfaz de usuario proactiva de conformidad con la reivindicación 14, caracterizada porque el módulo de aprendizaje maximiza un porcentaje de alteraciones proactivas que llevan a una selección de usuario directa a partir de la sugerencia activa. 20. La interfaz de usuario proactiva de conformidad con la reivindicación 15, caracterizada porque el módulo de aprendizaje maximiza un porcentaje de alteraciones proactivas que llevan a una selección de usuario directa a partir de la sugerencia activa. 21. La interfaz de usuario proactiva de conformidad con la reivindicación 16, caracterizada porque el módulo de aprendizaje maximiza un porcentaje de alteraciones proactivas que llevan a una selección de usuario directa a partir de la sugerencia activa. 128 22. La interfaz de usuario proactiva de conformidad con la reivindicación 17, caracterizada porque el módulo de aprendizaje maximiza un porcentaje de alteraciones proactivas que llevan a una selección de usuario directa a partir de la sugerencia activa. 23. La interfaz de usuario proactiva de conformidad con la reivindicación 18, caracterizada porque la maximización se lleva a cabo a través de refuerzo de aprendízaj e . 24. La interfaz de usuario proactiva de conformidad con la reivindicación 19, caracterizada porque la maximización se lleva a cabo a través de refuerzo de aprendízaj e . 25. La interfaz de usuario proactiva de conformidad con la reivindicación 20, caracterizada porque la maximización se lleva a cabo a través de refuerzo de aprendazaj e . 26. La interfaz de usuario proactiva de conformidad con la reivindicación 21, caracterizada porque la maximización se lleva a cabo a través de refuerzo de aprendízaj e . 27. La interfaz de usuario proactiva de conformidad con la reivindicación 22, caracterizada porque la maximización se lleva a cabo a través de refuerzo de aprendizaje. 129 28. La interfaz de usuario proactiva de conformidad con la reivindicación 23, caracterizada porque el refuerzo de aprendizaje se lleva a cabo a través de un proceso de aprendizaje iterativo. 29. La interfaz de usuario proactiva de conformidad con la reivindicación 24, caracterizada porque el refuerzo de aprendizaje se lleva a cabo a través de un proceso de aprendizaje iterativo. 30. La interfaz de usuario proactiva de conformidad con la reivindicación 25, caracterizada porque el refuerzo de aprendizaje se lleva a cabo a través de un proceso de aprendizaje iterativo. 31. La interfaz de usuario proactiva de conformidad con la reivindicación 26, caracterizada porque el refuerzo de aprendizaje se lleva a cabo a través de un proceso de aprendizaje iterativo. 32. La interfaz de usuario proactiva de conformidad con la reivindicación 27, caracterizada porque el refuerzo de aprendizaje se lleva a cabo a través de un proceso de aprendizaje iterativo. 33. La interfaz de usuario proactiva de conformidad con la reivindicación 28, caracterizada porque cada iteración del proceso de aprendizaje se lleva a cabo después de que la evolución ha sido llevada a cabo. 34. La interfaz de usuario proactiva de conformidad 130 con la reivindicación 29, caracterizada porque cada iteración del proceso de aprendizaje se lleva a cabo después de que la evolución ha sido llevada a cabo. 35. La interfaz de usuario proactiva de conformidad con la reivindicación 30, caracterizada porque cada iteración del proceso de aprendizaje se lleva a cabo después de que la evolución ha sido llevada a cabo. 36. La interfaz de usuario proactiva de conformidad con la reivindicación 31, caracterizada porque cada iteración del proceso de aprendizaje se lleva a cabo después de que la evolución ha sido llevada a cabo. 37. La interfaz de usuario proactiva de conformidad con la reivindicación 32, caracterizada porque cada iteración del proceso de aprendizaje se lleva a cabo después de que la evolución ha sido llevada a cabo. 38. Un sistema adaptivo con un agente evolutivo para un dispositivo computacional que tiene un sistema operativo, el sistema adaptivo se caracteriza porque comprende : (a) una interfaz de usuario que incluye un avatar para comunicarse entre un usuario del sistema adaptivo y el sistema operativo; (b) al menos una aplicación de software controlada por el sistema operativo y (c) un marco de AI (Inteligencia Artificial) para 131 soportar la por lo menos una aplicación de software y comunicarse con una plataforma huésped que tiene el sistema operativo, en donde el marco AI incluye un módulo de evolución para soportar y/o administrar una evolución del avatar. 39. El sistema adaptivo de conformidad con la reivindicación 38, caracterizado porque comprende además una base de conocimientos para guardar información seleccionada del grupo que consiste en un patrón determinado de acuerdo con al menos una interacción previa del usuario con la interfaz de usuario, un patrón predeterminado, y una combinación de los mismos . 40. El sistema adaptivo de conformidad con la reivindicación 39, caracterizado porque el marco de AI incluye: un módulo de inteligencia artificial/aprendizaje de m quina (Al/ML) ; un administrador de aplicaciones para comunicarse con la por lo menos una aplicación de software; un administrador de almacenamiento para administrar el almacenamiento y manejo de datos con respecto a la base de conocimientos ; un administrador de acciones para hacer posible que el sistema adaptivo determine qué acción debe tomarse a través de una operación del módulo de Al/ML; 132 un administrador de interfaz de usuario (UI) para administrar una apariencia y una función de la interfaz de usuario al dirigir cambios a la interfaz de usuario y una asociadora de mundos de dispositivo para determinar un estado del dispositivo computacional , un estado de un mundo virtual, y una relación entre los dos estados. 41. El sistema adaptivo de conformidad con la reivindicación 40, caracterizado porque el módulo de AI/ML determina un comportamiento del sistema adaptivo en respuesta a varios estímulos, y hace posible que el sistema adaptivo aprenda de una respuesta del usuario a diferentes tipos de acciones del sistema adaptivo. 42. El sistema adaptivo de conformidad con la reivindicación 40, caracterizado porque el marco de AI comprende además un manej ador de eventos, y entre la por lo menos una aplicación de software y el manejador de eventos, una pluralidad de administradores de bajo nivel diferentes soportan la recepción y manejo de eventos diferentes, los administradores de bajo nivel incluyen al administrador de acciones, al administrador de UI, al administrador de almacenamiento y al administrador de aplicaciones. 43. El sistema adaptivo de conformidad con la reivindicación 41, caracterizado porque el marco de AI comprende además un manejador de eventos, y entre la por lo menos una aplicación de software y el manejador de eventos, 133 una pluralidad de administradores de bajo nivel diferentes soportan la recepción y manejo de .eventos diferentes, los administradores de bajo nivel incluyen al administrador de acciones, al administrador de UI, al administrador de almacenamiento y al administrador de aplicaciones. 44. El sistema adaptivo de conformidad con la reivindicación 38, caracterizado porgue el dispositivo computacional se selecciona del grupo que consiste en una computadora regular, un ATM, dispositivos de información móviles que incluyen un teléfono celular, un PDA, y un electrodoméstico de consumo que tenga un sistema operativo. 45. El sistema adaptivo de conformidad con la reivindicación 39, caracterizado porque el dispositivo computacional se selecciona del grupo que consiste en una computadora regular, un ATM, dispositivos de información móviles que incluyen un teléfono celular, un PDA, y un electrodoméstico de consumo que tenga un sistema operativo. 46. El sistema adaptivo de conformidad con la reivindicación 39, caracterizado porque el dispositivo computacional se selecciona del grupo que consiste en una computadora regular, un ATM, dispositivos de información móviles que incluyen un teléfono celular, un PDA, y un electrodoméstico de consumo que tenga un sistema operativo. 47. El sistema adaptivo de conformidad con la reivindicación 40, caracterizado porque el dispositivo 134 computacional se selecciona del grupo que consiste en una computadora regular, un ATM, dispositivos de información móviles que incluyen un teléfono celular, un PDA, y un electrodoméstico de consumo que tenga un sistema operativo. 48. El sistema adaptivo de conformidad con la reivindicación 41, caracterizado porque el dispositivo computacional se selecciona del grupo que consiste en una computadora regular, un ATM, dispositivos de información móviles que incluyen un teléfono celular, un PDA, y un electrodoméstico de consumo que tenga un sistema operativo. 49. El sistema adaptivo de conformidad con la reivindicación 42, caracterizado porque el dispositivo computacional se selecciona del grupo que consiste en una computadora regular, un ATM, dispositivos de información móviles que incluyen un teléfono celular, un PDA, y un electrodoméstico de consumo que tenga un sistema operativo. 50. El sistema adaptivo de conformidad con la reivindicación 43, caracterizado porque el dispositivo computacional se selecciona del grupo que consiste en una computadora regular, un ATM, dispositivos de información móviles que incluyen un teléfono celular, un PDA, y un electrodoméstico de consumo que tenga un sistema operativo. 51. El sistema adaptivo de conformidad con la reivindicación 38, caracterizado porque la por lo menos una aplicación de software incluye una aplicación para regresar 135 opcionalmente la interfaz de usuario, la cual ha sido evolucionada a través de un algoritmo evolutivo, a un estado anterior, y almacenar y administrar la información de estos de la interfaz de usuario . 52. El sistema adaptivo de conformidad con la reivindicación 38, caracterizado porque la por lo menos una aplicación de software incluye una aplicación de mutación para controlar la mutaciones en el sistema adaptivo. 53. El sistema adaptivo de conformidad con la reivindicación 38, caracterizado porque la por lo menos una aplicación de software incluye una aplicación de estudio génico para hacer posible que el usuario lleve a cabo mutaciones a través de al menos un comando manual. 54. El sistema adaptivo de conformidad con la reivindicación 38, caracterizado porque la por lo menos una aplicación de software incluye una aplicación híbrida para hacer posible que el usuario cree un avatar que tenga una apariencia híbrida con un avatar de otro dispositivo computacional . 55. El sistema adaptivo de conformidad con la reivindicación 51, caracterizado porque el administrador de aplicaciones es capaz de iniciar, pausar, reanudar y detener cada una de la por lo menos una aplicación de software. 56. El sistema adaptivo de conformidad con la reivindicación 52, caracterizado porque el administrador de 136 aplicaciones es capaz de iniciar, pausar, reanudar y detener cada una de la por lo menos una aplicación de software. 57. El sistema adaptivo de conformidad con la reivindicación 53, caracterizado porque el administrador de aplicaciones es capaz de iniciar, pausar, reanudar y detener cada una de la por lo menos una aplicación de software. 58. El sistema adaptivo de conformidad con la reivindicación 54, caracterizado porque el administrador de aplicaciones es capaz de iniciar, pausar, reanudar y detener cada una de la por lo menos una aplicación de software. 59. El sistema adaptivo de conformidad con la reivindicación 38, caracterizado porque el módulo de evolución administra un gen, un cromosoma y un fenotipo de la interfaz de usuario implementado en forma de un avatar, y sugiere activamente opciones para evolucionar al menos una función de la interfaz de usuario con base en el gen, cromosoma y fenotipo. 60. El sistema adaptivo de conformidad con la reivindicación 59, caracterizado porque el módulo de evolución cambia por lo menos un parámetro del gen para crear diferentes fenotipos nuevos. 61. El sistema adaptivo de conformidad con la reivindicación 59, caracterizado porque el módulo de evolución hace posible que el cromosoma de la interfaz de usuario hibride o se cruce con el mismo tipo de cromosoma de 137 una criatura diferente para crear un nuevo cromosoma como una combinación de cromosomas progenitores genéticos del cromosoma nuevo . 62. El sistema adaptivo de conformidad con la reivindicación 38, caracterizado porque el módulo de evolución lleva a cabo un proceso de selección natural para decidir qué niños genéticos continuarán como una siguiente generación. 63. El sistema adaptivo de conformidad con la reivindicación 62, caracterizado porque el proceso de selección natural puede ser decidido por el usuario o puede ser predefinido. 64. Un sistema de evolución para un agente inteligente de un dispositivo computacional que tiene un sistema operativo, el sistema de evolución se caracteriza porque comprende : (a) una interfaz de usuario que incluye un avatar evolutivo para comunicarse entre un usuario del sistema de evolución y el sistema operativo; (b) al menos una aplicación de software controlada por el sistema operativo y (c) una clase de evolución para hacer posible que propiedades visuales o funcionales del agente inteligente sean cambiadas usando ADN (Ácido Desoxirribonucleico) algorítmico . 138 65. El sistema de evolución de conformidad con la reivindicación 64, caracterizado porque la clase de evolución comprende : una clase de ADN de criatura para representar una estructura de ADN del ADN; una clase de apoderado de criatura para proporcionar una interfaz al ADN y a operaciones genéticas para clases del sistema de evolución; una clase MGR de evolución para administrar las evoluciones del agente inteligente y proporcionar una interfaz a la clase de apoderado de criatura y operaciones genéticas de la clase de apoderado de criatura a la por lo menos una aplicación de software y una clase de máquina de evolución para escuchar eventos de evolución generados para indicar que cierta operación genética debe ser invocada y llevada a cabo en el ADN del agente inteligente. 66. El sistema de evolución de conformidad con la reivindicación 64, caracterizado porque el ADN es un vector de genes disponibles. 67. El sistema de evolución de conformidad con la reivindicación 65, caracterizado porque el ADN es un vector de genes disponibles . 68. El sistema de evolución de conformidad con la reivindicación 66, caracterizado porque el gen es un 139 parámetro con una gama de valores posibles, y la expresión de datos del parámetro es un genotipo del agente inteligente. 69. El sistema de evolución de conformidad con la reivindicación 67, caracterizado porque el gen es un parámetro con una gama de valores posibles, y la expresión de datos del parámetro es un genotipo del agente inteligente. 70. El sistema de evolución de conformidad con la reivindicación 66, caracterizado porque el vector incluye al menos uno de una cabeza, un cuerpo, una mano, una cola, una pierna, color de cabeza, color de cuerpo, color de mano, color de cola, color de pierna, escala de cabeza, escala de cuerpo, escala de mano, escala de cola, escala de pierna, destreza, eficiencia, interactivo y color base. 71. El sistema de evolución de conformidad con la reivindicación 67, caracterizado porque el vector incluye al menos uno de una cabeza, un cuerpo, una mano, una cola, una pierna, color de cabeza, color de cuerpo, color de mano, color de cola, color de pierna, escala de cabeza, escala de cuerpo, escala de mano, escala de cola, escala de pierna, destreza, eficiencia, interactivo y color base. 72. El sistema de evolución de conformidad con la reivindicación 66, caracterizado porque el agente inteligente se construye usando un gen incluido en la estructura de ADN y un valor del gen. 73. El sistema de evolución de conformidad con la 140 reivindicación 67, caracterizado porque el agente inteligente se construye usando un gen incluido en la estructura de ADN y un valor del gen. 74. El sistema de evolución de conformidad con la reivindicación 66, caracterizado porque, para el mismo ADN, el agente inteligente expresa un rasgo que corresponde a una combinación de primeros bloques de construcción si un tiempo de crecimiento del agente inteligente es menor que un intervalo de tiempo predeterminado, y un rasgo que corresponde a una combinación de segundos bloques de construcción si el tiempo de crecimiento es igual a o mayor que el intervalo de tiempo predeterminado, para que el agente inteligente crezca automáticamente al pasar el tiempo. 75. El sistema de evolución de conformidad con la reivindicación 67, caracterizado porque, para el mismo ADN, el agente inteligente expresa un rasgo que corresponde a una combinación de primeros bloques de construcción si un tiempo de crecimiento del agente inteligente es menor que un intervalo de tiempo predeterminado, y un rasgo que corresponde a una combinación de segundos bloques de construcción si el tiempo de crecimiento es igual a o mayor que el intervalo de tiempo predeterminado, para que el agente inteligente crezca automáticamente al pasar el tiempo. 76. El sistema de evolución de conformidad con la reivindicación 74, caracterizado porque el intervalo de 141 tiempo predeterminado es al menos dos semanas. 77. El sistema de evolución de conformidad con la reivindicación 75, caracterizado porque el intervalo de tiempo predeterminado es al menos dos semanas. 78. El sistema de evolución de conformidad con la reivindicación 66, caracterizado porque el agente inteligente selecciona aleatoriamente un gen de un conjunto de genes, y cambia un valor del gen seleccionado dentro de una escala del mismo para implementar la mutación. 79. El sistema de evolución de conformidad con la reivindicación 67, caracterizado porque el agente inteligente selecciona aleatoriamente un gen de un conjunto de genes, y cambia un valor del gen seleccionado dentro de una escala del mismo para implementar la mutación. 80. El sistema de evolución de conformidad con la reivindicación 78, caracterizado porque la mutación se implementa al reemplazar un agente existente con un mutante después de presentar visualmente el mutante al usuario y obtener la aprobación del mutante por parte del usuario. 81. El sistema de evolución de conformidad con la reivindicación 79, caracterizado porque la mutación se implementa al reemplazar un agente existente con un mutante después de presentar visualmente el mutante al usuario y obtener la aprobación del mutante por parte del usuario. 82. El sistema de evolución de conformidad con la 142 reivindicación 66, caracterizado porque el agente inteligente lleva a cabo una operación de hibridación en dos ADNs candidatos al seleccionar al menos un punto de cruce localizado sobre cada uno de los ADNs candidatos y selecciona un valor de ADN de entre valores de ADN existentes en cada punto de cruce . 83. El sistema de evolución de conformidad con la reivindicación 67, caracterizado porque el agente inteligente lleva a cabo una operación de hibridación en dos ADNs candidatos al seleccionar al menos un punto de cruce localizado sobre cada uno de los ADNs candidatos y selecciona un valor de ADN de entre valores de ADN existentes en cada punto de cruce . 84. El sistema de evolución de conformidad con la reivindicación 82, caracterizado porque la operación de hibridación se lleva a cabo entre genes de género diferentes. 85. El sistema de evolución de conformidad con la reivindicación 83, caracterizado porque la operación de hibridación se lleva a cabo entre genes de género diferentes . 86. El sistema de evolución de conformidad con la reivindicación 82, caracterizado porque el agente inteligente reemplaza un agente actual con un agente hxbrido generado por la operación de hibridación después de presentar visualmente el agente híbrido al usuario y obtener la aprobación del agente híbrido por parte del usuario. 143 87. El sistema de evolución de conformidad con la reivindicación 83, caracterizado porque el agente inteligente reemplaza un agente actual con un agente híbrido generado por la operación de hibridación después de presentar visualmente el agente híbrido al usuario y obtener la aprobación del agente híbrido por parte del usuario. 88. El sistema de evolución de conformidad con la reivindicación 82, caracterizado porque la operación de hibridación se lleva a cabo usando un ADM de agente incluido en un mensaje SMS recibido desde una fuente externa a través de por lo menos uno de infrarrojo, BlueTooth y la Internet. 89. El sistema de evolución de conformidad con la reivindicación 83, caracterizado porque la operación de hibridación se lleva a cabo usando un ADM de agente incluido en un mensaje SMS recibido desde una fuente externa a través de por lo menos uno de infrarrojo, BlueTooth y la Internet. 90. El sistema de evolución de conformidad con la reivindicación 66, caracterizado porque una combinación de letras A, G, C y T que expresan el ADN es presentada visualmente sobre una pantalla. 91. El sistema de evolución de conformidad con la reivindicación 67, caracterizado porque una combinación de letras A, G, C y T que expresan el ADN es presentada visualmente sobre una pantalla. 92. El sistema de evolución de conformidad con la 144 reivindicación 64, caracterizado porque el usuario puede revisar un historial de cambios de una criatura representada por el avatar. 93. El sistema de evolución de conformidad con la reivindicación 64, caracterizado porque, con base en detalles de usuario establecidos por el usuario, el agente inteligente crea un híbrido con una posibilidad konghup entre el usuario del sistema de evolución que corresponde a un teléfono móvil y un usuario de otro teléfono móvil . 94. El sistema de evolución de conformidad con la reivindicación 65, caracterizado porque, con base en detalles de usuario establecidos por el usuario, el agente inteligente crea un híbrido con una posibilidad konghup entre el usuario del sistema de evolución que corresponde a un teléfono móvil y un usuario de otro teléfono móvil. 95. El sistema de evolución de conformidad con la reivindicación 64, caracterizado porque el avatar es controlado para actuar como uno de una mascota virtual y un compañero virtual . 96. El sistema.de evolución de conformidad con la reivindicación 65, caracterizado porque el avatar es controlado para actuar como uno de una mascota virtual y un compañero virtual . 97. El sistema de evolución de conformidad con la reivindicación 64, caracterizado porque el avatar es 145 representado como un objeto poligonal en tercera dimensión con más de un color. 98. El sistema de evolución de conformidad con la reivindicación 65, caracterizado porque el avatar es representado como un objeto poligonal en tercera dimensión con más de un color. 99 Un teléfono móvil caracterizado porque comprende : (a) una interfaz de usuario que incluye un avatar evolutivo para comunicarse entre un usuario del teléfono y el sistema operativo; (b) al menos una aplicación de software controlada por el sistema operativo y (c) una clase de evolución para hacer posible que las propiedades de un agente inteligente sean cambiadas usando ADN algorítmico, en donde el avatar tiene una pluralidad de características visuales en tercera dimensión con atributos de sombras, texturas y animación. 100. Una interfaz de usuario proactiva para un dispositivo computacional que tiene un sistema operativo, la interfaz de usuario proactiva se caracteriza porque comprende : (a) una unidad de interfaz para comunicación entre un usuario de la interfaz de usuario proactiva y el sistema 146 operativo, la unidad de interfaz incluye un agente emocional para comunicarse con el usuario; (b) al menos una aplicación de software controlada por el sistema operativo; (c) un marco de inteligencia artificial (AI) para soportar la por lo menos una aplicación de software, comunicarse con una plataforma huésped que tiene el sistema operativo, detectar al menos un patrón de interacción del usuario con la unidad de interfaz, y sugerir activamente al usuario opciones para alterar al menos una función de la interfaz de usuario de acuerdo con el patrón detectado, en donde el agente expresa al menos una emoción de acuerdo con una reacción del usuario a la sugerencia. 101. La interfaz de usuario proactiva de conformidad con la reivindicación 100, caracterizada porque comprende además una base de conocimientos para almacenar información seleccionada del grupo que consiste en un patrón determinado de acuerdo con al menos una interacción previa del usuario con la unidad de interfaz, un patrón predeterminado, y una combinación de los mismos. 102. La interfaz de usuario proactiva de conformidad con la reivindicación 101, caracterizada porgue el marco de AI comprende : un módulo de inteligencia artificial/aprendizaje de máquina (AI/ML) ; 147 un administrador de aplicaciones para comunicarse con la por lo menos una aplicación de software; un administrador de almacenamiento para administrar el almacenamiento y manejo de datos con respecto a la base de conocimientos; un administrador de acciones para hacer posible que la interfaz de usuario proactiva determine qué acción debe tomarse a través de una operación del módulo de AI/ML; un administrador de interfaz de usuario (UI) para administrar una apariencia y una función de la interfaz de usuario al dirigir cambios a la interfaz de usuario y una asociadora de mundos de dispositivo para determinar un estado del dispositivo computacional, un estado de un mundo virtual, y una relación entre los dos estados. 103. La interfaz de usuario proactiva de conformidad con la reivindicación 102, caracterizada porque el módulo de AI/ML determina un comportamiento de la interfaz de usuario proactiva en respuesta a varios estímulos, y hace posible que la interfaz de usuario proactiva aprenda de una respuesta del usuario a diferentes tipos de acciones de la interfaz de usuario proactiva. 104. La interfaz de usuario proactiva de conformidad con la reivindicación 102, caracterizada porque el marco de AI comprende además un manej ador de eventos , y entre la por lo menos una aplicación de software y el 148 manejador de eventos, una pluralidad de administradores de bajo nivel diferentes soportan la recepción y manejo de eventos diferentes, los administradores de bajo nivel incluyen al administrador de acciones, al administrador de UI, al administrador de almacenamiento y al administrador de aplicaciones . 105. La interfaz de usuario proactiva de conformidad con la reivindicación 103, caracterizada porque el marco de AI comprende además un manej ador de eventos, y entre la por lo menos una aplicación de software y el manej ador de eventos, una pluralidad de administradores de bajo nivel diferentes soportan la recepción y manejo de eventos diferentes, los administradores de bajo nivel incluyen al administrador de acciones, al administrador de UI, al administrador de almacenamiento y al administrador de aplicaciones . 106. La interfaz de usuario proactiva de conformidad con la reivindicación 103, caracterizada porque el administrador de aplicaciones es capaz de iniciar, pausar, reanudar y detener cada una de la por lo menos una aplicación de software . 107. La interfaz de usuario proactiva de conformidad con la reivindicación 100, caracterizada porque el dispositivo computacional se selecciona del grupo que consiste en una computadora regular, un ATM, dispositivos de 149 información móviles que incluyen un teléfono celular, un PDA, y un electrodoméstico de consumo que tenga un sistema operativo . 108. La interfaz de usuario proactiva de conformidad con la reivindicación 101, caracterizada porque el dispositivo computacional se selecciona del grupo que consiste en una computadora regular, un ATM, dispositivos de información móviles que incluyen un teléfono celular, un PDA, y un electrodoméstico de consumo que tenga un sistema operativo. 109. La interfaz de usuario proactiva de conformidad con la reivindicación 102, caracterizada porgue el dispositivo computacional se selecciona del grupo que consiste en una computadora regular, un ATM, dispositivos de información móviles que incluyen un teléfono celular, un PDA, y un electrodoméstico de consumo que tenga un sistema operativo . 110. La interfaz de usuario proactiva de conformidad con la reivindicación 103, caracterizada porque el dispositivo computacional se selecciona del grupo que consiste en una computadora regular, un ATM, dispositivos de información móviles que incluyen un teléfono celular, un PDA, y un electrodoméstico de consumo que tenga un sistema operativo . 111. La interfaz de usuario proactiva de 150 conformidad con la reivindicación 104, caracterizada porque el dispositivo computacional se selecciona del grupo que consiste en una computadora regular, un ATM, dispositivos de información móviles que incluyen un teléfono celular, un PDA, y un electrodoméstico de consumo que tenga un sistema operativo . 112. La interfaz de usuario proactiva de conformidad con la reivindicación 105, caracterizada porque el dispositivo computacional se selecciona del grupo que consiste en una computadora regular, un ATM, dispositivos de información móviles que incluyen un teléfono celular, un PDA, y un electrodoméstico de consumo que tenga un sistema operativo. 113. La interfaz de usuario proactiva de conformidad con la reivindicación 106, caracterizada porque el dispositivo computacional se selecciona del grupo que consiste en una computadora regular, un ATM, dispositivos de información móviles que incluyen un teléfono celular, un PDA, y un electrodoméstico de consumo que tenga un sistema operativo. 11 . La interfaz de usuario proactiva de conformidad con la reivindicación 107, caracterizada porque el agente se crea a través de un modelo gráfico en tercera dimensión. 115. La interfaz de usuario proactiva de 151 conformidad con la reivindicación 108, caracterizada porque el agente se crea a través de un modelo gráfico en tercera dimensión. 116. La interfaz de usuario proactiva de conformidad con la reivindicación 109, caracterizada porgue el agente se crea a través de un modelo gráfico en tercera dimensión. 117. La interfaz de usuario proactiva ' de conformidad con la reivindicación 110, caracterizada porque el agente se crea a través de un modelo gráfico en tercera dimensión. 118. La interfaz de usuario proactiva de conformidad con la reivindicación 111, caracterizada porque el agente se crea a través de un modelo gráfico en tercera dimensión. 119. La interfaz de usuario proactiva de conformidad con la reivindicación 112 , caracterizada porque el agente se crea a través de un modelo gráfico en tercera dimensión. 120. La interfaz de usuario proactiva de conformidad con la reivindicación 113, caracterizada porque el agente se crea a través de un modelo gráfico en tercera dimensión. 121. La interfaz de usuario proactiva de conformidad con la reivindicación 114, caracterizada porque 152 la interfaz de usuario proactiva controla al avatar para ser presentado visualmente independientemente de los aspectos de presentación visual de la interfaz de usuario. 122. La interfaz de usuario proactiva de conformidad con la reivindicación 115, caracterizada porque la interfaz de usuario proactiva controla al avatar para ser presentado visualmente independientemente de los aspectos de presentación visual de la interfaz de usuario. 123. La interfaz de usuario. proactiva de conformidad con la reivindicación 116, caracterizada porque la interfaz de usuario proactiva controla al avatar para ser presentado visualmente independientemente de los aspectos de presentación visual de la interfaz de usuario. 124. La interfaz de usuario proactiva de conformidad con la reivindicación 117, caracterizada porque la interfaz de usuario proactiva controla al avatar para ser presentado visualmente independientemente de los aspectos de presentación visual de la interfaz de usuario. 125. La interfaz de usuario proactiva de conformidad con la reivindicación 118, caracterizada porque la interfaz de usuario proactiva controla al avatar para ser presentado visualmente independientemente de los aspectos de presentación visual de la interfaz de usuario. 126. La interfaz de usuario proactiva de conformidad con la reivindicación 119, caracterizada porque 153 la interfaz de usuario proactiva controla al avatar para ser presentado visualmente independientemente de los aspectos de presentación visual de la interfaz de usuario. 127. La interfaz de usuario proactiva de conformidad con la reivindicación 120, caracterizada porgue la interfaz de usuario proactiva controla al avatar para ser presentado visualmente independientemente de los aspectos de presentación visual de la interfaz de usuario. 128. La interfaz de usuario proactiva de conformidad con la reivindicación 100, caracterizada porque el agente inteligente se comunica con un objeto que se encuentra en un ambiente virtual . 129. La interfaz de usuario proactiva de conformidad con la reivindicación 128, caracterizada porque el objeto en el ambiente virtual incluye al menos uno de una pelota, un animal bueno, alimento, un animal malo, una casa y juguetes . 130. La interfaz de usuario proactiva de conformidad con la reivindicación 129, caracterizada porque el objeto en el ambiente virtual incluye una entrada graduada a un estado del agente . 131. La interfaz de usuario proactiva de conformidad con la reivindicación 130, caracterizada porque el objeto en el ambiente virtual se vuelve un incentivo o desincentivo para el agente para continuar un comportamiento 154 para el cual se ha proporcionado retroalitnentación. 132. La interfaz de usuario proactiva de conformidad con la reivindicación 130, caracterizada porque la entrada graduada incluye puntos de recompensa proporcionados al agente, y el agente responde a los puntos de recompensa . 133. La interfaz de usuario proactiva de conformidad con la reivindicación 100, caracterizada porque la sugerencia se determina por una estrategia a base de reglas. 134. La interfaz de usuario proactiva de conformidad con la reivindicación 133, caracterizada porque la estrategia a base de reglas comprende : consultar una base de conocimientos cuando ocurra un evento, y recibir una respuesta de la misma; determinar si el evento es válido o no; generar una acción que corresponda al evento y determinar la prioridad para la acción y llevar a cabo un acción de prioridad más alta de entre acciones que correspondan al evento. 135. La interfaz de usuario proactiva de conformidad con la reivindicación. 134, caracterizada porque la acción de prioridad más alta es una acción que maximiza una recompensa total agregada de un ambiente virtual o una entrada graduada en forma de retroalimentación de 155 alentamiento o desalentaraiento . 136. La interfaz de usuario proactiva de conformidad con la reivindicación 133, caracterizada porque la interfaz de usuario proactiva crea una emoción del agente con base en un cambio de por lo menos una de una probabilidad de éxito (LOS) y una probabilidad de falla (LOF) de una meta abstracta del agente . 137. La interfaz de usuario proactiva de conformidad con la reivindicación 134, caracterizada porque la interfaz de usuario proactiva crea una emoción del agente con base en un cambio de por lo menos una de una probabilidad de éxito (LOS) y una probabilidad de falla (LOF) de una meta abstracta del agente . 138. La interfaz de usuario proactiva de conformidad con la reivindicación 135, caracterizada porque la interfaz de usuario proactiva crea una emoción del agente con base en un cambio de por lo menos una de una probabilidad de éxito (LOS) y una probabilidad de falla (LOF) de una meta abstracta del agente . 139. La interfaz de usuario proactiva de conformidad con la reivindicación 136, caracterizada porque la emoción creada es acumulada, y el agente expresa un estado emocional cada vez que cambia un patrón de comportamiento dominante . 140. La interfaz de usuario proactiva de 156 conformidad con la reivindicación 137, caracterizada porque la emoción creada es acumulada, y el agente expresa un estado emocional cada vez que cambia un patrón de comportamiento dominante . 141. La interfaz de usuario proactiva de conformidad con la reivindicación 138, caracterizada porque la emoción creada es acumulada, y el agente expresa un estado emocional cada vez que cambia un patrón de comportamiento dominante . 142. La interfaz de usuario proactiva de conformidad con la reivindicación 139, caracterizada porque el estado emocional es expresado usando al menos uno de comunicación textual, animación tridimensional, expresiones faciales, efectos animados bidimensionales y sonidos. 143. La interfaz de usuario proactiva de conformidad con la reivindicación 140, caracterizada porque el estado emocional es expresado usando al. menos uno de comunicación textual, animación tridimensional, expresiones faciales, efectos animados bidimensionales y sonidos. 144. La interfaz de usuario proactiva de conformidad con la reivindicación 141, caracterizada porque el estado emocional es expresado usando al menos uno de comunicación textual, animación tridimensional, expresiones faciales, efectos animados bidimensionales y sonidos.
MXPA06002130A 2003-09-05 2004-09-06 Interfaz de usuario proactiva que incluye un agente evolutivo. MXPA06002130A (es)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US50066903P 2003-09-05 2003-09-05
US10/743,476 US20050054381A1 (en) 2003-09-05 2003-12-23 Proactive user interface
KR20040016263 2004-03-10
KR1020040016266A KR100680190B1 (ko) 2003-09-05 2004-03-10 진화하는 에이전트를 갖는 사전 행동적 사용자 인터페이스
KR1020040067663A KR100680191B1 (ko) 2003-09-05 2004-08-27 감정 있는 에이전트를 갖는 사전 행동적 사용자 인터페이스 시스템
PCT/KR2004/002256 WO2005024649A1 (en) 2003-09-05 2004-09-06 Proactive user interface including evolving agent

Publications (1)

Publication Number Publication Date
MXPA06002130A true MXPA06002130A (es) 2006-05-31

Family

ID=36096819

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA06002130A MXPA06002130A (es) 2003-09-05 2004-09-06 Interfaz de usuario proactiva que incluye un agente evolutivo.

Country Status (5)

Country Link
AU (1) AU2004271482B2 (es)
BR (1) BRPI0413327B1 (es)
CA (1) CA2536233C (es)
MX (1) MXPA06002130A (es)
WO (1) WO2005024649A1 (es)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1895505A1 (en) 2006-09-04 2008-03-05 Sony Deutschland GmbH Method and device for musical mood detection
EP3751402A1 (en) * 2019-06-12 2020-12-16 Koninklijke Philips N.V. An apparatus and method for generating a personalized virtual user interface

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU4851300A (en) * 1999-05-19 2000-12-05 Digimarc Corporation Methods and systems for controlling computers or linking to internet resources from physical and electronic objects
KR20000050102A (ko) * 2000-05-16 2000-08-05 조석현 캐릭터용 이동통신단말기
US20030093419A1 (en) * 2001-08-17 2003-05-15 Srinivas Bangalore System and method for querying information using a flexible multi-modal interface
KR20020032449A (ko) * 2002-01-24 2002-05-03 주식회사 비에스테크놀로지 유무선 통신을 이용한 개인맞춤 정보 제공 방법

Also Published As

Publication number Publication date
BRPI0413327B1 (pt) 2017-02-14
WO2005024649A1 (en) 2005-03-17
CA2536233A1 (en) 2005-03-17
AU2004271482B2 (en) 2009-02-26
CA2536233C (en) 2014-04-29
BRPI0413327A (pt) 2006-10-10
AU2004271482A1 (en) 2005-03-17

Similar Documents

Publication Publication Date Title
US8990688B2 (en) Proactive user interface including evolving agent
EP1528464B1 (en) Proactive user interface including evolving agent
RU2331918C2 (ru) Проактивный интерфейс пользователя, содержащий эволюционирующий агент
US7725419B2 (en) Proactive user interface including emotional agent
AU2004271482B2 (en) Proactive user interface including evolving agent
US7711778B2 (en) Method for transmitting software robot message

Legal Events

Date Code Title Description
FA Abandonment or withdrawal