Algoritmen, Datastructuren en Complexiteit (192140200)

advertisement
Universiteit Twente
Afdeling Informatica
10 januari 2012
Kwartiel 11/12-2
2e huiswerkserie
Algoritmen, Datastructuren en Complexiteit
(192140200)
De deadline voor het inleveren van deze huiswerkserie is donderdag 26 januari, 9.30
uur. U levert het werk in in het postvakje van uw werkcollegedocent. Bij de opgaven
waar om een algoritme wordt gevraagd, geeft u de pseudo-code van uw oplossing en een
beknopte maar duidelijke uitleg van de werking. Plagiaat zal streng worden bestraft.
Deze opgave zal worden beoordeeld met twee minnen, een min, een voldoende, of
een plus. Deze huiswerkserie kan maximaal beloond worden met 0.3 punt extra bij
het tentamencijfer, onder de voorwaarden die bij de spelregels worden uitgelegd. Veel
succes!
1. Geef een depth-first search algoritme dat kijkt of een gerichte graaf een
cykel bevat. De graaf is gegeven als een adjacency list. Wat is de complexiteit
van het algoritme?
2. Een connected graaf heet 40 vertices en 70 edges. De edges kunnen gewichten
hebben ter waarde 1, 2 of 3. Beschouw de som van de edges van een minimal
spanning tree van deze graaf. Welk minimum en welk maximum kan de waarde
van deze som aannemen?
3. Een driehoek in een gerichte graaf is een cykel met lengte 3. Geef een algoritme
dat bepaalt hoeveel driehoeken een graaf bevat.
4. Je wilt een aantal liedjes op een cd zetten. Neem aan dat je de keus hebt uit
200 liedjes, met tijdsduur ci minuten voor liedje i. Je wilt de cd zoveel mogelijk
vullen, dat wil zeggen dat je het liefst zoveel mogelijk minuten muziek op de cd
wilt. Binnen deze beperking wil je dan nog graag zoveel mogelijk liedjes op de cd
zetten. Ga er van uit dat een cd maximaal 80 minuten kan bevatten. Geef een
algoritme, gebaseerd op dynamisch programmeren, dat berekent hoeveel liedjes
en hoeveel minuten je maximaal op de cd kunt zetten.
5. Beargumenteer voor de volgende uitspraken of ze waar of niet waar zijn:
(a) Het handelsreizigerprobleem is reduceerbaar tot het satisfiability probleem
(SAT).
1
(b) Stel P 6= NP, en we hebben een probleem X 6∈ P, en alle problemen in NP
zijn reduceerbaar tot X. Dan geldt X ∈ NP.
(c) Iedere ongerichte graaf G is in polynomiale tijd te transformeren naar een
graaf G0 zodat tussen G en G0 de volgende relatie bestaat: Als G0 met n + 1
kleuren te kleueren is, dan is G met n kleuren te kleuren (zonder buren met
dezelfde kleur).
(d) Het n-kleur probleem voor grafen is polynomiaal reduceerbaar tot het n + 1kleur probleem.
2
Download