2008-11-26 16 views
38

Szukasz wskazówek, poradników, książek i innych zasobów, aby rozpocząć programowanie wiązań.Pierwsze kroki z programowaniem wiązań

+0

[dokumentacja OptaPlanner] (https://docs.optaplanner.org/latestFinal/optaplanner-docs/ html_single /) zawiera objaśnienie algorytmów wyszukiwania lokalnego, takich jak wyszukiwanie tabu, symulowane wyżarzanie i późna akceptacja, a także inne algorytmy, takie jak rozgałęzienie i powiązanie.Wyjaśnia również, jak myśleć o punktacji (twarde vs miękkie, ważące, pozytywne vs negatywne, pareto, itp.). –

Odpowiedz

17

Istnieje wiele doskonałych materiałów dostępnych w Internecie po wejściu w rowek, ale poniższe linki to (IMO) dobre punkty początkowe (te, których użyłem).

Programming with Constraints: An Introduction - (Course website)
Programming with Constraints: An Introduction - (Google book)
Online Guide to Constraint Programming
CSP Tutorial (4C Outreach Programme)

+1

Dodałem link, który znalazłem. Mam nadzieję, że wszystko w porządku. Lepiej mieć kompletną poprawną odpowiedź. – pek

4

Polecam rozpoczęcie pracy z mozart. Jest to język programowania z ograniczonym dostępem do kodu źródłowego, a strona zawiera mnóstwo dokumentacji, która pozwoli Ci zacząć.

+0

Ten link wydaje się być teraz zepsuty. Czy wkrótce zostanie zaktualizowany? –

6

Być może można rzucić okiem na wstępną myśl o course myśli na Uniwersytecie Saarland o programowaniu ograniczeń. Nie używają mozart jako dr_pepper, ale pod numerem Gecode. Gecode jest kontynuacją języka mozart, implementowanego częściowo przez tych samych ludzi.

+0

Gecode w rzeczywistości nie jest językiem, ale strukturą C++. Jednak Gecode obsługuje także MiniZinc, który jest językiem modelowania. – tunnuz

+0

Poprzedni kurs jest kompletny i ma ładne slajdy. Aby uzyskać szybszy wynik, przegląd: spójrz na prolog (język defacto) tuts: http://www.doc.gold.ac.uk/~mas02gw/prolog_tutorial/prologpages/index.html#menu – tinmarino

3

Oto inny link do strony internetowej, oczywiście na Constraint Programming.

Wcześniej w kursie używano Mozarta/Oz do celów reklamowych, ale teraz został on zastąpiony przez Gecode.

+0

Twój pierwszy link nie działa. – sloth

+0

Aktualizacja pierwszego linku: https://www.kth.se/social/course/ID2204/ – boutta

8

Zasady obsługi wiązań (CHR) to język służący do opracowywania własnych (zależnych od problemu) rozwiązujących ograniczenia. Sprawdź to:

tam znaleźć linki do

  • WebCHR demo online (pierwotnie opracowany na LMU Monachium, teraz upiększonego w Uni Ulm)
  • Kilka implementacji dla Prologa (na turally) i Haskell, a także (niestety nieużywany) prototyp dla Java (JCK).
+1

https://dtai.cs.kuleuven.be/CHR/ – user2023370

+0

Link zaktualizowany, dziękuję! – BenC

+0

Istnieje również [implementacja CHR dla JavaScript] (http://chrjs.net/). –

3

Proponuję spojrzeć dalej w następującej stronie internetowej na temat więzów programowania maintaned Håkan Kjellerstrand (aka Hakank) w Hakank's Homepage

+0

Podczas gdy ten link może odpowiedzieć na pytanie, lepiej umieścić tutaj istotne części odpowiedzi i podać link do odsyłacza. Odpowiedzi dotyczące linków mogą stać się nieprawidłowe, jeśli strona z linkami się zmieni. –

+0

Pytanie dotyczy referencji. Moją referencyjną odpowiedzią jest link. Wystarczy spojrzeć na wszystkie inne odpowiedzi. Są podobne do moich, ponieważ pytanie wymaga takich odpowiedzi. –

+0

To jest wyłączony temat ... –