SlideShare une entreprise Scribd logo
1  sur  40
Regras de Produção: o Motor de Inferência JESS Prof. Fred Freitas CIn - UFPE
Componentes de um  Motor de Inferência ,[object Object],[object Object],[object Object]
Regras de Produção ,[object Object],[object Object],[object Object],[object Object],[object Object]
Regras de Produção ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sistemas de Produção ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Módulos de Sistemas de Produção ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitetura de Sistemas de Produção
Funcionamento de um sistema de regras de produção ,[object Object],[object Object],[object Object],[object Object],[object Object]
Sistemas Especialistas Facts "Item #123 is expensive speakers" "Gold cables are expensive" "Bob is a customer" "Bob is buying item #123" Rules "Recommend appropriate cables when customers buy speakers" Inference Engine List of Actions to Take "Recommend that Bob buy gold cables." O problema é simples... [Friedman-Hill]
Sistemas Especialistas Facts Rules Inference Engine For every customer, for every item in their cart, if it is speakers, for every catalog item, if the cart item is the catalog item, if the catalog item is in some price category, for every catalog item, if it is a cable and it is in the same category, recommend that cable to that customer. List of Actions to Take "Recommend that Bob buy gold cables." ... Mas a solução é cara: O (RF P )
O Algoritmo Rete ,[object Object],[object Object],[object Object],[object Object],[object Object]
O Algoritmo Rete Facts Rules Inference Engine When a customer picks out an item, if it is speakers, recommend the appropriate cables. List of Actions to Take "Recommend that Bob buy gold cables." ... o algoritmo Rete pode ser O(RF)
O Algoritmo Rete ,[object Object],[object Object],x? y? x? y? z? p q “ rede de  padrões" “ rede  conjunta" 8 nós [Friedman-Hill]
O Algoritmo Rete ,[object Object],[object Object],x? y? z? p q 6 nós Otimização 1: Compartilhamento da rede de padrões x & y => assert(p) x & y & z => assert(q)
O Algoritmo Rete ,[object Object],[object Object],x? y? z? p q 5 nós Otimização 2: Compartilhamento na  rede conjunta x & y => assert(p) x & y & z => assert(q)
Boas práticas: eficiência ,[object Object],[object Object],[object Object]
Praticando ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Definindo fatos e regras ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemplos ,[object Object],[object Object],[object Object]
Problemas de mergulho: DIVER1.CLP
[object Object],[object Object],[object Object],[object Object]
A Linguagem das Regras ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[Friedman-Hill]
Pacotes (módulos) de Regras ,[object Object],[object Object],[object Object],[object Object]
Qualidades das Regras ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Desvantagens ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sistemas de Produção Plugáveis   ,[object Object],[object Object],[object Object],[object Object]
CLIPS: Integração C-regras ,[object Object],[object Object],[object Object]
JESS  - Java Expert System Shell ,[object Object],[object Object],[object Object]
Frames  e Herança em JESS ,[object Object],[object Object],(deftemplate ANIMAL (slot color) (slot weight)) (deftemplate CAT extends ANIMAL (slot whisker-count))  ;;CAT has three slots: color, weight, and whisker-count (deftemplate box    (slot location)   (multislot contents)) (assert   (box(location kitchen)    (contents spatula sponge frying-pan))) ,[object Object]
Manipulando JESS a partir de Java ,[object Object],public void definaInstancia(String atomo, Object objeto) throws ReteException { Funcall f = new Funcall("definstance", rete); f.add(new Value(atomo, RU.ATOM)); f.add(new Value(objeto, RU.EXTERNAL_ADDRESS)); f.simpleExecute(f, rete.globalContext()); }
Integração com Java  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Integração com Java ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[Friedman-Hill]
Jess e Ontologias via Protégé ,[object Object],[object Object],[object Object],[object Object]
Achar as cidades paraibanas mais próximas (entre 5   ) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Estilo de programar com regras ,[object Object],[object Object],[object Object],[object Object]
1º. Calcular as distâncias ,[object Object],[object Object],[object Object],[object Object],[object Object]
1º. Calcular as distâncias ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
3º Achar o menor ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
3º Achar o menor ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Conclusões ,[object Object],[object Object],[object Object],[object Object],[object Object]

Contenu connexe

Tendances

Introdução a eletrodinâmica 3ed griffiths respostas - inglês
Introdução a eletrodinâmica 3ed griffiths   respostas - inglêsIntrodução a eletrodinâmica 3ed griffiths   respostas - inglês
Introdução a eletrodinâmica 3ed griffiths respostas - inglêsAbner Borges
 
Aula 16: Exercícios
Aula 16: ExercíciosAula 16: Exercícios
Aula 16: ExercíciosAdriano Silva
 
Alg2 notas de aula 01
Alg2 notas de aula 01Alg2 notas de aula 01
Alg2 notas de aula 01gpressato
 
Tutorial active inspire profissional
Tutorial active inspire profissionalTutorial active inspire profissional
Tutorial active inspire profissionalJoao Ferreira
 
Aula 21: Exercícios
Aula 21: ExercíciosAula 21: Exercícios
Aula 21: ExercíciosAdriano Silva
 
Função exponencial exercícios resolvidos
Função exponencial   exercícios resolvidosFunção exponencial   exercícios resolvidos
Função exponencial exercícios resolvidosjorgehenriqueangelim
 
Introdução aos kits Lego RCX
Introdução aos kits Lego RCXIntrodução aos kits Lego RCX
Introdução aos kits Lego RCXFernando Passold
 
Calculo vetorial
Calculo vetorialCalculo vetorial
Calculo vetorialtooonks
 
Teoria elementar dos conjuntos
Teoria elementar dos conjuntosTeoria elementar dos conjuntos
Teoria elementar dos conjuntosPaula Ferreira
 
Variational Autoencoders For Image Generation
Variational Autoencoders For Image GenerationVariational Autoencoders For Image Generation
Variational Autoencoders For Image GenerationJason Anderson
 
18 series de taylor e de maclaurin
18 series de taylor e de maclaurin18 series de taylor e de maclaurin
18 series de taylor e de maclaurinGabriela Cristina
 
Congruências Quadráticas
Congruências QuadráticasCongruências Quadráticas
Congruências QuadráticasLuciana Martino
 
"Accelerating Deep Learning Using Altera FPGAs," a Presentation from Intel
"Accelerating Deep Learning Using Altera FPGAs," a Presentation from Intel"Accelerating Deep Learning Using Altera FPGAs," a Presentation from Intel
"Accelerating Deep Learning Using Altera FPGAs," a Presentation from IntelEdge AI and Vision Alliance
 
Resolução da lista 11
Resolução da lista 11Resolução da lista 11
Resolução da lista 11Ronaldo Chaves
 
Aula 7 - Funções Logarítmicas, Exponenciais e Trigonometricas
Aula 7 - Funções Logarítmicas, Exponenciais e TrigonometricasAula 7 - Funções Logarítmicas, Exponenciais e Trigonometricas
Aula 7 - Funções Logarítmicas, Exponenciais e TrigonometricasTurma1NC
 

Tendances (20)

Introdução a eletrodinâmica 3ed griffiths respostas - inglês
Introdução a eletrodinâmica 3ed griffiths   respostas - inglêsIntrodução a eletrodinâmica 3ed griffiths   respostas - inglês
Introdução a eletrodinâmica 3ed griffiths respostas - inglês
 
Aula 16: Exercícios
Aula 16: ExercíciosAula 16: Exercícios
Aula 16: Exercícios
 
Alg2 notas de aula 01
Alg2 notas de aula 01Alg2 notas de aula 01
Alg2 notas de aula 01
 
Tutorial active inspire profissional
Tutorial active inspire profissionalTutorial active inspire profissional
Tutorial active inspire profissional
 
Aula 21: Exercícios
Aula 21: ExercíciosAula 21: Exercícios
Aula 21: Exercícios
 
Estudos de Controle - Aula 2: Laplace
Estudos de Controle - Aula 2: LaplaceEstudos de Controle - Aula 2: Laplace
Estudos de Controle - Aula 2: Laplace
 
Tabela de integrais
Tabela de integraisTabela de integrais
Tabela de integrais
 
Função exponencial exercícios resolvidos
Função exponencial   exercícios resolvidosFunção exponencial   exercícios resolvidos
Função exponencial exercícios resolvidos
 
Aula 01 conjuntos
Aula 01   conjuntosAula 01   conjuntos
Aula 01 conjuntos
 
Exercice suites réelles
Exercice suites réellesExercice suites réelles
Exercice suites réelles
 
Introdução aos kits Lego RCX
Introdução aos kits Lego RCXIntrodução aos kits Lego RCX
Introdução aos kits Lego RCX
 
Calculo vetorial
Calculo vetorialCalculo vetorial
Calculo vetorial
 
Relatório 1
Relatório 1Relatório 1
Relatório 1
 
Teoria elementar dos conjuntos
Teoria elementar dos conjuntosTeoria elementar dos conjuntos
Teoria elementar dos conjuntos
 
Variational Autoencoders For Image Generation
Variational Autoencoders For Image GenerationVariational Autoencoders For Image Generation
Variational Autoencoders For Image Generation
 
18 series de taylor e de maclaurin
18 series de taylor e de maclaurin18 series de taylor e de maclaurin
18 series de taylor e de maclaurin
 
Congruências Quadráticas
Congruências QuadráticasCongruências Quadráticas
Congruências Quadráticas
 
"Accelerating Deep Learning Using Altera FPGAs," a Presentation from Intel
"Accelerating Deep Learning Using Altera FPGAs," a Presentation from Intel"Accelerating Deep Learning Using Altera FPGAs," a Presentation from Intel
"Accelerating Deep Learning Using Altera FPGAs," a Presentation from Intel
 
Resolução da lista 11
Resolução da lista 11Resolução da lista 11
Resolução da lista 11
 
Aula 7 - Funções Logarítmicas, Exponenciais e Trigonometricas
Aula 7 - Funções Logarítmicas, Exponenciais e TrigonometricasAula 7 - Funções Logarítmicas, Exponenciais e Trigonometricas
Aula 7 - Funções Logarítmicas, Exponenciais e Trigonometricas
 

En vedette

VI Encontro CECIEx - Rodrigo Cota
VI Encontro CECIEx - Rodrigo CotaVI Encontro CECIEx - Rodrigo Cota
VI Encontro CECIEx - Rodrigo Cota24x7 COMUNICAÇÃO
 
FGV / IBRE - O PAC e as Políticas Públicas de Incentivo ao Desenvolvimento do...
FGV / IBRE - O PAC e as Políticas Públicas de Incentivo ao Desenvolvimento do...FGV / IBRE - O PAC e as Políticas Públicas de Incentivo ao Desenvolvimento do...
FGV / IBRE - O PAC e as Políticas Públicas de Incentivo ao Desenvolvimento do...FGV | Fundação Getulio Vargas
 
Novo fundo garantidor de PPPs federais pode também ser utilizado por Estados ...
Novo fundo garantidor de PPPs federais pode também ser utilizado por Estados ...Novo fundo garantidor de PPPs federais pode também ser utilizado por Estados ...
Novo fundo garantidor de PPPs federais pode também ser utilizado por Estados ...Mauricio Portugal Ribeiro
 
Quais são as garantias de pagamento público ideais para contratos de PPP?
Quais são as garantias de pagamento público ideais para contratos de PPP?Quais são as garantias de pagamento público ideais para contratos de PPP?
Quais são as garantias de pagamento público ideais para contratos de PPP?Mauricio Portugal Ribeiro
 

En vedette (6)

Ops5
Ops5Ops5
Ops5
 
20130913 concessoes
20130913 concessoes20130913 concessoes
20130913 concessoes
 
VI Encontro CECIEx - Rodrigo Cota
VI Encontro CECIEx - Rodrigo CotaVI Encontro CECIEx - Rodrigo Cota
VI Encontro CECIEx - Rodrigo Cota
 
FGV / IBRE - O PAC e as Políticas Públicas de Incentivo ao Desenvolvimento do...
FGV / IBRE - O PAC e as Políticas Públicas de Incentivo ao Desenvolvimento do...FGV / IBRE - O PAC e as Políticas Públicas de Incentivo ao Desenvolvimento do...
FGV / IBRE - O PAC e as Políticas Públicas de Incentivo ao Desenvolvimento do...
 
Novo fundo garantidor de PPPs federais pode também ser utilizado por Estados ...
Novo fundo garantidor de PPPs federais pode também ser utilizado por Estados ...Novo fundo garantidor de PPPs federais pode também ser utilizado por Estados ...
Novo fundo garantidor de PPPs federais pode também ser utilizado por Estados ...
 
Quais são as garantias de pagamento público ideais para contratos de PPP?
Quais são as garantias de pagamento público ideais para contratos de PPP?Quais são as garantias de pagamento público ideais para contratos de PPP?
Quais são as garantias de pagamento público ideais para contratos de PPP?
 

Similaire à Regras de Produção: o Motor de Inferência JESS

BRMS - Business Rules Management System
BRMS - Business Rules Management SystemBRMS - Business Rules Management System
BRMS - Business Rules Management SystemSamuel Tauil
 
Java Desktop
Java DesktopJava Desktop
Java Desktopciceroclc
 
J Boss Rules Mgjug V2
J Boss Rules Mgjug V2J Boss Rules Mgjug V2
J Boss Rules Mgjug V2Breno Barros
 
As Novidades Do C# 4.0 - NetPonto
As Novidades Do C# 4.0 - NetPontoAs Novidades Do C# 4.0 - NetPonto
As Novidades Do C# 4.0 - NetPontoPaulo Morgado
 
Akka no Just Java 2012
Akka no Just Java 2012Akka no Just Java 2012
Akka no Just Java 2012Paulo Siqueira
 
Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmDesenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmGuilherme Blanco
 
Descoberta de Conhecimento em Bancos de Dados e Mineração de Dados
Descoberta de Conhecimento em Bancos de Dados e Mineração de DadosDescoberta de Conhecimento em Bancos de Dados e Mineração de Dados
Descoberta de Conhecimento em Bancos de Dados e Mineração de DadosEduardo de Lucena Falcão
 
Desenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVADesenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVAWillian Magalhães
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com javaMaurício Linhares
 
Domain Driven Design (DDD) - DevIsland, BH
Domain Driven Design (DDD) - DevIsland, BHDomain Driven Design (DDD) - DevIsland, BH
Domain Driven Design (DDD) - DevIsland, BHGiovanni Bassi
 
LINQ - Language Integrated Query
LINQ - Language Integrated QueryLINQ - Language Integrated Query
LINQ - Language Integrated QueryDalton Valadares
 
Apresentação sobre MVVMC
Apresentação sobre MVVMCApresentação sobre MVVMC
Apresentação sobre MVVMCAlisson Agiani
 
Mobileconf dicas-android
Mobileconf dicas-androidMobileconf dicas-android
Mobileconf dicas-androidAlberto Souza
 
ASP.Net Módulo 2
ASP.Net   Módulo 2ASP.Net   Módulo 2
ASP.Net Módulo 2michellobo
 

Similaire à Regras de Produção: o Motor de Inferência JESS (20)

BRMS - Business Rules Management System
BRMS - Business Rules Management SystemBRMS - Business Rules Management System
BRMS - Business Rules Management System
 
Java Desktop
Java DesktopJava Desktop
Java Desktop
 
J Boss Rules Mgjug V2
J Boss Rules Mgjug V2J Boss Rules Mgjug V2
J Boss Rules Mgjug V2
 
Performance em Java
Performance em JavaPerformance em Java
Performance em Java
 
As Novidades Do C# 4.0 - NetPonto
As Novidades Do C# 4.0 - NetPontoAs Novidades Do C# 4.0 - NetPonto
As Novidades Do C# 4.0 - NetPonto
 
Akka no Just Java 2012
Akka no Just Java 2012Akka no Just Java 2012
Akka no Just Java 2012
 
Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmDesenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine Orm
 
Descoberta de Conhecimento em Bancos de Dados e Mineração de Dados
Descoberta de Conhecimento em Bancos de Dados e Mineração de DadosDescoberta de Conhecimento em Bancos de Dados e Mineração de Dados
Descoberta de Conhecimento em Bancos de Dados e Mineração de Dados
 
Desenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVADesenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVA
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com java
 
Tdc2010 web
Tdc2010 webTdc2010 web
Tdc2010 web
 
Jdbc e hibernate
Jdbc e hibernateJdbc e hibernate
Jdbc e hibernate
 
Domain Driven Design (DDD) - DevIsland, BH
Domain Driven Design (DDD) - DevIsland, BHDomain Driven Design (DDD) - DevIsland, BH
Domain Driven Design (DDD) - DevIsland, BH
 
LINQ - Language Integrated Query
LINQ - Language Integrated QueryLINQ - Language Integrated Query
LINQ - Language Integrated Query
 
DDD > Experiências
DDD > ExperiênciasDDD > Experiências
DDD > Experiências
 
Apresentação sobre MVVMC
Apresentação sobre MVVMCApresentação sobre MVVMC
Apresentação sobre MVVMC
 
Mobileconf dicas-android
Mobileconf dicas-androidMobileconf dicas-android
Mobileconf dicas-android
 
ASP.Net Módulo 2
ASP.Net   Módulo 2ASP.Net   Módulo 2
ASP.Net Módulo 2
 
Threads 09: Paralelismo
Threads 09: ParalelismoThreads 09: Paralelismo
Threads 09: Paralelismo
 
Java e orientação a objetos
Java e orientação a objetosJava e orientação a objetos
Java e orientação a objetos
 

Plus de elliando dias

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slideselliando dias
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScriptelliando dias
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structureselliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de containerelliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Webelliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorceryelliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Designelliando dias
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makeselliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebookelliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Studyelliando dias
 

Plus de elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Regras de Produção: o Motor de Inferência JESS

  • 1. Regras de Produção: o Motor de Inferência JESS Prof. Fred Freitas CIn - UFPE
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7. Arquitetura de Sistemas de Produção
  • 8.
  • 9. Sistemas Especialistas Facts "Item #123 is expensive speakers" "Gold cables are expensive" "Bob is a customer" "Bob is buying item #123" Rules "Recommend appropriate cables when customers buy speakers" Inference Engine List of Actions to Take "Recommend that Bob buy gold cables." O problema é simples... [Friedman-Hill]
  • 10. Sistemas Especialistas Facts Rules Inference Engine For every customer, for every item in their cart, if it is speakers, for every catalog item, if the cart item is the catalog item, if the catalog item is in some price category, for every catalog item, if it is a cable and it is in the same category, recommend that cable to that customer. List of Actions to Take "Recommend that Bob buy gold cables." ... Mas a solução é cara: O (RF P )
  • 11.
  • 12. O Algoritmo Rete Facts Rules Inference Engine When a customer picks out an item, if it is speakers, recommend the appropriate cables. List of Actions to Take "Recommend that Bob buy gold cables." ... o algoritmo Rete pode ser O(RF)
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.