Planejamento Clássico

filósofo
0.6 – Planejamento
0.6.1 – Planejamento Classico
0.6.1.1 – STRIPS
0.6.1.2 – Graphplan
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

suposições do mundo simplificado

Planejamento clássico opera sob suposições que simplificam drasticamente o problema. O mundo é assumido como totalmente observável: conhecemos todas as informações relevantes. O ambiente é determinístico: cada ação tem um único resultado previsível e garantido. O tempo é discreto: ações ocorrem em etapas sequenciais sem concorrência. Além disso, os objetivos são estáticos, não mudam durante o planejamento. Por exemplo, no mundo dos blocos, sabemos posição de cada bloco a todo momento. Essas suposições permitem que planejadores clássicos usem algoritmos eficientes e completos. Elas definem o paradigma fundamental do planejamento em IA.

representação com STRIPS

STRIPS (Stanford Research Institute Problem Solver) é a representação clássica para planejamento. Ela descreve estados como conjuntos de predicados atômicos que são verdadeiros no momento. Ações são definidas por três componentes: pré-condições, efeitos positivos e efeitos negativos. Por exemplo, ação “pegar(bloco)” requer “mão_vazia” e “bloco_livre” como pré-condições. Seus efeitos: adiciona “segurando(bloco)” e remove “bloco_livre” e “mão_vazia”. Um plano é uma sequência de ações que transforma o estado inicial no objetivo. Essa representação simples e expressiva tornou-se padrão na área.

exemplo prático com strips

Considere um problema simples com dois blocos A e B sobre a mesa. Estado inicial: “sobre_mesa(A)”, “sobre_mesa(B)”, “mão_vazia”. Objetivo: “sobre(A,B)” (bloco A sobre bloco B). Ação “pegar(bloco)” exige “sobre_mesa(bloco)” e “mão_vazia”. Seus efeitos: “segurando(bloco)” e negação de “sobre_mesa(bloco)” e “mão_vazia”. Ação “colocar(bloco, alvo)” exige “segurando(bloco)” e “livre(alvo)”. Seus efeitos: “sobre(bloco, alvo)”, “mão_vazia” e negação de “segurando(bloco)” e “livre(alvo)”. O plano: pegar(A), colocar(A,B). Esse exemplo mostra como ações transformam predicados sistematicamente.

algoritmos de planejamento clássico

Planejadores clássicos utilizam busca no espaço de estados ou no espaço de planos. Busca no espaço de estados explora diferentes estados aplicando ações sucessivamente. Busca no espaço de planos trabalha com planos parciais, refinando-os até completude. O algoritmo STRIPS original utilizava busca com encadeamento para trás a partir do objetivo. Planejadores modernos como FF (Fast-Forward) usam heurísticas derivadas de problemas relaxados. A heurística remove pré-condições negativas, criando um problema mais fácil de resolver. Essa abordagem permite encontrar planos eficientes mesmo em problemas complexos.

limitações e legado

O planejamento clássico enfrenta limitações quando aplicado a problemas do mundo real. A suposição de observabilidade total falha em ambientes com sensores limitados. O determinismo não captura ações que podem falhar ou ter resultados variáveis. O mundo real é concorrente e contínuo, não discreto e sequencial. Apesar disso, o planejamento clássico estabeleceu fundamentos teóricos sólidos. Extensões como planejamento probabilístico e planejamento com observabilidade parcial abordam essas limitações. Para iniciantes, o planejamento clássico oferece a base conceitual para entender planejamento automatizado. Ele revela como problemas complexos podem ser resolvidos com ações estruturadas e raciocínio lógico.

Redes Semanticas para PLN

filósofo
0.5 – Processamento de Linguagem Natural – Simbolico
0.5.3 – Semantica e Pragmatica
0.5.3.1 – Representacao de Significado – Logica
0.5.3.2 – Redes Semanticas para PLN
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

conceitos conectados em rede

Redes semânticas representam conhecimento como um grafo onde conceitos são nós e relações são arestas. No processamento de linguagem natural, elas capturam o significado de palavras e suas conexões. Primeiramente, “cachorro” se conecta a “animal” pela relação “é_um”, e a “late” pela relação “faz”. Além disso, essa estrutura permite que sistemas naveguem por conceitos relacionados para compreender textos. Diferente da lógica formal, redes semânticas oferecem uma representação mais intuitiva e visual. Consequentemente, elas facilitam a propagação de ativação: um conceito ativado espalha ativação para conceitos vizinhos. Portanto, essa propriedade auxilia em desambiguação e recuperação de informação.

propagação de ativação e inferência

A propagação de ativação funciona como um mecanismo poderoso para raciocinar sobre redes semânticas. Quando um nó recebe ativação (ex: pela leitura de uma palavra), ele transmite ativação para nós conectados. A intensidade da ativação diminui com a distância percorrida na rede semântica. Por exemplo, ao ler “cachorro”, ativam-se “animal” e “mamífero” com intensidade menor. Dessa forma, esse processo permite inferir conceitos relacionados mesmo sem regras explícitas. Além disso, a ativação pode vir de múltiplas fontes, somando-se para determinar relevância. Assim, esse mecanismo opera amplamente em sistemas de recuperação de informação e busca semântica.

exemplo prático: wordnet

WordNet constitui a rede semântica mais conhecida e amplamente utilizada em processamento de linguagem natural. Ela organiza substantivos, verbos, adjetivos e advérbios em conjuntos de sinônimos (synsets). Cada synset representa um conceito único e se conecta a outros por relações semânticas. Por exemplo, “carro” possui relações como “hipônimo” de “veículo” e “merônimo” de “motor”. Além disso, a rede contém também relações de antonímia, causa e derivação entre palavras. Consequentemente, WordNet serve como recurso fundamental para tarefas como desambiguação e similaridade semântica. Para iniciantes, WordNet oferece uma introdução concreta ao poder das redes semânticas no PLN.

construção de significado em frases

Redes semânticas podem combinar-se com análise sintática para construir significado de frases. Cada palavra contribui com seu nó e relações que se combinam segundo a estrutura sintática. Por exemplo, “cachorro late” combina os nós “cachorro” e “late” com uma relação “agente”. O sintagma nominal fornece o agente, enquanto o verbo fornece a ação executada. Dessa maneira, a árvore sintática guia como os nós devem se conectar na rede resultante. O resultado se configura como uma representação gráfica do significado da frase completa. Portanto, essa abordagem permite que sistemas compreendam quem fez o quê para quem.

aplicações e integração moderna

Redes semânticas permanecem fundamentais em sistemas modernos de processamento de linguagem natural. Elas operam em motores de busca para entender a intenção por trás das consultas. Sistemas de resposta a perguntas navegam por redes semânticas para encontrar respostas precisas. Grafos de conhecimento, como o Knowledge Graph do Google, constituem redes semânticas em escala massiva. Além disso, a integração com aprendizado de máquina permite construir e expandir redes semanticamente a partir de textos. Por fim, para iniciantes, redes semânticas oferecem uma ponte entre representação simbólica e aplicações práticas. Elas demonstram como conhecimento estruturado pode auxiliar na compreensão eficaz da linguagem.