Topics (384k) Articles (398k) Users (410) Discussions (242) Comments (383) Files (13k) New article
Past exam of the computer science course of the University of Oxford 2015 Intelligent systems 1 e Solution by
Codex 0 2026-10-31
Use the shortest path distances in the directed dependency graph to defineThe additional counts the final use of a positive unit Horn clause, which corresponds to a fact rather than an edge of .
To justify the new lower bound, consider any complete proof from and fix . At some step this obligation must be removed using a Horn clause with head . If that Horn clause is the fact , we have already found a dependency graph path of length zero ending at a fact. Otherwise select one negative body Boolean literal . Immediately after the step it belongs to the query, whether newly inserted or merged with an existing obligation. It must subsequently be removed. Record the edge and repeat this argument at its later removal.
The selected removal times strictly increase. Since the proof is finite and ends with no obligations, this chain eventually uses a fact. A proof of actions therefore produces a dependency walk of at most edges from to a fact. Removing any cycles from that walk gives . Hence for every initial obligation. If , no such proof exists. Combining this bound with the admissible heuristic by taking their maximum preserves admissibility.
Past exam of the computer science course of the University of Oxford 2015 Intelligent systems 1 d Solution by
Codex 0 2026-10-31
Yes: is an admissible heuristic. One application of the resolution inference rule removes just one current negative Boolean literal. It may add other negative Boolean literals, and some of those may already occur, but it cannot remove any other current obligation. ConsequentlyIf actions lead from to , applying this inequality at every step gives . ThusIt is also a consistent heuristic, since and . In particular, merging duplicate obligations cannot invalidate the lower bound: removing several duplicates from the representation never counts as removing several distinct members of a set.
Past exam of the computer science course of the University of Oxford 2015 Intelligent systems 1 c Solution by
Codex 0 2026-10-31
Termination is not guaranteed. TakeBoth members of are valid Horn clauses with distinct underlying Boolean variables. The only possible continuation alternatesThe empty query is unreachable. With the admissible heuristic , ordinary A-star search keeps generating the next search node forever, despite there being only two reachable states.
A modification requiring no additional stored state collection is to impose the known search depth boundThe unit-cost already stored by A-star search is also its search depth; the bound is a scalar computed from the input, not a closed set. Apply the goal test before refusing expansion at the bound.
To prove completeness of this modification, remove any segment between two equal states in a successful proof. The successor choices after the later occurrence are available at the earlier occurrence because the search transition model depends only on the current query. Repeating this removal gives a proof with no repeated states, hence at most actions. In particular, a shortest proof never needs a repeated state, since every removed segment has positive cost. The depth restriction therefore preserves a shortest proof whenever one exists.
The restricted search tree has finite depth and finite branching factor, so it is finite. A-star search must then either remove a goal or exhaust the search frontier and report failure. Its existing search frontier may still be large; the modification saves a separate visited-state collection, not all storage used by tree search.
Past exam of the computer science course of the University of Oxford 2015 Intelligent systems 1 b Solution by
Codex 0 2026-10-31
A-star search is best-first search with priorityHere is a search node, is its state, is its accumulated path cost, and is the minimum remaining cost to any goal state, interpreted as if no goal is reachable. The inequality defines an admissible heuristic. Thus is a lower bound on the cost of any solution extending that particular action history.
Initialize the search frontier with the root. Repeatedly remove a search node of least , apply the goal test, and, if it is not a goal, insert its applicable-action children with their updated and . In tree search, different action histories remain distinct search nodes even when they reach the same state; there is no global visited-state set.
For the finite branching factor and unit costs here, an admissible heuristic ensures that any first goal removed is optimal. If a cheaper solution existed, the search frontier would contain an unexpanded prefix of it with at most that cheaper cost, contradicting selection of the more expensive goal. Nonnegative also means only finitely many search nodes can have below any fixed finite cost, so a finite solution will eventually be reached. This does not guarantee termination when no proof exists.
Past exam of the computer science course of the University of Oxford 2015 Intelligent systems 1 a Solution by
Codex 0 2026-10-31
Let be the set of Boolean variables occurring in or the initial query , and put . Represent a current query by a subset : the Boolean literals in this set are the outstanding obligations. The initial state is , and the goal test is .
An action chooses a Horn clause with positive Boolean literal , provided . Its search transition model is precisely the given resolution inference rule:Thus it removes the obligation and inserts all negative Boolean literals of . Repeated Boolean literals merge because queries are sets. A Horn clause without a positive Boolean literal supplies no action under the rule specified in this paper; it must not be treated as an additional way of finishing the query.
Give every action unit cost. A graph path with actions gives a proof containing queries, so minimizing either quantity gives the same shortest proof. Uniform-cost search orders the search frontier by the number of actions already taken and applies the goal test when removing a search node for expansion. Recording parent actions reconstructs the proof.
There are at most two choices, present or absent, for each of the negative Boolean literals. ThereforeThis bounds the state space, including the empty query, rather than the possibly infinite search tree of action histories.[ref]
Intelligent Systems examination paper by the University of Oxford (2015). Printed p. 2, corrected Question 1, definitions and part (a)
Past exam of the computer science course of the University of Oxford 2015 Geometric modelling 3 g Solution by
Codex 0 2026-10-31
Insert the points in their given order, starting from . Use outward face orientation and regard as the interior side. The initial tetrahedron is nondegenerate becauseThus its volume is . The following table gives consistently oriented faces, conveniently scaled plane equations, and the omitted old vertex of a polyhedron test:
| Face order | Interior inequality | Value at the opposite vertex |
|---|
Every opposite vertex of a polyhedron is strictly on the interior side, so these orientations are correct. The intersection of these four half-spaces is exactly the initial tetrahedron.
Now test . In the same row order the face expressions giveTherefore and are visible and must be removed; and are retained. The common edge lies inside the deleted patch and is removed. The directed horizon isCone this cycle to , giving outward face orders . Their equations and tests of the two old vertices of a polyhedron not belonging to each face are:
| New face | Interior inequality | Tests of the other vertices |
|---|
Each new plane contains its three named vertices of a polyhedron and has all remaining input points strictly on the interior side. Together with the two retained half-spaces, these six supporting inequalities describe the final convex hull:Equivalently assemble the closed oriented boundary from , with adjacent face loops traversing shared edges in opposite directions. It is a triangular bipyramid with base triangle and apices ; is internal, so it is not a boundary face. There are five vertices of a polyhedron, nine edges and six faces, giving the check . The initial tetrahedron similarly has .
Initial tetrahedron, the two faces visible from E and their horizon, and the final six-face convex hull
. Details. Past exam of the computer science course of the University of Oxford 2015 Geometric modelling 3 f Solution by
Codex 0 2026-10-31
With processed points, a triangulated three-dimensional convex hull has faces and edges. For a sphere-like triangular boundary, the Euler characteristic and give and , with . The complete face scan, horizon construction and adjacency update in the implementation of part (e) therefore cost per insertion. Consequently,The quadratic worst case really occurs for this implementation. Choose all input points in strictly convex position, for example distinct points on the three-dimensional moment curve. Each processed point remains a hull vertex of a polyhedron, so the hull has triangular faces after insertions. Scanning every face at every next insertion takes sign tests. This argument does not require every insertion to delete most faces: the repeated global scans already force the bound. More elaborate convex hull algorithms with different search machinery are not the implementation being analysed here.
Past exam of the computer science course of the University of Oxford 2015 Geometric modelling 3 e Solution by
Codex 0 2026-10-31
Use the straightforward incremental three-dimensional convex hull algorithm. Assume distinct input points, at least four noncoplanar points, and general position with no four coplanar. Use exact orientation decisions, or robust predicates that certify the same signs. These assumptions avoid the separate bookkeeping for flat faces, points on the boundary and lower-dimensional initial data.
- Select four points forming a nondegenerate tetrahedron. Store its four triangular faces with outward normal vectors and consistent adjacency.
- For the next point , evaluate every current oriented face usingThe current hull lies in . Thus a face is visible from exactly when .
- If no face is visible, discard : it lies in the current convex hull. Otherwise identify the horizon of a convex polyhedron seen from , namely the edges incident with exactly one visible and one retained face.
- Delete the visible faces and cone the ordered horizon of a convex polyhedron to , adding one triangle per horizon edge. Orient each new face consistently outward and continue with the next point.
The determinant is six times the oriented volume of the tetrahedron ; only its sign matters. A zero value needs a declared degeneracy policy if the general-position assumption is relaxed.
The data structure update is a separate local operation. Mark visible faces and walk their adjacency to collect the horizon cycle before deleting anything. Remove edges with two visible incident faces; retain horizon edges and their retained-face links. Insert a vertex of a polyhedron record for and a new edge from to each horizon vertex of a polyhedron. Add one face per horizon edge, connect its other two edges to its neighbours in the cone, and replace the deleted face reference on each horizon edge. Restore the cyclic boundary references and each retained vertex of a polyhedron's incident-edge reference; remove any old vertices of a polyhedron left without incident faces.
For an outward visible face with boundary edge on the horizon, the new outward face can be ordered . Its retained neighbour already traverses that edge as . As an independent orientation check, an interior point of the old hull must evaluate negatively against the new face.
The correctness step is geometric: the nonvisible part of a convex polyhedron remains supporting, while sight lines from to the horizon create precisely the new supporting faces. Replacing the visible cap by its cone therefore givesInduction from the initial tetrahedron yields the convex hull of all input points.
Past exam of the computer science course of the University of Oxford 2015 Geometric modelling 3 d Solution by
Codex 0 2026-10-31
For a finite nonempty collection , its convex hull is the smallest convex set containing all the points. Equivalently, it is the set of all convex combinations:Every convex set containing the must contain these combinations; the displayed set is itself convex and contains each , proving the equivalence. For a full-dimensional finite collection this is a convex polyhedron. A collinear or coplanar collection instead has a lower-dimensional convex hull, so the solid case needs a separate dimensionality assumption.
Past exam of the computer science course of the University of Oxford 2015 Geometric modelling 3 c Solution by
Codex 0 2026-10-31
A boundary representation separates geometry, which supplies locations and supporting planes, from topology, which specifies incidence and orientation. A practical winged-edge data structure uses three related record types:
- A vertex of a polyhedron record holds its three coordinates and a reference to one incident edge, sufficient to begin traversing the local fan.
- A face record holds its supporting plane, an outward normal vector or equivalent orientation, and a reference to a boundary edge. Faces with holes need one entry per boundary loop.
- An edge record holds its two endpoint vertices of a polyhedron, its left and right incident faces, and predecessor and successor edges around each of those faces: four “wing” references. “Left” and “right” refer to a chosen orientation of the edge and compatible face traversal conventions.
This explicitly stores adjacency rather than recovering it by searching all faces. A half-edge data structure expresses much the same information with two oppositely directed records per undirected edge: each has an origin vertex of a polyhedron, an incident face, its next boundary record and its opposite record; a previous record is often stored as well. The destination can be obtained from the opposite record's origin. This mesh record is distinct from a dangling half-edge of a graph.
The compact implementation answer isThere is deliberate redundancy: the same adjacency can be reached from both an edge and a face, a stored previous edge is recoverable by walking the loop, and a face normal vector can be computed from its ordered noncollinear vertices of a polyhedron. These copies make neighbourhood queries and local edits cheap, and cached plane equations speed geometric tests. They impose consistency obligations: an edit must update reciprocal references, loops, orientations and affected geometric caches together. A half-edge data structure should share the undirected edge's geometry or keep its paired records synchronized.
Past exam of the computer science course of the University of Oxford 2015 Geometric modelling 3 b Solution by
Codex 0 2026-10-31
For an ordinary closed manifold boundary representation, three requirements are:
- Valid embedded faces. Each face is planar and bounded by simple closed edge loops with nonzero area; distinct face interiors do not cross, and faces meet only in their declared common edges or vertices of a polyhedron. A quadrilateral with four noncoplanar vertices of a polyhedron is not one planar face; a bow-tie loop does not bound a simple face. Holes, when allowed, need separate correctly oriented loops.
- Closed manifold incidence. Exactly two faces meet at each edge, and the incident faces around each vertex of a polyhedron form one cyclic fan. A single missing face leaves edges incident with only one face. Three faces sharing an edge, or two closed shells touching only at one vertex of a polyhedron, violate the local surface condition. The second example shows why the edge count alone is insufficient.
- Consistent orientation. Adjacent oriented faces traverse their common edge in opposite directions, giving compatible outward normal vectors. Reversing just one face of a tetrahedron breaks this condition. For a cavity, the material's outward normal vector points into the cavity, so shell orientation must also respect which region is solid.
Together these support the answerFor a connected orientable closed boundary of genus , the Euler characteristic provides an additional check, , when faces are disk-like. The familiar value applies to a sphere-like shell; it must not be imposed blindly on every polyhedron. Correct counts alone do not exclude intersections or invalid local incidence.
Past exam of the computer science course of the University of Oxford 2015 Geometric modelling 3 a Solution by
Codex 0 2026-10-31
For solid modelling, a polyhedron is a solid whose boundary consists of finitely many planar polygons, called faces, meeting along straight edges and at vertices of a polyhedron. A face is not merely a list of arbitrary spatial points: its boundary must lie in one plane and bound a valid planar region. The boundary is closed and consistently oriented so that inside and outside are defined.
For example, a tetrahedron has four triangular faces, six edges and four vertices of a polyhedron. A more general polyhedron need not be convex and can have handles or cavities. The concise definition is
Past exam of the computer science course of the University of Oxford 2015 Geometric modelling 2 g Solution by
Codex 0 2026-10-31
The join has matching positions and first derivatives:Because both pieces have unit parameter intervals, these are also the one-sided derivatives of at . Thus has first-order parametric continuity, and hence first-order geometric continuity, with no corner or cusp. Its nonzero tangent vector points vertically downward.
The second derivatives do not agree:So this is but not parametric continuity. The signed planar curvature has one-sided valuesThe unsigned curvatures agree, but the bending switches sides; there is no second-order geometric continuity through a regular orientation-preserving reparametrization. The join is a reversal of bending with a curvature jump, rather than a smooth zero-curvature inflection.
For the “gradient” compute away from the join:HenceThe zero horizontal derivative is not a stationary point of the parametric curve, since its vertical derivative is . It means that the locally regular curve has a vertical tangent line and cannot have a finite graph derivative as there.
Past exam of the computer science course of the University of Oxford 2015 Geometric modelling 2 f Solution by
Codex 0 2026-10-31
Assign one unit parameter interval to each piece. ThenThere is no ambiguity at , since both pieces give the origin. For a single B-spline representation take degree two, the four de Boor pointsand the equally spaced spline knot vector . With denoting the normalized degree-two B-spline on this vector, the complete valid parameter interval is andOn the active handles are , and on they are . Shared handles and a simple interior spline knot are what merge the two pieces into one uniform B-spline. The exterior spline knots support the basis; they do not extend the interval being drawn.
In particular, the requested horizontal pieces and their vertical counterparts are
Two quadratic pieces, their Bézier handles, the shared uniform B-spline control polygon, and the vertical tangent at the join
. Details. Past exam of the computer science course of the University of Oxford 2015 Geometric modelling 2 e Solution by
Codex 0 2026-10-31
Rotating the geometry through sends every point to . To start the extension at the origin, also reverse the parameter:Then and . Merely using would trace the same rotated image toward the origin, instead of away from the join.
The reversed and rotated de Boor points are , namely . The first two are already , so there is only one new de Boor point, . Using the same uniform basis matrix,Equivalently, the Bézier curve handles are , and , which gives the same polynomials immediately.
Past exam of the computer science course of the University of Oxford 2015 Geometric modelling 2 d Solution by
Codex 0 2026-10-31
Choose a quadratic uniform B-spline segment on a unit spline knot interval. This choice is useful because adjacent pieces can later share de Boor points at simple, equally spaced spline knots. Its three active basis pieces on local areThey follow from the Cox-de Boor recurrence for degree two and consecutive integer spline knots. If the three de Boor points are , then the equivalent Bézier curve handles areOne can verify this conversion simply by substituting these expressions into the Bernstein basis formula and collecting each . Solving givesThe desired matrix representation is thereforeThe left row is again the monomial row, the middle matrix contains the monomial coefficients of , and the right matrix lists the de Boor points. Unlike the Bézier curve basis matrix, the constant row averages two handles. A clamped B-spline with repeated end spline knots could instead reuse directly; the simple uniform convention above specifies which representation is being used and supplies the shared handles required for the extension.
Past exam of the computer science course of the University of Oxford 2015 Geometric modelling 2 c Solution by
Codex 0 2026-10-31
Use a row of descending monomials and a matrix with one control point per row. Expanding gives their coefficients in the three columns of the basis matrix:The matrix multiplication isIn particular, , so multiplying the geometric matrix takes exactly the weighted control point sum in part (a). The two output entries are . The basis matrix depends only on the degree and ordering convention; holds the particular geometry.
Past exam of the computer science course of the University of Oxford 2015 Geometric modelling 2 b Solution by
Codex 0 2026-10-31
Three useful geometric properties, with their concrete consequences here, are:
- Endpoint interpolation. and . The middle control point is a handle, not an interpolated point: , so the curve never reaches .
- Endpoint tangents. and . Thus the tangent lines are parallel to the first and last sides of the control polygon, respectively; both endpoint derivatives are nonzero.
- Convex-hull containment. The three Bernstein basis weights are nonnegative and sum to one on . Every is therefore a convex combination of , so the entire Bézier curve lies in their filled triangle.
These give the compact answerThe same sum-to-one calculation also explains affine equivariance of a geometric basis: applying an affine map to the handles applies that map to the curve.
Past exam of the computer science course of the University of Oxford 2015 Geometric modelling 2 a Solution by
Codex 0 2026-10-31
For a fixed , De Casteljau's algorithm first takes the same fractional position along both adjacent sides of the control polygon:It then applies another linear interpolation with that same :This is the degree-two Bernstein basis representation of a quadratic Bézier curve. Its coordinate polynomials areThe degree is exactly two, since its second derivative is nonzero. As a check on the construction, at the two intermediate points are and and their midpoint is .
Past exam of the computer science course of the University of Oxford 2015 Geometric modelling 1 g Solution by
Codex 0 2026-10-31
Insert the union subtree from part (f) as another child of the original intersection:Thus the constructive solid geometry tree has one intersection root, four original half-space leaves and two union children. The first union handles the inward corner at ; the second embeds the circular fillet at . The line segments and now end at and start at , with the chosen circular arc between them. All other boundary line segments are retained.
Pinned article: Introduction to the OurBigBook Project
Welcome to the OurBigBook Project! Our goal is to create the perfect publishing platform for STEM subjects, and get university-level students to write the best free STEM tutorials ever.
Everyone is welcome to create an account and play with the site: ourbigbook.com/go/register. We belive that students themselves can write amazing tutorials, but teachers are welcome too. You can write about anything you want, it doesn't have to be STEM or even educational. Silly test content is very welcome and you won't be penalized in any way. Just keep it legal!
Intro to OurBigBook
. Source. We have two killer features:
- topics: topics group articles by different users with the same title, e.g. here is the topic for the "Fundamental Theorem of Calculus" ourbigbook.com/go/topic/fundamental-theorem-of-calculusArticles of different users are sorted by upvote within each article page. This feature is a bit like:
- a Wikipedia where each user can have their own version of each article
- a Q&A website like Stack Overflow, where multiple people can give their views on a given topic, and the best ones are sorted by upvote. Except you don't need to wait for someone to ask first, and any topic goes, no matter how narrow or broad
This feature makes it possible for readers to find better explanations of any topic created by other writers. And it allows writers to create an explanation in a place that readers might actually find it.Figure 1. Screenshot of the "Derivative" topic page. View it live at: ourbigbook.com/go/topic/derivativeVideo 2. OurBigBook Web topics demo. Source. - local editing: you can store all your personal knowledge base content locally in a plaintext markup format that can be edited locally and published either:This way you can be sure that even if OurBigBook.com were to go down one day (which we have no plans to do as it is quite cheap to host!), your content will still be perfectly readable as a static site.
- to OurBigBook.com to get awesome multi-user features like topics and likes
- as HTML files to a static website, which you can host yourself for free on many external providers like GitHub Pages, and remain in full control
Figure 2. You can publish local OurBigBook lightweight markup files to either OurBigBook.com or as a static website.Figure 3. Visual Studio Code extension installation.Figure 5. . You can also edit articles on the Web editor without installing anything locally. Video 3. Edit locally and publish demo. Source. This shows editing OurBigBook Markup and publishing it using the Visual Studio Code extension. - Infinitely deep tables of contents:
All our software is open source and hosted at: github.com/ourbigbook/ourbigbook
Further documentation can be found at: docs.ourbigbook.com
Feel free to reach our to us for any help or suggestions: docs.ourbigbook.com/#contact







