19 Feb 2022

Reinforcement Learning based Voting Winner Determination Procedure

All important signals, including the current and visited states, the depth, the size of alternatives never been a winner, the number of winners, the percentage of winners and non-winners in the state, the predicted probability based on other features, are included in a new model that learned from the experience (episodes from root to leaf node). By learning such kind of model, we can get rid of the cache checking and pruning component, we choose the path according to the prediction results from this enhanced function to reduce the number of nodes to extend.

05 May 2019

Eco-Driving Data Imputation

Some driving behaviors may have dramatic impacts on the fuel consumption. We are investigating the eco-driving strategy from speed profiles in GPS trajectories.

10 Dec 2018

Speed Prediction from Taxi Trajectory Data

We are given a trajectory data of DiDi Express and DiDi Premier drivers within the Second Ring Road of Xi’An City. All track points are bound to physical roads with resolution about 2-4 seconds. The problem is to predict the average speed of all vehicles running on a road segment (either north- or south-bound) at specific timestamp.

30 Nov 2018

A Short Review of Network Science

Network science, has its root in graph theory, is evolving to be a multidisciplinary research field. It studies the network representations of physical, biological, and man-made systems, and designs models to reproduce and predict them. One key characteristic of a complex network is its degree distribution $P_k$, i.e, the probability that a randomly selected node has $k$ links. Based on degree distribution, many complex networks in real world, including communication networks, transportation networks, Internet, social networks and biological networks are characterized by a power-law degree distribution $P_k=Ck^{-\gamma}$, where the scaling exponent $\gamma$ is typically in the range $2<\gamma<3$. These networks are scale-free, greatly vary in size and structural complexity, but similar in that most nodes have just a few connections, and some have a vast amount of links. For instance, in the cellular metabolic network, most molecules participate in just one or two biochemical reactions, and some molecules, such as water and adenosine triphosphate are discovered in most reactions. It forms a striking contrast to random networks that follow a bell-shaped Poisson degree distribution $P_k=e^{-\langle k\rangle} \langle k\rangle^{-k}/k!$, where most nodes have approximately the same number of links.

14 Oct 2018

Learning to Vote

Our ultimate goal is to design or employing existing machine learning methods to train voting rules with certain axiomatic properties. The learnability for voting rules satisfying some desirable fairness axioms is very useful. Once a new voting rule is proposed, it may have some special fairness properties. It’s pretty hard to handcraft another voting rule with the same axiom. However, we could learn a similar voting rule from instances, or even a simpler rule with the exactly same property. It’s promising to learn all those existing voting rules efficiently and have their good genes to design a single meta-voting rule, that satisfies more fairness criteria, or at least with a higher satisfiability to all fairness criteria than any existing voting rule.

01 Sep 2018

Lecture Note of Randomized Algorithms

It’s a lecture note of an advanced algorithm class Randomized Algorithms. I made some efforts to take notes and understand related materials. To analyze and design an efficient algorithm, many valuable tools and advanced techniques are introduced, e.g., Chernoff bounds, Derandomization.

14 Jan 2018

Computational Social Choice

A collection of research papers, open sources on social choice theory.

29 Nov 2017

Ranking Aggregation for Meta-Search Engine

Ranking aggregation is an important approach to combine information and reach an agreement between various opinions. There are many applications, such as election to select a winner from a pool of candidates based on voters’ preference profile, or produce a full ranking or preference rate over a set of web pages or online movies from users’ visiting log or historical ratings. The report proposed two voting rules – pairwise margin voting rule and probabilistic propagation-based voting rule. Both methods can capture the absolute and relative position information. Also, we present some evaluation results of the two methods to illustrate some good properties. We implemented a meta search engine, where the proposed pairwise margin is employed to aggregate the searching results from some individual search engines.

13 Oct 2017

Solution to render math equations in Markdown

Step-by-step to render math equations in Markdown from $\rm\TeX$ source.

20 May 2017

Reinforcement Learning

Reading list on Reinforcement Learning for summer project.

16 Apr 2017

Match Students' and Colleges' Preferences

Matching has many applications in real world, e.g. online dating, student recruitment for universities, and jobs seeking in employment market. We introduce a simple bilinear model, and picture the matching problem as ranking. The model provides online recommendations based on existing preference profiles of colleges and students.

29 Jun 2016

Parallel Universes, Entropy and States Transition

对生物的一生进行切片剖解,则每个厚度不一的切片就反映生物在不同时段的状态:人之人生,生物之物态。切片的厚度对应切分的时间长度,也许是一日、一年或百年也未尝不可,全凭切分刀手「若然」的决定。如「若然」对所有同时代的生物一视同仁,选择相同的切分标准,则从更广义的空间来看,单个生物当前的物态与其此前所有物态乃至其他同时期所有生物的当前物态均息息相关。不可否认,每个物态也都存在一定的偶然性。

15 May 2016

Incomplete Cheat Sheet for New Developers

An incomplete developer’s cheat sheet, including bash, Anaconda, Pip, Git and Django.

15 May 2016

Optimize Python Using cProfile

Profiler is used to analyze the running time of the program, and be helpful to figure out the blocks which are slowing down the entire project. Especially when the project becomes large, there is no better way than using the profiler to optimize the program.

15 May 2016

Little Guide to Programming in Python

To learn a new programming language with specific goals can speed up the learning. It’s a little guide book for such purpose. When acquiring a new language, it’s very nature to make some subconscious comparisons between the previous ones and the one you are learning. It’s helpful to follow the specific sub-goals to get familiar to the basic data strucutres, for-loop, string, I/O, so on and so forth.