A Knowledge-Based Analysis of Global Function Computation

  • Joseph Y. Halpern
  • Sabina Petride
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4167)


Consider a distributed system N in which each agent has an input value and each communication link has a weight. Given a global function, that is, a function f whose value depends on the whole network, the goal is for every agent to eventually compute the value f(N). We call this problem global function computation. Various solutions for instances of this problem, such as Boolean function computation, leader election, (minimum) spanning tree construction, and network determination, have been proposed, each under particular assumptions about what processors know about the system and how this knowledge can be acquired. We give a necessary and sufficient condition for the problem to be solvable that generalizes a number of well-known results [3, 28, 29]. We then provide a knowledge-based (kb) program (like those of Fagin, Halpern, Moses, and Vardi [8,9]) that solves global function computation whenever possible. Finally, we improve the message overhead inherent in our initial kb program by giving a counterfactual belief-based program [15] that also solves the global function computation whenever possible, but where agents send messages only when they believe it is necessary to do so. The latter program is shown to be implemented by a number of well-known algorithms for solving leader election.


Minimum Span Tree Global Function Epistemic Logic Leader Election Incoming Neighbor 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Angluin, D.: Local and global properties in netwroks of processors. In: Proc. 12th ACM Symp. on Theory of Computing, pp. 82–93 (1980)Google Scholar
  2. 2.
    Attyia, H., Gorbach, A., Moran, S.: Computing in totally anonymous asynchronous shared memory systems. Information and Computation 173(2), 162–183 (2002)CrossRefMathSciNetGoogle Scholar
  3. 3.
    Attyia, H., Snir, M., Warmuth, M.K.: Computing on an anonymous ring. Journal of ACM 35(4), 845–875 (1988)CrossRefGoogle Scholar
  4. 4.
    Bellman, R.: On a routing problem. Quarterly of Applied Mathematics 16(1), 87–90 (1958)MATHMathSciNetGoogle Scholar
  5. 5.
    Bickford, M., Constable, R.C., Halpern, J.Y., Petride, S.: Knowledge-based synthesis of distributed systems using event structures. In: Baader, F., Voronkov, A. (eds.) LPAR 2004. LNCS, vol. 3452, pp. 449–465. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  6. 6.
    Chang, E., Roberts, R.: An improved algorithm for decentralized extrema-finding in circular configurations of processes. Communications of the ACM 22(5), 281–283 (1979)MATHCrossRefGoogle Scholar
  7. 7.
    Dwork, C., Moses, Y.: Knowledge and common knowledge in a Byzantine environment: crash failures. Information and Computation 88(2), 156–186 (1990)MATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Fagin, R., Halpern, J.Y., Moses, Y., Vardi, M.Y.: Reasoning about Knowledge. MIT Press, Cambridge (2003); A revised paperback edition was published in 2003Google Scholar
  9. 9.
    Fagin, R., Halpern, J.Y., Moses, Y., Vardi, M.Y.: Knowledge-based programs. Distributed Computing 10(4), 199–225 (1997)CrossRefGoogle Scholar
  10. 10.
    Ford, L.R., Fulkerson, D.R.: Flows in Networks. Princeton University Press, Princeton (1962)MATHGoogle Scholar
  11. 11.
    Gallager, R.G., Humblet, P.A., Spira, P.M.: A distributed algorithm for minimum-weight spanning trees. ACM Trans. on Programming Languages and Systems 5(1), 66–77 (1983)MATHCrossRefGoogle Scholar
  12. 12.
    Grove, A.J.: Naming and identity in epistemic logic II: a first-order logic for naming. Artificial Intelligence 74(2), 311–350 (1995)MATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Grove, A.J., Halpern, J.Y.: Naming and identity in epistemic logics, Part I: the propositional case. Journal of Logic and Computation 3(4), 345–378 (1993)MATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Hadzilacos, V.: A knowledge-theoretic analysis of atomic commitment protocols. In: Proc. 6th ACM Symp. on Principles of Database Systems, pp. 129–134 (1987)Google Scholar
  15. 15.
    Halpern, J.Y., Moses, Y.: Using counterfactuals in knowledge-based programming. Distributed Computing 17(2), 91–106 (2004)CrossRefGoogle Scholar
  16. 16.
    Halpern, J.Y., Moses, Y., Waarts, O.: A characterization of eventual Byzantine agreement. SIAM Journal on Computing 31(3), 838–865 (2001)MATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Halpern, J.Y., Zuck, L.D.: A little knowledge goes a long way: knowledge-based derivations and correctness proofs for a family of protocols. Journal of the ACM 39(3), 449–478 (1992)MATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Johnson, R.E., Schneider, F.B.: Symmetry and similarity in distributed systems. In: Proc. 4th ACM Symp. on Principles of Distributed Computing, pp. 13–22 (1985)Google Scholar
  19. 19.
    Lann, G.L.: Distributed systems–towards a formal approach. In: IFIP Congress, vol. 7, pp. 155–160 (1977)Google Scholar
  20. 20.
    Lewis, D.K.: Counterfactuals. Harvard University Press, Cambridge (1973)Google Scholar
  21. 21.
    Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann, San Francisco (1997)Google Scholar
  22. 22.
    Mazer, M.S., Lochovsky, F.H.: Analyzing distributed commitment by reasoning about knowledge. Technical Report CRL 90/10, DEC-CRL (1990)Google Scholar
  23. 23.
    Milner, R.: Communication and Concurrency. Prentice Hall, Hertfordshire (1989)MATHGoogle Scholar
  24. 24.
    Moses, Y., Roth, G.: On reliable message diffusion. In: Proc. 8th ACM Symp. on Principles of Distributed Computing, pp. 119–128 (1989)Google Scholar
  25. 25.
    Peterson, G.L.: An O(nlogn) unidirectional distributed algorithm for the circular extrema problem. ACM Trans. on Programming Languages and Systems 4(4), 758–762 (1982)MATHCrossRefGoogle Scholar
  26. 26.
    Stalnaker, R.C.: A semantic analysis of conditional logic. In: Rescher, N. (ed.) Studies in Logical Theory, pp. 98–112. Oxford University Press, Oxford (1968)Google Scholar
  27. 27.
    Stulp, F., Verbrugge, R.: A knowledge-based algorithm for the Internet protocol (TCP). Bulletin of Economic Research 54(1), 69–94 (2002)CrossRefGoogle Scholar
  28. 28.
    Yamashita, M., Kameda, T.: Computing on anonymous networks. I. Characterizing the solvable cases. IEEE Trans. on Parallel and Distributed Systems 7(1), 69–89 (1996)CrossRefGoogle Scholar
  29. 29.
    Yamashita, M., Kameda, T.: Leader election problem on networks in which processor identity numbers are not distinct. IEEE Trans. on Parallel and Distributed Systems 10(9), 878–887 (1999)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Joseph Y. Halpern
    • 1
  • Sabina Petride
    • 1
  1. 1.Department of Computer ScienceCornell UniversityIthacaUSA

Personalised recommendations