Grupo - Tráfego
Integrantes: Rodrigo Zamin Ferreira (262692) e Maurício Gomes de Queiroz (264889)
Introdução
O estudo de caso do comportamento do tráfego urbano se mostra de grande utilidade nos dias atuais, onde metrópoles apresentam grandes volumes de veículos se deslocando pela cidade. Em horários de pico, por exemplo, às 18h, Porto Alegre apresenta média de lentidão de 83km[1], enquanto São Paulo chega a incríveis 485km[2].
A modelagem de tal comportamento permite um estudo das regras básicas que motoristas tendem a seguir em situações reais, levando assim a um melhor entendimento da formação e desenvolvimento de congestionamentos, além da obtenção de outras informações interessantes, como a velocidade média em função do número de carros.
Aqui é proposto um modelo simples do funcionamento normal de uma avenida utilizando autômatos celulares, inicialmente com apenas uma faixa, sendo após estendido para n faixas.
Autômatos Celulares
Weimar[3] define um autômato celular em "Simulation with Cellular Automata", informalmente, como um vetor de células sendo caracterizado pelas seguintes propriedades básicas:
• A evolução se dá em passos discretos de tempo;
• Cada célula é caracterizada por um estado pertencente a um conjunto finito de estados;
• Cada célula evolui de acordo com as mesmas regras que dependem somente do estado em que a célula se encontra e de um número finito de vizinhos;
• A relação com a vizinhança é local e uniforme.
Apesar de simples, autômatos celulares (AC) são capazes de simular sistemas dinâmicos complexos e são extensivamente utilizados aqui, onde cada célula representa uma posição na avenida, que pode conter um veículo ou não. Caso contenha um veículo, a célula possui um estado associado a si que representa o índice do veículo, através do qual podemos acessar sua velocidade, a qual pode assumir valores discretos de 0 a Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle v_{max}}
; caso contrário, a célula possui um estado que indica que está vazia, sendo utilizado o estado -1 para esse objetivo. A velocidade de um carro representa o número de células que o carro andará num passo.
A atualização dos estados é feita de forma não-síncrona (os estados das células são atualizados um após o outro) e homogênea (as regras de atualização não dependem da posição espacial da própria célula, somente da posição relativa dos vizinhos) [4].
A mudança dos estados é feita com base em regras que se baseiam nos estados da vizinhança, tendo também algumas mudanças estocásticas, caracterizando um método de Monte Carlo.
Regras de Aceleração
Estabelecemos as regras de mudança da velocidade com base no artigo de Nagel e Schreckenberg (1992). São três os casos em que um autômato do modelo descrito aqui muda de velocidade:
Regra 1: A velocidade é reduzida caso a distância entre um carro e o veículo que vai à sua frente seja suficientemente pequena para que haja colisão durante a atualização de posições da simulação, sendo necessária a redução da velocidade para impedir que isso ocorra.
Regra 2: De modo análogo, aumenta-se a velocidade caso a velocidade atual for menor que a máxima e seja suficientemente grande para que não haja colisão durante a atualização de posições da simulação usando a velocidade nova.
Regra 3: É também introduzido no modelo um fator que aleatoriamente reduz a velocidade do veículo, para que seja levado em conta flutuações da velocidade devido ao comportamento humano. Esse passo é essencial, já que sem ele o modelo seria determinístico.
Ou seja, sendo Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle dist} a distância entre um carro e o que está à sua frente, e Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle v} a velocidade do carro,
Regra 1: Caso Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle dist \leq v}
, então Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle v \rightarrow dist - 1}
Regra 2: Caso Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle dist > v + 1} , então Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle v \rightarrow v + 1}
Regra 3: Com uma probabilidade Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle p} , Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle v \rightarrow v - 1}
Faixa Única
O problema de faixa única, mesmo que simples, gera discussões muito boas quando simulado. O cenário consiste em uma avenida de uma faixa, com Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle L} células, com carros que se movem da esquerda para a direita, submetidos às regras citadas anteriormente. Além disso, foram utilizadas condições de contorno periódicas, e os carros foram inicializados em posições aproximadamente equidistantes. Os valores dos parâmetros utilizados foram Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle L = 15} e Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle v_{max} = 3} .
Uma primeira abordagem, com finalidade situar a simulação, é com um único carro, sem implementação da redução de velocidade randômica.
No gráfico acima, o carro se desloca, partindo do repouso e com aceleração, até atingir a velocidade máxima, com valor 3, que é mantida no decorrer do tempo. Tal gráfico mostra o funcionamento base dos autômatos e da visualização da evolução temporal dos mesmos.
O próximo passo é estendermos o modelo para o caso com 7 carros, isto é, uma densidade de quase 0.5 carros/célula (Gráfico 2).
Agora, podemos introduzir a probabilidade de redução de velocidade, em uma situação com dois carros. Percebe-se no gráfico abaixo, por exemplo, que o carro iniciado na posição 0 permanece dois passos de tempo com velocidade 0, enquanto o segundo carro já havia mudado de velocidade, algo causado pela probabilidade de redução da velocidade. Nestes gráficos ainda não há grande redução de velocidade e congestionamentos, já que a densidade é baixa; porém, ao decorrer do tempo, os carros oscilam sua velocidade entre 3 e 2. A probabilidade de redução de velocidade utilizada aqui é a de 0.3, a qual é a mesma para todas as simulações analisadas nesta página.
Ao aplicarmos a simulação para 5 carros (Gráfico 4), observamos que já há pontos de lentidão (ou seja, regiões em que os carros estão parados, representados pela cor preta no gráfico), causados pela probabilidade de redução da velocidade e maior densidade de carros. Esses trechos se propagam, de acordo com a simulação, contra o sentido de movimentação dos carros.
Finalmente, estendemos o modelo para um sistema com Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle L = 100} , Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle n_{carros} = 60} e (Gráfico 5), juntando todas as análise feitas anteriormente.
Após o início, mesmo deixando Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle v_{max} = 6} , os carros permanecem principalmente com velocidade 1 e 2. Além de trechos grandes de lentidão, trechos menores são espontaneamente criados devido a probabilidade de redução de velocidade. Todos os trechos de lentidão são propagados contra o fluxo dos carros.
Medidas de Velocidade
Por fim, foi medida a velocidade média como função do tempo (fixando a velocidade máxima em 6) e como função da velocidade máxima (sendo medida em Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle t_{final} = 100} ) (Gráficos 6 e 7). Com o intuito de fazer uma análise por método de Monte Carlo, somos levados a utilizar grande quantidade de amostragens para obter um resultado, ainda que estimado, mais próximo do real. Aqui são utilizadas 100.000 amostragens e então foi calculada a média da velocidade entre elas. Com mais amostragens reduz-se o ruído, porém o tempo gasto com seu cálculo é significantemente aumentado.
Em ambos os casos, a velocidade média tende a um valor de equilíbrio. Para o caso do Gráfico 7, inicialmente o aumento da velocidade máxima tem grande impacto na velocidade média, mas a medida que a velocidade máxima aumenta, é atingido um ponto em que o aumento da velocidade máxima não é mais significativo para a velocidade média, já que dificilmente os carros atingem velocidades tão altas. FALAR DE V=7
Outras medidas interessantes são a velocidade média em função da densidade de carros (número de carros/número de células) e o fluxo em função da densidade de carros. O fluxo é medido como o número de carros que atravessou a seção transversal da rua entre as posições 0 e 1 do vetor que descreve a rua, dividindo pelo tempo total da simulação. Os gráficos abaixo foram feitos a partir da média de 10000 amostragens.
O gráfico 10 indica que, quanto maior a densidade, menor a velocidade média dos carros, o que é intuitivo. O Gráfico 11 é mais interessante, indicando que existe uma densidade que maximiza o fluxo de carros: abaixo dela, o número baixo de veículos causa um pequeno fluxo; acima dela, a grande densidade faz com que a velocidade média seja pequena, diminuindo o fluxo de carros.
Faixa Dupla
É natural então, querermos simular o tráfego em uma pista com duas faixas, de mesmo sentido. Permitir que carros troquem faixa, à princípio, tornaria o sistema mais fluido.
Regras de Troca de Faixa
Surge então a necessidade de definir quando permitiremos que uma carro se mude para a faixa ao lado. Apenas definir uma probabilidade para tal evento não faz jus à realidade pois, mesmo que possível, a tendencia não é que pessoas troquem de faixa por motivo algum. Aqui foi utilizada a regra de que, ao reduzir a velocidade devido à falta de distância (ou seja, a regra 1), ou se o carro for obrigado a manter sua velocidade (ou seja, não se encaixar nem na regra 1 nem na regra 2), o motorista checa a faixa vizinha, medindo a distância ao próximo carro; se ela for maior do que a distância atual (medida a partir da faixa em que o carro se encontra), e se a faixa vizinha possuir espaço livre, a troca de pista ocorre. Na sequência, é refeito o processo de mudança de velocidade, levando em conta agora a nova pista em que o carro se encontra.
Simulações Iniciais
Os gráficos a seguir mostram implementações de faixa dupla. Nota-se, caso acompanhar um carro em específico, que ele troca de faixa quando necessário. Como exemplo, tome o carro que inicia na posição 12, no gráfico 12. Do tempo 2 ao 3 ele troca de faixa ao perceber que (lembrando das condições de contorno periódicas) há um carro bloqueando seu caminho.
O mesmo pode ser feito com uma densidade de carros/celula maior.
Comparado com o gráfico 5, o gráfico 14 mostra o resultado da duplicação de faixa. Temos um claro aumento na fluidez. Carros se ajeitam procurando a melhor configuração. Não deixa de gerar lentidão, com trechos de parada total, mas a situação é bem melhor.
Análise de Velocidades
Há a possibilidade de estudar os efeitos na velocidade de adicionar uma nova faixa, o gráfico 15 traz o gráfico 8 juntamente com o mesmo método aplicado para uma situação com duas faixas. É claro o aumento da velocidade média dos carros, tanto quanto uma menor variação na mesma, com o decorrer do tempo.
Também, variando-se a velocidade máxima definida há o mesmo comportamento que para uma faixa. O deslocamento do platô atingido pelo gráfico para cima indica uma maior fluidez no sistema.
Também pode ser feito o mesmo estudo do fluxo e da velocidade média em função da densidade de carros, conforme os gráficos abaixo.
Os Gráficos 17 e 18 são muito similares aos gráficos 10 e 11, respectivamente, indicando que a velocidade média e o fluxo só dependem do número de pistas através da densidade de carros.
N faixas
O programa foi estendido para comportar uma simulação de Falhou ao verificar gramática (MathML com retorno SVG ou PNG (recomendado para navegadores modernos e ferramentas de acessibilidade): Resposta inválida ("Math extension cannot connect to Restbase.") do servidor "https://wikimedia.org/api/rest_v1/":): {\displaystyle N} faixas. Análises futuras podem, por exemplo, verificar a eficácia da adição de uma faixa à uma avenida, informação valiosa para coordenadores de trafego em uma cidade movimentada que buscam informações sobre custo/benefício de tal obra. Também é possível analisar os impactos da redução de uma faixa, ou do bloqueio de lugares pontuais, comparando diversas simulações.
Bibliografia
- ↑ http://transito.maplink.global/RS/porto_alegre/Estatisticas
- ↑ http://transito.maplink.global/SP/sao_paulo/Estatisticas
- ↑ Weimar, Jörg R. (1998). "Simulation with Cellular Automata". Berlin: Logos-Verlag.
- ↑ https://www.ppgee.ufmg.br/defesas/113M.PDF