From 91a8124a693ba25f63d3888431a1f64cd33b338a Mon Sep 17 00:00:00 2001 From: clemens Date: Wed, 28 Jun 2017 00:39:46 +0200 Subject: [PATCH] NPP1516, fix quotes in DigBib --- GdI-NPP-B/WS1516.tex | 190 +++++++++++++++++++++++++++ GdI-NPP-B/ws1516-1.dot | 11 ++ GdI-NPP-B/ws1516-1.png | Bin 0 -> 13006 bytes GdI-NPP-B/ws1516-2.dot | 26 ++++ GdI-NPP-B/ws1516-2.png | Bin 0 -> 20096 bytes KInf-DigBib-B/WS1617 KInf-DigBib.tex | 2 +- 6 files changed, 228 insertions(+), 1 deletion(-) create mode 100644 GdI-NPP-B/WS1516.tex create mode 100644 GdI-NPP-B/ws1516-1.dot create mode 100644 GdI-NPP-B/ws1516-1.png create mode 100644 GdI-NPP-B/ws1516-2.dot create mode 100644 GdI-NPP-B/ws1516-2.png diff --git a/GdI-NPP-B/WS1516.tex b/GdI-NPP-B/WS1516.tex new file mode 100644 index 0000000..069cfb7 --- /dev/null +++ b/GdI-NPP-B/WS1516.tex @@ -0,0 +1,190 @@ +\input{../settings/settings} +\usepackage{amssymb} +\usepackage[caption=false,font=footnotesize]{subfig} + +\begin{document} +\klausur{Nichtprozedurale Programmierung}{Prof. M. Mendler}{Wintersemester 15/16}{90}{Wörterbuch} +\begin{enumerate} +\item{Recall the state monad type constructor + + \begin{verbatim} + data State s b = State (s -> (s, b)) + \end{verbatim} + +which captures polymorphic state transformations over states of type s returning a result of type b. Values are of the form \texttt{State act :: State s b} where \texttt{act} is an action function that takes a state \texttt{current :: s} and produces a pair \texttt{act current = (next, out)} consisting of a new state \texttt{next :: s} and an output value \texttt{out :: b}. The function to execute a state transformation is called runState: + + \begin{verbatim} + runState :: s -> State s b -> (s, b) + runState current (State act) = act current + \end{verbatim} + +The type constructor \texttt{State s} is an instance of monad through the following instance declaration: + + \begin{verbatim} + instance Monad (State s) where + return :: b -> State s b + return v = State (\\st -> (st, v)) + (>>=) :: State s b -> (b -> State s c) -> State s c + step >>= mkstep = + State (\\oldst -> let (newst, res)) = runState oldst step + in runState newst (mkstep res) + \end{verbatim} + +defining the polymorphic monad methods return and \texttt{(>>=)}. These can be used generically for every instance of State s b either directly or via the 'do' notation of the monad. + +Your task is to use the state monad to program the state machine of a simple lock controller for a hotel safe as you may find in a hotel room for guests to keep their valuables. +The hotel safe has a keypad with for digiits \texttt{D0, D1, D2, D3} to define and enter a secret access code as well as an Enter and a Reset key. Normally, when a new guest arrives, the door of the safe is open. The guest can enter an arbitrary sequence of digits and complete by pressing the Enter key. The sequence of digits entered is taken and memorised as the secret user access code. The safe is now Locked so that when the door is closed the safe can only be opened by entering the identical user access code followed by Enter. If the code is good then the locking mechannism releases and the lock is Open. If the code is wrong the safe remains Closed. For simplicity we assume that there is no limit on the number of attempts to open the lock. At any moment, whatever the user key and whether the lock is open or closed, the Reset key be pressed. This makes the lock Closed and activates the secret master key \texttt{[D3, D1, D3, D1]}, which we assume is only known to the hotel. The guest will have to ask the reception desk for help to reopen the safe in case they press Reset with the door closed. + +The interface of the lock controller is captured by the following data types: + + \begin{verbatim} + data Lock = Open | Closed + data Digit = D0 | D1 | D2 | D3 + data Action = Press Digit | Enter | Reset + \end{verbatim} + +The type Lock represents the state of the lock. The type \texttt{Digit} is the representation of the four digits Action is the data type of possible user actions: The user can press a particular digit key, press the Enter key to complete inputting a code or press Reset to reset the controller. + +Your program as requested in the sub-questions (a), (b) and (c) below must implement at least the following behaviour: + +\begin{itemize} + \item Suppose the lock is open and after an arbitrary non-zero number of Press d actions the action Enter is executed. Then the sequence of digits entered is registered as the new (temporary) user key and the lock is closed. + + \item Suppose the lock is closed and after an arbitrary non-zero number of Press d actions the action Enter is executed. Then, if a user key has been set before and the entered sequence of digits matches this user key, the lock is opened. + + \item Pressing Enter without prior Press d actions has no effect. + + \item The Reset action always closes the lock and activates the master key squence \texttt{[D3, D1, D3, D1]} in place of the user key. +\end{itemize} + +\begin{enumerate} + \item First define (i) a suitable data type \texttt{CntrState} for the internal state of the control mechanism, (ii) an intital state \texttt{initState :: CntrlState -> Lock} which extracts (accesses) the state of the lock from (in) the full state of the controller. + Make sure your data structure for \texttt{CntrState} contains enough information to implement the correct state change of the lock as descibed in the above informal specification. In the state \texttt{initState} the lock must be open, i.e., \texttt{lock initState == Open}. + + Explain your workings! Specifically, explain your choice of the type \texttt{CntrlState} and how it stores the information necessary to control the lock. + + \item Next construct a Haskell function + \begin{verbatim} + execute :: Action -> State CntrlState () + \end{verbatim} + which translates each action into an appropriate state transformation over the type \texttt{CntrlState} of control states defined in the previous question part. + + \item Finally, construct a function + \begin{verbatim} + compile :: [Action] -> State CntrlState () + \end{verbatim} + which executes a sequence of actions using the function \texttt{execute} from the previous question part. The result of \texttt{compile actions} must code the overall state transformation effected by a sequence \texttt{actions :: [Action]} from an arbitrary start state. Your program for compile must use the monad method (\texttt{>>=}) or the 'do' notation to accumulate the state transformations of the monad type \texttt{'State CntrlState'}. + + Examples: + + \begin{verbatim} + lock $ fst $ runState initState $ + compile [] + ==> Open -- in the inital state the lock is open + + lock $ fst $ runState initState $ + compile [Press D1, Press D2, Press D3, Enter] + ==> Closed -- the first user key is entered, lock is closed + + lock $ fst $ runState initState $ + compile [Press D1, Press D2, Press D3, Enter, Press D0, Press D0, Enter] + + ==> Closed -- new user key entered, then attempt to open with wrong key, + -- safe remains locked + + lock $ fst $ runState initState $ + compile [Press D0, Press D0, Enter, Press D0, Press D0, Enter] + ==> Open -- set new user key, opened with correct user key + + lock $ fst $ runState initState $ + compile [Press D1, Press D2, Press D3, Enter, Press D0, Press D0, Enter, Reset, + Press D3, Press D1, Press D3, Press D1, Enter] + ==> Open -- set user key, failed attempt to open with wrong key, + -- then reset, finally opened with master key + \end{verbatim} +\end{enumerate} +}\item Recall the ''Kahn'' dataflow network seen \textbf{on the left} of \autoref{img:fig1}. +The network is defined by a recursive system of stream definitions as follows: + \begin{verbatim} + xs, ys0, ys1, ts0, ts1 :: Str Int + xs = kf ys0 ys1 + ys0 = kh0 ts0 + ys1 = kh1 ts1 + (ts0, ts1) = kg xs + \end{verbatim} +Assume that the nodes \texttt{kh0} and \texttt{kh1} are implemented like this: + \begin{verbatim} + kh0 :: Str Int -> Str Int + kh0 (t0 : ts0) = (t0 + 1) : (t0 + 2) : kh0 ts0 + + kh1 :: Str Int -> Str Int + kh1 ts1 = 1 : kh1' ts1 + where kh1' (t0 : t1 : ts1) = (t0 + t1) : kh1' ts1 + \end{verbatim} +In the following two question parts you are asked to discuss two types of implementations for the two other nodes \texttt{kf} and \texttt{kg}. +\begin{enumerate} + \item For the first question part suppose that the stream processing functions \texttt{kf} and \texttt{kg} of ''Kahn'' (\autoref{img:fig1} left) are defined such that + \begin{verbatim} + kf :: Str Int -> Str Int -> Str Int + kf ys0 (y1 : ys1) = y1 : kf' ys0 ys1 + where kf' (y0 : y0' : ys0) ys1 = y0 : y0' : kf ys0 ys1 + + kg :: Str Int -> (Str Int, Str Int) + kg xs = (get1 xs, skip1 xs) + where get1 (x : xs) = x: skip2 xs + get2 (x1 : x2 : xs) = x1 : x2 : skip1 xs + skip2 (_ : _ : xs) = get1 xs + skip1 (_ : xs) = get2 xs + \end{verbatim} +What is the stream \texttt{xs :: Str Int} computed by the network ''Kahn'', i.e., what precise sequence of integer values does \texttt{xs} consist of? +Give the first 10 values of the stream and explain the generation principle. + +\begin{figure*}[!t] +\vspace{-.5em} + \centerline{\subfloat[Network ''Kahn'']{\includegraphics[width=.25\textwidth]{ws1516-1}} + \hfil + \subfloat[Refined Network ''Kahn'']{\includegraphics[width=.5\textwidth]{ws1516-2}} + } + \caption{Dataflow networks ''Kahn'' and ''Kahn*''} + \label{img:fig1} +\end{figure*} + + + \item Now consider the data flow network on the right of \autoref{img:fig1}, called "Kahn*" which is the same as ''Kahn'' but in which the node \texttt{kf} has been instantiated by the up-sampling node \texttt{merge} and \texttt{kg} has been implemented by two down-sampling nodes \texttt{when}. + More precisely, we have + \begin{verbatim} + kf ys0 ys1 = merge cs0 ys0 ys1 + kg xs = (xs 'when' cs1, xs 'when' cs2) + cs0 = ... + cs1 = ... + cs2 = ... + \end{verbatim} + with some Boolean clock streams \texttt{cs0,cs1,cs2 :: Str Bool} and the definition of \texttt{merge} and \texttt{when} from the lectures: + \begin{verbatim} + merge :: Str Bool -> Str a -> Str a -> Str a + merge (True:cs) (x:xs) ys = x : (merge cs xs ys) + merge (False:cs) xs (y:ys) = y : merge cs xs ys + + when :: Str a -> Str Bool -> Str a + when (x:xs) (True:cs) = x : (when xs cs) + when (x:xs) (False:cs) = when xs cs + \end{verbatim} + Give a Haskell definition of the clock stream \texttt{cs0,cs1,cs2 :: Str Bool} such that the network "Kahn*" computes exactly the same stream \texttt{xs} as the network ''Kahn'' does with the nodes \texttt{kf} and \texttt{kg} from the previous part of this question. +\end{enumerate} +\item Aufgabe 3 +\begin{enumerate} + \item It generally depends on the evaluation strategy wether or not an expression $e$ reduces to a value, i.e., if there exists a sequence of reductions $e\twoheadrightarrow_R v$ such that $v\not\rightarrow_R$. +Such an expression $v$ is called a normal form of $e$ for the chosen evaluation strategy.\\[12pt] +Consider the expression $e_1=_{df}(EF)(EF)(\lambda x.x)$ and $e_2=_{df}(DF)(DF)(\lambda x.x)$ where +$$ D=_{df}\quad \lambda x.\lambda y.x(\lambda z.y y z)$$ +$$E =_{df}\quad\lambda x.\lambda y.x(yy)$$ +$$F=_{df}\quad\lambda h.\lambda x.x$$ +Discuss the termination properties of the two expressions $e_1$ and $e_2$ under both the lazy and eager reduction strategies. +In other words, decide which of the two expressions, if any, reduces to a normal form under \textbf{lazy reduction} and which of the two expressions, if any, reduces to a normal form under \textbf{eager reduction}. + +\textbf{Justify your answers by giving explicit reduction steps making clear the difference between the lazy and eager reduction strategies!} + \item What is the fixed point combinator $Y$ fopr eager evaluation? +Explain its purpose and give an explicit coding of $Y$ as closed $\lambda$-expression. +\end{enumerate} +\end{enumerate} +\end{document} \ No newline at end of file diff --git a/GdI-NPP-B/ws1516-1.dot b/GdI-NPP-B/ws1516-1.dot new file mode 100644 index 0000000..574a290 --- /dev/null +++ b/GdI-NPP-B/ws1516-1.dot @@ -0,0 +1,11 @@ +digraph { +kh1 [shape=record,label=1>]; +kh0 [shape=record,label=0>]; +kg [shape=record]; +kf [shape=record]; +kg -> kh1 [label=1>]; +kh1 -> kf [label=1>]; +kg -> kh0 [label=0>]; +kh0 -> kf [label=0>]; +kf -> kg [label=xs]; +} diff --git a/GdI-NPP-B/ws1516-1.png b/GdI-NPP-B/ws1516-1.png new file mode 100644 index 0000000000000000000000000000000000000000..3689f8e4935774c1202970e747ab8ffb3e70a75d GIT binary patch literal 13006 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 literal 0 HcmV?d00001 diff --git a/GdI-NPP-B/ws1516-2.dot b/GdI-NPP-B/ws1516-2.dot new file mode 100644 index 0000000..73e4289 --- /dev/null +++ b/GdI-NPP-B/ws1516-2.dot @@ -0,0 +1,26 @@ +digraph { +kh1 [shape=record,label=1>]; +kh0 [shape=record,label=0>]; +subgraph cluster_0 { + cs0 [label=0>,shape=none]; + m [label="T merge F", shape=record]; + cs0 -> m; + label = kf; +} +subgraph cluster_1 { + w1,w2 [label=when, shape=record]; + cs1 [label=1>,shape=none]; + cs2 [label=2>,shape=none]; + + cs1 -> w1; + cs2 -> w2; + label = kg; +} + +w2 -> kh1 [label=1>]; +kh1 -> m [label=1>]; +w1 -> kh0 [label=0>]; +kh0 -> m [label=0>]; +m -> {w1;w2} [label=xs]; + +} diff --git a/GdI-NPP-B/ws1516-2.png b/GdI-NPP-B/ws1516-2.png new file mode 100644 index 0000000000000000000000000000000000000000..f5687e77807bc89ae965825d6fa69bcf0b80c010 GIT binary patch literal 20096 zcmdVCc{tVm-!H0JGT$kQjAfR2o-$-8Wu7H7$vn$YkvUSKNJx^g44H?DS`~#dB%}

TJxRP*eNsrC`#&28z*W+lWrm@txlm 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 literal 0 HcmV?d00001 diff --git a/KInf-DigBib-B/WS1617 KInf-DigBib.tex b/KInf-DigBib-B/WS1617 KInf-DigBib.tex index 77ae20c..ea06527 100644 --- a/KInf-DigBib-B/WS1617 KInf-DigBib.tex +++ b/KInf-DigBib-B/WS1617 KInf-DigBib.tex @@ -12,7 +12,7 @@ \item Aufgabe 1: Digitale Bibliotheken \begin{enumerate} \item Beschreiben sie drei Dienstleistungen digitaler Bibliotheken, die sie von herkömmlichen Bibliotheken unterscheiden (3P) - \item Die von der IFLA Study Group erstellten FRBR stellt unter anderem die Konzepte "work", "expression", "manifestation" und "item" zur Beschreibung von bibliographischen Daten bereit. Erläutern sie diese vier Konzepte und ihr Verhältnis zueinander. Geben sie für jedes der vier Konzepte ein Beispiel an (8P) + \item Die von der IFLA Study Group erstellten FRBR stellt unter anderem die Konzepte ''work'', ''expression'', ''manifestation'' und ''item'' zur Beschreibung von bibliographischen Daten bereit. Erläutern sie diese vier Konzepte und ihr Verhältnis zueinander. Geben sie für jedes der vier Konzepte ein Beispiel an (8P) \item Berechnen die aus der folgenden Publikationsliste den H-Index des Autors (4P) \begin{longtable}{c|c} Publikation & Anzahl der Zitationen\\ \hline