Small population size: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
No edit summary
en>Yobot
m WP:CHECKWIKI error fixes using AWB (10514)
 
Line 1: Line 1:
{{Refimprove|date=July 2010}}
The nutritional requirements of a child have to be considered carefully. Growing kids require a high amount of vitality consumption to help them to grow, yet, only as with adults, when power consumption exceeds vitality use, the child can put on weight.<br><br>If almost all of the population is overweight (according to the [http://safedietplans.com/bmi-chart bmi chart]) the error in logic can be which the population is right plus the bmi chart is incorrect.<br><br>Consider these statistics inside light of the truth more diet goods exist than ever before. There are more health clubs plus fitness centers than ever. More diet programs including Weight Watchers plus bmi chart men Nutri-system. More cosmetic procedures such as liposuction plus tummy tuck. Medical rules like gastric bypass. Prescription diet pills along with a ton of over the counter products claiming weight reduction benefit. More info accessible for you than ever before. Yet, you get fatter and fatter because a nation, and now at epidemic degrees.<br><br>Anorexia nervosa is an emotional disorder where the leading focus could be on food / the avoidance of food however it equally deals with harmful methods of gaining perfection along with a desire to control elements. In a society that associates unreasonable thinness with beauty, there has been a marked escalation in the number of young adolescent women with anorexia. Many of them die due to starvation-related causes, suffer from bodily complications, or end up committing suicide. It is important to treat such individuals with psychotherapy, family therapy, and drugs.<br><br>The Body Mass Index is only 1 measure to determine body fat in a individual, there are additionally additional risk factors closely associated to wellness issues including for instance:High blood pressureHigh cholesterolType 2 diabetesHeart diseaseCancers etc.<br><br>I would like to share several insights and tips that bmi chart women I have learned along the way. Many of these women's running tricks could apply to all runners, however they surely take on a unique perspective because the years go on and you receive elder, wiser, plus maybe, quicker...<br><br>That sounds actually complicated, however, whenever you have the numbers plus are creating the actual calculations, it's not nearly because hard because it sounds, although we surely wish a calculator of certain type. This really is how guys must measure their body fat. For ladies, the measurements are different.<br><br>Then, how will you go from acquiring a online BMI chart? A variety of time-tested workout routines for fat reduction are accessible online. You'll be able to receive started in real time.
{{Infobox algorithm
|class=[[Search algorithm]]
|image=[[Image:Depth-first-tree.svg|none|300px|Order in which the nodes get expanded]]<small>Order in which the nodes are visited</small>
|data=[[Graph (data structure)|Graph]]
|time=<math>O(|E|)</math> for explicit graphs traversed without repetition, <math>O(b^d)</math> for implicit graphs with branching factor ''b '' searched to depth ''d''
|space=<math>O(|V|)</math> if entire graph is traversed without repetition, O(longest path length searched) for implicit graphs without elimination of duplicate nodes
|complete=yes (unless infinite paths are possible)
|optimal=no (does not generally find shortest paths)
}}{{graph search algorithm}}
'''Depth-first search''' ('''DFS''') is an [[algorithm]] for traversing or searching [[tree data structure|tree]] or [[graph (data structure)|graph]] data structures. One starts at the [[tree (data structure)#Terminology|root]] (selecting some arbitrary node as the root in the case of a graph) and explores as far as possible along each branch before [[backtracking]].
 
A version of depth-first search was investigated in the 19th century by French mathematician [[Charles Pierre Trémaux]]<ref> [[Charles Pierre Trémaux]] (1859–1882) École Polytechnique of Paris (X:1876), French engineer of the telegraph <br /> in Public conference, December 2, 2010 – by professor [[Jean Pelletier-Thibert]] in Académie de Macon (Burgundy – France) – (Abstract published in the Annals academic, March 2011 – ISSN: 0980-6032) </ref> as a strategy for [[Maze solving algorithm|solving mazes]].<ref>{{citation|title=Graph Algorithms|first=Shimon|last=Even|authorlink=Shimon Even|edition=2nd|publisher=Cambridge University Press|year=2011|isbn=978-0-521-73653-4|pages=46–48|url=http://books.google.com/books?id=m3QTSMYm5rkC&pg=PA46}}.</ref><ref>{{citation|title=Algorithms in C++: Graph Algorithms|first=Robert|last=Sedgewick|edition=3rd|publisher=Pearson Education|year=2002|isbn=978-0-201-36118-6}}.</ref>
 
==Properties==
The [[Time complexity|time]] and [[Memory management|space]] analysis of DFS differs according to its application area. In theoretical computer science, DFS is typically used to traverse an entire graph, and takes time <math>O(|E|)</math>, linear in the size of the graph. In these applications it also uses space <math>O(|V|)</math> in the worst case to store the stack of vertices on the current search path as well as the set of already-visited vertices. Thus, in this setting, the time and space bounds are the same as for [[breadth-first search]] and the choice of which of these two algorithms to use depends less on their complexity and more on the different properties of the vertex orderings the two algorithms produce.
 
For applications of DFS in relation to specific domains, such as searching for solutions in [[artificial intelligence]] or web-crawling, the graph to be traversed is often either too large to visit in its entirety or infinite (DFS may suffer from [[Halting problem|non-termination]]). In such cases, search is only performed to a [[Depth-limited_search|limited depth]]; due to limited resources, such as memory or disk space, one typically does not use data structures to keep track of the set of all previously visited vertices. When search is performed to a limited depth, the time is still linear in terms of the number of expanded vertices and edges (although this number is not the same as the size of the entire graph because some vertices may be searched more than once and others not at all) but the space complexity of this variant of DFS is only proportional to the depth limit, and as a result, is much smaller than the space needed for searching to the same depth using breadth-first search. For such applications, DFS also lends itself much better to [[heuristics|heuristic]] methods for choosing a likely-looking branch. When an appropriate depth limit is not known a priori, [[iterative deepening depth-first search]] applies DFS repeatedly with a sequence of increasing limits. In the artificial intelligence mode of analysis, with a [[branching factor]] greater than one, iterative deepening increases the running time by only a constant factor over the case in which the correct depth limit is known due to the geometric growth of the number of nodes per level.
 
DFS may also be used to collect a [[Sample_%28statistics%29|sample]] of graph nodes. However, incomplete DFS, similarly to incomplete [[Breadth-first_search#Bias_towards_nodes_of_high_degree|BFS]], is [[bias|biased]] towards nodes of high [[Degree_(graph_theory)|degree]].
 
==Example==
For the following graph:
 
[[Image:graph.traversal.example.svg|200px]]
 
a depth-first search starting at A, assuming that the left edges in the shown graph are chosen before right edges, and assuming the search remembers previously visited nodes and will not repeat them (since this is a small graph), will visit the nodes in the following order: A, B, D, F, E, C, G.  The edges traversed in this search form a [[Trémaux tree]], a structure with important applications in [[graph theory]].
 
Performing the same search without remembering previously visited nodes results in visiting nodes in the order A, B, D, F, E, A, B, D, F, E, etc. forever, caught in the A, B, D, F, E cycle and never reaching C or G.
 
[[Iterative_deepening_depth-first_search|Iterative deepening]] is one technique to avoid this infinite loop and would reach all nodes.
 
==Output of a depth-first search==
[[Image:Tree edges.svg|thumb|270px|The four types of edges defined by a spanning tree]]
A convenient description of a depth first search of a graph is in terms of a [[spanning tree (mathematics)|spanning tree]] of the vertices reached during the search. Based on this spanning tree, the edges of the original graph can be divided into three classes: '''forward edges''', which point from a node of the tree to one of its descendants, '''back edges''', which point from a node to one of its ancestors, and '''cross edges''', which do neither. Sometimes '''tree edges''', edges which belong to the spanning tree itself, are classified separately from forward edges. If the original graph is undirected then all of its edges are tree edges or back edges.
 
===Vertex orderings===
It is also possible to use the depth-first search to linearly order the vertices of the original graph (or tree). There are three common ways of doing this:
 
* A '''preordering''' is a list of the vertices in the order that they were first visited by the depth-first search algorithm. This is a compact and natural way of describing the progress of the search, as was done earlier in this article. A preordering of an [[parse tree|expression tree]] is the expression in [[Polish notation]].
 
* A '''postordering''' is a list of the vertices in the order that they were ''last'' visited by the algorithm. A postordering of an expression tree is the expression in [[reverse Polish notation]].
 
* A '''reverse postordering''' is the reverse of a postordering, i.e. a list of the vertices in the opposite order of their last visit. Reverse postordering is not the same as preordering. For example, when searching the directed graph
 
: [[Image:If-then-else-control-flow-graph.svg]]
 
: beginning at node A, one visits the nodes in sequence, to produce lists either A B D B A C A, or A C D C A B A (depending upon whether the algorithm chooses to visit B or C first). Note that repeat visits in the form of backtracking to a node, to check if it has still unvisited neighbours, are included here (even if it is found to have none). Thus the possible preorderings are A B D C and A C D B (order by node's leftmost occurrence in above list), while the possible reverse postorderings are A C B D and A B C D (order by node's rightmost occurrence in above list). Reverse postordering produces a [[topological sorting]] of any [[directed acyclic graph]]. This ordering is also useful in [[control flow graph|control flow analysis]] as it often represents a natural linearization of the control flow. The graph above might represent the flow of control in a code fragment like
 
if ('''A''') then {
        '''B'''
      } else {
        '''C'''
      }
      '''D'''
 
: and it is natural to consider this code in the order A B C D or A C B D, but not natural to use the order A B D C or A C D B.
 
== Pseudocode ==
'''Input''': A graph ''G'' and a vertex ''v'' of G
 
'''Output''': All vertices reachable from ''v'' labeled as discovered
 
A recursive implementation of DFS:<ref>Goodrich and Tamassia; Cormen, Leiserson, Rivest, and Stein</ref>
1  '''procedure''' DFS(''G'',''v''):
2      label ''v'' as discovered
3      '''for all''' edges from ''v'' to ''w'' '''in''' ''G''.adjacentEdges(''v'') '''do'''
4          '''if''' vertex ''w'' is not labeled as discovered '''then'''
5              recursively call DFS(''G'',''w'')
 
A non-recursive implementation of DFS:<ref>Kleinberg and Tardos</ref>
1  '''procedure''' DFS-iterative(''G'',''v''):
2      let ''S'' be a stack
3      ''S''.push(''v'')
4      '''while''' ''S'' is not empty
5            ''v'' ← ''S''.pop()
6            '''if''' ''v'' is not labeled as discovered:
7                label ''v'' as discovered
8                '''for all''' edges from ''v'' to ''w'' '''in''' ''G''.adjacentEdges(''v'') '''do'''
9                    ''S''.push(''w'')
 
These two variations of DFS visit the neighbors of each vertex in the opposite order from each other: the first neighbor of ''v'' visited by the recursive variation is  the first one in the list of adjacent edges, while in the iterative variation the first visited neighbor is the last one in the list of adjacent edges. The non-recursive implementation is similar to [[breadth-first search]] but differs from it in two ways: it uses a stack instead of a queue, and it delays checking whether a vertex has been discovered until the vertex is popped from the stack rather than making this check before pushing the vertex.
 
==Applications==
[[File:MAZE 30x20 DFS.ogv|thumb|upright=1.5|Randomized algorithm similar to depth-first search used in generating a maze.]]
Algorithms that use depth-first search as a building block include:
* Finding [[Connected component (graph theory)|connected components]].
* [[Topological sorting]].
* Finding 2-(edge or vertex)-connected components.
* Finding 3-(edge or vertex)-connected components.
* Finding the [[Bridge (graph theory)#Bridge-finding algorithm| bridges]] of a graph.
* Generating words in order to plot the Limit Set of a [[Group (mathematics)|Group]].
* Finding [[strongly connected components]].
* [[Planarity testing]]<ref>{{citation
| last1 = Hopcroft | first1 = John | author1-link = John Hopcroft
| last2 = Tarjan | first2 = Robert E. | author2-link = Robert Tarjan
| doi = 10.1145/321850.321852
| issue = 4
| journal = [[Journal of the ACM|Journal of the Association for Computing Machinery]]
| pages = 549–568
| title = Efficient planarity testing
| volume = 21
| year = 1974}}.</ref><ref>{{citation
| last1 = de Fraysseix | first1 = H.
| last2 = Ossona de Mendez | first2 = P.
| last3 = Rosenstiehl | first3 = P. | author3-link = Pierre Rosenstiehl
| journal = International Journal of Foundations of Computer Science
| pages = 1017–1030
| title = Trémaux Trees and Planarity
| volume = 17
| year = 2006
| doi = 10.1142/S0129054106004248
| issue = 5}}.</ref>
* Solving puzzles with only one solution, such as [[maze]]s. (DFS can be adapted to find all solutions to a maze by only including nodes on the current path in the visited set.)
* [[Maze generation]] may use a randomized depth-first search.
* Finding [[Biconnected graph|biconnectivity in graphs]].
 
==See also==
*[[Breadth-first search]]
*[[Iterative deepening depth-first search]]
*[[Search games]]
 
==Notes==
{{reflist}}
 
==References==
<div class="references-small">
* [[Thomas H. Cormen]], [[Charles E. Leiserson]], [[Ronald L. Rivest]], and [[Clifford Stein]]. ''[[Introduction to Algorithms]]'', Second Edition. MIT Press and McGraw-Hill, 2001. ISBN 0-262-03293-7. Section 22.3: Depth-first search, pp.&nbsp;540&ndash;549.
* {{Citation
| last1=Goodrich
| first1=Michael T.
| author1-link=Michael T. Goodrich
| last2=Tamassia
| first2=Roberto
| author2-link = Roberto Tamassia
| title=Algorithm Design: Foundations, Analysis, and Internet Examples
| publisher=Wiley
| year=2001
| isbn=0-471-38365-1
}}
*{{citation|title=Algorithm Design|first1=Jon|last1=Kleinberg|author1-link=Jon Kleinberg|first2=Éva|last2=Tardos|author2-link=Éva Tardos|publisher=Addison Wesley|year=2006|pages=92–94}}
* {{Citation
| last=Knuth
| first=Donald E.
| author-link=Donald Knuth
| title=The Art Of Computer Programming Vol 1.  3rd ed
| publisher=Addison-Wesley
| place=Boston
| year=1997
| isbn=0-201-89683-4
| url=http://www-cs-faculty.stanford.edu/~knuth/taocp.html
| oclc=155842391
}}
</div>
 
==External links==
{{Commons category|Depth-first search}}
* [http://opendatastructures.org/versions/edition-0.1e/ods-java/12_3_Graph_Traversal.html#SECTION001532000000000000000 Open Data Structures - Section 12.3.2 - Depth-First-Search]
* [http://www.cse.ohio-state.edu/~gurari/course/cis680/cis680Ch14.html Depth-First Explanation and Example]
* [http://www.boost.org/libs/graph/doc/depth_first_search.html C++ Boost Graph Library: Depth-First Search]
* [http://www.cs.duke.edu/csed/jawaa/DFSanim.html Depth-First Search Animation (for a directed graph)]
* [http://www.kirupa.com/developer/actionscript/depth_breadth_search.htm Depth First and Breadth First Search: Explanation and Code]
* [http://quickgraph.codeplex.com/Wiki/View.aspx?title=Depth%20First%20Search%20Example QuickGraph], depth first search example for .Net
* [http://www.algolist.net/Algorithms/Graph_algorithms/Undirected/Depth-first_search Depth-first search algorithm illustrated explanation (Java and C++ implementations)]
* [http://code.google.com/p/yagsbpl/ YAGSBPL – A template-based C++ library for graph search and planning]
 
{{DEFAULTSORT:Depth-First Search}}
[[Category:Graph algorithms]]
[[Category:Search algorithms]]
[[Category:Articles with example pseudocode]]

Latest revision as of 20:41, 12 December 2014

The nutritional requirements of a child have to be considered carefully. Growing kids require a high amount of vitality consumption to help them to grow, yet, only as with adults, when power consumption exceeds vitality use, the child can put on weight.

If almost all of the population is overweight (according to the bmi chart) the error in logic can be which the population is right plus the bmi chart is incorrect.

Consider these statistics inside light of the truth more diet goods exist than ever before. There are more health clubs plus fitness centers than ever. More diet programs including Weight Watchers plus bmi chart men Nutri-system. More cosmetic procedures such as liposuction plus tummy tuck. Medical rules like gastric bypass. Prescription diet pills along with a ton of over the counter products claiming weight reduction benefit. More info accessible for you than ever before. Yet, you get fatter and fatter because a nation, and now at epidemic degrees.

Anorexia nervosa is an emotional disorder where the leading focus could be on food / the avoidance of food however it equally deals with harmful methods of gaining perfection along with a desire to control elements. In a society that associates unreasonable thinness with beauty, there has been a marked escalation in the number of young adolescent women with anorexia. Many of them die due to starvation-related causes, suffer from bodily complications, or end up committing suicide. It is important to treat such individuals with psychotherapy, family therapy, and drugs.

The Body Mass Index is only 1 measure to determine body fat in a individual, there are additionally additional risk factors closely associated to wellness issues including for instance:High blood pressureHigh cholesterolType 2 diabetesHeart diseaseCancers etc.

I would like to share several insights and tips that bmi chart women I have learned along the way. Many of these women's running tricks could apply to all runners, however they surely take on a unique perspective because the years go on and you receive elder, wiser, plus maybe, quicker...

That sounds actually complicated, however, whenever you have the numbers plus are creating the actual calculations, it's not nearly because hard because it sounds, although we surely wish a calculator of certain type. This really is how guys must measure their body fat. For ladies, the measurements are different.

Then, how will you go from acquiring a online BMI chart? A variety of time-tested workout routines for fat reduction are accessible online. You'll be able to receive started in real time.