BRPI0413327B1 - interface de usuário pró-ativa que inclui agente evolutivo - Google Patents

interface de usuário pró-ativa que inclui agente evolutivo Download PDF

Info

Publication number
BRPI0413327B1
BRPI0413327B1 BRPI0413327A BRPI0413327A BRPI0413327B1 BR PI0413327 B1 BRPI0413327 B1 BR PI0413327B1 BR PI0413327 A BRPI0413327 A BR PI0413327A BR PI0413327 A BRPI0413327 A BR PI0413327A BR PI0413327 B1 BRPI0413327 B1 BR PI0413327B1
Authority
BR
Brazil
Prior art keywords
user interface
proactive
agent
proactive user
interface according
Prior art date
Application number
BRPI0413327A
Other languages
English (en)
Inventor
Toledano Eyal
Lee Jong-Goo
Linder Natan
Ben-Yair Ran
Eisenberg Yariv
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 BRPI0413327A publication Critical patent/BRPI0413327A/pt
Publication of BRPI0413327B1 publication Critical patent/BRPI0413327B1/pt

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

"interface de usuário pró-ativa que inclui agente evolutivo". interface de usuário pró-ativa, instalada (ou de outra forma controlada e/ou ser associada) a qualquer tipo de dispositivo de computação. a interface de usuário pró-ativa faz ativamente sugestões ao usuário, com base na experiência anterior com um usuário particular e/ou vários padrões pré-programados dos quais o dispositivo de computação poderia selecionar, dependendo do comportamento do usuário. essas sugestões podem ser feitas ao alterar a aparência de pelo menos uma parte da tela, por exemplo ao mudar o menu ou uma parte deste, fornecer diferentes menus para apresentação, e/ou alterar a funcionalidade da tela de toque. as sugestões também podem ser feitas de modo audível.

Description

INTERFACE DE USUÁRIO PRÓ-ATIVA QUE INCLUI AGENTE EVOLUTIVO HISTÓRICO DA INVENÇÃO CAMPO DA INVENÇÃO A presente invenção relaciona-se a uma interface de usuário proativa que inclui um agente evolutivo, e sistemas e métodos dos mesmos, particularmente para utilização com dispositivos de informação móveis.
DESCRIÇÃO DA TECNOLOGIA RELACIONADA A utilização de dispositivos sem fio móveis e portáteis expandiu-se dramaticamente nos anos recentes. Muitos desses dispositivos contendo funções variadas, recursos internos, e capacidades existem agora e incluem, sem a eles serem limitados, telefones móveis, assistentes digitais pessoais, instrumentação médica e laboratorial, cartões inteligentes, e set top boxes (interface analógico/digital). Todos esses dispositivos podem ser referidos como dispositivos de informação móveis. Os dispositivos tendem a ser dispositivos de finalidade especial e de função limitada, em vez do computador pessoal de finalidade geral. Muitos desses dispositivos são conectados com a Internet, e são utilizados para uma variedade de aplicações.
Um exemplo de tal dispositivo de informação móvel é o telefone celular. Telefones celulares estão rapidamente tornando-se ubíquos; e a utilização dos telefones celulares está até superando aquela dos telefones tradicionais (PSTN - rede de telefonia comutada pública) ou telefones de "linha terrestre". Os próprios telefones celulares estão se tornando mais sofisticados, e em verdade são efetivamente dispositivos de computação com sistemas operacionais embutidos . À medida que os telefones celulares ficam mais sofisticados, a faixa de funções que eles ofertam também está ficando potencialmente mais extensa. No entanto, as funções atualmente disponíveis são tipicamente relacionadas a extensões de funções jã presentes nos telefones regulares (linha terrestre), e/ou a junção de certas funções de assistentes digitais pessoais (PDAs) com aquelas dos telefones celulares. A interface de usuário fornecida com os telefones celulares é, de modo similar, não sofisticada, destacando tipicamente um teclado para varrer através de alguns menus simples. A personalização, embora claramente desejada por clientes que gastaram quantidades significativas de dinheiro em tons de campainha personalizadas e outros acessórios para telefones celulares, ainda está limitada a muito poucas funções do telefone celular. Ademais, os telefones celulares atualmente não dispõem de qualquer personalização automática, por exemplo, a interface do usuário e funcionalidades personalizadas/adaptadas que são obrigatórias para a melhor utilização do dispositivo de informação móvel, e/ou a capacidade de reagir de acordo com o comportamento do usuário.
Entretanto, esta falta de sofisticação também é vista nas interfaces de usuário para computadores pessoais (de mesa ou laptop) e outros dispositivos de computação. Esses dispositivos de computação também só podem ser personalizados de maneiras muito simples. Essa personalização precisa ser efetuada pelo usuário, que poderá não compreender as funções do computador e/ou poderá não se sentir confortável cora o desempenho dessas tarefas de personalização. Atualmente, os dispositivos de computação não aprendem padrões de comportamento do usuário e ajustam seu comportamento de acordo, como sistemas adaptáveis para a interface do usuário. Se o usuário não puder ajustar manualmente o computador, então o usuário precisa ajustar seu comportamento para acomodar o computador, em vez do inverso.
Software que é capaz de aprender foi desenvolvido, embora apenas para funções laboratoriais especializadas. Por exemplo, software de "inteligência artificial" (AI) foi desenvolvido. O termo AI recebeu um número de definições. "AI é o estudo dos cálculos que tornam possível perceber, raciocinar, e agir" (Artificial Intelligence: A Modern Approach (segunda edição) de Stuart Russell, Peter Norvig (Prentice Hall, Pearson Education Inc., 2003). 0 software de AI combina vários conceitos diferentes, como percepção, que fornece uma interface para o mundo em que o software de AI é obrigado a raciocinar e agir. Exemplos incluem, sem a eles se limitar, processamento de linguagem natural -comunicar, compreender conteúdo de documento e o contexto da linguagem natural; visão por computador - perceber objetos de fonte de imagem; e sistemas sensores - percepção de objetos e recursos dos objetos percebidos ao analisar dados sensoriais, etc.
Outro conceito importante é o da base de conhecimento. A representação do conhecimento é responsável por representar, extrair e armazenar o conhecimento. Esta disciplina também fornece técnicas para generalizar o conhecimento, extração de recurso e enumeração, construção do estado do objeto e definições. A própria implementação poderá ser efetuada por utilizar comumente estruturas de dados conhecidas, como os gráficos, vetores, tabelas, etc.
Ainda outro conceito importante ê o do raciocínio. Raciocínio automático combina os algoritmos que utilizam a reprodução do conhecimento e a percepção para tirar novas conclusões, inferir perguntas e respostas, e atingir as metas do agente. As estruturas conceituais seguintes são exemplos do raciocínio em AI: bases de regras - regras de sistemas são avaliadas contra a base de conhecimento e o estado percebido para o raciocínio; sistemas de busca - a utilização de estruturas de dados bem conhecidas para buscar por uma conclusão inteligente de acordo com o estado percebido, o conhecimento disponível e a meta (exemplos incluem árvores de decisão, gráficos de estado, decisão minímax, etc.); classificadores - o alvo do sistema de raciocínio por classificador é classificar um estado percebido representado como um experimento que não tem qualquer etiqueta de classificação. De acordo com uma base de conhecimento pré-classifiçada, o classificador inferirá a classificação do novo experimento (exemplos incluem heurística de distância de vetor, Máquina de Vetor de Suporte, Rede Neural de Classificador, etc.).
Outro conceito importante e quanto ao aprendizado. 0 alvo do aprendizado é melhorar o desempenho potencial do sistema de raciocínio de AI por generalização sobre experiências. A entrada de um algoritmo de aprendizado será o experimento e a saída seriam modificações da base de conhecimento de acordo com os resultados (exemplos incluem: aprendizado de reforço, aprendizado em lote, máquina de vetor de suporte, etc.).
Trabalho também foi feito para algoritmos genéticos e algoritmos de evolução para software. Um exemplo de tal software está descrito em "Evolving Virtual Creatures", de Karl Sims (Computer Graphics, SIGGRAPH '94 Proceedings, julho de 1994, pp. 15-22). Esta referência descreveu "criaturas" de software que poderíam se deslocar através de um mundo virtual tridimensional, que é uma versão simulada do mundo físico real. As criaturas poderíam aprender e evoluir ao utilizar algoritmos genéticos, assim mudando seus comportamentos sem entrada externa dirigida. Esses algoritmos genéticos, portanto, delinearam um hiperespaço de comportamentos potenciais tendo diferentes "adequações" ou recompensas no mundo virtual. Os próprios algoritmos foram implementados utilizando gráficos dirigidos, que descrevem tanto os genótipos (componentes) das criaturas, e seu comportamento.
No início da simulação, muitas criaturas diferentes com genótipos diferentes são simuladas. As criaturas têm permissão de alterar seu comportamento em resposta a diferentes estímulos no mundo virtual. Em cada "geração", apenas certas criaturas têm permissão de sobreviver, quer de acordo com uma pontuação de corte relativa ou absoluta, com a pontuação sendo determinada de acordo com a adequação do comportamento das criaturas. Permite-se que ocorram mutações, que poderão aumentar a adequação (e assim a capacidade de sobrevivência) das criaturas mutadas, ou vive versa. Mutações são também efetuadas através do gráfico dirigido, por exemplo, ao mudar aleatoriamente um valor associado a um nó, e/ou acrescentar ou apagar nós. De modo similar, "cruzamentos" entre criaturas poderão resultar em mudanças no gráfico dirigido.
Os resultados descritos na referência mostraram que, em verdade, criaturas virtuais poderíam mudar e evoluir. No entanto, as criaturas só poderíam operar dentro de seu mundo virtual, e não tinham qualquer ponto de referência ou de contato com o mundo físico real, e/ou com os operadores de computador humanos.
SINOPSE DA INVENÇÃO A tecnologia de fundo não ensina nem sugere um sistema ou método para permitir software inteligente pelo menos para que os dispositivos de informação móveis aprendam e evoluam especificamente para interagir com os usuários humanos. A tecnologia de fundo também não ensina nem sugere um agente inteligente para o dispositivo de informação móvel, que seja capaz de interagir com o usuário humano através de um avatar. A tecnologia de fundo também não ensina nem sugere uma interface de usuário proativo para o dispositivo móvel, em que a interface de usuário proativa aprende o comportamento do usuário e é então capaz de sugerir ativamente opções para a evolução do agente ao usuário. A tecnologia de fundo também não ensina nem sugere um agente para o dispositivo de informação móvel, que utiliza um avatar para interagir com outro avatar de outro dispositivo de informação móvel ou o usuário do mesmo. A tecnologia de fundo não ensina nem sugere um sistema ou método para permitir um software inteligente pelo menos para os dispositivos de informação móvel expressar uma emoção especificamente para interagir com usuários humanos. A tecnologia de fundo também não ensina nem sugere uma interface de usuário proativa para o dispositivo de computação, em que a interface de usuário proativo aprende o comportamento do usuário e é então capaz de sugerir ativamente opções ao usuário e expressar uma emoção de acordo com a reação do usuário à sugestão. A tecnologia de fundo também não ensina nem sugere um agente inteligente para o dispositivo de informação móvel, que pode efetuar a interação com o usuário humano através de um avatar, dita interação incluindo a expressão emocional. A presente invenção supera essas deficiências da tecnologia de fundo ao fornecer uma interface de usuário proativa, que podería opcionalmente ser instalada (ou de outra forma controlar e/ou ser associada) a qualquer tipo de dispositivo de computação. A interface de usuário proativa sugeriría ativamente opções para a evolução do agente para o usuário, com base na experiência anterior com um usuário particular e/ou vários padrões pré-programados dos quais o dispositivo de computação poderia selecionar, dependendo do comportamento do usuário. Além disso, a interface de usuário proativa faria sugestões ativamente ao usuário, e/ou de outra forma engajar em comportamento não determinístico ou inesperado, com base na experiência anterior (interação) com um usuário particular e/ou vários padrões pré-programados dos pais o dispositivo de computação poderia selecionar, dependendo do comportamento do usuário. Essas sugestões poderíam opcionalmente ser feitas com a alteração da aparência de pelo menos uma parte da tela, por exemplo ao modificar o menu ou uma parte dele;, fornecendo diferentes menus para exibição; e/ou alterar a funcionalidade da tela de toque. As sugestões também poderíam opcionalmente ser feitas de modo audível. Outros tipos de sugestões ou de mecanismos de entrega são possíveis. A presente invenção destaca a expressão de uma emoção do agente de acordo com a reação do usuário a tal sugestão.
Por "sugestão", deve-se observar que o sistema poderia efetivamente executar a ação automaticamente e expressar uma emoção correspondente do agente, dadas certas preferências do usuário e também dependendo sobre se o estado do sistema permite a execução específica da ação. A presente invenção é caracterizada, pois a expressão emocional do agente depende de se o usuário faz ou não uma seleção em resposta a uma "sugestão" do agente ou quando das recompensas do usuário â sugestão do agente.
Geralmente, é importante enfatizar que a interface de usuário proativa preferivelmente pelo menos parece ser inteligente e interativa, e é preferivelmente capaz pelo menos de uma comunicação um tanto "livre" (isto é, não roteirizada ou parcialmente roteirizada) com o usuário. Uma aparência inteligente é importante no sentido de que as expectativas do usuário são preferivelmente preenchidas para as interações com um agente? dispositivo "inteligente". Essas expectativas poderão opcíonalmente ser formatadas por fatores tais como a capacidade de se comunicar, a aparência opcional da interface, a utilização de atributos antropomórficos, e assim por diante, que são preferivelmente utilizados para aumentar o sentido de inteligência nas interações entre o usuário e a interface de usuário proativa. Em termos da comunicação recebida do usuário, a interface de usuário proativa é preferivelmente capaz de sentir como o usuário quer interagir com o dispositivo de informação móvel. Opcionalmente, a comunicação poderá ser em apenas uma direção; por exemplo, a interface poderá opcionalmente apresentar mensagens ou informação para o usuário, mas não receber informação do usuário, ou alternativamente o oposto poderá ser implementado. Preferivelmente, a comunicação é bidirecional para as interações preferidas com o usuário.
Para a comunicação para o usuário, a interface proativa é capaz de exibir ou demonstrar emoções simuladas para as interações com o usuário, como parte da comunicação com o usuário. Como é descrito em maior detalhe abaixo, essas emoções são simuladas para apresentação por um agente inteligente, representado por um avatar ou criatura. As emoções são criadas através de um sistema emocional, que poderá opcionalmente ser pelo menos parcialmente controlado de acordo com pelo menos uma preferência do usuário. 0 sistema emocional é utilizado para que as reações e as comunicações do agente inteligente sejam críveis em termos da percepção do usuário; por exemplo, se o agente inteligente é apresentado como uma criatura como um cão, o sistema emocional permite que as emoções sejam consistentes com as expectativas do usuário com relação ao comportamento "assemelhado ao do cão".
De modo similar, o agente inteligente pelo menos parece ser inteligente para o usuário. A inteligência poderá opcionalmente ser fornecida através de um mecanismo completamente determinístico; no entanto, a base para pelo menos a aparência da inteligência inclui pelo menos um ou mais elementos aleatórios ou semi-aleatórios. Mais uma vez, esses elementos estão presentes para serem consistentes com as expectativas do usuário a respeito da inteligência e com relação à representação do agente inteligente.
Adaptação está preferivelmente presente, para que o agente inteligente seja capaz de alterar o comportamento pelo menos um pouco para satisfazer a solicitação ou outra comunicação do usuário. Mesmo se a interface de usuário proativa não inclui um agente inteligente para comunicar com o usuário, a adaptação permite que a interface seja proativa. A observação da interação do usuário com o dispositivo de informação móvel permite que essa adaptação seja efetuada, embora a reação da interface de usuário proativa a essa observação poderá ser orientada por uma base de conhecimento e/ou uma base de regras.
Como um exemplo específico e não limitante mas preferido de tal capacidade de adaptação, particularmente para um dispositivo de informação móvel que inclui uma pluralidade de menus, essa capacidade de adaptação poderá incluir a capacidade de alterar pelo menos um aspecto do menu. Por exemplo, um ou mais atalhos poderão ser fornecidos, permitindo ao usuário alcançar diretamente uma opção de menu enquanto passa ao largo de pelo menos uma (e mais preferivelmente todos) os menus anteriores ou submenus que estão mais altos na hierarquia de menu do que a escolha final. Opcionalmente (alternativamente ou adicionalmente), um ou mais menus poderão ser rearrumados de acordo com a capacidade de adaptação da interface de usuário proativa, por exemplo, de acordo com a freqüência de uso. Essa rearrumação poderá incluir deslocar uma parte do menu, como uma opção de menu e/ou um sub-menu, para uma nova localização que é mais alta na hierarquia de menu do que a localização atual. Sub-menus que estão mais altos na hierarquia de menu são alcançados mais rapidamente, através da seleção de menos opções de menu, do que aqueles que estão localizados em uma localização inferior (mais abaixo) na hierarquia. A capacidade de adaptação e/ou emoções são auxiliadas através da utilização de recompensas para aprender pela interface de usuário proativa. Sugestões ou ações das quais o usuário aprova fornecem uma recompensa, ou um incentivo positivo, para a interface proativa continuar com essas sugestões ou ações; a desaprovação pelo usuário causa um desincentivo para a interface de usuário proativa continuar com esse comportamento. Fornecer incentivos/desincentivos positivos ou negativos a interface de usuário proativa preferivelmente permite que o comportamento da interface tenha mais nuanças, em vez de uma abordagem mais "ou preto ou branco", em que o comportamento ou seria permitido ou proibido. Essas nuanças também são preferidas para permitir que comportamentos opostos ou contraditórios sejam lidados, quando esses comportamentos são aprovados/desaprovados coletivamente pelo usuário pelo menos em certa extensão.
De acordo com uma versão da presente invenção, um modelo do usuário é construído através da interação da interface de usuário proativo com o usuário. Esse modelo integraria as bases de conhecimento de AI determinadas do comportamento do usuário e/ou pré-programadas. Ademais, o modelo também permitiria que a interface de usuário proativo medisse a reação do usuário a sugestões particulares feitas pela interface do usuário, assim adaptando-se às preferências implícitas do usuário.
Exemplos não limitantes desses dispositivos de computação incluem máquinas de caixa automático (ATMs) {isto também possui implicações de segurança, pois certos padrões de comportamento do usuário podería disparar um alarme, por exemplo), computadores regulares de qualquer tipo (como os de mesa, o laptop, os finos de clientes, os levados no corpo (vestível) e assim por diante), dispositivos de informação móveis como os telefones celulares, os dispositivos de radiochamadas, outros dispositivos de comunicação sem fio, telefones regulares tendo um sistema operacional, PDAs e PDAs sem fio, e aparelhos de consumidor tendo um sistema operacional. Doravante, o termo "dispositivo de computação" inclui qualquer dispositivo eletrônico tendo um sistema operacional e sendo capaz de efetuar cálculos. O sistema operacional poderá ser um sistema embutido e/ou outro tipo de ambiente de run time de software e/ou de hardware. Doravante, o termo "dispositivo de informação móvel" inclui, sem a eles se limitar, qualquer tipo de dispositivo de comunicação sem fio, incluindo, sem a eles se limitar, telefones celulares, dispositivos de radiochamada sem fio, PDAs sem fio, e assemelhados. A presente invenção é implementada para fornecer uma experiência de usuário aprimorada e a interação com o dispositivo de computação, bem como para mudar a atual interface de usuário genérica e não flexível de tais dispositivos para uma interface flexível e verdadeíramente amigável. Mais preferivelmente, a presente invenção é implementada para fornecer uma experiência emocional aprimorada do usuário com o dispositivo de computação, por exemplo, de acordo com a versão opcional mas preferida de construir a interface de usuário na forma de um avatar que interagiría com o usuário. Portanto, a presente invenção e capaz de fornecer uma experiência de "dispositivo vivo", particularmente para os dispositivos de informação móveis como os telefones celulares, por exemplo. De acordo com esta versão, o usuário poderá até formar uma ligação emocional ao "dispositivo vivo".
De acordo com outra versão da presente invenção, é fornecido um dispositivo de informação móvel que inclui um sistema adaptável. Como a interface de usuário acima, ele também depende da experiência anterior com o usuário e/ou padrões pré-programados. No entanto, o sistema adaptável é mais limitado a operar dentro das funções e do ambiente de um dispositivo de informação móvel.
Quer um ou ambos o sistema adaptável do dispositivo de informação móvel e as interfaces de usuário proativas poderão ser implementadas com algoritmos genéticos, algoritmos da inteligência artificial (AI}, algoritmos de aprendizado por máquina (ML), comportamento aprendido, e/ou dispositivos de software/de computação que são capazes de evolução. Quer um ou os dois também poderão fornecer um nível avançado de comandos por voz, comandos por tela de toque, e "atalhos" de teclado.
De acordo com outra versão preferida da presente invenção, é fornecido um ou mais agentes inteligentes para utilização com um dispositivo de informação móvel por uma rede de dispositivos de informação móveis, preferivelmente incluindo um avatar (ou "criatura"; doravante esses termos são utilizados de modo intercambiável) através dos quais o agente poderá comunicar-se com o usuário humano. O avatar pode fornecer a interface de usuário para interagir com o usuário. 0 agente inteligente também pode incluir um agente para controlar pelo menos uma interação do dispositivo de informação móvel pela rede. Esta versão poderá incluir uma pluralidade desses agentes inteligentes sendo conectados pela rede do dispositivo de informação móvel, assim formando uma rede de tais agentes. Várias aplicações também poderão ser fornecidas através desta versão, incluindo, sem a eles se limitar, o ensino em geral e/ou para aprender como utilizar o dispositivo de informação móvel em particular, ensinar idiomas, aplicações de comunicação, aplicações comunitárias, jogos, entretenimento, anúncios e outras mensagens não solicitadas, interpretação de papéis ou outros jogos interativos pela rede de telefonia celular, funções de "bate-papo" e de reuniões, a capacidade de comprar "presentes" para os agentes inteligentes e de outra forma acessar o personagem, e assim por diante. Em teoria, os próprios agentes poderíam receber "bichos de estimação" como acessórios.
Os agentes inteligentes também poderíam auxiliar no fornecimento de várias oportunidades de negócios/promocionais para os operadores do telefone celular. Os agentes também poderíam auxiliar com a instalação e operação de software em telefones celulares, que é uma nova área de comércio. Por exemplo, os agentes poderíam auxiliar com a determinação do tipo apropriado de dispositivo de informação móvel e outros detalhes que são essenciais para baixar corretamente e operar software.
Portanto, um número de interações diferentes é possível de acordo com várias versões da presente invenção. Essas interações incluem qualquer uma ou mais de uma interação entre o usuário do dispositivo e um avatar ou outro personagem ou personificação do dispositivo; uma interação entre o usuário do dispositivo e o dispositivo, para operar o dispositivo, através do avatar ou outro personagem ou personificação do dispositivo; uma interação entre o usuário do dispositivo e o dispositivo, para operar o dispositivo, através do avatar ou outro personagem ou personificação; interações entre dois usuários através de seus respectivos dispositivos, pela comunicação através do avatar, ou outro personagem ou personificação do dispositivo; e interações entre dois dispositivos através de seus respectivos agentes inteligentes, e pode ser feito sem qualquer comunicação entre os usuários ou mesmo entre o agente e o usuário. A interação ou as interações que são possíveis são determinadas de acordo com a versão da presente invenção, conforme descrita em maior detalhe abaixo. A presente invenção beneficia-se do ambiente relativamente restrito de um dispositivo de computação e/ou do dispositivo de informação móvel, como o telefone celular, por exemplo, pois os parâmetros desse ambiente são conhecidos com antecedência. Mesmo se esses dispositivos estão comunicando através de uma rede, como a rede de telefonia celular, por exemplo, os parâmetros do ambiente ainda podem ser predeterminados. Os dispositivos de computação atuais apenas fornecem uma interface genérica, com pouca ou nenhuma personalização permitida mesmo pela intervenção manual direta por parte do usuário.
Deve-se observar que o termo "software" também poderá opcionalmente incluir firmware ou instruções operadas por hardware.
DESCRIÇÃO SUCINTA DOS DESENHOS A invenção é aqui descrita, por meio de exemplo apenas, com referência aos desenhos acompanhantes, nos quais: A Figura 1 é um diagrama de blocos de um módulo de aprendizado exemplar de acordo com a presente invenção. A Figura 2 é um diagrama de blocos de um sistema exemplar de acordo com a presente invenção para utilizar a interface de usuário proativa. A Figura 3 mostra uma implementação exemplar de um sistema de interface de usuário proativo de acordo com a presente invenção. A Figura 4 é um diagrama de blocos de uma implementação exemplar do sistema adaptável de acordo com a presente invenção.
As Figuras 5A e 5B são um diagrama de blocos e um diagrama de sequência, respectivamente, de um sistema de gerenciamento de aplicação exemplar de acordo com a presente invenção.
As Figuras 6A e 6B mostram uma infra-estrutura exemplar necessária para o sistema adaptável de acordo com a presente invenção para efetuar uma ou mais ações através do sistema operacional do dispositivo de informação móvel e um diagrama de seqüência exemplar do mesmo de acordo com a presente invenção.
As Figuras 7A, 7B e 7C mostram eventos exemplares, e como eles são tratados por interações entre o dispositivo de informação móvel (através do sistema operacional do dispositivo) e o sistema da presente invenção.
As Figuras 8A e 8B descrevem uma estrutura exemplar do agente inteligente e também incluem um diagrama de sequência exemplar para a operação do agente inteligente.
As Figuras 9A e 9B mostram dois métodos exemplares para selecionar uma ação de acordo com a presente invenção. A Figura 10 mostra um diagrama de seqüência de um método de execução de ação exemplar de acordo com a presente invenção.
As Figuras 11Ά, 11B e 11C são diagramas para descrever uma implementação ilustrativa e exemplar de um sistema emocional de acordo com a presente invenção. A Figura 12A mostra um diagrama de seqüência exemplar para a comunicação textual de acordo com a presente invenção. A Figura 12B mostra um exemplo não limitante de uma expressão emocional "I am happy" (estou feliz) que o agente efetua em um telefone móvel.
As Figuras 13A, 13B e 13C mostram um diagrama de classe de evolução exemplar, e um diagrama de mutação exemplar e um diagrama de seqüência híbrida exemplar, respectivamente, de acordo com a presente invenção.. A Figura 14 mostra uma seqüência de hibridização exemplar entre agentes inteligentes em dois dispositivos de informação móveis.
As Figuras 15, 16, 17, 18, 19, 20 e 21 mostram imagens de tela exemplares de um avatar ou criatura de acordo com versões diferentes da presente invenção. A Figura 22 ê um diagrama de blocos de um sistema de agente inteligente exemplar de acordo com a presente invenção. A Figura 23 mostra o sistema da Figura 22 em maior detalhe.
A Figura 24 é um diagrama de blocos de uma implementação exemplar de um sistema de seleção de ação de acordo com a presente invenção. E
As Figuras 25A e 25B mostram imagens de tela exemplares do avatar de acordo com a presente invenção na tela do dispositivo de informação móvel.
DESCRIÇÃO DAS VERSÕES PREFERIDAS
Versões preferidas da presente invenção serão aqui descritas abaixo com referência aos desenhos acompanhantes. Na descrição seguinte, funções ou construções bem conhecidas não são descritas em detalhe pois elas obscureceriam a invenção em detalhes desnecessários. A presente invenção é de uma interface de usuário proativa, que podería ser instalada (ou de outra forma controlada e/ou estar associada) em qualquer tipo de dispositivo de computação. A interface de usuário proativa faz ativamente sugestões ao usuário, com base na experiência anterior com um usuário particular e/ou vários padrões pré-programados dos quais o dispositivo de computação podería selecionar, dependendo do comportamento do usuário. Essas sugestões poderíam opcionalmente ser feitas pela alteração da aparência de pelo menos uma parte da tela, por exemplo ao mudar um menu ou uma parte dele; fornecer diferentes menus para exibição; e/ou alterar a funcionalidade da tela de toque. As sugestões também poderíam ser feitas de modo audível. A presente invenção destaca a expressão de uma emoção do agente de acordo com a reação do usuário a essa sugestão. A interface de usuário proativa é preferivelmente implementada para um dispositivo de computação, conforme descrito anteriormente, que inclui um sistema operacional. A interface pode incluir a interface de usuário para comunicar entre o usuário e o sistema operacional. A interface também pode incluir um módulo de aprendizagem para detectar pelo menos um padrão de interação do usuário com a interface do usuário, e para sugerir ativamente opções para a evolução de pelo menos uma função da interface do usuário para o usuário, de acordo com o padrão detectado. Portanto, a interface de usuário proativa pode prever as solicitações do usuário e assim auxiliar o usuário na seleção de uma função desejada do dispositivo de computação.
Pelo menos um padrão pode ser selecionado do grupo que consiste de um padrão determinado de acordo com pelo menos uma interação anterior do usuário com a interface do usuário, e um padrão predeterminado, ou uma combinação deles. 0 primeiro tipo de padrão representa comportamento aprendido, enquanto o segundo tipo de padrão poderá ser pré-programado ou de outra forma predeterminado, particularmente para auxiliar o usuário quando um dispositivo de computação particular está sendo operado pelo usuário pela primeira vez. Um terceiro tipo de padrão poderia combinar esses dois aspectos, e permitiría que o padrão seja pelo menos parcialmente determinado de acordo com o comportamento do usuário, mas não inteiramente; por exemplo, a seleção do padrão poderá ser orientada de acordo com uma pluralidade de regras, e/ou de acordo com uma definição restritiva do estado do ambiente do mundo possível e/ou do estado do dispositivo e/ou da interface do usuário. 0 padrão inclui um padrão das preferências do usuário para o aparecimento, a função ou a característica do agente inteligente. A interface do usuário preferivelmente destaca uma tela gráfica, tal que pelo menos uma função da tela gráfica é proativamente alterada de acordo com o padrão. Por exemplo, pelo menos uma parte da tela gráfica poderá ser alterada, por exemplo, ao selecionar um menu para exibição de acordo com o padrão detectado, e exibição do menu. 0 menu poderá ser selecionado ao construir um menu de uma pluralidade de opções de menu, por exemplo para criar um menu "na hora". A interface do usuário poderá destacar uma tela de áudio, tal que alterar pelo menos uma função da interface do usuário envolve alterar pelo menos um som audível produzido pelo dispositivo de computação. A interface de usuário proativa podería ser implementada de acordo com um método da presente invenção, que é preferivelmente implementado para uma interação proativa entre o usuário e um dispositivo de computação através de uma interface do usuário. O método preferivelmente inclui detectar um padrão de comportamento do usuário de acordo com pelo menos uma interação do usuário com a interface do usuário; e proativamente alterar pelo menos uma função da interface do usuário de acordo com o padrão. O padrão inclui um padrão de preferências do usuário para a aparência, função ou característica do agente inteligente.
De acordo com outra versão da presente invenção, é fornecido um dispositivo de informação móvel que inclui um sistema adaptável. Como a interface de usuário acima, ele também depende da experiência anterior com o usuário e/ou padrões pré-programados. Entretanto, o sistema adaptável pode ser mais limitado a operar dentro das funções e do ambiente de um dispositivo de informação móvel, como um telefone celular, por exemplo, que atualmente também pode incluir certas funções básicas de um PDA. 0 sistema adaptável preferivelmente opera com um dispositivo de informação móvel que destaca um sistema operacional. O sistema operacional pode compreender um sistema embutido. O dispositivo de informação móvel pode compreender um telefone celular. O sistema adaptável é preferivelmente capaz de analisar o comportamento do usuário ao analisar uma pluralidade de interações do usuário com o dispositivo de informação móvel, após o que mais preferivelmente o sistema adaptável compara a pluralidade de interações do usuário a pelo menos um padrão predeterminado, para ver se o padrão predeterminado está associado com a alteração de pelo menos uma função da interface do usuário. A análise também poderá incluir comparar a pluralidade de interações do usuário a pelo menos um padrão de comportamento de usuário detectado anteriormente, em que o padrão de comportamento de usuário detectado anteriormente ê associado a alterar pelo menos uma função da Interface do usuário. 0 sistema adaptável poderá ser operado pelo próprio dispositivo de informação móvel. Alternativamente, se o dispositivo de informação móvel está conectado a uma rede, o sistema adaptável poderá ser operado pelo menos parcialmente de acordo com comandos enviados da rede para o dispositivo de informação móvel. Para esta implementação, dados associados a pelo menos uma operação do sistema adaptável são armazenados em uma localização que não o dispositivo de informação móvel, em que a localização é acessada através da rede.
De acordo com versões preferidas da presente invenção, o sistema adaptável também inclui um módulo de aprendizagem para efetuar a análise de acordo com a informação de entrada recebida e o conhecimento obtido anteriormente. Esse conhecimento poderá ter sido obtido anteriormente do comportamento do usuário, e/ou poderá ter sido comunicado de outro sistema adaptável em comunicação com o sistema adaptável do dispositivo de informação móvel particular. O sistema adaptável pode adaptar-se ao comportamento do usuário de acordo com qualquer um ou mais de um algoritmo de AI, um algoritmo de aprendizado por máquina, ou um algoritmo genético.
De acordo com outra versão opcional mas preferida da presente invenção, é fornecido um ou mais agentes inteligentes para utilização com o dispositivo de informação móvel por uma rede de dispositivo de informação móvel, preferivelmente incluindo um avatar através do qual o agente poderá comunicar-se com o usuário humano. 0 avatar, portanto, pode fornecer uma interface de usuário para interagir com o usuário. O agente inteligente também pode incluir um agente para controlar pelo menos uma interação do dispositivo de informação móvel pela rede. Esta versão poderá incluir uma pluralidade desses avatares sendo conectados pela rede do dispositivo de informação móvel, De acordo com versões preferidas da presente invenção, pelo menos uma característica da aparência do avatar pode ser alterada, por exemplo, de acordo com um comando do usuário. Uma pluralidade de características da aparência do avatar pode ser alterada de acordo com uma pele de avatar predefinida. A pele pode ser predefinida pelo usuário. Por "pele" quer-se dizer que uma pluralidade das características é alterada junta como um conjunto, em que o conjunto forma a pele. Se esta versão é combinada com a versão anterior de ter pelo menos uma parte dos dados relacionados ao avatar serem armazenados em uma localização acessada pela rede, então o usuário podería deslocar o mesmo avatar em diferentes telefones, e/ou personalizar a aparência do avatar por razões diferentes, por exemplo, para ocasiões especiais como uma festa ou outra celebração. Naturalmente, estes são apenas pretendidos como exemplos e não pretendem ser limitativos de qualquer forma.
De acordo com outras versões da presente invenção, pelo menos uma característica da aparência do avatar pode ser alterada de acordo com um algoritmo evolucionário automatizado, por exemplo, um algoritmo genético. 0 algoritmo evolucionário é um exemplo não limitativo de um método para fornecer personalização do avatar para o usuário. A personalização também poderá ser efetuada através da seleção de usuário direta de uma ou mais características ou peles (grupos de características) . Essa personalização ê desejável pelo menos em parte porque ela aprimora a experiência emocional do usuário com o avatar e, assim, com o dispositivo de informação móvel.
Em termos da implementação técnica, a presente invenção é preferivelmente capaz de operar em um sistema limitado (em termos de memória, de capacidade de processamento de dados, de tamanho e de resolução da exibição na tela, e assim por diante) em um dispositivo que também é muito pessoal do usuário. Por exemplo, o dispositivo é um dispositivo de informação móvel como um telefone celular, que por necessidade é adaptado para portabilidade e facilidade de uso, e portanto poderá ter uma ou mais, ou todas, as limitações acima. Os aspectos de implementação da presente invenção são preferivelmente dirigidas para esta combinação de características. Portanto, para superar as limitações do próprio dispositivo enquanto ainda mantém a personalização desejada e o "sentimento pessoal" para o usuário, várias soluções são propostas abaixo. Deve-se observar que essas soluções são apenas exemplos, e não são tidas como limitativas de qua1que r f orma. EXEMPLO 1: INTERFACE PROATIVA - Geral A interface de usuário proativa da presente invenção é preferivelmente capaz de controlar e/ou ser associada a qualquer tipo de dispositivo de computação, para ativamente fazer sugestões ao usuário, com base na experiência anterior com um usuário particular e/ou vários padrões pré-programados dos quais o dispositivo de computação poderia selecionar, dependendo do comportamento do usuário. Essas sugestões poderíam ser feitas ao alterar a aparência de pelo menos uma parte da tela, por exemplo, ao mudar um menu ou uma parte do mesmo; fornecer diferentes menus para exibição; e/ou alterar a funcionalidade da tela de toque. As sugestões também poderíam ser feitas de modo audível. A interface de usuário proativo é preferivelmente implementada para um dispositivo de computação, como foi descrito anteríormente, que inclui um sistema operacional. A interface pode incluir uma interface de usuário para comunicar entre o usuário e o sistema operacional. A interface é preferivelmente capaz de detectar pelo menos um padrão de interação do usuário com a interface de usuário, por exemplo, através da operação de um módulo de aprendizagem e, portanto, seria capaz de alterar proativamente pelo menos uma função da interface de usuário de acordo com o padrão detectado. A interface de usuário proativa pode prever as solicitações do usuário e, assim, auxiliar o usuário na seleção de uma função desejada do dispositivo de computação.
Este tipo de comportamento proativo, particularmente com relação ao aprendizado do comportamento e dos desejos do usuário, requer algum tipo de capacidade de aprendizado por parte da interface proativa. Essas capacidades de aprendizagem poderão ser fornecidas através de algoritmos e metodologias que são conhecidas na tecnologia, relacionadas ao aprendizado (pelo software) e interações de um objeto de software com o ambiente. Pode-se dizer que software está aprendendo quando ele pode melhorar suas ações durante um período de tempo. A Inteligência Artificial precisa demonstrar a seleção da ação inteligente (raciocínio), tal que o software tem a capacidade de explorar seu ambiente (seu "mundo") e descobrir possibilidades de ação. 0 software também teria a capacidade de representar o estado do mundo e seu próprio estado interno. 0 software então seria capaz de selecionar uma ação inteligente (utilizando o conhecimento acima) e agir.
Aprender, por exemplo pelo módulo de aprendizado da interface, pode ser reforçado por recompensas, em que o módulo de aprendizado é recompensado por tomar ações particulares de acordo com o estado do ambiente. Este tipo de aprendizagem efetivamente envolve treinar o módulo de aprendizagem a comportar-se de certa maneira. Se mais de um comportamento ê permitido, então o processo de aprendizagem é não determinístico e pode criar comportamentos diferentes. Com relação à interface de usuário proativa, por exemplo, a recompensa inclui fazer com que o módulo de aprendizagem detecte quando uma opção ofertada leva a uma seleção pelo usuário, em oposição a quando uma opção ofertada faz com que o usuário busque um conjunto diferente de uma ou mais seleções, por exemplo, ao selecionar um menu diferente do que aquele oferecido pela interface de usuário proativo. Claramente, a interface de usuário proativa deve buscar maximizar a porcentagem de ofertas que levam a uma seleção direta pelo usuário daquela oferta, pois isto mostra que a interface compreendeu corretamente o comportamento do usuário. A Figura 1 é um diagrama de blocos de um módulo de aprendizagem exemplar de acordo com a presente invenção para o aprendizado reativo. Como é mostrado, o módulo de aprendizagem 100 inclui uma Base de Conhecimento 102, que age como a memória do módulo de aprendizagem 100 ao reter informação coletada pelo módulo de aprendizagem 100 como resultado de interações com o ambiente. A Base de Conhecimento 102 poderá ser armazenada na memória não volátil (não mostrada). A Base de Conhecimento armazena informação que auxilia o módulo de aprendizagem 100 a selecionar a ação apropriada. Esta informação pode incluir valores como ponderações numéricas para uma rede neural interna, ou uma tabela com valores de recompensa de ação, ou qualquer outro tipo de informação.
Para que o módulo de aprendizagem 100 seja capaz de receber informação relacionada ao ambiente, o módulo de aprendizagem 100 destaca uma pluralidade de sensores 104. Os sensores 104 permitem ao módulo de aprendizagem 100 perceber seu estado ambiental. Os sensores 104 estão conectados ao ambiente e emitem os valores sentidos. Os valores podem vir do próprio programa (por exemplo, posição na tela, nível de energia, etc.), ou de valores do dispositivo real (por exemplo, valor da bateria e estado operacional, como o estado de flipper para os telefones celulares em que o dispositivo pode ser ativado ou uma chamada de entrada respondida ao abrir um "flipper”).
Os sensores 104 fornecem claramente informação de valia; entretanto, esta informação precisa ser processada antes do módulo de aprendizagem 100 poder compreendê-la. Portanto, o módulo de aprendizagem 100 também inclui uma unidade de percepção 106, para processar a saída atual dos sensores 104 em uma representação uniforme do mundo, denominada de "estado". O estado é então a entrada para o sistema de raciocínio 108, que poderá ser descrito como o "cérebro" do módulo de aprendizagem 100. Este projeto suporta a extensão do estado do mundo e do mecanismo sensor, bem como suportar a fácil passagem do sistema para várias plataformas hospedeiras (diferentes dispositivos de computação e ambientes), tal gue o estado do mundo pode ser mudado de acordo com o dispositivo. O sistema de raciocínio 108 processa o estado atual com a Base de Conhecimento 102, assim produzindo uma decisão sobre qual ação efetuar. O sistema de raciocínio 108 recebe o estado atual do mundo, emite a ação a ser efetuada, e recebe retro-alimentação sobre a ação selecionada. Com base na retro-alimentação, o sistema de raciocínio 108 atualiza a Base de Conhecimento 102. Este é um processo iterativo em que o módulo de aprendizagem 100 aprende a associar ações a estados.
De acordo com outra versão da presente invenção, o dispositivo de computação poderá destacar um ou mais sensores biológicos, para sentir vários tipos de informação biológica a respeito do usuário, como o estado emocional, estado físico, movimento, etc. Esta informação poderá então ser alimentada para os sensores 104 para auxiliar a unidade de percepção 106 na determinação do estado do usuário, e assim determinar o estado apropriado para o dispositivo. Esses sensores biológicos poderão incluir, sem a eles se limitar, sensores para a temperatura corporal, taxa de batimentos cardíacos, saturação de oxigênio ou qualquer outro tipo de sensor que mede parâmetros biológicos do usuário. A Figura 2 mostra uma versão exemplar do sistema 200 de acordo com a presente invenção para fornecer a interface de usuário proativa, mais uma vez destacando o módulo de aprendizagem 100. O módulo de aprendizagem 100 é mostrado em comunicação com o sistema operacional 202 do dispositivo de computação (não mostrado) com o qual o módulo de aprendizagem 100 é associado e/ou controla e/ou pelo qual o modulo de aprendizagem 100 é operado. 0 sistema operacional 202 controla a operação de uma interface 204 e também pelo menos uma outra aplicação de software 206 (embora, naturalmente, muitas dessas aplicações de software poderão opcionalmente estar presente). O usuário comunica através da interface 204, por exemplo, ao selecionar uma opção de um menu. 0 sistema operacional 202 permite que esta comunicação seja recebida e traduzida em dados. O módulo de aprendizagem 100 então preferivelmente recebe esses dados, e pode enviar um comando de volta para o sistema operacional 202, por exemplo, para mudar algum aspecto da interface 204 (por exemplo, ao oferecer um menu diferente), e/ou operar a aplicação de software 206. 0 usuário então responde através da interface 204; desta resposta, o módulo de aprendizagem 100 aprende se a ação (comando que foi enviado pelo módulo de aprendizagem 100) foi ou não apropriado. A Figura 3 é um diagrama de blocos que mostra uma implementação exemplar de um sistema de interface de usuário proativo 300 de acordo com a presente invenção. Como é mostrado, o sistema 300 destaca uma arquitetura de três níveis, com uma camada de aplicação sendo suportada por uma estrutura de AI (inteligência artificial) que, por sua vez, comunica-se com o dispositivo de computação da plataforma hospedeira (mostrado como "plataforma hospedeira"). A camada de aplicação destaca uma pluralidade de aplicações diferentes, das quais alguns exemplos não limitativos são mostrados, como uma MutateApp 302, uma PreviousApp 304 e uma Teaching App 306. A MutateApp 302 é invocada para controlar e/ou iniciar mutações no sistema 300. Como foi observado acima, o módulo de aprendizagem pode opcionalmente mudar seu comportamento através de evolução dirigida ou semi-dirigida, por exemplo, através de algoritmos genéticos. A MutateApp 302 controla e/ou inicia essas mutações através da evolução. A versão da evolução é descrita em maiores detalhes abaixo. A PreviousApp 304 permite que um estado anterior do sistema 300, ou uma parte dele (como o estado do módulo de aprendizagem} seja invocado no lugar do estado atual. Mais especificamente, a PreviousApp 304 permite ao usuário retornar à etapa evolucionária anterior se a presente invenção estiver sendo implementada com um algoritmo evolucíonãrio. Mais geralmente, o sistema 300 é preferivelmente cheio de estados e, portanto, pode retornar a um estado anterior, pois um histórico de tais estados ê preferivelmente mantido. A TeachingApp 306 é apenas um exemplo não limitativo de uma aplicação genérica que poderá ser implementada sobre a camada de estrutura de AI. A própria camada de estrutura de AI contém um ou mais componentes que permitem que a interface do usuário comporte-se de maneira proativa. A estrutura pode incluir um DeviceWorldMapper 308, para determinar o estado do dispositivo de computação e também o do mundo virtual, bem como a relação entre os dois estados. A DeviceWorldMapper 308 recebe entrada, por exemplo, de vários eventos de um EventHandler 310, para determinar o estado do mundo virtual e aquele do dispositivo. O Devi ceWor1dMapper 308 também se comunica com o módulo AI/ML (máquina de aprendizagem) 312 para analisar os dados de entrada. 0 módulo AI/ML 312 também determina o comportamento do sistema 300 em resposta a vários estímulos, e também permite ao sistema 300 aprender, por exemplo, da resposta do usuário a diferentes tipos de ações da interface do usuário. 0 comportamento do sistema 300 também poderá ser melhorado de acordo com um modelo de evolução 314. A versão de evolução é particularmente preferida com relação ao uso de um agente inteligente em um dispositivo de informação móvel) ver abaixo para um exemplo), mas também poderá ser utilizada com qualquer interface de usuário proativa para um dispositivo de computação. Esta versão é utilizada quando a interface de usuário proativa também destacar ou for utilizada em combinação com um avatar. A evolução pode ser simulada por um conjunto de algoritmos genéticos. A base desses algoritmos é descrever as propriedades da interface proativa (e particularmente a aparência do avatar) em termo de genes, cromossomos, e fenótipos. 0 gene é uma propriedade discreta que tem um nível de expressão, por exemplo, uma perna de um certo tipo. 0 nível da expressão pode ser o número dessas pernas. 0 fenótipo é a expressão externa de um gene; por exemplo o gene de perna pode ter diferentes fenótipos em termo de comprimento de perna ou de dimensão. O gene pode passar por um processo de mutação. Este processo (preferivelmente de acordo com uma certa probabilidade) muda um ou mais parâmetros do gene, assim produzindo diferentes novos fenótipos. O cromossomo é um conjunto de genes que funcionam juntos. O cromossomo pode hibridizar (cruzamento) com o mesmo tipo de cromossomo de uma criatura diferente, assim criando um novo cromossomo que é uma combinação dos cromossomos de seus pais genéticos. A metodologia ajuda na criação de uma infra-estrutura genérica para simular a evolução visual (por exemplo, da aparência do avatar) e/ou da evolução do comportamento da interface de usuário proativa. Esses algoritmos também poderão ser utilizados para determinar características comportamentais não visuais, como dexteridade, robustez, e assim por diante. 0 efeito poderia resultar, por exemplo, em uma criatura mais rápida, ou uma criatura mais eficiente. Esses algoritmos poderão ser utilizados para qualquer uma dessas características que pode ser descrita de acordo com a estrutura de gene/genõtipo/fenótipo mencionada anteriormente, tal que, por exemplo, genes comportamentais poderíam opcionalmente determinar o comportamento dos algoritmos de AI utilizados pela presente invenção. A saída do algoritmo preferivelmente fornece uma variedade de possíveis avatares descendentes e/ou interfaces de usuários proativas.
Os algoritmos genéticos utilizam um processo de seleção natural para decidir quais dos filhos genéticos continuarão como a geração seguinte. O processo de seleção pode ser decidido pelo usuário ou pode ser predefinido. Desta forma a criatura pode exibir interessante comportamento evolucionãrio. A estrutura do algoritmo genérico pode ser utilizada para evoluir genes que codificam outras propriedades não visuais da criatura, como metas ou caráter. 0 módulo de evolução 314 é um exemplo não limitativo da aplicação para gerenciar as evoluções do agente inteligente. 0 módulo de evolução 314 suporta e também preferivelmente gerencia essa evolução, por exemplo, através da operação do MutateApp 302.
Entre essas diferentes aplicações do tipo AI e o EventHandler 310, um ou mais diferentes gerentes de baixo nível preferivelmente suportam o recebimento e o manuseio de diferentes eventos, e também o desempenho de diferentes ações pelo sistema 300. Esses gerentes poderão incluir, sem a eles se limitar, um ActionManager 316, um UIManager 318, um StorageManager 320 e um ApplicationManager 322. O ActionManager 316 é descrito em maiores detalhes abaixo, mas sucintamente permite ao sistema 300 determinar qual ação deve ser tomada, por exemplo através da operação do módulo AI/ML 312. O UIManager 318 gerencia a aparência e as funções da interface de usuário, por exemplo, ao dirigir mudanças para aquela interface conforme descrito anteriormente. O StorageManager 320 gerencia o armazenamento e o manuseio de dados, por exemplo, com relação à base de conhecimento do sistema 300 (não mostrado) . 0 ApplicationManager 322 lida com a comunicação com as aplicações anteriormente descritas na camada de aplicação.
Todos esses diferentes gerentes recebem eventos do EventHandler 310.
Dentro da camada de estrutura da AI, uma infra-estrutura AI 324 suporta a comunicação com a plataforma hospedeira. A própria plataforma hospedeira destaca uma interface de plataforma hospedeira 326, que poderá ser fornecida através do sistema operacional da plataforma hospedeira, por exemplo. A infra-estrutura AI 324 pode incluir um módulo de 1/0 328, para receber entradas da interface da plataforma hospedeira 326 e também para enviar comandos para a interface da plataforma hospedeira 326. Um módulo de tela 33 0 lida com a tela da interface do usuário na tela do dispositivo de computação da plataforma hospedeira. O módulo de recursos 332 permite ao sistema 300 acessar vários recursos da plataforma hospedeira, como armazenamento de dados e assim por diante.
Naturalmente, as Figuras acima representam apenas uma configuração opcional para o módulo de aprendizagem. Por exemplo, o módulo de aprendizagem também poderá ser representado como um conjunto de agentes individuais, em que cada agente tem uma meta simples. O módulo de aprendizagem escolhe um agente para efetuar uma ação com base no estado atual. O mapeamento apropriado entre o estado atual e os agentes também pode ser aprendido pelo módulo de aprendizagem com aprendizado de reforço.
EXEMPLO 2 : SISTEMA ADAPTÁVEL PARA 0 DISPOSITIVO DE
INFORMAÇÃO MÓVEL
Este exemplo relaciona-se à implementação ilustrativa de um sistema adaptável da presente invenção com um dispositivo de informação móvel, embora deve ser compreendido que esta implementação é preferida mas opcional, e não pretende ser limitativa de qualquer forma. 0 sistema adaptável poderá opcionalmente incluir qualquer uma das funcionalidades descritas acima no Exemplo 1/ e também poderá ser implementado conforme descrito anteriormente. Este Exemplo focaliza mais na arquitetura efetiva do sistema adaptável com relação a operação do dispositivo de informação móvel. Outrossim, este Exemplo descreve uma implementação opcional mas preferida da criatura ou do avatar de acordo com a presente invenção.
As seções seguintes descrevem versões opcionais mas preferidas de implementações técnicas específicas de vários aspectos do sistema adaptável de acordo com a presente invenção. Para a finalidade apenas de descrição e sem qualquer intenção de ser limitativo, essas versões têm por base a versão opcional mas preferida de um sistema adaptável que interage com o usuário através de um agente inteligente, opcionalmente representado visualmente como um avatar ou "criatura".
Seção 1: Sistema Acionado por Evento Esta Seção descreve uma versão preferida de um sistema acionado por evento de acordo com a presente invenção, incluindo, sem a eles se limitar, um gerente de aplicação, e interações entre o próprio dispositivo e o sistema da presente invenção enquanto ele é operado pelo dispositivo. A Figura 4 é um diagrama de blocos de um sistema adaptável exemplar 400 de acordo com a presente invenção, e interações do sistema 400 com o dispositivo de informação móvel 402. Outrossim, como é mostrado, tanto o sistema 400 como o dispositivo de informação móvel 402 interagem com o usuário 404. O dispositivo de informação móvel 402 tem um número de funções padrão, que são mostradas divididas em duas categorias apenas para a finalidade de explicação: dados e mecanismos. Os mecanismos poderão incluir, sem a eles se limitar, funções tais como um sistema de UI (interface de usuário) 406 (entrada de tela, de teclado ou de tela de toque, etc.) ; função de chamadas internas e de saída 408; função de mensagens 410 por exemplo, para SMS; som 412 e/ou vibração 414 para alertar o usuário 404 de uma chamada de entrada ou mensagem, e/ou alarme, etc., e armazenamento 416.
Os dados poderão incluir informação tal como um livro de endereço (telefone) 418; informação de chamadas de entrada ou de saída 420; a localização do dispositivo de informação móvel 402, mostrado como a localização 422; informação de mensagem 424; dados da Internet em cachê 426; e dados relacionados ao usuário 404, mostrados como dados do proprietário 428.
Deve-se observar que o dispositivo de informação móvel poderá incluir qualquer um ou mais dos dados/mecanismos acima, mas não necessariamente precisa incluir todos eles, e/ou poderá incluir dados/mecanismos adicionais que não estão mostrados. Estes pretendem simplesmente ser exemplos não limitativos com relação ao dispositivo de informação móvel 402, particularmente para telefones celulares. O sistema adaptável 400 de acordo com a presente invenção preferivelmente interage com os dados/mecanismos do dispositivo de informação móvel 4 02 para ser capaz de fornecer uma interface de usuário adaptiva (e também preferivelmente proativa), assim aumentando a facilidade e a eficiência com a qual o usuário 404 interage com o dispositivo de informação móvel 402. O sistema adaptável 400 destaca lógica 430, que funciona de maneira similar ao do módulo de aprendizagem descrito anteriormente, e que também opera de acordo com os algoritmos de AI e de aprendizado de máquina descrito anteriormente. A lógica 43 0 é capaz de se comunicar com a base de conhecimento 102 conforme descrito com relação â Figura 1 {componentes que destacam os mesmos números de referência ou têm funcionalidade idêntica ou similar, a menos que de outra forma declarado). O armazenamento de informação 432 inclui dados sobre as ações do dispositivo de informação móvel 402, informação do usuário e assim por diante, e preferivelmente suplementa os dados na base de conhecimento 102.
Preferivelmente, o sistema adaptável 400 é capaz de evolução, através de uma lógica de evolução 434, que poderá opcionalmente combinar a funcionalidade descrita anteriormente do módulo de evolução 314 e o MutateApp 302 da Figura 3. O sistema adaptável 400 é capaz de se comunicar diretamente com o usuário 404 através de texto e/ou linguagem audível, conforme suportados por um módulo de linguagem 436.
Particularmente conforme descrito com relação à versão da presente invenção no Exemplo 3 abaixo, mas também para o sistema adaptável 400, o usuário 404 poderá ser apresentado com um avatar (não mostrado) para a interface do usuário. Se presente, esse avatar poderá ser criado através de um modelo gráfico em 3DE 438 e um módulo de animação 440. O avatar poderá ser personalizado para o usuário 404, assim fornecendo uma experiência emocional aprimorada para o usuário 404 quando interagir com o dispositivo de informação móvel 402. A Figura 5A mostra um diagrama de blocos de um sistema de gerenciamento de aplicação exemplar 500, que é uma infra-estrutura cerne para suportar o sistema adaptável da presente invenção. 0 sistema 500 também poderá ser utilizado para suportar versões tais como uma aplicação de ensino, como descrita anteriormente e também conforme descrito em maiores detalhes abaixo. 0 sistema 500 destaca um gerente de aplicação 502 para gerenciar os diferentes tipos de aplicações que são parte do sistema adaptável de acordo com a presente invenção. 0 gerente de aplicação 502 comunica com uma interface de aplicação denominada BaseApp 504, que é implementada por todas as aplicações no sistema 500. Tanto o gerente de aplicação 502 como a BaseApp 504 comunicam eventos através de um EventHandler 506. O gerente de aplicação 502 é responsável por gerenciar e fornecer tempo de processamento para a execução das aplicações do sistema (aplicações que são parte do sistema 500) . O ciclo de vida de cada uma dessas aplicações é definido na BaseApp 504, que permite que o gerente de aplicação 502 dê partida, pause, reinicie e saia (pare) cada uma dessas aplicações. O gerente de aplicação 502 gerencia a execução do tempo de processamento através do método de etapa da interface da BaseApp 504. Deve-se observar que o método de etapa é utilizado ara a execução, pois o sistema 500 é chio de estados, tal que cada etapa preferivelmente corresponde (aproximadamente) a um ou mais estados. Entretanto, a execução também podería ter por base fios e/ou qualquer tipo de método de execução. 0 gerente de aplicação 502 recebe um evento de cronômetro do dispositivo de informação móvel. O dispositivo de informação móvel destaca um sistema operacional, tal que o evento de cronômetro é recebido da camada do sistema operacional. Quando o cronômetro é invocado, o gerente de aplicação 502 invoca a etapa da aplicação atual que está sendo executada. O gerente de aplicação 502 comuta de uma aplicação para outra aplicação quando o usuário ativa uma aplicação diferente, por exemplo, quando da utilização do sistema de menu.
Alguns exemplos não limitativos das aplicações do sistema são mostradas, incluindo, sem a elas se limitar, uma TeachingMachineApp 508, uma MutateApp 510, uma GeneStudioApp 514, uma TWizardApp 516, uma FloatingAgentApp 518, uma TCWorldApp 522, e uma HybridApp 520. Essas aplicações também são descritas em maior detalhe abaixo com relação ao Exemplo 3. A MutateApp 510 é invocada para controlar e/ou iniciar mutações no sistema adaptável, e/ou na aparência de um avatar que representa o sistema adaptável como uma interface de usuário. Como foi observado acima com relação ao Exemplo 1, o sistema adaptável da presente invenção pode mudar seu comportamento através de evolução dirigida ou semi-dirigida, por exemplo, através de algoritmos genéticos. A MutateApp 510 controla e/ou inicia essas mutações . A GeneStudioApp 514 permite ao usuário efetuar mutações dirigidas e/ou semi-dirigidas através de um ou mais comandos manuais. Por exemplo, o usuário poderá querer dirigir o sistema adaptável (através do sistema de gerenciamento de aplicação 500) a efetuar uma seqüência de tarefa particular quando do recebimento de uma entrada particular. Alternativamente, o usuário pode querer mudar diretamente parte da aparência de um avatar, se este estiver presente. De acordo com as versões preferidas da presente invenção, esses aspectos diferentes do sistema adaptável são implementados por "genes" distintos, que podem então ser alterados pelo usuário. A HybridApp 520 poderá ser invocada se o usuário deseja receber informação de uma fonte externa, como o sistema adaptável de outro dispositivo de informação móvel, e unir esta informação com a informação existente no dispositivo de informação móvel do usuário. Por exemplo, o usuário poderá desejar criar um avatar tendo uma aparência híbrida com o avatar de outro dispositivo de informação móvel. A HybridApp 520 também fornece o controle principal do usuário em todo o estado evolucionário inteiro do avatar. A HybridApp 520 poderá ser utilizada para instruir o usuário sobre as propriedades de "vida" do avatar, que poderão ter um nome, personalidade, comportamento e aparência. A TeachingMachineApp 508 é um exemplo ilustrativo e não limitativo de uma aplicação que poderá relacionar-se com o provimento de instrução na utilização do próprio dispositivo, mas fornece instrução em um assunto que não está relacionado com a operação direta do próprio dispositivo. Portanto, a TeachingMachineApp 508 representa um exemplo de uma aplicação que é fornecida no dispositivo de informação móvel para uma finalidade diferente do que a utilização do próprio dispositivo. A TXWorldApp 522 é uma aplicação que processa o agente inteligente, controlando tanto os aspectos inteligentes do agente como também a exibição gráfica da criatura ou do avatar. A TWizardApp 516 é outro tipo de aplicação que fornece informação ao usuário. Ela é descrita com relação à aplicação Start Wizard no Exemplo 4 abaixo. Sucintamente, esta aplicação contém as preferências do usuário e a configuração da estrutura de AI, como o caráter do agente inteligente, particularmente com relação ao sistema emocional, e também com relação à fixação de prioridades de metas. A FloatingAgentApp 518 controla a aparência da interface do usuário, particularmente com referência à aparência de um avatar (se este estiver presente). A FloatingAgentApp 518 permite que os aspectos de exibição visual da interface do usuário seja exibida independentemente da exibição do avatar, que poderá, portanto, parecer "flutuar" sobre a interface do usuário, por exemplo. A FloatingAgentApp 518 é a aplicação predefinida que está sendo operada quando nenhuma outra aplicação está processando. A Figura 5B mostra um diagrama de seqüência exemplar para as operações do gerente de aplicação de acordo com a presente invenção. Como é mostrado, a EventHandler 506 despacha uma notificação de um evento para o gerente de aplicação 502, como é mostrado na seta 1. Se o evento é um evento de cronógrafo, então o gerente de aplicação 502 invoca a etapa (ação) da aplicação relevante que jã fora invocada, como é mostrado na seta 1.1.1. Se o evento é iniciar a execução de uma aplicação, então o gerente de aplicação 502 invoca a aplicação relevante, como é mostrado na seta 1.2.1. Se uma aplicação processando atualmente é para ser pausada, então o gerente de aplicação 502 envia o comando de pausa para a aplicação, como é mostrado na seta 1.3.1. Se uma aplicação pausada anteriormente é para ser resumida, então o gerente de aplicação 502 envia o comando de resumir para a aplicação, como é mostrado na seta 1.4.1. De qualquer modo, a execução bem sucedida da etapa é retornada para o gerente de aplicação 502, como é mostrado pelas setas de retorno relevantes acima. 0 gerente de aplicação 502 então notifica o EventHandler 506 da execução bem sucedida, ou alternativamente do fracasso.
Essas diferentes aplicações são importantes para permitir que o sistema adaptável controle vários aspectos da operação do dispositivo de informação móvel. Entretanto, o sistema adaptável também precisa ser capaz de se comunicar diretamente com vários componentes do dispositivo de informação móvel, através do sistema operacional do dispositivo de informação móvel. Essa comunicação poderá ser efetuada através de um sistema de comunicação 600, mostrado com relação à Pigura 6, preferivelmente com os algoritmos de ação descritos abaixo.
As Figuras 6A e 6B mostram uma implementação exemplar da infra-estrutura necessária para o sistema adaptável de acordo cora a presente invenção efetuar uma ou mais ações através do sistema operacional do dispositivo de informação móvel, bem como um diagrama de seqüência para a operação do sistema de comunicação 800. De acordo com versões da presente invenção, esta infra-estrutura é um exemplo de um conceito mais geral de "embrulhos AI", ou a capacidade de "embrulhar" um sistema de UI (interface de usuário) existente com capacidades inovadores de AI e de aprendizado por máquina. O sistema de comunicação 600 é capaz de lidar com vários tipos de eventos, com um evento de classe base 602 que se comunica com a EventHandler 506 conforme descrito anteriormente. A EventDispatcher 604 então roteia o evento para o objeto correto dentro do sistema da presente invenção. O roteamento é determinado pelo registro do objeto com a EventDispatcher 604 para um evento particular. A EventDispatcher 604 preferivelmente gerencia o registro dos manuseadores que implementam a interface EventHandler 506 para tal notificação.
Eventos específicos para os quais manuseadores particulares são implementados incluem o manuseador de evento flippér 606 para os telefones celulares em que o dispositivo pode ser ativado ou uma chamada de entrada respondido ao abrir um "flipper"; quando o flipper é aberto ou fechado, este evento ocorre. Aplicações que são operadas de acordo com a presente invenção poderão enviar eventos umas as outras, que são manuseados por um manuseador InterAppEvent 608. Um evento relacionado à evolução (mudança) da criatura ou do avatar é manuseado por um manuseador EvolutionEvent 610. Uma chamada telefônica de entrada ou de saída e manuseada por um manuseador CallEvent 612, que, por sua vez, tem dois outros manuseadores, o manuseador CallStartedEvent 614 para iniciar uma chamada telefônica e um manuseador CallEndedEvent 616 para terminar uma chamada telefônica.
Um evento SMS (mensagem de entrada ou de saída) é manuseada por um manuseador SMSEvent 618. Parâmetros que poderão ser incluídos no evento compreendem parâmetros relacionados com a hibridização da criatura ou do avatar de um dispositivo de informação móvel com a criatura ou o avatar de outro dispositivo de informação móvel, como é descrito em maior detalhe abaixo.
Os eventos relacionados à operação das teclas são preferivelmente manuseados por um manuseador KeyEvent 620 e/ou um manuseador KeyCodeEvent. Por exemplo, se o usuário pressionar uma tecla no dispositivo de informação móvel, o manuseador KeyEvent 620 preferivelmente lida com este evento, que se relaciona com a informação de entrada para a operação do sistema de acordo com a presente invenção. No diagrama de seqüência, o evento chave é um objeto da classe KeyEvent, que representa o objeto da mensagem do evento chave. 0 manuseador KeyEvent 620 manuseia o próprio evento chave, enquanto o manuseador KeyCodeEvent 522 ouve por código de entrada (ambos os eventos de entrada são obtidos através de um gancho para dentro do sistema operacional). O manuseador BatteryEvent 624 manuseia os eventos relacionados com a batería, como a bateria baixa, ou alternativamente comutar de um modo de baixo consumo de energia para o modo de alto consumo de energia. 0 manuseador DayTimeEvent 626 relaciona-se a eventos diários de alarme, de calendário, ou de lembretes/compromissos. A Figura 6B é um diagrama de seqüência exemplar, que mostra como os eventos são manuseados entre o sistema operacional do dispositivo de informação móvel ou outra estrutura de controle e o sistema da presente invenção. Neste exemplo, o dispositivo de informação móvel tem um sistema operacional, embora um fluxo de operação similar poderia ser implementado para dispositivos que não possuem tal sistema operacional. Se presente, o sistema operacional lida com a entrada e a saída de/para o dispositivo, e gerencia o estado e os eventos que ocorrem para o dispositivo. 0 diagrama de seqüência na Figura 6B é uma abstração para facilitar o manuseio, e a relação, desses eventos. 0 módulo do sistema operacional (módulo OS) 628 causa ou relaciona-se a um evento; uma pluralidade de tais módulos poderá estar presente, mas apenas um é mostrado por razão de clareza e sem pretender ser límitativo de modo algum. O módulo do sistema operacional 628 é parte do sistema operacional do dispositivo de informação móvel. O módulo do sistema operacional 628 envia uma notificação de um evento, quer recebido ou criado pelo módulo do sistema operacional 628, a um gancho 630. 0 gancho 630 faz parte do sistema de acordo com a presente invenção, e é utilizado para permitir a comunicação entre o sistema operacional e o sistema de acordo com a presente invenção. O gancho 630 ouve os eventos relevantes do sistema operacional. 0 gancho 630 é capaz de interpretar o evento do sistema operacional, e de construir o evento em uma mensagem que é compreensível para o evento 602. 0 gancho 630 também despacha o evento para a EventDispatcher 604, que comunica com cada manuseador para o evento, mostrado como o EventHandler 506 (embora poderá haver uma pluralidade desses manuseadores). A EventDispatcher 604 então reporta para o gancho 630, que reporta para o módulo do sistema operacional 628 a respeito do manuseio do evento.
As Figuras 7A, 7B e 7C mostram eventos exemplares, e como eles são manuseados por interações entre o dispositivo de informação móvel (através do sistema operacional do dispositivo) e o sistema da presente invenção. Deve-se observar que alguns eventos poderão ser manuseados dentro do sistema da presente invenção, sem referência para o dispositivo de informação móvel. A Figura 7A mostra um diagrama de sequência de evento chave exemplar, descrito de acordo com o dispositivo de informação móvel que tem a infra-estrutura do sistema operacional DMSS da Qualcomm Inc., por sua plataforma móvel CDMA (acesso múltiplo de divisão por código) MSM (máquina de estado de mensagem). Este sistema operacional fornece serviços de sistema operacional como o serviço de interface do usuário, serviços de i/O e de entrada interativa pela utilização das teclas de telefone (teclado). Este exemplo mostra como um evento de entrada de uma tecla é gerado e manuseado pelo sistema da presente invenção. Outros eventos são enviados para o sistema de uma maneira quase idêntica, embora a função do gancho 630 altera de acordo com o módulo do sistema operacional que está enviando o evento; uma pluralidade desses ganchos está presente, tal que cada gancho tem uma função diferente com relação à interação com o sistema operacional.
Como é mostrado na Figura 7A, um módulo de evento UI 700 é um componente do sistema operacional e é periodicamente invocado. Quando uma tecla no dispositivo móvel é pressionada, a estrutura da interface do usuário (UI) que transfere informação para o módulo de evento UI 700 contém o valor da tecla. O gancho 630 então recebe o valor da tecla, identifica o evento como um evento de tecla (particularmente se o módulo do evento UI 700 despacha um evento global) e gera um evento de tecla 702. 0 evento de tecla 702 é então despachado para a EventDispatcher 604. O evento é então enviado para uma aplicação 704 que solicitou receber notificação de tal evento, preferivelmente através de um manuseador de evento (não mostrado) conforme descrito anteriormente. A notificação do sucesso (ou do fracasso) no manuseio do evento é então preferivelmente retornada para a EventDispatcher 604 e assim para o gancho 630 e o módulo do evento UI 700. A Figura 7B mostra um segundo exemplo ilustrativo de um diagrama de sequência para o manuseio de um evento; neste caso, o evento é passado do sistema da presente invenção para o sistema operacional, e está relacionado a desenhar na tela do dispositivo de informação móvel. A informação ê passada através do método de acesso à tela do sistema operacional em que a tela é (tipicamente) representada por uma memória provisória de quadro. A memória provisória de quadro é um segmento de memória que é copiado ao utilizar o acionador de tela (acionador para o hardware da tela) e exibida pela tela. O sistema da presente invenção produz a informação necessária para controlar o desenho na tela para o sistema operacional.
Passando agora para a Figura 7B, como é mostrado pela seta "1", o sistema operacional (através do módulo principal de atualização Scrn 710) primeiro atualiza a memória provisória de quadro para a tela. Esta atualização poderá envolver desenhar o segundo plano, por exemplo, que poderá ser exibido em toda parte da tela na qual dados não são desenhados pela informação fornecida pelo sistema da presente invenção. A presença desse segundo plano suporta a utilização de janelas semi-transparentes, que poderão ser utilizadas para a criatura ou agente conforme descrito em maior detalhe abaixo. 0 módulo principal de atualização Scrn 710 então envia uma solicitação por dados atualizados a um módulo de tela 712, que é parte do sistema da presente invenção e que destaca um gancho para comunicar com o sistema operacional. O módulo de tela 712 então envia uma solicitação a cada janela de aplicação, mostrado como a agentWindow 714, da qual uma pluralidade poderá estar presente, por informação atualizada sobre o que deve ser desenhado na tela. Se uma mudança ocorreu, tal que uma atualização é necessária, então a agentWindow 714 notifica o módulo de tela 712 que a atualização é necessária. O módulo de tela 712 então pede a localização e a dimensão da parte modificada, preferivelmente em duas solicitações separadas (mostradas como as setas 2.1.2.1 e 2.1.2.2, respectivamente), para as quais respostas são enviadas pela agentWindow 714. O módulo de tela 712 retorna a informação para o sistema operacional através do módulo principal de atualização Scrn 710 na forma de um retângulo atualizado, conforme segue. O módulo principal de atualização Scrn 710 responde à notificação sobre a presença de uma atualização ao copiar a memória provisória de quadro para uma pré-memória provisória (processo 4.1). O módulo de tela 712 então desenha as mudanças para cada janela dentro da prê-memória provisória, mostrada como a seta 3.2.1. A pré-memória provisória é então copiada para a memória provisória de quadro e de lã para a tela (seta 3.3). A Figura 7C mostra a arquitetura de classe para o sistema da presente invenção para desenhar na tela. O módulo de tela 712 e a agentWindow 714 são ambos mostrados. A classe agentWindow 714 também se comunica com três outras classes de janela que fornecem informação sobre as janelas de atualização (mudanças em): BackScreenWindow 716, BufferedWindow 718 e DirectAccessWindow 720. A BufferedWindow 718 tem duas outras classes de janelas com as quais ela se comunica: TransBufferedWindow 722 e PreBufferedWindow 724.
Seção 2: Sistema de Seleção de Ação Esta Seção descreve uma versão preferida de um sistema de seleção de ação de acordo com a presente invenção, incluindo, sem a ela se limitar, uma descrição da seleção de ação opcional de acordo com incentivos/desincentivos, e assim por diante. Para auxiliar na explicação de como as ações do agente inteligente são selecionadas, uma explicação inicial é fornecida com relação â estrutura do agente inteligente, e as interações do agente inteligente com o ambiente virtual que é fornecido pelo sistema da presente invenção. A Figura 8A descreve uma estrutura exemplar do agente inteligente e a Figura 8B incluí ura diagrama de sequência exemplar para a operação do agente inteligente, Como é mostrado com relação â Figura 8A, o agente inteligente 800 inclui uma pluralidade de classes. A classe principal é uma AlCreature 802, que inclui informação sobre o agente inteligente como seu estado, personalidade, metas, etc., e também informação sobre a aparência da criatura que representa visualmente o agente, como a localização, cor, se ele estã visível atualmente, e assim por diante. A AlCreature 802 comunica-se com World 804, que é a classe base para o ambiente virtual para o agente inteligente. A World 804, por sua vez, comunica-se com as classes que compreendem o ambiente virtual, das quais alguns exemplos não limitativos são mostrados. A World 804 preferivelmente comunica-se com várias instâncias de uma WorldObject 806, que representa um objeto que é encontrado no ambiente virtual e com o qual o agente inteligente poderá interagir. A World 804 gerencia esses objetos diferentes e também recebe informação a respeito de suas características, incluindo propriedades como a localização, e assim por diante. A World 804 também gerencia as propriedades do próprio ambiente virtual, como dimensão, visibilidade, e assim por diante. A representação visual da WorldObject 806 poderá utilizar gráficos bi- ou tridimensionais, ou uma mistura deles, e também poderá utilizar outras capacidades do dispositivo de informação móvel, como produção de som e assim por diante. A própria WorldObject 806 poderá representa um objeto que pertence a uma de várias classes. Esta abstração permite que diferentes classes de objetos sejam acrescentadas ou removidas do ambiente virtual. Por exemplo, o objeto poderá ser uma "bola", por exemplo, que poderá iniciar como parte de um menu e depois ser "removida" pela criatura para com ela jogar, como é representado pela MenuBallObject 808, A GoodAnimalObject 810 também se comunica com a WorldObject 806; por sua vez, classes como a FoodObject 812 (representando alimento para a criatura), a BadAnimalObject 814 (um animal que poderá incomodar a criatura e fazer com que elas briguem, por exemplo) e uma HouseObject 816 (uma casa para a criatura) preferivelmente comunicam-se com a GoodAnimalObject 810. A GoodAnimalObject 810 inclui a funcionalidade de ser capaz de desenhar objetos na tela e assim por diante, que é a razão para que outras classes e objetos preferivelmente se comuniquem com a GoodAnimalObject 810. Naturalmente, muitas outras classes e objetos são possíveis neste sistema, pois outros brinquedos poderão opcionalmente serem fornecidos pela criatura, por exemplo. A WorldObject 806 também poderá relacionar-se ao estado do agente inteligente, por exemplo, ao fornecer uma entrada graduada para o estado. Esta entrada é graduada no sentido de que ela fornece um incentivo para o agente inteligente ou um desincentivo para o agente inteligente; ela também poderá ter um efeito neutro. A agregação de uma pluralidade de tais entradas graduadas permite que o estado do agente inteligente seja determinado. Como foi descrito com relação ao diagrama de seqüência da Figura 8B, e também nos diagramas de estratégia de busca de gráfico e na estratégia de seleção de ação das Figuras 9A e 9B, respectivamente, as entradas graduadas são preferivelmente agregadas para maximizar a recompensa retornada ao agente inteligente pelo ambiente virtual.
Essas entradas graduadas também poderão incluir entrada do usuário na forma de estimular ou desestimular a retro-alimentação, de modo que o agente inteligente tem o incentivo ou o desincentivo, respectivamente, de continuar o comportamento para o qual a retro-alimentação foi fornecida. 0 cálculo do estado do mundo com relação à retro-alimentação do usuário ê fornecido conforme segue: Grau = (fator de ponderação*recompensa da retro-alimentação) +(( 1- fator de ponderação)*recompensa do mundo) Em que a recompensa da retro-alimentação resulta da retro-alimentação fornecida pelo usuário e a recompensa do mundo é a recompensa total agregada do ambiente virtual conforme descrito acima; o fator de ponderação é um valor entre 0 e 1, que indica o peso da retro-alimentação do usuário em oposição â retro-alimentação do mundo virtual (mundo).
Exemplos não limitativos dessa recompensa pela ação do agente incluem retro-alimentação positiva ou negativa sobre a sugestão do agente; provisão de um objeto do mundo como a bola ou alimento para o agente; duração da utilização do telefone; duração do ensino do usuário; e assemelhados. Cada um desses exemplos pode ser designado um escore predeterminado, e a ação do agente pode ser limitada ou expandida de acordo com um escore acumulado correspondente. Por exemplo, a retro-alimentação positiva e negativa fornecida pelo usuário poderá ser designada valores de pontos positivos e negativos, respectivamente; encontrar um inimigo ou um animal ruim: -20 pontos; obter um alimento, brinquedo ou objeto de casa: +5 pontos; alarme de batería baixa: -1 ponto; respostas correta e incorreta, quando o agente ensina o usuário: +1 ponto e -1 ponto, respectivamente; inatividade por 20 minutos: -1 ponto; discagem errada: -1 ponto; utilização do SMS: +1 ponto; e assemelhados. Os exemplos acima poderão ser aplicados de outras maneiras. A Figura 8B mostra um diagrama de sequência ilustrativo de um conjunto exemplar de interações entre o mundo virtual e o agente inteligente da presente invenção. A sequência tem início com uma solicitação de um módulo do mundo virtual 818 para a AlCreature 802 de uma atualização sobre a situação do agente inteligente. 0 módulo de mundo virtual 818 controla e gerencia o ambiente virtual inteiro, incluindo o próprio agente inteligente. 0 agente inteligente então considera uma ação a efetuar, como é mostrado pela seta 1.1.1. A ação é preferivelmente selecionada através de uma busca (seta 1.1.1.1) através de todos os objetos do mundo, e então recursivamente através de todas as ações para cada objeto, ao interagir com a World 804 e a WorldObject 8 06. A recompensa potencial para cada ação é avaliada (seta 1.1.1.1.1.1) e gradada (seta 1.1.1.1.1.1.2). A ação com a recompensa mais alta é selecionada. O grau geral para o agente inteligente é então determinado e a AlCreature 802 efetua a ação selecionada. A Virtual World 818 então atualiza a localização e a situação de todos os objetos no mundo, ao comunicar-se com a World 804 e com a WorldObject 806. A busca através de várias ações potenciais poderá opcionalmente ser efetuada de acordo com um ou mais de um número de métodos diferentes. As Figuras 9A e 9B mostram dois métodos exemplares para selecionar uma ação de acordo com a presente invenção. A Figura 9A mostra um método exemplar para a seleção da ação, aqui denominado de estratégia com base em regra para selecionar a ação. No estágio 1, a situação do ambiente virtual é determinada pelo estado World. Uma World Event ocorre, após o qual o State Handler que é apropriado para aquele evento é invocado no estágio 2. 0 State Handler preferivelmente consulta uma base de conhecimento no estágio 3. A base de conhecimento poderá ser dividida em seções separadas e/ou bases de conhecimentos separadas de acordo com o State Handler que foi invocado. No estágio 4, uma resposta é retornada ao State Handler.
No estágio 5, a validação com base em regra é efetuada, em que a resposta (e assim a ação sugerida que, por sua vez, traz o agente inteligente para um estado específico) é comparada contra as regras. Se a ação não é válida, então o processo retorna ao estágio 1. Se a ação é válida, então no estágio 6 a ação é gerada. A prioridade para a ação é então determinada no estágio 7; mais preferivelmente, a prioridade é determinada de acordo com uma pluralidade de entradas, incluindo, sem a elas se limitar, uma probabilidade de ação, uma utilidade da ação, e uma preferência do usuário. No estágio 8, a ação é colocada em uma fila para o gerente de ação. No estágio 9, o gerente de ação recupera a ação de prioridade mais alta, que é então efetuada pelo agente inteligente no estágio 10. A Figura 9B mostra um método de seleção de ação exemplar de acordo com uma estratégia de busca gráfica. Mais uma vez, no estágio 1 o processo tem início com a determinação do estado do mundo (ambiente virtual) , incluindo o estado do agente inteligente e dos objetos no mundo. No estágio 2, o agente inteligente é consultado. No estágio 3, o agente inteligente obtém um conjunto de ações legais (permitidas ou possíveis) para cada objeto do mundo; preferivelmente cada objeto do mundo é consultado como é mostrado. 0 método agora se ramifica em duas partes. Uma primeira parte, mostrada â direita, é efetuada para cada via de ação. No estágio 4, uma ação a ser efetuada ê simulada. No estágio 5, o efeito da simulação ê determinado para o mundo, e é preferivelmente determinado para cada objeto do mundo no estágio 6. No estágio 7, um grau é determinado para o efeito de cada ação.
No estágio 8, o estado dos objetos e assim do mundo ê determinado, como o é a recompensa acumulada geral de uma ação. No estágio 9, o efeito da ação é simulado no agente inteligente; preferivelmente o efeito entre o agente inteligente e cada objeto do mundo também é considerado no estágio 10.
Passando agora para o ramo esquerdo do método, no estágio 11, toda essa informação é preferivelmente utilizada para determinar a via de ação com a recompensa mais alta. No estágio 12, a ação é gerada. No estágio 13, a prioridade de ação é fixada, preferivelmente de acordo com o grau ou recompensa da ação. No estágio 14, a ação é colocada em uma fila no gerente de ação, como na Figura 9A. No estágio 15, a ação é considerada pelo gerente de ação de acordo com a prioridade; a ação de prioridade mais alta é selecionada, e é executada no estágio 16. A seguir, é fornecida uma descrição de um método e estrutura de execução de ação exemplar. A Figura 10 mostra um diagrama de seqüência de um método de execução de ação exemplar de acordo com a presente invenção. O manuseador 1000 envia uma meta para uma ação a um módulo de ação 1002 na seta 1, que destaca uma interface de ação de base. A interface de ação de base permite que o módulo de ação 1002 comunique com o manuseador 1000 e também com outros objetos no sistema, que são capazes de gerar e colocar ações para posterior execução pelo agente inteligente, aqui mostrado como uma FloatingAgentApp 1006. Essas ações são gerenciadas por um gerente de ação 1004. 0 gerente de ação 1004 possui duas filas que contém objetos de ação. Uma fila é a fila pronta para execução, enquanto a outra fila é a fila pendente para execução. Esta última fila poderá ser, por exemplo, utilizada se uma ação tiver sido gerada, mas o estado interno da ação está pendente de modo que a ação não está pronta para execução. Quando o estado de ação amadurece e está pronto para execução, a ação é preferivelmente deslocada para a fila pronta para execução. 0 gerente de aplicação 1008 interage com a FloatingAgentApp 1006 para executar a ação, como é mostrado na seta 2. A FloatingAgentApp 1006 então solicita a ação seguinte do gerente de ação 1004 (seta 2.1); a ação propriamente dita é fornecida pelo módulo de ação 1002 (seta 2.2.1). Ações são enfileiradas pelo manuseador 1000 para o gerente de ação 1004 (seta 3) . As metas (e assim pelo menos uma parte da prioridade) são fixadas para cada ação por comunicação entre o manuseador 1000 e o módulo de ação 1002 (seta 4) . As setas 5 e 6 mostra o método harakiriO descrito em maior detalhe abaixo.
Como foi descrito anteriormente, as ações são enfileiradas por ordem de prioridade. A prioridade ê determinada através de consulta à interface do módulo de ação 1002 pelo gerente de ação 1004. A prioridade da ação é determinada de acordo com um cálculo que inclui uma pluralidade de parâmetros. Por exemplo, os parâmetros poderão incluir a prioridade conforme derivada ou inferida pelo objeto gerado, mais preferivelmente com base na probabilidade predita quanto ao sucesso da ação; a prioridade persistente para este tipo de ação, que é determinada de acordo com a experiência anterior com este tipo de ação (por exemplo, de acordo com a aceitação pelo usuário e o sucesso da ação), e a prioridade da meta, que é determinada de acordo com as preferências do usuário.
Um cálculo opcional para gerenciar os parâmetros acima é o seguinte: P(todos) = P(probabilidade da ação)*((P(prioridade da persistência)+P(meta da ação)/10})/2) Complementarmente à execução da ação com base na prioridade, cada ação preferivelmente possui um período Time to Live (ttl); este valor ttl representa a quantidade do tempo de execução passado entre o tempo em que a ação foi colocada na fila pronta e o tempo de expiração desta ação. Se uma ação está pronta mas não recebe uma prioridade para execução até seu ttl haver expirado, o gerente de ação 1004 preferivelmente invoca o método harakiriO, que notifica a ação que ela não será executada. Cada invocação dessas do harakiri() preferivelmente diminui a prioridade da ação até ser atingido um limite. Após este limite haver sido atingido, a prioridade persistente começa a aumentar. Este modelo opera para lidar com ações que foram propostas ou executadas mas que fracassaram pois o usuário abortou a ação. A prioridade persistente diminui ao incorporar a experiência passada no cálculo da prioridade da ação.
Este método mostra como ações que foram sugeridas ou executadas se adaptam âs preferências implícitas do usuário específico em tempo real.
Este modelo não está completo sem o mecanismo de harakiriO pois se uma prioridade persistente da ação reduz, de modo que a ação não processa, ela precisa ter permissão quer para ser removida ou então possivelmente processada novamente, por exemplo, se as preferências do usuário mudarem. Após várias execuções do harakiriO, a ação poderá readquirir a prioridade para processar.
As Seções anteriores fornecem infra-estrutura, que permite que várias ações e mecanismos sejam efetuados através do sistema adaptável da presente invenção. Essas ações e mecanismos são descritos em maior detalhe abaixo. Seção 3: Sistema Emocional Esta Seção descreve uma versão preferida de um sistema emocional de acordo com a presente invenção, incluindo, sem a ele se limitar, a uma descrição de emoções específicas e a intensidade delas, que são combinadas para formar uma disposição de ânimo. 0 sistema emocional também pode incluir um mecanismo para permitir que as disposições de ânimo mudem bem como para controlar um ou mais aspectos de tal mudança, como a velocidade da mudança, por exemplo.
As Figuras 11A-11C destacam diagramas para descrever uma implementação exemplar e ilustrativa de um sistema emocional de acordo com a presente invenção. A Figura 11A mostra um diagrama de classe exemplar para o sistema emocional, enquanto as Figuras 11B e 11C mostram diagramas de sequência exemplares para a operação do sistema emocional de acordo com a presente invenção.
Como é mostrado com relação ao sistema emocional 1100 de acordo com a presente invenção, a classe de meta (meta 1102) representa uma meta abstrata do agente inteligente. A meta é algo que o agente inteligente efetua como uma ação a alcançar. A meta 1102 é responsável por criar emoções com base em certos eventos que estão relacionados ao estado da meta e suas chances de efetuação. A meta 1102 interage com a AlCreature 802 (descrita anteriormente com relação à Figura 8). Em resumo, o agente inteligente busca satisfazer metas, de modo que as interações entre a AlCreature 802 são obrigatórias para determinar se as metas foram ou não efetuadas, o que, por sua vez, criam um impacto no estado emocional do agente inteligente. O próprio estado emocional ê tratado pela classe EmotionalState 1104 que, por sua vez, é conectada â classe Emotion 1106. A Emotion 1106 é ela própria preferivelmente conectada a classes para emoções específicas como a classe ira AngerEmotion 1108 e a classe alegria JoyEmotíon 1110. A EmotionalState 1104 também é preferivelmente conectada a uma classe que determina o padrão do comportamento, a BehavioralPatternMapper 1112. A interface de usuário proativa cria emoções do agente através do sistema emocional guando a probabilidade do sucesso (LOS) da meta abstrata do agente inteligente aumenta ou diminui e quando a probabilidade de fracasso (LOF) da mesma aumenta ou diminui. Quando a LOS aumenta, então a emoção esperança é gerada. Quando a LOS diminui, a emoção desespero é gerada. Quando a LOF aumenta, a emoção medo é preferivelmente gerada, e quando LOF diminui, então a emoção alegria é gerada. O sucesso ou o fracasso de uma meta possui um efeito significativo no estado da meta e nas emoções geradas. Quando uma meta fracassa, desespero é gerado, e se a probabilidade de sucesso era alta, frustração também é gerada (pois a expectativa de sucesso era alta).
Quando uma meta tem sucesso, alegria é gerada, e se a expectativa e o sucesso acumulados eram altos, então orgulho é gerado. A Emotion 1106 é uma estrutura que tem duas propriedades, que são de tipos principal e secundário. 0 tipo principal descreve o grupo de alto nível ao qual a emoção secundaria pertence, preferivelmente POSITIVE_EMOTION e NEGATIVE_EMOTION'. Os tipos secundários preferivelmente incluem JOY, HOPE, GLOAT, PRIDE, LIKE, ANGER, HATE FEAR, FRUSTRATION DISTRESS, DISAPPOINTMENT. Outras propriedades da emoção são a intensidade dada quando gerada, e a política de decaimento (isto é, a velocidade de mudança da emoção). A fase seguinte após a geração da emoção é efetuada pela classe EmotionalState 1104 que acumula emoções que foram geradas no decorrer do tempo pelo agente inteligente.
Esta classe representa a coleção de instâncias de emoção que definem o estado emocional atual do agente inteligente. O estado emocional atual ê definido pela manutenção de uma hierarquia de tipos de emoção, que são então generalizados por agregação e correlação. Por exemplo, as emoções secundárias são agregadas em um escore para POSITIVE_EMOTXON e um escore para NEGATIVE__EMOTION; essas duas categorias são então correlacionadas para GOOD/BAD MOOD, que descreve a disposição de ânimo geral do agente inteligente. A classe EmotionalState 1104 é consultada pela aplicação flutuante do agente inteligente; sempre que o padrão comportamental dominante muda (por emoções geradas, decaídas e generalizadas no modelo descrito anteriormente), o agente inteligente expressa seu estado emocional e comporta-se de acordo com aquele padrão comportamental. O agente inteligente pode expressar seu estado emocional utilizando um ou mais do motor de comunicação de texto (descrito em maior detalhe abaixo), animação tridimensional, expressões faciais, efeitos animados bidimensionais, e sons. A Figura 11B é um diagrama de sequência exemplar para a geração de uma emoção pelo sistema emocional de acordo com a presente invenção. Como é mostrado, o gerente de aplicação 502 envia uma etapa para a FloatingAgentApp 1006 na seta 1. A FloatingAgentApp 1006 então determina a LOF (probabilidade de fracasso) ao consultar a classe de meta 1102 na seta 1.1. A meta 1002 então determina a LOF; se a nova LOF é maior que a LOF anteriormente determinada, medo e preferivelmente gerado por uma solicitação para a classe de emoção 1106 na seta 1.1.1.1. A emoção medo também é acrescentada ao estado emocional por comunicação com EmotionalState 1104 na seta 1.1.1.2. A seguir, o gerente de aplicação 502 envia outra etapa (seta 2) para a FloatingAgentApp 1006, que determina a LOS (probabilidade de sucesso) ao mais uma vez consultar a meta 1102 na seta 2.1. A meta 1102 então determina a LOS; se a nova LOS é maior que a LOS anteriormente determinada, esperança é preferivelmente gerada por uma solicitação para a classe de emoção 1106 na seta 2.1.1.1. A emoção esperança também é acrescentada ao estado emocional por comunicação com EmotionalState 1104 na seta 2.1.1.2. A seta 3 mostra o gerente de aplicação 502 ao enviar outra etapa para a FloatingAgentApp 1006, que solicita a determinação da emoção de acordo com o resultado efetivo de uma ação. Se a ação fracassou e o último LOS era maior que algum fator, como 0,5, que indicou que o sucesso era esperado, então a FloatingAgentApp 1006 faz com que a Meta 1102 tenha desespero gerado pela Emotion 1106 na seta 3.1.1.1. A emoção desespero também é acrescentada ao estado emocional por comunicação com EmotionalState 1104 na seta 3.1.1.2. Outrossim, se a ação fracassou (independentemente da expectativa de sucesso), desespero é gerado pela Emotion 1006 na seta 3.1.2. A emoção desespero também é acrescentada ao estado emocional por comunicação com EmotionalState 1104 na seta 3.1.3. A seguir, o gerente de aplicação 502 envia outra etapa (seta 4) para a FloatingAgentApp 1006, que atualiza as emoções com base no sucesso efetivo ao enviar uma mensagem para a meta 1102 na seta 4.1. A meta 1102 então faz com que alegria seja preferivelmente gerada por uma solicitação para a classe de emoção 1106 na seta 4.1.1. A emoção alegria também ê acrescentada ao estado emocional por comunicação com EmotionalState 1104 na seta 4.1.2.
Se o sucesso efetivo é maior do que o previsto, então a meta 1102 preferivelmente faz com que orgulho seja gerado por uma solicitação à classe emoção 1106 na seta 4.1.3.1. A emoção orgulho também é acrescentada ao estado emocional por comunicação com EmotionalState 1104 na seta 4.1.3.2. A Figura 11C é um diagrama de seqüência exemplar para expressar uma emoção pelo sistema emocional de acordo com a presente invenção Tal expressão é governada pelas preferências do usuário. 0 gerente de aplicação 502 inicia a expressão emocional ao enviar uma etapa (seta 1) para a FloatingAgentApp 1006 que consulta o bp_mapper 1108 quanto ao padrão comportamental do agente inteligente na seta 1.1. Se o comportamento dominante mudou, então a FloatingAgentApp 1006 envia uma solicitação ao bp_display 1110 para fixar o padrão comportamental (seta 1.2.1.). A bp_display 1110 controla a exibição efetiva da emoção. A FloatingAgentApp 1006 então solicita que uma ação seja enfileirada em uma mensagem para o gerente de ação 1004 (seta 1.2.2.) . 0 gerente de aplicação 502 envia outra etapa (seta 2) para a FloatingAgentApp 1006, que solicita que a ação seja removida da fila (seta 2.1.) para o gerente de ação 1004, e que a ação seja efetuada pela bp__display 1110. A tabela seguinte mostra um exemplo não limitativo da definição de ações que podem ser tomadas pelo agente de acordo com os níveis de pontos de recompensa obtidos pelo agente.
[Tabela 1] Nível Ações básicas Ações especiais 5 (alto) sentar Io tipo: dançar, correr; 2° ____________________ dormir tipo: saltar; 2 o tipo: voar 4 cheirar 2° tipo: dançar, correr, ____________________ latir saltar, voar 3 estar triste 2° tipo: feliz, pensar, estar feliz correr, saltar 2 pensar, Io tipo: esperar; 2o tipo: ira; 2° tipo: esperar 1 (baixo) 2° tipo: triste, pensar, ira; 2} tipo: esperar Neste exemplo, o agente pode efetuar as ações básicas como sentar, dormir, cheirar, latir, estar triste, e estar feliz, independentemente dos pontos de recompensa obtidos pelo agente. 0 nível do agente aumenta por um nível com o aumento dos pontos de recompensa por +200 pontos, enquanto ele diminui por um nível quando os pontos de recompensa diminuem por +200 pontos (isto é, o aumento por -200 pontos de recompensa). Um número diferente de pontos de recompensa poderá ser fixado como a base para a mudança de nível. No caso do nível básico do agente ser fixado para o terceiro nível, o agente pode tomar as ações básicas e ações especiais adicionais correspondentes ao terceiro nível, como feliz de 2o tipo, pensar, correr e saltar, como é mostrado na Tabela 1. Neste caso, se o agente obtém +200 pontos de recompensa, o nível do agente torna-se o quarto nível, de modo que o agente pode tomar as ações básicas e as ações especiais adicionais correspondentes ao quarto nível, como as de 2o tipo dançar, correr, saltar, e voar. 0 sistema de seleção de ação descrito acima determina qual ação deve ser tomada dentre as ações disponíveis em cada nível, enquanto o sistema emocional controla as expressões emocionais correspondentes respectivamente às ações. Além dessas ações e expressões emocionais, o agente efetua uma expressão emocional com base na comunicação seguinte com o usuário.
Seção 4: Comunicação com o Usuário Esta Seção descreve uma versão preferida de um sistema de comunicação para a comunicação com o usuário de acordo com a presente invenção, incluindo, sem a ele se limitar, a comunicação textual, a comunicação por áudio, e a comunicação gráfica. Para a finalidade apenas de descrição e sem qualquer pretensão de ser limitativa, a comunicação textual é descrita como um exemplo daqueles tipos de comunicação. A comunicação com o usuário descrita nesta seção pode ser utilizada (sem a ela se limitar) para as sugestões do agente, o provimento da informação do usuário, ou as expressões emocionais do agente. A Figura 12A é um diagrama de sequência exemplar para a comunicação textual de acordo com a presente invenção. Um motor de texto 12 00 é responsável por gerar texto que é relevante a um certo evento e que pode ser comunicado pelo agente inteligente. O motor de texto 1200 inclui a geração por linguagem natural de frases ou de frases curtas de acordo com gabaritos que são predefinidos e contêm detentores de lugar para os enchimentos. A combinação dos gabaritos e dos preenchimentos juntos permite ao motor de texto 12 00 gerar um grande número de frases, que são relevantes para o evento ao qual o gabarito pertence.
Esta estrutura pode ser extensível para muitos eventos ou assuntos novos e/ou em mutação pois gabaritos adicionais também podem ser acrescentados, como podem preenchimentos adicionais.
Como é mostrado na Figura 12A, a FloatingAgentApp 1006 comunica-se com o motor de texto 1200 ao primeiro enviar uma solicitação para gerar texto, preferivelmente para um evento particular (seta 1). 0 motor de texto 1200 seleciona um gabarito, preferivelmente de uma pluralidade de gabaritos que são adequados para este evento (seta 1.1). O motor de texto 1200 também seleciona um preenchimento para o gabarito, preferivelmente de uma pluralidade de preenchimentos que são adequados para este evento (seta 1.2.1). O gabarito preenchido é então retornado à FloatingAgentApp 1006. O seguinte fornece um exemplo da geração de texto para um evento de mudança de disposição de ânimo, que é que o agente inteligente está agora feliz, com alguns gabaritos e preenchimentos exemplares e não limitativos. Exemplos dos gabaritos são conforme segue: Gabarito feliz 1: "%nounl is %happy_adj2" Gabarito feliz 2: "%self f pronoun%happy_adj1" Exemplos dos preenchimentos são os seguintes: %nounl= {"o mundo","tudo","vida"m"este dia","o espírito"} %happy_adj1={"feliz","alegre",""satisfeito","prazer"," animado","em alto astral","ditoso","exultante","deleitado", "animado","jovial","nas nuvens"} %happy_adj2= {"bom","belo","grande","feliz","alegre", "bom","divertido"} %self_f_pronoun={Estou","Estou","seu agente inteligente","seu amigo agente"} Exemplos de algumas frases de comunicação por texto resultantes das combinações de gabaritos e de preenchimentos, conforme segue: Estou animado o espírito está alegre estou exultante a vida é bela a vida é boa estou satisfeito estou jovial estou alegre o mundo está alegre estou satisfeito o espírito é alegre o espírito está feliz o mundo é bom estou feliz Como outro exemplo não límítatívo, um gabarito de chamada faltante podería ser construído conforme segue: %usuário deixou de receber uma chamada de%deixado%reação Neste exemplo, o nome do usuário é utilizado para %user; o nome ou outro identificador (como o número de telefone, por exemplo) é entrado em %missed; %reaction é opcional e é utilizado para a reação do agente inteligente, como expressar desapontamento, por exemplo (por exemplo, "estou triste").
Como é mostrado por estes exemplos, o motor de texto 1200 pode gerar frases relevantes para muitos eventos, de eventos de chamadas não recebidas para eventos de batería baixa, tornando a interação do usuário com o dispositivo de informação móvel mais rica e mais compreensível. A Figura 12B mostra um exemplo não limitativo de uma expressão emocional "Estou feliz" que o agente efetua em um telefone móvel.
EXEMPLO 3: SISTEMA DE EVOLUÇÃO PARA O AGENTE INTELIGENTE
Este exemplo descreve uma versão preferida de um sistema de evolução de acordo com a presente invenção, incluindo, sem a ela se limitar, uma descrição do DNA (Ácido Deoxiribonuclêico) para a criatura ou o avatar de acordo com uma versão preferida da presente invenção, e também uma descrição de um estúdio de gene opcional de acordo com a presente invenção. O sistema de evolução permite que a criatura ou o avatar "evolua", isto é, altere pelo menos um aspecto do comportamento e/ou da aparência da criatura. Este exemplo é descrito como sendo operativo com o agente inteligente descrito no Exemplo 2, mas esta descrição é para a finalidade apenas de ilustração e não pretende ser, de qualquer modo, limitativa. Em outras palavras, o sistema de evolução para o agente inteligente descrito neste exemplo poderá ser utilizado (mas não necessariamente) em conjunto com o módulo de aprendizagem e o sistema de seleção de ação descritos acima, assim tornando possível implementar um sistema que pode determinar as preferências do usuário e evoluir ativamente sem solicitar o comportamento do usuário. A evolução (mudança) do agente inteligente está aqui descrita com relação tanto as características tangíveis do agente, que são exibidas pelo avatar ou a criatura, e características não tangíveis do agente, que afetam o comportamento do avatar ou da criatura. A Figura 13A mostra um diagrama de classe de evolução exemplar 1800. O modelo genérico descrito no diagrama de classe permite que várias propriedades do agente inteligente sejam mudadas, incluindo propriedades visuais bem como funcionais. O modelo inclui uma classe CreatureDNA 1802 que representa a estrutura de DNA. A estrutura de DNA é um vetor de genes disponíveis e pode preferivelmente ser ampliada para incorporar novos genes. O gene é um parâmetro com uma faixa de valores possíveis (isto é, genótipo). 0 gene é interpretado pelo sistema de acordo com a presente invenção tal que a expressão dos dados no gene é seu genótipo. Por exemplo, o gene de cabeça está localizado como o primeiro gene no DNA, e seu valor é expresso como a estrutura visual da cabeça da criatura, embora preferivelmente a cor da cabeça seja codificada em outro gene.
Para evoluir o agente inteligente para atingir uma instância de DNA específica que agrada ao usuário, o modelo genético de acordo com a presente invenção implementa operações genéticas híbridas e de mutação que modificam o DNA. A classe CreatureProxy 1804 é responsável por fornecer uma interface ao DNA e às operações genéticas para as classes do sistema. CreatureProxy 1804 mantém outra informação não genética a respeito do agente inteligente (isto é, nome, data de nascimento, e assim por diante). A classe EvolutionMGR 1806 gerencia as evoluções do agente inteligente e fornece uma interface para a CreatureProxy 1804 do agente inteligente e suas operações genéticas para aplicações. A classe EvolutionEngine 1808 ouve os eventos de evolução que poderão ser gerados de tempos em tempos, para indicar que uma certa operação genética deve ser invocada e efetuada no DNA do agente inteligente. A estrutura do DNA é dada abaixo, A CreatureDNA 1802 preferivelmente ouve a esses eventos de evolução do EvolutionEvent 1810. O que segue é um algoritmo que define uma estrutura de DNA exemplar. Estrutura de DNA #ifndef CREATÜRE_DNA__ #define__CREATURE_DNA__ #include "CreatureDefs.h" #include "CommSerializable.h" #define GENE_COUNT 19 #define BASE_COLOR_GENE 8 typedef struct internai 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 efficiency; unsigned char Interactive; unsigned char base color; } internal_dna; typedef internal_dna_p_internalDna; /** * This class represents the Creature DNA structure. * The DNA holds all the data about the Creature body parts and some * personality and functional qualities */ class CreatureDNA /*: public CommSerializable*/ { public: static const int gene count; j * * * default constructor, DNA is initialized to zero • */ CreatureDNA (); /* • copy constructor • ©param other - the DNA to copy */ CreatureDNA(const CreatureDNA &OTHER); /** • Initialization function, should be called if the constructor was not • called. */ void init () ; /* * * Ramdomizes the DNA data * */ void ramdomizeDna(); j * * • The DNA actual data */ union { internai dna genes; unsigned char data[GENE_COUNT]; } i /* * * Range of gender gene */ static const int GENDERJRANGE; j * * • Range of type gene V static const int TYPE_RANGE; y* * * Range of color gene V static const int COLOR_RANGE; y * * * Range of scale gene */ static const int SCALE_RANGE; y* * * Range of character genes */ static const int CHARECTER_RANGE; static const int BASE__COLOR_RANGE; private: ^ ir •k * Location of scale gene in the type,color, scale triplet V static const int SCALE_LOCATION; }; #endi f /*_CREATURE_DNA__*/ A construção do DMA do agente inteligente é preferivelmente efetuada conforme segue. Quando do fornecimento de uma versão de um telefone móvel "vivo", o DNA é preferivelmente composto de um Gene para cada Bloco de Construção do agente inteligente. 0 bloco de construção pode ser uma parte visual do agentge, preferivelmente incluindo cor ou escala (dimensão do bloco de construção) , e também pode incluir uma propriedade não visual que se relaciona à funcionalidade e ao comportamento do agente inteligente. Este modelo de composição de DNA pode ser ampliado à medida que mais blocos de construção podem ser acrescentados e os níveis de expressão de cada bloco de construção pode aumentar. A construção de um agente inteligente da estrutura de DNA é efetuada com relação a cada gene e ao seu valor. Cada valor (nível de expressão) de gene (bloco de construção) descreve um genótipo diferente expresso no agente composto. Os blocos de construção básicos do agente visual são modelados como protótipos, assim a quantidade de protótipos dita a faixa de cada gene visual. Também é possível gerar em valores de tempo de processamento de genes expressos que não dependem de protótipos, por exemplo, os níveis de expressão do gene de cor podem ser calculados como índices na tabela de cores de plataforma hospedeira, ou a escala também pode ser calculada com relação à dimensão da tela do hospedeiro, para obter genótipos que são independentes dos protótipos predefinidos. Os modelos de protótipos são decompostos e então um agente não protótipo é recomposto de acordo com os valores de gene de cada bloco de construção. O exemplo seguinte fornece uma explicação ilustrativa não limitativa deste processo. Por simplicidade e clareza, cor e escala, e outros genes não visuais, não são incluídos, mas o mesmo processo também se aplica a estes genes.
Sem levar em consideração o gene de gênero, uma versão do DNA de 16 protótipos e de 5 blocos de construção poderá ser opcionalmente dada conforme segue: DKfA0= { [head, 0:15] , [body, 0:15] , [legs ,0:15] , [hands, 0:15 ] , [tail, 0 :15] } Cada um dos cinco blocos de construção tem 16 genótipos possíveis diferentes de acordo com os valores de gene do bloco de construção que são derivados do número de modelos de protótipos. Quando da composição do agente inteligente, o bloco de construção direito é tomado de acordo com o valor daquele bloco de construção no DNA, que é o valor se seu gene respectivo.
Por exemplo, uma instância específica do esquema de DNA descrito acima pode ser: DNA={ [3] , [5] , [10] , [13] ,90] } A variedade de possíveis composições de agente inteligente nesta versão simples de DNA é: V0=[16)*(16)*(16)* (16)* (16) = (16)ζ=1048 576 Se um gene de cor base para descrever a cor geral do agente inteligente (isto é, verde, azul, e assim por diante) é acrescentado, com nível de expressão de 16 possíveis cores base, a variedade seguinte ê obtida: DNAi={ [head,Ο : 15] , [body,0:15], [legs,0:15], [hands,O:15], [tail,0:15], [bs_color,0:15] } A variedade então torna-se: V'1=V0*16= (16) s=16777216 Se um gene de intensidade para o gene de cor base (isto é, de cor clara para cor escura) é acrescentado a esta versão de DNA, com um nível de expressão de possíveis 16 intensidades da cor base, a variedade seguinte é preferivelmente obtida: DNA2 = {[head,0:15]* [body,0,15], [legs,0:15] , [hands,0:15], [tail,0:15], [bs_color,0:15], [intensity,0:15]} O cálculo de variedade : V2=Vi*16=(16)7=268435456 A presente invenção pode expressar uma variedade de tipos de combinações de agente conforme descrito acima sem armazenar a informação de cada um dos tipos de combinações completado. De acordo com a presente invenção, apenas tanto com a informação dos blocos de construção dos tipos de combinação e a informação de um método para combinar os blocos de construção é possível fazer uma variedade de tipos de combinação de agente conforme descrito acima. Assim, no caso de o agente ser utilizado com um dispositivo de computação portátil, é possível para cada um dos usuários do dispositivo de computação manter um tipo substancialmente singular de agente, graças a diversidade nos métodos de combinação.
Por outro lado, de acordo com outra versão, a versão de 16 protótipos e de 5 blocos de construção do DNA acima poderá opcionalmente ser dado conforme segue: DNA0= { [heado, Ο : 15] , [body0, Ο : 15] , [legs0, Ο : 15] , [handso, Ο : 15] , [tail0, O:15] , quando 0<Tg<Tth, e DNAX= { [headi,0:15] , [bodyi, 0 :15] , [legslf 0 :15] , [handsi, O : 15] , [taili, 0 :15] , quando <Tg>Tth, (em que "Tg" denota um tempo de crescimento do agente e "Tth" denota um tempo limite).
Neste exemplo, o tempo limite Tth é fixado em 2 semanas, mas também poderá ser fixado de modo diferente. O tempo de crescimento Tg do agente indica um período de tempo de quando o usuário do dispositivo de computação refixa o agente ou começa a utilizar o agente pela primeira vez, ao tempo atual. Neste caso, um traço expresso pelo DNA0 poderá ser selecionado de uma combinação de primeiros blocos de construção se o tempo de crescimento do agente é inferior a 2 semanas, enquanto o traço expresso pelo DNAX poderá ser selecionado de uma combinação de segundos blocos de construção se o tempo de crescimento é de 2 semanas ou mais. Se a primeira combinação de blocos de construção é fixada para representar a aparência de um agente mais jovem, e a segunda combinação de blocos de construção é fixada para representar a aparência de um agente mais crescido, é possível implementar a aparência de um agente com os mesmos genes que automaticamente cresce à medida que o tempo passa. Após o usuário iniciar a utilizar o agente pela primeira vez, o crescimento do agente ocorre apenas com o decorrer do tempo. No caso de dois tempos limite serem fixados, o crescimento do agente é composto de três etapas. Também é possível fixar mais de dois tempos limite.
Uma variedade de operações genéticas poderá ser efetuada no DNA, conforme descrito com relação às Figuras 13Β e 13C, que mostram um diagrama de seqüência de mutação e um diagrama de seqüência de hibridização, respectivamente.
Como é mostrado na Figura 13B, a operação de mutação básica seleciona aleatoriamente um gene do conjunto de genes que podem ser inutacionados, que poderá ser o DNA inteiro, e então muda o valor do gene selecionado dentro da faixa possível daquele gene (níveis de expressão). A operação básica pode ser efetuada numerosas vezes.
Uma aplicação de mutação 1812 envia uma solicitação para a EvolutionMGR 1806 (seta 1.1) para criar um mutante. A classe EvolutionMGR 1806 passa esta solicitação para a CreatureProxy 1804, para um número de mutantes (este valor poderá ser dado na chamada de função; seta 1.1.1). Para cada um desses mutantes, a CreatureProxy 1804 preferivelmente seleciona um gene aleatório (seta 1.1.1.1.1) e o modifica para um valor que ainda está dentro da faixa do gene (seta 1.1.1.1.2). Os mutantes são então retornados para a aplicação de mutação 1812, e são preferivelmente exibidos ao usuário, como é descrito em maior detalhe abaixo com relação ao Exemplo 4.
Se o usuário aprova de um mutante, então a aplicação de mutação 1812 envia um comando para substituir a implementação existente do agente por um novo mutante (seta 2.1) para a EvolutionMGR 1806. A EvolutionMGR 1806 então fixa o DMA para a criatura na CreatureProxy 1804 (seta 2.1.1) , que preferivelmente então atualiza o histórico do agente na agent_history 1814 (seta 2.1.1.1). A Figura 13C mostra um diagrama de seqüência exemplar para a operação híbrida básica (ou operação de cruzamento), que ocorre quando duas DNAs candidatas estão alinhadas uma com a outra. Os DNAs de ambos os candidatos poderão ser obtidos do sistema de agente inteligente. Um dos DNAs dos dois candidatos também poderá ser obtido de um sistema de agente inteligente para outro dispositivo de informação móvel. Por exemplo, no caso de um agente inteligente para um dispositivo de informação móvel em rede no Exemplo 5 descrito abaixo, um dos dois DNAs candidatos poderá ser obtido de um agente inteligente para um segundo dispositivo de informação móvel de um segundo usuário através do serviço de mensagem curta (SMS).
Levando em consideração o gene de gênero, a DNA acima poderá ser representada conforme segue: DNA0={ [gênero, 0:1], [head,0:15], [body,0:15], [legs,0:15], [hands,0:15], [tail,0:15]} O gene de gênero determina se a operação híbrida é permitida. Preferivelmente, a operação híbrida é permitida apenas entre genes de gênero diferentes. Entretanto, se o gene do gênero não é levado em consideração, a operação híbrida poderá ser permitida em qualquer caso. Para a operação híbrida, um ou mais pontos de cruzamento localizados no vetor do DNA são preferivelmente selecionados {o número dos pontos de cruzamento pode variar de 1 ao número de genes na DNA; este número poderá ser aleatoriamente selecionado). A operação de selecionar os pontos de cruzamento é denominada get_cut_index. Em cada ponto de cruzamento, o valor para a DNA é selecionado de um dos valores de DNA existentes. Isto poderá ser efetuado aleatoriamente ou de acordo com uma contagem denominada de índice de corte. A operação híbrida de gene de gênero é efetuada com a seleção de um dos dois genes correspondentes. 0 resultado é uma mistura entre as duas DNAs candidatas. A operação híbrida básica pode ser efetuada numerosas vezes com numerosos candidatos.
Como é mostrado, a HybridApp 1816 envia um comando para a EvolutionMGR 1806 para iniciar o processo de hibridização. O processo é opcionalmente efetuado até o usuário aprovar do agente híbrido ou abortar o processo. A EvolutionMGR 1806 inicia a hibridização ao enviar um comando para obter DNA alvo (seta 2.1.1) da CreatureProxy 1804, com um número de cruzamentos (hibridizaçoes) a serem efetuadas. Como é mostrado, um cutting_index é mantido para indicar quando fazer o cruzamento entre os valores das duas DNAs. 0 agente híbrido é retornado, e se o usuário aprova, então o agente atual é substituído pelo agente híbrido, conforme descrito acima com relação ao processo mutante. No fim, o histórico do agente na agent_history 1814 é atualizado. A hibridização poderá ser efetuada com a DNA do agente que é enviado de uma fonte externa ao dispositivo de informação móvel, por exemplo, em uma mensagem SMS, através de infravermelho, BlueTooth ou a Internet, ou qualquer outra fonte. Para o fim de descrição apenas e sem qualquer intenção de ser limitativo, este processo é ilustrado com relação ao recebimento desse DNA híbrida através de uma mensagem SMS. A mensagem SMS preferivelmente contém os dados para a DNA em um tipo MIME. Mais, o sistema da presente invenção tem um gancho para este tipo MIME, de modo que este tipo de mensagem SMS é automaticamente analisado para a hibridização sem exigir a intervenção manual pelo usuário. A Figura 14 mostra um diagrama de sequência exemplar de tal processo. Como é mostrado, o Usuário 1 envia uma solicitação para hibridizar o agente inteligente do Usuário 1 com aquele do Usuário 2 através de um Aparelho de Mão 1. 0 Usuário 2 pode opcionalmente aprovar ou rejeitar a solicitação através do Aparelho de Mão 2. Se o Usuário 2 aprova, a operação híbrida é efetuada entre a DNA de ambos os agentes no Aparelho de Mão 1. 0 resultado é exibido para a parte solicitante (Usuário 1) , que poderá gravar este híbrido como substituição para o agente atual. Se o híbrido é utilizado como a substituição, então o Usuário 2 recebe um aviso e grava para o híbrido os resultados da coleção no Aparelho de Mão 2.
EXEMPLO 4: INTERAÇÕES DO USUÁRIO COM A PRESENTE INVENÇÃO
Este Exemplo é descrito com relação a uma pluralidade de capturas de tela representativas, não limitativas e ilustrativas, para fornecer uma versão opcional mas preferida do sistema da presente invenção quando ele interage com o usuário. A Figura 15 mostra uma captura de tela exemplar do "agente flutuante", que é a criatura ou o avatar (expressão visual do agente inteligente). A Figura 16 mostra uma captura de tela exemplar de um menu para selecionar objetos para o mundo virtual do agente inteligente. A Figura 17A mostra a aplicação Start Wisard, que permite ao usuário configurar e modificar os parâmetros do agente, bem como as preferências do usuário.
As Figuras 17B-17F mostram capturas de tela exemplares de um modo de fixação inicial para o agente após o Start Wizard é ativado, em que a Figura 17B mostra uma captura de tela de um modo de fixação para selecionar o tipo de agente; a Figura 17C para selecionar uma cor do mesmo; a Figura 17D para selecionar um nome do mesmo; a Figura 17E para selecionar uma personalidade do mesmo; e a Figura 17F para indicar o término da fixação do agente.
Um exemplo de uma ação a ser efetuada com o Wizard é Fixar Personalidade, para determinar parâmetros para o sistema emocional do agente inteligente. Aqui, o usuário pode configurar a personalidade e as tendências da criatura. O usuário pode determinar os parâmetros da criatura ao pressionar a tecla seta direita para aumentar o nível da característica e para fazer o oposto e diminuir o nível das várias características como Entusiasmo, Sociabilidade, Comportamento Anti-Social, gênio {nível de paciência), Melancolia, comportamento egoísta, e assim por diante. 0 usuário também é capaz de fixar as Preferências do Usuário, por exemplo, para determinar com que rapidez receber ajuda. Alguns outros exemplos não limitativos dessas preferências incluem: comunicação (grau em que o agente se comunica); entreter o usuário (controla o agente brincar com o usuário); entreter a si próprio (controla o agente jogar sozinho); preservar batería (amplia a vida útil da bateria); e nível de transparência (o nível de transparência da criatura). 0 usuário também fixa User Details com o Start Wizard, incluindo, sem a eles se limitar, nome do usuário, data do nascimento (de acordo com uma versão opcional da presente invenção, este valor é importante no SMS Híbrido pois ele definirá a possibilidade de "koghup" entre usuários, que é a capacidade de criar um híbrido com um padrão astrológico favorável; a opção kinghup é construída de acordo com tabelas adequadas de horóscopos e de datas), e gênero. Aqui, o "konghup" (também denominado "goong-hap") é uma palavra coreana utilizada para descrever a harmonia conjugal conforme prevista por uma vidente, e a possibilidade de konghup pode ser definida como a possibilidade de um padrão astrológico favorável para o relacionamento inter-pessoal. O usuário também pode preferivelmente fixar Creature Details. A Figura 18 mostra um menu exemplar para efetuar a hibridização através da aplicação híbrida, conforme descrito anteriormente. A Figura 19A mostra uma captura de tela exemplar para visualizar uma nova criatura e gerar novamente, ao pressionar o botão Generate, que permite ao usuário gerar uma criatura aleatoriamente. A Figura 19B mostra a criatura resultante em uma captura de tela com o botão Hybrid: pressionar este botão confirma a seleção da criatura do usuário e passa para a janela de visão da criatura. A janela de visão permite ao usuário ver a criatura recém gerada em três dimensões, e opcionalmente animar a criatura ao utilizar as opções seguintes: 1. Tecla UP de navegação: Aproximar e minimizar o tamanho da criatura. 2. Tecla DOWN de navegação: Distanciar e maximizar o tamanho da criatura. 3. Tecla LEFT de navegação: Comutar entre os botões "Ok" e "Back". 4. Tecla RIGHT de navegação: Comutar entre os botões "Ok1' e "Back". 5. Tecla Ok (OK): Confirmar a seleção. 6. Tecla Clear (CLR): Sair da janela de visualização ■ da criatura para o Menu Living Mobile. 7. Tecla End: Sair da janela de visualização da criatura para o menu principal. 8. Tecla '0' : Operação de iluminação e de sombreamento na criatura. 9. Tecla 111 : Circundar a criatura para a esquerda com a direção do relógio. 10. Tecla '2': Circundar a criatura no 3D. 11. Tecla '3': Circundar a criatura para a direita contra a direção do relógio. 12. Tecla '5': Circundar a criatura no 3D. 13. Tecla '6': Animar a criatura de muitas maneiras.
Cada novo pressionamento nesta tecla muda o tipo de animação.
As animações que a criatura pode efetuar incluem, sem a elas se limitar, andar, sentar, cheirar, voar, e pular. A Figura 20 mostra uma captura de tela exemplar do histórico do híbrido, que permite ao usuário rever e explorar o histórico das mudanças da criatura nas gerações. O usuário pode ver a criatura atual e seus pais, e também os pais dos pais. Preferivelmente, para cada criatura pode haver no máximo 2 pais. Por outro lado, se o DNA atual diferente de um primeiro DNA (DNA 1) é criado do primeiro DNA (DNA1), a criação pode ser fixada para indicar que uma mutação ocorreu. A Figura 21 mostra uma captura de tela exemplar do estúdio de Gene, com a Seqüência de DNA da criatura atual. O estúdio de gene também preferivelmente dá a oportunidade para o usuário mudar e modificar a seqüência de DNA do agente. A seqüência de DNA do agente exibida na tela do estúdio de gene é preferivelmente composta de uma seqüência de quatro letras A, G, C e T. As quatro letras representam as quatro bases que constituem a DNA biológica. A presente invenção introduz as quatro letras de modo que o usuário fique mais familiarizado com a DNA do agente. Na presente invenção, as quatro letras correspondem a quatro números necessários para expressar os números quaternários. Por exemplo, se A=0, G=l, C=2 , e T=3, então AA=0, AG=1, ..., e TT=15. Se o agente tem uma seqüência de DNA composta de duas letras para cada bloco de construção como no Exemplo 3 acima, é possível expressar 16 (4x4) diferentes genótipos para cada bloco de construção. Assim, se o agente tem 5 blocos de construção, o agente pode ser definido como uma seqüência de DNA composta de 10 letras (=2x5), e o número de combinações possíveis do agente é 165. De modo similar, se o agente tem 10 blocos de construção e uma seqüência de DNA composta de 4 letras para cada bloco de construção, é possível expressar 256 diferentes genótipos (=4x4x4x4) para cada bloco de construção, uma seqüência de DNA necessária para definir o agente é composta de 40 letras (=4x10), e o número de combinações possíveis do agente é 25610. Entretanto, a presente invenção não é limitada a estes exemplos .
Será dada agora uma descrição de um sistema de agente evolutivo que opera em conjunto com o módulo de aprendizagem e o sistema de seleção de ação. Como foi descrito acima, o histórico de híbrido ou a informação sobre se uma mutação é selecionada está armazenada no sistema do agente. O módulo de aprendizagem pode determinar preferências ou tendências do usuário com base na informação armazenada, e o sistema de seleção de ação pode fornecer um evento de evolução, de acordo com as preferências ou tendências do usuário determinadas, para o diagrama de classe de evolução. A informação sobre se o usuário seleciona o resultado do desempenho do evento de evolução fornecido é armazenada no sistema do agente, de modo que a informação armazenada é referida quando o evento de evolução seguinte é fornecido.
EXEMPLO 5: AGENTE INTELIGENTE PARA UM DISPOSITIVO DE
INFORMAÇÃO MÓVEL EM REDE
Este exemplo relaciona-se à utilização de um agente inteligente em um dispositivo de informação móvel em rede, preferivelmente um telefone celular. O agente inteligente compreende um avatar para interagir com o usuário, e um agente para interagir com outros componentes na rede, como outros dispositivos de informação móvel e/ou a própria rede. 0 avatar forma a interface do usuário (ou uma parte dela) e também tem uma aparência, que é mais preferivelmente tridimensional. Esta aparência poderá ser humanóide, mas poderá alternativamente ter por base qualquer tipo de caráter ou criatura, quer real ou imaginária. O agente então lida com a comunicação entre o avatar e o dispositivo de informação móvel, e/ou outros componentes na rede, e/ou outros avatares em outros dispositivos de informação móvel. Também deve ser observado que embora esta implementação seja descrita com relação a dispositivos de informação móvel como os telefones celulares, o aspecto avatar da implementação (ou mesmo o próprio agente} poderá ser implementado com o sistema adaptável (Exemplo 2) e/ou a interface de usuário proativa (Exemplo 1) conforme descrito anteriormente. O agente inteligente da presente invenção é dirigido à criação de experiência emocional aprimorada ao aplicar o conceito de um "Dispositivo Vivo". Este conceito inclui tanto ênfases sobre a singularidade do agente inteligente, pois cada criatura viva é singular e especial na aparência e no comportamento, enquanto também fornece variedade, como a variedade das aparências do avatar para aprimorar a interação do usuário com o dispositivo vivo. 0 avatar preferivelmente possui propriedades visuais compelidoras, com objetos suplementares adequados e ambiente circundante. 0 agente inteligente preferivelmente exibe tomada de decisão inteligente, com comportamento inesperado que indica sua auto-existência e aprendizagem independente. Tal comportamento independente é um aspecto importante da presente invenção, pois ela não foi anteriormente demonstrado para qualquer tipo de interface de usuário ou de interação para o usuário e um dispositivo de computação de qualquer tipo, e certamente não foi utilizada para um agente inteligente para um dispositivo de informação móvel. 0 agente inteligente também pode evoluir com o tempo, como todas as coisas vivas, exibindo mudanças visuais. Esta é uma das propriedades mais importantes no "Dispositivo Vivo". A etapa de evolução inicia uma resposta emocional do usuário de surpresa e de antecipação para a próxima etapa de evolução. A evolução é uma mudança visual da criatura com relação ao tempo. O quadro de tempo poderá ser fixado para um ano, por exemplo, pois este é o ciclo de vida dos telefones celulares na faixa média no mercado. Durante o ano ou o trimestre, mudanças periódicas preferivelmente ocorrem através da evolução. A via evolucionária (adaptação ao ambiente} é o resultado da seleção natural. A seleção natural pode ser acionada pelo usuário (isto é, o usuário decide se a próxima geração é melhor), embora outra opção seja um processo de seleção natural predefinida ao desenvolver alguns critérios para a seleção automática. O agente inteligente poderá ser implementado para funcionar em dois "mundos" ou ambientes diferentes: o mundo da telefonia e o mundo da criatura virtual. 0 mundo da telefonia (dispositivo de informação móvel) permite ao agente inteligente controlar diferentes funções do telefone e sugerir várias seleções de função para o usuário, como foi descrito anteriormente. Preferivelmente o agente inteligente é capaz de operar com base em um ou mais processos de utilização do telefone que são modelados para o agente seguir. Outro aspecto importante do mundo do telefone é o de expressões emocionais que podem ser ou expressões gráficas como decompor a tela ou desenho livre ou expressões faciais e texto expressam um ou dois mundos relevantes para o caso específico. 0 mundo virtual é preferivelmente uma área de exibição visual e de brincar, em que objetos que não o avatar podem ser inseridos e o usuário pode observar o avatar aprender e interagir com eles. Os objetos que são entrados dentro do mundo podem ser predefinidos, com comportamentos diferentes resultando do processo de aprendizagem. 0 usuário pode dar recompensas ou desincentivos e ser parte do processo de aprendizagem. Neste particular, o agente inteligente (através da aparência do avatar) poderá agir como um tipo de animal de estimação virtual ou acompanhante (por exemplo, agir como um filhote correndo ou uma pessoa rindo).
Alguns aspectos preferidos do agente inteligente incluem, sem a eles se limitar, uma infra-estrutura gráfica em 3D (com relação à aparência do avatar); a utilização da AI e de mecanismos de aprendizagem por máquina para suportar tanto o comportamento adaptável como o proativo; a provisão de capacidades de jogos; a capacidade de aprimorar a utilidade do dispositivo de informação móvel e também fornecer auxílio ao usuário específico; e provisão de uma camada de abstração de plataforma hospedeira. Juntos, esses recursos fornecem uma plataforma de conteúdo robusta, atraente e inovadora para suportar uma pluralidade de aplicações de AI todas genericamente definidas como estando processando no dispositivo de informação móvel. 0 avatar também tem preferivelmente um número de aspectos visuais importantes. Por exemplo, o tamanho do clipe externo poderá opcionalmente ser de até 60 x 70 pixels, embora uma resolução diferente poderá ser selecionada de acordo com as características da exibição da tela do dispositivo de informação móvel.ç 0 avatar é preferivelmente representado como um objeto polígono de 3D com vários cores, mas de qualquer modo preferivelmente ele tem uma pluralidade de características visuais em 3D diferentes, como sombras, texturas, suporte de animação e assim por diante. Essas capacidades poderão ser fornecidas através de blocos de construção visuais criados anteriormente que são armazenados no dispositivo de informação móvel. A aparência visual do avatar é preferivelmente composta em tempo de processamento. 0 avatar poderá iniciar a "viver" após o lançamento do Wizard, levando em conta as preferências do usuário (introdução do usuário ao dispositivo vivo). Além da evolução, o avatar poderá exibir pequenas mudanças visuais que representam mutações (mudança de cor/movimento de alguns vértices chaves em uma etapa aleatória). A etapa de evolução visual é preferivelmente efetuada pelo acréscimo/substituição de um bloco de construção. 0 avatar pode preferivelmente deslocar-se em todas as direções e girar, e mais é um caráter em 3D integralmente animado. O avatar é preferivelmente mostrado como flutuando sobre a tela do dispositivo de informação móvel com a interface de usuário do dispositivo de informação móvel em segundo plano, mas também poderá ser dispensado quando de uma solicitação pelo usuário. O avatar é preferivelmente capaz de compreender a interação normal do usuário atual com o dispositivo de informação móvel e tenta minimizar o ocultamento/dispensa pelo usuário.
De acordo com versões opcionais mas preferidas da presente invenção, o avatar pode ser programado para se "deslocar" na tela de uma maneira mais natural e fisicamente realista. Por exemplo, vários tipos de algoritmos e de parâmetros estão disponíveis que tentam descrever o comportamento e o movimento fisicamente realista para controlar o movimento de robôs. Exemplos desses algoritmos e parâmetros estão descritos em "Automatic Generation of Kinematic Models for the Conversion of Human Motion Capture Data into Humanoid Robot Motion", de A. Ude et al. , Proc. First IEEE-RAS Int. Conf. Humanoid Robots (Humanoids 2000), Cambridge, MA, USA, setembro de 2000 (aqui incorporado por referência como se aqui fosse integralmente mostrado). Esta referência descreve várias técnicas de captura de movimento humana, e métodos para automaticamente traduzir os dados de captura em parâmetros cinéticos de robôs humanoides. Em resumo, tanto o movimento humano como robótico são modelados, e os modelos são utilizados para traduzir os dados de movimento humanos efetivos em dados que podem ser utilizados para controlar os movimentos de robôs humanóides.
Este tipo de referência é útil, pois ele fornece informação sobre como modelar o movimento do robô humanóide. Embora a presente invenção esteja preocupada com o movimento realista de um avatar {caracter virtual sendo representado tridimensionalmente), modelos similares poderíam opcionalmente ser utilizados para o avatar como para o robô humanóide. Ademais, um modelo também podería ser construído para modelar movimentos de animais, assim permitindo o movimento mais realista de um animal ou de um avatar assemelhado a animal. Mais geralmente, o sistema pode lidar com qualquer conjunto dado de dados de caracteres em 3D genericamente.
Esses modelos também poderíam ser utilizados para permitir o movimento do avatar para evoluir, pois diferentes parâmetros do modelo poderíam ser alterados durante o processo evolucionãrio, assim mudando como o avatar se movimenta. Esses modelos também são úteis para descrever o movimento não determinístico do avatar, e também para permitir a evolução de movimentos não determinísticos. Esse comportamento não determinístico também ajuda a manter o interesse do usuário.
Para implementar estas funções diferentes do avatar e/ou do agente inteligente, o agente inteligente poderá ser construído conforme descrito abaixo com relação às Figuras 7A-12B, embora deva-se observar que essas Figuras apenas representam uma implementação exemplar e que muitas implementações diferentes são possíveis. Mais uma vez, a implementação do agente inteligente poderá incorporar e depender de implementações descritas nos Exemplos 1 e 2 acima. A Figura 22 é um diagrama de blocos de um sistema de agente inteligente 2700 de acordo com a presente invenção. Como é mostrado, o primeiro usuário 2702 controla o primeiro dispositivo de informação móvel 2704, que para a finalidade deste exemplo poderá ser implementado como um telefone celular apenas para ilustração e sem qualquer intenção de ser limitativo. O segundo usuário 2706 controla um segundo dispositivo de informação móvel 2708. O primeiro dispositivo de informação móvel 2704 e o segundo dispositivo de informação móvel 2708 comunicam-se preferivelmente através de uma rede 2710, por exemplo, através de mensagens.
Cada um do primeiro dispositivo de informação móvel 2704 e do segundo dispositivo de informação móvel 2708 preferivelmente destaca um agente inteligente, para interagir com seus respectivos usuários 2702 e 2706 e também para interagir com o outro agente inteligente. Portanto, como é mostrado, o sistema 2700 permite que uma comunidade desses agentes inteligente interajam uns com os outros, e/ou que obtenham informação para seus respectivos usuários através da rede 2710, por exemplo.
As interações dos usuários 2702 e 2707 com seus respectivos dispositivos de informação móvel 2704, 2708 preferivelmente incluem a operação regular do dispositivo de informação móvel, mas também acrescentam as novas funcionalidades emocionantes do "telefone móvel vivo". Essas funcionalidades podem incluir o agente inteligente mas também a utilização de um avatar para fornecer uma interface do usuário e também mais preferivelmente para fornecer uma experiência emocional de usuário aprimorada. 0 agente inteligente preferivelmente destaca uma estrutura de software inteligente e "consciente". A operação interna de tal sistema preferivelmente envolve várias ferramentas algorítmicas, incluindo, sem a eles se limitar, algoritmos de AI e de ML. 0 sistema 2700 poderá envolver interações entre múltiplos usuários como foi mostrado. Essas interações aumentam a utilidade e o prazer de utilizar o dispositivo de informação móvel para o usuário final. A Figura 23 mostra o sistema de agente inteligente da Figura 20 em maiores detalhes. Como é mostrado, o primeiro agente inteligente 2800 é capaz de operar de acordo com dados de cenário 28 02 (como a base de conhecimento descrita anteriormente) para ser capaz de tomar ações, aprender e tomar decisões quanto a operação do dispositivo de informação móvel. O processo de aprendizagem e de desenvolvimento do primeiro agente inteligente 2800 é suportado por um módulo de evolução 2804 para evoluir conforme descrito anteriormente. Se o primeiro agente inteligente 2800 comunica com o usuário através de um avatar, de acordo com uma versão preferida da presente invenção, então um módulo de animação 2806 é utilizado para suportar o aparecimento do avatar. 0 primeiro agente inteligente 2800 também poderá comunicar-se através da rede (não mostrada) com um servidor de fundo 2808 e/ou outro recurso de rede como o computador 2810, por exemplo, para obter informação para o usuário. O primeiro agente inteligente 2800 também poderá comunicar com o segundo agente inteligente 2812 como é mostrado. A Figura 24 mostra um diagrama de blocos de uma implementação exemplar de um sistema de seleção de ação 2 900 de acordo com a presente invenção, que fornece a infra-estrutura para permitir que o agente inteligente selecione uma ação. O sistema de seleção de ação 2900 preferivelmente destaca um ActionManager 2902 (ver também a Figura 10 para uma descrição), que efetivamente executa a ação. Uma interface BaseAction 2904 fornece a interface para todas as ações executadas pelo ActionManager 2902.
As ações poderão utilizar capacidades do dispositivo e da aplicação denotadas como um AnimationManager 2906 e um SoundManager 2908 que são necessários para efetuar a ação específica. Cada ação agrega os gerentes apropriados para a execução direita correta. A AnimationManager 2906 também poderá controlar uma ChangeUIAction 2910, que muda a aparência da tela visual da interface do usuário. Além de, ou alternativamente, se um avatar é utilizado para representar o agente inteligente para o usuário, a AnimationManager 2906 também poderá controlar a GoAwayFromObjectAction 2912 e a GoTowardObjectAction 2914, que permite ao avatar interagir com objetos virtuais no mundo virtual do avatar.
As Figuras 25A e 25B mostram duas capturas de tela exemplares, ilustrativas e não limitativas do avatar de acordo com a presente invenção na tela do dispositivo de informação móvel. A Figura 25A mostra uma captura de tela exemplar da interface do usuário para ajustar o volume do tom de campainha através de uma interação com o avatar. A Figura 25B mostra uma captura de tela exemplar da interface do usuário para receber uma mensagem através de uma interação com o avatar.
Embora a invenção tenha sido descrita com relação a um número limitado de versões, será apreciado que muitas variações, modificações e outras aplicações da invenção poderão ser feitas.
REIVINDICAÇÕES

Claims (144)

1. Interface de usuário pró-ativa para um dispositivo de computação tendo um sistema operacional, a interface de usuário pró-ativa caracterizada por compreender: (a) uma unidade de interface para a comunicação entre o usuário da interface de usuário pró-ativa e o sistema operacional, a unidade de interface incluindo um agente evolutivo que permite a comunicação com o usuário; e (b) um módulo de aprendizado para detectar pelo menos um padrão de interação do usuário com a unidade de interface, e ativamente sugerir, para o usuário, opções para evoluir pelo menos uma função da interface de usuário de acordo com pelo menos um padrão.
2. Interface de usuário pró-ativa, de acordo com a reivindicação 1, caracterizada pelo fato de pelo menos um padrão ser selecionado do grupo que consiste de um padrão determinado de acordo com pelo menos uma interação anterior do usuário com a unidade de interface, um padrão predeterminado, e uma combinação destes.
3. Interface de usuário pró-ativa, de acordo com a reivindicação 1, caracterizada pelo fato do agente incluir um avatar,· e de pelo menos uma característica da aparência do avatar ser opcionalmente alterável de acordo com um comando do usuário.
4. Interface de usuário pró-ativa, de acordo com a reivindicação 2, caracterizada pelo fato do agente incluir um avatar; e de pelo menos uma característica da aparência do avatar ser opcionalmente alterável de acordo com um comando do usuário.
5. Interface de usuário pró-ativa, de acordo com a reivindicação 3, caracterizada pelo fato de pelo menos uma característica da aparência do avatar ser alterãvel de acordo com um algoritmo evolucionãrio automatizado.
6. Interface de usuário pró-ativa, de acordo com a reivindicação 4, caracterizada pelo fato de pelo menos uma característica da aparência do avatar ser alterãvel de acordo com um algoritmo evolucionãrio automatizado.
7. Interface de usuário pró-ativa, de acordo com a reivindicação 1, caracterizada pelo fato do dispositivo de computação ser selecionado de um grupo que consiste de um computador regular, um caixa automático, dispositivos de informação móveis que incluem um telefone celular, um PDA, e um aparelho de consumidor tendo um sistema operacional.
8. Interface de usuário pró-ativa, de acordo com a reivindicação 2, caracterizada pelo fato do dispositivo de computação ser selecionado de um grupo que consiste de um computador regular, um caixa automático, dispositivos de informação móveis que incluem um telefone celular, um PDA, e um aparelho de consumidor tendo um sistema operacional.
9. Interface de usuário pró-ativa, de acordo com a reivindicação 3, caracterizada pelo fato do dispositivo de computação ser selecionado de um grupo que consiste de um computador regular, um caixa automático, dispositivos de informação móveis que incluem um telefone celular, um PDA, e um aparelho de consumidor tendo um sistema operacional.
10. Interface de usuário pró-ativa, de acordo com a reivindicação 4, caracterizada pelo fato do dispositivo de computação ser selecionado de um grupo que consiste de um computador regular, um caixa automático, dispositivos de informação móveis que incluem um telefone celular, um PDA, e um aparelho de consumidor tendo um sistema operacional.
11. Interface de usuário pró-ativa, de acordo com a reivindicação 5, caracterizada pelo fato do dispositivo de computação ser selecionado de um grupo que consiste de um computador regular, um caixa automático, dispositivos de informação móveis que incluem um telefone celular, um PDA, e um aparelho de consumidor tendo um sistema operacional.
12. Interface de usuário pró-ativa, de acordo com a reivindicação 6, caracterizada pelo fato do dispositivo de computação ser selecionado de um grupo que consiste de um computador regular, um caixa automático, dispositivos de informação móveis que incluem um telefone celular, um PDA, e um aparelho de consumidor tendo um sistema operacional.
13. Interface de usuário pró-ativa, de acordo com a reivindicação 1, caracterizada pelo fato do módulo de aprendizagem compreender uma base de conhecimento para armazenar informação coletada como resultado de interações com o usuário e/ou com o sistema operacional.
14. Interface de usuário pró-ativa, de acordo com a reivindicação 13, caracterizada pelo fato da base de conhecimento compreender uma pluralidade de itens de conhecimento integrados determinados do comportamento do usuário e de informação pré-programada.
15. Interface de usuário pró-ativa, de acordo com a reivindicação 13, caracterizada pelo fato do módulo de aprendizagem compreender ainda uma pluralidade de sensores para perceberem o estado do sistema operacional.
16. Interface de usuário pró-ativa, de acordo com a reivindicação 15, caracterizada pelo fato do módulo de aprendizagem compreender ainda uma unidade de percepção para processar a saída dos sensores para determinar o estado do sistema operacional e o estado da unidade de interface.
17. Interface de usuário pró-ativa, de acordo com a reivindicação 13, caracterizada pelo fato do módulo de aprendizado compreender ainda um sistema de raciocínio para atualizar a base de conhecimento e para apresentar uma associação entre uma alteração da unidade de interface e o estado do sistema operacional.
18. Interface de usuário pró-ativa, de acordo com a reivindicação 13, caracterizada pelo fato do módulo de aprendizado maximizar a porcentagem de alterações pró-ativas que levam a uma seleção direta de usuário a partir da sugestão ativa.
19. Interface de usuário pró-ativa, de acordo com a reivindicação 14, caracterizada pelo fato do módulo de aprendizagem maximizar a porcentagem de alterações pró-ativas que levam a seleção direta de usuário a partir da sugestão ativa.
20. Interface de usuário pró-ativa, de acordo com a reivindicação 15, caracterizada pelo fato do módulo de aprendizagem maximizar a porcentagem de alterações pró-ativas que levam a seleção direta de usuário a partir da sugestão ativa.
21. Interface de usuário pró-ativa, de acordo com a reivindicação 16, caracterizada pelo fato do módulo de aprendizagem maximizar a porcentagem de alterações pró-ativas que levam a seleção direta de usuário a partir da sugestão ativa.
22. Interface de usuário pró-ativa, de acordo com a reivindicação 17, caracterizada pelo fato do módulo de aprendizagem maximizar a porcentagem de alterações pró-ativas que levam a seleção direta de usuário a partir da sugestão ativa.
23. Interface de usuário pró-ativa, de acordo com a reivindicação 18, caracterizada pelo fato da maximização ser efetuada através do reforço do aprendizado.
24. Interface de usuário pró-ativa, de acordo com a reivindicação 19, caracterizada pelo fato da maximização ser efetuada através do reforço do aprendizado
25. Interface de usuário pró-ativa, de acordo com a reivindicação 20, caracterizada pelo fato da maximização ser efetuada através do reforço do aprendizado
26. Interface de usuário pró-ativa, de acordo com a reivindicação 21, caracterizada pelo fato da maximização ser efetuada através do reforço do aprendizado
27. Interface de usuário pró-ativa, de acordo com a reivindicação 22, caracterizada pelo fato da maximização ser efetuada através do reforço do aprendizado
28. Interface de usuário pró-ativa, de acordo com a reivindicação 23, caracterizada pelo fato do reforço do aprendizado ser efetuado através de um processo de aprendizado iterativo.
29. Interface de usuário pró-ativa, de acordo com a reivindicação 24, caracterizada pelo fato do reforço do aprendizado ser efetuado através de um processo de aprendizado iterativo.
30. Interface de usuário pró-ativa, de acordo com a reivindicação 25, caracterizada pelo fato do reforço do aprendizado ser efetuado através de um processo de aprendizado iterativo.
31. Interface de usuário pró-ativa, de acordo com a reivindicação 26, caracterizada pelo fato do reforço do aprendizado ser efetuado através de um processo de aprendizado iterativo.
32. Interface de usuário pró-ativa, de acordo com a reivindicação 27, caracterizada pelo fato do reforço do aprendizado ser efetuado através de um processo de aprendizado iterativo.
33. Interface de usuário pró-ativa, de acordo com a reivindicação 28, caracterizada pelo fato de cada iteração do processo de aprendizado ser efetuada após a evolução ter sido realizada.
34. Interface de usuário pró-ativa, de acordo com a reivindicação 29, caracterizada pelo fato de cada iteração do processo de aprendizado ser efetuada após a evolução ter sido realizada.
35. Interface de usuário pró-ativa, de acordo com a reivindicação 30, caracterizada pelo fato de cada iteração do processo de aprendizado ser efetuada após a evolução ter sido realizada.
36. Interface de usuário pró-ativa, de acordo com a reivindicação 31, caracterizada pelo fato de cada iteração do processo de aprendizado ser efetuada após a evolução ter sido realizada.
37. Interface de usuário pró-ativa, de acordo com a reivindicação 32, caracterizada pelo fato de cada iteração do processo de aprendizado ser efetuada após a evolução ter sido realizada.
38. Sistema adaptativo com um agente evolutivo para um dispositivo de computação tendo um sistema operacional, o sistema adaptativo caracterizado por compreender: (a) uma interface de usuário que inclui um avatar para a comunicação entre o usuário do sistema adaptativo e o sistema operacional; (b) pelo menos uma aplicação de software controlada pelo sistema operacional; e (c) uma estrutura de inteligência artificial (AI) para suportar pelo menos uma aplicação de software, e comunicar com uma plataforma principal tendo o sistema operacional; em que a dita estrutura de AI inclui um módulo de evolução para suportar e/ou gerenciar a evolução do avatar.
39. Sistema adaptativo, de acordo com a reivindicação 38, caracterizado por compreender ainda uma base de conhecimento para armazenar a informação selecionada do grupo que consiste de um padrão determinado de acordo com pelo menos uma interação anterior do usuário com a interface do usuário, um padrão predeterminado, e uma combinação destes.
40. Sistema adaptativo, de acordo com a reivindicação 39, caracterizado pelo fato da estrutura de AI compreender: um módulo de inteligência artificial/de aprendizado de máquina (AI/ML); um gerente de aplicação para comunicar com pelo menos uma aplicação de software; um gerente de armazenamento para gerenciar o armazenamento e o manuseio de dados com relação à base de conhecimento; um gerente de ação para permitir ao sistema adaptativo determinar qual ação tomar através de uma operação do módulo AI/ML; um gerente de interface de usuário (UI) para gerenciar o aparecimento e a função da interface do usuário ao dirigir mudanças para a interface do usuário; e um mapeador mundial de dispositivo para determinar o estado do dispositivo de computação, o estado de um mundo virtual, e a relação entre os dois estados.
41. Sistema adaptativo, de acordo com a reivindicação 40, caracterizado pelo fato do módulo AI/ML determinar o comportamento do sistema adaptativo em resposta a vários estímulos, e permitir que o sistema adaptativo aprenda a partir de uma resposta do usuário a diferentes tipos de ações do sistema adaptativo.
42. Sistema adaptativo, de acordo com a reivindicação 40, caracterizado pelo fato da estrutura de AI compreender ainda um manuseador de evento, e entre pelo menos uma aplicação de software e o manuseador de evento, uma pluralidade de diferentes gerentes de baixo nível que suportam o recebimento e o manuseio de diferentes eventos, os gerentes de baixo nível incluindo o gerente de ação, o gerente de UI, o gerente de armazenamento, e o gerente de aplicação.
43. Sistema adaptativo, de acordo com a reivindicação 41, caracterizado pelo fato da estrutura de AI compreender ainda um manuseador de evento, e entre pelo menos uma aplicação de software e o manuseador de evento, uma pluralidade de diferentes gerentes de baixo nível que suportam o recebimento e o manuseio de diferentes eventos, os gerentes de baixo nível incluindo o gerente de ação, o gerente de UI, o gerente de armazenamento, e o gerente de aplicação.
44. Sistema adaptativo, de acordo com a reivindicação 38, caracterizado pelo fato do dispositivo de computação ser selecionado do grupo que consiste de um computador regular, um caixa automático, dispositivos de informação móveis que incluem um telefone celular, um PDA, e um aparelho de consumidor tendo um sistema operacional.
45. Sistema adaptativo, de acordo com a reivindicação 39, caracterizado pelo fato do dispositivo de computação ser selecionado do grupo que consiste de um computador regular, um caixa automático, dispositivos de informação móveis que incluem um telefone celular, um PDA, e um aparelho de consumidor tendo um sistema operacional.
46. Sistema adaptativo, de acordo com a reivindicação 39, caracterizado pelo fato do dispositivo de computação ser selecionado do grupo que consiste de um computador regular, um caixa automático, dispositivos de informação móveis que incluem um telefone celular, um PDA, e um aparelho de consumidor tendo um sistema operacional.
47. Sistema adaptativo, de acordo com a reivindicação 40, caracterizado pelo fato do dispositivo de computação ser selecionado do grupo que consiste de um computador regular, um caixa automático, dispositivos de informação móveis que incluem um telefone celular, um PDA, e um aparelho de consumidor tendo um sistema operacional.
48. Sistema adaptativo, de acordo com a reivindicação 41, caracterizado pelo fato do dispositivo de computação ser selecionado do grupo que consiste de um computador regular, um caixa automático, dispositivos de informação móveis que incluem um telefone celular, um PDA, e um aparelho de consumidor tendo um sistema operacional.
49. Sistema adaptativo, de acordo com a reivindicação 42, caracterizado pelo fato do dispositivo de computação ser selecionado do grupo que consiste de um computador regular, um caixa automático, dispositivos de informação móveis que incluem um telefone celular, um PDA, e um aparelho de consumidor tendo um sistema operacional.
50. Sistema adaptativo, de acordo com a reivindicação 43, caracterizado pelo fato do dispositivo de computação ser selecionado do grupo que consiste de um computador regular, um caixa automático, dispositivos de informação móveis que incluem um telefone celular, um PDA, e um aparelho de consumidor tendo um sistema operacional.
51. Sistema adaptativo, de acordo com a reivindicação 38, caracterizado pelo fato de pelo menos uma aplicação de software incluir uma aplicação para opcionalmente retornar a interface do usuário, que foi evoluída através de um algoritmo evolucionário, a um estado anterior, e armazenar e gerenciar a informação de estados da interface do usuário.
52. Sistema adaptativo, de acordo com a reivindicação 38, caracterizado pelo fato de pelo menos uma aplicação de software incluir uma aplicação de mutação para controlar mutações no sistema adaptativo.
53. Sistema adaptativo, de acordo com a reivindicação 38, caracterizado pelo fato de pelo menos uma aplicação de software incluir uma aplicação de estúdio de genes para permitir ao usuário efetuar mutações através de pelo menos um comando manual.
54. Sistema adaptativo, de acordo com a reivindicação 38, c ar ac ter i z ado pelo fato de pelo menos uma aplicação de software incluir uma aplicação híbrida para permitir ao usuário criar um avatar tendo uma aparência híbrida com o avatar de outro dispositivo de computação.
55. Sistema adaptativo, de acordo com a reivindicação 51, caracterizado pelo fato do gerente de aplicação ser capaz de iniciar, pausar, resumir e parar cada uma de pelo menos uma aplicação de software.
56. Sistema adaptativo, de acordo com a reivindicação 52, caracterizado pelo fato do gerente de aplicação ser capaz de iniciar, pausar, resumir e parar cada uma de pelo menos uma aplicação de software.
57. Sistema adaptativo, de acordo com a reivindicação 53, caracterizado pelo fato do gerente de aplicação ser capaz de iniciar, pausar, resumir e parar cada uma de pelo menos uma aplicação de software.
58. Sistema adaptativo, de acordo com a reivindicação 54, caracterizado pelo fato do gerente de aplicação ser capaz de iniciar, pausar, resumir e parar cada uma de pelo menos uma aplicação de software.
59. Sistema adaptativo, de acordo com a reivindicação 38, caracterizado pelo fato do módulo de evolução gerenciar um gene, um cromossomo, e um fenótipo da interface do usuário implementado na forma de um avatar, e ativamente sugerir opções para evoluir pelo menos uma função da interface de usuário com base no gene, no cromossomo, e no fenótipo.
60. Sistema adaptativo, de acordo com a reivindicação 59, caracterizado pelo fato do módulo de evolução mudar pelo menos um parâmetro do gene para criar diferentes fenótipos novos.
61. Sistema adaptativo, de acordo com a reivindicação 59, caracterizado pelo fato do módulo de evolução permitir que o cromossomo da interface do usuário hibridize ou faça hibridismo cruzado com o mesmo tipo de cromossomo de uma criatura diferente para criar um novo cromossomo como a combinação de cromossomos pais genéticos do novo cromossomo.
62. Sistema adaptativo, de acordo com a reivindicação 38, caracterizado pelo fato do módulo de evolução efetuar um processo de seleção natural para decidir quais crianças genéticas continuarão como a próxima geração.
63. Sistema adaptativo, de acordo com a reivindicação 62, caracterizado pelo fato do processo de seleção natural poder ser decidido pelo usuário ou poder ser predefinido.
64. Sistema de evolução para um agente inteligente para um dispositivo de computação tendo um sistema operacional, o sistema de evolução caracterizado por compreender: (a) uma interface de usuário que inclui um avatar evolutivo para comunicação do usuário do sistema de evolução e do sistema operacional; (b) pelo menos uma aplicação de software controlada pelo sistema operacional; e (c) uma classe de evolução para permitir que propriedades visuais ou funcionais do agente inteligente sejam modificadas utilizando DNA (ácido dioxiribonucleico) algorítmico.
65. Sistema de evolução, de acordo com a reivindicação 64, caracterizado pelo fato da classe de evolução compreender : uma classe DNA de criatura para representar a estrutura de DNA do DNA; uma classe substituta da criatura para fornecer uma interface para o DNA e operações genéticas para as classes do sistema de evolução; uma classe MGR de evolução para gerenciar evoluções do agente inteligente e fornecer uma interface para a classe substituta da criatura e operações genéticas da classe substituta da criatura para pelo menos uma aplicação de software; e uma classe de motor de evolução para ouvir os eventos de evolução gerados para indicar que uma certa operação genética deve ser invocada e efetuada no DNA do agente inteligente.
66. Sistema de evolução, de acordo com a reivindicação 64, caracterizado pelo fato do DNA ser um vetor dos genes disponíveis.
67. Sistema de evolução, de acordo com a reivindicação 65, caracterizado pelo fato do DNA ser um vetor dos genes disponíveis.
68. Sistema de evolução, de acordo com a reivindicação 66, caracterizado pelo fato do gene ser um parâmetro com uma faixa de valores possíveis, e da expressão de dados do parâmetro ser um genótipo do agente inteligente.
69. Sistema de evolução, de acordo com a reivindicação 67, caracterizado pelo fato do gene ser um parâmetro com uma faixa de valores possíveis, e da expressão de dados do parâmetro ser um genótipo do agente inteligente.
70. Sistema de evolução, de acordo com a reivindicação 66, caracterizado pelo fato do dito vetor incluir pelo menos um dentre: uma cabeça, um corpo, uma mão, uma cauda, uma perna, cor da cabeça, cor do corpo, cor da mão, cor da cauda, cor da perna, escala da cabeça, escala do corpo, escala da mão, escala da cauda, escala da perna, habilidade, eficiência, interativo, e cor base.
71. Sistema de evolução, de acordo com a reivindicação 67, caracterizado pelo fato do dito vetor incluir pelo menos um dentre: uma cabeça, um corpo, uma mão, uma cauda, uma perna, cor da cabeça, cor do corpo, cor da mão, cor da cauda, cor da perna, escala da cabeça, escala do corpo, escala da mão, escala da cauda, escala da perna, habilidade, eficiência, interativo, e cor base.
72. Sistema de evolução, de acordo com a reivindicação 66, caracterizado pelo fato do agente inteligente ser construído utilizando um gene incluído na estrutura do DNA e um valor do gene.
73. Sistema de evolução, de acordo com a reivindicação 67, caracterizado pelo fato do agente inteligente ser construído utilizando um gene incluído na estrutura do DNA e um valor do gene.
74. Sistema de evolução, de acordo com a reivindicação 66, caracterizado pelo fato de, para o mesmo DNA, o agente inteligente expressar uma característica correspondente a uma combinação dos primeiros blocos de construção se um tempo de crescimento do agente inteligente for inferior a um intervalo de tempo predeterminado, e uma característica correspondente a uma combinação dos segundos blocos de construção se o tempo de crescimento for igual ou superior ao intervalo de tempo predeterminado de modo que o agente inteligente cresça automaticamente com o passar do tempo.
75. Sistema de evolução, de acordo com a reivindicação 67, caracterizado pelo fato de, para o mesmo DNA, o agente inteligente expressar uma característica correspondente a uma combinação dos primeiros blocos de construção se um tempo de crescimento do agente inteligente for inferior a um intervalo de tempo predeterminado, e uma característica correspondente a uma combinação dos segundos blocos de construção se o tempo de crescimento for igual ou superior ao intervalo de tempo predeterminado de modo que o agente inteligente cresça automaticamente com o passar do tempo.
76. Sistema de evolução, de acordo com a reivindicação 74, caracterizado pelo fato do intervalo de tempo predeterminado ser de pelo menos duas semanas.
77. Sistema de evolução, de acordo com a reivindicação 75, caracterizado pelo fato do intervalo de tempo predeterminado ser de pelo menos duas semanas..
78. Sistema de evolução, de acordo com a reivindicação 66, caracterizado pelo fato do agente inteligente selecionar aleatoriamente um gene de um conjunto de genes, e mudar o valor do gene selecionado dentro de uma faixa do mesmo para implementar uma mutação.
79. Sistema de evolução, de acordo com a reivindicação 67, caracterizado pelo fato do agente inteligente selecionar aleatoriamente um gene de um conjunto de genes, e mudar o valor do gene selecionado dentro de uma faixa do mesmo para implementar uma mutação.
80. Sistema de evolução, de acordo com a reivindicação 78, caracterizado pelo fato da mutação ser implementada pela substituição de um agente existente por um mutante após exibir o mutante para o usuário e obter a aprovação do usuário daquele mutante.
81. Sistema de evolução, de acordo com a reivindicação 79, caracterizado pelo fato da mutação ser implementada pela substituição de um agente existente por um mutante após exibir o mutante para o usuário e obter a aprovação do usuário daquele mutante.
82. Sistema de evolução, de acordo com a reivindicação 66, caracterizado pelo fato do agente inteligente efetuar uma operação de hibridízação em dois DNAs candidatos ao selecionar pelo menos um ponto de cruzamento localizado em cada um dos dois DNAs candidatos e selecionar um valor de DNA dentre valores de DNA existentes em cada ponto de cruzamento.
83. Sistema de evolução, de acordo com a reivindicação 67, caracterizado pelo fato do agente inteligente efetuar uma operação de hibridízação em dois DNAs candidatos ao selecionar pelo menos um ponto de cruzamento localizado em cada um dos dois DNAs candidatos e selecionar um valor de DNA dentre valores de DNA existentes em cada ponto de cruzamento.
84. Sistema de evolução, de acordo com a reivindicação 82, caracterizado pelo fato da operação de hibridízação ser efetuada entre diferentes gêneros de genes.
85. Sistema de evolução, de acordo com a reivindicação 83, caracterizado pelo fato da operação de hibridízação ser efetuada entre diferentes gêneros de genes.
86. Sistema de evolução, de acordo com a reivindicação 82, caracterizado pelo fato do agente inteligente substituir um agente atual com um agente híbrido gerado pela operação de hibridização após exibir o agente híbrido ao usuário e obter a aprovação do usuário do agente híbrido.
87. Sistema de evolução, de acordo com a reivindicação 83, caracterizado pelo fato do agente inteligente substituir um agente atual com um agente híbrido gerado pela operação de hibridização após exibir o agente híbrido ao usuário e obter a aprovação do usuário do agente híbrido.
88. Sistema de evolução, de acordo com a reivindicação 82, caracterizado pelo fato da operação de hibridização ser efetuada utilizando um DNA de agente incluído em uma mensagem SMS recebida de uma fonte externa através de pelo menos um dentre infravermelho, BlueTooth, e a Internet.
89. Sistema de evolução, de acordo com a reivindicação 83, caracterizado pelo fato da operação de hibridização ser efetuada utilizando um DNA de agente incluído em uma mensagem SMS recebida de uma fonte externa através de pelo menos um dentre infravermelho, BlueTooth, e a Internet.
90. Sistema de evolução, de acordo com a reivindicação 66, caracterizado pelo fato de uma combinação das letras A, G, C e T que expressam o DNA serem exibidas em uma tela.
91. Sistema de evolução, de acordo com a reivindicação 67, caracterizado pelo fato de uma combinação das letras A, G, C e T que expressam o DNA serem exibidas em uma tela.
92. Sistema de evolução, de acordo com a reivindicação 64, caracterizado pelo fato do usuário poder rever o histórico das mudanças de uma criatura representada pelo avatar.
93. Sistema de evolução da reivindicação 64, caracterizado pelo fato de, com base em detalhes do usuário fixados pelo usuário, o agente inteligente criar um híbrido com uma possibilidade "konghub" entre o usuário do sistema de evolução correspondente a um telefone móvel e o usuário de outro telefone móvel.
94. Sistema de evolução da reivindicação 65, caracterizado pelo fato de, com base em detalhes do usuário fixados pelo usuário, o agente inteligente criar um híbrido com uma possibilidade "konghub" entre o usuário do sistema de evolução correspondente a um telefone móvel e o usuário de outro telefone móvel.
95. Sistema de evolução, de acordo com a reivindicação 64, caracterizado pelo fato do avatar ser controlado para agir como um de um animal de estimação e um companheiro virtual.
96. Sistema de evolução, de acordo com a reivindicação 65, caracterizado pelo fato do avatar ser controlado para agir como um de um animal de estimação e um companheiro virtual.
97. Sistema de evolução, de acordo com a reivindicação 64, caracterizado pelo fato do avatar ser representado como um objeto polígono 3D com mais de uma cor.
98. Sistema de evolução, de acordo com a reivindicação 65, caracterizado pelo fato do avatar ser representado como um objeto polígono 3D com mais de uma cor.
99. Telefone móvel, caracterizado por compreender: (a) uma interface de usuário que inclui um avatar evolutivo para comunicação entre o usuário do telefone e o sistema operacional; (b) pelo menos uma aplicação de software controlada pelo sistema operacional; e (c) uma classe de evolução para permitir que propriedades de um agente inteligente sejam mudadas utilizando o DNA algorítmico; em que o avatar tem uma pluralidade de diferentes características visuais 3D com atributos de sombras, texturas e animação.
100, Interface de usuário pró-ativa para um dispositivo de computação que tem um sistema operacional, a interface de usuário pró-ativa caracterizada por compreender: (a) uma unidade de interface para a comunicação entre um usuário da interface de usuário pró-ativa e o sistema operacional, a unidade de interface incluindo um agente emocional para se comunicar com o usuário; (b) pelo menos uma aplicação de software controlada pelo sistema operacional; (c) uma estrutura de inteligência artificial (AI) para suportar pelo menos uma aplicação de software, comunicar com a plataforma principal tendo o sistema operacional, detectar pelo menos um padrão de interação do usuário com a unidade de interface, e sugerir ativamente, para o usuário, opções para alterar pelo menos uma função da interface do usuário de acordo com o padrão detectado; em que o agente expressa pelo menos uma emoção de acordo com a reação do usuário à sugestão.
101. Interface de usuário pró-ativa, de acordo com a reivindicação 100, caracterizada por compreender ainda uma base de conhecimento para armazenar informação selecionada do grupo que consiste de um padrão determinado de acordo com pelo menos uma interação anterior do usuário com a unidade de interface, um padrão predeterminado, e uma combinação destes.
102. Interface de usuário pró-ativa, de acordo com a reivindicação 101, caracterizada pelo fato da estrutura de AI compreender: um módulo de inteligência artificial/de aprendizado por máquina (AI/ML); um gerente de aplicação para comunicar-se com pelo menos uma aplicação de software; um gerente de armazenamento para gerenciar o armazenamento e o manuseio de dados com relação à base de conhecimento; um gerente de ação para permitir que a interface de usuário pró-ativa determine qual ação tomar através de uma operação do módulo de AI/ML; um gerente de interface de usuário (UI) para gerenciar a aparência e a função da interface do usuário ao dirigir mudanças para a interface do usuário; e um mapeador do mundo de dispositivo para determinar o estado do dispositivo de computação, o estado de um mundo virtual, e a relação entre os dois estados.
103. Interface de usuário pró-ativa, de acordo com a reivindicação 102, caracterizada pelo fato do módulo AI/ML determinar o comportamento da interface de usuário pró-ativa em resposta a vários estímulos, e permitir que a interface de usuário pró-ativo aprenda a partir de uma resposta do usuário a diferentes tipos de ações da interface de usuário pró-ativa.
104. Interface de usuário pró-ativa, de acordo com a reivindicação X02, caracterizada pelo fato da estrutura de AI compreender ainda um manuseador de evento, e entre pelo menos uma aplicação de software e o manuseador de evento, uma pluralidade de diferentes gerentes de baixo nível que suportam o recebimento e o manuseio de diferentes eventos, os gerentes de baixo nível incluindo o gerente de ação, o gerente de UI, o gerente de armazenamento, e o gerente de aplicação.
105. Interface de usuário pró-ativa, de acordo com a reivindicação 103, caracterizada pelo fato da estrutura de AI compreender ainda um manuseador de evento, e entre pelo menos uma aplicação de software e o manuseador de evento, uma pluralidade de diferentes gerentes de baixo nível que suportam o recebimento e o manuseio de diferentes eventos, os gerentes de baixo nível incluindo o gerente de ação, o gerente de UI, o gerente de armazenamento, e o gerente de aplicação.
106. Interface de usuário pró-ativa, de acordo com a reivindicação 103, caracterizada pelo fato do gerente de aplicação ser capaz de iniciar, pausar, resumir e parar cada uma de pelo menos uma aplicação de software.
107. Interface de usuário pró-ativa, de acordo com a 100, caracterizada pelo fato do dispositivo de computação ser selecionado de um grupo que consiste de um computador regular, um caixa automático, dispositivos de informação móveis que incluem um telefone celular, um PDA, e um aparelho de consumidor tendo um sistema operacional.
108. Interface de usuário pró-ativa, de acordo com a 101, caracterizada pelo fato do dispositivo de computação ser selecionado de um grupo que consiste de um computador regular, um caixa automático, dispositivos de informação móveis que incluem um telefone celular, um PDA, e um aparelho de consumidor tendo um sistema operacional.
109. Interface de usuário pró-ativa, de acordo com a 102, caracterizada pelo fato do dispositivo de computação ser selecionado de um grupo que consiste de um computador regular, um caixa automático, dispositivos de informação móveis que incluem um telefone celular, um PDA, e um aparelho de consumidor tendo um sistema operacional.
110. Interface de usuário pró-ativa, de acordo com a 103, caracterizada pelo fato do dispositivo de computação ser selecionado de um grupo que consiste de um computador regular, um caixa automático, dispositivos de informação móveis que incluem um telefone celular, um PDA, e um aparelho de consumidor tendo um sistema operacional.
111. Interface de usuário pró-ativa, de acordo com a 104, caracterizada pelo fato do dispositivo de computação ser selecionado de um grupo que consiste de um computador regular, um caixa automático, dispositivos de informação móveis que incluem um telefone celular, um PDA, e um aparelho de consumidor tendo um sistema operacional.
112. Interface de usuário pró-ativa, de acordo com a 105, caracterizada pelo fato do dispositivo de computação ser selecionado de um grupo que consiste de um computador regular, um caixa automático, dispositivos de informação móveis que incluem um telefone celular, um PDA, e um aparelho de consumidor tendo um sistema operacional.
113. Interface de usuário pró-ativa, de acordo com a 106, caracterizada pelo fato do dispositivo de computação ser selecionado de um grupo que consiste de um computador regular, um caixa automático, dispositivos de informação móveis que incluem um telefone celular, um PDA, e um aparelho de consumidor tendo um sistema operacional.
114. Interface de usuário pró-ativa, de acordo com a reivindicação 107, caracterizada pelo fato do agente ser criado através de um modelo gráfico em 3D.
115. Interface de usuário pró-ativa, de acordo com a reivindicação 108, caracterizada pelo fato do agente ser criado através de um modelo gráfico em 3D.
116. Interface de usuário pró-ativa, de acordo com a reivindicação 109, caracterizada pelo fato do agente ser criado através de um modelo gráfico em 3D.
117. Interface de usuário pró-ativa, de acordo com a reivindicação 110, caracterizada pelo fato do agente ser criado através de um modelo gráfico em 3D.
118. Interface de usuário pró-ativa, de acordo com a reivindicação 111, caracterizada pelo fato do agente ser criado através de um modelo gráfico em 3D.
119. Interface de usuário pró-ativa, de acordo com a reivindicação 112, caracterizada pelo fato do agente ser criado através de um modelo gráfico em 3D.
120. Interface de usuário pró-ativa, de acordo com a reivindicação 113, caracterizada pelo fato do agente ser criado através de um modelo gráfico em 3D.
121. Interface de usuário pró-ativa, de acordo com a reivindicação 114, caracterizada pelo fato da interface de usuário pró-ativa controlar o avatar a ser exibido independentemente dos aspectos de exibição visual da interface do usuário.
122. Interface de usuário pró-ativa, de acordo com a reivindicação 115, caracterizada pelo fato da interface de usuário pró-ativa controlar o avatar a ser exibido independentemente dos aspectos de exibição visual da interface do usuário.
123. Interface de usuário pró-ativa, de acordo com a reivindicação 116, caracterizada pelo fato da interface de usuário pró-ativa controlar o avatar a ser exibido independentemente dos aspectos de exibição visual da interface do usuário.
124. Interface de usuário pró-ativa, de acordo com a reivindicação 117, caracterizada pelo fato da interface de usuário pró-ativa controlar o avatar a ser exibido independentemente dos aspectos de exibição visual da interface do usuário.
125. Interface de usuário pró-ativa, de acordo com a reivindicação 118, caracterizada pelo fato da interface de usuário pró-ativa controlar o avatar a ser exibido independentemente dos aspectos de exibição visual da interface do usuário.
126. Interface de usuário pró-ativa, de acordo com a reivindicação 119, caracterizada pelo fato da interface de usuário pró-ativa controlar o avatar a ser exibido independentemente dos aspectos de exibição visual da interface do usuário.
127. Interface de usuário pró-ativa, de acordo com a reivindicação 120, caracterizada pelo fato da interface de usuário pró-ativa controlar o avatar a ser exibido independentemente dos aspectos de exibição visual da interface do usuário.
128. Interface de usuário pró-ativa, de acordo com a reivindicação 100, caracterizada pelo fato do agente inteligente comunicar-se com um objeto que é encontrado em um ambiente virtual.
129. Interface de usuário pró-ativa, de acordo com a reivindicação 128, caracterizada pelo fato do objeto no ambiente virtual incluir pelo menos um dentre: uma bola, um bom animal, alimento, um animal ruim, uma casa, e brinquedos.
130. Interface de usuário pró-ativa, de acordo com a reivindicação 129, caracterizada pelo fato do objeto no ambiente virtual incluir uma entrada gradeada para o estado do agente.
131. Interface de usuário pró-ativa, de acordo com a reivindicação 130, caracterizada pelo fato do objeto no ambiente virtual tornar-se um incentivo ou um desincentivo para o agente continuar o comportamento para o qual retro-alimentação foi fornecida.
132. Interface de usuário pró-ativa, de acordo com a reivindicação 130, caracterizada pelo fato da entrada gradeada incluir pontos de recompensa fornecidos pelo agente, e do agente responder aos pontos de recompensa.
133. Interface de usuário pró-ativa, de acordo com a reivindicação 100, caracterizada pelo fato da sugestão ser determinada por uma estratégia com base em regras.
134. Interface de usuário pró-ativa, de acordo com a reivindicação 133, caracterizada pelo fato da estratégia com base em regras compreender: consultar uma base de conhecimento quando um evento ocorrer, e receber uma resposta dela; determinar se o evento é válido ou não; gerar uma ação correspondente ao evento e determinar a prioridade para a ação; e efetuar a ação de prioridade mais alta dentre as ações que correspondem ao evento.
135. Interface de usuário pró-ativa, de acordo com a reivindicação 134, carac ter i zada pelo fato da ação de prioridade mais alta ser uma ação que maximiza a recompensa total agregada de um ambiente virtual ou uma entrada gradeada na forma de estímulo ou desestimulo da retro-alimentação.
136. Interface de usuário pró-ativa, de acordo com a reivindicação 133, caracterizada pelo fato da interface de usuário pró-ativa criar uma emoção do agente com base em uma mudança de pelo menos uma dentre; uma probabilidade de sucesso (LOS) e uma probabilidade de fracasso (LOF) de uma meta abstrata do agente.
137. Interface de usuário pró-ativa, de acordo com a reivindicação 134, caracterizada pelo fato da interface de usuário pró-ativa criar uma emoção do agente com base em uma mudança de pelo menos uma dentre: uma probabilidade de sucesso (LOS) e uma probabilidade de fracasso (LOF) de uma meta abstrata do agente.
138. Interface de usuário pró-ativa, de acordo com a reivindicação 135, caracterizada pelo fato da interface de usuário pró-ativa criar uma emoção do agente com base em uma mudança de pelo menos uma dentre: uma probabilidade de sucesso (LOS) e uma probabilidade de fracasso (LOF) de uma meta abstrata do agente.
139. Interface de usuário pró-ativa, de acordo com a reivindicação 136, caracterizada pelo fato da emoção criada ser acumulada, e do agente expressar um estado emocional toda vez que um padrão de comportamento dominante mudar.
140. Interface de usuário pró-ativa, de acordo com a reivindicação 137, caracterizada pelo fato da emoção criada ser acumulada, e do agente expressar um estado emocional toda vez que um padrão de comportamento dominante mudar.
141. Interface de usuário pró-ativa, de acordo com a reivindicação 138, caracterizada pelo fato da emoção criada ser acumulada, e do agente expressar um estado emocional toda vez que um padrão de comportamento dominante mudar.
142. Interface de usuário pró-ativa, de acordo com a reivindicação 139, caracterizada pelo fato do estado emocional ser expresso utilizando pelo menos um de comunicação textual, animação em três dimensões, expressões faciais, efeitos animados bidimensionais e sons.
143. Interface de usuário pró-ativa, de acordo com a reivindicação 140, caracterizada pelo fato do estado emocional ser expresso utilizando pelo menos um de comunicação textual, animação em três dimensões, expressões faciais, efeitos animados bidimensionais e sons.
144. Interface de usuário pró-ativa, de acordo com a reivindicação 141, caracterizada pelo fato do estado emocional ser expresso utilizando pelo menos um de comunicação textual, animação em três dimensões, expressões faciais, efeitos animados bidimensionais e sons.
BRPI0413327A 2003-09-05 2004-09-06 interface de usuário pró-ativa que inclui agente evolutivo BRPI0413327B1 (pt)

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
KR1020040016266A KR100680190B1 (ko) 2003-09-05 2004-03-10 진화하는 에이전트를 갖는 사전 행동적 사용자 인터페이스
KR20040016263 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 (2)

Publication Number Publication Date
BRPI0413327A BRPI0413327A (pt) 2006-10-10
BRPI0413327B1 true BRPI0413327B1 (pt) 2017-02-14

Family

ID=36096819

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0413327A BRPI0413327B1 (pt) 2003-09-05 2004-09-06 interface de usuário pró-ativa que inclui agente evolutivo

Country Status (5)

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

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
KR101145534B1 (ko) * 1999-05-19 2012-06-01 디지맥 코포레이션 컴퓨터들을 제어하거나 물리적 및 전자적 객체들로부터 인터넷 리소스들에 링크하기 위한 방법들 및 시스템들
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
AU2004271482A1 (en) 2005-03-17
CA2536233A1 (en) 2005-03-17
MXPA06002130A (es) 2006-05-31
CA2536233C (en) 2014-04-29
AU2004271482B2 (en) 2009-02-26
BRPI0413327A (pt) 2006-10-10
WO2005024649A1 (en) 2005-03-17

Similar Documents

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

Legal Events

Date Code Title Description
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]
B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 18A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2686 DE 28-06-2022 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.