Sie sind auf Seite 1von 8

Um Algoritmo Evolutivo Hbrido para o Problema de Programao de Horrios em Escolas1

Prof. Dr. Marcone Jamilson Freitas Souza


Departamento de Computao, Universidade Federal de Ouro Preto, 354000.000, Ouro Preto, MG, Brasil, e-mail: marcone@iceb.ufop.br

Felippe Pereira da Costa


Graduando em Engenharia de Produo, Universidade Federal de Ouro Preto, Campus Universitrio, CEP 35400-000, Ouro Preto, MG, Brasil, e-mail: felippepereiradacosta@yahoo.com.br

Irce Fernandes Gomes Guimares


Graduanda em Engenharia de Produo, Universidade Federal de Ouro Preto, Campus Universitrio, CEP 35400-000, Ouro Preto, MG, Brasil, e-mail: irceguima@bol.com.br

ABSTRACT It is well known that the timetabling problem is difficult to solve, since the problem has a huge search space and is highly constrained. So, many optimization methods such as Simulated Annealing, Tabu Search and Genetic Algorithm have been applied to find good timetables. In this work a hybrid technique, based on the metaheuristics GRASP, Genetic Algorithms and Tabu Search, is presented as proposal for solving this problem. KEYWORDS: Algorithm. School Timetabling, Metaheuristics, Genetic

1. Introduo O problema de programao de horrios em escolas (PPHE) diz respeito alocao das aulas de uma escola a um conjunto restrito de horrios, satisfazendo diversas restries (Schaefer 1999). A soluo manual deste problema uma tarefa penosa e complexa e normalmente requer vrios dias de trabalho (Bardadym 1996). Alm do mais, a soluo obtida pode ser insatisfatria com relao a vrios aspectos. Por exemplo, em funo da programao feita, pode haver aulas de uma mesma matria sendo ministradas em dias consecutivos, com prejuzo na sedimentao da aprendizagem. Em funo de situaes como essa, uma ateno especial vem sendo dada automao do PPHE. Sendo o mesmo NP-difcil (Even, Itai e Shamir 1976), ele comumente abordado atravs de tcnicas heursticas, dentre as quais destacam-se as chamadas metaheursticas. Essas tcnicas, ao contrrio das heursticas convencionais, tm carter geral e so providas de mecanismos para escapar de timos locais. Como exemplos de aplicaes bem sucedidas de metaheursticas a problemas de programao de horrios pode-se citar: Simulated Annealing (Abramson 1991), Busca Tabu (Costa 1994, Burke et al. 2001) e Programao Gentica (Ueda et. al. 2001, Carrasco and Pato 2001, Collorni et. al. 1998, Erben and Keppler 1996). Em geral, no entanto, as metaheursticas sofrem grande influncia das solues iniciais, isto , uma soluo inicial de boa qualidade induz a um processo de busca mais rpida, com
Souza, M. J. F.; Guimares, I. F.; Costa, F. P. Um Algoritmo Evolutivo Hbrido para o Problema de Programao de Horrios em Escolas. In XXII Encontro Nacional de Engenharia de Produo, 2002, Curitiba. Anais do XXII ENEGEP, Santa Brbara DOeste, ABEPRO, 2002, CD-ROM, 8 p.
1

produo de solues finais melhores. A fase de construo da metaheurstica GRASP (Feo e Resende 1995) um dos instrumentos atualmente utilizados em vrias aplicaes (Souza 2000) para alcanar este objetivo. Este trabalho prope uma tcnica hbrida envolvendo as metaheursticas Programao Gentica, Busca Tabu e GRASP. Neste algoritmo evolutivo, a populao inicial gerada pelo procedimento construtivo da tcnica GRASP. A cada gerao deste algoritmo, o melhor indivduo da populao sofre um refinamento atravs do procedimento de Busca Tabu. Este trabalho est organizado como segue. Na seo 2 descreve-se o problema. Nas sees 3 e 4 faz-se uma breve descrio do Algoritmo Gentico e dos operadores utilizados no problema de programao de horrios. Na seo 5 mostra-se como gerada a populao inicial. Na seo 6 faz-se uma descrio sumria da metaheurstica Busca Tabu (BT). O algoritmo evolutivo hbrido proposto apresentado na seo 7, enquanto que na seo 8 apresenta-se seu comportamento tpico. Na seo 9 o trabalho concludo. 2. Descrio do problema O problema considerado para anlise o da programao de horrios da Escola Estadual Dom Velloso em Ouro Preto, MG. Esta escola atende o 2 ciclo do ensino fundamental (5 a 8 ano), atendendo 11 turmas no turno matutino e 3 no vespertino. No processo de programao de horrios desta escola so observados vrios requisitos, tais como: a) No permitir a alocao de mais de um professor em uma mesma turma no mesmo horrio; b) Evitar quebras de aulas, isto , aulas no consecutivas de uma matria para uma turma em um mesmo dia; c) Respeitar o limite dirio de aulas de uma mesma matria para uma mesma turma; d) Eliminar, sempre que possvel, as janelas nos horrios dos professores; e) Atender ao maior nmero possvel de aulas geminadas; f) Minimizar a quantidade de dias que cada professor necessita ir escola; g) Espalhar as aulas de uma mesma matria para uma mesma turma ao longo da semana. 3. Algoritmo Gentico Trata-se de uma metaheurstica que se fundamenta em uma analogia com processos naturais de evoluo, nos quais, dada uma populao, os indivduos com caractersticas genticas melhores tm maiores chances de sobrevivncia e de produzirem filhos cada vez mais aptos, enquanto indivduos menos aptos tendem a desaparecer. Nos Algoritmos Genticos (AGs), cada cromossomo (indivduo da populao) est associado normalmente a uma soluo do problema e cada gene est associado a uma componente da soluo. Um mecanismo de reproduo, baseado em processos evolutivos, aplicado sobre a populao com o objetivo de explorar o espao de busca e encontrar melhores solues para o problema. Para atingir esse objetivo, os n indivduos da populao passam por uma fase de reproduo, a qual consiste em selecionar indivduos para operao de recombinao e/ou mutao. Na operao de recombinao, os genes de dois cromossomos pais so combinados de forma a gerar um ou dois cromossomos filhos, de sorte que para cada cromossomo filho h um conjunto de genes de cada um dos cromossomos pais. A operao de mutao consiste em alterar aleatoriamente uma parte dos genes de cada cromossomo (componentes da soluo). Ambas as operaes so realizadas com uma certa probabilidade. Gerados os cromossomos filhos, define-se a populao sobrevivente a partir da avaliao de cada cromossomo por uma certa funo de aptido. Os critrios comumente usados para escolher os cromossomos sobreviventes so: 1) aleatrio; 2) roleta (onde a chance de sobrevivncia de cada cromossomo proporcional ao seu nvel de aptido) e 3) misto (isto , uma combinao dos dois critrios anteriores). Em qualquer um desses critrios admite-se,

portanto, a sobrevivncia de indivduos menos aptos, o que feito de forma a tentar-se escapar de timos locais. O mtodo termina, em geral, quando um certo nmero de populaes gerado ou quando a melhor soluo encontrada atinge um certo nvel de aptido ou ainda, quando no h melhora aps um certo nmero de iteraes. 4. Algoritmo Gentico Aplicado ao Problema de Programao de Horrios 4.1 Representao de uma soluo Neste problema um cromossomo representa um quadro de horrio semanal, isto , um cromossomo uma matriz S = (sij)mn de valores inteiros sij , sendo m o nmero de professores e p o nmero de horrios. Uma clula sij representa a situao de um professor i em um horrio j. Estas situaes so representadas da seguinte forma: (a) Se o professor est disponvel, sij recebe um valor infinito; (b) Se o professor est indisponvel, sij recebe um valor negativo; (c) Se o professor est lecionando, sij recebe o nmero correspondente ao da turma para a qual est lecionando. 4.2 Operadores genticos 4.2.1 Operadores do Tipo Crossover Para o processo de cruzamento (crossover), o qual aplicado com uma certa probabilidade, foram considerados dois tipos deste operador (cada qual aplicado, tambm, com uma certa probabilidade): Crossover Simples: O crossover Simples consiste em escolher aleatoriamente dois quadros de horrios (pais) dentro da populao para gerar dois novos quadros (filhos), de acordo com a seguinte operao. Escolhe-se deterministicamente um ponto de corte (no nosso caso, 80% do nmero de professores). O filho 1 recebe todas as aulas que estiverem acima do ponto de corte do pai 1, bem como as aulas abaixo do ponto de corte do pai 2. Entretanto, essas aulas do pai 2 no so automaticamente alocadas, sendo submetidas, inicialmente, a uma verificao de sobreposio. Isto , inicialmente elas so alocadas na mesma posio do pai somente se no gerarem sobreposio. Para as que gerarem sobreposio, procura-se outros horrios onde isto no ocorra. Se ainda assim houver aulas sem alocao, estas so alocadas aleatoriamente. Crossover Ordenado- O crossover ordenado semelhante ao Crossover Simples, diferindo deste apenas com relao ao ponto de corte, que neste caso aleatrio, e organizao das aulas dos pais. Antes de se submeter operao, cada quadro ordenado segundo a funo de custo dos professores. A seguir, selecionado aleatoriamente um ponto de corte, sendo o crossover efetuado conforme anteriormente. A Figura 2 ilustra esta operao.Nestes cromossomos, cada linha i representa um professor, cada coluna j um horrio e cada clula (i,j) a turma em que o professor i est ministrando no horrio j. A linha tracejada indica o ponto de corte.
8 3 5 7 2 6 1 4 H1 H2 H3 H4 H5 fi(s) H1 H2 H3 H4 H5 5 5 4 4 2 10 3 7 7 8 8 2 0 0 1 1 4 20 5 6 6 7 7 4 1 1 2 2 0 24 1 2 2 3 3 0 4 4 5 5 3 25 4 3 3 0 0 3 3 3 0 0 1 30 8 4 4 5 5 1 2 2 3 3 5 32 2 1 1 2 2 5 0 0 1 1 8 50 6 6 6 7 7 8 5 5 4 4 6 86 7 7 7 8 8 6 Figura 1 Cromossomos pais ordenados de acordo com a funo de custo dos professores fi(s) 25 27 30 32 36 51 52 80

8 3 5 7 2 6 6 7

H1 5 1 3 0 0 2 6 7

H2 H3 H4 H5 fi(s) H1 H2 H3 H4 H5 5 4 4 6 10 3 2 2 3 3 0 1 2 2 0 20 5 4 4 5 5 1 3 0 0 1 24 1 7 7 8 8 2 0 1 1 8 25 4 3 3 0 0 3 0 1 1 4 30 8 7 7 8 8 6 2 3 3 5 32 2 6 6 7 7 4 6 7 7 8* ** 1 0 0 1 1 8 7 8 8 6* ** 4 5 5 4 4 6* Figura 2 Cromossomos filhos gerados pelo operador Crossover Ordenado

fi(s) 25 27 30 32 36 51 ** **

As aulas assinaladas com * foram alocadas aleatoriamente. O sinal ** indica que a funo de custo do professor (fi(s)) necessitar ser recalculada. 4.2.1.Operadores do Tipo mutao Este operador consiste em trocar uma ou mais aulas, estudando a melhor posio de troca, desde que haja uma diminuio no valor da funo de custo do cromossomo. Trs tipos de operadores de mutao foram considerados, a saber: Mutao de ordem 1: consiste em trocar a posio de um gene com a de outro na programao de um mesmo professor. Mutao de ordem k: consiste em trocar as posies de k genes contguos da programao de um professor com outro conjunto de k genes contguos. Mutao dia: anlogo ao anterior, porm os k genes contguos referem-se programao de um dia do professor. Cada um destes operadores aplicado programao de um dado professor (escolhido aleatoriamente), com uma certa probabilidade de ocorrncia. As figuras 4 e 5 ilustram a aplicao do operador mutao de ordem k=2.
... 4 ... H1 ... 7 ... Segunda- Feira Tera Feira H2 H3 H4 H5 H1 H2 H3 H4 H5 ... ... ... ... ... ... ... ... ... 7 8 6 5 5 4 3 7 6 ... ... ... ... ... ... ... ... ... Figura 3: Programao do professor 4 antes da mutao de ordem 2. Segunda- Feira Tera Feira H2 H3 H4 H5 H1 H2 H3 H4 H5 ... ... ... ... ... ... ... ... ... 7 8 6 5 5 7 6 4 3 ... ... ... ... ... ... ... ... ... Figura 4: Programao do professor 4 depois da mutao de ordem 2. fi(s) ... 55 ...

... 4 ...

H1 ... 7 ...

fi(s) ... ** ...

Neste exemplo considera-se que a melhor opo de troca envolve as aulas dos horrios H3-H4 de segunda-feira e H1-H2 da tera-feira. O smbolo ** indica uma funo de custo com valor menor que 55. 4.3 Funo de custo dos cromossomos A programao de horrios um problema de deciso multicritrio porque para determinar a qualidade de uma programao faz-se necessrio considerar diferentes objetivos (custos), tais como: minimizar o nmero de dias que um professor vai escola, espalhar as aulas de uma mesma matria para uma mesma turma, etc. Para avaliar uma programao de horrios, os requisitos do problema so classicamente organizados em: (i) requisitos essenciais, que so aqueles que se no forem

satisfeitos, geraro uma alocao invivel, como por exemplo, alocar mais de um professor para uma mesma turma em um mesmo horrio; (ii) requisitos no-essenciais, que so aqueles cujo atendimento desejvel mas que, se no satisfeitos, no geram programaes inviveis, como por exemplo, apresentar uma distribuio de aulas com janelas para os professores. Desse modo, uma programao (ou soluo) s pode ser medida com base em duas componentes, uma de inviabilidade (g(s)), a qual mede o no atendimento aos requisitos essenciais, e outra de qualidade (h(s)), a qual mede o no atendimento aos requisitos considerados no essenciais. A funo de custo de uma soluo s, a qual deve ser minimizada, pode ser calculada, portanto, pela seguinte expresso: f(s) = g(s) + h(s) (1) A parcela g(s), que mensura o nvel de inviabilidade de uma soluo s, avaliada com base na expresso: g ( s ) = k I k
k =1 K

(2)

onde K nmero de medidas de inviabilidade, Ik o valor da k-sima medida de inviabilidade e k o peso associado essa k-sima medida. A parcela h(s), que mensura a qualidade de uma soluo s, avaliada com base na seguinte funo: h( s ) = l Ql
l =1 L

(3)

onde L representa o nmero de medidas de qualidade, Ql o valor da l-sima medida de qualidade e l o peso associado a essa l-sima medida. Deve ser observado que uma soluo s vivel se e somente se g(s) = 0. Nas componentes da funo f(s) os pesos dados s diversas medidas refletem a importncia relativa de cada uma delas e, sendo assim, deve-se tomar k >> l k, l , de forma a privilegiar a eliminao das solues inviveis. 4.4 Funo de aptido de um cromossomo O papel desta funo avaliar o nvel de aptido, ou seja, a possibilidade de sobrevivncia de cada indivduo gerado pelo AG. A partir deste processo de avaliao pode se saber o grau de adaptao dos indivduos e eliminar aqueles que no so aptos ao meio. Para se fazer a avaliao de uma soluo s utilizada a seguinte funo : x se x > 0; faptido(s) = 0 caso contrrio; sendo: x = Mdia(f(pop)) + desvio(f(pop)) - f(s) (4) faptido(s)= Valor da funo de aptido da soluo s; f(s)=Funo de custo da soluo s; mdia(f(pop)) = Mdia da funo de custo da populao; =Fator que determina o percentual de aptido de s; desvio(f(pop))= Desvio padro da funo de custo da populao; 4.5 Seleo Nesta fase so escolhidos os indivduos que faro parte da prxima gerao. Neste processo utiliza-se do grau de adaptao de cada um para fazer a seleo. Os valores do grau de adaptao de cada indivduo s so convertidos em nmeros entre zero e um atravs da seguinte funo: Adaptao(s) = faptido(s) / faptido(pop) (5)

Os indivduos so selecionados pelo mecanismo de roleta russa, no qual os mais aptos possuem maior probabilidade de sobreviverem, sendo que todos, mesmos os menos aptos, tm chances de sobrevivncia. 5. Gerao de uma soluo inicial Para gerar uma populao inicial normalmente so utilizados vrios procedimentos, desde os aleatrios at os heursticos. A gerao de solues aleatrias diversifica o espao de solues; no entanto, uma soluo aleatria , em geral, de baixa qualidade, exigindo um tempo de processamento muito elevado para ser melhorada. Por outro lado, solues gulosas, apesar de serem de boa qualidade, apresentam baixa diversidade. Recentemente, Feo e Resende (1995) idealizaram uma heurstica que representa uma alternativa a esses mtodos puramente aleatrios ou puramente gulosos. Aplicaes bem sucedidas dessa tcnica, chamada GRASP, tm sido relatadas na literatura (Souza 2000). Desta forma, optou-se por gerar uma populao inicial atravs da aplicao sucessiva da fase de construo do algoritmo GRASP. Mais especificamente, cada cromossomo da populao inicial do problema de programao de horrios gerado conforme a seguir se descreve. Inicialmente, determinam-se os horrios mais crticos, isto , aqueles que tm o menor nmero de professores disponveis. A seguir enumeram-se e ordenam-se todas as aulas, priorizando aquelas mais difceis de serem alocadas, ou seja, aquelas que tm os professores com maior carga horria e maior nmero de horrios indisponveis. Forma-se ento uma lista restrita de candidatos destas aulas, de tamanho |LRC| e seleciona-se aleatoriamente uma dela. A seguir procura-se aloc-la (usando a ordem dos horrios crticos) de forma que todas as restries essenciais sejam satisfeitas. No sendo possvel admite-se, agora, a violao a apenas uma das restries essenciais. Persistindo a impossibilidade de alocao tenta-se alocar a aula admitindo que duas restries essenciais sejam satisfeitas. Essas tentativas de alocao persistem aumentando-se o nmero de restries essenciais no atendidas at que a aula seja alocada. Toda vez que uma aula alocada, os horrios crticos so atualizados, bem como as aulas mais difceis remanescentes. 6. Busca Tabu Busca Tabu (Glover and Laguna 1997) um procedimento de otimizao local que admite solues de piora para escapar de timos locais. Em sua forma original, a cada iterao procura-se um timo local selecionando-se o melhor vizinho s da vizinhana N(s) da soluo corrente s. Independentemente de f(s) ser melhor ou pior que f(s), s ser sempre a nova soluo corrente. Entretanto, apenas esse mecanismo no suficiente para escapar de timos locais, uma vez que pode haver retorno a uma soluo previamente gerada. Para evitar isso, o algoritmo usa o conceito de lista tabu. Esta lista define todos os movimentos com um certo atributo como sendo tabu por um determinado nmero de iteraes, conhecido como tempo tabu. Tais movimentos so proibidos a menos que a soluo satisfaa a um certo critrio de aspirao, em geral que essa soluo seja melhor que a melhor soluo encontrada at ento. Os atributos so escolhidos para prevenir o retorno a solues visitadas recentemente e so escolhidos por caractersticas que so fceis para detectar. No caso do problema de programao de horrios, se o melhor vizinho s de um quadro de horrios s for obtido a partir deste pelo movimento de troca entre a aula do professor i do horrio k1 e a aula do horrio k2, ento considera-se tabu durante |T| iteraes qualquer movimento que envolva a troca das aulas do professor i entre os horrios k1 e k2. 7. Algoritmo hbrido O algoritmo hbrido proposto um mtodo evolutivo na qual a populao inicial gerada por um procedimento construtivo (seo 5) e, em cada gerao, o melhor indivduo

submetido a um refinamento pelo mtodo de Busca Tabu. A Figura 5 apresenta o pseudocdigo do algoritmo.
procedimento Hbrido( ); 1. Inicializar a populao; 2. t 0; 3. Gerar uma populao inicial P(t), conforme seo 5; 4. Avaliar P(t); 5. enquanto os critrios de parada no forem satisfeitos faa 6. Cruzar selecionados ; 7. Mutar Resultantes; 8. Avaliar P(t) ; 9. Refinar o melhor indivduo de P(t) usando Busca Tabu; 10. Selecionar P(t+1) partir de P(t); 11. t t+1; 12. fim-enquanto; 13. Retornar melhor indivduo; fim Hbrido; Figura 5: Algoritmo Evolutivo Hbrido

8. Resultados Computacionais Preliminares Para testar o algoritmo foram utilizados dados relativos programao de horrios da Escola Estadual Dom Velloso de Ouro Preto dos anos 2001 e 2002. Esta escola conta com 22 professores para ministrarem 350 horas-aula para 14 turmas. O algoritmo foi implementado na linguagem C++ usando o compilador Borland C++ Builder 5.0 e testado em um microcomputador Pentium II, MMX com 300 MHz e 128 MB de RAM. Inicialmente, ele foi submetido a uma bateria preliminar de testes para calibrar os diversos parmetros existentes (tamanho da lista tabu, probabilidade de crossover e de cada um de seus tipos, probabilidade de mutao e de cada um de seus tipos etc), bem como para escolher os pesos mais adequados para a funo custo.
150 140 130

Melhor soluo Obtida


120

Funo de custo

110

Evoluo da Melhor Soluo

100 90

80 70

60 50

40 0 20 40

Geraes

60

80

100

120

Figura 6: Comportamento tpico do algoritmo evolutivo hbrido

A Figura 6 mostra o comportamento tpico do algoritmo hbrido. Nesta figura a linha tracejada indica os valores da funo de custo do melhor indivduo obtido em cada gerao. A linha contnua indica a evoluo da melhor soluo gerada ao longo das iteraes.

9. Concluses e trabalhos futuros Foi apresentado um algoritmo evolutivo hbrido para resolver o problema de programao de horrios em escolas. Uma populao inicial gerada por um procedimento construtivo adaptativo e parcialmente guloso e, a cada gerao, o melhor membro da populao submetido a um refinamento pelo mtodo de Busca Tabu. Nos testes preliminares realizados esse procedimento hbrido conseguiu produzir solues de melhor qualidade final do que aquele sem a fase de refinamento por Busca Tabu. O algoritmo sem esta fase de refino tem enorme dificuldade para encontrar solues viveis. Encontra-se em estudo a utilizao de tcnicas para reparar as inviabilidades geradas pelos operadores crossover, como aquelas descritas em Collorni et al. (1998). 10. Agradecimentos Os autores agradecem ao CNPq pela bolsa de iniciao cientfica concedida ao projeto, Escola Estadual Dom Velloso de Ouro Preto pela disponibilizao das informaes relativas ao processo de elaborao de horrios e Borland Latin Amrica pela cesso de uma licena de uso do software C++ Builder Professional 5.0. Referncias Bibliogrficas Abramson, D. (1991). Constructing School Timetables Using Simulated Annealing: Sequential and Parallel Algorithms, Management Science, 37:98-113. Bardadym, V. A (1996) Computer-Aided School and University Timetabling: The New Wave, Lecture Notes in Computer Science, 1153:22-45, Springer-Verlag. Burke, E.K., Cowling, P., Landa Silva, J.D. and McC, B. (2001) Three Methods to Automate the Space Allocation Process in UK Universities, Lecture Notes in Computer Science, 2079: 254-276. Carrasco, M.P. and Pato, M.V. (2001). A multiobjective Genetic Algorithm for the Class/Teacher Timetabling Problem, Lecture Notes in Computer Science, 2079:3-17. Collorni, A., Dorigo, M. and Maniezzo, V. (1998) Metaheuristics for High School Timetabling, Computational Optimization and Applications, 9:275-298. Costa, D. (1994). A tabu search algorithm for computing an operational timetable. European Journal of Operational Research, 76:98-110. Erben, W. and Keppler, J. (1996). A Genetic Algorithm Solving a Weekly CourseTimetabling Problem, Lecture Notes in Computer Science, 1153:198-211. Even, S., Itai, A. and Shamir, A. (1976) On the complexity of timetabling and multicommodity flow problems, SIAM Journal of Computation, 5:691-703. Feo, T.A. and Resende, M.G.C. (1995) Greedy randomized adaptive search procedures, Journal of Global Optimization, 6:109-133. Glover, F. and Laguna, M. (1997). Tabu Search, Kluver academic Publishers, Boston. Reeves, C.R. (1996) Genetic Algorithms, In Reeves, C.R. (ed), Modern Heuristic Techniques for Combinatorial Problems, Blackwell Scientific Publications, 151-196. Schaefer, A. (1999) A survey of automated timetabling, Artificial Intelligence Review, 13:87-127. Souza, M.J.F. (2000) Programao de horrios em escolas: uma aproximao por metaheursticas, Tese de Doutorado, Programa de Engenharia de Sistemas e Computao, UFRJ, Rio de Janeiro. Ueda, H., Ouchi, D., Takahashi, K. and Miyahara, T. (2001) A Co-evolving Timeslot/Room Assignment Genetic Algorithm Technique for Universities Timetabling, Lecture Notes in Computer Science, 2079:48-63.

Das könnte Ihnen auch gefallen