210 likes | 295 Views
Lógicas Descritivas & CARIN. Jacques Robin & Thiago Santos. Histórico. Redes Semânticas Nós e associações; Herança; Confusão entre classe/sub-classe e classe/instâncias; Falta de semântica clara das associações;
E N D
Lógicas Descritivas & CARIN Jacques Robin & Thiago Santos
Histórico • Redes Semânticas • Nós e associações; • Herança; • Confusão entre classe/sub-classe e classe/instâncias; • Falta de semântica clara das associações; • Nível do conhecimento diretamente mapeado para o nível da implementação, sem nível lógico intermediário. • Frames • Redes Semânticas aumentadas com: • Valores default (raciocínio não monótono); • Procedimentos. • Mesmos problemas que redes semânticas. • Lógica Descritivas: emergiram para superar as limitações destes.
Filosofia • Usar lógica para definir formalmente semântica de formalismos de representação de conhecimento OO. • Estudar computabilidade e complexidade das linguagens e serviços de inferência antes de implementá-los. • Limitar expressividade para garantir esses serviços sejam computacionalmente tratáveis. • SPIV invade a IA.
Lógicas Descritivas (LDs) • Formalismos lógicos para representação das informações sobre classes de indivíduos e suas descrições. • Subconjunto da lógica de primeira ordem, trata de: • Relações unárias (conceitos) • Exemplo: Student • {x | Student(x)} • Relações binárias (papéis); • Exemplo: SUPERVISED • {(x,y) | SUPERVISED(x,y) } • Possui também: • Construtores sobre os conceitos (,, outros) • Exemplo: PdhStudent = Student SUPERVISED.AcademicStaff • { x | Student(x) y.SUPERVISED(x,y) AcademicStaff(y) } • Indivíduos, e instâncias dos conceitos • franklin, jacques, thiago; • Student(thiago), PhdStudent(franklin), Researcher(jacques) • Trade-offs entre expressividade e complexidade computacional conhecidos.
Semântica • Baseada na teoria dos conjuntos; • Semântica definida por uma interpretação (I,I); • Conjunto não-vazio, domínio I; • Função de interpretação I que mapeia: • Todo conceito em um subconjunto de I; • Todo papel em um subconjunto de I x I; • Unicidade de nome • Se a b então aI bI • Um modelo para C é uma interpretação onde CI é não-vazio • Um conceito é satisfiable se ele possui pelo menos um modelo.
Bases de conhecimento em LD • KB = Tbox + Abox • Tbox (Terminological part) = Descrições • Exemplos: • Student = Person STUDIESAT.University • PhdStudent Student Researcher • Abox (Assertional part) = Instâncias • Exemplos: • PdhStudent (franklin) • STUDIESAT (franklin,UFPE)
Serviços de inferência • Dada uma base de conhecimento = <Tbox,Abox>, dois conceitos C e D, e um indivíduo a, chamamos: • Satisfiability: |= C • Verificar se há um modelo I de tal que CI • Exemplo: Student Person ? • Subsumption: |= C D • Verificar se C é subsumed por D. CI DI em todo modelo I de • Exemplo: Employee Person Student ? • Consistência: |= • Verificar se a própria base tem um modelo. • Exemplo: Student = Person ? • Classificação de instância: |= C(a) • Verificar se uma dada asserção é válida. • Exemplo: Person(franklin)
Raciocínio na Tbox • Tbox: • Syntax-based reasoning: Structural Comparison • Semantic-based reasoning: Constraint Systems • Expressividade Vs Complexidade • Expressividade é diretamente proporcional à complexidade computacional.
Tbox – Conceitos Student Person STUDIESAT Student University Student = Person STUDIESAT.University Employee Person AFILIATEDTO Employee Organization Employee = Person AFILIATEDTO.Organization AcademicSaff Employee SUPERVISES AcademicStaff PhdStudent AcademicSaff = Employee SUPERVISES.PdhStudent Researcher AcademicStaff PhdStudent Student Researcher SUPERVISED PhdStudent AcademicStaff PdhStudent = Student SUPERVISED.AcademicStaff Abox – Instâncias Student(thiago) STUDIESAT(thiago,UFPE) PhdStudent(franklin) STUDIESAT(franklin,UFPE) Researcher(jacques) SUPERVISED(franklin,jacques) AFILIATEDTO(jacques,UFPE) LD para o exemplo = <Tbox,Abox>
Exemplos de serviços (1/4) |= C • |= Student Person ? • Equivalente a: • Student Person = ? • Se já temos x Student(x) Person(x) • x Student(x) Person(x) x Person(x) Person(x) que é impossível. • Logo o conjunto formado pela conjunção Student Person é . Não satisfiable. Person e1 e2 ... Student en e5 e14
Exemplos de serviços (2/4) |= C D • |= AcademicStaff Researcher ? • AcademicStaff Researcher • Equivalente a: x Researcher(x) AcademicStaff(x) • O conjunto de indivíduos do tipo Researcher está contido no do conjunto de AcademicStaff. AcademicStaff e1 e2 ... Research en e5 e14
Exemplos de serviços (3/4) |= • A base contém asserções/definições contraditórias? • Adicionando Person(franklin) mantém a base consistente ? • Raciocinando com as instâncias da Abox e conceitos da Tbox, temos: • PhdStudent(franklin) : Abox • Student(franklin) : Regra PhdStudent Student da Tbox • Person(franklin) : Regra Person Student da Tbox • Ao término das expansões da Abox temos: • Abox = Abox0 , Student(franklin), Person(franklin) • Ao adicionarmos Person(franklin) teríamos uma KB com contradições, isto é, inconsistente onde franklin é Student e franklin não é Student. • Conclusão: • Uma KB que possua a Tbox anterior, não pode ter Abox com asserções do tipo PhdStudent(franklin) e Person(franklin) pois se torna uma base inconsistente.
Exemplos de serviços (4/4) |= C(a) • |= Person(franklin) ? • Raciocínio sobre a hierarquia definida na Tbox, gera: • Student(franklin) • Person(franklin) • Assim, Person(franklin) pode ser deduzido como uma instância válida dentro da KB.
Aplicações • Ontologias • Terminologia médica; • Taxonomia biológica; • Baseadas na Web (OIL, DAML+OIL). • Configuração de sistemas • Bancos de dados • Modelagem de esquemas; • Otimização de consultas; • Interoperabilidade; • Verificação de consistência dos dados.
CARIN • Linguagem que combina: • Lógicas descritivas ( ALCNR ) • Cláusulas de Horn ( Regras dedutivas) • KB = <T,R,A> • Uma Tbox da lógica descritiva (T); • Um conjunto de regras (R); • Um conjunto fatos para os conceitos, papéis e predicados que estão em T e R (A). • Contribuições • Um mecanismo de inferência completo para declarações não-recursivas em ALCNR; • Um algoritmo para determinar subsumption em ALCNR.
CARIN – Regras e Restrições • Lógica descritiva • Sejam C e D conceitos, pode-se: • Criar definições • C = D • Descrever inclusões • C D • Regras • X[p1(X1) pn(Xn) q(Y)], onde: • Y {X1,,Xn) • p1,,pn são conceitos, papéis, expressões, ou ainda predicados que não constam na Tbox. • q não pode ser um conceito ou papel. O raciocínio sobre a estrutura deve estar na Tbox, não nas regras. • Um predicado q é dito dependente de um predicado p se p é precedente em uma regra que gera q.
Regras em CARIN • Considerando a Tbox e Abox já apresentadas. • Adicionando ao componente de regras: • AcademicStaff(X) 7 SUPERVISES(X) Overloaded(X) • Student(X) AcademicStaff(Y) SUPERVISED(X,Y) SpecialStudent(X) • Poderíamos responder as perguntas: • Overloaded(jacques)? • Jacques está sobrecarregado? R: não • SpecialStudant(franklin)? • Franklin é um aluno especial? R: não
Referências • Curso de Lógicas Descritivas • Enrico Franconi, Department of Computer Science, University of Manchester, UK http://www.cs.man.ac.uk/~franconi/dl/course • Referências da aula “Ontologias na Web” • http://www.cin.ufpe.br/~compint/aulas-IAS/mci2/taias-012