Sie sind auf Seite 1von 2

3.9.

1 Exemplo 1 de rvore de Busca: Missionrios e Canibais Missionrios e Canibais um problema bem conhecido que frequentemente utilizado para ilustrar tcnicas de IA. Eis o problema: Trs missionrios e trs canibais esto em uma das margens de um rio,com uma canoa. Todos querem ir para a outra margem do rio. A canoa somente pode transportar uma ou duas pessoas de cada vez. No poder haver, em qualquer momento, mais canibais que missionrios em ambas as margens do rio, pois isto poderia resultar em os missionrios serem devorados. Para resolver este problema, precisamos utilizar uma representao adequada. Em primeiro lugar, para a soluo do problema, podemos considerar um estado como consistindo no nmero exato de canibais e no nmero exato de missionrios em cada margem do rio, com a canoa em uma margem ou na outra. Poderamos representar isto, por exemplo, como 3, 3, 1 0, 0, 0 O conjunto de nmeros esquerda representa o nmero de canibais, missionrios e canoa em uma das margens do rio e o conjunto a direita,o que est na outra margem. Devido ao nmero que est em uma margem ser completamente dependente do nmero que est na outra margem, podemos, na verdade,mostrar exatamente quantos de cada esto na margem de destino, significando que o estado inicial representado por 0, 0, 0 e o estado objetivo 3, 3, 1 Um exemplo de estado que deve ser evitado 2, 1, 1 Aqui, so dois canibais, uma canoa e apenas um missionrio em uma das margens do rio. Este missionrio provavelmente no vai durar muito. Para ir de um estado a outro, devemos aplicar um operador. Os operadores que temos disponveis so os seguintes; 1. Levar um canibal para a outra margem 2. Levar dois canibais para a outra margem 3. Levar um missionrio para a outra margem 4. Levar dois missionrios para a outra margem 5. Levar um canibal e um missionrio para a outra margem Ento se aplicssemos o operador 5 ao estado representado por 1, 1, 0 resultaria no estado 2, 2, 1. Um canibal, um missionrio e a canoa deslocaram-se agora para a outra margem. Aplicar o operador 3 a este estado Levaria a um estado ilegal: 2, 1, 0.

Consideramos regras desse tipo como restries, que limitam os possveis operadores aplicveis a cada estado. Se projetarmos a nossa representao corretamente, as restries estaro embutidas, significando que nunca precisaremos examinar estados ilegais. Precisamos ter um teste que possa identificar se o estado objetivo foi atingido 3 , 3 , 1 Consideraremos o custo do caminho escolhido como sendo o numero de passos que foram dados ou o nmero de vezes que um operador foi aplicado. Em alguns casos, como veremos mais tarde, desejvel encontrar uma soluo que minimize o custo. Os trs primeiros nveis da rvore de busca para o problema dos missionrios e canibais so exibidos na Figura 3.6 (os arcos esto marcados com o operador que foi aplicado).

Figura 3.6 rvore de busca parcial para o problema dos missionrios e canibais Agora, estendendo essa rvore para incluir todos os caminhos possveis e os estados por eles atingidos, pode-se encontrar uma soluo. Uma soluo para o problema seria representada como um caminho da raiz at o alvo. Esta rvore representa a presena de um ciclo no espao de estados. Observe que o uso de rvores de busca para representar o espao de estados significa que a nossa representao nunca conter ciclos, mesmo que se esteja seguindo um caminho cclico no espao de estados. Aplicar o operador 1 (levando um canibal para a outra margem) como primeira ao e, em seguida, aplic-lo novamente, retornara ao estado inicial. Este um modo perfeitamente vlido de tentar resolver o problema, mas no muito eficiente. Fornecer a rvore de busca sem ciclos que seja a soluo do problema.

Das könnte Ihnen auch gefallen