My name is Jack Reilly. I am a 4th year Ph.D student in Civil Systems Engineering at UC Berkeley.
I work with Professor Alex Bayen on optimal routing problems with applications to traffic and shared resources systems. You can learn more about my work by scrolling down and checking out my research and projects and my publications.
Make sure to check out my social-ly links above to see my github code repository and more details on my papers.
Check out some of my projects, ranging from social start-ups to some of my music.
Finally, if you have any questions, hit me up at jack d reilly at berkeley dot edu.
In this game, the leader is considered to be the socially-optimizing central controller, who can control a fraction of the total demand on a network. The follower distributes the rest of the demand in a manner consistent with Nash equilibrium. The goal of the leader is to partition its demand optimally, anticipating the selfish behavior of the follower.
We were successful in extending this analysis to account for the particulars of freeway dynamics, where a route's travel time is not just a function of the demand, but also of some "congestion" mode.
An interactive demonstration of the Nash equilibria of such networks is given below. See 2,5,6,7 for more details. Source code.
It is clear that such an approach would only have partial penetration of the total flow on the freeway network, and any control policy must consider the unequipped drivers to find an optimal policy. We look into solving this problem using the cell-transmission model as the underlying discrete dynamics.
Additionally, there is limited information on the behavior of the uncontrolled drivers. Only total flow across links is known (from stationary sensors), which provides "Eulerian" type information. Since controlled drivers are assumed to have provided start-end goals via smartphone, then path-based "Lagrangian" information is available for these users.
We developed a game-theoretic approach to solving this problem, and pose it as a convex optimization problem. The work enables central agencies to understand equilibrium behavior of such policies, while providing asymmetric input due to the varying levels of information from the drivers. Source code.. See 4 for more information.
Through iShake people will be able to make use of their own smart phones and participate in an effective and valuable process to inform emergency responders in the event of an earthquake.
I developed the iShake iPhone application and the backend server to collect the accelerometer and GPS information. I also worked on developing filtering techniques for coping with the variable environments in which the samples could be taken.
See 1, 3, 8, 10 for publications, and check out the official site.
I contributed to the project by desigining and implement the system architecture that allowed the submodules to communicate and database design. Additionally, I set up the feed that allowed the standalone sensors to feed back to the server via UDP.
Map-reduce style algorithms work well within this context, as it is a natural architecture for collaborative filtering problems, but since most implementations are stateless after a single map-reduce operation, the network costs of transmitting large datasets on every iteration is often prohibitive for iterative map-reduce applications, such as this.
To overcome this, we used the Spark Scala framework to allow for intermediate caching calls to reduce the network costs for large datasets.
Visit here for more information, including source code and report.
A demonstration is given below of how our algorithm works and how trust propagation can lead to a more efficient loaning network.
Source code.
The social network is very sparse, and not much information has been understood about who is in the network. All networks must start somehwere!
While it will take some time to create an fully efficient referral system, the algorithms set up encourage taking loans from trustworthy endorsers. This further introduces trustworthiness into the network while reward those with successful endorsements.
The network has very few unsuccessful endoresments, yet those with poor credit scores are still being given loans from good endoresments. The network is beginning to grow much more rapidly, as there are more referral nodes.
Dominant endorsers are becoming obvious and should be upgraded to a "trusted" partner. The number of loans increases as well as the success rate. There is now a complete referral system that curated a successful user base!
|
|
I successfully implemented this language to create the classical musical notation from a JDR input file. Below check out a demo of the program and a sample JDR file.
Source code.Ob-la-di Ob-la-da header:h1:[100,treble_up,Bb,4/4,mf,piano] phrase:verse_p1: 3.8 3.8 3.8 3.8 3.8 3.8 2.8 1.8 {octave_down} 7.8 {octave_up} 2.4 2.4 ~.4 4.4 4.8 4.8 4.8 4.8 4.8 3.8 2.8 1.2 ~.2 phrase:verse_p2: 5.8 5.8 5.8 5.8 5.8 5.8 4.8 3.8 4.8 5.4 6.4 6.8 5.8 4.8 3.8 3.8 4.8 3.8 2.8 4.8 3.8 2.8 1.2 ~.8 phrase:mel_chorus: {length_8} 1 3 5 ~ 1 3 5 ~ 1 3 {length_off} 5.2 {octave_up} 1.2 {octave_down} 5.4 {length_8} 4 3 4 3 2 ~ 1 ~ ~ ~ {octave_up} 1 {octave_down} ~ phrase:melody:verse_p1 verse_p2 mel_chorus mel_chorus phrase:ch1:{octave_up} ~.8 {staccato_on} {pitch_*1_} 4 8 phrase:ch4:{octave_up} ~.8 {staccato_on} {pitch_*4_} 4 8 phrase:ch5:{octave_up} ~.8 {staccato_on} {pitch_*5_7} 4 8 phrase:ch6:{octave_up} ~.8 {staccato_on} {pitch_*6_m} 4 8 phrase:ch3:{octave_up} ~.8 {staccato_on} {pitch_*3_m} 4 8 phrase:rhythm-verse:ch1 ch1 ch5 ch5 ch5 ch5 ch1 ch1 ch1 ch1 ch4 ch4 ch1 ch5 ch1 ch1 phrase:rhythm-chorus:ch1 ch1 ch3 ch6 ch1 ch5 ch1 ch1 phrase:rhythm:rhythm-verse rhythm-chorus rhythm-chorus phrase:rest_4:{pitch_~} 1 1 1 1 phrase:chorus_lahs:{length_8} {octave_up} [1_5] [1_5] [1_5] [1_5] [1_5] [1_5] [1_5] [1_5] [7_5] [7_5] [7_5] [7_5] [1_6] [1_6] [1_6] [1_6] [1_5] [1_5] [1_5] [1_5] [7_5] [7_5] [7_5] [7_5] [1_5] [1_5] [1_5] [1_5] [1_5] [1_5] [1_5] [1_5] phrase:lahs:rest_4 rest_4 rest_4 chorus_lahs staff:h1:melody staff:h1:rhythm staff:h1:lahs