1 Modelo difuso para avaliação de funcionários Francisco Spaeth (UFSC) francisco.spaeth@gmail.com João Cândido Lima Dovicchi (UFSC) dovicchi@inf.ufsc.br Resumo: A aplicação de lógica fuzzy tem se tornado um importante método para manipular imprecisão quanto a utilização de termos lingüísticos, sendo aplicado em áreas diversas, de automação a medicina, apresentando resultados satisfatórios. Sob este aspecto surge a idéia da implementação de um sistema difuso para avaliação de funcionários, onde alguns indicadores servem como parâmetro para avaliação modelando então a incerteza sobre precisão destes dados. Os indicadores são extraídos de sistemas gerenciadores de projeto, onde prazos e fluxo de etapas de um projeto são definidos, neste trabalho é utilizado um sistema de gerenciamento de projetos próprio. O resultado apresentado é um classificador difuso para avaliação de funcionários flexível suficiente para ser adaptado de acordo com as necessidades da empresa, e ainda trata-se de um modelo simples pois baseia-se numa entrada de parâmetros simples de serem extraídos de sistemas gerenciadores de projeto. Palavras-chave: Lógica Fuzzy; Funcionários; Avaliação; Feedback; 1. Introdução Para qualquer avaliação, seja na produção ou em qualquer outro nível ou setor empresarial, é comum o emprego de termos lingüísticos, como por exemplo: ruim, regular, bom. A modelagem matemática destes termos é agregada a uma incerteza, onde a incerteza está no quanto vale exatamente o termo ruim, regular e bom. Russel et al. (2004), define que a lógica difusa é um meio para especificar o quanto um valor satisfaz uma descrição vaga. No caso citado acima a descrição vaga é ruim, regular ou bom agregada claramente a uma incerteza. Nestes termos citados a utilização de um método difuso torna-se interessante na classificação de registros (indicadores de um funcionário) em virtude de sua característica classificatória, que pode retornar então um termo lingüístico depois de tratadas as incertezas sobre os indicadores de entrada. De acordo com Laudon (1999), feedback pode ser definido como a saída que retorna para membros adequados da organização para ajudálos a refinar ou corrigir uma entrada. Assim, neste âmbito, pode-se considerar que o sistema em si é a própria organização que deve fazer a avaliação de seus colaboradores para corrigir ou refinar seu processo de produção por meio de uma realimentação, podendo este ser aplicado para os diversos níveis empresariais.
2 Toma-se como pressuposto que a produtividade de um funcionário deve ser diretamente proporcional ao resultado de sua avaliação, assim, se este produz de forma satisfatória a avaliação será boa, se produz mal a avaliação será ruim. Para tanto a avaliação deve ser feita então sobre informações extraídas dos dados de produção do funcionário, que podem ser médias de desempenho, comparações com outros indicadores, resumos e assim por diante. O mapeamento dos fatores que levam a uma avaliação positiva/negativa se torna interessante à medida que estes sejam feitos de forma automatizada, como por exemplo, a extração dos mesmos de sistemas de gerenciamento de projetos que disponibilizam alguns indicadores da produção e comportamento do funcionário, como a taxa de retrabalho, pontualidade com o tempo estipulado para execução de tarefas entre outras. A avaliação servirá então como uma ferramenta para acompanhamento podendo ser aplicada para identificar funcionários ou áreas deficientes no ambiente onde é aplicada para que assim sejam adotadas medidas corretivas, como treinamentos ou remanejamento. 2. Revisão Literária 2.1 Lógica Difusa A lógica nebulosa, ou difusa, fora introduzida em 1965 por Zadeh (1988) para manipulação de incertezas e imprecisões, mostrando-se desde então uma vantajosa ferramenta no tratamento de dados munidos de imprecisão ou ruídos. Conforme Russel et al. (2004), pode-se definir lógica difusa como um método para raciocínio com expressões lógicas que descrevem a pertinência de um objeto a um conjunto difuso. O funcionamento de sistemas difusos se dá com a utilização de conjuntos difusos que servem para indicar o quanto um objeto é pertinente ao conjunto, em um grau que varia de [0, 1], onde quanto mais perto de 0 mais falso e quanto mais perto de 1 mais verdadeiro é sua pertinência ao conjunto. Ibrahim (2004), define conjunto difuso como uma coleção de objetos que compartilham certas características, assim sendo cada objeto individual pertencente ao conjunto é chamado de elemento ou membro do conjunto. A representação do conhecimento em um sistema difuso se dá pela criação de conjuntos bem estruturados e as regras de inferência que geralmente são do tipo se-então. Podemos então ter como uma das regras: se ( (taxaretrabalho é baixa) e (taxaatraso é baixa) ) então retorne excelente;
3 A manipulação destes conjuntos pode ser feita utilizando de diversas operações como: união, intersecção, complemento, subtração e produto cartesiano. A operação é selecionada de acordo com a flexibilidade que se deseja atribuir ao sistema. De acordo com Klir et al., (1995), estas regras podem ser escritas utilizando operadores lógicos como e, ou e não, e devem caracterizar o melhor caso que se aproxima daquele conjunto. É comum a ativação de mais de uma regra para um conjunto de dados de entrada, desta forma é necessário a execução de mais uma operação para combinar as regras ativadas e obter um conjunto único de saída. De acordo com Russel et al. (2004), um controlador difuso é uma metodologia para construir sistemas de controle em que a entrada e a saída são valores reais, porém mapeados por regras difusas. FIGURA 1 - Um esquema geral de um controlador Fuzzy. Fonte: Klir et al. (2004) Pode-se dizer que um controlador difuso é um sistema difuso completo por apresentar um fluxo de entrada de valores reais, feita a inferência utilizando regras difusas e logo após é efetuada a defuzzyficação, retornando assim um número também real para controle do processo, como observado na figura 1. Contudo a necessidade da defuzzyficação não é padrão para todo problema, como pode-se constatar em Brignoli (2001). Em um classificador difuso, pode-se tomar parte do processo de um controlador difuso para efetuar parte a classificação. Logo após a inferência das regras é verificado qual o conjunto de saída com maior pertinência, sendo o termo lingüístico que o caracteriza o resultado da classificação. A combinação entre as regras ocorre utilizando operações matemáticas como citado anteriormente. A figura 2 mostra a ativação de duas regras, feitas por atingirem primeiramente a combinação Atraso Médio, Carga Cumprida Semelhante e Retrabalho Regular e na segunda onde a combinação é Atraso Médio, Carga Cumprida Pouco Mais e Retrabalho Regular. Os resultados para as duas combinações de valores é a saída Regular para
4 Avaliação. Se nesta avaliação tivessem sido ativados Regular e Bom, sendo o de maior pertinência o resultado da avaliação. FIGURA 2 Exemplificação da ativação de múltiplas regras. 2.2 Sistema de Gerenciamento de Projeto Utilizando como Fonte de Informação De acordo com Valeriano (1998), uma das etapas que antecedem propriamente o orçamento é o planejamento, onde são definidos entre outras coisas os prazos de cada etapa do projeto. Fazendo uso de um sistema para gerência de projetos basicamente o que é necessário para o planejamento de prazos é a definição do tempo necessário para a execução de cada etapa. Cada etapa também mobiliza membros da equipe que podem ou não estar disponíveis no período em que será iniciado o desenvolvimento da etapa (de acordo com as etapas podemos ter mais de uma sendo executada ao mesmo tempo de acordo com o planejamento). Com todas as etapas apresentadas estas podem ser distribuídas aos executantes de cada uma, avaliando também o envolvimento dos membros em outros projetos, carga horária, período de férias, descanso semanal, feriados, eventos agendados e outros períodos onde a execução das etapas não pode ser realizada, onde se obtém como resultado uma data prevista para término do projeto. Para acompanhamento do desenvolvimento do projeto, a equipe faz o relato de todas as horas trabalhadas em uma determinada etapa do projeto pelo seu executor, quando o executor entende que a tarefa fora concluída, ele a envia para avaliação, onde o avaliador da tarefa fará a verificação da mesma. Se desta forma o avaliador entender que a tarefa fora concluída de maneira correta, esta é aprovada desbloqueando as tarefas subseqüentes do projeto. Caso contrário a tarefa é marcada como avaliada negativamente e retorna para o executante a fim de que sejam feitas as correções, a partir do momento que uma tarefa tem avaliação negativa toda hora relatada será marcada como retrabalho. O avaliador também informará as horas despendidas para o processo de avaliação. Além do relatório de horas despendidas para cada tarefa, é possível também utilizar o sistema a fim de marcar agendamentos, onde o funcionário é alocado para um determinado evento que não é diretamente
5 relacionado com o desenvolvimento propriamente dito de uma tarefa, são exemplos deste caso: visitas a prospects, reuniões de ordem geral, cursos de capacitação e etc. A partir da descrição do processo efetuado pelo sistema de gerenciamento de projetos adotado, pode-se extrair algumas variáveis a fim de avaliar um colaborador: a) Porcentagem de retrabalho total do funcionário pode-se obter esta informação já que horas retrabalhadas são marcadas pelo próprio sistema. Neste item é importante observar que para um bom indicador usa-se somente o tempo de desenvolvimento das etapas, desconsiderando outros eventos; b) Porcentagem da carga horária cumprida em relação aos outros funcionários da mesma classe a intenção neste item é tentar isolar o tempo de trabalho sem considerar as horas despendidas para necessidades fisiológicas e/ou estado psicológico de curto prazo para o desenvolvimento das etapas (define-se classe, funcionários de mesma função e condições de trabalho similares); c) Nível de atraso das tarefas com o planejado no planejamento é informado a quantidade de horas que deve-se despender para uma determinada etapa, desta forma pode-se obter um fator comparativo entre as horas realmente despendidas pelo colaborador em relação ao planejado, indicando a atraso nas tarefas (considera-se neste item que o planejamento seja feito avaliando estatísticas de etapas já elaboradas a fim de determinar um valor bastante preciso das horas necessárias para o desenvolvimento da mesma); 3. Modelagem Difusa Para resultar na avaliação de um funcionário, definiu-se então três variáveis de entrada que englobam: a) Porcentagem de retrabalho total do funcionário onde é esperado um valor de 0, representando sem atraso, a 1, representando a situação onde o atraso é constatado em todas as etapas executadas pelo funcionário, encerrando cada etapa no mínimo com o dobro do tempo estimado; b) Carga horária cumprida em relação aos outros funcionários de mesma classe desta forma podemos considerar relação de tempo gasto pelo funcionário aos outros funcionários de mesma classe, o valor esperado por esta variável é entre 0 e 1 onde 0 representa 50% menos (ou inferior) ao tempo despendido por funcionários de mesma classe. E 1 representa 50% ou mais tempo trabalhado em relação a funcionários de mesma classe; c) Nível de atraso das etapas em relação ao planejamento pressupõe-se que o planejamento tenha o número de horas necessárias para cumprir a referida etapa. As etapas que extrapolem estes valores são então consideradas etapas atrasadas, onde o atraso refere-se ao tempo extrapolado do previsto para resolução da etapa. Esta variável deve ser informada em forma de porcentagem onde 0 representa o encerramento
6 de todas as etapas sem atrasos e 1 o pior caso, onde todas as etapas são encerradas com ao menos o dobro do tempo do que fora planejado. FIGURA 3 - Representação das funções de entrada para variável porcentagem de retrabalho total do funcionário. FIGURA 4 - Representação das funções de entrada para variável porcentagem de carga horária cumprida em relação aos funcionários de mesma classe. FIGURA 5 - Representação das funções de entrada para variável nível de atraso em relação ao planejamento inicial das etapas cumpridas.
7 FIGURA 6 - Representação das funções de saída. Elaboradas as funções de entrada para cada variável, bem como as funções para a variável de saída, faltam as regras de inferência que representam o papel do especialista na resolução do problema. As regras foram combinadas gerando quarenta e cinco regras que são apresentadas na figura 6: 01: (Retrabalho==Pouco) & (CargaCumprida==Abaixo) & (atraso==baixo) => (Avaliação=Bom) 02: (Retrabalho==Pouco) & (CargaCumprida==Pouco_Menos) & (atraso==baixo) => (Avaliação=Ótimo) 03: (Retrabalho==Pouco) & (CargaCumprida==Semelhante) & (atraso==baixo) => (Avaliação=Ótimo) 04: (Retrabalho==Pouco) & (CargaCumprida==Pouco_Mais) & (atraso==baixo) => (Avaliação=Ótimo) 05: (Retrabalho==Pouco) & (CargaCumprida==Acima) & (atraso==baixo) => (Avaliação=Bom) 06: (Retrabalho==Pouco) & (CargaCumprida==Abaixo) & (atraso==médio) => (Avaliação=Regular) 07: (Retrabalho==Pouco) & (CargaCumprida==Pouco_Menos) & (atraso==médio) => (Avaliação=Regular) 08: (Retrabalho==Pouco) & (CargaCumprida==Semelhante) & (atraso==médio) => (Avaliação=Bom) 09: (Retrabalho==Pouco) & (CargaCumprida==Pouco_Mais) & (atraso==médio) => (Avaliação=Bom) 1O: (Retrabalho==Pouco) & (CargaCumprida==Acima) & (atraso==médio) => (Avaliação=Regular) 11: (Retrabalho==Pouco) & (CargaCumprida==Abaixo) & (atraso==alto) => (Avaliação=Ruim) 12: (Retrabalho==Pouco) & (CargaCumprida==Pouco_Menos) & (atraso=alto) => (Avaliação=Ruim) 13: (Retrabalho==Pouco) & (CargaCumprida==Semelhante) & (atraso=alto) => (Avaliação=Ruim) 14: (Retrabalho==Pouco) & (CargaCumprida==Pouco_Mais) & (atraso=alto) => (Avaliação=Péssimo) 15: (Retrabalho==Pouco) & (CargaCumprida==Acima) & (atraso==alto) => (Avaliação=Péssimo) 16: (Retrabalho==Regular) & (CargaCumprida==Abaixo) & (atraso==baixo) => (Avaliação=Bom) 17: (Retrabalho==Regular) & (CargaCumprida==Pouco_Menos) & (atraso==baixo) => (Avaliação=Bom) 18: (Retrabalho==Regular) & (CargaCumprida==Semelhante) & (atraso==baixo) => (Avaliação=Bom) 19: (Retrabalho==Regular) & (CargaCumprida==Pouco_Mais) & (atraso==baixo) => (Avaliação=Bom) 20: (Retrabalho==Regular) & (CargaCumprida==Acima) & (atraso==baixo) => (Avaliação=Regular) 21: (Retrabalho==Regular) & (CargaCumprida==Abaixo) & (atraso==médio) => (Avaliação=Regular) 22: (Retrabalho==Regular) & (CargaCumprida==Pouco_Menos) & (atraso==médio) => (Avaliação=Regular) 23: (Retrabalho==Regular) & (CargaCumprida==Semelhante) & (atraso==médio) => (Avaliação=Regular) 24: (Retrabalho==Regular) & (CargaCumprida==Pouco_Mais) & (atraso==médio) => (Avaliação=Regular) 25: (Retrabalho==Regular) & (CargaCumprida==Acima) & (atraso==médio) => (Avaliação=Ruim) 26: (Retrabalho==Regular) & (CargaCumprida==Abaixo) & (atraso==alto) => (Avaliação=Ruim) 27: (Retrabalho==Regular) & (CargaCumprida==Pouco_Menos) & (atraso==alto) => (Avaliação=Ruim) 28: (Retrabalho==Regular) & (CargaCumprida==Semelhante) & (atraso==alto) => (Avaliação=Péssimo) 29: (Retrabalho==Regular) & (CargaCumprida==Pouco_Mais) & (atraso==alto) => (Avaliação=Péssimo) 30: (Retrabalho==Regular) & (CargaCumprida==Acima) & (atraso==alto) => (Avaliação=Péssimo) 31: (Retrabalho==Muito) & (CargaCumprida==Abaixo) & (atraso==baixo) => (Avaliação=Bom) 32: (Retrabalho==Muito) & (CargaCumprida==Pouco_Menos) & (atraso==baixo) => (Avaliação=Bom) 33: (Retrabalho==Muito) & (CargaCumprida==Semelhante) & (atraso==baixo) => (Avaliação=Bom) 34: (Retrabalho==Muito) & (CargaCumprida==Pouco_Mais) & (atraso==baixo) => (Avaliação=Regular) 35: (Retrabalho==Muito) & (CargaCumprida==Acima) & (atraso==baixo) => (Avaliação=Regular) 36: (Retrabalho==Muito) & (CargaCumprida==Abaixo) & (atraso==médio) => (Avaliação=Regular) 37: (Retrabalho==Muito) & (CargaCumprida==Pouco_Menos) & (atraso==médio) => (Avaliação=Regular) 38: (Retrabalho==Muito) & (CargaCumprida==Semelhante) & (atraso==médio) => (Avaliação=Regular) 39: (Retrabalho==Muito) & (CargaCumprida==Pouco_Mais) & (atraso==médio) => (Avaliação=Regular) 40: (Retrabalho==Muito) & (CargaCumprida==Acima) & (atraso==médio) => (Avaliação=Ruim) 41: (Retrabalho==Muito) & (CargaCumprida==Abaixo) & (atraso==alto) => (Avaliação=Ruim) 42: (Retrabalho==Muito) & (CargaCumprida==Pouco_Menos) & (atraso==alto) => (Avaliação=Ruim) 43: (Retrabalho==Muito) & (CargaCumprida==Semelhante) & (atraso==alto) => (Avaliação=Ruim) 44: (Retrabalho==Muito) & (CargaCumprida==Pouco_Mais) & (atraso==alto) => (Avaliação=Ruim) 45: (Retrabalho==Muito) & (CargaCumprida==Acima) & (atraso==alto) => (Avaliação=Péssimo) FIGURA 7 - Base de regras para o problema proposto (representação do conhecimento).
8 4. Validação Para testar efetivamente a validade do modelo proposto no presente trabalho, formulou-se uma base de com valores hipotéticos. Destes valores extraiu-se o resultado de classificação como apresentado na tabela 1. TABELA 1 Resultados da aplicação do classificador % de Retrabalho Carga Horária Cumprida % de atraso Classificação 0,2 0,5 0,2 Bom 0,1 0,7 0,3 Bom 0,2 0,3 0,05 Ótimo 0,25 0,3 0,25 Regular 0,5 0,5 0,5 Regular 0.75 0.75 0.75 Ruim 0.91 1 0.75 Péssimo 0,6 0,6 0,1 Bom 0,7 0,4 0,7 Regular 0,8 0,2 0,6 Regular 0,1 0,1 0,8 Ruim 0,2 0,2 0,5 Regular 0,4 0,9 0,3 Ruim 1 0 0 Bom 0 1 0 Bom 0 0 1 Ruim Pelos valores apresentados na tabela 1 é possível ver o funcionamento do modelo proposto, que utiliza como parâmetros para inferência três indicadores. Os resultados das avaliações efetuadas podem inicialmente parecerem pouco rígidos para determinados níveis de uma empresa. Um dos meios para melhorar esta rigidez seria a redefinição dos conjuntos difusos, onde pode-se definir então um melhor valor para caracterizar pouco atraso ou ainda muito retrabalho. 5. Considerações Finais A lógica difusa se mostra uma alternativa excelente para trabalhar com termos lingüísticos onde estes devem ser modelados matematicamente, resultando em um conjunto harmonioso entre a exatidão matemática e a imprecisão de termos lingüísticos. Pode-se ver pelo problema apresentado e pela validação efetuada que a avaliação ocorreu de forma satisfatória. Pode-se notar também que
9 na validação efetuada os valores para modelagem de conjuntos difusos não se mostram rígidos apresentando uma avaliação mais amena na inferência do conjunto de dados de entrada. Tornando estes conjuntos mais rígidos, isto é, definindo intervalo de dados menores para representação do termo Pouco Atraso forçaria a avaliação retornando então uma avaliação mais rígida. O fator de flexibilidade quanto à avaliação, como fora exposto no parágrafo acima, se torna uma vantagem quando associado a um programa computacional uma vez que alteração dos parâmetros que definem um conjunto difuso de forma visual, aplicando parâmetros diferentes aos vários níveis empresariais, avaliando então o operacional de forma específica dando mais ênfase a fatores relevantes a aquele nível, enquanto outros níveis devem ser avaliados com outros parâmetros. Bibliografia BRIGNOLI, Juliano T. Sistema Especialista Difuso-Probabilístico: estudo de caso quanto ao diagnóstico de antibióticos no leite.. 2001. Dissertação (Mestrado em Ciências da Computação) - Universidade Federal de Santa Catarina. IBRAHIM, A.. Fuzzy Logic for Embedded Systems Applications. Elsevier Science, Burlington, MA, 2004. KLIR, G. J.; YUAN, B.. Fuzzy Sets and Fuzzy Logic. Prentice Hall, Upper Saddle River, NJ 1995. LAUDON, Kenneth C.. Sistemas de informação: com Internet. 4. ed. Rio de Janeiro: LTC, 1999. RUSSEL, Stuart; NORVIG, Peter. Inteligência artificial. Rio de Janeiro: Campus, 2004. VALERIANO, Dalton L.. Gerência em projetos: pesquisa, desenvolvimento e engenharia. São Paulo: Makron Books, 1998. ZADEH, L. A.. Fuzzy Logic, IEEE Computer, v. 21, n. 4, p. 83-93, apr 1988.