Acessibilidade / Reportar erro

Resolução de equações booleanas: aplicação a um problema de decisão empresarial qualitativa

ARTIGOS

Resolução de equações booleanas: aplicação a um problema de decisão empresarial qualitativa

Walter Del Picchia

Professor-adjunto do Departamento de Engenharia de Eletricidade da Escola Politécnica da Universidade de São Paulo. Formado em engenharia eletrônica pela Escola Politécnica da USP. Livre-docente pelo Departamento de Engenharia de Eletricidade da EPUSP

Este artigo tem dupla finalidade: a) mostrar como problemas lógicos podem ser equacionados em termos das equações booleanas; b) apresentar um processo original de resolução dessas equações, o algoritmo resto-quociente, ou algoritmo RQ.

O método de resolução apresentado é resultado de trabalhos desenvolvidos no Departamento de Engenharia de Eletricidade da Escola Politécnica da USP, trabalhos que deram origem a artigos enviados para publicação no exterior.1 1 Del Picchia, W. & Martins, W. W. The numerical transform. Part I: Basis, the numerical transform. Part II: Simplification of boolean functions, the numerical transform. Part in: Resolution of boolean equations, repository system. IEEE transactions on computers. Números R72-78, R72-176, R72-177, submetidos aos IEEE Transactions on Computers; e Del Picchia, W. A numerical algorithm for the resolution of boolean equations. IEEE transaction on computers. 1974.

Sendo este um trabalho de divulgação, o método será descrito sem excessiva preocupação de rigor; contentar-nos-emos em mostrar como as equações podem ser formuladas e resolvidas.

1. PROBLEMA LÓGICO

Nosso problema-exemplo é o seguinte:2 2 Ledley, R. S. Digital computer and control engineering. New York, McGraw-Hill, 1960

A junta de diretores de certa firma manufatureira reuniu-se para decidir sobre a política de seus futuros negócios à luz de seus objetivos. Eles discutiram as relações entre dinheiro gasto em propaganda, o preço das mercadorias manufaturadas, a percentagem das comissões dos vendedores e as possíveis mudanças para um tipo mais aperfeiçoado de seus produtos, e também os vários efeitos que suas atitudes teriam no lucro total da firma e na quantidade do produto vendido. Os objetivos da firma foram claramente definidos: a) obter grande lucro (responsabilidade assumida pelos diretores); b) vender grandes quantidades de artigos manufaturados, para levar a operação da fábrica à sua máxima capacidade possível. Todos eles concordaram nos cinco pontos seguintes:

a) se a política da empresa for ou aperfeiçoar o produto, ou cortar anúncios onerosos, ou pagar aos vendedores uma comissão mais elevada ou elevar o preço das mercadorias vendidas a varejo, com a venda de um pequeno número de artigos, em qualquer desses casos, então o lucro será pequeno;

b) se grandes somas forem gastas em propaganda, sem alteração no tipo do produto , ou se houver mudança para um tipo mais aperfeiçoado e redução na dotação para propaganda, então não haverá simultaneamente um grande volume de vendas e grandes lucros;

c) se a firma tiver grande lucro ou se seu volume de vendas for elevado, então o preço dos artigos no varejo será baixo e o gasto em propaganda elevado; ou então o preço da venda a varejo será baixo com uma pequena dotação para propaganda, e haverá uma mudança para um.melhor tipo de produto sem uma baixa comissão para os vendedores;

d) se o preço da venda a varejo for baixo, se não houver corte na despesa para propaganda, e se houver comissões elevadas para os vendedores, ou se o preço de venda e as comissões forem baixos com uma mudança para aperfeiçoar o produto, então uma grande quantidade de artigos será vendida;

e) se houver um grande gasto em propaganda, com uma mudança para um produto aperfeiçoado, mas com o preço de venda conservado baixo e com muitos artigos vendidos, então haverá um lucro elevado.

Pede-se, com essas regras gerais como guia, qual deverá ser a política de tomadas de decisões da diretoria para se atingir os seguintes objetivos:

a) obter grande margem de lucro;

b) obter grande volume de vendas;

c) obter simultaneamente grande lucro e grande volume de vendas?

2. CÁLCULO DAS PROPOSIÇÕES E ÁLGEBRA BOOLEANA

Para equacionar nosso problema necessitamos introduzir alguns conceitos.

O exposto é um problema de cálculo das proposições e pode ser equacionado com auxílio da álgebra booleana de dois valores.

A álgebra booleana de dois valores é definida sobre um conjunto A de dois elementos e apresenta três operações (+, · ,' ) adiante definidas. Essas operações devem obedecer certas propriedades para obtermos uma álgebra booleana de dois valores definida sobre o conjunto A. 3 3 Eldon, J. Whitesitt. Boolean algebra and its applications. Addison-Wesley, Publ., 1961.

Notaremos os dois elementos do conjunto A com os símbolos 1 e 0. Portanto, A = (1,0) = conjunto formado pelos elementos 1 e 0.

As operações + , · , ' sobre (1,0) obedecem às seguintes tabelas (a e b representam elementos de A, e podem tomar os valores 1 ou 0) :

Todas as possíveis combinações de 0 e 1 (valores de a e b) estão nas tabelas citadas.

No caso do cálculo das proposições, obtemos uma álgebra booleana de dois valores definindo:

A = (V, F) = conjunto formado pelos elementos "proposição verdadeira" e "proposição falsa"

V = proposição verdadeira

F = proposição falsa.

Temos:

A operação + sobre 1,0 é a operação ou sobre V, F

A operação sobre 1,0 é a operação e sobre V, F

A operação sobre 1,0 é a operação não sobre V, F

Desse modo, associando V com 1, F com 0, ou com + , e com ·, não com ', obtemos as seguintes versões das tabelas de +, · , ' vistas:

Por exemplo, nestas tabelas se lê:

Se X for uma proposição falsa e Y verdadeira (X = F e Y = V), temos:

- a proposição composta X ou Y é verdadeira

- a proposição composta X e Y é falsa

- a proposição composta não X é verdadeira.

Este último caso traduz-se por: "a negação do falso é a verdade".

Utilizando os conectivos ou, e, não repetidamente podemos formar proposições compostas bem mais complexas, e por meio das tabelas citadas, usadas sucessivamente, podemos obter o valor (V ou F) das proposições compostas construídas.

Por conveniência de notação, em lugar de V, F, ou, e, não, vamos usar de agora em diante os símbolos 1,0 , + , · ,' , respectivamente (as duas notações são equivalentes).

Desse modo, a proposição composta "o sol é redondo, e a lua não é azul ou é amarela" se escreve: x · (y' + z)

com: x = o sol é redondo

y = a lua é azul

z = a lua é amarela.

Igualmente a frase "ter lucro alto ou diminuir o número de vendedores é equivalente a diminuir a produção e não gastar mais em propaganda com um aumento no número de vendedores" se escreve:

a + b' = C · d' · b

com: a = ter lucro alto

b = aumentar o número de vendedores

c = aumentar a produção

d = gastar mais em propaganda.

Nesses exemplos, os valores possíveis para cada variável são só dois; supusemos, por exemplo, que só é possível aumentar ou diminuir a produção e, desse modo, "aumentar a produção" é a negação de "diminuir a produção", e vice-versa.

Apresentamos, a seguir, uma tabela de "traduções" de expressões da língua portuguesa, nas expressões correspondentes, escritas na notação vista anteriormente (x, y são proposições).

Nesta tabela há duas novidades que necessitam de explicação:

I) x ou y (exclusivo): em nossa linguagem temos dois tipos de ou, o ou inclusivo (ou a, ou b, ou ambos) e o ou exclusivo (ou a ou b, mas não ambos). Numa frase, às vezes, é difícil determinar qual dos ou's estamos usando; outras vezes, a determinação é feita pelo sentido. Por exemplo, na frase "o professor entrou na classe pela porta da direita ou pela porta da esquerda", o ou é exclusivo, pois o professor pode ter entrado pela porta da direita ou (exclusivamente) pela porta da esquerda. Prova-se que "x ou (exclusivo) y" é equivalente a "x e não y, ou (inclusivo) não x e y" (ou seja, x · y' + x' · y).

II) x implica y: identicamente, prova-se que "x implica y" é equivalente a "não x ou y" (ou seja x y é equivalente a x' + y).

3. FUNÇÕES BOOLEANAS

Antes de resolver o problema apresentado no item 1, necessitamos de mais alguns conceitos.

Função booleana de N variáveis é uma correspondência entre cada uma das 2N possíveis combinações de valores 0,1 das variáveis a, b, c, . . . n, com um só dos valores 0 ou 1. Essa correspondência é apresentada por meio da "tabela das combinações", vista adiante.

Para N = 3 variáveis uma possível função de a, b, c é a função z, especificada pela tabela seguinte (as combinações abe são dispostas em ordem de 000 a 111).

A seqüência 1 1 0 0 0 1 1 0 (que é a coluna da direita lida de baixo para cima), desde que se especifique a ordem das variáveis, define completamente a função z. Essa seqüência, junto com N (número de variáveis), e as variáveis abe, na ordem utilizada na tabela, recebe o nome de tramformada numérica4 4 Del Picchia, W. & Martins, W. W. op. cit. e foi a criação desse conceito5 5 Martins, W. W. 1967. Escola Politécnica da USP. que possibilitou a dedução do algoritmo resto-quociente que veremos adiante. Por simplicidade, toda vez que nos quisermos referir àquela seqüência proveniente da tabela da função z, notaremos "Jz". Portanto, no exemplo, Jz = 1 1 0 0 0 1 1 0.

Um modo usual de representar uma função booleana é a notação de Caldwell, que especifica as posições dos 1's na seqüência Jz.

No exemplo dado, temos 1's nas posições 7, 6, 2, 1. Na notação de Caldwell escreveríamos:

z = Σ (7, 6, 2, 1)

Observe-se que da notação de Caldwell podemos facilmente determinar Jz e tendo-se Jz podemos determinar facilmente a notação de Caldwell da função.

Outro modo usual de representar uma função é a forma algébrica; nesse caso, a função se escreve:

z = a' · b' · c + a' · b · c' + a · b · c' + a · b · c =

= b · c' + a · b + a' · b' · c

A primeira expressão é obtida diretamente da tabela, e a segunda é deduzida da primeira por manuseio algébrico.6 6 Eldon, J. Whitesitt. op. cit.

Dando a a, b, c os valores da tabela de combinações, linha por linha, e efetuando as operações de acordo com as tabelas de +, · , ' , obtemos a coluna z.

Passar da notação algébrica de z para Jzchama-se "transformar z", e passar de Jz para a notação algébrica chama-se "antitransformar Jz" e há métodos próprios para as duas operações.

4. RESOLUÇÃO DO PROBLEMA

Em primeiro lugar, vamos escrever o sistema de equações que traduz o problema proposto e transformá-lo numa só equação equivalente ao sistema.

Sejam as proposições:

A - gastar muito em propaganda

B - melhorar o tipo de produto

C - ter alto preço de venda a varejo

D - pagar altas comissões de vendas

X - ter alto lucro

Y - ter alto volume de vendas.

O leitor poderá verificar, consultando o item 2, que as cinco afirmações ("verdades") do problema se escrevem:

I) (B + A' + D + C) · y x '

II) A · B' + A' · B (X · Y)'

III) X + Y - AC' + A' · B · C · D'

IV) A · C' · D + B · C · D' -- Y

V) A · B · C · Y -X

Como sabemos, "x y" (implicação) é equivalente a "x' + y". Como as afirmações do problema são admitidas verdadeiras (base do problema), escreveremos x' + y = 1. Aplicando essa igualdade às implicações citadas, por manuseio das expressões, vem:

I) Y + A · B' · C · D' + X' = 1

II) A' · B' + A · B + X' + Y' = 1

III) X' · Y' + A · C' + A' · B · C' · D' = 1

IV) C + A' · D + B' · D' + Y = 1

V) A' + B' + C + Y' + X = 1

Se temos várias expressões iguais a 1, a expressão obtida pelo produto (operação ) de todas expressões entre si, igualado a 1, é equivalente às expressões originais dadas.

Assim, chamando de P, Q, R, S, T às expressões à esquerda nas igualdades I, II, III, IV, V, respectivamente, obtemos:

P · Q · R · S · T = 1

Efetuando o produto obtemos uma função de X, Y, A, B, C. D que chamaremos de w (X, Y, A, B, C, D).

Portanto: w (X, Y, A, B, C, D) = P · Q · R · S · T = 1

A função w é chamada função equivalente ao sistema e pode ser expressa na notação de Caldwell. Em geral, o produto pode ser mais facilmente efetuado com auxílio da transformada numérica (TN) : obtém-se a TN de w, e a partir da mesma obtém-se a notação de Caldwell de w.

No exemplo dado, efetuando o produto obtemos, para a equação equivalente:

w (X, Y, A, B, C, D) = Σ (61, 60, 40, 20, 24, 20, 15, 14, 11, 10, 8, 7, 6, 5, 3, 2, 1, 0)

Os detalhes dessa multiplicação serão omitidos aqui, por não serem essenciais à continuação do artigo.

Ainda, o problema pede (ver o item 1) :

a) X em função de A, B, C, D

b) Y em função de A, B, C, D

c) X · Y em função de A, B, C, D

Em seguida veremos como se determinam os itens a), b) e c).

5. ALGORITMO RQ

Apresentaremos o algoritmo à medida que o aplicarmos na resolução do problema proposto.

No exemplo proposto, temos N = 6 variáveis e desejamos duas dessas variáveis (X e Y) em função das outras 4 (2 variáveis dependentes e 4 independentes). Chamando de j o número de variáveis dependentes, vem:

I) Dividem-se os números da notação de Caldwell de w por 2N-1 = 26-2= 16, obtendo-se quocientes q e restos r:

Por exemplo, 61 ÷ 16 = 3, com resto 13.

II) Ordenam-se os quocientes q de acordo com os restos r correspondentes (r vai de 0 a 2n-j-1, que é igual a 15).

III) Determinam-se todas as combinações de q's, tomando um só q para cada r, na ordem r = 2n-j-1 a r = 0 (são as várias seqüências de números que se obtêm, lendo-se a coluna da direita da tabela anterior de baixo para cima).

a) (0 0 3 3 0 0 1 2 0 0 0 1 0 0 0 0)

b) (0 0 3 3 0 0 1 1 0 0 0 1 0 0 0 0)

c) (0 0 3 3 0 0 1 0 0 0 0 1 0 0 0 0)

IV) Cada solução para X, Y (variáveis dependentes) é obtida construindo, para cada combinação citada, uma matriz cujas colunas são os números da combinação dada expressos em base 2, de cima para baixo:

Por exemplo, na solução do item a), o terceiro número é 3, o qual em base 2 é 11.

Seja a primeira solução:

X = 0 01 1 0 0 0 1 0 0 0 0 0 0 0 0

7 = 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0

Tais seqüências são o Jx de X e o JY de Y (ver .item 3). Antitransformando obtemos:7 7 Del Picchia, W. & Martins, W. W. op. cit.

Do mesmo modo obtemos para as outras soluções

Como o problema pede também X · Y = f (A, B, C, D), efetuando o produto obtemos:

Neste exemplo, as três soluções a, b, c de X · Y coincidem entre si.

6. INTERPRETAÇÃO DOS RESULTADOS

Em cada solução encontrada, atribuindo às variáveis independentes A, B, C, D valores desejados e efetuando as operações + , · , ' indicadas, obtemos os correspondentes valores de X e Y, variáveis dependentes. Por exemplo, na solução a), do item 5 para A = 1, B = 0, C = = 0 e D = 1 obtemos:

X = 1·0·(0)' + 1·(0)' · (1)' = 1·0·1 + 1·1·0 = 0+0=0

Y = 0·(0)'·(1)' + 1·(0)'·1 + 1·0·(0)' = 0·1·0 + 1·1·1 + 1·0·1 = 0 + 1 + 0=1

Portanto, se fizermos

A = 1, ou seja, gastarmos muito em propaganda

B = 0, ou seja, não melhorarmos o tipo do produto

C = 0, ou seja, não termos alto preço de venda a varejo

D = 1, ou seja, pagarmos altas comissões de vendas

então teremos:

X = 0, ou seja, não teremos alto lucro

Y = 1, ou seja, teremos alto volume de vendas.

Do exame das expressões áe X e Y podemos deduzir os valores que devem ser atribuídos a A, B, C e D para acarretar X = 1, Y = 1, ou X · Y = 1 (X= 1 e Y= 1 simultaneamente).

Temos:

De (1), X = A · B · C' + A · C · D', vemos que A=1, B=1 e C= 0 (com D qualquer) acarretam X=1, ou que A=1, C=0, D=0 (com B qualquer), também acarretam X=1.

Portanto "teremos alto lucro" se "gastarmos muito em propaganda", "melhorarmos o tipo do produto" e "não tivermos alto preço de venda a varejo", ou se "gastarmos muito em propaganda", "não tivermos alto preço de venda a varejo" e "não pagarmos altas comissões de vendas".

Desse modo vemos que cada termo de X = A · B · C' + A · C · D' nos fornece uma alternativa para obter X=1, ou seja, para "ter alto lucro".

Aplicando essas conclusões a (2), Y = B · C · D' + A · C' · D + A · B · C', concluímos que a solução a) nos fornece três alternativas para obter Y=1, ou seja, "termos alto volume de vendas":

1ª alternativa: B = 1, C= 0 e D = 0 (com A qualquer)

2ª alternativa: A = 1, C = 0 e D = 1 (com B qualquer)

3ª alternativa: A = 1, B = 1 e C = 0 (com D qualquer).

Note-se que valores de A, B, C e D, que acarretam X = 1 na solução a) podem não acarretar Y = 1 na mesma solução, e vice-versa.

Se desejarmos obter X · Y = 1 (X=1 e Y=1 simultaneamente), devemos examinar a expressão (4), X · Y = A · B · C', da qual se conclui que: "teremos alto lucro" e "alto volume de vendas" simultaneamente se "gastarmos muito em propaganda", "melhorarmos o tipo do produto" e "não tivermos alto preço de venda a varejo"; D pode ser qualquer, ou seja, podemos pagar ou não altas comissões de vendas, que o resultado será o mesmo.

A análise que fizemos para a solução a) pode ser repetida para as outras soluções b) e c), levando a outros valores de A, B, C e D que acarretam X=1, Y=1 ou X · Y = 1.

Note-se que cada solução, a), b) ou c), deve ser estudada isoladamente, como fizemos com a solução a). Não é permitido, por exemplo, utilizar a expressão (1) para obter X, juntamente com a expressão (3) para obter Y.

Por exemplo, A=1, C=0 e D=0 (com B qualquer) acarretam X=1 se usarmos a expressão (1). Esses mesmos valores acarretam Y=1, se utilizarmos a expressão (3), porém a conclusão que A=1, C=0 e D=0 (com B qualquer) acarretam X=1 e Y=1 é incorreta.

O algoritmo RQ aqui apresentado é facilmente programável em computadores, permitindo o manuseio de expressões com grande número de variáveis. Esse algoritmo já foi implementado em computador, com sucesso, fornecendo as soluções algébricas, a partir do sistema inicial fornecido também em forma algébrica.

  • 2 Ledley, R. S. Digital computer and control engineering. New York, McGraw-Hill, 1960
  • 3 Eldon, J. Whitesitt. Boolean algebra and its applications. Addison-Wesley, Publ., 1961.
  • 1
    Del Picchia, W. & Martins, W. W. The numerical transform. Part I: Basis, the numerical transform. Part II: Simplification of boolean functions, the numerical transform. Part in: Resolution of boolean equations, repository system.
    IEEE transactions on computers. Números R72-78, R72-176, R72-177, submetidos aos IEEE Transactions on Computers; e Del Picchia, W. A numerical algorithm for the resolution of boolean equations.
    IEEE transaction on computers. 1974.
  • 2
    Ledley, R. S.
    Digital computer and control engineering. New York, McGraw-Hill, 1960
  • 3
    Eldon, J. Whitesitt.
    Boolean algebra and its applications. Addison-Wesley, Publ., 1961.
  • 4
    Del Picchia, W. & Martins, W. W. op. cit.
  • 5
    Martins, W. W. 1967. Escola Politécnica da USP.
  • 6
    Eldon, J. Whitesitt. op. cit.
  • 7
    Del Picchia, W. & Martins, W. W. op. cit.
  • Datas de Publicação

    • Publicação nesta coleção
      13 Ago 2013
    • Data do Fascículo
      Ago 1974
    Fundação Getulio Vargas, Escola de Administração de Empresas de S.Paulo Av 9 de Julho, 2029, 01313-902 S. Paulo - SP Brasil, Tel.: (55 11) 3799-7999, Fax: (55 11) 3799-7871 - São Paulo - SP - Brazil
    E-mail: rae@fgv.br