-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Piotr Chamera <p...@p...onet.pl>
Newsgroups: pl.comp.programming
Subject: Re: Taki problem programistyczny...
Date: Fri, 24 Feb 2012 00:14:55 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 98
Message-ID: <ji6h9l$erm$1@inews.gazeta.pl>
References: <m...@4...com>
<ji3aku$569$1@inews.gazeta.pl> <ji3f8b$jkc$1@inews.gazeta.pl>
<ji3tf7$3mn$1@news.icpnet.pl> <ji55g3$2g0$1@inews.gazeta.pl>
<k...@4...com>
NNTP-Posting-Host: public40407.xdsl.centertel.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1330038902 15222 79.163.157.215 (23 Feb 2012 23:15:02 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Thu, 23 Feb 2012 23:15:02 +0000 (UTC)
X-User: p71a
In-Reply-To: <k...@4...com>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2
Xref: news-archive.icm.edu.pl pl.comp.programming:195680
[ ukryj nagłówki ]W dniu 2012-02-23 20:23, A.L. pisze:
> On Thu, 23 Feb 2012 11:47:26 +0100, Piotr Chamera
> <p...@p...onet.pl> wrote:
>
>> W dniu 2012-02-23 00:24, n...@m...invalid pisze:
>>>>> 2. Znakujemy węzły rosnąco liczbami wymiernymi wg kolejności w
>>>>> wyjściowym porządku (to można zrobić raz dla wielu kolejnych
>>>>> przekształceń, może być potrzeba dokładnej arytmetyki).
>>> 1: 1/2; 2: 2/3; 3: 3/4; ... ? Co to daje, mogę prosić o objaśnienie?
>>
>> Jeszcze wyjaśnienie dlaczego pisałem o liczbach wymiernych - pomiędzy
>> dwie dowolne liczby wymierne można zawsze wstawić trzecią, co w tym
>> przypadku pozwala nie dotykać znakowania wierzchołków, których nie
>> przesuwamy.
>
> To jest mniej wiecej tak jak ja robie i nazywam "brute force"
Może coś mylę, ale:
zakładam, że graf się nie zmienia, zmieniamy tylko porządek,
więc zbiory poprzedników i następników danego węzła w grafie
są również stałe - można je wyliczyć i zapisać w jakiejś strukturze
dowiązanej do każdego węzła.
> Jak wezly A B C D przeorganizujemy
załóżmy znakowanie w jakimś początkowym porządku topologicznym
od lewej do prawej
(A 1) (B 2) (C 3) (D 4)
jeśli mamy porządek topologiczny, to wszystkie krawędzie wchodzące do
danego węzła X muszą wychodzić z węzłów o znakowaniach mniejszych niż
znakowanie przypisane do X a wychodzące muszą prowadzić do węzłów o
znakowaniach większych niż to przypisane do X.
> na B A D C, to tzreba sprawdzic ze
zmieniamy kolejność i znakowanie tak:
D przesunęliśmy między B i C więc dostał znakowanie mniejsze od C i
większe od B, B przestawiliśmy przed A, który był pierwszy w początkowym
porządku, więc B więc dostał dowolne znakowanie mniejsze od A.
(B 1/2) (A 1) (D 5/4) (C 3)
wystarczy sprawdzić, czy wszystkie krawędzie grafu wchodzące do (B 1/2)
są z nadal z węzłów o znakowaniu mniejszym od obecnego znakowania
węzła B i wszystkie wychodzące z B nadal prowadzą do węzłów o znakowaniu
większym od znakowania węzła B. I analogicznie dla węzła D.
Dla każdego przesuwanego węzła mamy k_we + k_wy sprawdzeń (porównań
liczb, k_we - liczba krawędzi wchodzących do węzła, k_wy - liczba
krawędzi wychodzących z węzła).
> A D C sa w zbiorze nastepnikow B, a BAD jes tw zbiorze poprednikow C i
> tak dalej.
Powyżej piszę o następnikach i poprzednikach w grafie, a nie w porządku.
Węzły zawsze są oznakowane rosnąco, zgodnie z porządkiem wyjściowym, a
po zmianie - testowanym. Jeżeli po zmianie zaburzyliśmy porządek,
to dla któregoś z przesuniętych węzłów X w zbiorze jego poprzedników w
grafie znajdzie się węzeł o znakowaniu większym niż jego własne lub w
zbiorze następników w grafie znajdzie się węzeł o znakowaniu mniejszym
niż jego własne.
> Wle to nie wystarcza, bo oprocz amiany uporatdkowania moze byc
> przesuniecie, na przykald A moze byc przesuniety z pozycji 100 na
> pozycje 50. Moze wtedy "wypasc" ze zbioru nastepnilkow wezlow miedzy
> 50 a 99, wiec te wezly tzreba sprawdzic.
Tak, ale nie interesują nas te, z których nie było bezpośredniej
krawędzi do A, więc jeśli znamy węzły, z których mamy w grafie
bezpośrednie przejście do A (a ten zbiór dla każdego węzła możemy
wyliczyć i zapamiętać raz, na początku, gdyż graf się nie zmienia),
to możemy je łatwo sprawdzić.
Jeśli A przeskoczyło jakiś węzeł X, który w grafie był jego
poprzednikiem, to będzie miało teraz mniejsze od niego znakowanie -
jeśli sprawdzimy listę poprzedników A w grafie, to znajdziemy tam teraz
węzeł X o znakowaniu większym niż A, a pamiętamy, że wszystkie
poprzedniki powinny mieć znakowanie mniejsze niż A - da nam to
informację, że krawędź prowadząca z X do A zmieniła kierunek
i zaburzyliśmy porządek.
Podobnie jahk D soztanie
> pzresyniety z pozycji 100 na pozycje 200, to moze wypasc ze zbioru
> poprzednikow, wiec trzeba sprawdzic wezly od 100 do 200.
>
> Troche dzuo tych sprawdzen, i pytanie - czy nie mozna mniej?...
>
> A.L.
Może w tym co piszę wyżej jest jakaś luka lub błąd, albo źle
zrozumiałem zadanie, jeśli tak, to proszę o jakiś prosty kontrprzykład
do analizy.
--
pozdrawiam
Piotr Chamera
Następne wpisy z tego wątku
- 24.02.12 14:01 A.L.
- 24.02.12 16:37 Piotr Chamera
Najnowsze wątki z tej grupy
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
Najnowsze wątki
- 2025-06-30 Kraków => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu
- 2025-06-30 Środa Wielkopolska => Konsultant wewnętrzny SAP FI/CO <=
- 2025-06-30 Białystok => Programista Mainframe (z/OS, Assembler) <=
- 2025-06-30 Warszawa => International Freight Forwarder <=
- 2025-06-30 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-06-30 Warszawa => Spedytor Międzynarodowy <=
- 2025-06-30 Lublin => Delphi Programmer <=
- 2025-06-30 Lublin => Programista Delphi <=
- 2025-06-30 Wrocław => Controlling systems Consultant <=
- 2025-06-30 Nowa tarcza do telefonu
- 2025-06-29 Spotkania z Ariane De Rotschild, szefową Iluminatów, Księżniczką Hiszpanii Leonor
- 2025-06-29 Re: Dr. Kontek (już od paru lat nie SGH) odkrył odchylenia statystyczne [PO EKSPERCIE?]
- 2025-06-28 Upadłość i zwolnienia [w Diorze, która była pol prod. głośników - przyp. JMJ]
- 2025-06-28 Taśma izolacyjna do prac elektrycznych
- 2025-06-27 Recenzja 3.1A ;) w 6 gniazdach...