The tutorial claims that fib(0) = 1, which is wrong. https://en.wikipedia.org/wiki/Fibonacci_sequence This one was easy to spot and would have been easy to get right. Makes me wonder…
From the first paragraph in the article you linked:
> Many writers begin the sequence with 0 and 1, although some authors start it from 1 and 1[1][2] and some (as did Fibonacci) from 1 and 2.
The tutorial claims that fib(0) = 1, which is wrong. https://en.wikipedia.org/wiki/Fibonacci_sequence This one was easy to spot and would have been easy to get right. Makes me wonder…
The tutorial claims that fib(0) = 1, which is wrong. https://en.wikipedia.org/wiki/Fibonacci_sequence This one was easy to spot and would have been easy to get right. Makes me wonder…
From the first paragraph on Wiki:
> Many writers begin the sequence with 0 and 1, although some authors start it from 1 and 1[1][2] and some (as did Fibonacci) from 1 and 2.
If you like scallop, you are gonna love lobster: https://liby99.github.io/res/papers/lobster.pdf
Unfortunately it doesn't seem to be available yet. Scallop and Lobster are both from UPenn, and the Scallop website says "We are still in the process of open sourcing Scallop," so I assume it's a matter of time.
I honestly have no idea what any of this means. It seems like schizo ramblings to me. But I'm sure there's some merit to it.
Let's say you want to program a system that uses a variety of neural nets for reasoning about a problem, and you also want to use more traditional programmatic reasoning - for example to score and rank results. I think this is the kind of language that could allow you to do that.
But - it's time to do the tutorials and try and see.
I'm really confused. Is this metaprogramming in the sense that, add_relation and add_rule are using an LLM to make an educated guess about what to do based on what went before it? Or is it using some deterministic method or heuristic to evaluate those terms?
I looked at Scallop a year ago and decided that it was not a replacement for Prolog - for me.
I may re-evaluate now, thinking of smoother LLM integration as well as differentiability.
Has anyone here used Scallop for a large application? I ask because in the 1980s I wrote a medium large application in Prolog and it was a nice developer experience.
I wish this website explained what neurosymbolic means.
It's a combination of neural networks and symbolic reasoning. You can use a neurosymbolic approach by combining deep learning and logical reasoning: A neural network (PyTorch) detects objects and actions in the image, recognizing "Jim" and "eating a burger" with a confidence score. A symbolic reasoning system (Scallop) takes this detection along with past data (e.g., "Jim ate burgers 5 times last month") and applies…
Also can be used to verify NN decisions. In autonomous driving, a NN can make “instinctive” decisions, and a GOFAI system can verify they work and don’t break civil or physical laws. You can have many parallel NN giving recommendations, and let a symbolic system take the final decision.
I wish this website explained what neurosymbolic means.
It's a combination of neural networks and symbolic reasoning. You can use a neurosymbolic approach by combining deep learning and logical reasoning: A neural network (PyTorch) detects objects and actions in the image, recognizing "Jim" and "eating a burger" with a confidence score. A symbolic reasoning system (Scallop) takes this detection along with past data (e.g., "Jim ate burgers 5 times last month") and applies…
Is the reasoning strictly downstream of the image recognition? Or can prior knowledge impact how objects are recognized? E.g. I'm driving on the road at night so the two incoming lights are probably a car.