[Algorytmy] Graf skierowany - wszystkie drogi

matinf
Użytkownik
Użytkownik
Posty: 1922
Rejestracja: 26 mar 2012, o 18:52
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 695 razy
Pomógł: 4 razy

[Algorytmy] Graf skierowany - wszystkie drogi

Post autor: matinf »

Witam,
Mam graf skierowany, acykliczny i planarny. W jaki sposób mogę policzyć wszystkie drogi z wierzchołka \(\displaystyle{ s}\) do wierzchołka \(\displaystyle{ v}\)? Nic mi do głowy nie przychodzi.
Ostatnio zmieniony 14 sie 2012, o 09:02 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
miodzio1988

graf skierowany - wszystkie drogi

Post autor: miodzio1988 »

Ogólnie się pytasz czy dla jakiegoś konkretnego grafu?
matinf
Użytkownik
Użytkownik
Posty: 1922
Rejestracja: 26 mar 2012, o 18:52
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 695 razy
Pomógł: 4 razy

graf skierowany - wszystkie drogi

Post autor: matinf »

graf jest w pewnym sensie konkretny, sam rzuć okiem:
miodzio1988

graf skierowany - wszystkie drogi

Post autor: miodzio1988 »

No to położenie tego drugiego wierzchołka decyduje o tym ile tych dróg będziemy mieli
matinf
Użytkownik
Użytkownik
Posty: 1922
Rejestracja: 26 mar 2012, o 18:52
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 695 razy
Pomógł: 4 razy

graf skierowany - wszystkie drogi

Post autor: matinf »

Nie rozumiem. Wierzchołek docelowy będzie w innym miejscu niż \(\displaystyle{ S}\) (start). Będzie gdzieś indziej, potrzebuję teraz wiedzieć ile jest różnych dróg z \(\displaystyle{ S}\) do celu. Mogą drogi mieć powtórzone krawędzie, byle nie było idealnie te same. Tzn. na ile sposobów mogę tak przejść.
Ostatnio zmieniony 14 sie 2012, o 09:02 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
miodzio1988

graf skierowany - wszystkie drogi

Post autor: miodzio1988 »

Nie rozumiesz, że położenie celu wpływa na to ile będzie takich dróg?
matinf
Użytkownik
Użytkownik
Posty: 1922
Rejestracja: 26 mar 2012, o 18:52
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 695 razy
Pomógł: 4 razy

graf skierowany - wszystkie drogi

Post autor: matinf »

miodzio1988 pisze:Nie rozumiesz, że położenie celu wpływa na to ile będzie takich dróg?
Rozumiem - nie ma nic w tym dziwnego.
Sugerujesz zatem abym znalazł zależność?
miodzio1988

graf skierowany - wszystkie drogi

Post autor: miodzio1988 »

Nie. Sugeruje, żeby obrać sobie punkt końcowy najpierw
matinf
Użytkownik
Użytkownik
Posty: 1922
Rejestracja: 26 mar 2012, o 18:52
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 695 razy
Pomógł: 4 razy

graf skierowany - wszystkie drogi

Post autor: matinf »

Punkt końcowy będzie podany, któryś z innych niż start
Ein
Użytkownik
Użytkownik
Posty: 1358
Rejestracja: 4 lip 2009, o 13:27
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 3 razy
Pomógł: 222 razy

graf skierowany - wszystkie drogi

Post autor: Ein »

Zaczynasz od danego wierzchołka startowego i idziesz do jego wszystkich sąsiadów (wg skierowania krawędzi), od nich do następnych itd., za każdym razem przekazując powiększoną o jeden wierzchołek ścieżkę i sprawdzając, czy już nie byłeś w tym wierzchołku w tej ścieżce (żeby się nie zapętlać). Jeżeli ścieżka kończy się danym wierzchołkiem końcowym, to ją zapamiętujesz/drukujesz/co tam potrzebujesz.

Ot, taki szybki zarys algorytmu.
ksisquare
Użytkownik
Użytkownik
Posty: 132
Rejestracja: 1 cze 2012, o 07:04
Płeć: Mężczyzna
Lokalizacja: Polska
Pomógł: 15 razy

graf skierowany - wszystkie drogi

Post autor: ksisquare »

Na początek wszędzie zero, a jeden w S
A teraz od dołu do góry, od lewej do prawej wstawiamy sumę wierzchołków które prowadzą do bieżącego.

Kod: Zaznacz cały

 0 --> 2 --> 7
       ^     ^
       |     |
 1 --> 2 --> 5
 ^     ^     ^
 |     |     |
 1 --> 1     3
 ^           ^
 |           |
 1 --> 2 --> 3
 ^     ^     ^
 |     |     |
 1 --> 1 --> 1
matinf
Użytkownik
Użytkownik
Posty: 1922
Rejestracja: 26 mar 2012, o 18:52
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 695 razy
Pomógł: 4 razy

[Algorytmy] Graf skierowany - wszystkie drogi

Post autor: matinf »

Ok, pytanie czy sprawa bardzo się skomplikuje gdy krawędzie będę dwukierunkowe, ale tylko te które prowadzą w przód - będą również prowadziły w tył.
Ein
Użytkownik
Użytkownik
Posty: 1358
Rejestracja: 4 lip 2009, o 13:27
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 3 razy
Pomógł: 222 razy

[Algorytmy] Graf skierowany - wszystkie drogi

Post autor: Ein »

W moim algorytmie się nic nie zmieni. Sprawdzanie kierunków krawędzi można całkowicie pominąć i po prostu przechodzić do wszystkich sąsiadów.
Awatar użytkownika
Zordon
Użytkownik
Użytkownik
Posty: 4977
Rejestracja: 12 lut 2008, o 21:42
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 75 razy
Pomógł: 910 razy

[Algorytmy] Graf skierowany - wszystkie drogi

Post autor: Zordon »

programowanie dynamiczne, klasyczny przykład
ODPOWIEDZ