Simulador da dinâmica espacial com representação em

Transcrição

Simulador da dinâmica espacial com representação em
Simulador da dinâmica espacial com representação em um ambiente SIG
JULIANO CHAVES GRANERO1
MAURÍCIO COUTO POLIDORI2
1
UCPEL – Universidade Católica de Pelotas, Rua Félix da Cunha, 412, Pelotas, RS, Brasil
[email protected]
2
UFPEL – Universidade Federal de Pelotas, Pelotas, RS, Brasil
[email protected]
Abstract. This paper describes the concept and implementation of a spatial analysis model of urban growth
based in spatial interactions and proximity measures. The process aims at building a system that is able to
simulate urban evolution using a Geographic Information System (GIS) representation and integrating urban
and ambiental elements. As the means to bring this model to life, Graph theory, Cellular Automata and Object
Oriented development techniques are extensibly used.
1 Introdução
Uma das características marcantes nas geotecnologias é a
possibilidade de aplicação em múltiplos campos da ciência,
facilitando sua integração e a operacionalização de estudos
e investigações científicas. Nesse caminho, este artigo
apresenta elementos de um modelo de crescimento urbano
que reúne saberes das ciências sociais (particularmente no
campo da morfologia urbana), das ciências ambientais (no
campo da ecologia de paisagem) e das ciências da computação (no campo da programação orientada a objetos),
integradas num ambiente de SIG – sistema de informações
geográficas.
2 Modelo Conceitual
O modelo conceitual vem sendo desenvolvido por Polidori
[1], com vistas à investigação de relações entre forma,
crescimento e sustentabilidade urbana. Os estudos pretendem simulações de crescimento urbano integrando modelos
de produção espacial anteriormente propostos por Krafta
[2] [3] às possibilidades dinâmicas dos autômatos celulares
(AC), assumindo a possibilidade de compreensão do fenômeno urbano mediante teorias de complexidade e de autoorganização.
Embora a cidade venha sendo reconhecida como um
fenômeno dinâmico, com transformações permanentes e
com resultados instáveis, no mesmo sentido que sugere
Portugali [4], há efetiva dificuldade de aproximar teorias e
práticas dessa dimensão. Como está em Torrens [5], para
trabalhar com a mudança, é preciso apreender os processos
que a provocam e capturar os fatores que a condicionam ou
a determinam, produzindo conhecimento sobre os modos
como a cidade muda, as regras subjacentes às mudanças e
os padrões que emergem de cada situação.
Desde os pioneiros trabalhos de Martin, March e Echenique [6], modelagem urbana tem sido usada satisfatoriamente para representar a cidade de modo simplificado,
facilitando a compreensão de determinados aspectos e suas
relações com o conjunto. Ao tratar de crescimento urbano,
interessa representar o processo de produção espacial,
convertendo solo não urbanizado em urbanizado e acrescentando (ou substituindo) edificações, capturando fisicamente o processo de evolução urbana. Uma vez capturado
e reproduzido artificialmente esse processo, exercícios de
simulação podem ser realizados, tal como apontam Krafta
[7] e Axelrod [8], auxiliando na construção de teorias sobre
como ocorre o crescimento urbano e suas relações com o
ambiente, bem como aproximações com situações reais
podem vir a ser divisadas.
Estudos de morfologia urbana têm representado satisfatoriamente a cidade pelo espaço construído, através de
métodos de diferenciação capazes de descrever e de medir
o desempenho de um determinado estado da cidade num
determinado tempo, considerando as formas construídas e
suas conexões através dos espaços abertos ou públicos,
como vêm sendo comprovado por Krafta [2] e pesquisadores associados. Nessa direção, a estrutura urbana pode ser
representada por diferentes graus de centralidade, cujos
valores estão correlacionados com vários indicadores de
atividade do sistema urbano, como presença de pedestres,
fluxo de veículos e concentração de atividades comerciais,
podendo ser tomada como um indicador de qualificação
locacional, de modo convergente com os estudos de Teklemberg, Timmermans e Borges [9]. Centralidade é uma
medida morfológica de diferenciação espacial, gerada por
tensões entre unidades de forma construída alocadas em
parcelas espaciais discretas e conectadas pelo tecido urbano, sendo considerada mais central a parcela que participa
com maior intensidade da rota de ligação mais eficaz entre
17
cada um dos espaços com todos os outros, considerando
caminhos preferenciais e atritos de percurso. Deste modo,
o espaço urbano pode ser representado e diferenciado de
maneira sintética e operacional, através das formas construídas, de suas conectividades e da medida de centralidade.
Uma vez considerada a centralidade como uma possível expressão de diferenciação espacial, capaz de transcrever vantagens locacionais, podem ser derivados vetores de
transformação e de produção de novos espaços urbanos,
assumindo que a medida de centralidade pode conter uma
implícita descrição do potencial de mudança, como enunciado por Krafta [2]. A produção do espaço urbano é então
assumida como a expressão da busca de maximização de
renda, o que é potencializado por vantagens locacionais.
Todavia, essa busca não implica simplesmente na eleição
dos locais de maior centralidade, pois é esperada para esses
locais uma coincidência com os maiores valores de aquisição de solo para construir, o que induz a busca permanente
por novas localizações. Como sugere Harvey [10], vantagens locacionais poderiam ser consideradas como inovações tecnológicas, transformando-se em possibilidade de
lucro excedente; deste modo, os produtores urbanos procedem de modo semelhante aos demais produtores no mercado capitalista, buscando permanentemente inovações tecnológicas, dentre as quais estão as inovações ou invenções
de localização. Como essas descobertas locacionais são
prontamente seguidas pelos demais competidores, o processo torna-se iterativo, permanente e complexo, pois as
vantagens iniciais tendem a desaparecer com a dinâmica
urbana. Sendo assim, maiores potenciais de mudança se
concentram onde houver maior diferença entre valores de
centralidade entre um lugar e seu entorno, juntando vantagens de localização com menor custo do solo, de modo a
reproduzir a referida “invenção de localização” e a conseqüente maximização de renda.
Estudos de ecologia de paisagem vêm absorvendo
conceitos de acessibilidade e desenvolvendo modelos derivados das experiências com o espaço urbano, aplicando
técnicas de resistência mínima acumulada, como está em
Yu [11], utilizando operações semelhantes às usadas em
modelos dedicados ao espaço urbanizado, o que pode ser
resumido como resistência espacial. Em caminho semelhante estão trabalhos dedicados a avaliar paisagens para a
conservação ambiental, como mostra Spellberg [12], indicando um gradiente de valor ecológico e de impacto de
atividades para diferentes usos do solo. Noutras palavras, o
espaço que intermedeia tensões de crescimento urbano
exerce papel de restritor ou facilitador, participando ativamente do sistema.
Na interface do urbanismo com a ecologia, decerto
com influência da discussão sobre limites de crescimento, a
qual inclui desde as anotações de Meadows et al. [13] até
as recentes revisões de Cole e Masini [14], ocorrem descrições sobre problemas decorrentes da exaustão dos recursos
naturais e ocasionados pela superação da capacidade da
infra-estrutura instalada na cidade. Em ambos os casos, a
idéia parece confluir para a impossibilidade do crescimento
ilimitado, o que implica na existência de limiares naturais e
tecnológicos semelhantes aos encontrados por Breheny
[15], cuja superação pode estar associada à presença de
problemas ambientais. Os limiares podem ser representados por um teto limite de urbanização, à semelhança dos
coeficientes de aproveitamento do solo utilizados em planos urbanos.
Como apontam Torrens e O’Sullivan [16], conceitos e
técnicas de AC estendido às demandas da cidade e às intenções dos pesquisadores urbanos têm oferecido um ambiente com chances para operacionalizar essa convergência
entre a possibilidade de modelar o ambiente urbanizado e o
não urbanizado por diferenciação morfológica, por resistência espacial e por análise de limiares. Ehlen, Caldwell e
Harding [17] registram, inclusive, que essas chances vêm
sendo maximizadas pelas possibilidades dinâmicas dos
autômatos celulares, pela sua capacidade de capturar processos derivados da vizinhança espacial, pela natural compatibilidade com os grids usados em SIG, pela crescente
disponibilidade de imagens de satélite e pela popularização
de conhecimentos em geocomputação. Sendo assim, ACs
como os pretendidos aqui poderiam ser chamados mais
apropriadamente de CS – cell-space, como está em Batty,
Couclelis e Eichen [18], ou simplesmente de modelos celulares.
Especialmente através dos trabalhos de O’Sullivan
[19], modelos com técnicas de grafos e AC integrados têm
conseguido superar a tradicional deficiência desses modelos de trabalharem em múltiplas escalas, quando usados
separadamente. Enquanto grafos permitem apreensões da
estrutura geral (ou na escala global) de um sistema, ACs
têm origem nas relações de vizinhança (ou na escala local),
podendo implicar na emergência de padrões globais. O
artifício de integração permite utilizar medidas de centralidade e potencial no ambiente celular, bem como dar operacionalidade às resistências naturais e antrópicas à urbanização, engendrando um modelo híbrido de produção espacial.
Em resumo, é possível então assumir a cidade como
um campo de oportunidades de obtenção de renda, mediadas pelo espaço, o qual é composto integradamente por
atributos urbanos e ambientais, que funcionam como atratores ou como resistências para o crescimento urbano. A
configuração espacial e a distribuição desses atributos
geram tensões que diferenciam o espaço qualitativa e quantitativamente – através da medida de centralidade (construída com o apoio de técnicas de grafos), vindo a provocar
18
crescimento em lugares com maior potencial de desenvolvimento (determinado com a ajuda de técnicas de AC).
Crescimentos acima de determinados limiares são considerados problemas ambientais, gerados e superados no mesmo processo de produção do espaço urbano. Iterações
desse processo oferecem um comportamento dinâmico ao
sistema, posto que a realização dos potenciais implica em
novos valores de centralidade e assim sucessivamente.
vizinhança celular do tipo Moore (9 vizinhos) como os
arcos de um grafo, conforme pode ser visto na figura 1.
Cada célula desta nova configuração é chamada de célulanodo.
Figura 1. Representação em grafos de um ambiente
celular.
3 Modelo Computacional
No caminho de tornar operacional o modelo de crescimento urbano tratado anteriormente, foram estudadas técnicas e
projetados ou reproduzidos algoritmos característicos de
sistemas baseados em autômatos celulares e grafos, constituindo-se o modelo do esforço conjugado destas duas técnicas, implementadas em um ambiente SIG.
O desenvolvimento do sistema pode, portanto, ser divido em duas etapas, sendo a primeira dedicada a resolver
as questões apresentadas pelo modelo conceitual e a segunda responsável por encontrar uma solução para a entrada de dados e representação dos resultados.
Autômatos Celulares
Segundo Wolfram [20], “autômatos celulares são modelos
matemáticos para sistemas nos quais componentes simples
interagem produzindo padrões de comportamento complexos”. Esta definição se adapta ao caso aqui apresentado,
uma vez que cada célula pode ser dita um componente
simples que interage com suas vizinhas gerando padrões de
evolução e configuração urbana complexos.
Por se tratar de um ambiente de duas dimensões, a aplicação de AC bidimensionais para representação ambiental é bastante apropriada. Neste contexto, os autômatos têm
o intuito de implementar as relações de proximidade (análise de buffers) utilizadas no processo de crescimento proposto. Deste modo, o modelo pode ser resolvido numa
malha de duas dimensões (n x m) finita e composta por
células de mesmo tamanho, onde a interação entre as células permite a implementação do descritor de centralidade e
da medida de potencial, que cumprem com o papel de
regras de transição imersas em conteúdo teórico, permitido
instaurar uma dinâmica de crescimento típica de AC e
informada pela teoria da urbanização.
Grafos
No sentido de representar as relações de interação ou tensão espacial entre as células, é necessário que esta estrutura
seja convertida em um grafo. Isto se torna possível na medida em que se encara cada célula como um vértice e a
A partir desta representação é possível aplicar um método de busca heurística em grafos para processar as relações de interação espacial propostas. Neste caso específico,
foi empregado o algoritmo de busca heurística A*, cujo
funcionamento será visto em seguida.
Sistema ArcView GIS
Devido ao fato de possuir uma linguagem de programação
própria, chamada Avenue e, sobretudo, à familiaridade dos
usuários finais ao sistema ArcView GIS, este surgiu como
uma alternativa interessante de interface para entrada e
saída de dados e também parametrização dos processos. A
linguagem Avenue é uma linguagem do tipo script que
permite o acesso a um framework orientado a objetos do
SIG, proporcionando um meio simples para extensão e
especialização de suas funções. Além disso, o software
possibilita o incremento de suas funcionalidades através de
extensões e dos recursos de ligação dinâmica existentes no
sistema operacional Windows.
O ingresso de informações no sistema poderá ser tanto
em formato vetorial com raster, sendo a medida de centralidade processada com recursos de grafos e a medida de
potencial calculada com técnicas de AC. Consecutivas
iterações determinam um processo de feedback que gera
crescimento, fazendo interagir os ambientes vetorial e
raster, tradicionalmente tratados em separado.
19
Figura 4. Detalhe da comunicação dos componentes do
sistema.
Por outro lado, estando os SIG mais dedicados à análise de dados estáticos, a alternativa é revelar a dinâmica
simulada por sucessivos estados, os quais podem ser estudados em separado e, posteriormente, postos em animação.
Esse artifício é resolvido mediante o uso da estrutura de
um projeto ArcView (figura 2), conforme segue.
Figura 2. Estrutura de um projeto do sistema ArcView.
No esquema acima, cada View representa um tempo
discreto e cada Theme (em formato grid dado pela extensão
Spatial Analyst) um valor gerado pelo modelo.
Estrutura geral do sistema
O sistema pode ser estruturado de forma que apareçam dois
componentes principais: uma biblioteca de ligação dinâmica, chamada de núcleo de processamento, responsável por
implementar os processos definidos pelo modelo conceitual
e uma interface em ambiente SIG, conforme pode ser visto
na figura 3.
Figura 3. Estrutura geral do sistema.
Entre outras funções de interface, o ArcView é responsável por fornecer o meio pelo qual é realizada a associação de atributos às células. Para isso, os atributos se
encontram cadastrados em tabelas de bancos de dados
(Table) que são acessadas pelo SIG por meio de uma funcionalidade específica. No módulo externo, encontra-se
uma matriz de dimensões iguais, porém transposta ao grid
criado pelo Spatial Analyst, como aparece adiante. É nessa
matriz que ocorre o processamento e cujos resultados acumulados são enviados ao SIG para representação. Esta
comunicação entre o módulo de ligação dinâmica e a extensão de análise espacial se dá através de uma biblioteca
de funções chamada Grid I/O, fornecida pelo fabricante da
extensão. Uma representação mais detalhada do funcionamento deste sistema pode ser vista na figura 4, a seguir.
4
Implementação
O sistema proposto foi implementado e desenvolvido para
o sistema operacional Windows 9x/NT/2000/XP utilizando
a versão 3.2 do software ArcView GIS e as linguagens de
programação C++ para a criação da biblioteca de ligação
dinâmica (DLL) contendo o núcleo de processamento e
Avenue para a interface.
Módulos de ligação dinâmica (DLL)
Conforme foi dito anteriormente, o núcleo externo de processamento se encontra em uma DLL. Segundo Petzold
[21], as DLL são um dos elementos estruturais mais importantes do sistema operacional Windows, tendo em vista que
todo o sistema é baseado em módulos estáticos de programas ou nestas bibliotecas. As bibliotecas de ligação dinâmica não são diretamente executadas e geralmente não
recebem mensagens. São arquivos separados, contendo
funções que podem ser chamadas por programas ou outras
DLL para realizar determinadas tarefas, ou seja, entram em
operação quando um módulo executa alguma de suas funções.
Quando uma DLL é incorporada a um sistema, seus
métodos e dados se tornam parte deste sistema, podendo
ser manipulados livremente. Um exemplo disso seria a
presença da instância de uma classe X em um módulo
externo. O objeto seria criado quando da ligação do módulo e destruído quando da sua liberação.
O termo “ligação dinâmica” se refere ao fato de que o
SO realiza a ligação de uma chamada de função em um
módulo ao endereço real da função em um módulo externo,
em tempo de execução. Portanto, pode-se pensar nestas
bibliotecas como extensões para programas que rodam
sobre a plataforma Windows.
20
Núcleo de processamento
Conforme pode ser visto na figura 5, adiante, o módulo de
ligação dinâmica que representa o núcleo de processamento é constituído de duas partes principais. Primeiramente,
foi desenvolvido um conjunto de classes que visam tornar
operacionais as funcionalidades do modelo e, em seguida,
um conjunto de funções chamadas convenientemente de
“interface” do módulo. As funções da interface do módulo
serão chamadas pelo ArcView e tem o objetivo de acessar
o conjunto de classes anteriormente construído.
Figura 5. Estrutura interna do núcleo do sistema e comunicação com a interface ArcView
Estrutura de classes
O conjunto de classes C++ desenvolvido é composto por
12 classes podendo ser particionado em quatro grupos de
forma a facilitar a sua compreensão. O primeiro grupo
pretende a representação matricial do ambiente de estudo
através da criação de uma matriz bidimensional. Esta matriz é composta por objetos de uma classe responsável por
armazenar informações relativas a cada célula do sistema.
Outro ponto importante deste primeiro grupo de classes é a
existência de uma classe responsável pela ligação desta
matriz de representação interna aos grids do Spatial Analyst. Esta classe é, na verdade, uma camada de abstração
posta sobre as funções da biblioteca Grid I/O, que possibilita enviar dados para exibição na interface ArcView através de Themes do tipo grid (GTheme).
O segundo grupo de classes se dedica a representar a
ligação entre atributos e células do sistema, sendo composto por 4 classes.
O quarto grupo é responsável pela construção e aplicação das regras de transição do modelo. Com o intuito de
tornar o sistema flexível, foi construído um “gerenciador
de regras” que tem como objetivo possibilitar a adição de
novas regras ao sistema através de DLL auxiliares. Estas
bibliotecas de regras podem ser adicionadas ao sistema
como forma de expandir suas capacidades, sendo que as
regras de potencial e de crescimento celular podem ser
vistas como padrão ao sistema, como está detalhado no
trabalho de Granero [22].
Tensão espacial
O processo de tensão espacial envolve o cálculo dos
valores de tensão e a busca de caminhos. A cada iteração,
são determinadas quais as células geradoras de tensão e, a
partir deste conjunto, ocorre a busca de caminhos entre
todos os pares possíveis ou entre todas as células pertencentes a um determinado raio de abrangência. A atribuição
de raios é feita de maneira local, ou seja, cada célula pode
possuir um raio de abrangência diferente. Nos casos onde
nenhum raio de abrangência é utilizado, a complexidade
apresentada pelo algoritmo é da ordem de O(n log n), enquanto que na presença de um raio este valor é reduzido
ficando na ordem de O(|2r-1|2 log n), onde r indica o raio
utilizado.
Um detalhe interessante relativo a esta implementação
do algoritmo A* diz respeito à forma como os vizinhos de
uma determinada célula-nodo são obtidos. Inicialmente é
assumida a premissa de que a vizinhança de uma determinada célula é dada por todas as células que lhe são diretamente adjacentes, gerando um total de 8 vizinhos. Porém,
pode-se reduzir este número para 3 se for feita a análise da
posição relativa entre a célula-nodo atual e o objetivo da
busca corrente, conforme pode ser visto na figura 6, a seguir.
O terceiro grupo engloba as operações necessárias ao
cálculo da tensão espacial (distribuição axial, polar e difusas, conforme Polidori [1]), sendo responsável por gerar os
valores de centralidade celular. Neste conjunto de classes,
é implementado o algoritmo de pathfinding A* semelhante
àquele visto em Russel [24] e Rich [25], o qual atua sobre a
chamada “matriz-grafo” representada na figura 1.
21
Figura 7. Análise de buffer axial.
Figura 6. Representação gráfica do processo de obtenção
de vizinhos no algoritmo A*.
Na figura anterior a célula p representa um nodo intermediário da busca e a célula q o objetivo da busca. É
evidente que as situações vistas nesta imagem são casos de
vizinhança bem comportada, por isso é aplicada uma técnica semelhante à simulação de campos de visão em jogos e
robótica, na qual uma área triangular (simulando o ângulo
de visão humana) é traçada a partir da célula p, sendo que a
seleção das células que compõe a vizinhança é dada pela
presença da célula q nesta área.
Análise de buffers
Como está desenvolvido por Polidori [1], de posse de um
caminho mínimo entre um par de células-nodo, é necessário que as distribuições polar e axial sejam realizadas. A
distribuição polar se limita a computar uma área quadrada
no entorno das células geradoras da tensão (origem e destino da busca) baseado no seu raio de buffer (este raio não
tem nenhuma ligação com o raio utilizado para o cálculo da
tensão espacial). O buffer axial, por outro lado, requer um
pouco mais de atenção. O método utilizado é semelhante
aos algoritmos de computação gráfica chamados de Thick
Primitives, como encontrado em Foley [23]. Baseado na
direção do fluxo, um conjunto diferente de células-nodo
recebe o valor da distribuição, processo que pode ser visto
na figura 7, a seguir.
Na figura anterior, as células brancas e pretas representam o estado atual e seu buffer, as células cinzas indicam o próximo estado e seu buffer enquanto que as células
que contém a letra x, fazem parte do caminho entre p e q.
5 Considerações finais
O argumento apresentado anteriormente auxilia na compreensão das possibilidades dos SIGs em atuarem como
suporte para a investigação científica, permitindo integrar
campos do saber tradicionalmente vistos em separado,
como é o caso do urbanismo, da ecologia e da computação.
Além disso, o modelo sumariamente mostrado representa
um esforço de superação das separações entre os ambientes
vetorial e raster, facilitando a entrada de dados e melhorando as chances de explicação dos fenômenos urbanos e
ambientais.
22
Referências bibliográficas
[1] M. Polidori , Crescimento Urbano e Ambiente. Porto
Alegre: UFRGS – PPGECO, 2002.
[2] R. Krafta, Modelling Intraurban configurational
development. Environment and Planning B: Planning and
Design, v. 21. London: Pion, 1994, 67--82.
[3] _____, Spatial self-organization and the production of
the city. Urbana 24. Caracas: IFA/LUZ, 1999, 49--62.
[4] J. Portugali, Self-organization and the city. Berlin:
Springer, 2000.
[5] P. Torrens, How should we model complex adaptive
urban systems? London: Casa, 2000. [disponível em
http://www.casa.ucl.ac.uk/~david/ComplexitBib ]
[6] L. Martin; L. March; M. Echenique, La Estructura del
Espacio Urbano. Barcelona: Ed. Gustavo Gili, 1975.
[7] R. Krafta, Simulador de cidades: horizontes e problemas . In: R. Farret, Anais do VI Encontro Nacional da
ANPUR. Brasília: ANPUR., 1995, 137--147.
[8] R. Axelrod, Advancing the art of simulation in the
social sciences. International Conference on Computer
Simulation and the Social Sciences. Cortona, Italy, 1997.
[ disponível em www.santafe.edu ]
[9] J. Teklemburg; H. Timmermans; A. Borges, Design
tools in a integrated CAD-GIS environment: space syntax
as an example. In: H. Timmermans (Ed), Decision support
systems in urban planning. London: E & FN Spon 1997,
261--276.
[10] D. Harvey, The urbanization of capital. Oxford:
Blackwells, 1985.
[11] K. YU, Security patterns and surface model in
landscape ecological planning. Landscape and urban planning, v. 36. Great Britain: Elsevier Science, 1996, 1--17.
[12] I. Spellberg, Evaluation and assessment for
conservation. New York: Chapman and Hall Inc, 1994.
[13] D. Meadows et al., The limits of growth. New York:
Universe Books, 1972.
[14] S. Cole; E. Masini, Limits beyond the millennium: a
retrospective on the limits to growth. Futures 33.
Pergamon, 2001, 1--5.
Urban Systems v.26, 2002, 257--265. [ disponível em:
www.elsevier.com/locate/ compenvurbsys
[18] M. Batty; H. Couclelis; M. Eichen, Urban system as
cellular automata. Environment and Planning B: Planning
and Design 24(2). London: Pion, 1997, 159--164.
[19] D. O’Sullivan, Graph-cellular automata: a generalized
discrete urban and regional model. Environment and Planning B: Planning and Design 28. London: Pion, 2001, 687-705.
[20] S. Wolfram, Two Dimensional Cellular Automata,
Journal of Statistical Physics, 1985.
[21] C. Petzold, Programming Windows, Microsoft Press,
1999.
[22] J. C. Granero, Simulador da dinâmica espacial com
base em células urbanas e ambientais, UCPel – PROJGRAD , 2002.
[23] J. D. Foley, A. Van Dam, et al., Computer Graphics
Principles and Practice, Addison-Wesley, 1990.
[24] S. J. Russel e P. Norvig, Artificial Intelligence A
Mordern Approach, Prentice Hall, 1995.
[25] E. Rich e K. Knight, Inteligência Artificial, Makron
Books, 1993.
[15] M. Breheny, The contradictions of the compact city: a
review. In: M. Breheny (Ed.), Sustainable Development
and Urban Form. London: Pion, 1992.
[16] P. Torrens; D. O’Sullivan, Cellular automata and
urban simulation: were do we go from here ? Environment
and Planning B: Planning and Design 2001, Vol. 28. London: Pion, 163--168.
[17] J. Ehlen; D. Caldwell, Douglas; S. Harding,.
GeoComputation: what is it ? Computers, Environment and
23
24