IS CS-2021W-01
题目来源:Problem 1 日期:2024-07-24 题目主题:CS-信息数学-有序二叉树
解题思路
这道题目涉及有序二叉树(每个节点最多有两个有序子节点)和其叶节点的权重。我们需要找到一种特定结构的二叉树,使得某些函数达到最优值。特别地,我们可以使用哈夫曼树的概念来解决第一题。
Solution
Q1: Give the tree that has the smallest value of in case
To minimize , we should construct a tree that resembles a Huffman tree, where the most frequent items (with the highest weights) are located at shallower depths. Here, the weights are .
Steps to construct the tree:
- Start by pairing the two smallest weights, which are both .
- Combine these to form a subtree with a combined weight of .
- Now, we have weights .
- Next, combine the two smallest remaining weights, which are both .
- Combine these to form a subtree with a combined weight of .
- Finally, combine the two subtrees to form the complete tree.
The resulting tree structure is:
O
/ \
4 O
/ \
2 O
/ \
1 1
Thus, the depth of each leaf in the tree is:
- , depth
- , depth
- , depth
- , depth
Now, we calculate :
Thus, the tree that minimizes has the above structure.
Q2: Show that holds for any ordered binary tree with leaves using mathematical induction
To prove the inequality using mathematical induction, we need to follow these steps:
- Base Case
- Inductive Step
Base Case: For (a tree with only one leaf), the depth of the only leaf is 0.
Thus, the base case holds.
Inductive Step: Assume that for any ordered binary tree with leaves, the inequality holds:
Now, we need to prove that the inequality holds for an ordered binary tree with leaves.
- Consider an ordered binary tree with leaves.
- Let’s denote the depth of the leaves in this tree by .
When we add an additional leaf to a tree with leaves to form a tree with leaves, we must split one of the existing leaves into two children. This operation increases the depth of the affected leaf by 1 and adds a new leaf with the same depth.
Suppose we split the leaf (where ) into two new leaves and , both at depth .
Thus, we need to show:
By the inductive hypothesis, for the original tree with leaves:
In the new tree:
Since :
Thus, the inequality holds after adding a new leaf and increasing the depth of the original leaf.
By induction, the inequality holds for all .
Q3: Assume that range over the set of positive real numbers so that . Show that is maximized when for any sequence of positive real numbers
To maximize under the constraint , we use the method of Lagrange multipliers.
Define the Lagrangian:
Take the partial derivatives and set them to zero:
Using the constraint :
Thus, the maximizing is:
Q4: Show that any ordered binary tree satisfies for any sequence of positive real numbers
To show that , we need to use the definitions of and and employ some fundamental principles of information theory and entropy.
Recall:
We start by rewriting in a more convenient form:
Since , we get:
Next, consider the following inequality derived from Jensen’s inequality for the concave function :
This simplifies to:
Since , we get:
So:
The weighted path length can be understood using Kraft’s inequality, which relates the depths of leaves in a binary tree to probabilities that sum up to 1. Let be the probability associated with the -th leaf. According to Kraft’s inequality:
We multiply both sides by :
Using the fact that :
Now, we apply the definition of entropy:
Using Gibbs’ inequality, we know that:
Multiplying both sides by :
Substituting into the inequality:
Thus, we have shown that for any ordered binary tree and any sequence of positive real numbers.
知识点
重点词汇
- Ordered binary tree 有序二叉树
- Huffman tree 哈夫曼树
- Depth 深度
- Lagrange multipliers 拉格朗日乘子
- Entropy 熵
- Lagrange multiplier 拉格朗日乘数
- Jensen’s inequality 詹森不等式
- Gibbs’ inequality 吉布斯不等式
- Kraft’s inequality 克拉夫特不等式
参考资料
- Introduction to Algorithms, Chapter 16: Greedy Algorithms
- Information Theory, Inference, and Learning Algorithms, David J.C. MacKay