Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:miw:2010:miw10_hgviz:prezentacja [2010/10/27 15:11]
jsi09
pl:miw:2010:miw10_hgviz:prezentacja [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 ~~SLIDESHOW~~ ~~SLIDESHOW~~
 +
 ====== MIW 2010 hgviz ====== ====== MIW 2010 hgviz ======
  
Linia 5: Linia 6:
  
 [[pl:​dydaktyka:​miw:​2010:​hgviz:​start|Powrót do głównej strony projektu...]] [[pl:​dydaktyka:​miw:​2010:​hgviz:​start|Powrót do głównej strony projektu...]]
 +
 +
 +===== Znalezione metody wizualizacji hipergrafów =====
 +
 +
 +{{:​pl:​dydaktyka:​miw:​2010:​hgviz:​5.gif?​350x350 |}}
 +{{ :​pl:​dydaktyka:​miw:​2010:​hgviz:​2.gif?​380x350 |}} 
 +
  
 ===== Znalezione metody wizualizacji hipergrafów ===== ===== Znalezione metody wizualizacji hipergrafów =====
 +{{:​pl:​dydaktyka:​miw:​2010:​hgviz:​3.gif?​400x350 |}}
 +{{ :​pl:​dydaktyka:​miw:​2010:​hgviz:​1.gif?​350x350 |}}
  
-{{:​pl:​dydaktyka:​miw:​2010:​hgviz:​5.gif |}} 
-{{ :​pl:​dydaktyka:​miw:​2010:​hgviz:​2.gif|}} 
-{{:​pl:​dydaktyka:​miw:​2010:​hgviz:​3.gif |}} 
-{{ :​pl:​dydaktyka:​miw:​2010:​hgviz:​1.gif|}} 
  
 ===== Metody reprezentacji grafów w Prologu ===== ===== Metody reprezentacji grafów w Prologu =====
Linia 22: Linia 29:
        * listy sąsiedztwa \\ np. zbiór faktów typu: krawedz(a, [ b, c ]).         * listy sąsiedztwa \\ np. zbiór faktów typu: krawedz(a, [ b, c ]). 
  
-===== Przykładowy graf i jego reprezentacje ​w Prologu ​=====+ 
 +===== Przykładowy graf i jego reprezentacje ​(termowe) ​=====
  
 {{ :​pl:​dydaktyka:​miw:​2010:​hgviz:​przykladowy2.gif|}} {{ :​pl:​dydaktyka:​miw:​2010:​hgviz:​przykladowy2.gif|}}
  
    * zbiór (lista) krawędzi    * zbiór (lista) krawędzi
-<​code>​ [1 -> 2, 1 -> 3, 1 -> 4, 2 -> 3, 2 -> 4, 3 -> 4] </​code>​+<​code ​prolog> [1 -> 2, 1 -> 3, 1 -> 4, 2 -> 3, 2 -> 4, 3 -> 4] </​code>​
  
    * listy sąsiedztwa    * listy sąsiedztwa
-<​code>​ [w(1,​[2,​3,​4]),​ w(2,[3,4]), w(3,[4]), w(4,[])] </​code>​+<​code ​prolog> [w(1,​[2,​3,​4]),​ w(2,[3,4]), w(3,[4]), w(4,[])] </​code>​
    * macierz sąsiedztwa    * macierz sąsiedztwa
  
Linia 38: Linia 46:
 ^ 3 | 0 | 0 | 0 | 1 | ^ 3 | 0 | 0 | 0 | 1 |
 ^ 4 | 0 | 0 | 0 | 0 | ^ 4 | 0 | 0 | 0 | 0 |
 + 
 +===== Przykładowy graf i jego reprezentacje (klauzulowe) =====
 +
 +
 +{{ :​pl:​dydaktyka:​miw:​2010:​hgviz:​przykladowy2.gif|}}
  
    * zbiór krawędzi ​    * zbiór krawędzi ​
Linia 53: Linia 66:
  
  
-===== Możliwości wizualizacji w GraphViz =====+===== Możliwości wizualizacji w GraphViz ​(dot)=====
  
-  * **dot** - umożliwia hierarchiczną (warstwową) wizualizację skierowanych grafów; dostarcza użytkownikowi dość sporą ilość atrybutów możliwych do ustawienia (m.in. kolor i wzór połączeń między węzłami, kształty węzłów); pozwala tworzyć podgrupy z krawędzi i węzłów. \\ +**dot** - umożliwia hierarchiczną (warstwową) wizualizację skierowanych grafów; dostarcza użytkownikowi dość sporą ilość atrybutów możliwych do ustawienia (m.in. kolor i wzór połączeń między węzłami, kształty węzłów); pozwala tworzyć podgrupy z krawędzi i węzłów. \\ 
-{{:​pl:​dydaktyka:​miw:​2010:​hgviz:​dot.gif|}} \\ +{{ :​pl:​dydaktyka:​miw:​2010:​hgviz:​dot.gif?​300x300 ​|}} \\
-  * **neato** - umożliwia wizualizację grafów nieskierowanych;​ można umiejscawiać węzły w dowolnym miejscu (parametr //​pos//​).\\ +
-{{:​pl:​dydaktyka:​miw:​2010:​hgviz:​neato.gif|}} \\ +
-  * **fdp** - umożliwia wizualizację grafów nieskierowanych wraz z tworzeniem podgrup z krawędzi i węzłów. \\ +
-{{:​pl:​dydaktyka:​miw:​2010:​hgviz:​fdp.gif|}}+
  
-===== Zaproponowane metody reprezentacji hipergrafów w prologu ===== 
  
-=== nazwa(numer hiperkrawędzi,​lista wierzchołków) ​===+===== Możliwości wizualizacji w GraphViz (neato)===== 
 +**neato** - umożliwia wizualizację grafów nieskierowanych;​ można umiejscawiać węzły w dowolnym miejscu (parametr //​pos//​).\\ 
 +{{ :​pl:​dydaktyka:​miw:​2010:​hgviz:​neato.gif?​500x300 |}} \\ 
 + 
 + 
 +===== Możliwości wizualizacji w GraphViz (fdp)===== 
 +**fdp** - umożliwia wizualizację grafów nieskierowanych wraz z tworzeniem podgrup z krawędzi i węzłów. \\ 
 +{{ :​pl:​dydaktyka:​miw:​2010:​hgviz:​fdp.gif?​500x300 |}} 
 + 
 + 
 +===== Zaproponowane metody reprezentacji HG w prologu ===== 
 + 
 +  * nazwa(numer hiperkrawędzi,​lista wierzchołków)
 Listy wierzchołków połączonych przez dane hiperkrawędzie. \\ Listy wierzchołków połączonych przez dane hiperkrawędzie. \\
-Przykładowo: ​\\ \\ +Przykładowo:​ \\ 
- ''​h_przykladowy([v<​sub>​8</​sub>​]). \\  + <code prolog>​ 
- ​h_przykladowy(e<​sub>​1</​sub>​,[v<​sub>​1</​sub>​,v<​sub>​7</​sub>​]). \\  + h_przykladowy([v8]).  
- ​h_przykladowy(e<​sub>​2</​sub>​,[v<​sub>​1</​sub>​,v<​sub>​2</​sub>​,v<​sub>​6</​sub>​]). \\  + ​h_przykladowy(e1,[v1,v7]).   
- ​h_przykladowy(e<​sub>​3</​sub>​,[v<​sub>​5</​sub>​,v<​sub>​6</​sub>​]). \\  + ​h_przykladowy(e2,[v1,v2,v6]).   
- ​h_przykladowy(e<​sub>​4</​sub>​,[v<​sub>​3</​sub>​,v<​sub>​4</​sub>​,v<​sub>​5</sub>]). ''​+ ​h_przykladowy(e3,[v5,v6]).  
 + ​h_przykladowy(e4,[v3,v4,v5]).</code>
  
-=== zbiór połączeń ​===+===== Zaproponowane metody reprezentacji HG w prologu ===== 
 + 
 +  * zbiór połączeń
 Każde połączenie wiąże ze sobą węzeł i hiperkrawędź. \\ Każde połączenie wiąże ze sobą węzeł i hiperkrawędź. \\
 Przykładowo:​ \\ Przykładowo:​ \\
- ''​h_przykladowy(v<​sub>​8</​sub>​,[]). \\  + <code prolog>​ 
- ​h_przykladowy(v<​sub>​1</​sub>​,e<​sub>​1</​sub>​). \\  + h_przykladowy(v8,[]).  
- ​h_przykladowy(v<​sub>​7</​sub>​,e<​sub>​1</​sub>​). \\  + ​h_przykladowy(v1,e1).   
- ​h_przykladowy(v<​sub>​1</​sub>​,e<​sub>​2</​sub>​). \\  + ​h_przykladowy(v7,e1).   
- ​h_przykladowy(v<​sub>​2</​sub>​,e<​sub>​2</​sub>​). \\  + ​h_przykladowy(v1,e2).   
- ​h_przykladowy(v<​sub>​6</​sub>​,e<​sub>​2</​sub>​). \\  + ​h_przykladowy(v2,e2).   
- ​h_przykladowy(v<​sub>​5</​sub>​,e<​sub>​3</​sub>​). \\  + ​h_przykladowy(v6,e2).   
- ​h_przykladowy(v<​sub>​6</​sub>​,e<​sub>​3</​sub>​). \\  + ​h_przykladowy(v5,e3).   
- ​h_przykladowy(v<​sub>​3</​sub>​,e<​sub>​4</​sub>​). \\  + ​h_przykladowy(v6,e3).   
- ​h_przykladowy(v<​sub>​4</​sub>​,e<​sub>​4</​sub>​). \\  + ​h_przykladowy(v3,e4).   
- ​h_przykladowy(v<​sub>​5</​sub>​,e<​sub>​4</sub>). ''​+ ​h_przykladowy(v4,e4).  
 + ​h_przykladowy(v5,e4). 
 +</code> 
 + 
 + 
 +===== Zaproponowane metody reprezentacji HG w prologu =====
  
-=== macierz sąsiedztwa ​===+  * macierz sąsiedztwa ​
 W przeciwieństwie do zwykłych grafów, gdzie zarówno wiersze jak i kolumny reprezentowały węzły, w przypadku hipergrafów wiersze macierzy oznaczać będą krawędzie. \\ W przeciwieństwie do zwykłych grafów, gdzie zarówno wiersze jak i kolumny reprezentowały węzły, w przypadku hipergrafów wiersze macierzy oznaczać będą krawędzie. \\
 Przykładowo:​ \\ Przykładowo:​ \\
Linia 107: Linia 135:
   * nazwy predykatu przechowującego fakty o hipergrafie   * nazwy predykatu przechowującego fakty o hipergrafie
   * nazwy docelowego pliku LaTeX.   * nazwy docelowego pliku LaTeX.
 +
 +===== Generowanie tabeli do Latexu =====
  
 Jego wywołanie dla przykładowego predykatu: Jego wywołanie dla przykładowego predykatu:
Linia 121: Linia 151:
    
 powoduje wygenerowanie pliku [[pl:​dydaktyka:​miw:​2010:​hgviz:​cpp|macierz.cpp]] powoduje wygenerowanie pliku [[pl:​dydaktyka:​miw:​2010:​hgviz:​cpp|macierz.cpp]]
 +
 +===== Generowanie tabeli do Latexu =====
  
 Po skompilowaniu tego pliku i uruchomieniu pliku wynikowego otrzymujemy gotowy do kompilacji plik [[pl:​dydaktyka:​miw:​2010:​hgviz:​tex|macierz.tex]] Po skompilowaniu tego pliku i uruchomieniu pliku wynikowego otrzymujemy gotowy do kompilacji plik [[pl:​dydaktyka:​miw:​2010:​hgviz:​tex|macierz.tex]]
Linia 128: Linia 160:
 Po jego uruchomieniu wystarczy podać nazwy plików wynikowych i cała reszta robi się automatycznie. Po jego uruchomieniu wystarczy podać nazwy plików wynikowych i cała reszta robi się automatycznie.
  
-Efektem działania skryptu jest plik **macierz.pdf** z macierzą incydencji naszego hipergrafu. ​{{:​pl:​miw:​2010:​miw10_hgviz:​macierz.pdf|}}+Efektem działania skryptu jest plik {{:​pl:​miw:​2010:​miw10_hgviz:​macierz.pdf|}} ​z macierzą incydencji naszego hipergrafu.
  
 ===== Wizualizacja w GraphViz ===== ===== Wizualizacja w GraphViz =====
Linia 141: Linia 173:
   * nazwy pliku dot   * nazwy pliku dot
   * nazwy predykatu przechowującego fakty o hipergrafie   * nazwy predykatu przechowującego fakty o hipergrafie
 +
 +===== Wizualizacja w GraphViz =====
  
 Jego wywołanie dla przykładu: Jego wywołanie dla przykładu:
Linia 159: Linia 193:
  
 powoduje wygenerowanie pliku [[pl:​dydaktyka:​miw:​2010:​hgviz:​dot|graf.dot]] powoduje wygenerowanie pliku [[pl:​dydaktyka:​miw:​2010:​hgviz:​dot|graf.dot]]
 +
 +===== Wizualizacja w GraphViz =====
  
 Po jego skompilowaniu otrzymujemy taki oto rysunek: ​ Po jego skompilowaniu otrzymujemy taki oto rysunek: ​
  
-{{:​pl:​miw:​2010:​miw10_hgviz:​graf.png|}}+{{ :​pl:​miw:​2010:​miw10_hgviz:​graf.png?280x280| }}
  
 Również tutaj przygotowałem dla uproszczenia procesu skrypt unixowy [[pl:​dydaktyka:​miw:​2010:​hgviz:​sh2|skrypt2.sh]] Również tutaj przygotowałem dla uproszczenia procesu skrypt unixowy [[pl:​dydaktyka:​miw:​2010:​hgviz:​sh2|skrypt2.sh]]
pl/miw/2010/miw10_hgviz/prezentacja.1288185104.txt.gz · ostatnio zmienione: 2019/06/27 15:59 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0