Strona 1 z 1

Projekt Komiwojażer (C)

: 10 kwie 2011, 18:24
autor: aceb
Witam

Jestem studentem pierwszego roku informatyki. Na zajęcia projektowe mam wykonać program rozwiązujący problem komiwojażera na algorytmie mrówkowym.
Dla n podanych miast ma wyliczyć najbardziej korzystną drogę( odwiedzając miasto tylko raz, z powrotem do pierwszego).
Projekt chciałem wykonać w języku C.
Nie chodzi mi o to aby dostać gotowy projekt tylko zależy mi na wskazówkach, literaturze i wszystkim co może mi pomóc w wykonaniu tego zadania.
Za bardzo nie mam pojęcie jak się do tego zabrać i co zrobić na początku. Dlatego piszę do Was z prośbą o "nakierowanie" mnie na właściwą drogę :)
Z góry dziękuje :)

Re: Komiwojażer

: 10 kwie 2011, 22:03
autor: bigfun
Jeśli ten projekt miałby być jednocześnie Twoją nauką języka C ( tak zrozumiałem kontekst wskazówek, literatury itd.) to Twojego zadania wybrałbym inny język, najlepiej taki który oferuje gotowe kolekcje ( bo takich będziesz musiał trochę użyć ). Jeśli koniecznie chcesz język kompilowany, to np. C++, ale może jeszcze wyżej - np. python. Dzięki temu unikniesz zbędnego kodowania obsługi kolekcji, pamięci itp. a będziesz mógł się skupić na implementacji algorytmu.

Re: Komiwojażer

: 10 kwie 2011, 23:09
autor: aceb
co do języków to w grę wchodzi Pascal i właśnie C.
Wolałbym napisać w C bo trochę bardziej się go nauczę.

Re: Komiwojażer

: 10 kwie 2011, 23:12
autor: pax0r
aha no to jak C i Pascal to napewno C bo Pascal to juz troche nie ten wiek :p
co do algorytmów to ja od siebie moge polecic książkę
Algorytmy, Struktury Danych i Techniki Programowania - Piotr Wróblewski, wyd. Helion
komiwojażera akurat tam chyba nie ma ale generalnie bardzo prosto i przejzyscie napisana ksiazka o algorytmach w c++
no i wiekszosc potrzebnych rzeczy mozna znalezc w googlach, ja juz 3 rok studiow tak robie :P

Re: Komiwojażer

: 11 kwie 2011, 10:34
autor: aga
Zmień tytuł tematu tak, aby w sposób możliwie precyzyjny przedstawiał sedno sprawy, w której piszesz. Miej na uwadze również zgodność z REGULAMINEM
Tytuł tematu zmienisz edytując pierwszy post
W razie wątpliwości/zastrzeżeń odnośnie powyższej informacji skontaktuj się z moderatorem, który ją wstawił.

Re: Komiwojażer

: 12 kwie 2011, 17:44
autor: aceb
a mógłby ktoś rozpisać "plan działania" kompletnie nie wiem od czego zacząć..

Re: Projekt Komiwojażer (C)

: 12 kwie 2011, 20:27
autor: karmelek
Klasyka - Cormen Wprowadzenie do algorytmów. Zresztą o TSP jest masa rzeczy w necie

Re: Projekt Komiwojażer (C)

: 12 kwie 2011, 22:16
autor: pax0r
Hm.. co do planu działania to ja mogę Ci zaproponować coś takiego (ofc jest to bardzo subiektywne, ale ja mniej wiecej robie to tak):
-znajdź/wymyśl ten algorytm na porządnie w jakimś pseudokodzie (albo nawet poprostu w jezyku naturalnym) tak zeby rozumieć o co w nim chodzi i co krok po kroku ma wykonywac
-zaimplementuj (znajdz implementacje na necie) w jakiś prosty sposób grafy w C
(pierwszy link z googla http://pine.cs.yale.edu/pinewiki/C/Graphs nie wczytalem sie za bardzo, ale to moze byc jakis punkt wyjscia)
-przepisz swój algorytm z punktu pierwszego na swoja implementacje grafu w C

Re: Projekt Komiwojażer (C)

: 14 kwie 2011, 14:46
autor: vermer
Poczytaj o simpleksie i algorytmie transportowym on w 100% rozwiązuje twój problem z merytorycznego punktu widzenia