Problem Komiwojażera

Cisi204
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 2 lata
  • Postów:232
0

Cześć mam problem polegający na tym że muszę :

a) Przeprowadzić „odręczną” symulację działania algorytmu dokładnego: wypisać wszystkie możliwe trasy przejazdu komiwojażera, wyznaczyć odpowiadające im długości oraz wskazać trasę najkrótszą.
b) Przeprowadzić „odręczną” symulację działania algorytmu zachłannego. Wypisać etapy tworzenia trasy przejazdu.
c) Dla wyniku otrzymanego algorytmem zachłannym wyznaczyć wartość względnego odchylenia od optimum.
Należy przyjąć, że komiwojażer wyrusza z miasta 0 i nie wraca do tego miasta
.

Oto mój zestaw danych
0 43 62 69 85
83 0 17 93 6
85 79 0 57 64
72 78 71 0 58
49 13 92 44 0

Jak to zrobić

edytowany 1x, ostatnio: kq
YA
Wyszedłbym od zrozumienia tego, co opisuje "zestaw danych".
Cisi204
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 2 lata
  • Postów:232
0

Jest to macierz 5x5 opisująca liczbę miast

YA
Ta macierz opisuje coś innego ;) Liczbę miast można opisać jedną liczbą: 5
Cisi204
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 2 lata
  • Postów:232
0

Po pierwsze to dziękuje ci za tak szybkie odpowiedzi . Ja rozwiązuje ten problem komiwojażera pierwszy raz , i za bardzo nie wiem jak przeprowadzić te odręczne symulacje podając czas i wszystkie możliwe trasy przejazdu

YA
  • Rejestracja:prawie 10 lat
  • Ostatnio:około 12 godzin
  • Postów:2368
0
  1. Macierz opisuje Ci koszt (czas?) przejazdu z miasta i do j.

  2. W problemie komiwojażera szukasz "najtańszego" rozwiązania. Wszystkich rozwiązań masz N!

  3. Startujesz z miasta 0 i masz odwiedzić pozostałe (1,2,3,4), więc masz 4! = 24 kombinacje
    0-1-2-3-4
    0-1-2-4-3
    0-1-3-2-4
    0-1-3-4-2
    0-1-4-2-3
    0-1-4-3-2
    0-2-...
    ...

  4. Z macierzy odczytujesz koszty przejazdu, np. 0-1-2-3-4: koszt z 0-1 + koszt z 1-2 ...
    Koszt 0-1: 43
    Koszt 1-2: 17
    itd.

W dokładnej metodzie rozważasz wszystkie możliwości, w zachłannej wybierasz najbliższą/najkrótszą trasę startująca z 0, później najkrtószą z tego miasta, które znalazłeś w poprzednim kroku itd.

superdurszlak
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 11 godzin
  • Lokalizacja:Kraków
  • Postów:1999
0
Cisi204 napisał(a):

Cześć mam problem polegający na tym że muszę :

*a) Przeprowadzić „odręczną” symulację działania algorytmu dokładnego: wypisać wszystkie możliwe trasy przejazdu komiwojażera, wyznaczyć odpowiadające im długości oraz wskazać trasę najkrótszą.

no to czeka Cię wycieczka przez wszystkie dopuszczalne warianty i tyle... ;)

b) Przeprowadzić „odręczną” symulację działania algorytmu zachłannego. Wypisać etapy tworzenia trasy przejazdu.
c) Dla wyniku otrzymanego algorytmem zachłannym wyznaczyć wartość względnego odchylenia od optimum.

Optymalna (najkrótsza) trasa ma długość X. Sub-optymalna trasa znaleziona algorytmem zachłannym ma długość Y - zatem względne odchylenie będzie równe

\epsilon = \frac{Y}{X}

Jak to zrobić

A co do tej pory próbowałeś zrobić? :)

Dla zapisu macierzowego grafu możesz przyjąć, że numer wiersza oznacza wierzchołek grafu, z którego wychodzisz, zaś numer kolumny wierzchołek grafu, do którego wchodzisz - albo na odwrót*. Byleby się trzymać cały czas jednej konwencji i aby była zgodna z tym, co podał autor.

Algorytm zachłanny będzie dokonywał najlepszego w danej chwili wyboru - czyli będzie dobierał tak krótką krawędź, jak tylko może, i próbował przejść dalej. Następnie z nowego wierzchołka będzie próbował iść dalej w ten sam sposób.

Możesz to zrealizować (w dużym uproszczeniu) tak:

  1. na początku masz pustą ścieżkę
  2. wybierasz numer wiersza odpowiadający miastu, z którego startujesz (np. 0)
  3. w wybranym wierszu znajdujesz najkrótszą krawędź do miasta, którego jeszcze nie odwiedziłeś, i bierzesz jego indeks
  4. zapamiętujesz, że odwiedziłeś to miasto i dodajesz je do swojej ścieżki - nie będziesz mógł odwiedzić go po raz drugi
  5. bierzesz indeks nowo wybranego miasta i przechodzisz do wiersza o tym indeksie
  6. jeśli wróciłeś do punktu początkowego, kończysz działanie **
  7. wracasz do kroku 3.

* nie pamiętam, czy jest jakaś narzucona konwencja odnośnie tego przyporządkowania skąd/dokąd do wierszy/kolumn. Może nawet są dwie sprzeczne, nieważne. Mam tylko nadzieję, że nie przyleci mi tu zaraz @Tig żeby cytować Wikipedię.

** ewentualnie kończysz, jeśli nie odwiedziłeś jeszcze tylko punktu startowego i masz do niego nie wracać. Możesz też wrzucić go na początku na listę odwiedzonych i dzięki temu nie odwiedzisz go przez przypadek.


Cisi204
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 2 lata
  • Postów:232
0

Panowie dziękuje wam za szybką odpowiedz , z tym grafem sobie poradzę ponieważ znalazłem materiał z poprzednich lat . Mam jeszcze jeden problem który polega na tym aby dla algorytmów heurystycznych wyznaczyć średnie wartości względnych odchyleń ich rozwiązań od optimum,wyznaczyć poprawę , jaką uzyskuje się przez zastosowanie algorytmu symulowanego wyżarzania w stosunku do rozwiązania dostarczonego przez algorytm zachłanny.

Tabelkę długością tras oraz czasem wykonywania obliczeń mam uzupełnioną (jeśli wam się przyda dla z wizualizowania sytuacji wrzucę wam) czy istnieją jakieś wzory na mój problem?

superdurszlak
ale chwileczkę, z czym dokładnie masz problem, z realizacją algorytmu heurystycznego czy z wyznaczeniem poprawy? Jeśli z tym drugim to oblicz względne odchylenia dla obu metod i porównaj ;)
Cisi204
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 2 lata
  • Postów:232
0

Dla algorytmu zachłannego oraz algorytmu symulowanego wyżarzania mam wyznaczyć Średnie względne odchylenie od optimum
W drugim wariancie dla algorytmu symulowanego wyżarzania mam wyznaczyć średnia względną poprawę .

Czy na te obliczenia istnieje jakiś wzór ? na tym polega mój problem

superdurszlak
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 11 godzin
  • Lokalizacja:Kraków
  • Postów:1999
0
Cisi204 napisał(a):

Dla algorytmu zachłannego oraz algorytmu symulowanego wyżarzania mam wyznaczyć Średnie względne odchylenie od optimum

No puszczasz algorytm zachłanny i z wyżarzaniem dla różnych punktów startowych (np. startując po kolei z każdego miasta), liczysz odchylenia i liczysz średnią - ot, cała filozofia

W drugim wariancie dla algorytmu symulowanego wyżarzania mam wyznaczyć średnia względną poprawę .

Jeśli droga wyznaczona przez algorytm zachłanny jest średnio 4 razy dłuższa od optymalnej, a algorytm symulowanego wyżarzania daje tylko 2 razy dłuższą, to uzyskałeś dwukrotną poprawę - przynajmniej tak to rozumiem

Czy na te obliczenia istnieje jakiś wzór ? na tym polega mój problem

Wzór na względne odchylenie już masz, jeszcze potrzebujesz wzoru na średnią arytmetyczną :)


Cisi204
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 2 lata
  • Postów:232
0

Nie wiem czy się dobrze rozumiemy , ale postaram ci pokazać jak ja to rozumiem.
Mam algorytm zachłanny:
n=5 Długość trasy w przebiegu 1,2,3 ma się następująco:205,113,78 ( z tego wyliczam średnią arytmetyczną). Następnie (205-średnia)^2+(113-średnia)^2+(78-średnia)^2 wszystko pod pierwiastkiem z tego otrzymuje jakiś wynik i on jest moim średnim odchyleniem od Optimium tak ?

Cisi204
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 2 lata
  • Postów:232
0

Witam w nowym dniu. Otóż wracając do zadania :
a)Przeprowadzić „odręczną” symulację działania algorytmu dokładnego: wypisać wszystkie możliwe trasy przejazdu komiwojażera, wyznaczyć odpowiadające im długości oraz wskazać trasę najkrótszą.
Zrobiłem go , wypisałem wszystkie możliwe trasy przejazdu i wybrałem z niego tę najkrótszą.
**
b)Przeprowadzić „odręczną” symulację działania algorytmu zachłannego. Wypisać etapy tworzenia trasy przejazdu.**
Mam problem z tym zadaniem , a dokładnie rzecz ujmując nie wiem czy dobrze kombinuje : otóż mam takie trasy
0-1-4
0-2-3-4-1
0-3-2-4
0-4-3

YA
Jak dla mnie w zachłannym wybierasz najkrótszą do jeszcze nieodwiedzonego miasta i masz odwiedzić wszystkie miasta, więc nie możesz mieć trasy "0-4-3", bo brakuje 1 i 2.
Cisi204
Tak Tak trochę się zagmatwałem z tymi drogami ale poniżej mam swoje propozycję
Cisi204
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 2 lata
  • Postów:232
0

Lub taka trasa algorytmem zachłannym 0-1-4-1-2-3-4 ( komiwojażer był we wszystkich miastach , problem w tym że był 2x w mieście 1)

lub taka trasa 0-1-4-3-2 (komiwojażer był we wszystkich miejscach , lecz w pewnym momencie aby nie powtarzać tej samej trasy , wybrał nie najkrótszą ścieżkę)
co o tym myślicie ?

edytowany 3x, ostatnio: Cisi204
superdurszlak
Korzystaj z edycji postu - piszesz po kilka postów z rzędu, w każdym dodając jakieś poprawki czy dopowiedzenia do poprzedniego ;)
superdurszlak
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 11 godzin
  • Lokalizacja:Kraków
  • Postów:1999
0
Cisi204 napisał(a):

lub taka trasa 0-1-4-3-2 (komiwojażer był we wszystkich miejscach , lecz w pewnym momencie aby nie powtarzać tej samej trasy , wybrał nie najkrótszą ścieżkę)

Tak ma być. Algorytm zachłanny ma wybierać najbardziej korzystną dopuszczalną opcję - skoro już odwiedziłeś jakiś wierzchołek, nie możesz zrobić tego ponownie, więc musisz wybierać jedynie spośród jeszcze nieodwiedzonych ;)

Spójrz na to tak: za każdym razem, gdy odwiedzasz i-te miasto, wykreślasz ze swojej macierzy i-tą kolumnę. Zaczynasz od 0-wego miasta, więc na początku masz:

Z/Do 0 1 2 3 4
0 0 43 62 69 85
1 83 0 17 93 6
2 85 79 0 57 64
3 72 78 71 0 58
4 49 13 92 44 0

I listę odwiedzonych wierzchołków:

Kopiuj
[ 0 ]

Przechodzisz do wierzchołka 1 (jest najtańszy) zatem dopisujesz do ścieżki kolejny i wykreślasz kolumnę 1:

Z/Do 0 1 2 3 4
0 0 43 62 69 85
1 83 0 17 93 6
2 85 79 0 57 64
3 72 78 71 0 58
4 49 13 92 44 0

No i dopisujesz wierzchołek na koniec listy odwiedzonych:

Kopiuj
[ 0, 1 ]

I tak aż do końca - aż wyczerpiesz wolne kolumny :)


Cisi204
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 2 lata
  • Postów:232
0

Po pierwsze dziękuje za tak szybką odpowiedz . Czyli droga 0-1-4-3-2 realizowana algorytmem zachłannym jest prawidłowa ?

edytowany 1x, ostatnio: Patryk27
superdurszlak
Druga uwaga - nie ma potrzeby cytowania calutkiego posta żeby zadać jedno krótkie pytanie - zaciemnia to treść posta :P i tak, wydaje się, że jest prawidłowa, w każdym kroku wybrany wierzchołek był najlepszym dozwolonym.
Cisi204
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 2 lata
  • Postów:232
0

Mam jeszcze pytanko jak obliczyć Odchylenie od optimum (%). Posiadam najkrótszą trasę komiwojażera która wynosi 157 , oraz najkrótszą trasę wyznaczoną algorytmem zachłannym która wynosi 164. Czy to odchylenie będzie równe 164/157?

Cisi204
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 2 lata
  • Postów:232
0

Dla wyniku otrzymanego algorytmem zachłannym wyznaczyć wartość względnego odchylenia od optimum.
Należy przyjąć, że komiwojażer wyrusza z miasta 0 i nie wraca do tego miasta.

superdurszlak
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 11 godzin
  • Lokalizacja:Kraków
  • Postów:1999
0

Wcześniej się rypnąłem we wzorze - powinno być

\epsilon = \frac{Y-X}{X}

gdzie Y-X to różnica między trasą optymalną a tą znalezioną przez algorytm zachłanny.

Przeliczenie na procenty jest już chyba oczywiste :P

Tzn. jeśli trasa optymalna ma długość 100, a znaleziona 110, to względne odchylenie wyniesie 0,1 lub 10%.


edytowany 1x, ostatnio: superdurszlak
Cisi204
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 2 lata
  • Postów:232
0

O tego szukałem drogi kolego , tego szukałem a jak jeszcze obliczyć to średnią względną poprawę

superdurszlak
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 11 godzin
  • Lokalizacja:Kraków
  • Postów:1999
0
Cisi204 napisał(a):

O tego szukałem drogi kolego , tego szukałem a jak jeszcze obliczyć to średnią względną poprawę

pisałem już wcześniej, potrzebujesz porównać odchylenia dla obu metod i obliczyć średnią arytmetyczną.


Cisi204
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 2 lata
  • Postów:232
0

Trasa algorytmem zachłannym = 164
Trasa optymalna=157

167-157/157=0,044

czyli 4,4% tak ?

i teraz te odchylenia porównań z sobą i policzyć ich średnią arytmetyczną

superdurszlak
nie chcę wchodzić w kompetencje kalkulatora więc załóżmy, że tak, ma być 4,4%
Cisi204
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 2 lata
  • Postów:232
0

Czy normalna jest sytuacja że długość drogi dla algorytmy symulowanego wyżarzania jest przy każdym przebiegu takiego samego n identyczna co długość drogi wykonywana przez algorytm dokładny ?

edytowany 1x, ostatnio: Cisi204
superdurszlak
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 11 godzin
  • Lokalizacja:Kraków
  • Postów:1999
0
Cisi204 napisał(a):

Czy normalna jest sytuacja że długość drogi dla algorytmy symulowanego wyżarzania jest przy każdym przebiegu takiego samego n identyczna co długość drogi wykonywana przez algorytm dokładny ?

Nie wiem, nie próbowałem bawić się algorytmem symulowanego wyżarzania dla problemu komiwojażera :)

Możliwe, że otrzymałeś taki wynik z dwóch powodów:

  • pracujesz na grafie pełnym (każde dwa miasta są połączone)
  • pracujesz na bardzo małym grafie (masz tylko 5 wierzchołków)

Podejrzewam, że dla grafu mającego np. 300 wierzchołków i tylko 10 krawędzi wychodzących z każdego wierzchołka problematyczne byłoby nie tylko znalezienie optymalnego rozwiązania, ale nawet znalezienie poprawnego rozwiązania w ogóle ;)


edytowany 1x, ostatnio: superdurszlak
Cisi204
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 2 lata
  • Postów:232
0

Bardzo możliwe i jeszcze bardziej prawdopodobne , zastanawiam się nad tym jak obliczyć w takim przypadku odchylenie optimum skoro drogi są sobie równe , w takim przypadku to odchylenie będzie się równało 0%

superdurszlak
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 11 godzin
  • Lokalizacja:Kraków
  • Postów:1999
0

Skoro obie drogi są równe, to raczej naturalne, że odchylenie jest zerowe.

Powód do zmartwień miałbyś, gdyby droga była równa optymalnej a odchylenie wynosiło 300% :P


Cisi204
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 2 lata
  • Postów:232
0

Weź mi wytłumacz jeszcze raz aby wyznaczyć poprawę , jaką uzyskuje się przez zastosowanie algorytmu symulowanego wyżarzania w stosunku do rozwiązania dostarczonego przez algorytm zachłanny.

**dla n=5 **(3 przebiegi) długosć tras algorytmem zachłannym 136,61,119 | algorytmem wyrzażania 101,61,119

dla n=10 (3 przebiegi) długosć tras algorytmem zachłannym 233,115,268 | algorytmem wyrzażania 150,63,171

dla n=11 (3 przebiegi) długosć tras algorytmem zachłannym 187,195,245 | algorytmem wyrzażania 111,142,188

dla n=20 (3 przebiegi) długosć tras algorytmem zachłannym 221,262,257 | algorytmem wyrzażania 177,178,146

dla n=40 (3 przebiegi) długosć tras algorytmem zachłannym 380,326,250 | algorytmem wyrzażania 362,356,250

Czyli mam obliczyć średnia odchylenie tych dwóch algorytmów i policzyć ich średnią arytmetyczną czy jak to zrobić?

superdurszlak
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 11 godzin
  • Lokalizacja:Kraków
  • Postów:1999
0
Cisi204 napisał(a):

Czyli mam obliczyć średnia odchylenie tych dwóch algorytmów

Tak

i policzyć ich średnią arytmetyczną czy jak to zrobić?

Nie.

Możesz

  • pójść na skróty i policzyć, o ile punktów procentowych mniejsze (a może jednak większe? w paru przypadkach dał gorsze wyniki) odchylenie daje algorytm heurystyczny. Jeśli zachłanny daje 20% odchylenie, a heurystyczny 10%, to masz poprawę o 10 punktów procentowych.
  • policzyć o ile % krótsza jest przeciętna trasa wyznaczona algorytmem heurystycznym od algorytmu zachłannego:
    poprawa = \frac{Y_{sredn.zachlannego} - Y_{sredn.heurystycznego}}{Y_{sredn.zachlannego}}

edytowany 2x, ostatnio: superdurszlak
Cisi204
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 2 lata
  • Postów:232
0

Proszę cię weż mnie teraz sprawdź czy poprawa dla n=5 będzie się równała 10,8 %??

superdurszlak
bez przesady, mam sprawdzać Ciebie, czy Twój kalkulator?
Cisi204
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 2 lata
  • Postów:232
0

Proszę cię abyś sprawdził tylko czy dobrze to obliczyłem przy pomocy mojego kalkulatora , który z algorytmami radzi sobie gorzej niż ty :)

superdurszlak
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 11 godzin
  • Lokalizacja:Kraków
  • Postów:1999
0
Cisi204 napisał(a):

Proszę cię abyś sprawdził tylko czy dobrze to obliczyłem przy pomocy mojego kalkulatora , który z algorytmami radzi sobie gorzej niż ty :)

Ale to już nie są algorytmy, masz już wyniki, masz długości tras, dla kalkulatora to bez różnicy czy dodajesz cenę marchewki do ceny selera czy odejmujesz odchylenia jakichś dwóch algorytmów... jeśli wyliczyłeś z tego, co Ci wyszło, że odchylenie wynosi 10,4% albo 27,8%, to tyle wyszło i tyle.


Cisi204
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 2 lata
  • Postów:232
0

żeby się jeszcze upewnić pisząc Średnia zachłannego oraz średnia heurystycznego masz na myśli średnią długość tras dla poszczególnych n tak ?

superdurszlak
  • Rejestracja:prawie 7 lat
  • Ostatnio:około 11 godzin
  • Lokalizacja:Kraków
  • Postów:1999
0
Cisi204 napisał(a):

żeby się jeszcze upewnić pisząc Średnia zachłannego oraz średnia heurystycznego masz na myśli średnią długość tras dla poszczególnych n tak ?

no jeśli chcesz liczyć poprawę z długości tras, a nie z odchyleń, to tak będzie chyba bezpieczniej niż zbierać wszystko do kupy.

Zauważ, że jeśli dla małych n uzyskasz średnią długość trasy krótszą o 100, to może to oznaczać znaczną poprawę, dla bardzo dużych n trasa gorsza o 100 może być tak naprawdę pomijalnie małym pogorszeniem wyniku, ale jeśli uśrednisz te wyniki to się okaże, że wychodzisz na zero.

Dlatego może lepiej będzie jednak porównywać średnie względne odchylenia zamiast liczyć z długości.


edytowany 1x, ostatnio: superdurszlak
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)