Logiczny arkusz kalkulacyjny

Logiczny arkusz kalkulacyjny to arkusz kalkulacyjny , w którym formuły mają postać ograniczeń logicznych, a nie definicji funkcji.

W tradycyjnych systemach arkuszy kalkulacyjnych , takich jak Excel , komórki są podzielone na komórki „bezpośrednio określone” i komórki „obliczone”, a formuły używane do określenia wartości komórek obliczonych są „funkcjonalne”, tj. dla każdej kombinacji wartości bezpośrednio określonych komórek , formuły określają unikalne wartości dla obliczonych komórek. Logiczne arkusze kalkulacyjne zmniejszają te ograniczenia, rezygnując z rozróżnienia między komórkami określonymi bezpośrednio a komórkami obliczonymi oraz uogólniając definicje funkcjonalne na ograniczenia logiczne.

Jako ilustrację różnicy między tradycyjnymi arkuszami kalkulacyjnymi a logicznymi arkuszami kalkulacyjnymi rozważmy prosty numeryczny arkusz kalkulacyjny z trzema komórkami a, b i c. Każda komórka akceptuje jedną liczbę całkowitą jako wartość; i istnieje formuła stwierdzająca, że ​​wartość trzeciej komórki jest sumą wartości pozostałych dwóch komórek.

Ten arkusz kalkulacyjny, zaimplementowany jako tradycyjny arkusz kalkulacyjny, umożliwiałby użytkownikowi wprowadzanie wartości do komórek aib i automatycznie obliczałby komórkę c. Na przykład, jeśli użytkownik wpisałby 1 w a i 2 w b, obliczyłby wartość 3 dla c.

Zaimplementowany jako logiczny arkusz kalkulacyjny, użytkownik będzie mógł wprowadzać wartości do dowolnej komórki. Użytkownik mógłby wpisać 1 w a i 2 w b, a arkusz kalkulacyjny obliczyłby wartość 3 dla c. Alternatywnie, użytkownik mógłby wpisać 2 w b i 3 w c, a arkusz kalkulacyjny obliczyłby wartość 1 dla a. I tak dalej.

W tym przypadku formuła jest funkcjonalna, a funkcja odwracalna. Ogólnie rzecz biorąc, formuły nie muszą być funkcjonalne, a funkcje nie muszą być odwracalne. Na przykład w tym przypadku moglibyśmy napisać formuły zawierające nierówności i funkcje nieodwracalne (takie jak pierwiastek kwadratowy). Mówiąc bardziej ogólnie, moglibyśmy tworzyć arkusze kalkulacyjne z danymi symbolicznymi, a nie numerycznymi, i nakładać na te dane dowolne ograniczenia logiczne.

  • J. Bongard i in.: Sprawozdania z sympozjów jesiennych AAAI 2006, AI Magazine 28(1), 88-92, 2007.
  • I. Cervesato: NEXCEL, dedukcyjny arkusz kalkulacyjny, The Knowledge Engineering Review, tom. 00:0, 1-24, Cambridge University Press, 2004.
  • G. Fischer, C. Rathke: Arkusze kalkulacyjne oparte na wiedzy, w Proceedings of the 7. National Conference on Artificial Intelligence, St. Paul Minnesota, 21–26 sierpnia 1988, AAAI Press, Menl Park, Kalifornia, 802-807, 1988.
  • D. Gunning: dedukcyjne arkusze kalkulacyjne, Defense Advanced Research Projects Agency Small Business Innovation Research, 2004.3-Topic SB043-040, 2004.
  • M. Kassoff, L. Zen, A. Garg, M. Genesereth : Predicalc: A Logical Spreadsheet Management System, w Proceedings of the 31st International Conference on Very Large Databases, Trondheim, NOrway, 30 sierpnia - 2 września 2005, ACM, New York, Nowy Jork, 1247-1250, 2005.
  • M. Kassoff, M. Genesereth : Predicalc, logiczny system zarządzania arkuszami kalkulacyjnymi, The Knowledge Engineering Review, tom. 22:3, 281-295, Cambridge University Press, 2007.
  • M. Spenke, C. Beilken: A Spreadsheet Interface for Logic Programming, w: K. Bice i CH Lewis (red.), Proceedings of ACM CHI 89 Human Factors in Computing Systems, Austin, Teksas, 30 kwietnia - 4 czerwca 1989, ACM Press , Nowy Jork, Nowy Jork, 75-80, 1989.
  • M. van Emden, M. Ohki, A. Takeuchi: Arkusze kalkulacyjne z zapytaniami przyrostowymi jako interfejs użytkownika do programowania logicznego, New Generation Computing 4 (3), 287-304, 1986.
  • http://news.stanford.edu/news/2007/april25/logic-042507.html
  • https://dbgroup.ncsu.edu/?p=9
  • http://logic.stanford.edu/spreadsheet/