Tutorial sôbre Tabela de Decisões Representação tabular da solução de um problema lógico
1. O que éLinguagem para representar a solução de um problema de lógica , na forma tabular, com objetivo de avaliar uma regra (combinação de condições) e determinar que ações executar, garantindo que não haja redundancias (ações iguais para regras iguais) nem contradições (ações diferentes para regras iguais).

Exemplo:

C1 Condição é verdade ?
C2 Condição é falsa ?
C3 Regra existe ?
C4 Ação é valida (não tem redundancia nem contradição) ?

S  N  -   -    condição é 1
S  S   -   -    condição é 0
S   -   S  -   associar regra a ação (nenhuma ou muitas)
S  N  S  S  ação é 1
S  N  S  N ação é 0

Outro exemplo:

Profissional empreendedor consegue atender cliente?
Serviço é viável?
Serviço dentro do escopo do Projeto Apoie?

1 - -    Profissional atende seu cliente, não precisa de auxílio
0 1 1   criar projeto com Profissional em parceria com Projeto Apoie
0 0 1   fazer proposta para viabilizar serviço
0 - 0    fora do escopo atual do Projeto Apoie 
2. Como funcionam as tabelasO processo para avaliar se a lógica da solução de um problema esta correta, parte do problema resolvido ou seja as condições e ações para resolver um problema já foram obtidas. A partir dai o processo é o seguinte:
  • Avaliar se a condição é verdadeira  => trasnformar a condição em 1
  • Avaliar se a condição é falsa           => transformar a condição em zero 
  • Avaliar se a regra existe                  => Para cada sequencia de zeros e uns associar a nenhuma, uma ou mais                                                                       ações.
  • Se uma ação é valida (sem redundancia nem contradição) => transforma a ação em 1
  • Se uma ação é invalida                    => transforma a açao em 0
  • Para qualquer outra condição          => terminar o processo
3. SemanticaSe a combinação de determinadas condições é uma regra existente => certas ações devem ser realizadas.
  • SE regra existe => execute ação

    =>           -  então
    Condição -  é um evento ou fato que influi nas ações a serem tomadas.
    Regra       -  é uma sequência de símbolos, cada um relacionado a uma condição. O símbolo pode ser: {1, 0} para                     indicar o resultado da avaliação. É usado o símbolo "-" para indicar que a condição é                                             irrelevante.
    Ações      -  qualquer operação ou processo a ser executado
4. Sintaxe
5. Como ler as tabelas. condição
.
.
v ----------> ação
6. Como obter as condições e açõesNo método classico - usado quando já existe um procedimeto pré definido.
  • Identificar as condições
    Listar todas as condições, quando identificadas
    As condições devem estar na sequencia das mais importante para menos importante
    As condições devem ser sempre que possivel, independente ou mutamente exclusivas
    Evitar condições negativas
    Pode ser: pergunta, expressão lógica, expressão aritmética.
  • Identificar as ações
    Listar na sequencia que elas aparecem.
    As açoes devem ser declarações imperativas
  • Matriz de condições
    Formar a matriz com todas as combinações possiveis

  • Combinação das regras
    Combinar as regras simples de acordo com a tabela abaixo:
    C1 Ações são identicas?
    C2 Tôdas as condições a excessão de uma tem o mesmo valor?
    C3 Condições com valores diferentes repete todos os valores para aquela condição?
    S S S       Pode ser combinado
    S S N
    S N S
    S N N
    N -  -       Não pode ser combinado

  • Verificação final da tabela
    Quanto ao conteudo: o cheque deve garantir que as ações associadas as regras estão corretas.

    Quanto a estrutura:
        cheque aritimético: Toda tabela tem 2 elevado a n condições ou seja para 3 condições tem 2 elevado a 3                 condições ou seja 8.
Desenvolvimento progressivo da regra - usado em entrevistas e tabelas grandes
  1. Considere uma condição verdadeira
  2. Considere as outras condições como a condição verdadeira até achar uma ação
  3. Registre as condições e ações
  4. Negue a ultima condição da sequencia
  5. Volte ao passo 2 enquanto a tabela estiver incompleta
  6. Ao terminar a tabela , faça um verificação aritmética ou bifurcação
7. Como usar as tabelasNa programação - Html com Javascript
  • <html>
    <body>
    <script type="text/javascript">
    a=6;
    b=5;
    c=3;

    //////// condições ///////////////////
    condicao =  ["a>4", "b==5", "c==4"];

    //////// ações ///////////////////
    fazer = ["a1", "a2", "a3", "a4"];

    ////////
    regra=[
    ['01-10', 0, 1, 3],
    ['010-0', 1, 2, 3],
    ['01110', 1]];

    /////////////////////////////
    function AvaliarTabela(cond, regras, acoes){}

    //////// avaliar condições ///////////////////
    avaliado="";
    for (var i=0; i < cond.length; i++) avaliado+= eval(cond[i]);

    //////// comparar avaliado com regra, executar ações ///////////////////
    for (regra in regras){
        se cabe regras[0]        for (=1;<.lenght;++) eval([]);}}

    //////// executar ações ///////////////////
    switch (avaliado) {
    case 0: // 000
      document.write("<b>Achei 0</b>");
      break;
    case 1: // 001
      document.write("<b>Achei 1</b>");
      break;
    case 2: // 010
      document.write("<b>Achei 2</b>");
      break;
    case 6: // 110
      document.write("<b>Achei 6</b>");
      break;
    default:
      document.write("<b>Resultado foi "+avaliado+"</b>");
    }

    //////// fim //////////////////
    </script>

    <p>Fim.</p>

    </body>
    </html>

Na tomada de decisão
  • Profissional empreendedor consegue atender cliente?
    Serviço é viável?
    Serviço dentro do escopo do Projeto Apoie?

    1 - -    Profissional atende seu cliente, não precisa de auxílio
    0 1 1   criar projeto com Profissional em parceria com Projeto Apoie
    0 0 1   fazer proposta para viabilizar serviço
    0 - 0    fora do escopo atual do Projeto Apoie 
link Arquivo origem: WTutTabDecisao.xml. referencia